rippled
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
xrpl::ValidAMM Class Reference

#include <AMMInvariant.h>

Collaboration diagram for xrpl::ValidAMM:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

 ValidAMM ()
 
void visitEntry (bool, std::shared_ptr< SLE const > const &, std::shared_ptr< SLE const > const &)
 
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, 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, 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_
 
bool ammPoolChanged_ {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 21 of file AMMInvariant.h.

Constructor & Destructor Documentation

◆ ValidAMM()

xrpl::ValidAMM::ValidAMM ( )

Definition at line 23 of file AMMInvariant.h.

Member Function Documentation

◆ visitEntry()

void xrpl::ValidAMM::visitEntry ( bool  isDelete,
std::shared_ptr< SLE const > const &  before,
std::shared_ptr< SLE const > const &  after 
)

Definition at line 12 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 269 of file AMMInvariant.cpp.

◆ finalizeBid()

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

Definition at line 84 of file AMMInvariant.cpp.

◆ finalizeVote()

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

Definition at line 66 of file AMMInvariant.cpp.

◆ finalizeCreate()

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

Definition at line 112 of file AMMInvariant.cpp.

◆ finalizeDelete()

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

Definition at line 152 of file AMMInvariant.cpp.

◆ finalizeDeposit()

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

Definition at line 226 of file AMMInvariant.cpp.

◆ finalizeWithdraw()

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

Definition at line 249 of file AMMInvariant.cpp.

◆ finalizeDEX()

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

Definition at line 169 of file AMMInvariant.cpp.

◆ generalInvariant()

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

Definition at line 184 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.

◆ ammPoolChanged_

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

Definition at line 18 of file AMMInvariant.h.