github.com/Bytom/bytom@v1.1.2-0.20210127130405-ae40204c0b09/protocol/bc/output.go (about)

     1  package bc
     2  
     3  import "io"
     4  
     5  // Output is the result of a transfer of value. The value it contains
     6  // may be accessed by a later Spend entry (if that entry can satisfy
     7  // the Output's ControlProgram). Output satisfies the Entry interface.
     8  //
     9  // (Not to be confused with the deprecated type TxOutput.)
    10  
    11  func (Output) typ() string { return "output1" }
    12  func (o *Output) writeForHash(w io.Writer) {
    13  	mustWriteForHash(w, o.Source)
    14  	mustWriteForHash(w, o.ControlProgram)
    15  }
    16  
    17  // NewOutput creates a new Output.
    18  func NewOutput(source *ValueSource, controlProgram *Program, ordinal uint64) *Output {
    19  	return &Output{
    20  		Source:         source,
    21  		ControlProgram: controlProgram,
    22  		Ordinal:        ordinal,
    23  	}
    24  }