Skip to content

sgns::runtime::binaryen::BlockBuilderImpl

#include <block_builder_impl.hpp>

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

Public Functions

Name
BlockBuilderImpl(const std::shared_ptr< WasmProvider > & wasm_provider, const std::shared_ptr< RuntimeManager > & runtime_manager)
~BlockBuilderImpl() override =default
virtual outcome::result< primitives::ApplyResult > apply_extrinsic(const primitives::Extrinsic & extrinsic) override
virtual outcome::result< primitives::BlockHeader > finalise_block() override
virtual outcome::result< std::vector< primitives::Extrinsic > > inherent_extrinsics(const primitives::InherentData & data) override
virtual outcome::result< primitives::CheckInherentsResult > check_inherents(const primitives::Block & block, const primitives::InherentData & data) override
virtual outcome::result< base::Hash256 > random_seed() override

Public Attributes

Name
base::Logger logger_

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

Public Functions inherited from sgns::runtime::BlockBuilder

Name
virtual ~BlockBuilder() =default

Public Functions Documentation

function BlockBuilderImpl

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

function ~BlockBuilderImpl

~BlockBuilderImpl() override =default

function apply_extrinsic

virtual outcome::result< primitives::ApplyResult > apply_extrinsic(
    const primitives::Extrinsic & extrinsic
) override

Reimplements: sgns::runtime::BlockBuilder::apply_extrinsic

Apply the given extrinsics.

function finalise_block

virtual outcome::result< primitives::BlockHeader > finalise_block() override

Reimplements: sgns::runtime::BlockBuilder::finalise_block

Finish the current block.

function inherent_extrinsics

virtual outcome::result< std::vector< primitives::Extrinsic > > inherent_extrinsics(
    const primitives::InherentData & data
) override

Reimplements: sgns::runtime::BlockBuilder::inherent_extrinsics

Generate inherent extrinsics. The inherent data will vary from chain to chain.

function check_inherents

virtual outcome::result< primitives::CheckInherentsResult > check_inherents(
    const primitives::Block & block,
    const primitives::InherentData & data
) override

Reimplements: sgns::runtime::BlockBuilder::check_inherents

Check that the inherents are valid. The inherent data will vary from chain to chain.

function random_seed

virtual outcome::result< base::Hash256 > random_seed() override

Reimplements: sgns::runtime::BlockBuilder::random_seed

Generate a random seed.

Public Attributes Documentation

variable logger_

base::Logger logger_;

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