Kagome
Polkadot Runtime Engine in C++17
kagome::runtime::ParachainHost Class Referenceabstract

#include <parachain_host.hpp>

Inheritance diagram for kagome::runtime::ParachainHost:
Collaboration diagram for kagome::runtime::ParachainHost:

Public Member Functions

virtual ~ParachainHost ()=default
 
virtual outcome::result< DutyRosterduty_roster (const primitives::BlockHash &block)=0
 Calls the ParachainHost_duty_roster function from wasm code. More...
 
virtual outcome::result< std::vector< ParachainId > > active_parachains (const primitives::BlockHash &block)=0
 Calls the ParachainHost_active_parachains function from wasm code. More...
 
virtual outcome::result< std::optional< Buffer > > parachain_head (const primitives::BlockHash &block, ParachainId id)=0
 Calls the ParachainHost_parachain_head function from wasm code. More...
 
virtual outcome::result< std::optional< kagome::common::Buffer > > parachain_code (const primitives::BlockHash &block, ParachainId id)=0
 Calls the ParachainHost_parachain_code function from wasm code. More...
 
virtual outcome::result< std::vector< ValidatorId > > validators (const primitives::BlockHash &block)=0
 reports validators list for given block_id More...
 
virtual outcome::result< std::vector< ValidatorGroup > > validator_groups (const primitives::BlockHash &block)=0
 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 GroupRotationInfoshould be the successor of the number of the block. More...
 
virtual outcome::result< std::vector< CoreState > > availability_cores (const primitives::BlockHash &block)=0
 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. More...
 
virtual outcome::result< std::optional< PersistedValidationData > > persisted_validation_data (const primitives::BlockHash &block, ParachainId id, OccupiedCoreAssumption assumption)=0
 Yields the persisted validation data for the given ParaId along with an assumption that should be used if the para currently occupies a core. More...
 
virtual outcome::result< bool > check_validation_outputs (const primitives::BlockHash &block, ParachainId id, CandidateCommitments outputs)=0
 Checks if the given validation outputs pass the acceptance criteria. More...
 
virtual outcome::result< SessionIndexsession_index_for_child (const primitives::BlockHash &block)=0
 Returns the session index expected at a child of the block. This can be used to instantiate a SigningContext. More...
 
virtual outcome::result< std::optional< ValidationCode > > validation_code (const primitives::BlockHash &block, ParachainId id, OccupiedCoreAssumption assumption)=0
 Fetch the validation code used by a para, making the given OccupiedCoreAssumption. More...
 
virtual outcome::result< std::optional< ValidationCode > > validation_code_by_hash (const primitives::BlockHash &block, ValidationCodeHash hash)=0
 Get the validation code (runtime) from its hash. More...
 
virtual outcome::result< std::optional< CommittedCandidateReceipt > > candidate_pending_availability (const primitives::BlockHash &block, ParachainId id)=0
 Get the receipt of a candidate pending availability. More...
 
virtual outcome::result< std::vector< CandidateEvent > > candidate_events (const primitives::BlockHash &block)=0
 Get a vector of events concerning candidates that occurred within a block. More...
 
virtual outcome::result< std::optional< SessionInfo > > session_info (const primitives::BlockHash &block, SessionIndex index)=0
 Get the session info for the given session, if stored. More...
 
virtual outcome::result< std::vector< InboundDownwardMessage > > dmq_contents (const primitives::BlockHash &block, ParachainId id)=0
 Get all the pending inbound messages in the downward message queue for a para. More...
 
virtual outcome::result< std::map< ParachainId, std::vector< InboundHrmpMessage > > > inbound_hrmp_channels_contents (const primitives::BlockHash &block, ParachainId id)=0
 Get the contents of all channels addressed to the given recipient. Channels that have no messages in them are also included. More...
 

Detailed Description

Definition at line 18 of file parachain_host.hpp.

Constructor & Destructor Documentation

virtual kagome::runtime::ParachainHost::~ParachainHost ( )
virtualdefault

Member Function Documentation

virtual outcome::result<std::vector<ParachainId> > kagome::runtime::ParachainHost::active_parachains ( const primitives::BlockHash block)
pure virtual

Calls the ParachainHost_active_parachains function from wasm code.

Returns
vector of ParachainId items or error if fails

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::vector<CoreState> > kagome::runtime::ParachainHost::availability_cores ( const primitives::BlockHash block)
pure virtual

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.

Returns
vector of core states

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::vector<CandidateEvent> > kagome::runtime::ParachainHost::candidate_events ( const primitives::BlockHash block)
pure virtual

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

Returns
vector of events

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::optional<CommittedCandidateReceipt> > kagome::runtime::ParachainHost::candidate_pending_availability ( const primitives::BlockHash block,
ParachainId  id 
)
pure virtual

Get the receipt of a candidate pending availability.

Parameters
idparachain id
Returns
This returns CommittedCandidateReceipt for any paras assigned to occupied cores in availability_cores and nullopt otherwise.

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<bool> kagome::runtime::ParachainHost::check_validation_outputs ( const primitives::BlockHash block,
ParachainId  id,
CandidateCommitments  outputs 
)
pure virtual

Checks if the given validation outputs pass the acceptance criteria.

Parameters
idparachain id
outputscandidate commitments
Returns
validity (bool)

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::vector<InboundDownwardMessage> > kagome::runtime::ParachainHost::dmq_contents ( const primitives::BlockHash block,
ParachainId  id 
)
pure virtual

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

Parameters
idparachain id
Returns
vector of messages

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<DutyRoster> kagome::runtime::ParachainHost::duty_roster ( const primitives::BlockHash block)
pure virtual

Calls the ParachainHost_duty_roster function from wasm code.

Returns
DutyRoster structure or error if fails

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result< std::map<ParachainId, std::vector<InboundHrmpMessage> > > kagome::runtime::ParachainHost::inbound_hrmp_channels_contents ( const primitives::BlockHash block,
ParachainId  id 
)
pure virtual

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

Returns
Map of vectors of an inbound HRMP messages (Horizontal Relay-routed Message Passing) per parachain

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::optional<kagome::common::Buffer> > kagome::runtime::ParachainHost::parachain_code ( const primitives::BlockHash block,
ParachainId  id 
)
pure virtual

Calls the ParachainHost_parachain_code function from wasm code.

Parameters
idparachain id
Returns
parachain code or error if fails

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::optional<Buffer> > kagome::runtime::ParachainHost::parachain_head ( const primitives::BlockHash block,
ParachainId  id 
)
pure virtual

Calls the ParachainHost_parachain_head function from wasm code.

Parameters
idparachain id
Returns
parachain head or error if fails

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::optional<PersistedValidationData> > kagome::runtime::ParachainHost::persisted_validation_data ( const primitives::BlockHash block,
ParachainId  id,
OccupiedCoreAssumption  assumption 
)
pure virtual

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

Parameters
idparachain id
assumptionoccupied core assumption
Returns
Returns nullopt if either the para is not registered or the assumption is Freed (not Included) and the para already occupies a core.

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<SessionIndex> kagome::runtime::ParachainHost::session_index_for_child ( const primitives::BlockHash block)
pure virtual

Returns the session index expected at a child of the block. This can be used to instantiate a SigningContext.

Returns
session index

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::optional<SessionInfo> > kagome::runtime::ParachainHost::session_info ( const primitives::BlockHash block,
SessionIndex  index 
)
pure virtual

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

Note
This function is only available since parachain host version 2.
Parameters
indexsession index
Returns
SessionInfo, optional

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::optional<ValidationCode> > kagome::runtime::ParachainHost::validation_code ( const primitives::BlockHash block,
ParachainId  id,
OccupiedCoreAssumption  assumption 
)
pure virtual

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

Parameters
idparachain id
assumptionoccupied core assumption
Returns
nullopt if either the para is not registered or the assumption is Freed (TimedOut or Unused) and the para already occupies a core.

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::optional<ValidationCode> > kagome::runtime::ParachainHost::validation_code_by_hash ( const primitives::BlockHash block,
ValidationCodeHash  hash 
)
pure virtual

Get the validation code (runtime) from its hash.

Parameters
hashvalidation code hash
Returns
validation code, if found

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::vector<ValidatorGroup> > kagome::runtime::ParachainHost::validator_groups ( const primitives::BlockHash block)
pure virtual

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 GroupRotationInfoshould be the successor of the number of the block.

Returns
vector of validator groups

Implemented in kagome::runtime::ParachainHostImpl.

virtual outcome::result<std::vector<ValidatorId> > kagome::runtime::ParachainHost::validators ( const primitives::BlockHash block)
pure virtual

reports validators list for given block_id

Returns
validators list

Implemented in kagome::runtime::ParachainHostImpl.


The documentation for this class was generated from the following file: