1#ifndef XRPL_LEDGER_TESTS_PATHSET_H_INCLUDED
2#define XRPL_LEDGER_TESTS_PATHSET_H_INCLUDED
6#include <xrpl/basics/Log.h>
7#include <xrpl/protocol/TxFlags.h>
18 Issue const& takerPays,
19 Issue const& takerGets)
24 if (sle->getType() == ltOFFER &&
25 sle->getFieldAmount(sfTakerPays).issue() == takerPays &&
26 sle->getFieldAmount(sfTakerGets).issue() == takerGets)
42 if (sle->getType() == ltOFFER &&
43 sle->getFieldAmount(sfTakerPays) == takerPays &&
44 sle->getFieldAmount(sfTakerGets) == takerGets)
59 return countOffers(env, account, takerPays, takerGets) > 0;
68 Issue const& takerPays,
69 Issue const& takerGets)
71 return countOffers(env, account, takerPays, takerGets) > 0;
87 template <
class First,
class... Rest>
88 explicit Path(First&& first, Rest&&... rest)
102 template <
class First,
class... Rest>
104 addHelper(First&& first, Rest&&... rest);
110 path.emplace_back(pe);
128 path.emplace_back(account.id(), beast::zero, beast::zero);
132template <
class First,
class... Rest>
137 if constexpr (
sizeof...(rest) > 0)
160 template <
class First,
class... Rest>
161 explicit PathSet(First&& first, Rest&&... rest)
174 template <
class First,
class... Rest>
178 paths.emplace_back(std::move(first.path));
179 if constexpr (
sizeof...(rest) > 0)
A currency issued by an account.
PathSet & operator=(PathSet const &)=default
PathSet(First &&first, Rest &&... rest)
PathSet(PathSet &&)=default
PathSet(PathSet const &)=default
void addHelper(First first, Rest... rest)
PathSet & operator=(PathSet &&)=default
Path & operator=(Path &&)=default
Path(First &&first, Rest &&... rest)
void addHelper(First &&first, Rest &&... rest)
Path & push_back(Issue const &iss)
Path(Path const &)=default
Path & operator=(Path const &)=default
Immutable cryptographic account descriptor.
A transaction testing environment.
std::shared_ptr< OpenView const > current() const
Returns the current ledger.
Set Paths, SendMax on a JTx.
bool isOffer(jtx::Env &env, jtx::Account const &account, STAmount const &takerPays, STAmount const &takerGets)
An offer exists.
std::size_t countOffers(jtx::Env &env, jtx::Account const &account, Issue const &takerPays, Issue const &takerGets)
Count offer.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
void forEachItem(ReadView const &view, Keylet const &root, std::function< void(std::shared_ptr< SLE const > const &)> const &f)
Iterate all items in the given directory.