Versions in this module Expand all Collapse all v1 v1.1.2 Sep 16, 2021 Changes in this version + var ErrBadTimeRange = errors.New("invalid transaction time range") + var ErrCoinbaseArbitraryOversize = errors.New("coinbase arbitrary size is larger than limit") + var ErrEmptyInputIDs = errors.New("got the empty InputIDs") + var ErrEmptyResults = errors.New("transaction has no results") + var ErrGasCalculate = errors.New("gas usage calculate got a math error") + var ErrMismatchedAssetID = errors.New("mismatched assetID") + var ErrMismatchedPosition = errors.New("mismatched value source/dest position") + var ErrMismatchedReference = errors.New("mismatched reference") + var ErrMismatchedValue = errors.New("mismatched value") + var ErrMissingField = errors.New("missing required field") + var ErrNoSource = errors.New("no source for value") + var ErrNotStandardTx = errors.New("not standard transaction") + var ErrOverGasCredit = errors.New("all gas credit has been spend") + var ErrOverflow = errors.New("arithmetic overflow/underflow") + var ErrPosition = errors.New("invalid source or destination position") + var ErrTxVersion = errors.New("invalid transaction version") + var ErrUnbalanced = errors.New("unbalanced asset amount between input and output") + var ErrWrongCoinbaseAsset = errors.New("wrong coinbase assetID") + var ErrWrongCoinbaseTransaction = errors.New("wrong coinbase transaction") + var ErrWrongTransactionSize = errors.New("invalid transaction size") + func NewTxVMContext(vs *validationState, entry bc.Entry, prog *bc.Program, args [][]byte) *vm.Context + func ValidateBlock(b *bc.Block, parent *state.BlockNode) error + func ValidateBlockHeader(b *bc.Block, parent *state.BlockNode) error + type GasState struct + BTMValue uint64 + GasLeft int64 + GasUsed int64 + GasValid bool + StorageGas int64 + func ValidateTx(tx *bc.Tx, block *bc.Block) (*GasState, error) + type ValidateTxResult struct + func ValidateTxs(txs []*bc.Tx, block *bc.Block) []*ValidateTxResult + func (r *ValidateTxResult) GetError() error + func (r *ValidateTxResult) GetGasState() *GasState