pub trait FetchChecker<Block: BlockT>: Send + Sync {
    fn check_header_proof(
        &self,
        request: &RemoteHeaderRequest<Block::Header>,
        header: Option<Block::Header>,
        remote_proof: StorageProof
    ) -> ClientResult<Block::Header>;
fn check_read_proof(
        &self,
        request: &RemoteReadRequest<Block::Header>,
        remote_proof: StorageProof
    ) -> ClientResult<HashMap<Vec<u8>, Option<Vec<u8>>>>;
fn check_read_child_proof(
        &self,
        request: &RemoteReadChildRequest<Block::Header>,
        remote_proof: StorageProof
    ) -> ClientResult<HashMap<Vec<u8>, Option<Vec<u8>>>>;
fn check_execution_proof(
        &self,
        request: &RemoteCallRequest<Block::Header>,
        remote_proof: StorageProof
    ) -> ClientResult<Vec<u8>>;
fn check_changes_proof(
        &self,
        request: &RemoteChangesRequest<Block::Header>,
        proof: ChangesProof<Block::Header>
    ) -> ClientResult<Vec<(NumberFor<Block>, u32)>>;
fn check_body_proof(
        &self,
        request: &RemoteBodyRequest<Block::Header>,
        body: Vec<Block::Extrinsic>
    ) -> ClientResult<Vec<Block::Extrinsic>>; }
Expand description

Light client remote data checker.

Implementations of this trait should not use any prunable blockchain data except that is passed to its methods.

Required methods

Check remote header proof.

Check remote storage read proof.

Check remote storage read proof.

Check remote method execution proof.

Check remote changes query proof.

Check remote body proof.

Implementors