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

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

Required Methods§

source

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

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), Global> ) -> Result<VerificationResult<Block>, Box<dyn Error + Sync + Send, Global>>

Verify warp proof against current set of authorities.

source

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

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

Implementors§