5 // crosschaininput is the result of a transfer of value. The value it contains
6 // comes from the main chain. It satisfies the Entry interface.
8 func (CrossChainInput) typ() string { return "crosschaininput1" }
10 func (cci *CrossChainInput) writeForHash(w io.Writer) {
11 mustWriteForHash(w, cci.MainchainOutputId)
12 mustWriteForHash(w, cci.Value)
13 mustWriteForHash(w, cci.AssetDefinition)
16 // SetDestination will link the CrossChainInput to the output
17 func (cci *CrossChainInput) SetDestination(id *Hash, val *AssetAmount, pos uint64) {
18 cci.WitnessDestination = &ValueDestination{
25 // NewCrossChainInput creates a new CrossChainInput.
26 func NewCrossChainInput(mainchainOutputID *Hash, value *AssetAmount, prog *Program, ordinal uint64, assetDef *AssetDefinition) *CrossChainInput {
27 return &CrossChainInput{
28 MainchainOutputId: mainchainOutputID,
32 AssetDefinition: assetDef,