3#include <xrpl/basics/algorithm.h>
4#include <xrpl/shamap/SHAMap.h>
12template <
class TxID,
class Sequence>
37 return lhs.
txid < rhs;
43 return lhs < rhs.
txid;
72 [](
auto& x,
auto const& y) { x.seq = y.seq; },
73 [](
auto const& x,
auto const& y) { return x.txid < y.txid; });
90 template <
class Predicate>
94 auto acceptTxid = accepted.
begin();
95 auto const ae = accepted.
end();
106 [&pred](
auto const& x) { return pred(x.txid, x.seq); },
void reset()
Removes all elements from the tracker.
void propose(TxIDSeqVec proposed)
Add transactions being proposed for the current consensus round.
friend bool operator<(TxIDSeq const &lhs, TxIDSeq const &rhs)
RCLCensorshipDetector()=default
void check(std::vector< TxID > accepted, Predicate &&pred)
Determine which transactions made it and perform censorship detection.
std::vector< TxIDSeq > TxIDSeqVec
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
void generalizedSetIntersection(InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, Action action, Comp comp)
FwdIter1 removeIfIntersectOrMatch(FwdIter1 first1, FwdIter1 last1, InputIter2 first2, InputIter2 last2, Pred pred, Comp comp)
uint256 TxID
A transaction identifier.
TxIDSeq(TxID const &txid, Sequence const &seq)