xrpld
Loading...
Searching...
No Matches
LoanInvariant.h
1#pragma once
2
3#include <xrpl/beast/utility/Journal.h>
4#include <xrpl/ledger/ReadView.h>
5#include <xrpl/protocol/STLedgerEntry.h>
6#include <xrpl/protocol/STTx.h>
7#include <xrpl/protocol/TER.h>
8#include <xrpl/protocol/XRPAmount.h>
9
10#include <utility>
11#include <vector>
12
13namespace xrpl {
14
24{
25 // Pair is <before, after>. After is used for most of the checks, except
26 // those that check changed values.
28
29public:
30 void
32
33 bool
34 finalize(STTx const&, TER const, XRPAmount const, ReadView const&, beast::Journal const&);
35};
36
37} // 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
Invariants: Loans are internally consistent.
void visitEntry(bool, SLE::const_ref, SLE::const_ref)
std::vector< std::pair< SLE::const_pointer, SLE::const_pointer > > loans_
bool finalize(STTx const &, TER const, XRPAmount const, ReadView const &, beast::Journal const &)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
TERSubset< CanCvtToTER > TER
Definition TER.h:647