xrpld
Loading...
Searching...
No Matches
NFTInvariant.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 <cstdint>
11
12namespace xrpl {
13
26{
27 bool badEntry_ = false;
28 bool badLink_ = false;
29 bool badSort_ = false;
30 bool badURI_ = false;
31 bool invalidSize_ = false;
32 bool deletedFinalPage_ = false;
33 bool deletedLink_ = false;
34
35public:
36 void
38
39 [[nodiscard]] bool
40 finalize(STTx const&, TER const, XRPAmount const, ReadView const&, beast::Journal const&) const;
41};
42
70
71} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:44
Invariant: Validates counts of NFTokens after all transaction types.
std::uint32_t afterMintedTotal_
std::uint32_t beforeBurnedTotal_
void visitEntry(bool, SLE::const_ref, SLE::const_ref)
bool finalize(STTx const &, TER const, XRPAmount const, ReadView const &, beast::Journal const &) const
std::uint32_t beforeMintedTotal_
std::uint32_t afterBurnedTotal_
A view into a ledger.
Definition ReadView.h:41
std::shared_ptr< STLedgerEntry const > const & const_ref
Invariant: Validates several invariants for NFToken pages.
void visitEntry(bool, SLE::const_ref, SLE::const_ref)
bool finalize(STTx const &, TER const, XRPAmount const, ReadView const &, beast::Journal const &) 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