Trait sc_light::fetcher::FetchChecker
source · [−]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
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_header_proof(
&self,
request: &RemoteHeaderRequest<<Block as Block>::Header>,
header: Option<<Block as Block>::Header>,
remote_proof: StorageProof
) -> Result<<Block as Block>::Header, Error>
Check remote header proof.
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_proof(
&self,
request: &RemoteReadRequest<<Block as Block>::Header>,
remote_proof: StorageProof
) -> Result<HashMap<Vec<u8, Global>, Option<Vec<u8, Global>>, RandomState>, Error>
Check remote storage read proof.
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_read_child_proof(
&self,
request: &RemoteReadChildRequest<<Block as Block>::Header>,
remote_proof: StorageProof
) -> Result<HashMap<Vec<u8, Global>, Option<Vec<u8, Global>>, RandomState>, Error>
Check remote storage read proof.
fn check_execution_proof(
&self,
request: &RemoteCallRequest<<Block as Block>::Header>,
remote_proof: StorageProof
) -> Result<Vec<u8, Global>, Error>
fn check_execution_proof(
&self,
request: &RemoteCallRequest<<Block as Block>::Header>,
remote_proof: StorageProof
) -> Result<Vec<u8, Global>, Error>
Check remote method execution proof.
Check remote changes query proof.