#[non_exhaustive]pub struct Config {Show 41 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,
pub eip7623_calldata_floor: 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: RuntimeConfigRuntime config.
eip2_no_empty_contract: boolDisallow empty contract creation.
eip2_create_transaction_increase: boolIncrease contract creation transaction cost.
eip1884_trie_repricing: boolEIP-1884: trie repricing.
eip2200_sstore_gas_metering: boolEIP-1283.
eip2200_sstore_revert_under_stipend: boolEIP-1706.
eip2929_increase_state_access_gas: boolEIP-2929
eip3529_decrease_clears_refund: boolEIP-3529
eip3541_disallow_executable_format: boolEIP-3541
eip150_gas_increase: boolGas increases of EIP150.
eip150_no_err_on_call_with_more_gas: boolWhether to throw out of gas error when CALL/CALLCODE/DELEGATECALL requires more than maximum amount of gas.
eip150_call_l64_after_gas: boolTake l64 for callcreate after gas.
eip161_create_increase_nonce: boolWhether create transactions and create opcode increases nonce by one.
eip170_create_contract_limit: boolEIP170.
eip3860_max_initcode_size: boolEIP-3860, maximum size limit of init_code.
eip7_delegate_call: boolHas delegate call.
eip1014_create2: boolHas create2.
eip140_revert: boolHas revert.
eip160_exp_increase: boolEIP160.
eip211_return_data: boolHas return data.
eip214_static_call: boolStatic call.
eip145_bitwise_shifting: boolHas bitwise shifting.
eip1344_chain_id: boolHas chain ID.
eip1884_self_balance: boolHas self balance.
eip1052_ext_code_hash: boolHas ext code hash.
eip3198_base_fee: boolHas ext block fee. See EIP-3198
eip3855_push0: boolHas PUSH0 opcode. See EIP-3855
eip1153_transient_storage: boolEnables transient storage. See EIP-1153
eip5656_mcopy: boolEnables MCOPY instruction. See EIP-5656
eip1559_fee_market: boolUses EIP-1559 (Base fee is burned when this flag is enabled) EIP-1559
eip2028_transaction_calldata_decrease: boolCall data gas cost reduction.
eip198_modexp_precompile: boolEIP-198: Modexp precompile.
eip196_ec_add_mul_precompile: boolEIP-196: EC ADD/MUL precompile.
eip197_ec_pairing_precompile: boolEIP-197: EC Pairing precompile.
eip152_blake_2f_precompile: boolEIP-152: Blake2F precompile.
eip1108_ec_add_mul_pairing_decrease: boolEIP-1108: Reduce EC ADD/MUL/Pairing costs.
eip2565_lower_modexp: boolEIP-2565.
eip2930_access_list: boolEIP-2930: Optional access list.
eip4844_shard_blob: boolEIP-4844: Shard blob.
eip7516_blob_base_fee: boolEIP-7516: Blob base fee per gas.
eip7623_calldata_floor: boolEIP-7623: Increase calldata cost with floor.
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_floor_transaction_zero_data(&self) -> u64
pub fn gas_floor_transaction_zero_data(&self) -> u64
Floor gas paid for zero data in a transaction.
Sourcepub fn gas_floor_transaction_non_zero_data(&self) -> u64
pub fn gas_floor_transaction_non_zero_data(&self) -> u64
Floor 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.