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

Invariant: Sponsored owner counts are balanced. More...

#include <SponsorshipInvariant.h>

Collaboration diagram for xrpl::SponsorshipOwnerCountsMatch:

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 deltaSponsoredOwnerCount_ = 0
std::int64_t deltaSponsoringOwnerCount_ = 0
std::int64_t deltaSponsoredObjectOwnerCount_ = 0
std::uint64_t ownerCountBelowSponsored_ = 0

Detailed Description

Invariant: Sponsored owner counts are balanced.

The following checks are made for every transaction:

  • The sum of all per-account deltas of sfSponsoredOwnerCount equals the sum of all per-account deltas of sfSponsoringOwnerCount.
  • Account OwnerCount must be greater than or equal to SponsoredOwnerCount.
  • The net delta of sponsored object owner counts (the owner-count magnitude of sponsored ledger entries) equals the net delta of sfSponsoredOwnerCount.

Definition at line 25 of file SponsorshipInvariant.h.

Member Function Documentation

◆ visitEntry()

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

Definition at line 20 of file SponsorshipInvariant.cpp.

◆ finalize()

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

Definition at line 87 of file SponsorshipInvariant.cpp.

Member Data Documentation

◆ deltaSponsoredOwnerCount_

std::int64_t xrpl::SponsorshipOwnerCountsMatch::deltaSponsoredOwnerCount_ = 0
private

Definition at line 27 of file SponsorshipInvariant.h.

◆ deltaSponsoringOwnerCount_

std::int64_t xrpl::SponsorshipOwnerCountsMatch::deltaSponsoringOwnerCount_ = 0
private

Definition at line 28 of file SponsorshipInvariant.h.

◆ deltaSponsoredObjectOwnerCount_

std::int64_t xrpl::SponsorshipOwnerCountsMatch::deltaSponsoredObjectOwnerCount_ = 0
private

Definition at line 29 of file SponsorshipInvariant.h.

◆ ownerCountBelowSponsored_

std::uint64_t xrpl::SponsorshipOwnerCountsMatch::ownerCountBelowSponsored_ = 0
private

Definition at line 30 of file SponsorshipInvariant.h.