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

Invariant: Token holder's trustline balance cannot be negative after Clawback. More...

#include <InvariantCheck.h>

Collaboration diagram for xrpl::ValidClawback:

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::uint32_t trustlinesChanged_ = 0
std::uint32_t mptokensChanged_ = 0

Detailed Description

Invariant: Token holder's trustline balance cannot be negative after Clawback.

We iterate all the trust lines affected by this transaction and ensure that no more than one trustline is modified, and also holder's balance is non-negative.

Definition at line 320 of file InvariantCheck.h.

Member Function Documentation

◆ visitEntry()

void xrpl::ValidClawback::visitEntry ( bool ,
SLE::const_ref before,
SLE::const_ref  )

Definition at line 761 of file InvariantCheck.cpp.

◆ finalize()

bool xrpl::ValidClawback::finalize ( STTx const & tx,
TER const result,
XRPAmount const ,
ReadView const & view,
beast::Journal const & j ) const
nodiscard

Definition at line 771 of file InvariantCheck.cpp.

Member Data Documentation

◆ trustlinesChanged_

std::uint32_t xrpl::ValidClawback::trustlinesChanged_ = 0
private

Definition at line 322 of file InvariantCheck.h.

◆ mptokensChanged_

std::uint32_t xrpl::ValidClawback::mptokensChanged_ = 0
private

Definition at line 323 of file InvariantCheck.h.