Trait sputnikvm::Patch

source ·
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

Account patch

Required Methods

Maximum contract size.

Limit of the call stack.

Gas paid for extcode.

Gas paid for BALANCE opcode.

Gas paid for SLOAD opcode.

Gas paid for SUICIDE opcode.

Gas paid for SUICIDE opcode when it hits a new account.

Gas paid for CALL opcode.

Gas paid for EXP opcode for every byte.

Gas paid for a contract creation transaction.

Whether to force code deposit even if it does not have enough gas.

Whether the EVM has DELEGATECALL opcode.

Whether the EVM has STATICCALL opcode.

Whether the EVM has REVERT opcode.

Whether the EVM has RETURNDATASIZE and RETURNDATACOPY opcode.

Whether the EVM has SHL, SHR and SAR

Whether the EVM has EXTCODEHASH

Whether EVM should implement the EIP1283 gas metering scheme for SSTORE opcode

Whether to throw out of gas error when CALL/CALLCODE/DELEGATECALL requires more than maximum amount of gas.

If true, only consume at maximum l64(after_gas) when CALL/CALLCODE/DELEGATECALL.

Maximum size of the memory, in bytes.

Precompiled contracts at given address, with required code, and its definition.

Implementors