src/runtime/parachain_host.hpp
Namespaces
Classes
Source code
#ifndef SUPERGENIUS_SRC_RUNTIME_PARACHAIN_HOST_HPP
#define SUPERGENIUS_SRC_RUNTIME_PARACHAIN_HOST_HPP
#include "base/buffer.hpp"
#include "primitives/parachain_host.hpp"
namespace sgns::runtime {
class ParachainHost {
protected:
using Buffer = base::Buffer;
using ValidatorId = primitives::parachain::ValidatorId;
using DutyRoster = primitives::parachain::DutyRoster;
using ParachainId = primitives::parachain::ParaId;
public:
virtual ~ParachainHost() = default;
virtual outcome::result<DutyRoster> duty_roster() = 0;
virtual outcome::result<std::vector<ParachainId>> active_parachains() = 0;
virtual outcome::result<boost::optional<Buffer>> parachain_head(
ParachainId id) = 0;
virtual outcome::result<boost::optional<sgns::base::Buffer>>
parachain_code(ParachainId id) = 0;
virtual outcome::result<std::vector<ValidatorId>> validators() = 0;
};
} // namespace sgns::runtime
#endif // SUPERGENIUS_SRC_RUNTIME_PARACHAIN_HOST_HPP
Updated on 2026-03-04 at 13:10:45 -0800