OSDN Git Service

b4ffeab0a427a6328b95844bb47f95efa498a8a2
[bytom/bytom.git] / protocol / bc / types / original_output.go
1 package types
2
3 import (
4         "io"
5
6         "github.com/bytom/bytom/encoding/blockchain"
7         "github.com/bytom/bytom/protocol/bc"
8 )
9
10 type originalTxOutput struct{}
11
12 func (o *originalTxOutput) OutputType() uint8                 { return OriginalOutputType }
13 func (o *originalTxOutput) readFrom(*blockchain.Reader) error { return nil }
14 func (o *originalTxOutput) writeTo(io.Writer) error           { return nil }
15
16 // NewOriginalTxOutput create a new original output struct
17 func NewOriginalTxOutput(assetID bc.AssetID, amount uint64, controlProgram []byte, stateData []byte) *TxOutput {
18         return &TxOutput{
19                 AssetVersion: 1,
20                 OutputCommitment: OutputCommitment{
21                         AssetAmount: bc.AssetAmount{
22                                 AssetId: &assetID,
23                                 Amount:  amount,
24                         },
25                         VMVersion:      1,
26                         ControlProgram: controlProgram,
27                         StateData:      stateData,
28                 },
29                 TypedOutput: &originalTxOutput{},
30         }
31 }