60 using namespace test::jtx;
65 size_t const numAccounts = 20;
66 boost::container::static_vector<Account, numAccounts> accounts;
67 for (
size_t i = 0; i < numAccounts; ++i)
70 auto const& acct = accounts.back();
71 env.fund(XRP(10000), acct);
75 auto const& prev = accounts[i - 1];
76 env.trust(acct[
"USD"](1000), prev);
77 env(pay(acct, prev, acct[
"USD"](5)));
79 env(offer(acct, XRP(100), acct[
"USD"](1)));
85 params[jss::start] = 0;
87 env.client().invoke(
"tx_history", params)[jss::result];
89 result[jss::txs].isArray() && result[jss::txs].size() > 0))
93 bool const txFound = [&] {
95 for (
auto tx : result[jss::txs])
104 BEAST_EXPECT(txFound);
107 unsigned int start = 0;
108 unsigned int total = 0;
114 params[jss::start] = start;
116 env.client().invoke(
"tx_history", params)[jss::result];
118 result[jss::txs].isArray() && result[jss::txs].size() > 0))
120 total += result[jss::txs].
size();
122 for (
auto const& t : result[jss::txs])
124 typeCounts[t[sfTransactionType.fieldName].asString()]++;
127 BEAST_EXPECT(total == 117);
128 BEAST_EXPECT(typeCounts[jss::AccountSet.c_str()] == 20);
129 BEAST_EXPECT(typeCounts[jss::TrustSet.c_str()] == 19);
130 BEAST_EXPECT(typeCounts[jss::Payment.c_str()] == 58);
131 BEAST_EXPECT(typeCounts[jss::OfferCreate.c_str()] == 20);
136 params[jss::start] = 10000;
138 env.client().invoke(
"tx_history", params)[jss::result];
139 BEAST_EXPECT(result[jss::status] ==
"success");
140 BEAST_EXPECT(result[jss::index] == 10000);