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

Maintains AMM info per overall payment engine execution and individual iteration. More...

#include <AMMContext.h>

Collaboration diagram for xrpl::AMMContext:

Public Member Functions

 AMMContext (AccountID const &account, bool multiPath)
 ~AMMContext ()=default
 AMMContext (AMMContext const &)=delete
AMMContextoperator= (AMMContext const &)=delete
bool multiPath () const
void setMultiPath (bool fs)
void setAMMUsed ()
void update ()
bool maxItersReached () const
std::uint16_t curIters () const
AccountID account () const
void clear ()
 Strand execution may fail.

Static Public Attributes

static constexpr std::uint8_t kMaxIterations = 30

Private Attributes

AccountID accountID_
bool multiPath_ {false}
bool ammUsed_ {false}
std::uint16_t ammIters_ {0}

Detailed Description

Maintains AMM info per overall payment engine execution and individual iteration.

Only one instance of this class is created in Flow.cpp::flow(). The reference is percolated through calls to AMMLiquidity class, which handles AMM offer generation.

Definition at line 15 of file AMMContext.h.

Constructor & Destructor Documentation

◆ AMMContext() [1/2]

xrpl::AMMContext::AMMContext ( AccountID const & account,
bool multiPath )

Definition at line 34 of file AMMContext.h.

◆ ~AMMContext()

xrpl::AMMContext::~AMMContext ( )
default

◆ AMMContext() [2/2]

xrpl::AMMContext::AMMContext ( AMMContext const & )
delete

Member Function Documentation

◆ operator=()

AMMContext & xrpl::AMMContext::operator= ( AMMContext const & )
delete

◆ multiPath()

bool xrpl::AMMContext::multiPath ( ) const
nodiscard

Definition at line 44 of file AMMContext.h.

◆ setMultiPath()

void xrpl::AMMContext::setMultiPath ( bool fs)

Definition at line 50 of file AMMContext.h.

◆ setAMMUsed()

void xrpl::AMMContext::setAMMUsed ( )

Definition at line 56 of file AMMContext.h.

◆ update()

void xrpl::AMMContext::update ( )

Definition at line 62 of file AMMContext.h.

◆ maxItersReached()

bool xrpl::AMMContext::maxItersReached ( ) const
nodiscard

Definition at line 70 of file AMMContext.h.

◆ curIters()

std::uint16_t xrpl::AMMContext::curIters ( ) const
nodiscard

Definition at line 76 of file AMMContext.h.

◆ account()

AccountID xrpl::AMMContext::account ( ) const
nodiscard

Definition at line 82 of file AMMContext.h.

◆ clear()

void xrpl::AMMContext::clear ( )

Strand execution may fail.

Reset the flag at the start of each payment engine iteration.

Definition at line 91 of file AMMContext.h.

Member Data Documentation

◆ kMaxIterations

std::uint8_t xrpl::AMMContext::kMaxIterations = 30
staticconstexpr

Definition at line 21 of file AMMContext.h.

◆ accountID_

AccountID xrpl::AMMContext::accountID_
private

Definition at line 25 of file AMMContext.h.

◆ multiPath_

bool xrpl::AMMContext::multiPath_ {false}
private

Definition at line 27 of file AMMContext.h.

◆ ammUsed_

bool xrpl::AMMContext::ammUsed_ {false}
private

Definition at line 29 of file AMMContext.h.

◆ ammIters_

std::uint16_t xrpl::AMMContext::ammIters_ {0}
private

Definition at line 31 of file AMMContext.h.