20 #include <ripple/app/ledger/ConsensusTransSetSF.h>
21 #include <ripple/app/ledger/TransactionMaster.h>
22 #include <ripple/app/main/Application.h>
23 #include <ripple/app/misc/NetworkOPs.h>
24 #include <ripple/app/misc/Transaction.h>
25 #include <ripple/basics/Log.h>
26 #include <ripple/core/JobQueue.h>
27 #include <ripple/nodestore/Database.h>
28 #include <ripple/protocol/HashPrefix.h>
29 #include <ripple/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);
62 auto stx = std::make_shared<STTx const>(
std::ref(sit));
63 assert(stx->getTransactionID() == nodeHash.
as_uint256());
64 auto const pap = &
app_;
66 pap->getOPs().submitTransaction(stx);
72 <<
"Fetched invalid transaction in proposed set. Exception: "
91 JLOG(
j_.
trace()) <<
"Node in our acquiring TX set is TXN we have";
94 txn->getSTransaction()->add(s);
bool retrieve(const key_type &key, T &data)
Stream trace() const
Severity stream access functions.
bool addJob(JobType type, std::string const &name, JobHandler &&jobHandler)
Adds a job to the JobQueue.
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 &)
std::optional< Blob > getNode(SHAMapHash const &nodeHash) const override
virtual JobQueue & getJobQueue()=0
Slice slice() const noexcept
@ transactionID
transaction plus signature to give transaction ID
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
sha512_half_hasher::result_type sha512Half(Args const &... args)
Returns the SHA512-Half of a series of objects.
Blob const & peekData() const
int add32(std::uint32_t i)
uint256 const & as_uint256() const
void gotNode(bool fromFilter, SHAMapHash const &nodeHash, std::uint32_t ledgerSeq, Blob &&nodeData, SHAMapNodeType type) const override
ConsensusTransSetSF(Application &app, NodeCache &nodeCache)
virtual TransactionMaster & getMasterTransaction()=0