CatapultServer  v0.5.0.1 (Elephant)
NemesisBlockHashesCalculator.h
Go to the documentation of this file.
1 
21 #pragma once
22 #include "catapult/types.h"
23 #include <vector>
24 
25 namespace catapult {
26  namespace config { class CatapultConfiguration; }
27  namespace model { struct BlockElement; }
28 }
29 
30 namespace catapult { namespace tools { namespace nemgen {
31 
36 
39 
41  std::vector<Hash256> SubCacheMerkleRoots;
42  };
43 
46  const model::BlockElement& blockElement,
47  const config::CatapultConfiguration& config);
48 }}}
catapult::model::BlockChainConfiguration::ShouldEnableVerifiableReceipts
bool ShouldEnableVerifiableReceipts
true if block chain should calculate receipts so that state changes are fully verifiable at each bloc...
Definition: BlockChainConfiguration.h:42
catapult::Hash256
utils::ByteArray< Hash256_Size, Hash256_tag > Hash256
Definition: src/catapult/types.h:47
catapult::tools::nemgen::PluginLoader::loadAll
void loadAll()
Loads all configured plugins.
Definition: tools/nemgen/blockhashes/PluginLoader.cpp:45
catapult::config::CatapultConfiguration::BlockChain
const model::BlockChainConfiguration BlockChain
Block chain configuration.
Definition: CatapultConfiguration.h:48
catapult::tools::nemgen::PluginLoader::manager
plugins::PluginManager & manager()
Gets the plugin manager.
Definition: tools/nemgen/blockhashes/PluginLoader.cpp:41
catapult::tools::nemgen::BlockExecutionHashesInfo::SubCacheMerkleRoots
std::vector< Hash256 > SubCacheMerkleRoots
Block component sub cache merkle roots.
Definition: NemesisBlockHashesCalculator.h:41
catapult::validators::Notification
model::AccountAddressNotification Notification
Definition: AddressValidator.cpp:27
NotificationObserverAdapter.h
catapult::observers::NotificationObserverAdapter
A notification observer to entity observer adapter.
Definition: NotificationObserverAdapter.h:30
catapult::model::BlockElement::Block
const model::Block & Block
Block entity.
Definition: Elements.h:63
ValidatorUtils.h
catapult::validators::ValidateLessThanOrEqual
constexpr ValidationResult ValidateLessThanOrEqual(TValue value, TValue maxValue, ValidationResult failureResult)
Validates that value is less than or equal to maxValue and returns failureResult on failure.
Definition: ValidatorUtils.h:28
catapult::model::CalculateMerkleHash
Hash256 CalculateMerkleHash(const BlockStatement &statement)
Calculates the merkle hash for statement.
Definition: BlockStatement.cpp:83
catapult::model::NamespaceType
NamespaceType
Namespace types.
Definition: NamespaceTypes.h:27
BlockExecutor.h
catapult::config::CatapultConfiguration
Comprehensive configuration for a catapult process.
Definition: CatapultConfiguration.h:34
catapult::observers::ObserverState
Block independent mutable state passed to all observers.
Definition: ObserverContext.h:54
catapult::model::BlockHeader::Height
catapult::Height Height
Height of a block.
Definition: Block.h:41
catapult::model::BlockStatementBuilder
Collection of receipts scoped to a block.
Definition: BlockStatementBuilder.h:27
catapult::tools::nemgen::BlockExecutionHashesInfo
Information about block execution dependent hashes.
Definition: NemesisBlockHashesCalculator.h:33
catapult::tools::nemgen::BlockExecutionHashesInfo::ReceiptsHash
Hash256 ReceiptsHash
Block receipts hash.
Definition: NemesisBlockHashesCalculator.h:35
catapult::model::NamespaceType::Child
A child namespace.
catapult::state::CatapultState
Stateful catapult information.
Definition: CatapultState.h:27
Validators.h
catapult::tools::nemgen::PluginLoader
Loads plugins into a plugin manager.
Definition: tools/nemgen/blockhashes/PluginLoader.h:30
CatapultConfiguration.h
NemesisBlockHashesCalculator.h
catapult::model::BlockElement
Processing element for a block composed of a block and metadata.
Definition: Elements.h:55
ReadOnlyCatapultCache.h
types.h
catapult
Definition: AddressExtractionExtension.cpp:28
PluginLoader.h
catapult::validators::DEFINE_STATELESS_VALIDATOR
DEFINE_STATELESS_VALIDATOR(TransactionFee, [](const auto &notification) { if(notification.Fee > notification.MaxFee) return Failure_Core_Invalid_Transaction_Fee;constexpr auto Max_Raw_Block_Fee_Multiplier=static_cast< uint64_t >(std::numeric_limits< BlockFeeMultiplier::ValueType >::max());return notification.MaxFee.unwrap() > Max_Raw_Block_Fee_Multiplier *notification.TransactionSize ? Failure_Core_Invalid_Transaction_Fee :ValidationResult::Success;})
catapult::utils::ByteArray< Hash256_Size, Hash256_tag >
catapult::tools::nemgen::CalculateNemesisBlockExecutionHashes
BlockExecutionHashesInfo CalculateNemesisBlockExecutionHashes(const model::BlockElement &blockElement, const config::CatapultConfiguration &config)
Calculates the block execution dependent hashes after executing nemesis blockElement for network conf...
Definition: NemesisBlockHashesCalculator.cpp:30
catapult::tools::nemgen::BlockExecutionHashesInfo::StateHash
Hash256 StateHash
Block state hash.
Definition: NemesisBlockHashesCalculator.h:38
catapult::chain::ExecuteBlock
void ExecuteBlock(const model::BlockElement &blockElement, const BlockExecutionContext &executionContext)
Executes blockElement using the specified execution context (executionContext).
Definition: BlockExecutor.cpp:45