13 : executor_{std::move(executor)} {
17 outcome::result<PersistentResult<primitives::ApplyExtrinsicResult>>
22 block, storage_hash,
"BlockBuilder_apply_extrinsic", extrinsic);
29 block, storage_hash,
"BlockBuilder_finalize_block");
30 if (res)
return res.value().result;
34 outcome::result<std::vector<primitives::Extrinsic>>
39 return executor_->callAt<std::vector<primitives::Extrinsic>>(
40 block, storage_hash,
"BlockBuilder_inherent_extrinsics", data);
43 outcome::result<primitives::CheckInherentsResult>
53 "BlockBuilder_random_seed");
outcome::result< std::vector< primitives::Extrinsic > > inherent_extrinsics(const primitives::BlockInfo &block, storage::trie::RootHash const &storage_hash, const primitives::InherentData &data) override
outcome::result< primitives::CheckInherentsResult > check_inherents(const primitives::Block &block, const primitives::InherentData &data) override
BlockBuilderImpl(std::shared_ptr< Executor > executor)
Block class represents polkadot block primitive.
std::shared_ptr< Executor > executor_
boost::variant< DispatchOutcome, TransactionValidityError > ApplyExtrinsicResult
outcome::result< common::Hash256 > random_seed(const primitives::BlockHash &block) override
outcome::result< PersistentResult< primitives::ApplyExtrinsicResult > > apply_extrinsic(const primitives::BlockInfo &block, storage::trie::RootHash const &storage_hash, const primitives::Extrinsic &extrinsic) override
BlockHeader header
block header
Extrinsic class represents extrinsic.
result of check_inherents method of BlockBuilder runtime api
outcome::result< primitives::BlockHeader > finalize_block(const primitives::BlockInfo &block, storage::trie::RootHash const &storage_hash) override