Struct ethcore::spec::CommonParams
[−]
[src]
pub struct CommonParams { 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: u64, pub eip161abc_transition: u64, pub eip161d_transition: u64, pub eip98_transition: BlockNumber, pub eip658_transition: BlockNumber, pub eip155_transition: BlockNumber, pub validate_receipts_transition: BlockNumber, pub validate_chain_id_transition: BlockNumber, pub eip86_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 dust_protection_transition: BlockNumber, pub nonce_cap_increment: u64, pub remove_dust_contracts: bool, pub wasm_activation_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 max_transaction_size: usize, }
Parameters common to ethereum-like blockchains.
NOTE: when adding bugfix hard-fork parameters,
add to contains_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: u64
Number of first block where EIP-160 rules begin.
eip161abc_transition: u64
Number of first block where EIP-161.abc begin.
eip161d_transition: u64
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.
eip86_transition: BlockNumber
Number of first block where EIP-86 (Metropolis) rules begin.
eip140_transition: BlockNumber
Number of first block where EIP-140 (Metropolis: REVERT opcode) rules begin.
eip210_transition: BlockNumber
Number of first block where EIP-210 (Metropolis: BLOCKHASH changes) 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 (Metropolis: RETURNDATASIZE/RETURNDATACOPY) 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.
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.
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.
max_transaction_size: usize
Maximum size of transaction's RLP payload
Methods
impl CommonParams
[src]
impl CommonParams
pub fn schedule(&self, block_number: u64) -> Schedule
[src]
pub fn schedule(&self, block_number: u64) -> Schedule
Schedule for an EVM in the post-EIP-150-era of the Ethereum main net.
pub fn max_code_size(&self, block_number: u64) -> u64
[src]
pub fn max_code_size(&self, block_number: u64) -> u64
Returns max code size at given block.
pub fn update_schedule(&self, block_number: u64, schedule: &mut Schedule)
[src]
pub fn update_schedule(&self, block_number: u64, schedule: &mut Schedule)
Apply common spec config parameters to the schedule.
pub fn contains_bugfix_hard_fork(&self) -> bool
[src]
pub fn contains_bugfix_hard_fork(&self) -> bool
Whether these params contain any bug-fix hard forks.
Trait Implementations
impl Debug for CommonParams
[src]
impl Debug for CommonParams
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl PartialEq for CommonParams
[src]
impl PartialEq for CommonParams
fn eq(&self, __arg_0: &CommonParams) -> bool
[src]
fn eq(&self, __arg_0: &CommonParams) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &CommonParams) -> bool
[src]
fn ne(&self, __arg_0: &CommonParams) -> bool
This method tests for !=
.
impl Default for CommonParams
[src]
impl Default for CommonParams
fn default() -> CommonParams
[src]
fn default() -> CommonParams
Returns the "default value" for a type. Read more
impl From<Params> for CommonParams
[src]
impl From<Params> for CommonParams
Auto Trait Implementations
impl Send for CommonParams
impl Send for CommonParams
impl Sync for CommonParams
impl Sync for CommonParams