1#ifndef XRPL_TEST_JTX_AMMTEST_H_INCLUDED
2#define XRPL_TEST_JTX_AMMTEST_H_INCLUDED
4#include <test/jtx/Account.h>
5#include <test/jtx/amount.h>
6#include <test/jtx/ter.h>
8#include <xrpl/beast/unit_test/suite.h>
9#include <xrpl/protocol/Feature.h>
108 template <
class Rep,
class Period>
std::string const & arg() const
Return the argument associated with the runner.
void testAMM(std::function< void(jtx::AMM &, jtx::Env &)> &&cb, std::optional< std::pair< STAmount, STAmount > > const &pool=std::nullopt, std::uint16_t tfee=0, std::optional< jtx::ter > const &ter=std::nullopt, std::vector< FeatureBitset > const &features={testable_amendments()})
testAMM() funds 30,000XRP and 30,000IOU for each non-XRP asset to Alice and Carol
bool wait_for(std::chrono::duration< Rep, Period > const &rel_time)
std::condition_variable cv_
std::tuple< STPathSet, STAmount, STAmount > find_paths(jtx::Env &env, jtx::Account const &src, jtx::Account const &dst, STAmount const &saDstAmount, std::optional< STAmount > const &saSendMax=std::nullopt, std::optional< Currency > const &saSrcCurrency=std::nullopt)
XRPAmount ammCrtFee(jtx::Env &env) const
XRPAmount reserve(jtx::Env &env, std::uint32_t count) const
Json::Value find_paths_request(jtx::Env &env, jtx::Account const &src, jtx::Account const &dst, STAmount const &saDstAmount, std::optional< STAmount > const &saSendMax=std::nullopt, std::optional< Currency > const &saSrcCurrency=std::nullopt)
Convenience class to test AMM functionality.
Immutable cryptographic account descriptor.
A transaction testing environment.
Converts to IOU Issue or STAmount.
Set the expected result code for a JTx The test will fail if the code doesn't match.
void fund(jtx::Env &env, jtx::Account const &gw, std::vector< jtx::Account > const &accounts, std::vector< STAmount > const &amts, Fund how)
FeatureBitset testable_amendments()
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::vector< FeatureBitset > features
std::optional< std::pair< STAmount, STAmount > > pool