referrerpolicy=no-referrer-when-downgrade
pub trait RuntimeApiSubsystemClient {
Show 34 methods // Required methods fn api_version_parachain_host<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Option<u32>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn validators<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidatorId>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn validator_groups<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<(Vec<Vec<ValidatorIndex>>, GroupRotationInfo<BlockNumber>), ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn availability_cores<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<CoreState<Hash, BlockNumber>>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn persisted_validation_data<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, assumption: OccupiedCoreAssumption, ) -> Pin<Box<dyn Future<Output = Result<Option<PersistedValidationData<Hash, BlockNumber>>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn assumed_validation_data<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, expected_persisted_validation_data_hash: Hash, ) -> Pin<Box<dyn Future<Output = Result<Option<(PersistedValidationData<Hash, BlockNumber>, ValidationCodeHash)>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn check_validation_outputs<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, outputs: CandidateCommitments, ) -> Pin<Box<dyn Future<Output = Result<bool, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn session_index_for_child<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<SessionIndex, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn validation_code<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, assumption: OccupiedCoreAssumption, ) -> Pin<Box<dyn Future<Output = Result<Option<ValidationCode>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn candidate_pending_availability<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, ) -> Pin<Box<dyn Future<Output = Result<Option<CommittedCandidateReceipt<Hash>>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn candidate_events<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<CandidateEvent<Hash>>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn dmq_contents<'life0, 'async_trait>( &'life0 self, at: Hash, recipient: Id, ) -> Pin<Box<dyn Future<Output = Result<Vec<InboundDownwardMessage<BlockNumber>>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn inbound_hrmp_channels_contents<'life0, 'async_trait>( &'life0 self, at: Hash, recipient: Id, ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Id, Vec<InboundHrmpMessage<BlockNumber>>>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn validation_code_by_hash<'life0, 'async_trait>( &'life0 self, at: Hash, hash: ValidationCodeHash, ) -> Pin<Box<dyn Future<Output = Result<Option<ValidationCode>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn on_chain_votes<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Option<ScrapedOnChainVotes<Hash>>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn session_info<'life0, 'async_trait>( &'life0 self, at: Hash, index: SessionIndex, ) -> Pin<Box<dyn Future<Output = Result<Option<SessionInfo>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn submit_pvf_check_statement<'life0, 'async_trait>( &'life0 self, at: Hash, stmt: PvfCheckStatement, signature: ValidatorSignature, ) -> Pin<Box<dyn Future<Output = Result<(), ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn pvfs_require_precheck<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidationCodeHash>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn validation_code_hash<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, assumption: OccupiedCoreAssumption, ) -> Pin<Box<dyn Future<Output = Result<Option<ValidationCodeHash>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn disputes<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<(SessionIndex, CandidateHash, DisputeState<BlockNumber>)>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn unapplied_slashes<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<(SessionIndex, CandidateHash, PendingSlashes)>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn key_ownership_proof<'life0, 'async_trait>( &'life0 self, at: Hash, validator_id: ValidatorId, ) -> Pin<Box<dyn Future<Output = Result<Option<OpaqueKeyOwnershipProof>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn submit_report_dispute_lost<'life0, 'async_trait>( &'life0 self, at: Hash, dispute_proof: DisputeProof, key_ownership_proof: OpaqueKeyOwnershipProof, ) -> Pin<Box<dyn Future<Output = Result<Option<()>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn current_epoch<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Epoch, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn authorities<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<AuthorityId>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn session_executor_params<'life0, 'async_trait>( &'life0 self, at: Hash, session_index: SessionIndex, ) -> Pin<Box<dyn Future<Output = Result<Option<ExecutorParams>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn minimum_backing_votes<'life0, 'async_trait>( &'life0 self, at: Hash, session_index: SessionIndex, ) -> Pin<Box<dyn Future<Output = Result<u32, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn async_backing_params<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<AsyncBackingParams, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn para_backing_state<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, ) -> Pin<Box<dyn Future<Output = Result<Option<BackingState>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn disabled_validators<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidatorIndex>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn node_features<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<NodeFeatures, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn approval_voting_params<'life0, 'async_trait>( &'life0 self, at: Hash, session_index: SessionIndex, ) -> Pin<Box<dyn Future<Output = Result<ApprovalVotingParams, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn claim_queue<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<CoreIndex, VecDeque<Id>>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn candidates_pending_availability<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, ) -> Pin<Box<dyn Future<Output = Result<Vec<CommittedCandidateReceipt<Hash>>, ApiError>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait;
}
Expand description

Exposes all runtime calls that are used by the runtime API subsystem.

Required Methods§

source

fn api_version_parachain_host<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Option<u32>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Parachain host API version

source

fn validators<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidatorId>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the current validators.

source

fn validator_groups<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<(Vec<Vec<ValidatorIndex>>, GroupRotationInfo<BlockNumber>), ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the validator groups and rotation info localized based on the hypothetical child of a block whose state this is invoked on. Note that now in the GroupRotationInfo should be the successor of the number of the block.

source

fn availability_cores<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<CoreState<Hash, BlockNumber>>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Yields information on all availability cores as relevant to the child block. Cores are either free or occupied. Free cores can have paras assigned to them.

source

fn persisted_validation_data<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, assumption: OccupiedCoreAssumption, ) -> Pin<Box<dyn Future<Output = Result<Option<PersistedValidationData<Hash, BlockNumber>>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Yields the persisted validation data for the given ParaId along with an assumption that should be used if the para currently occupies a core.

Returns None if either the para is not registered or the assumption is Freed and the para already occupies a core.

source

fn assumed_validation_data<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, expected_persisted_validation_data_hash: Hash, ) -> Pin<Box<dyn Future<Output = Result<Option<(PersistedValidationData<Hash, BlockNumber>, ValidationCodeHash)>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the persisted validation data for the given ParaId along with the corresponding validation code hash. Instead of accepting assumption about the para, matches the validation data hash against an expected one and yields None if they’re not equal.

source

fn check_validation_outputs<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, outputs: CandidateCommitments, ) -> Pin<Box<dyn Future<Output = Result<bool, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Checks if the given validation outputs pass the acceptance criteria.

source

fn session_index_for_child<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<SessionIndex, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the session index expected at a child of the block.

This can be used to instantiate a SigningContext.

source

fn validation_code<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, assumption: OccupiedCoreAssumption, ) -> Pin<Box<dyn Future<Output = Result<Option<ValidationCode>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Fetch the validation code used by a para, making the given OccupiedCoreAssumption.

Returns None if either the para is not registered or the assumption is Freed and the para already occupies a core.

source

fn candidate_pending_availability<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, ) -> Pin<Box<dyn Future<Output = Result<Option<CommittedCandidateReceipt<Hash>>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the receipt of a candidate pending availability. This returns Some for any paras assigned to occupied cores in availability_cores and None otherwise.

source

fn candidate_events<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<CandidateEvent<Hash>>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get a vector of events concerning candidates that occurred within a block.

source

fn dmq_contents<'life0, 'async_trait>( &'life0 self, at: Hash, recipient: Id, ) -> Pin<Box<dyn Future<Output = Result<Vec<InboundDownwardMessage<BlockNumber>>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get all the pending inbound messages in the downward message queue for a para.

source

fn inbound_hrmp_channels_contents<'life0, 'async_trait>( &'life0 self, at: Hash, recipient: Id, ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<Id, Vec<InboundHrmpMessage<BlockNumber>>>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the contents of all channels addressed to the given recipient. Channels that have no messages in them are also included.

source

fn validation_code_by_hash<'life0, 'async_trait>( &'life0 self, at: Hash, hash: ValidationCodeHash, ) -> Pin<Box<dyn Future<Output = Result<Option<ValidationCode>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the validation code from its hash.

source

fn on_chain_votes<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Option<ScrapedOnChainVotes<Hash>>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Scrape dispute relevant from on-chain, backing votes and resolved disputes.

source

fn session_info<'life0, 'async_trait>( &'life0 self, at: Hash, index: SessionIndex, ) -> Pin<Box<dyn Future<Output = Result<Option<SessionInfo>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the session info for the given session, if stored.

NOTE: This function is only available since parachain host version 2.

source

fn submit_pvf_check_statement<'life0, 'async_trait>( &'life0 self, at: Hash, stmt: PvfCheckStatement, signature: ValidatorSignature, ) -> Pin<Box<dyn Future<Output = Result<(), ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Submits a PVF pre-checking statement into the transaction pool.

NOTE: This function is only available since parachain host version 2.

source

fn pvfs_require_precheck<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidationCodeHash>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns code hashes of PVFs that require pre-checking by validators in the active set.

NOTE: This function is only available since parachain host version 2.

source

fn validation_code_hash<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, assumption: OccupiedCoreAssumption, ) -> Pin<Box<dyn Future<Output = Result<Option<ValidationCodeHash>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Fetch the hash of the validation code used by a para, making the given OccupiedCoreAssumption.

NOTE: This function is only available since parachain host version 2.

source

fn disputes<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<(SessionIndex, CandidateHash, DisputeState<BlockNumber>)>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns all onchain disputes. This is a staging method! Do not use on production runtimes!

source

fn unapplied_slashes<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<(SessionIndex, CandidateHash, PendingSlashes)>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns a list of validators that lost a past session dispute and need to be slashed.

WARNING: This is a staging method! Do not use on production runtimes!

source

fn key_ownership_proof<'life0, 'async_trait>( &'life0 self, at: Hash, validator_id: ValidatorId, ) -> Pin<Box<dyn Future<Output = Result<Option<OpaqueKeyOwnershipProof>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns a merkle proof of a validator session key in a past session.

WARNING: This is a staging method! Do not use on production runtimes!

source

fn submit_report_dispute_lost<'life0, 'async_trait>( &'life0 self, at: Hash, dispute_proof: DisputeProof, key_ownership_proof: OpaqueKeyOwnershipProof, ) -> Pin<Box<dyn Future<Output = Result<Option<()>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Submits an unsigned extrinsic to slash validators who lost a dispute about a candidate of a past session.

WARNING: This is a staging method! Do not use on production runtimes!

source

fn current_epoch<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Epoch, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns information regarding the current epoch.

source

fn authorities<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<AuthorityId>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve authority identifiers of the current and next authority set.

source

fn session_executor_params<'life0, 'async_trait>( &'life0 self, at: Hash, session_index: SessionIndex, ) -> Pin<Box<dyn Future<Output = Result<Option<ExecutorParams>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the execution environment parameter set by parent hash, if stored

source

fn minimum_backing_votes<'life0, 'async_trait>( &'life0 self, at: Hash, session_index: SessionIndex, ) -> Pin<Box<dyn Future<Output = Result<u32, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the minimum number of backing votes.

source

fn async_backing_params<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<AsyncBackingParams, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns candidate’s acceptance limitations for asynchronous backing for a relay parent.

source

fn para_backing_state<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, ) -> Pin<Box<dyn Future<Output = Result<Option<BackingState>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the state of parachain backing for a given para. This is a staging method! Do not use on production runtimes!

source

fn disabled_validators<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<Vec<ValidatorIndex>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Gets the disabled validators at a specific block height

source

fn node_features<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<NodeFeatures, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the node features.

source

fn approval_voting_params<'life0, 'async_trait>( &'life0 self, at: Hash, session_index: SessionIndex, ) -> Pin<Box<dyn Future<Output = Result<ApprovalVotingParams, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Approval voting configuration parameters

source

fn claim_queue<'life0, 'async_trait>( &'life0 self, at: Hash, ) -> Pin<Box<dyn Future<Output = Result<BTreeMap<CoreIndex, VecDeque<Id>>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Fetch the ClaimQueue from scheduler pallet

source

fn candidates_pending_availability<'life0, 'async_trait>( &'life0 self, at: Hash, para_id: Id, ) -> Pin<Box<dyn Future<Output = Result<Vec<CommittedCandidateReceipt<Hash>>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the receipts of all candidates pending availability for a ParaId.

Implementors§

source§

impl<Client> RuntimeApiSubsystemClient for DefaultSubsystemClient<Client>
where Client: ProvideRuntimeApi<Block> + Send + Sync, Client::Api: ParachainHost<Block> + BabeApi<Block> + AuthorityDiscoveryApi<Block>,