pub struct CommonParams {
Show 64 fields pub account_start_nonce: U256, pub maximum_extra_data_size: usize, pub network_id: u64, pub chain_id: u64, pub subprotocol_name: String, pub min_gas_limit: U256, pub fork_block: Option<(BlockNumber, H256)>, pub eip150_transition: BlockNumber, pub eip160_transition: BlockNumber, pub eip161abc_transition: BlockNumber, pub eip161d_transition: BlockNumber, pub eip98_transition: BlockNumber, pub eip658_transition: BlockNumber, pub eip155_transition: BlockNumber, pub validate_receipts_transition: BlockNumber, pub validate_chain_id_transition: BlockNumber, pub eip140_transition: BlockNumber, pub eip210_transition: BlockNumber, pub eip210_contract_address: Address, pub eip210_contract_code: Bytes, pub eip210_contract_gas: U256, pub eip211_transition: BlockNumber, pub eip214_transition: BlockNumber, pub eip145_transition: BlockNumber, pub eip1052_transition: BlockNumber, pub eip1283_transition: BlockNumber, pub eip1283_disable_transition: BlockNumber, pub eip1283_reenable_transition: BlockNumber, pub eip1014_transition: BlockNumber, pub eip1706_transition: BlockNumber, pub eip1344_transition: BlockNumber, pub eip1884_transition: BlockNumber, pub eip2028_transition: BlockNumber, pub eip2315_transition: BlockNumber, pub eip2929_transition: BlockNumber, pub eip2930_transition: BlockNumber, pub eip1559_transition: BlockNumber, pub eip3198_transition: BlockNumber, pub eip3529_transition: BlockNumber, pub eip3541_transition: BlockNumber, pub eip3607_transition: BlockNumber, pub dust_protection_transition: BlockNumber, pub nonce_cap_increment: u64, pub remove_dust_contracts: bool, pub wasm_activation_transition: BlockNumber, pub wasm_disable_transition: BlockNumber, pub kip4_transition: BlockNumber, pub kip6_transition: BlockNumber, pub gas_limit_bound_divisor: U256, pub registrar: Address, pub node_permission_contract: Option<Address>, pub max_code_size: u64, pub max_code_size_transition: BlockNumber, pub transaction_permission_contract: Option<Address>, pub transaction_permission_contract_transition: BlockNumber, pub max_transaction_size: usize, pub eip1559_base_fee_max_change_denominator: Option<U256>, pub eip1559_elasticity_multiplier: U256, pub eip1559_base_fee_initial_value: U256, pub eip1559_base_fee_min_value: Option<U256>, pub eip1559_base_fee_min_value_transition: BlockNumber, pub eip1559_fee_collector: Option<Address>, pub eip1559_fee_collector_transition: BlockNumber, pub validate_service_transactions_transition: BlockNumber,
}
Expand description

Parameters common to ethereum-like blockchains. NOTE: when adding bugfix hard-fork parameters, add to nonzero_bugfix_hard_fork

we define a “bugfix” hard fork as any hard fork which you would put on-by-default in a new chain.

Fields

account_start_nonce: U256

Account start nonce.

maximum_extra_data_size: usize

Maximum size of extra data.

network_id: u64

Network id.

chain_id: u64

Chain id.

subprotocol_name: String

Main subprotocol name.

min_gas_limit: U256

Minimum gas limit.

fork_block: Option<(BlockNumber, H256)>

Fork block to check.

eip150_transition: BlockNumber

EIP150 transition block number.

eip160_transition: BlockNumber

Number of first block where EIP-160 rules begin.

eip161abc_transition: BlockNumber

Number of first block where EIP-161.abc begin.

eip161d_transition: BlockNumber

Number of first block where EIP-161.d begins.

eip98_transition: BlockNumber

Number of first block where EIP-98 rules begin.

eip658_transition: BlockNumber

Number of first block where EIP-658 rules begin.

eip155_transition: BlockNumber

Number of first block where EIP-155 rules begin.

validate_receipts_transition: BlockNumber

Validate block receipts root.

validate_chain_id_transition: BlockNumber

Validate transaction chain id.

eip140_transition: BlockNumber

Number of first block where EIP-140 rules begin.

eip210_transition: BlockNumber

Number of first block where EIP-210 rules begin.

eip210_contract_address: Address

EIP-210 Blockhash contract address.

eip210_contract_code: Bytes

EIP-210 Blockhash contract code.

eip210_contract_gas: U256

Gas allocated for EIP-210 blockhash update.

eip211_transition: BlockNumber

Number of first block where EIP-211 rules begin.

eip214_transition: BlockNumber

Number of first block where EIP-214 rules begin.

eip145_transition: BlockNumber

Number of first block where EIP-145 rules begin.

eip1052_transition: BlockNumber

Number of first block where EIP-1052 rules begin.

eip1283_transition: BlockNumber

Number of first block where EIP-1283 rules begin.

eip1283_disable_transition: BlockNumber

Number of first block where EIP-1283 rules end.

eip1283_reenable_transition: BlockNumber

Number of first block where EIP-1283 rules re-enabled.

eip1014_transition: BlockNumber

Number of first block where EIP-1014 rules begin.

eip1706_transition: BlockNumber

Number of first block where EIP-1706 rules begin.

eip1344_transition: BlockNumber

Number of first block where EIP-1344 rules begin: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1344.md

eip1884_transition: BlockNumber

Number of first block where EIP-1884 rules begin:https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1884.md

eip2028_transition: BlockNumber

Number of first block where EIP-2028 rules begin.

eip2315_transition: BlockNumber

Number of first block where EIP-2315 rules begin.

eip2929_transition: BlockNumber

Number of first block where EIP-2929 rules begin.

eip2930_transition: BlockNumber

Number of first block where EIP-2930 rules begin.

eip1559_transition: BlockNumber

Number of first block where EIP-1559 rules begin.

eip3198_transition: BlockNumber

Number of first block where EIP-3198 rules begin. Basefee opcode.

eip3529_transition: BlockNumber

Number of first block where EIP-3529 rules begin.

eip3541_transition: BlockNumber

Number of first block where EIP-3541 rule begins.

eip3607_transition: BlockNumber

Number of first block where EIP-3607 rule begins.

dust_protection_transition: BlockNumber

Number of first block where dust cleanup rules (EIP-168 and EIP169) begin.

nonce_cap_increment: u64

Nonce cap increase per block. Nonce cap is only checked if dust protection is enabled.

remove_dust_contracts: bool

Enable dust cleanup for contracts.

wasm_activation_transition: BlockNumber

Wasm activation blocknumber, if any disabled initially.

wasm_disable_transition: BlockNumber

Wasm deactivation blocknumber, if enabled.

kip4_transition: BlockNumber

Number of first block where KIP-4 rules begin. Only has effect if Wasm is activated.

kip6_transition: BlockNumber

Number of first block where KIP-6 rules begin. Only has effect if Wasm is activated.

gas_limit_bound_divisor: U256

Gas limit bound divisor (how much gas limit can change per block)

registrar: Address

Registrar contract address.

node_permission_contract: Option<Address>

Node permission managing contract address.

max_code_size: u64

Maximum contract code size that can be deployed.

max_code_size_transition: BlockNumber

Number of first block where max code size limit is active.

transaction_permission_contract: Option<Address>

Transaction permission managing contract address.

transaction_permission_contract_transition: BlockNumber

Block at which the transaction permission contract should start being used.

max_transaction_size: usize

Maximum size of transaction’s RLP payload

eip1559_base_fee_max_change_denominator: Option<U256>

Base fee max change denominator

eip1559_elasticity_multiplier: U256

Elasticity multiplier

eip1559_base_fee_initial_value: U256

Default value for the block base fee

eip1559_base_fee_min_value: Option<U256>

Min value for the block base fee.

eip1559_base_fee_min_value_transition: BlockNumber

Block at which the min value for the base fee starts to be used.

eip1559_fee_collector: Option<Address>

Address where EIP-1559 burnt fee will be accrued to.

eip1559_fee_collector_transition: BlockNumber

Block at which the fee collector should start being used.

validate_service_transactions_transition: BlockNumber

Block at which zero gas price transactions start being checked with Certifier contract.

Implementations

Schedule for an EVM in the post-EIP-150-era of the Ethereum main net.

Returns max code size at given block.

Apply common spec config parameters to the schedule.

Return Some if the current parameters contain a bugfix hard fork not on block 0.

Trait Implementations

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.