pub trait RuntimeApiSubsystemClient {
Show 23 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 session_info_before_version_2<'life0, 'async_trait>(
&'life0 self,
at: Hash,
index: SessionIndex
) -> Pin<Box<dyn Future<Output = Result<Option<OldV1SessionInfo>, 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 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;
}
Expand description
Exposes all runtime calls that are used by the runtime API subsystem.
Required Methods§
sourcefn 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 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
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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
.
sourcefn 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 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.
sourcefn 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_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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn session_info_before_version_2<'life0, 'async_trait>(
&'life0 self,
at: Hash,
index: SessionIndex
) -> Pin<Box<dyn Future<Output = Result<Option<OldV1SessionInfo>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn session_info_before_version_2<'life0, 'async_trait>( &'life0 self, at: Hash, index: SessionIndex ) -> Pin<Box<dyn Future<Output = Result<Option<OldV1SessionInfo>, 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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!
sourcefn 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 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.
Retrieve authority identifiers of the current and next authority set.