20#include <xrpld/app/ledger/ConsensusTransSetSF.h>
21#include <xrpld/app/ledger/TransactionMaster.h>
22#include <xrpld/app/misc/NetworkOPs.h>
23#include <xrpld/app/misc/Transaction.h>
24#include <xrpld/core/JobQueue.h>
25#include <xrpld/nodestore/Database.h>
27#include <xrpl/basics/Log.h>
28#include <xrpl/protocol/HashPrefix.h>
29#include <xrpl/protocol/digest.h>
34 : app_(app), m_nodeCache(nodeCache), j_(app.journal(
"TransactionAcquire"))
55 <<
"Node on our acquiring TX set is TXN we may not have";
60 Serializer s(nodeData.data() + 4, nodeData.size() - 4);
64 stx->getTransactionID() == nodeHash.
as_uint256(),
65 "ripple::ConsensusTransSetSF::gotNode : transaction hash "
67 auto const pap = &
app_;
69 pap->getOPs().submitTransaction(stx);
75 <<
"Fetched invalid transaction in proposed set. Exception: "
94 JLOG(
j_.
trace()) <<
"Node in our acquiring TX set is TXN we have";
97 txn->getSTransaction()->add(s);
100 "ripple::ConsensusTransSetSF::getNode : transaction hash match");
Stream trace() const
Severity stream access functions.
virtual JobQueue & getJobQueue()=0
virtual TransactionMaster & getMasterTransaction()=0
void gotNode(bool fromFilter, SHAMapHash const &nodeHash, std::uint32_t ledgerSeq, Blob &&nodeData, SHAMapNodeType type) const override
std::optional< Blob > getNode(SHAMapHash const &nodeHash) const override
ConsensusTransSetSF(Application &app, NodeCache &nodeCache)
bool addJob(JobType type, std::string const &name, JobHandler &&jobHandler)
Adds a job to the JobQueue.
uint256 const & as_uint256() const
Slice slice() const noexcept
Blob const & peekData() const
bool retrieve(key_type const &key, T &data)
auto insert(key_type const &key, T const &value) -> std::enable_if_t<!IsKeyCache, ReturnType >
Insert the element into the container.
std::shared_ptr< Transaction > fetch_from_cache(uint256 const &)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
@ transactionID
transaction plus signature to give transaction ID
sha512_half_hasher::result_type sha512Half(Args const &... args)
Returns the SHA512-Half of a series of objects.