pub trait ParachainHost<Block: BlockT, H: Encode + Decode = Hash, N: Encode + Decode = BlockNumber>: Core<Block> {
Show 40 methods // Provided methods fn validators( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<ValidatorId>, ApiError> { ... } fn validators_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<ValidatorId>, ApiError> { ... } fn validator_groups( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<(Vec<Vec<ValidatorIndex>>, GroupRotationInfo<N>), ApiError> { ... } fn validator_groups_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<(Vec<Vec<ValidatorIndex>>, GroupRotationInfo<N>), ApiError> { ... } fn availability_cores( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<CoreState<H, N>>, ApiError> { ... } fn availability_cores_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<CoreState<H, N>>, ApiError> { ... } fn persisted_validation_data( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<PersistedValidationData<H, N>>, ApiError> { ... } fn persisted_validation_data_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<PersistedValidationData<H, N>>, ApiError> { ... } fn assumed_validation_data( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, expected_persisted_validation_data_hash: Hash ) -> Result<Option<(PersistedValidationData<H, N>, ValidationCodeHash)>, ApiError> { ... } fn assumed_validation_data_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, expected_persisted_validation_data_hash: Hash ) -> Result<Option<(PersistedValidationData<H, N>, ValidationCodeHash)>, ApiError> { ... } fn check_validation_outputs( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, outputs: CandidateCommitments ) -> Result<bool, ApiError> { ... } fn check_validation_outputs_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, outputs: CandidateCommitments ) -> Result<bool, ApiError> { ... } fn session_index_for_child( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<SessionIndex, ApiError> { ... } fn session_index_for_child_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<SessionIndex, ApiError> { ... } fn validation_code( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<ValidationCode>, ApiError> { ... } fn validation_code_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<ValidationCode>, ApiError> { ... } fn candidate_pending_availability( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id ) -> Result<Option<CommittedCandidateReceipt<H>>, ApiError> { ... } fn candidate_pending_availability_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id ) -> Result<Option<CommittedCandidateReceipt<H>>, ApiError> { ... } fn candidate_events( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<CandidateEvent<H>>, ApiError> { ... } fn candidate_events_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<CandidateEvent<H>>, ApiError> { ... } fn dmq_contents( &self, __runtime_api_at_param__: &BlockId<Block>, recipient: Id ) -> Result<Vec<InboundDownwardMessage<N>>, ApiError> { ... } fn dmq_contents_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, recipient: Id ) -> Result<Vec<InboundDownwardMessage<N>>, ApiError> { ... } fn inbound_hrmp_channels_contents( &self, __runtime_api_at_param__: &BlockId<Block>, recipient: Id ) -> Result<BTreeMap<Id, Vec<InboundHrmpMessage<N>>>, ApiError> { ... } fn inbound_hrmp_channels_contents_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, recipient: Id ) -> Result<BTreeMap<Id, Vec<InboundHrmpMessage<N>>>, ApiError> { ... } fn validation_code_by_hash( &self, __runtime_api_at_param__: &BlockId<Block>, hash: ValidationCodeHash ) -> Result<Option<ValidationCode>, ApiError> { ... } fn validation_code_by_hash_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, hash: ValidationCodeHash ) -> Result<Option<ValidationCode>, ApiError> { ... } fn on_chain_votes( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Option<ScrapedOnChainVotes<H>>, ApiError> { ... } fn on_chain_votes_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Option<ScrapedOnChainVotes<H>>, ApiError> { ... } fn session_info( &self, __runtime_api_at_param__: &BlockId<Block>, index: SessionIndex ) -> Result<Option<SessionInfo>, ApiError> { ... } fn session_info_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, index: SessionIndex ) -> Result<Option<SessionInfo>, ApiError> { ... } fn submit_pvf_check_statement( &self, __runtime_api_at_param__: &BlockId<Block>, stmt: PvfCheckStatement, signature: ValidatorSignature ) -> Result<(), ApiError> { ... } fn submit_pvf_check_statement_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, stmt: PvfCheckStatement, signature: ValidatorSignature ) -> Result<(), ApiError> { ... } fn pvfs_require_precheck( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<ValidationCodeHash>, ApiError> { ... } fn pvfs_require_precheck_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<ValidationCodeHash>, ApiError> { ... } fn validation_code_hash( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<ValidationCodeHash>, ApiError> { ... } fn validation_code_hash_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<ValidationCodeHash>, ApiError> { ... } fn session_info_before_version_2( &self, __runtime_api_at_param__: &BlockId<Block>, index: SessionIndex ) -> Result<Option<OldV1SessionInfo>, ApiError> { ... } fn session_info_before_version_2_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, index: SessionIndex ) -> Result<Option<OldV1SessionInfo>, ApiError> { ... } fn disputes( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<(SessionIndex, CandidateHash, DisputeState<BlockNumber>)>, ApiError> { ... } fn disputes_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<(SessionIndex, CandidateHash, DisputeState<BlockNumber>)>, ApiError> { ... }
}
Expand description

The API for querying the state of parachains on-chain.

Provided Methods§

source

fn validators( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<ValidatorId>, ApiError>

Get the current validators.

source

fn validators_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<ValidatorId>, ApiError>

Get the current validators.

source

fn validator_groups( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<(Vec<Vec<ValidatorIndex>>, GroupRotationInfo<N>), ApiError>

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 validator_groups_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<(Vec<Vec<ValidatorIndex>>, GroupRotationInfo<N>), ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<CoreState<H, N>>, ApiError>

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 availability_cores_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<CoreState<H, N>>, ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<PersistedValidationData<H, N>>, ApiError>

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 persisted_validation_data_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<PersistedValidationData<H, N>>, ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, expected_persisted_validation_data_hash: Hash ) -> Result<Option<(PersistedValidationData<H, N>, ValidationCodeHash)>, ApiError>

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 assumed_validation_data_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, expected_persisted_validation_data_hash: Hash ) -> Result<Option<(PersistedValidationData<H, N>, ValidationCodeHash)>, ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, outputs: CandidateCommitments ) -> Result<bool, ApiError>

Checks if the given validation outputs pass the acceptance criteria.

source

fn check_validation_outputs_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, outputs: CandidateCommitments ) -> Result<bool, ApiError>

Checks if the given validation outputs pass the acceptance criteria.

source

fn session_index_for_child( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<SessionIndex, ApiError>

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

This can be used to instantiate a SigningContext.

source

fn session_index_for_child_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<SessionIndex, ApiError>

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

This can be used to instantiate a SigningContext.

source

fn validation_code( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<ValidationCode>, ApiError>

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 validation_code_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<ValidationCode>, ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id ) -> Result<Option<CommittedCandidateReceipt<H>>, ApiError>

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_pending_availability_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id ) -> Result<Option<CommittedCandidateReceipt<H>>, ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<CandidateEvent<H>>, ApiError>

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

source

fn candidate_events_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<CandidateEvent<H>>, ApiError>

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

source

fn dmq_contents( &self, __runtime_api_at_param__: &BlockId<Block>, recipient: Id ) -> Result<Vec<InboundDownwardMessage<N>>, ApiError>

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

source

fn dmq_contents_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, recipient: Id ) -> Result<Vec<InboundDownwardMessage<N>>, ApiError>

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

source

fn inbound_hrmp_channels_contents( &self, __runtime_api_at_param__: &BlockId<Block>, recipient: Id ) -> Result<BTreeMap<Id, Vec<InboundHrmpMessage<N>>>, ApiError>

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

source

fn inbound_hrmp_channels_contents_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, recipient: Id ) -> Result<BTreeMap<Id, Vec<InboundHrmpMessage<N>>>, ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block>, hash: ValidationCodeHash ) -> Result<Option<ValidationCode>, ApiError>

Get the validation code from its hash.

source

fn validation_code_by_hash_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, hash: ValidationCodeHash ) -> Result<Option<ValidationCode>, ApiError>

Get the validation code from its hash.

source

fn on_chain_votes( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Option<ScrapedOnChainVotes<H>>, ApiError>

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

source

fn on_chain_votes_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Option<ScrapedOnChainVotes<H>>, ApiError>

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

source

fn session_info( &self, __runtime_api_at_param__: &BlockId<Block>, index: SessionIndex ) -> Result<Option<SessionInfo>, ApiError>

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

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

source

fn session_info_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, index: SessionIndex ) -> Result<Option<SessionInfo>, ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block>, stmt: PvfCheckStatement, signature: ValidatorSignature ) -> Result<(), ApiError>

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

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

source

fn submit_pvf_check_statement_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, stmt: PvfCheckStatement, signature: ValidatorSignature ) -> Result<(), ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<ValidationCodeHash>, ApiError>

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 pvfs_require_precheck_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<ValidationCodeHash>, ApiError>

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( &self, __runtime_api_at_param__: &BlockId<Block>, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<ValidationCodeHash>, ApiError>

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 validation_code_hash_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, para_id: Id, assumption: OccupiedCoreAssumption ) -> Result<Option<ValidationCodeHash>, ApiError>

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 session_info_before_version_2( &self, __runtime_api_at_param__: &BlockId<Block>, index: SessionIndex ) -> Result<Option<OldV1SessionInfo>, ApiError>

👎Deprecated

Old method to fetch v1 session info.

source

fn session_info_before_version_2_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, index: SessionIndex ) -> Result<Option<OldV1SessionInfo>, ApiError>

👎Deprecated

Old method to fetch v1 session info.

source

fn disputes( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Vec<(SessionIndex, CandidateHash, DisputeState<BlockNumber>)>, ApiError>

Returns all onchain disputes.

source

fn disputes_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Vec<(SessionIndex, CandidateHash, DisputeState<BlockNumber>)>, ApiError>

Returns all onchain disputes.

Trait Implementations§

source§

impl<Block: BlockT, H: Encode + Decode, N: Encode + Decode> RuntimeApiInfo for dyn ParachainHost<Block, H, N>

source§

const ID: [u8; 8] = _

The identifier of the runtime api.
source§

const VERSION: u32 = 2u32

The version of the runtime api.

Implementors§