xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
tx
invariants
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
12
namespace
xrpl
{
13
25
class
ValidNFTokenPage
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
35
public
:
36
void
37
visitEntry
(
bool
,
SLE::ConstRef
,
SLE::ConstRef
);
38
39
[[nodiscard]]
bool
40
finalize
(
STTx
const
&,
TER
const
,
XRPAmount
const
,
ReadView
const
&,
beast::Journal
const
&)
const
;
41
};
42
56
class
NFTokenCountTracking
57
{
58
std::uint32_t
beforeMintedTotal_
= 0;
59
std::uint32_t
beforeBurnedTotal_
= 0;
60
std::uint32_t
afterMintedTotal_
= 0;
61
std::uint32_t
afterBurnedTotal_
= 0;
62
63
public
:
64
void
65
visitEntry
(
bool
,
SLE::ConstRef
,
SLE::ConstRef
);
66
67
[[nodiscard]]
bool
68
finalize
(
STTx
const
&,
TER
const
,
XRPAmount
const
,
ReadView
const
&,
beast::Journal
const
&)
const
;
69
};
70
71
}
// namespace xrpl
beast::Journal
A generic endpoint for log messages.
Definition
Journal.h:44
xrpl::NFTokenCountTracking
Invariant: Validates counts of NFTokens after all transaction types.
Definition
NFTInvariant.h:57
xrpl::NFTokenCountTracking::afterMintedTotal_
std::uint32_t afterMintedTotal_
Definition
NFTInvariant.h:60
xrpl::NFTokenCountTracking::visitEntry
void visitEntry(bool, SLE::ConstRef, SLE::ConstRef)
Definition
NFTInvariant.cpp:186
xrpl::NFTokenCountTracking::beforeBurnedTotal_
std::uint32_t beforeBurnedTotal_
Definition
NFTInvariant.h:59
xrpl::NFTokenCountTracking::finalize
bool finalize(STTx const &, TER const, XRPAmount const, ReadView const &, beast::Journal const &) const
Definition
NFTInvariant.cpp:202
xrpl::NFTokenCountTracking::beforeMintedTotal_
std::uint32_t beforeMintedTotal_
Definition
NFTInvariant.h:58
xrpl::NFTokenCountTracking::afterBurnedTotal_
std::uint32_t afterBurnedTotal_
Definition
NFTInvariant.h:61
xrpl::ReadView
A view into a ledger.
Definition
ReadView.h:41
xrpl::STLedgerEntry::ConstRef
std::shared_ptr< STLedgerEntry const > const & ConstRef
Definition
STLedgerEntry.h:37
xrpl::STTx
Definition
STTx.h:43
xrpl::ValidNFTokenPage
Invariant: Validates several invariants for NFToken pages.
Definition
NFTInvariant.h:26
xrpl::ValidNFTokenPage::deletedFinalPage_
bool deletedFinalPage_
Definition
NFTInvariant.h:32
xrpl::ValidNFTokenPage::deletedLink_
bool deletedLink_
Definition
NFTInvariant.h:33
xrpl::ValidNFTokenPage::badURI_
bool badURI_
Definition
NFTInvariant.h:30
xrpl::ValidNFTokenPage::visitEntry
void visitEntry(bool, SLE::ConstRef, SLE::ConstRef)
Definition
NFTInvariant.cpp:28
xrpl::ValidNFTokenPage::badSort_
bool badSort_
Definition
NFTInvariant.h:29
xrpl::ValidNFTokenPage::badLink_
bool badLink_
Definition
NFTInvariant.h:28
xrpl::ValidNFTokenPage::invalidSize_
bool invalidSize_
Definition
NFTInvariant.h:31
xrpl::ValidNFTokenPage::badEntry_
bool badEntry_
Definition
NFTInvariant.h:27
xrpl::ValidNFTokenPage::finalize
bool finalize(STTx const &, TER const, XRPAmount const, ReadView const &, beast::Journal const &) const
Definition
NFTInvariant.cpp:129
xrpl::XRPAmount
Definition
XRPAmount.h:28
cstdint
std::uint32_t
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::TER
TERSubset< CanCvtToTER > TER
Definition
TER.h:654
Generated by
1.17.0