Struct evm_domain_test_runtime::RuntimeApiImpl

source ·
pub struct RuntimeApiImpl<Block: BlockT, C: CallApiAt<Block> + 'static> { /* private fields */ }
Expand description

Implements all runtime apis for the client side.

Trait Implementations§

source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AccountNonceApi<__SrApiBlock__, <<EthereumSignature as Verify>::Signer as IdentifyAccount>::AccountId, u32> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, AccountId: UnwindSafe + RefUnwindSafe, Nonce: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn account_nonce( &self, __runtime_api_at_param__: <Block as Block>::Hash, account: AccountId, ) -> Result<Nonce, ApiError>

Get current account nonce of given AccountId.
source§

impl<Block: BlockT, C: CallApiAt<Block>> ApiExt<Block> for RuntimeApiImpl<Block, C>

source§

fn execute_in_transaction<F: FnOnce(&Self) -> TransactionOutcome<R>, R>( &self, call: F, ) -> R
where Self: Sized,

Execute the given closure inside a new transaction. Read more
source§

fn has_api<A: RuntimeApiInfo + ?Sized>( &self, at: <Block as BlockT>::Hash, ) -> Result<bool, ApiError>
where Self: Sized,

Checks if the given api is implemented and versions match.
source§

fn has_api_with<A: RuntimeApiInfo + ?Sized, P: Fn(u32) -> bool>( &self, at: <Block as BlockT>::Hash, pred: P, ) -> Result<bool, ApiError>
where Self: Sized,

Check if the given api is implemented and the version passes a predicate.
source§

fn api_version<A: RuntimeApiInfo + ?Sized>( &self, at: <Block as BlockT>::Hash, ) -> Result<Option<u32>, ApiError>
where Self: Sized,

Returns the version of the given api.
source§

fn record_proof(&mut self)

Start recording all accessed trie nodes for generating proofs.
source§

fn proof_recorder(&self) -> Option<ProofRecorder<Block>>

Returns the current active proof recorder.
source§

fn extract_proof(&mut self) -> Option<StorageProof>

Extract the recorded proof. Read more
source§

fn into_storage_changes<B: StateBackend<HashingFor<Block>>>( &self, backend: &B, parent_hash: Block::Hash, ) -> Result<StorageChanges<Block>, String>
where Self: Sized,

Convert the api object into the storage changes that were done while executing runtime api functions. Read more
source§

fn set_call_context(&mut self, call_context: CallContext)

Set the [CallContext] to be used by the runtime api calls done by this instance.
source§

fn register_extension<E: Extension>(&mut self, extension: E)

Register an [Extension] that will be accessible while executing a runtime api call.
source§

impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BlockBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, ApplyExtrinsicResult: UnwindSafe + RefUnwindSafe, <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe, InherentData: UnwindSafe + RefUnwindSafe, Vec<<__SrApiBlock__ as BlockT>::Extrinsic>: UnwindSafe + RefUnwindSafe, __SrApiBlock__: UnwindSafe + RefUnwindSafe + BlockT, CheckInherentsResult: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn apply_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, extrinsic: <Block as Block>::Extrinsic, ) -> Result<Result<Result<(), DispatchError>, TransactionValidityError>, ApiError>

Apply the given extrinsic. Read more
§

fn apply_extrinsic_before_version_6( &self, __runtime_api_at_param__: <Block as Block>::Hash, extrinsic: <Block as Block>::Extrinsic, ) -> Result<Result<Result<(), DispatchError>, TransactionValidityError>, ApiError>

👎Deprecated
§

fn finalize_block( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<<Block as Block>::Header, ApiError>

Finish the current block.
§

fn inherent_extrinsics( &self, __runtime_api_at_param__: <Block as Block>::Hash, inherent: InherentData, ) -> Result<Vec<<Block as Block>::Extrinsic>, ApiError>

Generate inherent extrinsics. The inherent data will vary from chain to chain.
§

fn check_inherents( &self, __runtime_api_at_param__: <Block as Block>::Hash, block: Block, data: InherentData, ) -> Result<CheckInherentsResult, ApiError>

Check that the inherents are valid. The inherent data will vary from chain to chain.
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> ConvertTransactionRuntimeApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, Transaction: UnwindSafe + RefUnwindSafe, <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn convert_transaction( &self, __runtime_api_at_param__: <Block as Block>::Hash, transaction: TransactionV2, ) -> Result<<Block as Block>::Extrinsic, ApiError>

§

fn convert_transaction_before_version_2( &self, __runtime_api_at_param__: <Block as Block>::Hash, transaction: LegacyTransaction, ) -> Result<<Block as Block>::Extrinsic, ApiError>

👎Deprecated
source§

impl<__SrApiBlock__, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, RuntimeVersion: UnwindSafe + RefUnwindSafe, __SrApiBlock__: UnwindSafe + RefUnwindSafe + BlockT, <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe, ExtrinsicInclusionMode: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn version( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<RuntimeVersion, ApiError>

Returns the version of the runtime.
§

fn execute_block( &self, __runtime_api_at_param__: <Block as Block>::Hash, block: Block, ) -> Result<(), ApiError>

Execute the given block.
§

fn initialize_block_before_version_5( &self, __runtime_api_at_param__: <Block as Block>::Hash, header: &<Block as Block>::Header, ) -> Result<(), ApiError>

👎Deprecated
Initialize a block with the given header.
§

fn initialize_block( &self, __runtime_api_at_param__: <Block as Block>::Hash, header: &<Block as Block>::Header, ) -> Result<ExtrinsicInclusionMode, ApiError>

Initialize a block with the given header and return the runtime executive mode.
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> DomainCoreApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, Vec<<__SrApiBlock__ as BlockT>::Extrinsic>: UnwindSafe + RefUnwindSafe, Vec<(Option<AccountId>, <__SrApiBlock__ as BlockT>::Extrinsic)>: UnwindSafe + RefUnwindSafe, <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, U256: UnwindSafe + RefUnwindSafe, bool: UnwindSafe + RefUnwindSafe, Vec<[u8; 32]>: UnwindSafe + RefUnwindSafe, <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe, Vec<u8>: UnwindSafe + RefUnwindSafe, Moment: UnwindSafe + RefUnwindSafe, DomainAllowlistUpdates: UnwindSafe + RefUnwindSafe, BlockNumber: UnwindSafe + RefUnwindSafe, <__SrApiBlock__ as BlockT>::Hash: UnwindSafe + RefUnwindSafe, Result<(), CheckExtrinsicsValidityError>: UnwindSafe + RefUnwindSafe, OpaqueExtrinsic: UnwindSafe + RefUnwindSafe, Result<<__SrApiBlock__ as BlockT>::Extrinsic, DecodeExtrinsicError>: UnwindSafe + RefUnwindSafe, Option<Era>: UnwindSafe + RefUnwindSafe, Weight: UnwindSafe + RefUnwindSafe, BlockFees<Balance>: UnwindSafe + RefUnwindSafe, Digest: UnwindSafe + RefUnwindSafe, Balance: UnwindSafe + RefUnwindSafe, Transfers<Balance>: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

source§

fn extract_signer( &self, __runtime_api_at_param__: <Block as Block>::Hash, extrinsics: Vec<<Block as Block>::Extrinsic>, ) -> Result<Vec<(Option<Vec<u8>>, <Block as Block>::Extrinsic)>, ApiError>

Extracts the optional signer per extrinsic.
source§

fn is_within_tx_range( &self, __runtime_api_at_param__: <Block as Block>::Hash, extrinsic: &<Block as Block>::Extrinsic, bundle_vrf_hash: &U256, tx_range: &U256, ) -> Result<bool, ApiError>

source§

fn intermediate_roots( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Vec<[u8; 32]>, ApiError>

Returns the intermediate storage roots in an encoded form.
source§

fn initialize_block_with_post_state_root( &self, __runtime_api_at_param__: <Block as Block>::Hash, header: &<Block as Block>::Header, ) -> Result<Vec<u8>, ApiError>

Returns the storage root after initializing the block.
source§

fn apply_extrinsic_with_post_state_root( &self, __runtime_api_at_param__: <Block as Block>::Hash, extrinsic: <Block as Block>::Extrinsic, ) -> Result<Vec<u8>, ApiError>

Returns the storage root after applying the extrinsic.
source§

fn construct_set_code_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, code: Vec<u8>, ) -> Result<Vec<u8>, ApiError>

Returns an encoded extrinsic aiming to upgrade the runtime using given code.
source§

fn construct_timestamp_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, moment: u64, ) -> Result<<Block as Block>::Extrinsic, ApiError>

Returns an encoded extrinsic to set timestamp.
source§

fn construct_consensus_chain_byte_fee_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, consensus_chain_byte_fee: u128, ) -> Result<<Block as Block>::Extrinsic, ApiError>

Returns an encoded extrinsic to set domain transaction byte fee.
source§

fn construct_domain_update_chain_allowlist_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, updates: DomainAllowlistUpdates, ) -> Result<<Block as Block>::Extrinsic, ApiError>

Returns an extrinsic to update chain allowlist.
source§

fn is_inherent_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, extrinsic: &<Block as Block>::Extrinsic, ) -> Result<bool, ApiError>

Returns true if the extrinsic is an inherent extrinsic.
source§

fn check_extrinsics_and_do_pre_dispatch( &self, __runtime_api_at_param__: <Block as Block>::Hash, uxts: Vec<<Block as Block>::Extrinsic>, block_number: <<Block as Block>::Header as Header>::Number, block_hash: <Block as Block>::Hash, ) -> Result<Result<(), CheckExtrinsicsValidityError>, ApiError>

Checks the validity of array of extrinsics + pre_dispatch returning failure on first extrinsic that fails runtime call. IMPORTANT: Change CHECK_EXTRINSICS_AND_DO_PRE_DISPATCH_METHOD_NAME constant when this method name is changed
source§

fn decode_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, opaque_extrinsic: OpaqueExtrinsic, ) -> Result<Result<<Block as Block>::Extrinsic, DecodeExtrinsicError>, ApiError>

Decodes the domain specific extrinsic from the opaque extrinsic.
source§

fn extrinsic_era( &self, __runtime_api_at_param__: <Block as Block>::Hash, extrinsic: &<Block as Block>::Extrinsic, ) -> Result<Option<Era>, ApiError>

Returns extrinsic Era if present.
source§

fn extrinsic_weight( &self, __runtime_api_at_param__: <Block as Block>::Hash, ext: &<Block as Block>::Extrinsic, ) -> Result<Weight, ApiError>

Returns the extrinsic weight.
source§

fn block_fees( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<BlockFees<u128>, ApiError>

The accumulated transaction fee of all transactions included in the block.
source§

fn block_digest( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Digest, ApiError>

Returns the block digest.
source§

fn block_weight( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Weight, ApiError>

Returns the consumed weight of the block.
source§

fn transfers( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Transfers<u128>, ApiError>

Returns the transfers for this domain in the block.
source§

fn transfers_storage_key( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Vec<u8>, ApiError>

Returns the storage key for the Transfers on Domain.
source§

fn block_fees_storage_key( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Vec<u8>, ApiError>

Returns the storage key for the CollectedBlockFees on Domain.
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> DomainSudoApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, Vec<u8>: UnwindSafe + RefUnwindSafe, bool: UnwindSafe + RefUnwindSafe, <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

source§

fn is_valid_sudo_call( &self, __runtime_api_at_param__: <Block as Block>::Hash, extrinsic: Vec<u8>, ) -> Result<bool, ApiError>

Returns true if the domain_sudo exists in the runtime and extrinsic is valid
source§

fn construct_domain_sudo_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, inner: Vec<u8>, ) -> Result<<Block as Block>::Extrinsic, ApiError>

Returns an encoded extrinsic for domain sudo call.
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> EthereumRuntimeRPCApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, u64: UnwindSafe + RefUnwindSafe, H160: UnwindSafe + RefUnwindSafe, Account: UnwindSafe + RefUnwindSafe, U256: UnwindSafe + RefUnwindSafe, Vec<u8>: UnwindSafe + RefUnwindSafe, H256: UnwindSafe + RefUnwindSafe, Option<U256>: UnwindSafe + RefUnwindSafe, bool: UnwindSafe + RefUnwindSafe, Option<Vec<(H160, Vec<H256>)>>: UnwindSafe + RefUnwindSafe, Result<CallInfo, DispatchError>: UnwindSafe + RefUnwindSafe, Result<CreateInfo, DispatchError>: UnwindSafe + RefUnwindSafe, Option<Vec<TransactionStatus>>: UnwindSafe + RefUnwindSafe, Option<Block>: UnwindSafe + RefUnwindSafe, Option<Vec<Receipt>>: UnwindSafe + RefUnwindSafe, (Option<Block>, Option<Vec<Receipt>>, Option<Vec<TransactionStatus>>): UnwindSafe + RefUnwindSafe, Vec<<__SrApiBlock__ as BlockT>::Extrinsic>: UnwindSafe + RefUnwindSafe, Vec<Transaction>: UnwindSafe + RefUnwindSafe, Option<Permill>: UnwindSafe + RefUnwindSafe, (Option<Block>, Option<Vec<TransactionStatus>>): UnwindSafe + RefUnwindSafe, <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn chain_id( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<u64, ApiError>

Returns runtime defined pallet_evm::ChainId.
§

fn account_basic( &self, __runtime_api_at_param__: <Block as Block>::Hash, address: H160, ) -> Result<Basic, ApiError>

Returns pallet_evm::Accounts by address.
§

fn gas_price( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<U256, ApiError>

Returns FixedGasPrice::min_gas_price
§

fn account_code_at( &self, __runtime_api_at_param__: <Block as Block>::Hash, address: H160, ) -> Result<Vec<u8>, ApiError>

For a given account address, returns pallet_evm::AccountCodes.
§

fn author( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<H160, ApiError>

Returns the converted FindAuthor::find_author authority id.
§

fn storage_at( &self, __runtime_api_at_param__: <Block as Block>::Hash, address: H160, index: U256, ) -> Result<H256, ApiError>

For a given account address and index, returns pallet_evm::AccountStorages.
§

fn call_before_version_2( &self, __runtime_api_at_param__: <Block as Block>::Hash, from: H160, to: H160, data: Vec<u8>, value: U256, gas_limit: U256, gas_price: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Vec<u8>>, DispatchError>, ApiError>

👎Deprecated
Returns a frame_ethereum::call response. If estimate is true,
§

fn call_before_version_4( &self, __runtime_api_at_param__: <Block as Block>::Hash, from: H160, to: H160, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<Vec<u8>>, DispatchError>, ApiError>

👎Deprecated
§

fn call_before_version_5( &self, __runtime_api_at_param__: <Block as Block>::Hash, from: H160, to: H160, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(H160, Vec<H256>)>>, ) -> Result<Result<ExecutionInfo<Vec<u8>>, DispatchError>, ApiError>

👎Deprecated
§

fn call( &self, __runtime_api_at_param__: <Block as Block>::Hash, from: H160, to: H160, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(H160, Vec<H256>)>>, ) -> Result<Result<ExecutionInfoV2<Vec<u8>>, DispatchError>, ApiError>

§

fn create_before_version_2( &self, __runtime_api_at_param__: <Block as Block>::Hash, from: H160, data: Vec<u8>, value: U256, gas_limit: U256, gas_price: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<H160>, DispatchError>, ApiError>

👎Deprecated
Returns a frame_ethereum::create response.
§

fn create_before_version_4( &self, __runtime_api_at_param__: <Block as Block>::Hash, from: H160, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, ) -> Result<Result<ExecutionInfo<H160>, DispatchError>, ApiError>

👎Deprecated
§

fn create_before_version_5( &self, __runtime_api_at_param__: <Block as Block>::Hash, from: H160, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(H160, Vec<H256>)>>, ) -> Result<Result<ExecutionInfo<H160>, DispatchError>, ApiError>

👎Deprecated
§

fn create( &self, __runtime_api_at_param__: <Block as Block>::Hash, from: H160, data: Vec<u8>, value: U256, gas_limit: U256, max_fee_per_gas: Option<U256>, max_priority_fee_per_gas: Option<U256>, nonce: Option<U256>, estimate: bool, access_list: Option<Vec<(H160, Vec<H256>)>>, ) -> Result<Result<ExecutionInfoV2<H160>, DispatchError>, ApiError>

§

fn current_block_before_version_2( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Option<Block<LegacyTransaction>>, ApiError>

👎Deprecated
Return the current block. Legacy.
§

fn current_block( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Option<Block<TransactionV2>>, ApiError>

Return the current block.
§

fn current_receipts_before_version_4( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Option<Vec<FrontierReceiptData>>, ApiError>

👎Deprecated
Return the current receipt.
§

fn current_receipts( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Option<Vec<ReceiptV3>>, ApiError>

Return the current receipt.
§

fn current_transaction_statuses( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Option<Vec<TransactionStatus>>, ApiError>

Return the current transaction status.
§

fn current_all_before_version_2( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<(Option<Block<LegacyTransaction>>, Option<Vec<FrontierReceiptData>>, Option<Vec<TransactionStatus>>), ApiError>

👎Deprecated
Return all the current data for a block in a single runtime call. Legacy.
§

fn current_all_before_version_4( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<(Option<Block<TransactionV2>>, Option<Vec<FrontierReceiptData>>, Option<Vec<TransactionStatus>>), ApiError>

👎Deprecated
Return all the current data for a block in a single runtime call.
§

fn current_all( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<(Option<Block<TransactionV2>>, Option<Vec<ReceiptV3>>, Option<Vec<TransactionStatus>>), ApiError>

§

fn extrinsic_filter_before_version_2( &self, __runtime_api_at_param__: <Block as Block>::Hash, xts: Vec<<Block as Block>::Extrinsic>, ) -> Result<Vec<LegacyTransaction>, ApiError>

👎Deprecated
Receives a Vec<OpaqueExtrinsic> and filters all the ethereum transactions. Legacy.
§

fn extrinsic_filter( &self, __runtime_api_at_param__: <Block as Block>::Hash, xts: Vec<<Block as Block>::Extrinsic>, ) -> Result<Vec<TransactionV2>, ApiError>

Receives a Vec<OpaqueExtrinsic> and filters all the ethereum transactions.
§

fn elasticity( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Option<Permill>, ApiError>

Return the elasticity multiplier.
§

fn gas_limit_multiplier_support( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<(), ApiError>

Used to determine if gas limit multiplier for non-transactional calls (eth_call/estimateGas) is supported.
§

fn pending_block( &self, __runtime_api_at_param__: <Block as Block>::Hash, xts: Vec<<Block as Block>::Extrinsic>, ) -> Result<(Option<Block<TransactionV2>>, Option<Vec<TransactionStatus>>), ApiError>

Return the pending block.
§

fn initialize_pending_block( &self, __runtime_api_at_param__: <Block as Block>::Hash, header: &<Block as Block>::Header, ) -> Result<(), ApiError>

Initialize the pending block. The behavior should be the same as the runtime api Core_initialize_block but for a “pending” block. If your project don’t need to have a different behavior to initialize “pending” blocks, you can copy your Core_initialize_block implementation.
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GenesisBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, Vec<u8>: UnwindSafe + RefUnwindSafe, Result: UnwindSafe + RefUnwindSafe, Option<PresetId>: UnwindSafe + RefUnwindSafe, Option<Vec<u8>>: UnwindSafe + RefUnwindSafe, Vec<PresetId>: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn build_state( &self, __runtime_api_at_param__: <Block as Block>::Hash, json: Vec<u8>, ) -> Result<Result<(), RuntimeString>, ApiError>

Build RuntimeGenesisConfig from a JSON blob not using any defaults and store it in the storage. Read more
§

fn get_preset( &self, __runtime_api_at_param__: <Block as Block>::Hash, id: &Option<RuntimeString>, ) -> Result<Option<Vec<u8>>, ApiError>

Returns a JSON blob representation of the built-in RuntimeGenesisConfig identified by id. Read more
§

fn preset_names( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Vec<RuntimeString>, ApiError>

Returns a list of identifiers for available builtin RuntimeGenesisConfig presets. Read more
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> MessengerApi<__SrApiBlock__, u32, H256> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, Option<bool>: UnwindSafe + RefUnwindSafe, Option<ConsensusChainMmrLeafProof<BlockNumber, Hash, H256>>: UnwindSafe + RefUnwindSafe, DomainId: UnwindSafe + RefUnwindSafe, Vec<u8>: UnwindSafe + RefUnwindSafe, MessageKey: UnwindSafe + RefUnwindSafe, Option<DomainAllowlistUpdates>: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

source§

fn is_xdm_mmr_proof_valid( &self, __runtime_api_at_param__: <Block as Block>::Hash, ext: &<Block as Block>::Extrinsic, ) -> Result<Option<bool>, ApiError>

Returns Some(true) if valid XDM or Some(false) if not Returns None if this is not an XDM
source§

fn extract_xdm_mmr_proof( &self, __runtime_api_at_param__: <Block as Block>::Hash, ext: &<Block as Block>::Extrinsic, ) -> Result<Option<ConsensusChainMmrLeafProof<CNumber, CHash, H256>>, ApiError>

source§

fn confirmed_domain_block_storage_key( &self, __runtime_api_at_param__: <Block as Block>::Hash, domain_id: DomainId, ) -> Result<Vec<u8>, ApiError>

Returns the confirmed domain block storage for given domain.
source§

fn outbox_storage_key( &self, __runtime_api_at_param__: <Block as Block>::Hash, message_key: (ChainId, U256, U256), ) -> Result<Vec<u8>, ApiError>

Returns storage key for outbox for a given message_id.
source§

fn inbox_response_storage_key( &self, __runtime_api_at_param__: <Block as Block>::Hash, message_key: (ChainId, U256, U256), ) -> Result<Vec<u8>, ApiError>

Returns storage key for inbox response for a given message_id.
source§

fn domain_chains_allowlist_update( &self, __runtime_api_at_param__: <Block as Block>::Hash, domain_id: DomainId, ) -> Result<Option<DomainAllowlistUpdates>, ApiError>

Returns any domain’s chains allowlist updates on consensus chain.
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, OpaqueMetadata: UnwindSafe + RefUnwindSafe, u32: UnwindSafe + RefUnwindSafe, Option<OpaqueMetadata>: UnwindSafe + RefUnwindSafe, Vec<u32>: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn metadata( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<OpaqueMetadata, ApiError>

Returns the metadata of a runtime.
§

fn metadata_at_version( &self, __runtime_api_at_param__: <Block as Block>::Hash, version: u32, ) -> Result<Option<OpaqueMetadata>, ApiError>

Returns the metadata at a given version. Read more
§

fn metadata_versions( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Vec<u32>, ApiError>

Returns the supported metadata versions. Read more
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> OffchainWorkerApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, <__SrApiBlock__ as BlockT>::Header: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn offchain_worker_before_version_2( &self, __runtime_api_at_param__: <Block as Block>::Hash, number: <<Block as Block>::Header as Header>::Number, ) -> Result<(), ApiError>

👎Deprecated
Starts the off-chain task for given block number.
§

fn offchain_worker( &self, __runtime_api_at_param__: <Block as Block>::Hash, header: &<Block as Block>::Header, ) -> Result<(), ApiError>

Starts the off-chain task for given block header.
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> OnchainStateApi<__SrApiBlock__, <<EthereumSignature as Verify>::Signer as IdentifyAccount>::AccountId, u128> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, AccountId: UnwindSafe + RefUnwindSafe, Balance: UnwindSafe + RefUnwindSafe, ChainId: UnwindSafe + RefUnwindSafe, Option<ChannelId>: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

source§

fn free_balance( &self, __runtime_api_at_param__: <Block as Block>::Hash, account_id: AccountId, ) -> Result<Balance, ApiError>

Api to get the free balance of the given account
source§

fn get_open_channel_for_chain( &self, __runtime_api_at_param__: <Block as Block>::Hash, dst_chain_id: ChainId, ) -> Result<Option<U256>, ApiError>

Returns the last open channel for a given domain.
source§

fn consensus_chain_byte_fee( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Balance, ApiError>

Api to get the current domain transaction byte fee
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> RelayerApi<__SrApiBlock__, u32, u32, H256> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, BlockMessagesWithStorageKey: UnwindSafe + RefUnwindSafe, CrossDomainMessage<NumberFor<__SrApiBlock__>, <__SrApiBlock__ as BlockT>::Hash, <__SrApiBlock__ as BlockT>::Hash>: UnwindSafe + RefUnwindSafe, Option<<__SrApiBlock__ as BlockT>::Extrinsic>: UnwindSafe + RefUnwindSafe, ChainId: UnwindSafe + RefUnwindSafe, MessageId: UnwindSafe + RefUnwindSafe, bool: UnwindSafe + RefUnwindSafe, BTreeSet<(ChainId, ChannelId)>: UnwindSafe + RefUnwindSafe, ChannelId: UnwindSafe + RefUnwindSafe, Vec<u8>: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

source§

fn block_messages( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<BlockMessagesWithStorageKey, ApiError>

Returns all the outbox and inbox responses to deliver. Storage key is used to generate the storage proof for the message.
source§

fn outbox_message_unsigned( &self, __runtime_api_at_param__: <Block as Block>::Hash, msg: CrossDomainMessage<CNumber, CHash, H256>, ) -> Result<Option<<Block as Block>::Extrinsic>, ApiError>

Constructs an outbox message to the dst_chain as an unsigned extrinsic.
source§

fn inbox_response_message_unsigned( &self, __runtime_api_at_param__: <Block as Block>::Hash, msg: CrossDomainMessage<CNumber, CHash, H256>, ) -> Result<Option<<Block as Block>::Extrinsic>, ApiError>

Constructs an inbox response message to the dst_chain as an unsigned extrinsic.
source§

fn should_relay_outbox_message( &self, __runtime_api_at_param__: <Block as Block>::Hash, dst_chain_id: ChainId, msg_id: (U256, U256), ) -> Result<bool, ApiError>

Returns true if the outbox message is ready to be relayed to dst_chain.
source§

fn should_relay_inbox_message_response( &self, __runtime_api_at_param__: <Block as Block>::Hash, dst_chain_id: ChainId, msg_id: (U256, U256), ) -> Result<bool, ApiError>

Returns true if the inbox message response is ready to be relayed to dst_chain.
source§

fn updated_channels( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<BTreeSet<(ChainId, U256)>, ApiError>

Returns the list of channels updated in the given block.
source§

fn channel_storage_key( &self, __runtime_api_at_param__: <Block as Block>::Hash, chain_id: ChainId, channel_id: U256, ) -> Result<Vec<u8>, ApiError>

Returns storage key for channels for given chain and channel id.
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> SessionKeys<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, Option<Vec<u8>>: UnwindSafe + RefUnwindSafe, Vec<u8>: UnwindSafe + RefUnwindSafe, Option<Vec<(Vec<u8>, KeyTypeId)>>: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn generate_session_keys( &self, __runtime_api_at_param__: <Block as Block>::Hash, seed: Option<Vec<u8>>, ) -> Result<Vec<u8>, ApiError>

Generate a set of session keys with optionally using the given seed. The keys should be stored within the keystore exposed via runtime externalities. Read more
§

fn decode_session_keys( &self, __runtime_api_at_param__: <Block as Block>::Hash, encoded: Vec<u8>, ) -> Result<Option<Vec<(Vec<u8>, KeyTypeId)>>, ApiError>

Decode the given public session keys. Read more
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TaggedTransactionQueue<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, TransactionSource: UnwindSafe + RefUnwindSafe, <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, <__SrApiBlock__ as BlockT>::Hash: UnwindSafe + RefUnwindSafe, TransactionValidity: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn validate_transaction_before_version_2( &self, __runtime_api_at_param__: <Block as Block>::Hash, tx: <Block as Block>::Extrinsic, ) -> Result<Result<ValidTransaction, TransactionValidityError>, ApiError>

👎Deprecated
Validate the transaction.
§

fn validate_transaction_before_version_3( &self, __runtime_api_at_param__: <Block as Block>::Hash, source: TransactionSource, tx: <Block as Block>::Extrinsic, ) -> Result<Result<ValidTransaction, TransactionValidityError>, ApiError>

👎Deprecated
Validate the transaction.
§

fn validate_transaction( &self, __runtime_api_at_param__: <Block as Block>::Hash, source: TransactionSource, tx: <Block as Block>::Extrinsic, block_hash: <Block as Block>::Hash, ) -> Result<Result<ValidTransaction, TransactionValidityError>, ApiError>

Validate the transaction. Read more
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TimestampApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, Moment: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

source§

fn timestamp( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<u64, ApiError>

Api to construct inherent timestamp extrinsic from given time
source§

impl<__SrApiBlock__: BlockT + UnwindSafe + RefUnwindSafe, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TransactionPaymentApi<__SrApiBlock__, u128> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>
where RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>, &'static RuntimeApiImplCall: Send, <__SrApiBlock__ as BlockT>::Extrinsic: UnwindSafe + RefUnwindSafe, u32: UnwindSafe + RefUnwindSafe, RuntimeDispatchInfo<Balance>: UnwindSafe + RefUnwindSafe, FeeDetails<Balance>: UnwindSafe + RefUnwindSafe, Weight: UnwindSafe + RefUnwindSafe, Balance: UnwindSafe + RefUnwindSafe, __SrApiBlock__::Header: UnwindSafe + RefUnwindSafe,

§

fn query_info( &self, __runtime_api_at_param__: <Block as Block>::Hash, uxt: <Block as Block>::Extrinsic, len: u32, ) -> Result<RuntimeDispatchInfo<Balance>, ApiError>

§

fn query_fee_details( &self, __runtime_api_at_param__: <Block as Block>::Hash, uxt: <Block as Block>::Extrinsic, len: u32, ) -> Result<FeeDetails<Balance>, ApiError>

§

fn query_weight_to_fee( &self, __runtime_api_at_param__: <Block as Block>::Hash, weight: Weight, ) -> Result<Balance, ApiError>

§

fn query_length_to_fee( &self, __runtime_api_at_param__: <Block as Block>::Hash, length: u32, ) -> Result<Balance, ApiError>

Auto Trait Implementations§

§

impl<Block, C> !Freeze for RuntimeApiImpl<Block, C>

§

impl<Block, C> !RefUnwindSafe for RuntimeApiImpl<Block, C>

§

impl<Block, C> Send for RuntimeApiImpl<Block, C>
where C: Sync,

§

impl<Block, C> !Sync for RuntimeApiImpl<Block, C>

§

impl<Block, C> Unpin for RuntimeApiImpl<Block, C>
where <Block as Block>::Hash: Unpin, <<Block as Block>::Header as Header>::Hashing: Unpin,

§

impl<Block, C> !UnwindSafe for RuntimeApiImpl<Block, C>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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, U> IntoKey<U> for T
where U: FromKey<T>,

§

fn into_key(self) -> U

§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Self
where Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> T
where Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoKey<U> for T
where 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 S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> JsonSchemaMaybe for T