pub trait Patch {
type Account: AccountPatch;
Show 22 methods
fn code_deposit_limit() -> Option<usize>;
fn callstack_limit() -> usize;
fn gas_extcode() -> Gas;
fn gas_balance() -> Gas;
fn gas_sload() -> Gas;
fn gas_suicide() -> Gas;
fn gas_suicide_new_account() -> Gas;
fn gas_call() -> Gas;
fn gas_expbyte() -> Gas;
fn gas_transaction_create() -> Gas;
fn force_code_deposit() -> bool;
fn has_delegate_call() -> bool;
fn has_static_call() -> bool;
fn has_revert() -> bool;
fn has_return_data() -> bool;
fn has_bitwise_shift() -> bool;
fn has_extcodehash() -> bool;
fn has_reduced_sstore_gas_metering() -> bool;
fn err_on_call_with_more_gas() -> bool;
fn call_create_l64_after_gas() -> bool;
fn memory_limit() -> usize;
fn precompileds(
) -> &'static [(Address, Option<&'static [u8]>, &'static dyn Precompiled)];
}
Expand description
Represents different block range context.
Required Associated Types
sourcetype Account: AccountPatch
type Account: AccountPatch
Account patch
Required Methods
sourcefn code_deposit_limit() -> Option<usize>
fn code_deposit_limit() -> Option<usize>
Maximum contract size.
sourcefn callstack_limit() -> usize
fn callstack_limit() -> usize
Limit of the call stack.
sourcefn gas_extcode() -> Gas
fn gas_extcode() -> Gas
Gas paid for extcode.
sourcefn gas_balance() -> Gas
fn gas_balance() -> Gas
Gas paid for BALANCE opcode.
sourcefn gas_suicide() -> Gas
fn gas_suicide() -> Gas
Gas paid for SUICIDE opcode.
sourcefn gas_suicide_new_account() -> Gas
fn gas_suicide_new_account() -> Gas
Gas paid for SUICIDE opcode when it hits a new account.
sourcefn gas_expbyte() -> Gas
fn gas_expbyte() -> Gas
Gas paid for EXP opcode for every byte.
sourcefn gas_transaction_create() -> Gas
fn gas_transaction_create() -> Gas
Gas paid for a contract creation transaction.
sourcefn force_code_deposit() -> bool
fn force_code_deposit() -> bool
Whether to force code deposit even if it does not have enough gas.
sourcefn has_delegate_call() -> bool
fn has_delegate_call() -> bool
Whether the EVM has DELEGATECALL opcode.
sourcefn has_static_call() -> bool
fn has_static_call() -> bool
Whether the EVM has STATICCALL opcode.
sourcefn has_revert() -> bool
fn has_revert() -> bool
Whether the EVM has REVERT opcode.
sourcefn has_return_data() -> bool
fn has_return_data() -> bool
Whether the EVM has RETURNDATASIZE and RETURNDATACOPY opcode.
sourcefn has_bitwise_shift() -> bool
fn has_bitwise_shift() -> bool
Whether the EVM has SHL, SHR and SAR
sourcefn has_extcodehash() -> bool
fn has_extcodehash() -> bool
Whether the EVM has EXTCODEHASH
sourcefn has_reduced_sstore_gas_metering() -> bool
fn has_reduced_sstore_gas_metering() -> bool
Whether EVM should implement the EIP1283 gas metering scheme for SSTORE opcode
sourcefn err_on_call_with_more_gas() -> bool
fn err_on_call_with_more_gas() -> bool
Whether to throw out of gas error when CALL/CALLCODE/DELEGATECALL requires more than maximum amount of gas.
sourcefn call_create_l64_after_gas() -> bool
fn call_create_l64_after_gas() -> bool
If true, only consume at maximum l64(after_gas) when CALL/CALLCODE/DELEGATECALL.
sourcefn memory_limit() -> usize
fn memory_limit() -> usize
Maximum size of the memory, in bytes.
sourcefn precompileds(
) -> &'static [(Address, Option<&'static [u8]>, &'static dyn Precompiled)]
fn precompileds(
) -> &'static [(Address, Option<&'static [u8]>, &'static dyn Precompiled)]
Precompiled contracts at given address, with required code, and its definition.