Struct evm::Config

source ·
pub struct Config {
Show 48 fields pub gas_ext_code: u64, pub gas_ext_code_hash: u64, pub gas_sstore_set: u64, pub gas_sstore_reset: u64, pub refund_sstore_clears: i64, pub max_refund_quotient: u64, pub gas_balance: u64, pub gas_sload: u64, pub gas_sload_cold: u64, pub gas_suicide: u64, pub gas_suicide_new_account: u64, pub gas_call: u64, pub gas_expbyte: u64, pub gas_transaction_create: u64, pub gas_transaction_call: u64, pub gas_transaction_zero_data: u64, pub gas_transaction_non_zero_data: u64, pub gas_access_list_address: u64, pub gas_access_list_storage_key: u64, pub gas_account_access_cold: u64, pub gas_storage_read_warm: u64, pub sstore_gas_metering: bool, pub sstore_revert_under_stipend: bool, pub increase_state_access_gas: bool, pub decrease_clears_refund: bool, pub disallow_executable_format: bool, pub warm_coinbase_address: bool, pub err_on_call_with_more_gas: bool, pub call_l64_after_gas: bool, pub empty_considered_exists: bool, pub create_increase_nonce: bool, pub stack_limit: usize, pub memory_limit: usize, pub call_stack_limit: usize, pub create_contract_limit: Option<usize>, pub max_initcode_size: Option<usize>, pub call_stipend: u64, pub has_delegate_call: bool, pub has_create2: bool, pub has_revert: bool, pub has_return_data: bool, pub has_bitwise_shifting: bool, pub has_chain_id: bool, pub has_self_balance: bool, pub has_ext_code_hash: bool, pub has_base_fee: bool, pub has_push0: bool, pub estimate: bool,
}
Expand description

Runtime configuration.

Fields§

§gas_ext_code: u64

Gas paid for extcode.

§gas_ext_code_hash: u64

Gas paid for extcodehash.

§gas_sstore_set: u64

Gas paid for sstore set.

§gas_sstore_reset: u64

Gas paid for sstore reset.

§refund_sstore_clears: i64

Gas paid for sstore refund.

§max_refund_quotient: u64

EIP-3529

§gas_balance: u64

Gas paid for BALANCE opcode.

§gas_sload: u64

Gas paid for SLOAD opcode.

§gas_sload_cold: u64

Gas paid for cold SLOAD opcode.

§gas_suicide: u64

Gas paid for SUICIDE opcode.

§gas_suicide_new_account: u64

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

§gas_call: u64

Gas paid for CALL opcode.

§gas_expbyte: u64

Gas paid for EXP opcode for every byte.

§gas_transaction_create: u64

Gas paid for a contract creation transaction.

§gas_transaction_call: u64

Gas paid for a message call transaction.

§gas_transaction_zero_data: u64

Gas paid for zero data in a transaction.

§gas_transaction_non_zero_data: u64

Gas paid for non-zero data in a transaction.

§gas_access_list_address: u64

Gas paid per address in transaction access list (see EIP-2930).

§gas_access_list_storage_key: u64

Gas paid per storage key in transaction access list (see EIP-2930).

§gas_account_access_cold: u64

Gas paid for accessing cold account.

§gas_storage_read_warm: u64

Gas paid for accessing ready storage.

§sstore_gas_metering: bool

EIP-1283.

§sstore_revert_under_stipend: bool

EIP-1706.

§increase_state_access_gas: bool

EIP-2929

§decrease_clears_refund: bool

EIP-3529

§disallow_executable_format: bool

EIP-3541

§warm_coinbase_address: bool

EIP-3651

§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.

§call_l64_after_gas: bool

Take l64 for callcreate after gas.

§empty_considered_exists: bool

Whether empty account is considered exists.

§create_increase_nonce: bool

Whether create transactions and create opcode increases nonce by one.

§stack_limit: usize

Stack limit.

§memory_limit: usize

Memory limit.

§call_stack_limit: usize

Call limit.

§create_contract_limit: Option<usize>

Create contract limit.

§max_initcode_size: Option<usize>

EIP-3860, maximum size limit of init_code.

§call_stipend: u64

Call stipend.

§has_delegate_call: bool

Has delegate call.

§has_create2: bool

Has create2.

§has_revert: bool

Has revert.

§has_return_data: bool

Has return data.

§has_bitwise_shifting: bool

Has bitwise shifting.

§has_chain_id: bool

Has chain ID.

§has_self_balance: bool

Has self balance.

§has_ext_code_hash: bool

Has ext code hash.

§has_base_fee: bool

Has ext block fee. See EIP-3198

§has_push0: bool

Has PUSH0 opcode. See EIP-3855

§estimate: bool

Whether the gasometer is running in estimate mode.

Implementations§

source§

impl Config

source

pub const fn frontier() -> Config

Frontier hard fork configuration.

source

pub const fn istanbul() -> Config

Istanbul hard fork configuration.

source

pub const fn berlin() -> Config

Berlin hard fork configuration.

source

pub const fn london() -> Config

london hard fork configuration.

source

pub const fn merge() -> Config

The Merge (Paris) hard fork configuration.

source

pub const fn shanghai() -> Config

Shanghai hard fork configuration.

Trait Implementations§

source§

impl Clone for Config

source§

fn clone(&self) -> Config

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Config

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,