[][src]Struct beacon::BeaconState

pub struct BeaconState {
    pub slot: Slot,
    pub genesis_time: Timestamp,
    pub fork: Fork,
    pub validator_registry: Vec<Validator>,
    pub validator_balances: Vec<u64>,
    pub validator_registry_update_epoch: Epoch,
    pub latest_randao_mixes: Vec<H256>,
    pub previous_shuffling_start_shard: Shard,
    pub current_shuffling_start_shard: Shard,
    pub previous_shuffling_epoch: Epoch,
    pub current_shuffling_epoch: Epoch,
    pub previous_shuffling_seed: H256,
    pub current_shuffling_seed: H256,
    pub previous_epoch_attestations: Vec<PendingAttestation>,
    pub current_epoch_attestations: Vec<PendingAttestation>,
    pub previous_justified_epoch: Epoch,
    pub current_justified_epoch: Epoch,
    pub previous_justified_root: H256,
    pub current_justified_root: H256,
    pub justification_bitfield: u64,
    pub finalized_epoch: Epoch,
    pub finalized_root: H256,
    pub latest_crosslinks: Vec<Crosslink>,
    pub latest_block_roots: Vec<H256>,
    pub latest_state_roots: Vec<H256>,
    pub latest_active_index_roots: Vec<H256>,
    pub latest_slashed_balances: Vec<u64>,
    pub latest_block_header: BeaconBlockHeader,
    pub historical_roots: Vec<H256>,
    pub latest_eth1_data: Eth1Data,
    pub eth1_data_votes: Vec<Eth1DataVote>,
    pub deposit_index: u64,
}

Beacon state.

Fields

slot: Slot

Current slot.

genesis_time: Timestamp

Genesis time.

fork: Fork

For versioning hard forks.

validator_registry: Vec<Validator>

Validator registry.

validator_balances: Vec<u64>

Validator balances.

validator_registry_update_epoch: Epoch

Last validator registry update epoch.

latest_randao_mixes: Vec<H256>

Latest randao mixes, of length LATEST_RANDAO_MIXES_LENGTH.

previous_shuffling_start_shard: Shard

Previous shuffling start shard.

current_shuffling_start_shard: Shard

Current shuffling start shard.

previous_shuffling_epoch: Epoch

Previous shuffling epoch.

current_shuffling_epoch: Epoch

Current shuffling epoch.

previous_shuffling_seed: H256

Previous shuffling seed.

current_shuffling_seed: H256

Current shuffling seed.

previous_epoch_attestations: Vec<PendingAttestation>

Previous epoch attestations.

current_epoch_attestations: Vec<PendingAttestation>

Current epoch attestations.

previous_justified_epoch: Epoch

Previous justified epoch.

current_justified_epoch: Epoch

Current justified epoch.

previous_justified_root: H256

Previous justified root.

current_justified_root: H256

Current justified root.

justification_bitfield: u64

Justification bitfield.

finalized_epoch: Epoch

Finalized epoch.

finalized_root: H256

Finalized root.

latest_crosslinks: Vec<Crosslink>

Latest crosslinks, of length SHARD_COUNT.

latest_block_roots: Vec<H256>

Latest block roots, of length SLOTS_PER_HISTORICAL_ROOT.

latest_state_roots: Vec<H256>

Latest state roots, of length SLOTS_PER_HISTORICAL_ROOT.

latest_active_index_roots: Vec<H256>

Latest active index roots, of length LATEST_ACTIVE_INDEX_ROOTS_LENGTH.

latest_slashed_balances: Vec<u64>

Balances slashed at every withdrawal period, of length LATEST_SLASHED_EXIT_LENGTH.

latest_block_header: BeaconBlockHeader

Latest block header.

historical_roots: Vec<H256>

Historical roots.

latest_eth1_data: Eth1Data

Latest eth1 data.

eth1_data_votes: Vec<Eth1DataVote>

Eth1 data votes.

deposit_index: u64

Deposit index.

Methods

impl BeaconState[src]

pub fn validator_index_by_id(
    &self,
    validator_id: &ValidatorId
) -> Option<ValidatorIndex>
[src]

Get validator index from validator ID.

pub fn active_validator_indices(&self, epoch: Epoch) -> Vec<ValidatorIndex>[src]

Get active validator indices for given epoch.

Trait Implementations

impl PartialEq<BeaconState> for BeaconState[src]

impl Clone for BeaconState[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Eq for BeaconState[src]

impl Debug for BeaconState[src]

impl Encode for BeaconState[src]

fn encode(&self) -> Vec<u8>[src]

Convert self to an owned vector.

fn using_encoded<R, F>(&self, f: F) -> R where
    F: FnOnce(&[u8]) -> R, 
[src]

Convert self to a slice and then invoke the given closure with it.

impl Decode for BeaconState[src]

impl Serialize for BeaconState[src]

impl<'de> Deserialize<'de> for BeaconState[src]

impl Prefixable for BeaconState[src]

impl Encode for BeaconState[src]

fn encode(&self) -> Vec<u8>[src]

Convert self to an owned vector.

fn using_encoded<R, F>(&self, f: F) -> R where
    F: FnOnce(&[u8]) -> R, 
[src]

Convert self to a slice and then invoke the given closure with it.

impl Hashable for BeaconState[src]

impl Composite for BeaconState[src]

Auto Trait Implementations

impl Send for BeaconState

impl Sync for BeaconState

Blanket Implementations

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

impl<T, U> TryInto 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<S> Codec for S where
    S: Encode + Decode
[src]

impl<T> KeyedVec for T where
    T: Codec
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<T> DebugIfStd for T where
    T: Debug
[src]