#[non_exhaustive]pub struct Config {Show 40 fields
pub runtime: RuntimeConfig,
pub eip2_no_empty_contract: bool,
pub eip2_create_transaction_increase: bool,
pub eip1884_trie_repricing: bool,
pub eip2200_sstore_gas_metering: bool,
pub eip2200_sstore_revert_under_stipend: bool,
pub eip2929_increase_state_access_gas: bool,
pub eip3529_decrease_clears_refund: bool,
pub eip3541_disallow_executable_format: bool,
pub eip150_gas_increase: bool,
pub eip150_no_err_on_call_with_more_gas: bool,
pub eip150_call_l64_after_gas: bool,
pub eip161_create_increase_nonce: bool,
pub eip170_create_contract_limit: bool,
pub eip3860_max_initcode_size: bool,
pub eip7_delegate_call: bool,
pub eip1014_create2: bool,
pub eip140_revert: bool,
pub eip160_exp_increase: bool,
pub eip211_return_data: bool,
pub eip214_static_call: bool,
pub eip145_bitwise_shifting: bool,
pub eip1344_chain_id: bool,
pub eip1884_self_balance: bool,
pub eip1052_ext_code_hash: bool,
pub eip3198_base_fee: bool,
pub eip3855_push0: bool,
pub eip1153_transient_storage: bool,
pub eip5656_mcopy: bool,
pub eip1559_fee_market: bool,
pub eip2028_transaction_calldata_decrease: bool,
pub eip198_modexp_precompile: bool,
pub eip196_ec_add_mul_precompile: bool,
pub eip197_ec_pairing_precompile: bool,
pub eip152_blake_2f_precompile: bool,
pub eip1108_ec_add_mul_pairing_decrease: bool,
pub eip2565_lower_modexp: bool,
pub eip2930_access_list: bool,
pub eip4844_shard_blob: bool,
pub eip7516_blob_base_fee: bool,
}
Expand description
Runtime configuration.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.runtime: RuntimeConfig
Runtime config.
eip2_no_empty_contract: bool
Disallow empty contract creation.
eip2_create_transaction_increase: bool
Increase contract creation transaction cost.
eip1884_trie_repricing: bool
EIP-1884: trie repricing.
eip2200_sstore_gas_metering: bool
EIP-1283.
eip2200_sstore_revert_under_stipend: bool
EIP-1706.
eip2929_increase_state_access_gas: bool
EIP-2929
eip3529_decrease_clears_refund: bool
EIP-3529
eip3541_disallow_executable_format: bool
EIP-3541
eip150_gas_increase: bool
Gas increases of EIP150.
eip150_no_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.
eip150_call_l64_after_gas: bool
Take l64 for callcreate after gas.
eip161_create_increase_nonce: bool
Whether create transactions and create opcode increases nonce by one.
eip170_create_contract_limit: bool
EIP170.
eip3860_max_initcode_size: bool
EIP-3860, maximum size limit of init_code.
eip7_delegate_call: bool
Has delegate call.
eip1014_create2: bool
Has create2.
eip140_revert: bool
Has revert.
eip160_exp_increase: bool
EIP160.
eip211_return_data: bool
Has return data.
eip214_static_call: bool
Static call.
eip145_bitwise_shifting: bool
Has bitwise shifting.
eip1344_chain_id: bool
Has chain ID.
eip1884_self_balance: bool
Has self balance.
eip1052_ext_code_hash: bool
Has ext code hash.
eip3198_base_fee: bool
Has ext block fee. See EIP-3198
eip3855_push0: bool
Has PUSH0 opcode. See EIP-3855
eip1153_transient_storage: bool
Enables transient storage. See EIP-1153
eip5656_mcopy: bool
Enables MCOPY instruction. See EIP-5656
eip1559_fee_market: bool
Uses EIP-1559 (Base fee is burned when this flag is enabled) EIP-1559
eip2028_transaction_calldata_decrease: bool
Call data gas cost reduction.
eip198_modexp_precompile: bool
EIP-198: Modexp precompile.
eip196_ec_add_mul_precompile: bool
EIP-196: EC ADD/MUL precompile.
eip197_ec_pairing_precompile: bool
EIP-197: EC Pairing precompile.
eip152_blake_2f_precompile: bool
EIP-152: Blake2F precompile.
eip1108_ec_add_mul_pairing_decrease: bool
EIP-1108: Reduce EC ADD/MUL/Pairing costs.
eip2565_lower_modexp: bool
EIP-2565.
eip2930_access_list: bool
EIP-2930: Optional access list.
eip4844_shard_blob: bool
EIP-4844: Shard blob.
eip7516_blob_base_fee: bool
EIP-7516: Blob base fee per gas.
Implementations§
Source§impl Config
impl Config
Sourcepub const fn tangerine_whistle() -> Config
pub const fn tangerine_whistle() -> Config
Tangerine whistle
Sourcepub const fn spurious_dragon() -> Config
pub const fn spurious_dragon() -> Config
Spurious dragon
Sourcepub const fn petersburg() -> Config
pub const fn petersburg() -> Config
Petersburg
Sourcepub fn gas_ext_code(&self) -> u64
pub fn gas_ext_code(&self) -> u64
Gas paid for extcode.
Sourcepub fn gas_ext_code_hash(&self) -> u64
pub fn gas_ext_code_hash(&self) -> u64
Gas paid for extcodehash.
Sourcepub fn gas_sstore_set(&self) -> u64
pub fn gas_sstore_set(&self) -> u64
Gas paid for sstore set.
Sourcepub fn gas_sstore_reset(&self) -> u64
pub fn gas_sstore_reset(&self) -> u64
Gas paid for sstore reset.
Sourcepub fn refund_sstore_clears(&self) -> i64
pub fn refund_sstore_clears(&self) -> i64
Gas paid for sstore refund.
Sourcepub fn max_refund_quotient(&self) -> u64
pub fn max_refund_quotient(&self) -> u64
EIP-3529
Sourcepub fn gas_balance(&self) -> u64
pub fn gas_balance(&self) -> u64
Gas paid for BALANCE opcode.
Sourcepub fn gas_sload_cold(&self) -> u64
pub fn gas_sload_cold(&self) -> u64
Gas paid for cold SLOAD opcode.
Sourcepub fn gas_suicide(&self) -> u64
pub fn gas_suicide(&self) -> u64
Gas paid for SUICIDE opcode.
Sourcepub fn gas_suicide_new_account(&self) -> u64
pub fn gas_suicide_new_account(&self) -> u64
Gas paid for SUICIDE opcode when it hits a new account.
Sourcepub fn gas_expbyte(&self) -> u64
pub fn gas_expbyte(&self) -> u64
Gas paid for EXP opcode for every byte.
Sourcepub fn gas_transaction_create(&self) -> u64
pub fn gas_transaction_create(&self) -> u64
Gas paid for a contract creation transaction.
Sourcepub fn gas_transaction_call(&self) -> u64
pub fn gas_transaction_call(&self) -> u64
Gas paid for a message call transaction.
Sourcepub fn gas_transaction_zero_data(&self) -> u64
pub fn gas_transaction_zero_data(&self) -> u64
Gas paid for zero data in a transaction.
Sourcepub fn gas_transaction_non_zero_data(&self) -> u64
pub fn gas_transaction_non_zero_data(&self) -> u64
Gas paid for non-zero data in a transaction.
Sourcepub fn gas_access_list_address(&self) -> u64
pub fn gas_access_list_address(&self) -> u64
Gas paid per address in transaction access list (see EIP-2930).
Sourcepub fn gas_access_list_storage_key(&self) -> u64
pub fn gas_access_list_storage_key(&self) -> u64
Gas paid per storage key in transaction access list (see EIP-2930).
Sourcepub fn gas_account_access_cold(&self) -> u64
pub fn gas_account_access_cold(&self) -> u64
Gas paid for accessing cold account.
Sourcepub fn gas_storage_read_warm(&self) -> u64
pub fn gas_storage_read_warm(&self) -> u64
Gas paid for accessing ready storage.
Sourcepub fn stack_limit(&self) -> usize
pub fn stack_limit(&self) -> usize
Stack limit.
Sourcepub fn memory_limit(&self) -> usize
pub fn memory_limit(&self) -> usize
Memory limit.
Sourcepub fn call_stack_limit(&self) -> usize
pub fn call_stack_limit(&self) -> usize
Call stack limit.
Sourcepub fn call_stipend(&self) -> u64
pub fn call_stipend(&self) -> u64
Call stipend.
Sourcepub fn max_initcode_size(&self) -> Option<usize>
pub fn max_initcode_size(&self) -> Option<usize>
Maximum size limit of init code.
Sourcepub fn create_contract_limit(&self) -> Option<usize>
pub fn create_contract_limit(&self) -> Option<usize>
Create contract limit.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> TrapConsume<T> for T
impl<T> TrapConsume<T> for T
Source§type Rest = Infallible
type Rest = Infallible
Source§fn consume(self) -> Result<T, Infallible>
fn consume(self) -> Result<T, Infallible>
T
to get Rest
.