Versions in this module Expand all Collapse all v1 v1.0.0 May 26, 2022 Changes in this version + var ErrBadTimeRange = errors.New("invalid transaction time range") + var ErrCoinbaseArbitraryOversize = errors.New("coinbase arbitrary size is larger than limit") + var ErrEmptyResults = errors.New("transaction has no results") + var ErrGasCalculate = errors.New("gas usage calculate got a math error") + var ErrInputDoubleSend = errors.New("got the double spend input") + 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 ErrVoteOutputAmount = errors.New("invalid vote amount") + var ErrVoteOutputAseet = errors.New("incorrect asset_id while checking vote asset") + var ErrVotePubKey = errors.New("invalid public key of vote") + 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, stateData [][]byte, ...) *vm.Context + func ValidateBlock(b *types.Block, parent *types.BlockHeader, checkpoint *state.Checkpoint, ...) error + func ValidateBlockHeader(b, parent *types.BlockHeader, checkpoint *state.Checkpoint) error + type GasState struct + BTMValue uint64 + GasLeft int64 + GasUsed int64 + StorageGas int64 + func ValidateTx(tx *bc.Tx, block *bc.Block, converter ProgramConverterFunc) (*GasState, error) + type ProgramConverterFunc func(prog []byte) ([]byte, error) + type ValidateTxResult struct + func ValidateTxs(txs []*bc.Tx, block *bc.Block, converter ProgramConverterFunc) []*ValidateTxResult + func (r *ValidateTxResult) GetError() error + func (r *ValidateTxResult) GetGasState() *GasState