4 "github.com/vapor/protocol/bc"
7 // ClaimInput satisfies the TypedInput interface and represents a spend transaction.
8 type ClaimInput struct {
9 SpendCommitmentSuffix []byte // The unconsumed suffix of the output commitment
10 Arguments [][]byte // Witness
11 AssetDefinition []byte
15 // NewClaimInput create a new SpendInput struct.
16 func NewClaimInput(arguments [][]byte, sourceID bc.Hash, assetID bc.AssetID, amount, sourcePos uint64, controlProgram []byte, assetDefinition []byte) *TxInput {
18 sc := SpendCommitment{
19 AssetAmount: bc.AssetAmount{
24 SourcePosition: sourcePos,
26 ControlProgram: controlProgram,
31 TypedInput: &ClaimInput{
34 AssetDefinition: assetDefinition,
39 // InputType is the interface function for return the input type.
40 func (si *ClaimInput) InputType() uint8 { return ClainPeginInputType }