Struct substrate_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, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AccountNonceApi<__SrApiBlock__, <CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)> as Verify>::Signer, u64> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AccountNonceApi<__SrApiBlock__, <CryptoBytes<sp_core::::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)> as Verify>::Signer, u64> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§impl<Block: BlockT, C: CallApiAt<Block>> ApiExt<Block> for RuntimeApiImpl<Block, C>
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,
) -> Rwhere
Self: Sized,
fn execute_in_transaction<F: FnOnce(&Self) -> TransactionOutcome<R>, R>(
&self,
call: F,
) -> Rwhere
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,
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,
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,
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)
fn record_proof(&mut self)
Start recording all accessed trie nodes for generating proofs.
source§fn proof_recorder(&self) -> Option<ProofRecorder<Block>>
fn proof_recorder(&self) -> Option<ProofRecorder<Block>>
Returns the current active proof recorder.
source§fn extract_proof(&mut self) -> Option<StorageProof>
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,
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)
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)
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__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AuraApi<__SrApiBlock__, Public> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> AuraApi<__SrApiBlock__, Public> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§fn slot_duration(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
) -> Result<SlotDuration, ApiError>
fn slot_duration( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<SlotDuration, ApiError>
Returns the slot duration for Aura. Read more
Return the current set of authorities.
source§impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BabeApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BabeApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§fn configuration(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
) -> Result<BabeConfiguration, ApiError>
fn configuration( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<BabeConfiguration, ApiError>
Return the configuration for BABE.
source§fn configuration_before_version_2(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
) -> Result<BabeConfigurationV1, ApiError>
fn configuration_before_version_2( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<BabeConfigurationV1, ApiError>
👎Deprecated
Return the configuration for BABE. Version 1.
source§fn current_epoch_start(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
) -> Result<Slot, ApiError>
fn current_epoch_start( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Slot, ApiError>
Returns the slot that started the current epoch.
source§fn current_epoch(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
) -> Result<Epoch, ApiError>
fn current_epoch( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Epoch, ApiError>
Returns information regarding the current epoch.
source§fn next_epoch(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
) -> Result<Epoch, ApiError>
fn next_epoch( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<Epoch, ApiError>
Returns information regarding the next epoch (which was already
previously announced).
source§fn generate_key_ownership_proof(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
slot: Slot,
authority_id: Public,
) -> Result<Option<OpaqueKeyOwnershipProof>, ApiError>
fn generate_key_ownership_proof( &self, __runtime_api_at_param__: <Block as Block>::Hash, slot: Slot, authority_id: Public, ) -> Result<Option<OpaqueKeyOwnershipProof>, ApiError>
Generates a proof of key ownership for the given authority in the
current epoch. An example usage of this module is coupled with the
session historical module to prove that a given authority key is
tied to a given staking identity during a specific session. Proofs
of key ownership are necessary for submitting equivocation reports.
NOTE: even though the API takes a
slot
as parameter the current
implementations ignores this parameter and instead relies on this
method being called at the correct block height, i.e. any point at
which the epoch for the given slot is live on-chain. Future
implementations will instead use indexed data through an offchain
worker, not requiring older states to be available.source§fn submit_report_equivocation_unsigned_extrinsic(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
equivocation_proof: EquivocationProof<<Block as Block>::Header, Public>,
key_owner_proof: OpaqueKeyOwnershipProof,
) -> Result<Option<()>, ApiError>
fn submit_report_equivocation_unsigned_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, equivocation_proof: EquivocationProof<<Block as Block>::Header, Public>, key_owner_proof: OpaqueKeyOwnershipProof, ) -> Result<Option<()>, ApiError>
Submits an unsigned extrinsic to report an equivocation. The caller
must provide the equivocation proof and a key ownership proof
(should be obtained using
generate_key_ownership_proof
). The
extrinsic will be unsigned and should only be accepted for local
authorship (not to be broadcast to the network). This method returns
None
when creation of the extrinsic fails, e.g. if equivocation
reporting is disabled for the given runtime (i.e. this method is
hardcoded to return None
). Only useful in an offchain context.source§impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BlockBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> BlockBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§fn apply_extrinsic(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
extrinsic: <Block as Block>::Extrinsic,
) -> Result<Result<Result<(), DispatchError>, TransactionValidityError>, ApiError>
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
source§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>
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
source§fn finalize_block(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
) -> Result<<Block as Block>::Header, ApiError>
fn finalize_block( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<<Block as Block>::Header, ApiError>
Finish the current block.
source§fn inherent_extrinsics(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
inherent: InherentData,
) -> Result<Vec<<Block as Block>::Extrinsic>, ApiError>
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.
source§fn check_inherents(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
block: Block,
data: InherentData,
) -> Result<CheckInherentsResult, ApiError>
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, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Core<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§fn version(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
) -> Result<RuntimeVersion, ApiError>
fn version( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<RuntimeVersion, ApiError>
Returns the version of the runtime.
source§fn execute_block(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
block: Block,
) -> Result<(), ApiError>
fn execute_block( &self, __runtime_api_at_param__: <Block as Block>::Hash, block: Block, ) -> Result<(), ApiError>
Execute the given block.
source§fn initialize_block_before_version_5(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
header: &<Block as Block>::Header,
) -> Result<(), ApiError>
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.
source§fn initialize_block(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
header: &<Block as Block>::Header,
) -> Result<ExtrinsicInclusionMode, ApiError>
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, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GenesisBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GenesisBuilder<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§fn build_state(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
json: Vec<u8>,
) -> Result<Result<(), String>, ApiError>
fn build_state( &self, __runtime_api_at_param__: <Block as Block>::Hash, json: Vec<u8>, ) -> Result<Result<(), String>, ApiError>
Build
RuntimeGenesisConfig
from a JSON blob not using any defaults and store it in the
storage. Read moresource§impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GrandpaApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> GrandpaApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
Get the current GRANDPA authorities and weights. This should not change except
for when changes are scheduled and the corresponding delay has passed. Read more
source§fn submit_report_equivocation_unsigned_extrinsic(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
equivocation_proof: EquivocationProof<<Block as Block>::Hash, <<Block as Block>::Header as Header>::Number>,
key_owner_proof: OpaqueValue,
) -> Result<Option<()>, ApiError>
fn submit_report_equivocation_unsigned_extrinsic( &self, __runtime_api_at_param__: <Block as Block>::Hash, equivocation_proof: EquivocationProof<<Block as Block>::Hash, <<Block as Block>::Header as Header>::Number>, key_owner_proof: OpaqueValue, ) -> Result<Option<()>, ApiError>
Submits an unsigned extrinsic to report an equivocation. The caller
must provide the equivocation proof and a key ownership proof
(should be obtained using
generate_key_ownership_proof
). The
extrinsic will be unsigned and should only be accepted for local
authorship (not to be broadcast to the network). This method returns
None
when creation of the extrinsic fails, e.g. if equivocation
reporting is disabled for the given runtime (i.e. this method is
hardcoded to return None
). Only useful in an offchain context.source§fn generate_key_ownership_proof(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
set_id: u64,
authority_id: Public,
) -> Result<Option<OpaqueValue>, ApiError>
fn generate_key_ownership_proof( &self, __runtime_api_at_param__: <Block as Block>::Hash, set_id: u64, authority_id: Public, ) -> Result<Option<OpaqueValue>, ApiError>
Generates a proof of key ownership for the given authority in the
given set. An example usage of this module is coupled with the
session historical module to prove that a given authority key is
tied to a given staking identity during a specific session. Proofs
of key ownership are necessary for submitting equivocation reports.
NOTE: even though the API takes a
set_id
as parameter the current
implementations ignore this parameter and instead rely on this
method being called at the correct block height, i.e. any point at
which the given set id is live on-chain. Future implementations will
instead use indexed data through an offchain worker, not requiring
older states to be available.source§impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> Metadata<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§fn metadata(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
) -> Result<OpaqueMetadata, ApiError>
fn metadata( &self, __runtime_api_at_param__: <Block as Block>::Hash, ) -> Result<OpaqueMetadata, ApiError>
Returns the metadata of a runtime.
source§impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> OffchainWorkerApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> OffchainWorkerApi<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> SessionKeys<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> SessionKeys<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§fn generate_session_keys(
&self,
__runtime_api_at_param__: <Block as Block>::Hash,
seed: Option<Vec<u8>>,
) -> Result<Vec<u8>, ApiError>
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
source§impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TaggedTransactionQueue<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TaggedTransactionQueue<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§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>
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.
source§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>
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.
source§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>
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, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TestAPI<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
impl<__SrApiBlock__: BlockT, RuntimeApiImplCall: CallApiAt<__SrApiBlock__> + 'static> TestAPI<__SrApiBlock__> for RuntimeApiImpl<__SrApiBlock__, RuntimeApiImplCall>where
RuntimeApiImplCall::StateBackend: StateBackend<HashingFor<__SrApiBlock__>>,
&'static RuntimeApiImplCall: Send,
source§fn balance_of(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
id: AccountId,
) -> Result<u64, ApiError>
fn balance_of( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, id: AccountId, ) -> Result<u64, ApiError>
Return the balance of the given account id.
source§fn benchmark_add_one(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
val: &u64,
) -> Result<u64, ApiError>
fn benchmark_add_one( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, val: &u64, ) -> Result<u64, ApiError>
A benchmark function that adds one to the given value and returns the result.
source§fn benchmark_vector_add_one(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
vec: &Vec<u64>,
) -> Result<Vec<u64>, ApiError>
fn benchmark_vector_add_one( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, vec: &Vec<u64>, ) -> Result<Vec<u64>, ApiError>
A benchmark function that adds one to each value in the given vector and returns the
result.
source§fn function_signature_changed_before_version_2(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<Vec<u64>, ApiError>
fn function_signature_changed_before_version_2( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<Vec<u64>, ApiError>
👎Deprecated
A function for that the signature changed in version
2
.source§fn function_signature_changed(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<u64, ApiError>
fn function_signature_changed( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<u64, ApiError>
The new signature.
source§fn use_trie(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<u64, ApiError>
fn use_trie( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<u64, ApiError>
trie no_std testing
source§fn benchmark_indirect_call(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<u64, ApiError>
fn benchmark_indirect_call( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<u64, ApiError>
Calls function in the loop using never-inlined function pointer
source§fn benchmark_direct_call(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<u64, ApiError>
fn benchmark_direct_call( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<u64, ApiError>
Calls function in the loop
source§fn vec_with_capacity(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
size: u32,
) -> Result<Vec<u8>, ApiError>
fn vec_with_capacity( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, size: u32, ) -> Result<Vec<u8>, ApiError>
Allocates vector with given capacity.
source§fn get_block_number(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<u64, ApiError>
fn get_block_number( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<u64, ApiError>
Returns the initialized block number.
source§fn test_ed25519_crypto(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<(AppSignature, AppPublic), ApiError>
fn test_ed25519_crypto( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(AppSignature, AppPublic), ApiError>
Test that
ed25519
crypto works in the runtime. Read moresource§fn test_sr25519_crypto(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<(AppSignature, AppPublic), ApiError>
fn test_sr25519_crypto( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(AppSignature, AppPublic), ApiError>
Test that
sr25519
crypto works in the runtime. Read moresource§fn test_ecdsa_crypto(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<(AppSignature, AppPublic), ApiError>
fn test_ecdsa_crypto( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(AppSignature, AppPublic), ApiError>
Test that
ecdsa
crypto works in the runtime. Read moresource§fn test_storage(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<(), ApiError>
fn test_storage( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(), ApiError>
Run various tests against storage.
source§fn test_witness(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
proof: StorageProof,
root: Hash,
) -> Result<(), ApiError>
fn test_witness( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, proof: StorageProof, root: Hash, ) -> Result<(), ApiError>
Check a witness.
source§fn test_multiple_arguments(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
data: Vec<u8>,
other: Vec<u8>,
num: u32,
) -> Result<(), ApiError>
fn test_multiple_arguments( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, data: Vec<u8>, other: Vec<u8>, num: u32, ) -> Result<(), ApiError>
Test that ensures that we can call a function that takes multiple
arguments.
source§fn do_trace_log(
&self,
__runtime_api_at_param__: <Block as BlockT>::Hash,
) -> Result<(), ApiError>
fn do_trace_log( &self, __runtime_api_at_param__: <Block as BlockT>::Hash, ) -> Result<(), ApiError>
Traces log “Hey I’m runtime.”
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>
impl<Block, C> !UnwindSafe for RuntimeApiImpl<Block, C>
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
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§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<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§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<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
source§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>
source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.