xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
xrpld
app
ledger
TransactionStateSF.cpp
1
#include <xrpld/app/ledger/TransactionStateSF.h>
2
3
#include <xrpl/basics/Blob.h>
4
#include <xrpl/basics/SHAMapHash.h>
5
#include <xrpl/beast/utility/instrumentation.h>
6
#include <xrpl/nodestore/NodeObject.h>
7
#include <xrpl/shamap/SHAMapTreeNode.h>
8
9
#include <
cstdint
>
10
#include <
optional
>
11
#include <
utility
>
12
13
namespace
xrpl
{
14
15
void
16
TransactionStateSF::gotNode
(
17
bool
,
18
SHAMapHash
const
& nodeHash,
19
std::uint32_t
ledgerSeq,
20
Blob
&& nodeData,
21
SHAMapNodeType
type)
const
22
23
{
24
XRPL_ASSERT(
25
type !=
SHAMapNodeType::TnTransactionNm
,
"xrpl::TransactionStateSF::gotNode : valid input"
);
26
db_
.store(
27
NodeObjectType::TransactionNode
, std::move(nodeData), nodeHash.
asUInt256
(), ledgerSeq);
28
}
29
30
std::optional<Blob>
31
TransactionStateSF::getNode
(
SHAMapHash
const
& nodeHash)
const
32
{
33
return
fp_
.getFetchPack(nodeHash.
asUInt256
());
34
}
35
36
}
// namespace xrpl
xrpl::SHAMapHash
Definition
SHAMapHash.h:16
xrpl::SHAMapHash::asUInt256
UInt256 const & asUInt256() const
Definition
SHAMapHash.h:26
xrpl::TransactionStateSF::fp_
AbstractFetchPackContainer & fp_
Definition
TransactionStateSF.h:38
xrpl::TransactionStateSF::db_
node_store::Database & db_
Definition
TransactionStateSF.h:37
xrpl::TransactionStateSF::getNode
std::optional< Blob > getNode(SHAMapHash const &nodeHash) const override
Definition
TransactionStateSF.cpp:31
xrpl::TransactionStateSF::gotNode
void gotNode(bool fromFilter, SHAMapHash const &nodeHash, std::uint32_t ledgerSeq, Blob &&nodeData, SHAMapNodeType type) const override
Definition
TransactionStateSF.cpp:16
cstdint
std::uint32_t
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::SHAMapNodeType
SHAMapNodeType
Definition
SHAMapTreeNode.h:30
xrpl::SHAMapNodeType::TnTransactionNm
@ TnTransactionNm
Definition
SHAMapTreeNode.h:32
xrpl::NodeObjectType::TransactionNode
@ TransactionNode
Definition
NodeObject.h:22
xrpl::Blob
std::vector< unsigned char > Blob
Storage for linear binary data.
Definition
Blob.h:11
optional
utility
Generated by
1.17.0