src/runtime/core.hpp
Namespaces
Classes
Source code
#ifndef SUPERGENIUS_RUNTIME_CORE_HPP
#define SUPERGENIUS_RUNTIME_CORE_HPP
#include "outcome/outcome.hpp"
#include <vector>
#include "primitives/authority.hpp"
#include "primitives/block.hpp"
#include "primitives/block_id.hpp"
#include "primitives/common.hpp"
#include "primitives/transaction_validity.hpp"
#include "primitives/version.hpp"
#include <boost/optional.hpp>
namespace sgns::runtime {
class WasmProvider;
class Core {
public:
virtual ~Core() = default;
virtual outcome::result<primitives::Version> version(
const boost::optional<primitives::BlockHash> &block_hash) = 0;
virtual outcome::result<void> execute_block(
const primitives::Block &block) = 0;
virtual outcome::result<void> initialise_block(
const primitives::BlockHeader &header) = 0;
virtual outcome::result<std::vector<primitives::AuthorityId>> authorities(
const primitives::BlockId &block_id) = 0;
};
} // namespace sgns::runtime
#endif // SUPERGENIUS_RUNTIME_CORE_HPP
Updated on 2026-03-04 at 13:10:45 -0800