Versions in this module Expand all Collapse all v1 v1.1.1 Feb 22, 2026 v1.1.0 Feb 19, 2026 Changes in this version + var ErrCodeStoreOutOfGas = errors.New("contract creation code storage out of gas") + var ErrContractAddressCollision = errors.New("contract address collision") + var ErrDepth = errors.New("max call depth exceeded") + var ErrExecutionReverted = errors.New("execution reverted") + var ErrInsufficientBalance = errors.New("insufficient balance for transfer") + var ErrInvalidInputData = errors.New("invalid input data") + var ErrMaxCodeSizeExceeded = errors.New("max code size exceeded") + var ErrNotAuth = errors.New("not in allow list") + var ErrNotEnoughFunds = errors.New("not enough funds") + var ErrOutOfGas = errors.New("out of gas") + var ErrUnauthorizedCaller = errors.New("unauthorized caller") + type AccessList struct + func NewAccessList(init ...types.Address) *AccessList + func (al *AccessList) AddAddress(a types.Address) (changed bool) + func (al *AccessList) AddSlot(a types.Address, slot types.Hash) (addrAdded bool, slotAdded bool) + func (al *AccessList) ContainsAddress(a types.Address) bool + func (al *AccessList) ContainsSlot(a types.Address, slot types.Hash) bool + func (al *AccessList) Copy() *AccessList + func (al *AccessList) RevertTo(snapshot *AccessList) + type CallType int + const Call + const CallCode + const Create + const Create2 + const DelegateCall + const StaticCall + type Contract struct + Address types.Address + Caller types.Address + Code []byte + CodeAddress types.Address + Depth int + Gas uint64 + Input []byte + Origin types.Address + Static bool + Type CallType + Value *big.Int + func NewContract(depth int, origin types.Address, from types.Address, to types.Address, ...) *Contract + func NewContractCall(depth int, origin types.Address, from types.Address, to types.Address, ...) *Contract + func NewContractCreation(depth int, origin types.Address, from types.Address, to types.Address, ...) *Contract + type ExecutionResult struct + Address types.Address + Err error + GasLeft uint64 + GasUsed uint64 + ReturnValue []byte + func (r *ExecutionResult) Failed() bool + func (r *ExecutionResult) Reverted() bool + func (r *ExecutionResult) Succeeded() bool + func (r *ExecutionResult) UpdateGasUsed(gasLimit uint64, refund uint64) + type Host interface + AccountExists func(addr types.Address) bool + Callx func(*Contract, Host) *ExecutionResult + EmitLog func(addr types.Address, topics []types.Hash, data []byte) + Empty func(addr types.Address) bool + GetBalance func(addr types.Address) *big.Int + GetBlockHash func(number int64) types.Hash + GetCode func(addr types.Address) []byte + GetCodeHash func(addr types.Address) types.Hash + GetCodeSize func(addr types.Address) int + GetNonce func(addr types.Address) uint64 + GetRefund func() uint64 + GetStorage func(addr types.Address, key types.Hash) types.Hash + GetTracer func() VMTracer + GetTxContext func() TxContext + Selfdestruct func(addr types.Address, beneficiary types.Address) + SetNonPayable func(nonPayable bool) + SetState func(addr types.Address, key types.Hash, value types.Hash) + SetStorage func(addr types.Address, key types.Hash, value types.Hash, ...) StorageStatus + Transfer func(from types.Address, to types.Address, amount *big.Int) error + type Runtime interface + CanRun func(c *Contract, host Host, config *chain.ForksInTime) bool + Name func() string + Run func(c *Contract, host Host, config *chain.ForksInTime) *ExecutionResult + type StackOverflowError struct + Limit int + StackLen int + func (e *StackOverflowError) Error() string + type StackUnderflowError struct + Required int + StackLen int + func (e *StackUnderflowError) Error() string + type StorageStatus int + const StorageAdded + const StorageDeleted + const StorageModified + const StorageModifiedAgain + const StorageUnchanged + func (s StorageStatus) String() string + type TxContext struct + AccessList *AccessList + BaseFee *big.Int + BurnContract types.Address + ChainID int64 + Coinbase types.Address + Difficulty types.Hash + GasLimit int64 + GasPrice types.Hash + NonPayable bool + Number int64 + Origin types.Address + Timestamp int64 + Tracer tracer.Tracer + type VMTracer interface + CaptureState func(memory []byte, stack []*big.Int, opCode int, contractAddress types.Address, ...) + ExecuteState func(contractAddress types.Address, ip uint64, opcode string, availableGas uint64, ...)