Skip to content

sgns::runtime::binaryen::ParachainHostImpl

#include <parachain_host_impl.hpp>

Inherits from sgns::runtime::binaryen::RuntimeApi, sgns::runtime::ParachainHost

Public Functions

Name
ParachainHostImpl(const std::shared_ptr< WasmProvider > & wasm_provider, const std::shared_ptr< RuntimeManager > & runtime_manager)
Constructor.
~ParachainHostImpl() override =default
virtual outcome::result< DutyRoster > duty_roster() override
Calls the ParachainHost_duty_roster function from wasm code.
virtual outcome::result< std::vector< ParachainId > > active_parachains() override
Calls the ParachainHost_active_parachains function from wasm code.
virtual outcome::result< boost::optional< Buffer > > parachain_head(ParachainId id) override
Calls the ParachainHost_parachain_head function from wasm code.
virtual outcome::result< boost::optional< Buffer > > parachain_code(ParachainId id) override
Calls the ParachainHost_parachain_code function from wasm code.
virtual outcome::result< std::vector< ValidatorId > > validators() override
reports validators list for given block_id

Additional inherited members

Public Types inherited from sgns::runtime::binaryen::RuntimeApi

Name
enum class CallPersistency

Public Functions inherited from sgns::runtime::binaryen::RuntimeApi

Name
RuntimeApi(std::shared_ptr< WasmProvider > wasm_provider, std::shared_ptr< RuntimeManager > runtime_manager)

Protected Functions inherited from sgns::runtime::binaryen::RuntimeApi

Name
template <typename R ,typename... Args>
outcome::result< R >
executeAt(std::string_view name, const base::Hash256 & state_root, CallPersistency persistency, Args &&... args)
executes wasm export method returning non-void result
template <typename R ,typename... Args>
outcome::result< R >
execute(std::string_view name, CallPersistency persistency, Args &&... args)
executes wasm export method returning non-void result

Protected Types inherited from sgns::runtime::ParachainHost

Name
using base::Buffer Buffer
using primitives::parachain::ValidatorId ValidatorId
using primitives::parachain::DutyRoster DutyRoster
using primitives::parachain::ParaId ParachainId

Public Functions inherited from sgns::runtime::ParachainHost

Name
virtual ~ParachainHost() =default

Public Functions Documentation

function ParachainHostImpl

ParachainHostImpl(
    const std::shared_ptr< WasmProvider > & wasm_provider,
    const std::shared_ptr< RuntimeManager > & runtime_manager
)

Constructor.

Parameters:

  • wasm_provider WASM provider instance.
  • runtime_manager Runtime manager instance.

function ~ParachainHostImpl

~ParachainHostImpl() override =default

function duty_roster

virtual outcome::result< DutyRoster > duty_roster() override

Calls the ParachainHost_duty_roster function from wasm code.

Return: DutyRoster structure or error if fails

Reimplements: sgns::runtime::ParachainHost::duty_roster

function active_parachains

virtual outcome::result< std::vector< ParachainId > > active_parachains() override

Calls the ParachainHost_active_parachains function from wasm code.

Return: vector of ParachainId items or error if fails

Reimplements: sgns::runtime::ParachainHost::active_parachains

function parachain_head

virtual outcome::result< boost::optional< Buffer > > parachain_head(
    ParachainId id
) override

Calls the ParachainHost_parachain_head function from wasm code.

Parameters:

  • id parachain id

Return: parachain head or error if fails

Reimplements: sgns::runtime::ParachainHost::parachain_head

function parachain_code

virtual outcome::result< boost::optional< Buffer > > parachain_code(
    ParachainId id
) override

Calls the ParachainHost_parachain_code function from wasm code.

Parameters:

  • id parachain id

Return: parachain code or error if fails

Reimplements: sgns::runtime::ParachainHost::parachain_code

function validators

virtual outcome::result< std::vector< ValidatorId > > validators() override

reports validators list for given block_id

Return: validators list

Reimplements: sgns::runtime::ParachainHost::validators


Updated on 2026-03-04 at 13:10:43 -0800