xrpld
Loading...
Searching...
No Matches
include
xrpl
tx
invariants
SponsorshipInvariant.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
SponsorshipOwnerCountsMatch
26
{
27
std::int64_t
deltaSponsoredOwnerCount_
= 0;
28
std::int64_t
deltaSponsoringOwnerCount_
= 0;
29
std::int64_t
deltaSponsoredObjectOwnerCount_
= 0;
30
std::uint64_t
ownerCountBelowSponsored_
= 0;
31
32
public
:
33
void
34
visitEntry
(
bool
,
SLE::const_ref
,
SLE::const_ref
);
35
36
[[nodiscard]]
bool
37
finalize
(
STTx
const
&,
TER
const
,
XRPAmount
const
,
ReadView
const
&,
beast::Journal
const
&)
const
;
38
};
39
48
class
SponsorshipAccountCountMatchesField
49
{
50
std::int64_t
deltaSponsoringAccountCount_
= 0;
51
std::int64_t
deltaSponsorFieldPresence_
= 0;
52
53
public
:
54
void
55
visitEntry
(
bool
,
SLE::const_ref
,
SLE::const_ref
);
56
57
[[nodiscard]]
bool
58
finalize
(
STTx
const
&,
TER
const
,
XRPAmount
const
,
ReadView
const
&,
beast::Journal
const
&)
const
;
59
};
60
61
}
// namespace xrpl
beast::Journal
A generic endpoint for log messages.
Definition
Journal.h:44
xrpl::ReadView
A view into a ledger.
Definition
ReadView.h:41
xrpl::STLedgerEntry::const_ref
std::shared_ptr< STLedgerEntry const > const & const_ref
Definition
STLedgerEntry.h:34
xrpl::STTx
Definition
STTx.h:41
xrpl::SponsorshipAccountCountMatchesField
Invariant: Sponsoring account relationships tracked consistently.
Definition
SponsorshipInvariant.h:49
xrpl::SponsorshipAccountCountMatchesField::deltaSponsoringAccountCount_
std::int64_t deltaSponsoringAccountCount_
Definition
SponsorshipInvariant.h:50
xrpl::SponsorshipAccountCountMatchesField::visitEntry
void visitEntry(bool, SLE::const_ref, SLE::const_ref)
Definition
SponsorshipInvariant.cpp:119
xrpl::SponsorshipAccountCountMatchesField::finalize
bool finalize(STTx const &, TER const, XRPAmount const, ReadView const &, beast::Journal const &) const
Definition
SponsorshipInvariant.cpp:141
xrpl::SponsorshipAccountCountMatchesField::deltaSponsorFieldPresence_
std::int64_t deltaSponsorFieldPresence_
Definition
SponsorshipInvariant.h:51
xrpl::SponsorshipOwnerCountsMatch
Invariant: Sponsored owner counts are balanced.
Definition
SponsorshipInvariant.h:26
xrpl::SponsorshipOwnerCountsMatch::deltaSponsoredObjectOwnerCount_
std::int64_t deltaSponsoredObjectOwnerCount_
Definition
SponsorshipInvariant.h:29
xrpl::SponsorshipOwnerCountsMatch::finalize
bool finalize(STTx const &, TER const, XRPAmount const, ReadView const &, beast::Journal const &) const
Definition
SponsorshipInvariant.cpp:87
xrpl::SponsorshipOwnerCountsMatch::visitEntry
void visitEntry(bool, SLE::const_ref, SLE::const_ref)
Definition
SponsorshipInvariant.cpp:20
xrpl::SponsorshipOwnerCountsMatch::ownerCountBelowSponsored_
std::uint64_t ownerCountBelowSponsored_
Definition
SponsorshipInvariant.h:30
xrpl::SponsorshipOwnerCountsMatch::deltaSponsoredOwnerCount_
std::int64_t deltaSponsoredOwnerCount_
Definition
SponsorshipInvariant.h:27
xrpl::SponsorshipOwnerCountsMatch::deltaSponsoringOwnerCount_
std::int64_t deltaSponsoringOwnerCount_
Definition
SponsorshipInvariant.h:28
xrpl::XRPAmount
Definition
XRPAmount.h:28
cstdint
std::int64_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:647
Generated by
1.16.1