[][src]Struct beacon::types::BeaconBlockBody

pub struct BeaconBlockBody<C: Config> {
    pub randao_reveal: H768,
    pub eth1_data: Eth1Data,
    pub graffiti: H256,
    pub proposer_slashings: MaxVec<ProposerSlashing, C::MaxProposerSlashings>,
    pub attester_slashings: MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>,
    pub attestations: MaxVec<Attestation<C>, C::MaxAttestations>,
    pub deposits: MaxVec<Deposit, C::MaxDeposits>,
    pub voluntary_exits: MaxVec<VoluntaryExit, C::MaxVoluntaryExits>,
    pub transfers: MaxVec<Transfer, C::MaxTransfers>,
}

Beacon block body.

Fields

randao_reveal: H768

Randao reveal.

eth1_data: Eth1Data

Eth1 data.

graffiti: H256

Graffiti.

proposer_slashings: MaxVec<ProposerSlashing, C::MaxProposerSlashings>

Proposer slashings.

attester_slashings: MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>

Attester slashings.

attestations: MaxVec<Attestation<C>, C::MaxAttestations>

Attestations.

deposits: MaxVec<Deposit, C::MaxDeposits>

Deposits.

voluntary_exits: MaxVec<VoluntaryExit, C::MaxVoluntaryExits>

Voluntary exits.

transfers: MaxVec<Transfer, C::MaxTransfers>

Transfer.

Trait Implementations

impl<C: Clone + Config> Clone for BeaconBlockBody<C> where
    C::MaxProposerSlashings: Clone,
    C::MaxAttesterSlashings: Clone,
    C::MaxAttestations: Clone,
    C::MaxDeposits: Clone,
    C::MaxVoluntaryExits: Clone,
    C::MaxTransfers: Clone
[src]

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

Performs copy-assignment from source. Read more

impl<C: Default + Config> Default for BeaconBlockBody<C> where
    C::MaxProposerSlashings: Default,
    C::MaxAttesterSlashings: Default,
    C::MaxAttestations: Default,
    C::MaxDeposits: Default,
    C::MaxVoluntaryExits: Default,
    C::MaxTransfers: Default
[src]

impl<C: PartialEq + Config> PartialEq<BeaconBlockBody<C>> for BeaconBlockBody<C> where
    C::MaxProposerSlashings: PartialEq,
    C::MaxAttesterSlashings: PartialEq,
    C::MaxAttestations: PartialEq,
    C::MaxDeposits: PartialEq,
    C::MaxVoluntaryExits: PartialEq,
    C::MaxTransfers: PartialEq
[src]

impl<C: Eq + Config> Eq for BeaconBlockBody<C> where
    C::MaxProposerSlashings: Eq,
    C::MaxAttesterSlashings: Eq,
    C::MaxAttestations: Eq,
    C::MaxDeposits: Eq,
    C::MaxVoluntaryExits: Eq,
    C::MaxTransfers: Eq
[src]

impl<C: Debug + Config> Debug for BeaconBlockBody<C> where
    C::MaxProposerSlashings: Debug,
    C::MaxAttesterSlashings: Debug,
    C::MaxAttestations: Debug,
    C::MaxDeposits: Debug,
    C::MaxVoluntaryExits: Debug,
    C::MaxTransfers: Debug
[src]

impl<C: Config> Serialize for BeaconBlockBody<C> where
    C: Config + Serialize + Clone + DeserializeOwned + 'static, 
[src]

impl<'de, C: Config> Deserialize<'de> for BeaconBlockBody<C> where
    C: Config + Serialize + Clone + DeserializeOwned + 'static, 
[src]

impl<C: Config> Encode for BeaconBlockBody<C> where
    MaxVec<ProposerSlashing, C::MaxProposerSlashings>: Encode,
    MaxVec<ProposerSlashing, C::MaxProposerSlashings>: Encode,
    MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>: Encode,
    MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>: Encode,
    MaxVec<Attestation<C>, C::MaxAttestations>: Encode,
    MaxVec<Attestation<C>, C::MaxAttestations>: Encode,
    MaxVec<Deposit, C::MaxDeposits>: Encode,
    MaxVec<Deposit, C::MaxDeposits>: Encode,
    MaxVec<VoluntaryExit, C::MaxVoluntaryExits>: Encode,
    MaxVec<VoluntaryExit, C::MaxVoluntaryExits>: Encode,
    MaxVec<Transfer, C::MaxTransfers>: Encode,
    MaxVec<Transfer, C::MaxTransfers>: Encode
[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<C: Config> Decode for BeaconBlockBody<C> where
    MaxVec<ProposerSlashing, C::MaxProposerSlashings>: Decode,
    MaxVec<ProposerSlashing, C::MaxProposerSlashings>: Decode,
    MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>: Decode,
    MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>: Decode,
    MaxVec<Attestation<C>, C::MaxAttestations>: Decode,
    MaxVec<Attestation<C>, C::MaxAttestations>: Decode,
    MaxVec<Deposit, C::MaxDeposits>: Decode,
    MaxVec<Deposit, C::MaxDeposits>: Decode,
    MaxVec<VoluntaryExit, C::MaxVoluntaryExits>: Decode,
    MaxVec<VoluntaryExit, C::MaxVoluntaryExits>: Decode,
    MaxVec<Transfer, C::MaxTransfers>: Decode,
    MaxVec<Transfer, C::MaxTransfers>: Decode
[src]

impl<C: Config> Codec for BeaconBlockBody<C> where
    H768: Codec,
    Eth1Data: Codec,
    H256: Codec,
    MaxVec<ProposerSlashing, C::MaxProposerSlashings>: Codec,
    MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>: Codec,
    MaxVec<Attestation<C>, C::MaxAttestations>: Codec,
    MaxVec<Deposit, C::MaxDeposits>: Codec,
    MaxVec<VoluntaryExit, C::MaxVoluntaryExits>: Codec,
    MaxVec<Transfer, C::MaxTransfers>: Codec
[src]

type Size = Add<<H768 as Codec>::Size, Add<<Eth1Data as Codec>::Size, Add<<H256 as Codec>::Size, Add<<MaxVec<ProposerSlashing, C::MaxProposerSlashings> as Codec>::Size, Add<<MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings> as Codec>::Size, Add<<MaxVec<Attestation<C>, C::MaxAttestations> as Codec>::Size, Add<<MaxVec<Deposit, C::MaxDeposits> as Codec>::Size, Add<<MaxVec<VoluntaryExit, C::MaxVoluntaryExits> as Codec>::Size, <MaxVec<Transfer, C::MaxTransfers> as Codec>::Size>>>>>>>>

Size of the current type, also indicates whether it is fixed-sized or variable-sized. Read more

impl<C: Config> Decode for BeaconBlockBody<C> where
    H768: Decode,
    Eth1Data: Decode,
    H256: Decode,
    MaxVec<ProposerSlashing, C::MaxProposerSlashings>: Decode,
    MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>: Decode,
    MaxVec<Attestation<C>, C::MaxAttestations>: Decode,
    MaxVec<Deposit, C::MaxDeposits>: Decode,
    MaxVec<VoluntaryExit, C::MaxVoluntaryExits>: Decode,
    MaxVec<Transfer, C::MaxTransfers>: Decode
[src]

impl<C: Config> Encode for BeaconBlockBody<C> where
    H768: Encode,
    Eth1Data: Encode,
    H256: Encode,
    MaxVec<ProposerSlashing, C::MaxProposerSlashings>: Encode,
    MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>: Encode,
    MaxVec<Attestation<C>, C::MaxAttestations>: Encode,
    MaxVec<Deposit, C::MaxDeposits>: Encode,
    MaxVec<VoluntaryExit, C::MaxVoluntaryExits>: Encode,
    MaxVec<Transfer, C::MaxTransfers>: Encode
[src]

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

Convert self to an owned vector.

impl<C: Config> IntoTree for BeaconBlockBody<C> where
    H768: IntoTree,
    Eth1Data: IntoTree,
    H256: IntoTree,
    MaxVec<ProposerSlashing, C::MaxProposerSlashings>: IntoTree,
    MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>: IntoTree,
    MaxVec<Attestation<C>, C::MaxAttestations>: IntoTree,
    MaxVec<Deposit, C::MaxDeposits>: IntoTree,
    MaxVec<VoluntaryExit, C::MaxVoluntaryExits>: IntoTree,
    MaxVec<Transfer, C::MaxTransfers>: IntoTree
[src]

impl<C: Config> FromTree for BeaconBlockBody<C> where
    H768: FromTree,
    Eth1Data: FromTree,
    H256: FromTree,
    MaxVec<ProposerSlashing, C::MaxProposerSlashings>: FromTree,
    MaxVec<AttesterSlashing<C>, C::MaxAttesterSlashings>: FromTree,
    MaxVec<Attestation<C>, C::MaxAttestations>: FromTree,
    MaxVec<Deposit, C::MaxDeposits>: FromTree,
    MaxVec<VoluntaryExit, C::MaxVoluntaryExits>: FromTree,
    MaxVec<Transfer, C::MaxTransfers>: FromTree
[src]

Auto Trait Implementations

impl<C> Sync for BeaconBlockBody<C> where
    <C as Config>::MaxAttestations: Sync,
    <C as Config>::MaxAttesterSlashings: Sync,
    <C as Config>::MaxDeposits: Sync,
    <C as Config>::MaxProposerSlashings: Sync,
    <C as Config>::MaxTransfers: Sync,
    <C as Config>::MaxValidatorsPerCommittee: Sync,
    <C as Config>::MaxVoluntaryExits: Sync

impl<C> Send for BeaconBlockBody<C> where
    <C as Config>::MaxAttestations: Send,
    <C as Config>::MaxAttesterSlashings: Send,
    <C as Config>::MaxDeposits: Send,
    <C as Config>::MaxProposerSlashings: Send,
    <C as Config>::MaxTransfers: Send,
    <C as Config>::MaxValidatorsPerCommittee: Send,
    <C as Config>::MaxVoluntaryExits: Send

impl<C> Unpin for BeaconBlockBody<C> where
    <C as Config>::MaxAttestations: Unpin,
    <C as Config>::MaxAttesterSlashings: Unpin,
    <C as Config>::MaxDeposits: Unpin,
    <C as Config>::MaxProposerSlashings: Unpin,
    <C as Config>::MaxTransfers: Unpin,
    <C as Config>::MaxValidatorsPerCommittee: Unpin,
    <C as Config>::MaxVoluntaryExits: Unpin

impl<C> RefUnwindSafe for BeaconBlockBody<C> where
    <C as Config>::MaxAttestations: RefUnwindSafe,
    <C as Config>::MaxAttesterSlashings: RefUnwindSafe,
    <C as Config>::MaxDeposits: RefUnwindSafe,
    <C as Config>::MaxProposerSlashings: RefUnwindSafe,
    <C as Config>::MaxTransfers: RefUnwindSafe,
    <C as Config>::MaxValidatorsPerCommittee: RefUnwindSafe,
    <C as Config>::MaxVoluntaryExits: RefUnwindSafe

impl<C> UnwindSafe for BeaconBlockBody<C> where
    <C as Config>::MaxAttestations: UnwindSafe,
    <C as Config>::MaxAttesterSlashings: UnwindSafe,
    <C as Config>::MaxDeposits: UnwindSafe,
    <C as Config>::MaxProposerSlashings: UnwindSafe,
    <C as Config>::MaxTransfers: UnwindSafe,
    <C as Config>::MaxValidatorsPerCommittee: UnwindSafe,
    <C as Config>::MaxVoluntaryExits: UnwindSafe

Blanket Implementations

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

type Owned = T

The resulting type after obtaining ownership.

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

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

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<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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

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

impl<S> Codec for S where
    S: Encode + Decode
[src]

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

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

type Output = T

Should always be Self