Struct ethcore::spec::CommonParams
source · [−]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
sourceimpl CommonParams
impl CommonParams
sourcepub fn schedule(&self, block_number: u64) -> Schedule
pub fn schedule(&self, block_number: u64) -> Schedule
Schedule for an EVM in the post-EIP-150-era of the Ethereum main net.
sourcepub fn max_code_size(&self, block_number: u64) -> u64
pub fn max_code_size(&self, block_number: u64) -> u64
Returns max code size at given block.
sourcepub fn update_schedule(&self, block_number: u64, schedule: &mut Schedule)
pub fn update_schedule(&self, block_number: u64, schedule: &mut Schedule)
Apply common spec config parameters to the schedule.
sourcepub fn nonzero_bugfix_hard_fork(&self) -> Option<&str>
pub fn nonzero_bugfix_hard_fork(&self) -> Option<&str>
Return Some if the current parameters contain a bugfix hard fork not on block 0.
Trait Implementations
sourceimpl Debug for CommonParams
impl Debug for CommonParams
sourceimpl Default for CommonParams
impl Default for CommonParams
sourcefn default() -> CommonParams
fn default() -> CommonParams
Returns the “default value” for a type. Read more
sourceimpl PartialEq<CommonParams> for CommonParams
impl PartialEq<CommonParams> for CommonParams
sourcefn eq(&self, other: &CommonParams) -> bool
fn eq(&self, other: &CommonParams) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &CommonParams) -> bool
fn ne(&self, other: &CommonParams) -> bool
This method tests for !=
.
impl StructuralPartialEq for CommonParams
Auto Trait Implementations
impl RefUnwindSafe for CommonParams
impl Send for CommonParams
impl Sync for CommonParams
impl Unpin for CommonParams
impl UnwindSafe for CommonParams
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more