Struct authority_round::AuthorityRoundParams[][src]

pub struct AuthorityRoundParams {
    pub step_durations: BTreeMap<u64, u64>,
    pub start_step: Option<u64>,
    pub validators: Box<dyn ValidatorSet>,
    pub validate_score_transition: u64,
    pub validate_step_transition: u64,
    pub immediate_transitions: bool,
    pub block_reward: U256,
    pub block_reward_contract_transitions: BTreeMap<u64, BlockRewardContract>,
    pub maximum_uncle_count_transition: u64,
    pub maximum_uncle_count: usize,
    pub empty_steps_transition: u64,
    pub two_thirds_majority_transition: BlockNumber,
    pub maximum_empty_steps: usize,
    pub strict_empty_steps_transition: u64,
    pub randomness_contract_address: BTreeMap<u64, Address>,
    pub block_gas_limit_contract_transitions: BTreeMap<u64, Address>,
}

AuthorityRound params.

Fields

step_durations: BTreeMap<u64, u64>

A map defining intervals of blocks with the given times (in seconds) to wait before next block or authority switching. The keys in the map are steps of starting blocks of those periods. The entry at 0 should be defined.

Wait times (durations) are additionally required to be less than 65535 since larger values lead to slow block issuance.

start_step: Option<u64>

Starting step,

validators: Box<dyn ValidatorSet>

Valid validators.

validate_score_transition: u64

Chain score validation transition block.

validate_step_transition: u64

Monotonic step validation transition block.

immediate_transitions: bool

Immediate transitions.

block_reward: U256

Block reward in base units.

block_reward_contract_transitions: BTreeMap<u64, BlockRewardContract>

Block reward contract addresses with their associated starting block numbers.

maximum_uncle_count_transition: u64

Number of accepted uncles transition block.

maximum_uncle_count: usize

Number of accepted uncles.

empty_steps_transition: u64

Empty step messages transition block.

two_thirds_majority_transition: BlockNumber

First block for which a 2/3 quorum (instead of 1/2) is required.

maximum_empty_steps: usize

Number of accepted empty steps.

strict_empty_steps_transition: u64

Transition block to strict empty steps validation.

randomness_contract_address: BTreeMap<u64, Address>

If set, enables random number contract integration. It maps the transition block to the contract address.

block_gas_limit_contract_transitions: BTreeMap<u64, Address>

The addresses of contracts that determine the block gas limit with their associated block numbers.

Trait Implementations

impl From<AuthorityRoundParams> for AuthorityRoundParams[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> Pointable for T

type Init = T

The type for initializers.

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>,