pub trait RuntimeApiSubsystemClient {
Show 23 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 staging_get_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§

Parachain host API version

Get the current validators.

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.

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.

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.

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.

Checks if the given validation outputs pass the acceptance criteria.

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

This can be used to instantiate a SigningContext.

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.

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

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

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

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

Get the validation code from its hash.

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

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

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

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

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

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

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

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.

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.

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

Returns information regarding the current epoch.

Retrieve authority identifiers of the current and next authority set.

Implementors§