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

#include <AMMInvariant.h>

Collaboration diagram for xrpl::ValidAMM:

Public Types

enum class  ZeroAllowed : bool { No = false , Yes = true }

Public Member Functions

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

Private Member Functions

bool finalizeBid (bool enforce, beast::Journal const &) const
bool finalizeVote (bool enforce, beast::Journal const &) const
bool finalizeCreate (STTx const &, ReadView const &, bool enforce, beast::Journal const &) const
bool finalizeDelete (bool enforce, bool enforceAMMDelete, TER res, beast::Journal const &) const
bool finalizeDeposit (STTx const &, ReadView const &, bool enforce, beast::Journal const &) const
bool finalizeWithdraw (STTx const &, ReadView const &, bool enforce, bool enforceAMMDelete, beast::Journal const &) const
bool finalizeDEX (bool enforce, beast::Journal const &) const
bool generalInvariant (STTx const &, ReadView const &, ZeroAllowed zeroAllowed, beast::Journal const &) const

Private Attributes

std::optional< AccountIDammAccount_
std::optional< STAmountlptAMMBalanceAfter_
std::optional< STAmountlptAMMBalanceBefore_
std::optional< STAmountlptAMMBalanceBeforeDeletion_
bool ammPoolChanged_ {false}
bool ammDeleted_ {false}

Detailed Description

Definition at line 13 of file AMMInvariant.h.

Member Enumeration Documentation

◆ ZeroAllowed

enum class xrpl::ValidAMM::ZeroAllowed : bool
strong
Enumerator
No 
Yes 

Definition at line 23 of file AMMInvariant.h.

Constructor & Destructor Documentation

◆ ValidAMM()

xrpl::ValidAMM::ValidAMM ( )
default

Member Function Documentation

◆ visitEntry()

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

Definition at line 27 of file AMMInvariant.cpp.

◆ finalize()

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

Definition at line 338 of file AMMInvariant.cpp.

◆ finalizeBid()

bool xrpl::ValidAMM::finalizeBid ( bool enforce,
beast::Journal const & j ) const
nodiscardprivate

Definition at line 104 of file AMMInvariant.cpp.

◆ finalizeVote()

bool xrpl::ValidAMM::finalizeVote ( bool enforce,
beast::Journal const & j ) const
nodiscardprivate

Definition at line 86 of file AMMInvariant.cpp.

◆ finalizeCreate()

bool xrpl::ValidAMM::finalizeCreate ( STTx const & tx,
ReadView const & view,
bool enforce,
beast::Journal const & j ) const
nodiscardprivate

Definition at line 132 of file AMMInvariant.cpp.

◆ finalizeDelete()

bool xrpl::ValidAMM::finalizeDelete ( bool enforce,
bool enforceAMMDelete,
TER res,
beast::Journal const & j ) const
nodiscardprivate

Definition at line 176 of file AMMInvariant.cpp.

◆ finalizeDeposit()

bool xrpl::ValidAMM::finalizeDeposit ( xrpl::STTx const & tx,
xrpl::ReadView const & view,
bool enforce,
beast::Journal const & j ) const
nodiscardprivate

Definition at line 291 of file AMMInvariant.cpp.

◆ finalizeWithdraw()

bool xrpl::ValidAMM::finalizeWithdraw ( xrpl::STTx const & tx,
xrpl::ReadView const & view,
bool enforce,
bool enforceAMMDelete,
beast::Journal const & j ) const
nodiscardprivate

Definition at line 314 of file AMMInvariant.cpp.

◆ finalizeDEX()

bool xrpl::ValidAMM::finalizeDEX ( bool enforce,
beast::Journal const & j ) const
nodiscardprivate

Definition at line 235 of file AMMInvariant.cpp.

◆ generalInvariant()

bool xrpl::ValidAMM::generalInvariant ( xrpl::STTx const & tx,
xrpl::ReadView const & view,
ZeroAllowed zeroAllowed,
beast::Journal const & j ) const
nodiscardprivate

Definition at line 250 of file AMMInvariant.cpp.

Member Data Documentation

◆ ammAccount_

std::optional<AccountID> xrpl::ValidAMM::ammAccount_
private

Definition at line 15 of file AMMInvariant.h.

◆ lptAMMBalanceAfter_

std::optional<STAmount> xrpl::ValidAMM::lptAMMBalanceAfter_
private

Definition at line 16 of file AMMInvariant.h.

◆ lptAMMBalanceBefore_

std::optional<STAmount> xrpl::ValidAMM::lptAMMBalanceBefore_
private

Definition at line 17 of file AMMInvariant.h.

◆ lptAMMBalanceBeforeDeletion_

std::optional<STAmount> xrpl::ValidAMM::lptAMMBalanceBeforeDeletion_
private

Definition at line 18 of file AMMInvariant.h.

◆ ammPoolChanged_

bool xrpl::ValidAMM::ammPoolChanged_ {false}
private

Definition at line 19 of file AMMInvariant.h.

◆ ammDeleted_

bool xrpl::ValidAMM::ammDeleted_ {false}
private

Definition at line 20 of file AMMInvariant.h.