20#ifndef RIPPLE_TEST_JTX_MPT_H_INCLUDED
21#define RIPPLE_TEST_JTX_MPT_H_INCLUDED
24#include <test/jtx/ter.h>
25#include <test/jtx/txflags.h>
27#include <xrpl/protocol/UintTypes.h>
165 set(MPTSet
const& set = {});
176 uint32_t
const expectedFlags,
208 Throw<std::logic_error>(
"Uninitialized issuanceID");
225 template <
typename A>
231 txflags(arg.flags.value_or(0)),
Immutable cryptographic account descriptor.
A transaction testing environment.
void require(Args const &... args)
Check a set of requirements.
TER ter() const
Return the TER for the last JTx.
beast::unit_test::suite & test
bool close(NetClock::time_point closeTime, std::optional< std::chrono::milliseconds > consensusDelay=std::nullopt)
Close and advance the ledger.
bool checkMPTokenOutstandingAmount(std::int64_t expectedAmount) const
void authorize(MPTAuthorize const &arg=MPTAuthorize{})
void pay(Account const &src, Account const &dest, std::int64_t amount, std::optional< TER > err=std::nullopt, std::optional< std::vector< std::string > > credentials=std::nullopt)
static std::unordered_map< std::string, Account > makeHolders(std::vector< Account > const &holders)
MPTID const & issuanceID() const
TER submit(A const &arg, Json::Value const &jv)
void claw(Account const &issuer, Account const &holder, std::int64_t amount, std::optional< TER > err=std::nullopt)
PrettyAmount mpt(std::int64_t amount) const
bool checkFlags(uint32_t const expectedFlags, std::optional< Account > const &holder=std::nullopt) const
Account const & holder(std::string const &h) const
MPT operator[](std::string const &name)
Account const & issuer() const
bool forObject(std::function< bool(SLEP const &sle)> const &cb, std::optional< Account > const &holder=std::nullopt) const
std::optional< MPTID > id_
std::int64_t getBalance(Account const &account) const
std::unordered_map< std::string, Account > const holders_
std::uint32_t getFlags(std::optional< Account > const &holder) const
bool checkMPTokenAmount(Account const &holder, std::int64_t expectedAmount) const
void create(MPTCreate const &arg=MPTCreate{})
Converts to MPT Issue or STAmount.
mptbalance(MPTTester &tester, Account const &account, std::int64_t amount)
void operator()(Env &env) const
std::int64_t const amount_
MPTTester const & tester_
mptflags(MPTTester &tester, std::uint32_t flags, std::optional< Account > const &holder=std::nullopt)
void operator()(Env &env) const
std::optional< Account > holder_
Match the number of items in the account's owner directory.
void operator()(Env &env) const
requireAny(std::function< bool()> const &cb)
std::function< bool()> cb_
Set the expected result code for a JTx The test will fail if the code doesn't match.
static MPTInit const mptInitNoFund
XRP_t const XRP
Converts to XRP Issue or STAmount.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::optional< std::uint32_t > ownerCount
std::optional< Account > holder
std::optional< std::uint32_t > holderCount
std::optional< Account > account
std::optional< std::uint8_t > assetScale
std::optional< std::uint16_t > transferFee
std::optional< std::string > metadata
std::optional< std::uint32_t > ownerCount
std::optional< std::uint64_t > maxAmt
std::optional< std::uint32_t > holderCount
std::optional< Account > issuer
std::optional< std::uint32_t > holderCount
std::optional< std::uint32_t > ownerCount
std::vector< Account > holders
PrettyAmount const xrpHolders
std::optional< std::uint32_t > ownerCount
std::optional< Account > account
std::optional< std::uint32_t > holderCount
std::optional< Account > holder
std::optional< Account > delegate
Represents an XRP or IOU quantity This customizes the string conversion and supports XRP conversions ...