xrpld
Loading...
Searching...
No Matches
PermissionedDEXInvariant.h
1#pragma once
2
3#include <xrpl/basics/UnorderedContainers.h>
4#include <xrpl/basics/base_uint.h>
5#include <xrpl/beast/utility/Journal.h>
6#include <xrpl/ledger/ReadView.h>
7#include <xrpl/protocol/STLedgerEntry.h>
8#include <xrpl/protocol/STTx.h>
9#include <xrpl/protocol/TER.h>
10#include <xrpl/protocol/XRPAmount.h>
11
12namespace xrpl {
13
15{
16 bool regularOffersOld_ = false; // pre-fixCleanup3_2_0: also flags deleted offers
17 bool regularOffers_ = false; // post-fixCleanup3_2_0: excludes deleted offers
18 bool badHybridsOld_ = false; // pre-fixCleanup3_1_3: missing field/domain or size > 1
19 bool badHybrids_ = false; // post-fixCleanup3_1_3: also catches size == 0 (size != 1)
20 hash_set<uint256> domainsOld_; // pre-fixCleanup3_4_0: also flags deleted domains
21 hash_set<uint256> domains_; // post-fixCleanup3_4_0: excludes deleted domains
22
23public:
24 void
26
27 bool
28 finalize(STTx const&, TER const, XRPAmount const, ReadView const&, beast::Journal const&);
29};
30
31} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:44
A view into a ledger.
Definition ReadView.h:41
std::shared_ptr< STLedgerEntry const > const & const_ref
bool finalize(STTx const &, TER const, XRPAmount const, ReadView const &, beast::Journal const &)
void visitEntry(bool, SLE::const_ref, SLE::const_ref)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
std::unordered_set< Value, Hash, Pred, Allocator > hash_set
TERSubset< CanCvtToTER > TER
Definition TER.h:647