xrpld
Loading...
Searching...
No Matches
xrpl::SponsorshipAccountCountMatchesField Class Reference

Invariant: Sponsoring account relationships tracked consistently. More...

#include <SponsorshipInvariant.h>

Collaboration diagram for xrpl::SponsorshipAccountCountMatchesField:

Public Member Functions

void visitEntry (bool, SLE::const_ref, SLE::const_ref)
bool finalize (STTx const &, TER const, XRPAmount const, ReadView const &, beast::Journal const &) const

Private Attributes

std::int64_t deltaSponsoringAccountCount_ = 0
std::int64_t deltaSponsorFieldPresence_ = 0

Detailed Description

Invariant: Sponsoring account relationships tracked consistently.

The following check is made for every transaction:

  • The net delta of sfSponsoringAccountCount across all accounts equals the net delta of the count of ltACCOUNT_ROOT entries having sfSponsor present (presence transitions only: add/remove).

Definition at line 48 of file SponsorshipInvariant.h.

Member Function Documentation

◆ visitEntry()

void xrpl::SponsorshipAccountCountMatchesField::visitEntry ( bool ,
SLE::const_ref before,
SLE::const_ref after )

Definition at line 119 of file SponsorshipInvariant.cpp.

◆ finalize()

bool xrpl::SponsorshipAccountCountMatchesField::finalize ( STTx const & ,
TER const ,
XRPAmount const ,
ReadView const & ,
beast::Journal const & j ) const
nodiscard

Definition at line 141 of file SponsorshipInvariant.cpp.

Member Data Documentation

◆ deltaSponsoringAccountCount_

std::int64_t xrpl::SponsorshipAccountCountMatchesField::deltaSponsoringAccountCount_ = 0
private

Definition at line 50 of file SponsorshipInvariant.h.

◆ deltaSponsorFieldPresence_

std::int64_t xrpl::SponsorshipAccountCountMatchesField::deltaSponsorFieldPresence_ = 0
private

Definition at line 51 of file SponsorshipInvariant.h.