Struct common_types::engines::params::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: 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 eip2200_advance_transition: BlockNumber,
    pub dust_protection_transition: BlockNumber,
    pub nonce_cap_increment: u64,
    pub remove_dust_contracts: bool,
    pub wasm_activation_transition: BlockNumber,
    pub wasm_version: Option<U256>,
    pub kip4_transition: BlockNumber,
    pub kip6_transition: BlockNumber,
    pub gas_limit_bound_divisor: U256,
    pub registrar: Option<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,
}

Parameters common to vapory-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/vaporyco/EIPs/blob/master/EIPS/eip-1344.md

eip1884_transition: BlockNumber

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

eip2028_transition: BlockNumber

Number of first block where EIP-2028 rules begin.

eip2200_advance_transition: BlockNumber

Number of first block where EIP-2200 advance transition 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.

wasm_version: Option<U256>

Wasm account version, activated after wasm_activation_transition. If this field is defined, do not use code prefix to determine VM to execute.

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: Option<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

Implementations

impl CommonParams[src]

pub fn schedule(&self, block_number: u64) -> Schedule[src]

Schedule for an VVM in the post-EIP-150-era of the Vapory main net.

pub fn max_code_size(&self, block_number: u64) -> u64[src]

Returns max code size at given block.

pub fn update_schedule(&self, block_number: u64, schedule: &mut Schedule)[src]

Apply common spec config parameters to the schedule.

pub fn nonzero_bugfix_hard_fork(&self) -> Option<&str>[src]

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

Trait Implementations

impl Debug for CommonParams[src]

impl Default for CommonParams[src]

impl From<Params> for CommonParams[src]

impl PartialEq<CommonParams> for CommonParams[src]

impl StructuralPartialEq for CommonParams[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,