Trait sc_network::config::WarpSyncProvider

source ·
pub trait WarpSyncProvider<Block>: Send + Sync
where Block: Block,
{ // Required methods fn generate( &self, start: <Block as Block>::Hash, ) -> Result<EncodedProof, Box<dyn Error + Send + Sync>>; fn verify( &self, proof: &EncodedProof, set_id: u64, authorities: Vec<(Public, u64)>, ) -> Result<VerificationResult<Block>, Box<dyn Error + Send + Sync>>; fn current_authorities(&self) -> Vec<(Public, u64)>; }
Expand description

Warp sync backend. Handles retrieving and verifying warp sync proofs.

Required Methods§

source

fn generate( &self, start: <Block as Block>::Hash, ) -> Result<EncodedProof, Box<dyn Error + Send + Sync>>

Generate proof starting at given block hash. The proof is accumulated until maximum proof size is reached.

source

fn verify( &self, proof: &EncodedProof, set_id: u64, authorities: Vec<(Public, u64)>, ) -> Result<VerificationResult<Block>, Box<dyn Error + Send + Sync>>

Verify warp proof against current set of authorities.

source

fn current_authorities(&self) -> Vec<(Public, u64)>

Get current list of authorities. This is supposed to be genesis authorities when starting sync.

Implementors§