3 // Context contains the execution context for the virtual machine.
5 // Most fields are pointers and are not required to be present in all
6 // cases. A nil pointer means the value is absent in that context. If
7 // an opcode executes that requires an absent field to be present, it
8 // will return ErrContext.
10 // By convention, variables of this type have the name context, _not_
11 // ctx (to avoid confusion with context.Context).
19 // TxVersion must be present when verifying transaction components
20 // (such as spends and issuances).
23 // These fields must be present when verifying block headers.
27 NextConsensusProgram *[]byte
29 // Fields below this point are required by particular opcodes when
30 // verifying transaction components.
43 TxSigHash func() []byte
44 CheckOutput func(index uint64, data []byte, amount uint64, assetID []byte, vmVersion uint64, code []byte, expansion bool) (bool, error)