Trait sc_client_api::light::FetchChecker[][src]

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>>; }

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

fn check_header_proof(
    &self,
    request: &RemoteHeaderRequest<Block::Header>,
    header: Option<Block::Header>,
    remote_proof: StorageProof
) -> ClientResult<Block::Header>
[src]

Check remote header proof.

fn check_read_proof(
    &self,
    request: &RemoteReadRequest<Block::Header>,
    remote_proof: StorageProof
) -> ClientResult<HashMap<Vec<u8>, Option<Vec<u8>>>>
[src]

Check remote storage read proof.

fn check_read_child_proof(
    &self,
    request: &RemoteReadChildRequest<Block::Header>,
    remote_proof: StorageProof
) -> ClientResult<HashMap<Vec<u8>, Option<Vec<u8>>>>
[src]

Check remote storage read proof.

fn check_execution_proof(
    &self,
    request: &RemoteCallRequest<Block::Header>,
    remote_proof: StorageProof
) -> ClientResult<Vec<u8>>
[src]

Check remote method execution proof.

fn check_changes_proof(
    &self,
    request: &RemoteChangesRequest<Block::Header>,
    proof: ChangesProof<Block::Header>
) -> ClientResult<Vec<(NumberFor<Block>, u32)>>
[src]

Check remote changes query proof.

fn check_body_proof(
    &self,
    request: &RemoteBodyRequest<Block::Header>,
    body: Vec<Block::Extrinsic>
) -> ClientResult<Vec<Block::Extrinsic>>
[src]

Check remote body proof.

Loading content...

Implementors

Loading content...