|
xrpld
|
Convenience class to test AMM functionality. More...
#include <AMM.h>

Classes | |
| struct | Pool |
| struct | Offers |
Public Member Functions | |
| AMM (Env &env, Account account, STAmount asset1, STAmount asset2, bool log=false, std::uint16_t tfee=0, std::uint32_t fee=0, std::optional< std::uint32_t > flags=std::nullopt, std::optional< jtx::Seq > seq=std::nullopt, std::optional< jtx::Msig > ms=std::nullopt, std::optional< Ter > const &ter=std::nullopt, bool close=true) | |
| AMM (Env &env, Account const &account, STAmount const &asset1, STAmount const &asset2, Ter const &ter, bool log=false, bool close=true) | |
| AMM (Env &env, Account const &account, STAmount const &asset1, STAmount const &asset2, CreateArg const &arg) | |
| json::Value | ammRpcInfo (std::optional< AccountID > const &account=std::nullopt, std::optional< std::string > const &ledgerIndex=std::nullopt, std::optional< Asset > const &asset1=std::nullopt, std::optional< Asset > const &asset2=std::nullopt, std::optional< AccountID > const &ammAccount=std::nullopt, bool ignoreParams=false, unsigned apiVersion=RPC::kApiInvalidVersion) const |
| Send amm_info RPC command. | |
| json::Value | ammRpcInfo (std::optional< json::Value > const &account, std::optional< std::string > const &ledgerIndex, std::optional< Asset > const &asset1, std::optional< Asset > const &asset2, std::optional< json::Value > const &ammAccount, bool ignoreParams, unsigned apiVersion) const |
| bool | expectBalances (STAmount const &asset1, STAmount const &asset2, IOUAmount const &lpt, std::optional< AccountID > const &account=std::nullopt) const |
| Verify the AMM balances. | |
| std::tuple< STAmount, STAmount, STAmount > | balances (Asset const &asset1, Asset const &asset2, std::optional< AccountID > const &account=std::nullopt) const |
| Get AMM balances for the token pair. | |
| std::tuple< STAmount, STAmount, STAmount > | balances (std::optional< AccountID > const &account=std::nullopt) const |
| bool | expectLPTokens (AccountID const &account, IOUAmount const &tokens) const |
| bool | expectAuctionSlot (std::uint32_t fee, std::optional< std::uint8_t > timeSlot, IOUAmount expectedPrice) const |
| bool | expectAuctionSlot (std::vector< AccountID > const &authAccount) const |
| bool | expectTradingFee (std::uint16_t fee) const |
| bool | expectAmmRpcInfo (STAmount const &asset1, STAmount const &asset2, IOUAmount const &balance, std::optional< AccountID > const &account=std::nullopt, std::optional< std::string > const &ledgerIndex=std::nullopt, std::optional< AccountID > const &ammAccount=std::nullopt) const |
| bool | ammExists () const |
| IOUAmount | deposit (std::optional< Account > const &account, LPToken tokens, std::optional< STAmount > const &asset1InDetails=std::nullopt, std::optional< std::uint32_t > const &flags=std::nullopt, std::optional< Ter > const &ter=std::nullopt) |
| IOUAmount | deposit (std::optional< Account > const &account, STAmount const &asset1InDetails, std::optional< STAmount > const &asset2InAmount=std::nullopt, std::optional< STAmount > const &maxEP=std::nullopt, std::optional< std::uint32_t > const &flags=std::nullopt, std::optional< Ter > const &ter=std::nullopt) |
| IOUAmount | deposit (std::optional< Account > const &account, std::optional< LPToken > tokens, std::optional< STAmount > const &asset1In, std::optional< STAmount > const &asset2In, std::optional< STAmount > const &maxEP, std::optional< std::uint32_t > const &flags, std::optional< std::pair< Asset, Asset > > const &assets, std::optional< jtx::Seq > const &seq, std::optional< std::uint16_t > const &tfee=std::nullopt, std::optional< Ter > const &ter=std::nullopt) |
| IOUAmount | deposit (DepositArg const &arg) |
| IOUAmount | withdraw (std::optional< Account > const &account, std::optional< LPToken > const &tokens, std::optional< STAmount > const &asset1OutDetails=std::nullopt, std::optional< std::uint32_t > const &flags=std::nullopt, std::optional< Ter > const &ter=std::nullopt) |
| IOUAmount | withdrawAll (std::optional< Account > const &account, std::optional< STAmount > const &asset1OutDetails=std::nullopt, std::optional< Ter > const &ter=std::nullopt) |
| IOUAmount | withdraw (std::optional< Account > const &account, STAmount const &asset1Out, std::optional< STAmount > const &asset2Out=std::nullopt, std::optional< LPToken > const &maxEP=std::nullopt, std::optional< Ter > const &ter=std::nullopt) |
| IOUAmount | withdraw (std::optional< Account > const &account, std::optional< LPToken > const &tokens, std::optional< STAmount > const &asset1Out, std::optional< STAmount > const &asset2Out, std::optional< LPToken > const &maxEP, std::optional< std::uint32_t > const &flags, std::optional< std::pair< Asset, Asset > > const &assets, std::optional< jtx::Seq > const &seq, std::optional< Ter > const &ter=std::nullopt) |
| IOUAmount | withdraw (WithdrawArg const &arg) |
| void | vote (std::optional< Account > const &account, std::uint32_t feeVal, std::optional< std::uint32_t > const &flags=std::nullopt, std::optional< jtx::Seq > const &seq=std::nullopt, std::optional< std::pair< Asset, Asset > > const &assets=std::nullopt, std::optional< Ter > const &ter=std::nullopt) |
| void | vote (VoteArg const &arg) |
| json::Value | bid (BidArg const &arg) |
| void | clawback (ClawbackArg const &arg) |
| AccountID const & | ammAccount () const |
| Issue | lptIssue () const |
| IOUAmount | tokens () const |
| IOUAmount | getLPTokensBalance (std::optional< AccountID > const &account=std::nullopt) const |
| std::string | operator[] (AccountID const &lp) const |
| json::Value | operator() (AccountID const &lp) const |
| void | ammDelete (AccountID const &account, std::optional< Ter > const &ter=std::nullopt) |
| void | setClose (bool close) |
| uint256 | ammID () const |
| void | setTokens (json::Value &jv, std::optional< std::pair< Asset, Asset > > const &assets=std::nullopt) |
| Asset const & | operator[] (std::uint8_t i) |
Static Public Member Functions | |
| static json::Value | createJv (AccountID const &account, STAmount const &asset1, STAmount const &asset2, std::uint16_t const &tfee) |
| static json::Value | depositJv (DepositArg const &arg) |
| static json::Value | withdrawJv (WithdrawArg const &arg) |
| static json::Value | voteJv (VoteArg const &arg) |
| static json::Value | deleteJv (AccountID const &account, Asset const &asset1, Asset const &assets) |
Private Member Functions | |
| AccountID | create (std::uint32_t tfee=0, std::optional< std::uint32_t > const &flags=std::nullopt, std::optional< jtx::Seq > const &seq=std::nullopt, std::optional< Ter > const &ter=std::nullopt) |
| void | log (bool log) |
| bool | expectAmmInfo (STAmount const &asset1, STAmount const &asset2, IOUAmount const &balance, json::Value const &jv) const |
| void | submit (json::Value const &jv, std::optional< jtx::Seq > const &seq, std::optional< Ter > const &ter) |
| bool | expectAuctionSlot (auto &&cb) const |
| IOUAmount | initialTokens () |
Private Attributes | |
| Env & | env_ |
| Account const | creatorAccount_ |
| STAmount const | asset1_ |
| STAmount const | asset2_ |
| uint256 const | ammID_ |
| bool | log_ |
| bool | doClose_ |
| IOUAmount | lastPurchasePrice_ |
| std::optional< IOUAmount > | bidMin_ |
| std::optional< IOUAmount > | bidMax_ |
| std::optional< Msig > const | msig_ |
| std::uint32_t const | fee_ |
| AccountID const | ammAccount_ |
| Issue const | lptIssue_ |
| IOUAmount const | initialLPTokens_ |
Friends | |
| std::ostream & | operator<< (std::ostream &s, AMM const &amm) |
Convenience class to test AMM functionality.
Definition at line 117 of file src/test/jtx/AMM.h.
| xrpl::test::jtx::AMM::AMM | ( | Env & | env, |
| Account | account, | ||
| STAmount | asset1, | ||
| STAmount | asset2, | ||
| bool | log = false, | ||
| std::uint16_t | tfee = 0, | ||
| std::uint32_t | fee = 0, | ||
| std::optional< std::uint32_t > | flags = std::nullopt, | ||
| std::optional< jtx::Seq > | seq = std::nullopt, | ||
| std::optional< jtx::Msig > | ms = std::nullopt, | ||
| std::optional< Ter > const & | ter = std::nullopt, | ||
| bool | close = true ) |
|
static |
|
nodiscard |
|
nodiscard |
|
nodiscard |
|
nodiscard |
|
nodiscard |
Definition at line 211 of file src/test/jtx/AMM.h.
|
nodiscard |
|
nodiscard |
|
nodiscard |
|
nodiscard |
|
static |
| IOUAmount xrpl::test::jtx::AMM::deposit | ( | std::optional< Account > const & | account, |
| LPToken | tokens, | ||
| std::optional< STAmount > const & | asset1InDetails = std::nullopt, | ||
| std::optional< std::uint32_t > const & | flags = std::nullopt, | ||
| std::optional< Ter > const & | ter = std::nullopt ) |
| IOUAmount xrpl::test::jtx::AMM::deposit | ( | std::optional< Account > const & | account, |
| STAmount const & | asset1InDetails, | ||
| std::optional< STAmount > const & | asset2InAmount = std::nullopt, | ||
| std::optional< STAmount > const & | maxEP = std::nullopt, | ||
| std::optional< std::uint32_t > const & | flags = std::nullopt, | ||
| std::optional< Ter > const & | ter = std::nullopt ) |
| IOUAmount xrpl::test::jtx::AMM::deposit | ( | std::optional< Account > const & | account, |
| std::optional< LPToken > | tokens, | ||
| std::optional< STAmount > const & | asset1In, | ||
| std::optional< STAmount > const & | asset2In, | ||
| std::optional< STAmount > const & | maxEP, | ||
| std::optional< std::uint32_t > const & | flags, | ||
| std::optional< std::pair< Asset, Asset > > const & | assets, | ||
| std::optional< jtx::Seq > const & | seq, | ||
| std::optional< std::uint16_t > const & | tfee = std::nullopt, | ||
| std::optional< Ter > const & | ter = std::nullopt ) |
| IOUAmount xrpl::test::jtx::AMM::deposit | ( | DepositArg const & | arg | ) |
|
static |
| IOUAmount xrpl::test::jtx::AMM::withdraw | ( | std::optional< Account > const & | account, |
| std::optional< LPToken > const & | tokens, | ||
| std::optional< STAmount > const & | asset1OutDetails = std::nullopt, | ||
| std::optional< std::uint32_t > const & | flags = std::nullopt, | ||
| std::optional< Ter > const & | ter = std::nullopt ) |
| IOUAmount xrpl::test::jtx::AMM::withdrawAll | ( | std::optional< Account > const & | account, |
| std::optional< STAmount > const & | asset1OutDetails = std::nullopt, | ||
| std::optional< Ter > const & | ter = std::nullopt ) |
Definition at line 296 of file src/test/jtx/AMM.h.
| IOUAmount xrpl::test::jtx::AMM::withdraw | ( | std::optional< Account > const & | account, |
| STAmount const & | asset1Out, | ||
| std::optional< STAmount > const & | asset2Out = std::nullopt, | ||
| std::optional< LPToken > const & | maxEP = std::nullopt, | ||
| std::optional< Ter > const & | ter = std::nullopt ) |
| IOUAmount xrpl::test::jtx::AMM::withdraw | ( | std::optional< Account > const & | account, |
| std::optional< LPToken > const & | tokens, | ||
| std::optional< STAmount > const & | asset1Out, | ||
| std::optional< STAmount > const & | asset2Out, | ||
| std::optional< LPToken > const & | maxEP, | ||
| std::optional< std::uint32_t > const & | flags, | ||
| std::optional< std::pair< Asset, Asset > > const & | assets, | ||
| std::optional< jtx::Seq > const & | seq, | ||
| std::optional< Ter > const & | ter = std::nullopt ) |
| IOUAmount xrpl::test::jtx::AMM::withdraw | ( | WithdrawArg const & | arg | ) |
|
static |
| void xrpl::test::jtx::AMM::vote | ( | std::optional< Account > const & | account, |
| std::uint32_t | feeVal, | ||
| std::optional< std::uint32_t > const & | flags = std::nullopt, | ||
| std::optional< jtx::Seq > const & | seq = std::nullopt, | ||
| std::optional< std::pair< Asset, Asset > > const & | assets = std::nullopt, | ||
| std::optional< Ter > const & | ter = std::nullopt ) |
| json::Value xrpl::test::jtx::AMM::bid | ( | BidArg const & | arg | ) |
| void xrpl::test::jtx::AMM::clawback | ( | ClawbackArg const & | arg | ) |
|
nodiscard |
Definition at line 354 of file src/test/jtx/AMM.h.
|
nodiscard |
Definition at line 360 of file src/test/jtx/AMM.h.
|
nodiscard |
Definition at line 366 of file src/test/jtx/AMM.h.
|
nodiscard |
| std::string xrpl::test::jtx::AMM::operator[] | ( | AccountID const & | lp | ) | const |
Definition at line 383 of file src/test/jtx/AMM.h.
| json::Value xrpl::test::jtx::AMM::operator() | ( | AccountID const & | lp | ) | const |
Definition at line 389 of file src/test/jtx/AMM.h.
|
static |
| void xrpl::test::jtx::AMM::ammDelete | ( | AccountID const & | account, |
| std::optional< Ter > const & | ter = std::nullopt ) |
| void xrpl::test::jtx::AMM::setClose | ( | bool | close | ) |
Definition at line 401 of file src/test/jtx/AMM.h.
|
nodiscard |
Definition at line 407 of file src/test/jtx/AMM.h.
| void xrpl::test::jtx::AMM::setTokens | ( | json::Value & | jv, |
| std::optional< std::pair< Asset, Asset > > const & | assets = std::nullopt ) |
| Asset const & xrpl::test::jtx::AMM::operator[] | ( | std::uint8_t | i | ) |
Definition at line 416 of file src/test/jtx/AMM.h.
|
nodiscardprivate |
|
private |
Definition at line 500 of file src/test/jtx/AMM.h.
|
nodiscardprivate |
|
private |
|
nodiscardprivate |
|
friend |
Definition at line 374 of file src/test/jtx/AMM.h.
|
private |
Definition at line 119 of file src/test/jtx/AMM.h.
|
private |
Definition at line 120 of file src/test/jtx/AMM.h.
|
private |
Definition at line 121 of file src/test/jtx/AMM.h.
|
private |
Definition at line 122 of file src/test/jtx/AMM.h.
|
private |
Definition at line 123 of file src/test/jtx/AMM.h.
|
private |
Definition at line 124 of file src/test/jtx/AMM.h.
|
private |
Definition at line 125 of file src/test/jtx/AMM.h.
|
private |
Definition at line 127 of file src/test/jtx/AMM.h.
|
private |
Definition at line 128 of file src/test/jtx/AMM.h.
|
private |
Definition at line 129 of file src/test/jtx/AMM.h.
|
private |
Definition at line 131 of file src/test/jtx/AMM.h.
|
private |
Definition at line 133 of file src/test/jtx/AMM.h.
|
private |
Definition at line 134 of file src/test/jtx/AMM.h.
|
private |
Definition at line 135 of file src/test/jtx/AMM.h.
|
private |
Definition at line 136 of file src/test/jtx/AMM.h.