pub struct FraudProofHostFunctionsImpl<Block, Client, DomainBlock, Executor, EFC> { /* private fields */ }
Expand description
Trait Impl to query and verify Domains Fraud proof.
Implementations§
Trait Implementations§
source§impl<Block, Client, DomainBlock, Executor, EFC> FraudProofHostFunctions for FraudProofHostFunctionsImpl<Block, Client, DomainBlock, Executor, EFC>where
Block: BlockT,
Block::Hash: From<H256>,
DomainBlock: BlockT,
DomainBlock::Hash: From<H256> + Into<H256>,
NumberFor<DomainBlock>: From<BlockNumber>,
Client: BlockBackend<Block> + HeaderBackend<Block> + ProvideRuntimeApi<Block>,
Client::Api: DomainsApi<Block, DomainBlock::Header> + BundleProducerElectionApi<Block, Balance> + MessengerApi<Block, NumberFor<Block>, Block::Hash>,
Executor: CodeExecutor + RuntimeVersionOf,
EFC: Fn(Arc<Client>, Arc<Executor>) -> Box<dyn ExtensionsFactory<DomainBlock>> + Send + Sync,
impl<Block, Client, DomainBlock, Executor, EFC> FraudProofHostFunctions for FraudProofHostFunctionsImpl<Block, Client, DomainBlock, Executor, EFC>where
Block: BlockT,
Block::Hash: From<H256>,
DomainBlock: BlockT,
DomainBlock::Hash: From<H256> + Into<H256>,
NumberFor<DomainBlock>: From<BlockNumber>,
Client: BlockBackend<Block> + HeaderBackend<Block> + ProvideRuntimeApi<Block>,
Client::Api: DomainsApi<Block, DomainBlock::Header> + BundleProducerElectionApi<Block, Balance> + MessengerApi<Block, NumberFor<Block>, Block::Hash>,
Executor: CodeExecutor + RuntimeVersionOf,
EFC: Fn(Arc<Client>, Arc<Executor>) -> Box<dyn ExtensionsFactory<DomainBlock>> + Send + Sync,
source§fn derive_bundle_digest(
&self,
domain_runtime_code: Vec<u8>,
bundle_body: Vec<OpaqueExtrinsic>,
) -> Option<H256>
fn derive_bundle_digest( &self, domain_runtime_code: Vec<u8>, bundle_body: Vec<OpaqueExtrinsic>, ) -> Option<H256>
Derive the bundle digest for the given bundle body.
source§fn execution_proof_check(
&self,
domain_block_id: (BlockNumber, H256),
pre_state_root: H256,
encoded_proof: Vec<u8>,
execution_method: &str,
call_data: &[u8],
domain_runtime_code: Vec<u8>,
) -> Option<Vec<u8>>
fn execution_proof_check( &self, domain_block_id: (BlockNumber, H256), pre_state_root: H256, encoded_proof: Vec<u8>, execution_method: &str, call_data: &[u8], domain_runtime_code: Vec<u8>, ) -> Option<Vec<u8>>
Check the execution proof
fn check_extrinsics_in_single_context( &self, domain_runtime_code: Vec<u8>, domain_block_id: (BlockNumber, H256), domain_block_state_root: H256, bundle_extrinsics: Vec<OpaqueExtrinsic>, encoded_proof: Vec<u8>, ) -> Option<Option<u32>>
fn construct_domain_inherent_extrinsic( &self, domain_runtime_code: Vec<u8>, domain_inherent_extrinsic_data: DomainInherentExtrinsicData, ) -> Option<DomainInherentExtrinsic>
fn domain_storage_key( &self, domain_runtime_code: Vec<u8>, req: DomainStorageKeyRequest, ) -> Option<Vec<u8>>
fn domain_runtime_call( &self, domain_runtime_code: Vec<u8>, call: StatelessDomainRuntimeCall, ) -> Option<bool>
fn bundle_weight( &self, domain_runtime_code: Vec<u8>, bundle_body: Vec<OpaqueExtrinsic>, ) -> Option<Weight>
fn extract_xdm_mmr_proof( &self, domain_runtime_code: Vec<u8>, opaque_extrinsic: Vec<u8>, ) -> Option<Option<Vec<u8>>>
Auto Trait Implementations§
impl<Block, Client, DomainBlock, Executor, EFC> Freeze for FraudProofHostFunctionsImpl<Block, Client, DomainBlock, Executor, EFC>where
EFC: Freeze,
impl<Block, Client, DomainBlock, Executor, EFC> RefUnwindSafe for FraudProofHostFunctionsImpl<Block, Client, DomainBlock, Executor, EFC>where
EFC: RefUnwindSafe,
Block: RefUnwindSafe,
DomainBlock: RefUnwindSafe,
Client: RefUnwindSafe,
Executor: RefUnwindSafe,
impl<Block, Client, DomainBlock, Executor, EFC> Send for FraudProofHostFunctionsImpl<Block, Client, DomainBlock, Executor, EFC>
impl<Block, Client, DomainBlock, Executor, EFC> Sync for FraudProofHostFunctionsImpl<Block, Client, DomainBlock, Executor, EFC>
impl<Block, Client, DomainBlock, Executor, EFC> Unpin for FraudProofHostFunctionsImpl<Block, Client, DomainBlock, Executor, EFC>
impl<Block, Client, DomainBlock, Executor, EFC> UnwindSafe for FraudProofHostFunctionsImpl<Block, Client, DomainBlock, Executor, EFC>where
EFC: UnwindSafe,
Client: RefUnwindSafe,
Executor: RefUnwindSafe,
Block: UnwindSafe,
DomainBlock: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read more§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.