pub trait FetchChecker<Block>: Send + Sync where
    Block: Block
{ fn check_header_proof(
        &self,
        request: &RemoteHeaderRequest<<Block as Block>::Header>,
        header: Option<<Block as Block>::Header>,
        remote_proof: StorageProof
    ) -> Result<<Block as Block>::Header, Error>;
fn check_read_proof(
        &self,
        request: &RemoteReadRequest<<Block as Block>::Header>,
        remote_proof: StorageProof
    ) -> Result<HashMap<Vec<u8, Global>, Option<Vec<u8, Global>>, RandomState>, Error>;
fn check_read_child_proof(
        &self,
        request: &RemoteReadChildRequest<<Block as Block>::Header>,
        remote_proof: StorageProof
    ) -> Result<HashMap<Vec<u8, Global>, Option<Vec<u8, Global>>, RandomState>, Error>;
fn check_execution_proof(
        &self,
        request: &RemoteCallRequest<<Block as Block>::Header>,
        remote_proof: StorageProof
    ) -> Result<Vec<u8, Global>, Error>;
fn check_changes_proof(
        &self,
        request: &RemoteChangesRequest<<Block as Block>::Header>,
        proof: ChangesProof<<Block as Block>::Header>
    ) -> Result<Vec<(<<Block as Block>::Header as Header>::Number, u32), Global>, Error>;
fn check_body_proof(
        &self,
        request: &RemoteBodyRequest<<Block as Block>::Header>,
        body: Vec<<Block as Block>::Extrinsic, Global>
    ) -> Result<Vec<<Block as Block>::Extrinsic, Global>, Error>; }
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