[][src]Struct sc_consensus_pow::MiningBuild

pub struct MiningBuild<Block: BlockT, Algorithm: PowAlgorithm<Block>, C: ProvideRuntimeApi<Block>> {
    pub metadata: MiningMetadata<Block::Hash, Algorithm::Difficulty>,
    pub proposal: Proposal<Block, TransactionFor<C, Block>>,
}

A build of mining, containing the metadata and the block proposal.

Fields

metadata: MiningMetadata<Block::Hash, Algorithm::Difficulty>

Mining metadata.

proposal: Proposal<Block, TransactionFor<C, Block>>

Mining proposal.

Auto Trait Implementations

impl<Block, Algorithm, C> RefUnwindSafe for MiningBuild<Block, Algorithm, C> where
    Block: RefUnwindSafe,
    <C as ProvideRuntimeApi<Block>>::Api: ApiExt<Block>,
    <Algorithm as PowAlgorithm<Block>>::Difficulty: RefUnwindSafe,
    <Block as Block>::Hash: RefUnwindSafe,
    <<Block as Block>::Header as Header>::Hashing: Hasher + RefUnwindSafe,
    <Block as Block>::Header: Header,
    <<Block as Block>::Header as Header>::Number: RefUnwindSafe,
    <<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend: Backend<<<Block as Block>::Header as Header>::Hashing>,
    <<<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend as Backend<<<Block as Block>::Header as Header>::Hashing>>::Transaction: RefUnwindSafe

impl<Block, Algorithm, C> Send for MiningBuild<Block, Algorithm, C> where
    <C as ProvideRuntimeApi<Block>>::Api: ApiExt<Block>,
    <Algorithm as PowAlgorithm<Block>>::Difficulty: Send,
    <Block as Block>::Hash: Send,
    <<Block as Block>::Header as Header>::Hashing: Hasher + Send,
    <Block as Block>::Header: Header,
    <<Block as Block>::Header as Header>::Number: Send,
    <<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend: Backend<<<Block as Block>::Header as Header>::Hashing>,
    <<<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend as Backend<<<Block as Block>::Header as Header>::Hashing>>::Transaction: Send

impl<Block, Algorithm, C> Sync for MiningBuild<Block, Algorithm, C> where
    <C as ProvideRuntimeApi<Block>>::Api: ApiExt<Block>,
    <Algorithm as PowAlgorithm<Block>>::Difficulty: Sync,
    <Block as Block>::Hash: Sync,
    <<Block as Block>::Header as Header>::Hashing: Hasher + Sync,
    <Block as Block>::Header: Header,
    <<Block as Block>::Header as Header>::Number: Sync,
    <<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend: Backend<<<Block as Block>::Header as Header>::Hashing>,
    <<<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend as Backend<<<Block as Block>::Header as Header>::Hashing>>::Transaction: Sync

impl<Block, Algorithm, C> Unpin for MiningBuild<Block, Algorithm, C> where
    Block: Unpin,
    <C as ProvideRuntimeApi<Block>>::Api: ApiExt<Block>,
    <Algorithm as PowAlgorithm<Block>>::Difficulty: Unpin,
    <Block as Block>::Hash: Unpin,
    <<Block as Block>::Header as Header>::Hashing: Hasher + Unpin,
    <Block as Block>::Header: Header,
    <<Block as Block>::Header as Header>::Number: Unpin,
    <<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend: Backend<<<Block as Block>::Header as Header>::Hashing>,
    <<<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend as Backend<<<Block as Block>::Header as Header>::Hashing>>::Transaction: Unpin

impl<Block, Algorithm, C> UnwindSafe for MiningBuild<Block, Algorithm, C> where
    Block: UnwindSafe,
    <C as ProvideRuntimeApi<Block>>::Api: ApiExt<Block>,
    <Algorithm as PowAlgorithm<Block>>::Difficulty: UnwindSafe,
    <Block as Block>::Hash: UnwindSafe,
    <<Block as Block>::Header as Header>::Hashing: Hasher + UnwindSafe,
    <Block as Block>::Header: Header,
    <<Block as Block>::Header as Header>::Number: UnwindSafe,
    <<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend: Backend<<<Block as Block>::Header as Header>::Hashing>,
    <<<C as ProvideRuntimeApi<Block>>::Api as ApiExt<Block>>::StateBackend as Backend<<<Block as Block>::Header as Header>::Hashing>>::Transaction: UnwindSafe

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> CheckedConversion for T[src]

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

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

impl<T, Outer> IsWrappedBy<Outer> for T where
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>, 
[src]

fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe
[src]

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

type Output = T

Should always be Self

impl<T> SaturatedConversion for 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<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    S: TryInto<T>,
    T: Bounded
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]