github.com/Bytom/bytom@v1.1.2-0.20210127130405-ae40204c0b09/protocol/bc/issuance.go (about) 1 package bc 2 3 import "io" 4 5 // Issuance is a source of new value on a blockchain. It satisfies the 6 // Entry interface. 7 8 func (Issuance) typ() string { return "issuance1" } 9 func (iss *Issuance) writeForHash(w io.Writer) { 10 mustWriteForHash(w, iss.NonceHash) 11 mustWriteForHash(w, iss.Value) 12 } 13 14 // SetDestination will link the issuance to the output 15 func (iss *Issuance) SetDestination(id *Hash, val *AssetAmount, pos uint64) { 16 iss.WitnessDestination = &ValueDestination{ 17 Ref: id, 18 Value: val, 19 Position: pos, 20 } 21 } 22 23 // NewIssuance creates a new Issuance. 24 func NewIssuance(nonceHash *Hash, value *AssetAmount, ordinal uint64) *Issuance { 25 return &Issuance{ 26 NonceHash: nonceHash, 27 Value: value, 28 Ordinal: ordinal, 29 } 30 }