CatapultServer  v0.5.0.1 (Elephant)
MongoTransactionMetadata.h
Go to the documentation of this file.
1 
21 #pragma once
25 #include "catapult/types.h"
26 #include <bsoncxx/oid.hpp>
27 
28 namespace catapult { namespace mongo {
29 
32  public:
35  : MongoTransactionMetadata(element, catapult::Height(), 0)
36  {}
37 
39  explicit MongoTransactionMetadata(const model::TransactionElement& element, Height height, uint32_t index)
41  element.EntityHash,
42  element.MerkleComponentHash,
43  *element.OptionalExtractedAddresses,
44  height,
45  index)
46  {}
47 
49  explicit MongoTransactionMetadata(const model::TransactionInfo& transactionInfo)
51  transactionInfo.EntityHash,
52  transactionInfo.MerkleComponentHash,
53  *transactionInfo.OptionalExtractedAddresses,
54  catapult::Height(),
55  0)
56  {}
57 
58  private:
60  const Hash256& entityHash,
61  const Hash256& merkleComponentHash,
62  const model::UnresolvedAddressSet& addresses,
63  Height height,
64  uint32_t index)
65  : EntityHash(entityHash)
66  , MerkleComponentHash(merkleComponentHash)
67  , Addresses(addresses)
68  , Height(height)
69  , Index(index)
70  {}
71 
72  public:
76  bsoncxx::oid ObjectId;
77 
80 
83 
86 
89 
91  uint32_t Index;
92  };
93 }}
catapult::mongo::MongoTransactionMetadata
Mongo transaction metadata.
Definition: MongoTransactionMetadata.h:31
catapult::mongo::MongoTransactionMetadata::MongoTransactionMetadata
MongoTransactionMetadata(const model::TransactionInfo &transactionInfo)
Creates a new metadata around info.
Definition: MongoTransactionMetadata.h:49
catapult::mongo::MongoTransactionMetadata::MerkleComponentHash
const Hash256 & MerkleComponentHash
Modified hash that should be used as a hash in the merkle tree.
Definition: MongoTransactionMetadata.h:82
catapult::mongo::MongoTransactionMetadata::Addresses
const model::UnresolvedAddressSet & Addresses
Addresses involved in the transaction.
Definition: MongoTransactionMetadata.h:85
catapult::mongo::MongoTransactionMetadata::Height
catapult::Height Height
Height.
Definition: MongoTransactionMetadata.h:88
catapult::model::TransactionInfo
A transaction and its associated metadata.
Definition: EntityInfo.h:104
Elements.h
catapult::utils::BaseValue< uint64_t, Height_tag >
catapult::mongo::MongoTransactionMetadata::MongoTransactionMetadata
MongoTransactionMetadata(const Hash256 &entityHash, const Hash256 &merkleComponentHash, const model::UnresolvedAddressSet &addresses, Height height, uint32_t index)
Definition: MongoTransactionMetadata.h:59
catapult::mongo::MongoTransactionMetadata::Index
uint32_t Index
Index of the transaction in the containing block.
Definition: MongoTransactionMetadata.h:91
catapult::mongo::MongoTransactionMetadata::MongoTransactionMetadata
MongoTransactionMetadata(const model::TransactionElement &element)
Creates a new metadata around element.
Definition: MongoTransactionMetadata.h:34
catapult::model::UnresolvedAddressSet
std::unordered_set< UnresolvedAddress, utils::ArrayHasher< UnresolvedAddress > > UnresolvedAddressSet
Unordered set of unresolved addresses.
Definition: ContainerTypes.h:44
EntityInfo.h
catapult::model::TransactionElement
Processing element for a transaction composed of a transaction and metadata.
Definition: Elements.h:33
ContainerTypes.h
types.h
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::mongo::MongoTransactionMetadata::MongoTransactionMetadata
MongoTransactionMetadata(const model::TransactionElement &element, Height height, uint32_t index)
Creates a new metadata around element, height and index.
Definition: MongoTransactionMetadata.h:39
catapult::utils::ByteArray< Hash256_Size, Hash256_tag >
catapult::mongo::MongoTransactionMetadata::EntityHash
const Hash256 & EntityHash
Transaction hash.
Definition: MongoTransactionMetadata.h:79
catapult::mongo::MongoTransactionMetadata::ObjectId
bsoncxx::oid ObjectId
Definition: MongoTransactionMetadata.h:76