type GrandpaBlockImport<Client> = GrandpaBlockImport<TFullBackend<Block>, Block, Client, LongestChain<TFullBackend<Block>, Block>>;

Aliased Type§

struct GrandpaBlockImport<Client> {
    inner: Arc<Client>,
    justification_import_period: u32,
    select_chain: LongestChain<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>,
    authority_set: SharedAuthoritySet<H256, u32>,
    send_voter_commands: TracingUnboundedSender<VoterCommand<H256, u32>>,
    authority_set_hard_forks: HashMap<H256, PendingChange<H256, u32>>,
    justification_sender: NotificationSender<GrandpaJustification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>,
    telemetry: Option<TelemetryHandle>,
    _phantom: PhantomData<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>,
}

Fields§

§inner: Arc<Client>§justification_import_period: u32§select_chain: LongestChain<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>§authority_set: SharedAuthoritySet<H256, u32>§send_voter_commands: TracingUnboundedSender<VoterCommand<H256, u32>>§authority_set_hard_forks: HashMap<H256, PendingChange<H256, u32>>§justification_sender: NotificationSender<GrandpaJustification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>§telemetry: Option<TelemetryHandle>§_phantom: PhantomData<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>

Trait Implementations

§

impl<BE, Block, Client, SC> JustificationImport<Block> for GrandpaBlockImport<BE, Block, Client, SC>
where Block: Block, <<Block as Block>::Header as Header>::Number: BlockNumberOps, BE: Backend<Block>, Client: ClientForGrandpa<Block, BE>, SC: SelectChain<Block>,

§

type Error = Error

§

fn on_start<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = Vec<(<Block as Block>::Hash, <<Block as Block>::Header as Header>::Number)>> + Send + 'async_trait>>
where 'life0: 'async_trait, GrandpaBlockImport<BE, Block, Client, SC>: 'async_trait,

Called by the import queue when it is started. Returns a list of justifications to request from the network.
§

fn import_justification<'life0, 'async_trait>( &'life0 mut self, hash: <Block as Block>::Hash, number: <<Block as Block>::Header as Header>::Number, justification: ([u8; 4], Vec<u8>) ) -> Pin<Box<dyn Future<Output = Result<(), <GrandpaBlockImport<BE, Block, Client, SC> as JustificationImport<Block>>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, GrandpaBlockImport<BE, Block, Client, SC>: 'async_trait,

Import a Block justification and finalize the given block.
§

impl<Backend, Block, Client, SC> Clone for GrandpaBlockImport<Backend, Block, Client, SC>
where Block: Block, SC: Clone,

§

fn clone(&self) -> GrandpaBlockImport<Backend, Block, Client, SC>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<BE, Block, Client, SC> BlockImport<Block> for GrandpaBlockImport<BE, Block, Client, SC>
where Block: Block, <<Block as Block>::Header as Header>::Number: BlockNumberOps, BE: Backend<Block>, Client: ClientForGrandpa<Block, BE>, <Client as ProvideRuntimeApi<Block>>::Api: GrandpaApi<Block>, &'a Client: for<'a> BlockImport<Block, Error = Error>, SC: Send,

§

type Error = Error

The error type.
§

fn import_block<'life0, 'async_trait>( &'life0 mut self, block: BlockImportParams<Block> ) -> Pin<Box<dyn Future<Output = Result<ImportResult, <GrandpaBlockImport<BE, Block, Client, SC> as BlockImport<Block>>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, GrandpaBlockImport<BE, Block, Client, SC>: 'async_trait,

Import a block.
§

fn check_block<'life0, 'async_trait>( &'life0 mut self, block: BlockCheckParams<Block> ) -> Pin<Box<dyn Future<Output = Result<ImportResult, <GrandpaBlockImport<BE, Block, Client, SC> as BlockImport<Block>>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, GrandpaBlockImport<BE, Block, Client, SC>: 'async_trait,

Check block preconditions.