xrpld
Loading...
Searching...
No Matches
xrpl::XRPEndpointStep< TDerived > Class Template Reference
Inheritance diagram for xrpl::XRPEndpointStep< TDerived >:
Collaboration diagram for xrpl::XRPEndpointStep< TDerived >:

Public Member Functions

AccountID const & acc () const
std::optional< std::pair< AccountID, AccountID > > directStepAccts () const override
std::optional< EitherAmountcachedIn () const override
std::optional< EitherAmountcachedOut () const override
DebtDirection debtDirection (ReadView const &sb, StrandDirection dir) const override
std::pair< std::optional< Quality >, DebtDirectionqualityUpperBound (ReadView const &v, DebtDirection prevStepDir) const override
std::pair< XRPAmount, XRPAmountrevImp (PaymentSandbox &sb, ApplyView &afView, boost::container::flat_set< uint256 > &ofrsToRm, XRPAmount const &out)
std::pair< XRPAmount, XRPAmountfwdImp (PaymentSandbox &sb, ApplyView &afView, boost::container::flat_set< uint256 > &ofrsToRm, XRPAmount const &in)
std::pair< bool, EitherAmountvalidFwd (PaymentSandbox &sb, ApplyView &afView, EitherAmount const &in) override
TER check (StrandContext const &ctx) const

Protected Member Functions

XRPAmount xrpLiquidImpl (ReadView &sb, std::int32_t reserveReduction) const
std::string logStringImpl (char const *name) const

Private Member Functions

std::optional< EitherAmountcached () const
 XRPEndpointStep (StrandContext const &ctx, AccountID const &acc)
bool equal (Step const &rhs) const override

Private Attributes

AccountID acc_
bool const isLast_
beast::Journal const j_
std::optional< XRPAmountcache_
friend TDerived

Friends

template<class P>
bool operator== (XRPEndpointStep< P > const &lhs, XRPEndpointStep< P > const &rhs)
bool operator!= (XRPEndpointStep const &lhs, XRPEndpointStep const &rhs)

Detailed Description

template<class TDerived>
class xrpl::XRPEndpointStep< TDerived >

Definition at line 35 of file XRPEndpointStep.cpp.

Constructor & Destructor Documentation

◆ XRPEndpointStep()

template<class TDerived>
xrpl::XRPEndpointStep< TDerived >::XRPEndpointStep ( StrandContext const & ctx,
AccountID const & acc )
private

Definition at line 55 of file XRPEndpointStep.cpp.

Member Function Documentation

◆ cached()

template<class TDerived>
std::optional< EitherAmount > xrpl::XRPEndpointStep< TDerived >::cached ( ) const
nodiscardprivate

Definition at line 48 of file XRPEndpointStep.cpp.

◆ acc()

template<class TDerived>
AccountID const & xrpl::XRPEndpointStep< TDerived >::acc ( ) const
nodiscard

Definition at line 62 of file XRPEndpointStep.cpp.

◆ directStepAccts()

template<class TDerived>
std::optional< std::pair< AccountID, AccountID > > xrpl::XRPEndpointStep< TDerived >::directStepAccts ( ) const
nodiscardoverride

Definition at line 68 of file XRPEndpointStep.cpp.

◆ cachedIn()

template<class TDerived>
std::optional< EitherAmount > xrpl::XRPEndpointStep< TDerived >::cachedIn ( ) const
nodiscardoverride

Definition at line 76 of file XRPEndpointStep.cpp.

◆ cachedOut()

template<class TDerived>
std::optional< EitherAmount > xrpl::XRPEndpointStep< TDerived >::cachedOut ( ) const
nodiscardoverride

Definition at line 82 of file XRPEndpointStep.cpp.

◆ debtDirection()

template<class TDerived>
DebtDirection xrpl::XRPEndpointStep< TDerived >::debtDirection ( ReadView const & sb,
StrandDirection dir ) const
nodiscardoverride

Definition at line 88 of file XRPEndpointStep.cpp.

◆ qualityUpperBound()

template<class TDerived>
std::pair< std::optional< Quality >, DebtDirection > xrpl::XRPEndpointStep< TDerived >::qualityUpperBound ( ReadView const & v,
DebtDirection prevStepDir ) const
nodiscardoverride

Definition at line 253 of file XRPEndpointStep.cpp.

◆ revImp()

template<class TDerived>
std::pair< XRPAmount, XRPAmount > xrpl::XRPEndpointStep< TDerived >::revImp ( PaymentSandbox & sb,
ApplyView & afView,
boost::container::flat_set< uint256 > & ofrsToRm,
XRPAmount const & out )

Definition at line 260 of file XRPEndpointStep.cpp.

◆ fwdImp()

template<class TDerived>
std::pair< XRPAmount, XRPAmount > xrpl::XRPEndpointStep< TDerived >::fwdImp ( PaymentSandbox & sb,
ApplyView & afView,
boost::container::flat_set< uint256 > & ofrsToRm,
XRPAmount const & in )

Definition at line 282 of file XRPEndpointStep.cpp.

◆ validFwd()

template<class TDerived>
std::pair< bool, EitherAmount > xrpl::XRPEndpointStep< TDerived >::validFwd ( PaymentSandbox & sb,
ApplyView & afView,
EitherAmount const & in )
override

Definition at line 305 of file XRPEndpointStep.cpp.

◆ check()

template<class TDerived>
TER xrpl::XRPEndpointStep< TDerived >::check ( StrandContext const & ctx) const
nodiscard

Definition at line 337 of file XRPEndpointStep.cpp.

◆ xrpLiquidImpl()

template<class TDerived>
XRPAmount xrpl::XRPEndpointStep< TDerived >::xrpLiquidImpl ( ReadView & sb,
std::int32_t reserveReduction ) const
protected

Definition at line 119 of file XRPEndpointStep.cpp.

◆ logStringImpl()

template<class TDerived>
std::string xrpl::XRPEndpointStep< TDerived >::logStringImpl ( char const * name) const
protected

Definition at line 125 of file XRPEndpointStep.cpp.

◆ equal()

template<class TDerived>
bool xrpl::XRPEndpointStep< TDerived >::equal ( Step const & rhs) const
nodiscardoverrideprivate

Definition at line 145 of file XRPEndpointStep.cpp.

◆ operator==

template<class TDerived>
template<class P>
bool operator== ( XRPEndpointStep< P > const & lhs,
XRPEndpointStep< P > const & rhs )
friend

◆ operator!=

template<class TDerived>
bool operator!= ( XRPEndpointStep< TDerived > const & lhs,
XRPEndpointStep< TDerived > const & rhs )
friend

Definition at line 139 of file XRPEndpointStep.cpp.

Member Data Documentation

◆ acc_

template<class TDerived>
AccountID xrpl::XRPEndpointStep< TDerived >::acc_
private

Definition at line 38 of file XRPEndpointStep.cpp.

◆ isLast_

template<class TDerived>
bool const xrpl::XRPEndpointStep< TDerived >::isLast_
private

Definition at line 39 of file XRPEndpointStep.cpp.

◆ j_

template<class TDerived>
beast::Journal const xrpl::XRPEndpointStep< TDerived >::j_
private

Definition at line 40 of file XRPEndpointStep.cpp.

◆ cache_

template<class TDerived>
std::optional<XRPAmount> xrpl::XRPEndpointStep< TDerived >::cache_
private

Definition at line 45 of file XRPEndpointStep.cpp.

◆ TDerived

template<class TDerived>
friend xrpl::XRPEndpointStep< TDerived >::TDerived
private

Definition at line 154 of file XRPEndpointStep.cpp.