Skip to content

src/runtime/binaryen/runtime_api/parachain_host_impl.cpp

Namespaces

Name
sgns
sgns::runtime
sgns::runtime::binaryen

Types

Name
using std::vector< Chain > DutyRoster
DutyRoster primitive.
using uint32_t ParaId
ParachainId primitive is an uint32_t.
using base::Blob< 32 > ValidatorId
ValidatorId primitive is an ed25519 or sr25519 public key.

Types Documentation

using DutyRoster

using sgns::primitives::parachain::DutyRoster = std::vector<Chain>;

DutyRoster primitive.

using ParaId

using sgns::primitives::parachain::ParaId = uint32_t;

ParachainId primitive is an uint32_t.

using ValidatorId

using sgns::primitives::parachain::ValidatorId = base::Blob<32>;

ValidatorId primitive is an ed25519 or sr25519 public key.

Source code

#include "runtime/binaryen/runtime_api/parachain_host_impl.hpp"

namespace sgns::runtime::binaryen {
  using base::Buffer;
  using primitives::parachain::DutyRoster;
  using primitives::parachain::ParaId;
  using primitives::parachain::ValidatorId;

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

  outcome::result<DutyRoster> ParachainHostImpl::duty_roster() {
    return execute<DutyRoster>("ParachainHost_duty_roster",
                               CallPersistency::EPHEMERAL);
  }

  outcome::result<std::vector<ParaId>> ParachainHostImpl::active_parachains() {
    return execute<std::vector<ParaId>>("ParachainHost_active_parachains",
                                        CallPersistency::EPHEMERAL);
  }

  outcome::result<boost::optional<Buffer>> ParachainHostImpl::parachain_head(
      ParachainId id) {
    return execute<boost::optional<Buffer>>(
        "ParachainHost_parachain_head", CallPersistency::EPHEMERAL, id);
  }

  outcome::result<boost::optional<Buffer>> ParachainHostImpl::parachain_code(
      ParachainId id) {
    return execute<boost::optional<Buffer>>(
        "ParachainHost_parachain_code", CallPersistency::EPHEMERAL, id);
  }

  outcome::result<std::vector<ValidatorId>> ParachainHostImpl::validators() {
    return execute<std::vector<ValidatorId>>("ParachainHost_validators",
                                             CallPersistency::EPHEMERAL);
  }

}  // namespace sgns::runtime::binaryen

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