CatapultServer
v0.5.0.1 (Elephant)
|
Go to the documentation of this file.
26 struct TransactionElement;
27 class TransactionRegistry;
31 namespace catapult {
namespace model {
46 const Transaction& transaction,
48 const TransactionRegistry& transactionRegistry);
51 std::vector<Hash256>
CalculateMerkleTree(
const std::vector<TransactionElement>& transactionElements);
56 const TransactionRegistry& transactionRegistry,
58 TransactionElement& transactionElement);
utils::ByteArray< Hash256_Size, Hash256_tag > Hash256
Definition: src/catapult/types.h:47
virtual std::vector< RawBuffer > merkleSupplementaryBuffers(const Transaction &transaction) const =0
Builder for building a hash.
Definition: Hashes.h:61
KeccakBuilder< Sha3ModeTag, Hash256_tag > Sha3_256_Builder
Sha3_256_Builder.
Definition: Hashes.h:85
constexpr size_t Signature_Size
Definition: src/catapult/types.h:31
Hash256 CalculateMerkleComponentHash(const Transaction &transaction, const Hash256 &transactionHash, const TransactionRegistry &transactionRegistry)
Definition: EntityHasher.cpp:65
const model::Transaction & Transaction
Transaction entity.
Definition: Elements.h:41
const TPlugin * findPlugin(TPluginKey type) const
Finds the plugin corresponding to type or nullptr if none is registered.
Definition: PluginRegistry.h:38
void UpdateHashes(const TransactionRegistry &transactionRegistry, const GenerationHash &generationHash, TransactionElement &transactionElement)
Definition: EntityHasher.cpp:95
Builder for creating a merkle hash.
Definition: MerkleHashBuilder.h:28
void final(OutputType &output) noexcept
Finalize hash calculation. Returns result in output.
Definition: Hashes.cpp:145
Hash256 EntityHash
Entity hash.
Definition: Elements.h:44
void update(const RawBuffer &dataBuffer) noexcept
Updates the state of hash with data inside dataBuffer.
Definition: Hashes.cpp:134
void update(const Hash256 &hash)
Adds hash to the merkle hash.
Definition: MerkleHashBuilder.cpp:72
Hash256 MerkleComponentHash
Modified hash that should be used as a hash in the merkle tree.
Definition: Elements.h:47
Hash256 CalculateHash(LockHashAlgorithm hashAlgorithm, const RawBuffer &data)
Calculates hashAlgorithm hash of data.
Definition: LockHashUtils.cpp:46
std::vector< Hash256 > CalculateMerkleTree(const BlockStatement &statement)
Calculates the merkle tree for statement.
Definition: BlockStatement.cpp:89
Processing element for a transaction composed of a transaction and metadata.
Definition: Elements.h:33
Binary layout for a block.
Definition: Block.h:69
Definition: AddressExtractionExtension.cpp:28
utils::ByteArray< Hash256_Size, GenerationHash_tag > GenerationHash
Definition: src/catapult/types.h:53
A registry of transaction plugins.
Definition: TransactionPlugin.h:98
void final(Hash256 &hash)
Finalizes the merkle hash into hash.
Definition: MerkleHashBuilder.cpp:76
uint32_t Size
Entity size.
Definition: SizePrefixedEntity.h:33
BasicRawBuffer< const uint8_t > RawBuffer
A const binary buffer.
Definition: RawBuffer.h:62
Binary layout for a transaction.
Definition: Transaction.h:32
EntityType Type
Entity type.
Definition: EntityBody.h:42