20 #include <ripple/app/tx/impl/details/NFTokenUtils.h>
21 #include <ripple/protocol/Feature.h>
22 #include <ripple/protocol/jss.h>
23 #include <ripple/protocol/nftPageMask.h>
45 jvParams[jss::ledger_index] =
"current";
46 jvParams[jss::binary] =
false;
51 boost::lexical_cast<std::string>(jvParams));
55 !jrr[jss::result].
isMember(jss::state))
73 std::cout << tokenCount <<
" NFtokens in page "
103 testcase(
"Sequential NFTs");
105 using namespace test::jtx;
106 Env env{*
this, features};
116 Account
const issuer{
"issuer"};
117 Account
const buyer{
"buyer"};
118 env.fund(XRP(10000), buyer, issuer);
126 for (
int i = 0; i < nftCount; ++i)
139 for (
uint256 const& nftID : nftIDs)
142 env(token::createOffer(issuer, nftID, XRP(0)),
149 for (
uint256 const& offer : offers)
151 env(token::acceptSellOffer(buyer, offer));
160 testcase(
"Lopsided splits");
162 using namespace test::jtx;
175 auto exerciseLopsided =
178 Env env{*
this, features};
181 Account
const buyer{
"buyer"};
182 env.fund(XRP(10000), buyer);
187 accounts.
reserve(seeds.size());
192 env.fund(XRP(10000), account);
200 offers.reserve(accounts.
size());
201 for (Account
const& account : accounts)
212 env(token::createOffer(account, nftID, XRP(0)),
213 token::destination(buyer),
219 for (
uint256 const& offer : offers)
221 env(token::acceptSellOffer(buyer, offer));
232 for (
uint256 const& nftID : nftIDs)
236 env(token::createOffer(buyer, nftID, XRP(100)),
240 env(token::cancelOffer(buyer, {offerID}));
246 params[jss::account] = buyer.human();
247 params[jss::type] =
"state";
248 return env.rpc(
"json",
"account_nfts",
to_string(params));
252 buyerNFTs[jss::result][jss::account_nfts].size() ==
255 buyerNFTs[jss::result][jss::account_nfts])
260 auto const foundIter =
261 std::find(nftIDs.begin(), nftIDs.end(), ownedID);
265 if (BEAST_EXPECT(foundIter != nftIDs.end()))
266 nftIDs.erase(foundIter);
271 BEAST_EXPECT(nftIDs.empty());
278 "sp6JS7f14BuwFY8Mw5p3b8jjQBBTK",
279 "sp6JS7f14BuwFY8Mw6F7X3EiGKazu",
280 "sp6JS7f14BuwFY8Mw6FxjntJJfKXq",
281 "sp6JS7f14BuwFY8Mw6eSF1ydEozJg",
282 "sp6JS7f14BuwFY8Mw6koPB91um2ej",
283 "sp6JS7f14BuwFY8Mw6m6D64iwquSe",
285 "sp6JS7f14BuwFY8Mw5rC43sN4adC2",
286 "sp6JS7f14BuwFY8Mw65L9DDQqgebz",
287 "sp6JS7f14BuwFY8Mw65nKvU8pPQNn",
288 "sp6JS7f14BuwFY8Mw6bxZLyTrdipw",
289 "sp6JS7f14BuwFY8Mw6d5abucntSoX",
290 "sp6JS7f14BuwFY8Mw6qXK5awrRRP8",
293 "sp6JS7f14BuwFY8Mw66EBtMxoMcCa",
294 "sp6JS7f14BuwFY8Mw66dGfE9jVfGv",
295 "sp6JS7f14BuwFY8Mw6APdZa7PH566",
296 "sp6JS7f14BuwFY8Mw6C3QX5CZyET5",
297 "sp6JS7f14BuwFY8Mw6CSysFf8GvaR",
298 "sp6JS7f14BuwFY8Mw6c7QSDmoAeRV",
299 "sp6JS7f14BuwFY8Mw6mvonveaZhW7",
300 "sp6JS7f14BuwFY8Mw6vtHHG7dYcXi",
302 "sp6JS7f14BuwFY8Mw66yppUNxESaw",
303 "sp6JS7f14BuwFY8Mw6ATYQvobXiDT",
304 "sp6JS7f14BuwFY8Mw6bis8D1Wa9Uy",
305 "sp6JS7f14BuwFY8Mw6cTiGCWA8Wfa",
306 "sp6JS7f14BuwFY8Mw6eAy2fpXmyYf",
307 "sp6JS7f14BuwFY8Mw6icn58TRs8YG",
309 "sp6JS7f14BuwFY8Mw68tj2eQEWoJt",
310 "sp6JS7f14BuwFY8Mw6AjnAinNnMHT",
311 "sp6JS7f14BuwFY8Mw6CKDUwB4LrhL",
312 "sp6JS7f14BuwFY8Mw6d2yPszEFA6J",
313 "sp6JS7f14BuwFY8Mw6jcBQBH3PfnB",
314 "sp6JS7f14BuwFY8Mw6qxx19KSnN1w",
318 "sp6JS7f14BuwFY8Mw6ut1hFrqWoY5",
325 "sp6JS7f14BuwFY8Mw5p3b8jjQBBTK",
326 "sp6JS7f14BuwFY8Mw6F7X3EiGKazu",
327 "sp6JS7f14BuwFY8Mw6FxjntJJfKXq",
328 "sp6JS7f14BuwFY8Mw6eSF1ydEozJg",
329 "sp6JS7f14BuwFY8Mw6koPB91um2ej",
330 "sp6JS7f14BuwFY8Mw6m6D64iwquSe",
332 "sp6JS7f14BuwFY8Mw5rC43sN4adC2",
333 "sp6JS7f14BuwFY8Mw65L9DDQqgebz",
334 "sp6JS7f14BuwFY8Mw65nKvU8pPQNn",
335 "sp6JS7f14BuwFY8Mw6bxZLyTrdipw",
336 "sp6JS7f14BuwFY8Mw6d5abucntSoX",
337 "sp6JS7f14BuwFY8Mw6qXK5awrRRP8",
340 "sp6JS7f14BuwFY8Mw66EBtMxoMcCa",
341 "sp6JS7f14BuwFY8Mw66dGfE9jVfGv",
342 "sp6JS7f14BuwFY8Mw6APdZa7PH566",
343 "sp6JS7f14BuwFY8Mw6C3QX5CZyET5",
344 "sp6JS7f14BuwFY8Mw6CSysFf8GvaR",
345 "sp6JS7f14BuwFY8Mw6c7QSDmoAeRV",
346 "sp6JS7f14BuwFY8Mw6mvonveaZhW7",
347 "sp6JS7f14BuwFY8Mw6vtHHG7dYcXi",
349 "sp6JS7f14BuwFY8Mw66yppUNxESaw",
350 "sp6JS7f14BuwFY8Mw6ATYQvobXiDT",
351 "sp6JS7f14BuwFY8Mw6bis8D1Wa9Uy",
352 "sp6JS7f14BuwFY8Mw6cTiGCWA8Wfa",
353 "sp6JS7f14BuwFY8Mw6eAy2fpXmyYf",
354 "sp6JS7f14BuwFY8Mw6icn58TRs8YG",
356 "sp6JS7f14BuwFY8Mw68tj2eQEWoJt",
357 "sp6JS7f14BuwFY8Mw6AjnAinNnMHT",
358 "sp6JS7f14BuwFY8Mw6CKDUwB4LrhL",
359 "sp6JS7f14BuwFY8Mw6d2yPszEFA6J",
360 "sp6JS7f14BuwFY8Mw6jcBQBH3PfnB",
361 "sp6JS7f14BuwFY8Mw6qxx19KSnN1w",
365 "sp6JS7f14BuwFY8Mw6xCigaMwC6Dp",
369 exerciseLopsided(splitAndAddToHi);
370 exerciseLopsided(splitAndAddToLo);
378 testcase(
"fixNFTokenDirV1");
380 using namespace test::jtx;
388 auto exerciseFixNFTokenDirV1 =
399 Account
const buyer{
"buyer"};
400 env.fund(XRP(10000), buyer);
405 accounts.
reserve(seeds.size());
410 env.fund(XRP(10000), account);
418 offers.reserve(accounts.
size());
419 for (Account
const& account : accounts)
430 env(token::createOffer(account, nftID, XRP(0)),
431 token::destination(buyer),
438 for (
std::size_t i = 0; i < offers.size() - 1; ++i)
440 env(token::acceptSellOffer(buyer, offers[i]));
449 env(token::acceptSellOffer(buyer, offers.back()),
454 env(token::acceptSellOffer(buyer, offers.back()));
464 for (
uint256 const& nftID : nftIDs)
468 env(token::createOffer(buyer, nftID, XRP(100)),
472 env(token::cancelOffer(buyer, {offerID}));
478 params[jss::account] = buyer.human();
479 params[jss::type] =
"state";
480 return env.rpc(
"json",
"account_nfts",
to_string(params));
484 buyerNFTs[jss::result][jss::account_nfts].size() ==
487 buyerNFTs[jss::result][jss::account_nfts])
492 auto const foundIter =
493 std::find(nftIDs.begin(), nftIDs.end(), ownedID);
497 if (BEAST_EXPECT(foundIter != nftIDs.end()))
498 nftIDs.erase(foundIter);
503 BEAST_EXPECT(nftIDs.empty());
510 "sp6JS7f14BuwFY8Mw5EYu5z86hKDL",
511 "sp6JS7f14BuwFY8Mw5PUAMwc5ygd7",
512 "sp6JS7f14BuwFY8Mw5R3xUBcLSeTs",
513 "sp6JS7f14BuwFY8Mw5W6oS5sdC3oF",
514 "sp6JS7f14BuwFY8Mw5pYc3D9iuLcw",
515 "sp6JS7f14BuwFY8Mw5pfGVnhcdp3b",
516 "sp6JS7f14BuwFY8Mw6jS6RdEqXqrN",
517 "sp6JS7f14BuwFY8Mw6krt6AKbvRXW",
518 "sp6JS7f14BuwFY8Mw6mnVBQq7cAN2",
519 "sp6JS7f14BuwFY8Mw8ECJxPjmkufQ",
520 "sp6JS7f14BuwFY8Mw8asgzcceGWYm",
521 "sp6JS7f14BuwFY8MwF6J3FXnPCgL8",
522 "sp6JS7f14BuwFY8MwFEud2w5czv5q",
523 "sp6JS7f14BuwFY8MwFNxKVqJnx8P5",
524 "sp6JS7f14BuwFY8MwFnTCXg3eRidL",
525 "sp6JS7f14BuwFY8Mwj47hv1vrDge6",
528 "sp6JS7f14BuwFY8MwjJCwYr9zSfAv",
529 "sp6JS7f14BuwFY8MwjYa5yLkgCLuT",
530 "sp6JS7f14BuwFY8MwjenxuJ3TH2Bc",
531 "sp6JS7f14BuwFY8MwjriN7Ui11NzB",
532 "sp6JS7f14BuwFY8Mwk3AuoJNSEo34",
533 "sp6JS7f14BuwFY8MwkT36hnRv8hTo",
534 "sp6JS7f14BuwFY8MwkTQixEXfi1Cr",
535 "sp6JS7f14BuwFY8MwkYJaZM1yTJBF",
536 "sp6JS7f14BuwFY8Mwkc4k1uo85qp2",
537 "sp6JS7f14BuwFY8Mwkf7cFhF1uuxx",
538 "sp6JS7f14BuwFY8MwmCK2un99wb4e",
539 "sp6JS7f14BuwFY8MwmETztNHYu2Bx",
540 "sp6JS7f14BuwFY8MwmJws9UwRASfR",
541 "sp6JS7f14BuwFY8MwoH5PQkGK8tEb",
542 "sp6JS7f14BuwFY8MwoVXtP2yCzjJV",
543 "sp6JS7f14BuwFY8MwobxRXA9vsTeX",
544 "sp6JS7f14BuwFY8Mwos3pc5Gb3ihU",
551 "sp6JS7f14BuwFY8Mw5EYu5z86hKDL",
552 "sp6JS7f14BuwFY8Mw5PUAMwc5ygd7",
553 "sp6JS7f14BuwFY8Mw5R3xUBcLSeTs",
554 "sp6JS7f14BuwFY8Mw5W6oS5sdC3oF",
555 "sp6JS7f14BuwFY8Mw5pYc3D9iuLcw",
556 "sp6JS7f14BuwFY8Mw5pfGVnhcdp3b",
557 "sp6JS7f14BuwFY8Mw6jS6RdEqXqrN",
558 "sp6JS7f14BuwFY8Mw6krt6AKbvRXW",
559 "sp6JS7f14BuwFY8Mw6mnVBQq7cAN2",
560 "sp6JS7f14BuwFY8Mw8ECJxPjmkufQ",
561 "sp6JS7f14BuwFY8Mw8asgzcceGWYm",
562 "sp6JS7f14BuwFY8MwF6J3FXnPCgL8",
563 "sp6JS7f14BuwFY8MwFEud2w5czv5q",
564 "sp6JS7f14BuwFY8MwFNxKVqJnx8P5",
565 "sp6JS7f14BuwFY8MwFnTCXg3eRidL",
566 "sp6JS7f14BuwFY8Mwj47hv1vrDge6",
567 "sp6JS7f14BuwFY8Mwj6TYekeeyukh",
570 "sp6JS7f14BuwFY8MwjYa5yLkgCLuT",
571 "sp6JS7f14BuwFY8MwjenxuJ3TH2Bc",
572 "sp6JS7f14BuwFY8MwjriN7Ui11NzB",
573 "sp6JS7f14BuwFY8Mwk3AuoJNSEo34",
574 "sp6JS7f14BuwFY8MwkT36hnRv8hTo",
575 "sp6JS7f14BuwFY8MwkTQixEXfi1Cr",
576 "sp6JS7f14BuwFY8MwkYJaZM1yTJBF",
577 "sp6JS7f14BuwFY8Mwkc4k1uo85qp2",
578 "sp6JS7f14BuwFY8Mwkf7cFhF1uuxx",
579 "sp6JS7f14BuwFY8MwmCK2un99wb4e",
580 "sp6JS7f14BuwFY8MwmETztNHYu2Bx",
581 "sp6JS7f14BuwFY8MwmJws9UwRASfR",
582 "sp6JS7f14BuwFY8MwoH5PQkGK8tEb",
583 "sp6JS7f14BuwFY8MwoVXtP2yCzjJV",
584 "sp6JS7f14BuwFY8MwobxRXA9vsTeX",
585 "sp6JS7f14BuwFY8Mwos3pc5Gb3ihU",
589 exerciseFixNFTokenDirV1(seventeenHi);
590 exerciseFixNFTokenDirV1(seventeenLo);
598 testcase(
"NFToken too many same");
600 using namespace test::jtx;
602 Env env{*
this, features};
605 Account
const buyer{
"buyer"};
606 env.fund(XRP(10000), buyer);
612 "sp6JS7f14BuwFY8Mw5FnqmbciPvH6",
613 "sp6JS7f14BuwFY8Mw5MBGbyMSsXLp",
614 "sp6JS7f14BuwFY8Mw5S4PnDyBdKKm",
615 "sp6JS7f14BuwFY8Mw6kcXpM2enE35",
616 "sp6JS7f14BuwFY8Mw6tuuSMMwyJ44",
617 "sp6JS7f14BuwFY8Mw8E8JWLQ1P8pt",
618 "sp6JS7f14BuwFY8Mw8WwdgWkCHhEx",
619 "sp6JS7f14BuwFY8Mw8XDUYvU6oGhQ",
620 "sp6JS7f14BuwFY8Mw8ceVGL4M1zLQ",
621 "sp6JS7f14BuwFY8Mw8fdSwLCZWDFd",
622 "sp6JS7f14BuwFY8Mw8zuF6Fg65i1E",
623 "sp6JS7f14BuwFY8MwF2k7bihVfqes",
624 "sp6JS7f14BuwFY8MwF6X24WXGn557",
625 "sp6JS7f14BuwFY8MwFMpn7strjekg",
626 "sp6JS7f14BuwFY8MwFSdy9sYVrwJs",
627 "sp6JS7f14BuwFY8MwFdMcLy9UkrXn",
628 "sp6JS7f14BuwFY8MwFdbwFm1AAboa",
629 "sp6JS7f14BuwFY8MwFdr5AhKThVtU",
630 "sp6JS7f14BuwFY8MwjFc3Q9YatvAw",
631 "sp6JS7f14BuwFY8MwjRXcNs1ozEXn",
632 "sp6JS7f14BuwFY8MwkQGUKL7v1FBt",
633 "sp6JS7f14BuwFY8Mwkamsoxx1wECt",
634 "sp6JS7f14BuwFY8Mwm3hus1dG6U8y",
635 "sp6JS7f14BuwFY8Mwm589M8vMRpXF",
636 "sp6JS7f14BuwFY8MwmJTRJ4Fqz1A3",
637 "sp6JS7f14BuwFY8MwmRfy8fer4QbL",
638 "sp6JS7f14BuwFY8MwmkkFx1HtgWRx",
639 "sp6JS7f14BuwFY8MwmwP9JFdKa4PS",
640 "sp6JS7f14BuwFY8MwoXWJLB3ciHfo",
641 "sp6JS7f14BuwFY8MwoYc1gTtT2mWL",
642 "sp6JS7f14BuwFY8MwogXtHH7FNVoo",
643 "sp6JS7f14BuwFY8MwoqYoA9P8gf3r",
644 "sp6JS7f14BuwFY8MwoujwMJofGnsA",
649 accounts.
reserve(seeds.size());
652 Account
const& account =
654 env.fund(XRP(10000), account);
661 offers.reserve(accounts.
size());
662 for (Account
const& account : accounts)
673 env(token::createOffer(account, nftID, XRP(0)),
674 token::destination(buyer),
681 for (
uint256 const& nftID : nftIDs)
689 uint256 const offerForPageOverflow = offers.back();
693 for (
uint256 const& offer : offers)
695 env(token::acceptSellOffer(buyer, offer));
700 env(token::acceptSellOffer(buyer, offerForPageOverflow),
707 for (
uint256 const& nftID : nftIDs)
710 env(token::createOffer(buyer, nftID, XRP(100)),
714 env(token::cancelOffer(buyer, {offerID}));
720 params[jss::account] = buyer.human();
721 params[jss::type] =
"state";
722 return env.rpc(
"json",
"account_nfts",
to_string(params));
726 buyerNFTs[jss::result][jss::account_nfts].size() == nftIDs.size());
728 buyerNFTs[jss::result][jss::account_nfts])
733 auto const foundIter =
734 std::find(nftIDs.begin(), nftIDs.end(), ownedID);
738 if (BEAST_EXPECT(foundIter != nftIDs.end()))
739 nftIDs.erase(foundIter);
743 BEAST_EXPECT(nftIDs.empty());
773 testcase(
"NFToken consecutive packing");
775 using namespace test::jtx;
777 Env env{*
this, features};
780 Account
const buyer{
"buyer"};
781 env.fund(XRP(10000), buyer);
787 "sp6JS7f14BuwFY8Mw56vZeiBuhePx",
788 "sp6JS7f14BuwFY8Mw5BodF9tGuTUe",
789 "sp6JS7f14BuwFY8Mw5EnhC1cg84J7",
790 "sp6JS7f14BuwFY8Mw5P913Cunr2BK",
791 "sp6JS7f14BuwFY8Mw5Pru7eLo1XzT",
792 "sp6JS7f14BuwFY8Mw61SLUC8UX2m8",
793 "sp6JS7f14BuwFY8Mw6AsBF9TpeMpq",
794 "sp6JS7f14BuwFY8Mw84XqrBZkU2vE",
795 "sp6JS7f14BuwFY8Mw89oSU6dBk3KB",
796 "sp6JS7f14BuwFY8Mw89qUKCyDmyzj",
797 "sp6JS7f14BuwFY8Mw8GfqQ9VRZ8tm",
798 "sp6JS7f14BuwFY8Mw8LtW3VqrqMks",
799 "sp6JS7f14BuwFY8Mw8ZrAkJc2sHew",
800 "sp6JS7f14BuwFY8Mw8jpkYSNrD3ah",
801 "sp6JS7f14BuwFY8MwF2mshd786m3V",
802 "sp6JS7f14BuwFY8MwFHfXq9x5NbPY",
803 "sp6JS7f14BuwFY8MwFrjWq5LAB8NT",
804 "sp6JS7f14BuwFY8Mwj4asgSh6hQZd",
805 "sp6JS7f14BuwFY8Mwj7ipFfqBSRrE",
806 "sp6JS7f14BuwFY8MwjHqtcvGav8uW",
807 "sp6JS7f14BuwFY8MwjLp4sk5fmzki",
808 "sp6JS7f14BuwFY8MwjioHuYb3Ytkx",
809 "sp6JS7f14BuwFY8MwkRjHPXWi7fGN",
810 "sp6JS7f14BuwFY8MwkdVdPV3LjNN1",
811 "sp6JS7f14BuwFY8MwkxUtVY5AXZFk",
812 "sp6JS7f14BuwFY8Mwm4jQzdfTbY9F",
813 "sp6JS7f14BuwFY8MwmCucYAqNp4iF",
814 "sp6JS7f14BuwFY8Mwo2bgdFtxBzpF",
815 "sp6JS7f14BuwFY8MwoGwD7v4U6qBh",
816 "sp6JS7f14BuwFY8MwoUczqFADMoXi",
817 "sp6JS7f14BuwFY8MwoY1xZeGd3gAr",
818 "sp6JS7f14BuwFY8MwomVCbfkv4kYZ",
819 "sp6JS7f14BuwFY8MwoqbrPSr4z13F",
824 accounts.
reserve(seeds.size());
827 Account
const& account =
829 env.fund(XRP(10000), account);
836 for (
auto& vec : nftIDsByPage)
837 vec.reserve(accounts.
size());
839 for (
auto& vec : offers)
840 vec.reserve(accounts.
size());
841 for (
std::size_t i = 0; i < nftIDsByPage.size(); ++i)
843 for (Account
const& account : accounts)
849 uint256 const& nftID = nftIDsByPage[i].emplace_back(
855 offers[i].emplace_back(
857 env(token::createOffer(account, nftID, XRP(0)),
858 token::destination(buyer),
866 for (
auto const& vec : nftIDsByPage)
869 for (
uint256 const& nftID : vec)
878 overflowNFTs.
reserve(nftIDsByPage.size());
880 overflowOffers.
reserve(nftIDsByPage.size());
882 for (
std::size_t i = 0; i < nftIDsByPage.size(); ++i)
884 overflowNFTs.
push_back(nftIDsByPage[i].back());
885 nftIDsByPage[i].pop_back();
886 BEAST_EXPECT(nftIDsByPage[i].size() == seeds.size() - 1);
888 overflowOffers.
push_back(offers[i].back());
889 offers[i].pop_back();
890 BEAST_EXPECT(offers[i].size() == seeds.size() - 1);
898 for (
uint256 const& offer : offers[i])
900 env(token::acceptSellOffer(buyer, offer));
907 for (
uint256 const& offer : overflowOffers)
909 env(token::acceptSellOffer(buyer, offer),
918 for (
auto const& vec : nftIDsByPage)
920 for (
uint256 const& nftID : vec)
922 env(token::createOffer(buyer, nftID, XRP(100)),
934 Json::Value buyerOffers = [&env, &buyer, &marker]() {
936 params[jss::account] = buyer.human();
937 params[jss::type] = jss::nft_offer;
940 params[jss::marker] = marker;
942 "json",
"account_objects",
to_string(params));
946 if (buyerOffers.
isMember(jss::result))
951 marker = result[jss::marker].asString();
953 if (result.
isMember(jss::account_objects))
955 Json::Value& someOffers = result[jss::account_objects];
957 ownedNftOffers.
append(someOffers[i]);
960 }
while (!marker.
empty());
965 for (
auto const& vec : nftIDsByPage)
966 totalOwnedNFTs += vec.size();
967 BEAST_EXPECT(ownedNftOffers.
size() == totalOwnedNFTs);
975 for (
auto const& offer : ownedNftOffers)
977 if (offer.isMember(jss::index))
980 if (offerIndex.
parseHex(offer[jss::index].asString()))
984 env(token::cancelOffer(buyer, cancelOffers));
991 params[jss::account] = buyer.human();
992 params[jss::type] = jss::nft_offer;
994 return env.rpc(
"json",
"account_objects",
to_string(params));
997 remainingOffers.
isMember(jss::result) &&
998 remainingOffers[jss::result].
isMember(jss::account_objects) &&
999 remainingOffers[jss::result][jss::account_objects].
size() == 0);
1008 Json::Value buyerNFTs = [&env, &buyer, &marker]() {
1010 params[jss::account] = buyer.human();
1011 params[jss::type] =
"state";
1013 if (!marker.
empty())
1014 params[jss::marker] = marker;
1015 return env.rpc(
"json",
"account_nfts",
to_string(params));
1019 if (buyerNFTs.
isMember(jss::result))
1024 marker = result[jss::marker].asString();
1026 if (result.
isMember(jss::account_nfts))
1028 Json::Value& someNFTs = result[jss::account_nfts];
1030 ownedNFTs.
append(someNFTs[i]);
1033 }
while (!marker.
empty());
1037 for (
auto& vec : nftIDsByPage)
1038 allNftIDs.
insert(vec.begin(), vec.end());
1040 BEAST_EXPECT(ownedNFTs.
size() == allNftIDs.
size());
1049 auto const foundIter = allNftIDs.
find(ownedID);
1053 if (BEAST_EXPECT(foundIter != allNftIDs.
end()))
1054 allNftIDs.
erase(foundIter);
1059 BEAST_EXPECT(allNftIDs.
empty());
1076 using namespace test::jtx;
1103 34 account seeds that produce account IDs with low 32-bits 0x399187e9:
1104 sp6JS7f14BuwFY8Mw5EYu5z86hKDL
1105 sp6JS7f14BuwFY8Mw5PUAMwc5ygd7
1106 sp6JS7f14BuwFY8Mw5R3xUBcLSeTs
1107 sp6JS7f14BuwFY8Mw5W6oS5sdC3oF
1108 sp6JS7f14BuwFY8Mw5pYc3D9iuLcw
1109 sp6JS7f14BuwFY8Mw5pfGVnhcdp3b
1110 sp6JS7f14BuwFY8Mw6jS6RdEqXqrN
1111 sp6JS7f14BuwFY8Mw6krt6AKbvRXW
1112 sp6JS7f14BuwFY8Mw6mnVBQq7cAN2
1113 sp6JS7f14BuwFY8Mw8ECJxPjmkufQ
1114 sp6JS7f14BuwFY8Mw8asgzcceGWYm
1115 sp6JS7f14BuwFY8MwF6J3FXnPCgL8
1116 sp6JS7f14BuwFY8MwFEud2w5czv5q
1117 sp6JS7f14BuwFY8MwFNxKVqJnx8P5
1118 sp6JS7f14BuwFY8MwFnTCXg3eRidL
1119 sp6JS7f14BuwFY8Mwj47hv1vrDge6
1120 sp6JS7f14BuwFY8Mwj6TYekeeyukh
1121 sp6JS7f14BuwFY8MwjFjsRDerz7jb
1122 sp6JS7f14BuwFY8Mwjrj9mHTLBrcX
1123 sp6JS7f14BuwFY8MwkKcJi3zMzAea
1124 sp6JS7f14BuwFY8MwkYTDdnYRm9z4
1125 sp6JS7f14BuwFY8Mwkq8ei4D8uPNd
1126 sp6JS7f14BuwFY8Mwm2pFruxbnJRd
1127 sp6JS7f14BuwFY8MwmJV2ZnAjpC2g
1128 sp6JS7f14BuwFY8MwmTFMPHQHfVYF
1129 sp6JS7f14BuwFY8MwmkG2jXEgqiud
1130 sp6JS7f14BuwFY8Mwms3xEh5tMDTw
1131 sp6JS7f14BuwFY8MwmtipW4D8giZ9
1132 sp6JS7f14BuwFY8MwoRQBZm4KUUeE
1133 sp6JS7f14BuwFY8MwoVey94QpXcrc
1134 sp6JS7f14BuwFY8MwoZiuUoUTo3VG
1135 sp6JS7f14BuwFY8MwonFFDLT4bHAZ
1136 sp6JS7f14BuwFY8MwooGphD4hefBQ
1137 sp6JS7f14BuwFY8MwoxDp3dmX6q5N
1139 34 account seeds that produce account IDs with low 32-bits 0x473f2c9a:
1140 sp6JS7f14BuwFY8Mw53ktgqmv5Bmz
1141 sp6JS7f14BuwFY8Mw5KPb2Kz7APFX
1142 sp6JS7f14BuwFY8Mw5Xx4A6HRTPEE
1143 sp6JS7f14BuwFY8Mw5y6qZFNAo358
1144 sp6JS7f14BuwFY8Mw6kdaBg1QrZfn
1145 sp6JS7f14BuwFY8Mw8QmTfLMAZ5K1
1146 sp6JS7f14BuwFY8Mw8cbRRVcCEELr
1147 sp6JS7f14BuwFY8Mw8gQvJebmxvDG
1148 sp6JS7f14BuwFY8Mw8qPQurwu3P7Y
1149 sp6JS7f14BuwFY8MwFS4PEVKmuPy5
1150 sp6JS7f14BuwFY8MwFUQM1rAsQ8tS
1151 sp6JS7f14BuwFY8MwjJBZCkuwsRnM
1152 sp6JS7f14BuwFY8MwjTdS8vZhX5E9
1153 sp6JS7f14BuwFY8MwjhSmWCbNhd25
1154 sp6JS7f14BuwFY8MwjwkpqwZsDBw9
1155 sp6JS7f14BuwFY8MwjyET4p6eqd5J
1156 sp6JS7f14BuwFY8MwkMNAe4JhnG7E
1157 sp6JS7f14BuwFY8MwkRRpnT93UWWS
1158 sp6JS7f14BuwFY8MwkY9CvB22RvUe
1159 sp6JS7f14BuwFY8Mwkhw9VxXqmTr7
1160 sp6JS7f14BuwFY8MwkmgaTat7eFa7
1161 sp6JS7f14BuwFY8Mwkq5SxGGv1oLH
1162 sp6JS7f14BuwFY8MwmCBM5p5bTg6y
1163 sp6JS7f14BuwFY8MwmmmXaVah64dB
1164 sp6JS7f14BuwFY8Mwo7R7Cn614v9V
1165 sp6JS7f14BuwFY8MwoCAG1na7GR2M
1166 sp6JS7f14BuwFY8MwoDuPvJS4gG7C
1167 sp6JS7f14BuwFY8MwoMMowSyPQLfy
1168 sp6JS7f14BuwFY8MwoRqDiwTNsTBm
1169 sp6JS7f14BuwFY8MwoWbBWtjpB7pg
1170 sp6JS7f14BuwFY8Mwoi1AEeELGecF
1171 sp6JS7f14BuwFY8MwopGP6Lo5byuj
1172 sp6JS7f14BuwFY8MwoufkXGHp2VW8
1173 sp6JS7f14BuwFY8MwowGeagFQY32k
1175 34 account seeds that produce account IDs with low 32-bits 0x4d59f0d1:
1176 sp6JS7f14BuwFY8Mw5CsNgH64zxK7
1177 sp6JS7f14BuwFY8Mw5Dg4wi2E344h
1178 sp6JS7f14BuwFY8Mw5ErV949Zh2PX
1179 sp6JS7f14BuwFY8Mw5p4nsQvEUE1s
1180 sp6JS7f14BuwFY8Mw8LGnkbaP68Gn
1181 sp6JS7f14BuwFY8Mw8aq6RCBc3iHo
1182 sp6JS7f14BuwFY8Mw8bkWaGoKYT6e
1183 sp6JS7f14BuwFY8Mw8qrCuXnzAXVj
1184 sp6JS7f14BuwFY8MwFDKcPAHPHJTm
1185 sp6JS7f14BuwFY8MwFUXJs4unfgNu
1186 sp6JS7f14BuwFY8MwFj9Yv5LjshD9
1187 sp6JS7f14BuwFY8Mwj3H73nmq5UaC
1188 sp6JS7f14BuwFY8MwjHSYShis1Yhk
1189 sp6JS7f14BuwFY8MwjpfE1HVo8UP1
1190 sp6JS7f14BuwFY8Mwk6JE1SXUuiNc
1191 sp6JS7f14BuwFY8MwkASgxEjEnFmU
1192 sp6JS7f14BuwFY8MwkGNY8kg7R6RK
1193 sp6JS7f14BuwFY8MwkHinNZ8SYBQu
1194 sp6JS7f14BuwFY8MwkXLCW1hbhGya
1195 sp6JS7f14BuwFY8MwkZ7mWrYK9YtU
1196 sp6JS7f14BuwFY8MwkdFSqNB5DbKL
1197 sp6JS7f14BuwFY8Mwm3jdBaCAx8H6
1198 sp6JS7f14BuwFY8Mwm3rk5hEwDRtY
1199 sp6JS7f14BuwFY8Mwm77a2ULuwxu4
1200 sp6JS7f14BuwFY8MwmJpY7braKLaN
1201 sp6JS7f14BuwFY8MwmKHQjG4XiZ6g
1202 sp6JS7f14BuwFY8Mwmmv8Y3wyUDzs
1203 sp6JS7f14BuwFY8MwmucFe1WgqtwG
1204 sp6JS7f14BuwFY8Mwo1EjdU1bznZR
1205 sp6JS7f14BuwFY8MwoJiqankkU5uR
1206 sp6JS7f14BuwFY8MwoLnvQ6zdqbKw
1207 sp6JS7f14BuwFY8MwoUGeJ319eu48
1208 sp6JS7f14BuwFY8MwoYf135tQjHP4
1209 sp6JS7f14BuwFY8MwogeF6M6SAyid
1211 34 account seeds that produce account IDs with low 32-bits 0xabb11898:
1212 sp6JS7f14BuwFY8Mw5DgiYaNVSb1G
1213 sp6JS7f14BuwFY8Mw5k6e94TMvuox
1214 sp6JS7f14BuwFY8Mw5tTSN7KzYxiT
1215 sp6JS7f14BuwFY8Mw61XV6m33utif
1216 sp6JS7f14BuwFY8Mw87jKfrjiENCb
1217 sp6JS7f14BuwFY8Mw8AFtxxFiRtJG
1218 sp6JS7f14BuwFY8Mw8cosAVExzbeE
1219 sp6JS7f14BuwFY8Mw8fmkQ63zE8WQ
1220 sp6JS7f14BuwFY8Mw8iYSsxNbDN6D
1221 sp6JS7f14BuwFY8Mw8wTZdGRJyyM1
1222 sp6JS7f14BuwFY8Mw8z7xEh3qBGr7
1223 sp6JS7f14BuwFY8MwFL5gpKQWZj7g
1224 sp6JS7f14BuwFY8MwFPeZchXQnRZ5
1225 sp6JS7f14BuwFY8MwFSPxWSJVoU29
1226 sp6JS7f14BuwFY8MwFYyVkqX8kvRm
1227 sp6JS7f14BuwFY8MwFcbVikUEwJvk
1228 sp6JS7f14BuwFY8MwjF7NcZk1NctK
1229 sp6JS7f14BuwFY8MwjJCwYr9zSfAv
1230 sp6JS7f14BuwFY8MwjYa5yLkgCLuT
1231 sp6JS7f14BuwFY8MwjenxuJ3TH2Bc
1232 sp6JS7f14BuwFY8MwjriN7Ui11NzB
1233 sp6JS7f14BuwFY8Mwk3AuoJNSEo34
1234 sp6JS7f14BuwFY8MwkT36hnRv8hTo
1235 sp6JS7f14BuwFY8MwkTQixEXfi1Cr
1236 sp6JS7f14BuwFY8MwkYJaZM1yTJBF
1237 sp6JS7f14BuwFY8Mwkc4k1uo85qp2
1238 sp6JS7f14BuwFY8Mwkf7cFhF1uuxx
1239 sp6JS7f14BuwFY8MwmCK2un99wb4e
1240 sp6JS7f14BuwFY8MwmETztNHYu2Bx
1241 sp6JS7f14BuwFY8MwmJws9UwRASfR
1242 sp6JS7f14BuwFY8MwoH5PQkGK8tEb
1243 sp6JS7f14BuwFY8MwoVXtP2yCzjJV
1244 sp6JS7f14BuwFY8MwobxRXA9vsTeX
1245 sp6JS7f14BuwFY8Mwos3pc5Gb3ihU
1247 34 account seeds that produce account IDs with low 32-bits 0xce627322:
1248 sp6JS7f14BuwFY8Mw5Ck6i83pGNh3
1249 sp6JS7f14BuwFY8Mw5FKuwTxjAdH1
1250 sp6JS7f14BuwFY8Mw5FVKkEn6TkLH
1251 sp6JS7f14BuwFY8Mw5NbQwLwHDd5v
1252 sp6JS7f14BuwFY8Mw5X1dbz3msZaZ
1253 sp6JS7f14BuwFY8Mw6qv6qaXNeP74
1254 sp6JS7f14BuwFY8Mw81SXagUeutCw
1255 sp6JS7f14BuwFY8Mw84Ph7Qa8kwwk
1256 sp6JS7f14BuwFY8Mw8Hp4gFyU3Qko
1257 sp6JS7f14BuwFY8Mw8Kt8bAKredSx
1258 sp6JS7f14BuwFY8Mw8XHK3VKRQ7v7
1259 sp6JS7f14BuwFY8Mw8eGyWxZGHY6v
1260 sp6JS7f14BuwFY8Mw8iU5CLyHVcD2
1261 sp6JS7f14BuwFY8Mw8u3Zr26Ar914
1262 sp6JS7f14BuwFY8MwF2Kcdxtjzjv8
1263 sp6JS7f14BuwFY8MwFLmPWb6rbxNg
1264 sp6JS7f14BuwFY8MwFUu8s7UVuxuJ
1265 sp6JS7f14BuwFY8MwFYBaatwHxAJ8
1266 sp6JS7f14BuwFY8Mwjg6hFkeHwoqG
1267 sp6JS7f14BuwFY8MwjjycJojy2ufk
1268 sp6JS7f14BuwFY8MwkEWoxcSKGPXv
1269 sp6JS7f14BuwFY8MwkMe7wLkEUsQT
1270 sp6JS7f14BuwFY8MwkvyKLaPUc4FS
1271 sp6JS7f14BuwFY8Mwm8doqXPKZmVQ
1272 sp6JS7f14BuwFY8Mwm9r3No8yQ8Tx
1273 sp6JS7f14BuwFY8Mwm9w6dks68W9B
1274 sp6JS7f14BuwFY8MwmMPrv9sCdbpS
1275 sp6JS7f14BuwFY8MwmPAvs3fcQNja
1276 sp6JS7f14BuwFY8MwmS5jasapfcnJ
1277 sp6JS7f14BuwFY8MwmU2L3qJEhnuA
1278 sp6JS7f14BuwFY8MwoAQYmiBnW7fM
1279 sp6JS7f14BuwFY8MwoBkkkXrPmkKF
1280 sp6JS7f14BuwFY8MwonfmxPo6tkvC
1281 sp6JS7f14BuwFY8MwouZFwhiNcYq6
1283 34 account seeds that produce account IDs with low 32-bits 0xe29643e8:
1284 sp6JS7f14BuwFY8Mw5EfAavcXAh2k
1285 sp6JS7f14BuwFY8Mw5LhFjLkFSCVF
1286 sp6JS7f14BuwFY8Mw5bRfEv5HgdBh
1287 sp6JS7f14BuwFY8Mw5d6sPcKzypKN
1288 sp6JS7f14BuwFY8Mw5rcqDtk1fACP
1289 sp6JS7f14BuwFY8Mw5xkxRq1Notzv
1290 sp6JS7f14BuwFY8Mw66fbkdw5WYmt
1291 sp6JS7f14BuwFY8Mw6diEG8sZ7Fx7
1292 sp6JS7f14BuwFY8Mw6v2r1QhG7xc1
1293 sp6JS7f14BuwFY8Mw6zP6DHCTx2Fd
1294 sp6JS7f14BuwFY8Mw8B3n39JKuFkk
1295 sp6JS7f14BuwFY8Mw8FmBvqYw7uqn
1296 sp6JS7f14BuwFY8Mw8KEaftb1eRwu
1297 sp6JS7f14BuwFY8Mw8WJ1qKkegj9N
1298 sp6JS7f14BuwFY8Mw8r8cAZEkq2BS
1299 sp6JS7f14BuwFY8MwFKPxxwF65gZh
1300 sp6JS7f14BuwFY8MwFKhaF8APcN5H
1301 sp6JS7f14BuwFY8MwFN2buJn4BgYC
1302 sp6JS7f14BuwFY8MwFUTe175MjP3x
1303 sp6JS7f14BuwFY8MwFZhmRDb53NNb
1304 sp6JS7f14BuwFY8MwFa2Azn5nU2WS
1305 sp6JS7f14BuwFY8MwjNNt91hwgkn7
1306 sp6JS7f14BuwFY8MwjdiYt6ChACe7
1307 sp6JS7f14BuwFY8Mwk5qFVQ48Mmr9
1308 sp6JS7f14BuwFY8MwkGvCj7pNf1zG
1309 sp6JS7f14BuwFY8MwkY9UcN2D2Fzs
1310 sp6JS7f14BuwFY8MwkpGvSk9G9RyT
1311 sp6JS7f14BuwFY8MwmGQ7nJf1eEzV
1312 sp6JS7f14BuwFY8MwmQLjGsYdyAmV
1313 sp6JS7f14BuwFY8MwmZ8usztKvikT
1314 sp6JS7f14BuwFY8MwobyMLC2hQdFR
1315 sp6JS7f14BuwFY8MwoiRtwUecZeJ5
1316 sp6JS7f14BuwFY8MwojHjKsUzj1KJ
1317 sp6JS7f14BuwFY8Mwop29anGAjidU
1319 33 account seeds that produce account IDs with low 32-bits 0x115d0525:
1320 sp6JS7f14BuwFY8Mw56vZeiBuhePx
1321 sp6JS7f14BuwFY8Mw5BodF9tGuTUe
1322 sp6JS7f14BuwFY8Mw5EnhC1cg84J7
1323 sp6JS7f14BuwFY8Mw5P913Cunr2BK
1324 sp6JS7f14BuwFY8Mw5Pru7eLo1XzT
1325 sp6JS7f14BuwFY8Mw61SLUC8UX2m8
1326 sp6JS7f14BuwFY8Mw6AsBF9TpeMpq
1327 sp6JS7f14BuwFY8Mw84XqrBZkU2vE
1328 sp6JS7f14BuwFY8Mw89oSU6dBk3KB
1329 sp6JS7f14BuwFY8Mw89qUKCyDmyzj
1330 sp6JS7f14BuwFY8Mw8GfqQ9VRZ8tm
1331 sp6JS7f14BuwFY8Mw8LtW3VqrqMks
1332 sp6JS7f14BuwFY8Mw8ZrAkJc2sHew
1333 sp6JS7f14BuwFY8Mw8jpkYSNrD3ah
1334 sp6JS7f14BuwFY8MwF2mshd786m3V
1335 sp6JS7f14BuwFY8MwFHfXq9x5NbPY
1336 sp6JS7f14BuwFY8MwFrjWq5LAB8NT
1337 sp6JS7f14BuwFY8Mwj4asgSh6hQZd
1338 sp6JS7f14BuwFY8Mwj7ipFfqBSRrE
1339 sp6JS7f14BuwFY8MwjHqtcvGav8uW
1340 sp6JS7f14BuwFY8MwjLp4sk5fmzki
1341 sp6JS7f14BuwFY8MwjioHuYb3Ytkx
1342 sp6JS7f14BuwFY8MwkRjHPXWi7fGN
1343 sp6JS7f14BuwFY8MwkdVdPV3LjNN1
1344 sp6JS7f14BuwFY8MwkxUtVY5AXZFk
1345 sp6JS7f14BuwFY8Mwm4jQzdfTbY9F
1346 sp6JS7f14BuwFY8MwmCucYAqNp4iF
1347 sp6JS7f14BuwFY8Mwo2bgdFtxBzpF
1348 sp6JS7f14BuwFY8MwoGwD7v4U6qBh
1349 sp6JS7f14BuwFY8MwoUczqFADMoXi
1350 sp6JS7f14BuwFY8MwoY1xZeGd3gAr
1351 sp6JS7f14BuwFY8MwomVCbfkv4kYZ
1352 sp6JS7f14BuwFY8MwoqbrPSr4z13F
1354 33 account seeds that produce account IDs with low 32-bits 0x304033aa:
1355 sp6JS7f14BuwFY8Mw5DaUP9agF5e1
1356 sp6JS7f14BuwFY8Mw5ohbtmPN4yGN
1357 sp6JS7f14BuwFY8Mw5rRsA5fcoTAQ
1358 sp6JS7f14BuwFY8Mw6zpYHMY3m6KT
1359 sp6JS7f14BuwFY8Mw86BzQq4sTnoW
1360 sp6JS7f14BuwFY8Mw8CCpnfvmGdV7
1361 sp6JS7f14BuwFY8Mw8DRjUDaBcFco
1362 sp6JS7f14BuwFY8Mw8cL7GPo3zZN7
1363 sp6JS7f14BuwFY8Mw8y6aeYVtH6qt
1364 sp6JS7f14BuwFY8MwFZR3PtVTCdUH
1365 sp6JS7f14BuwFY8MwFcdcdbgz7m3s
1366 sp6JS7f14BuwFY8MwjdnJDiUxEBRR
1367 sp6JS7f14BuwFY8MwjhxWgSntqrFe
1368 sp6JS7f14BuwFY8MwjrSHEhZ8CUM1
1369 sp6JS7f14BuwFY8MwjzkEeSTc9ZYf
1370 sp6JS7f14BuwFY8MwkBZSk9JhaeCB
1371 sp6JS7f14BuwFY8MwkGfwNY4i2iiU
1372 sp6JS7f14BuwFY8MwknjtZd2oU2Ff
1373 sp6JS7f14BuwFY8Mwkszsqd3ok9NE
1374 sp6JS7f14BuwFY8Mwm58A81MAMvgZ
1375 sp6JS7f14BuwFY8MwmiPTWysuDJCH
1376 sp6JS7f14BuwFY8MwmxhiNeLfD76r
1377 sp6JS7f14BuwFY8Mwo7SPdkwpGrFH
1378 sp6JS7f14BuwFY8MwoANq4F1Sj3qH
1379 sp6JS7f14BuwFY8MwoVjcHufAkd6L
1380 sp6JS7f14BuwFY8MwoVxHBXdaxzhm
1381 sp6JS7f14BuwFY8MwoZ2oTjBNfLpm
1382 sp6JS7f14BuwFY8Mwoc9swzyotFVD
1383 sp6JS7f14BuwFY8MwogMqVRwVEcQ9
1384 sp6JS7f14BuwFY8MwohMm7WxwnFqH
1385 sp6JS7f14BuwFY8MwopUcpZHuF8BH
1386 sp6JS7f14BuwFY8Mwor6rW6SS7tiB
1387 sp6JS7f14BuwFY8MwoxyaqYz4Ngsb
1389 33 account seeds that produce account IDs with low 32-bits 0x42d4e09c:
1390 sp6JS7f14BuwFY8Mw58NSZH9EaUxQ
1391 sp6JS7f14BuwFY8Mw5JByk1pgPpL7
1392 sp6JS7f14BuwFY8Mw5YrJJuXnkHVB
1393 sp6JS7f14BuwFY8Mw5kZe2ZzNSnKR
1394 sp6JS7f14BuwFY8Mw6eXHTsbwi1U7
1395 sp6JS7f14BuwFY8Mw6gqN7HHDDKSh
1396 sp6JS7f14BuwFY8Mw6zw8L1sSSR53
1397 sp6JS7f14BuwFY8Mw8E4WqSKKbksy
1398 sp6JS7f14BuwFY8MwF3V9gemqJtND
1399 sp6JS7f14BuwFY8Mwj4j46LHWZuY6
1400 sp6JS7f14BuwFY8MwjF5i8vh4Ezjy
1401 sp6JS7f14BuwFY8MwjJZpEKgMpUAt
1402 sp6JS7f14BuwFY8MwjWL7LfnzNUuh
1403 sp6JS7f14BuwFY8Mwk7Y1csGuqAhX
1404 sp6JS7f14BuwFY8MwkB1HVH17hN5W
1405 sp6JS7f14BuwFY8MwkBntH7BZZupu
1406 sp6JS7f14BuwFY8MwkEy4rMbNHG9P
1407 sp6JS7f14BuwFY8MwkKz4LYesZeiN
1408 sp6JS7f14BuwFY8MwkUrXyo9gMDPM
1409 sp6JS7f14BuwFY8MwkV2hySsxej1G
1410 sp6JS7f14BuwFY8MwkozhTVN12F9C
1411 sp6JS7f14BuwFY8MwkpkzGB3sFJw5
1412 sp6JS7f14BuwFY8Mwks3zDZLGrhdn
1413 sp6JS7f14BuwFY8MwktG1KCS7L2wW
1414 sp6JS7f14BuwFY8Mwm1jVFsafwcYx
1415 sp6JS7f14BuwFY8Mwm8hmrU6g5Wd6
1416 sp6JS7f14BuwFY8MwmFvstfRF7e2f
1417 sp6JS7f14BuwFY8MwmeRohi6m5fs8
1418 sp6JS7f14BuwFY8MwmmU96RHUaRZL
1419 sp6JS7f14BuwFY8MwoDFzteYqaUh4
1420 sp6JS7f14BuwFY8MwoPkTf5tDykPF
1421 sp6JS7f14BuwFY8MwoSbMaDtiMoDN
1422 sp6JS7f14BuwFY8MwoVL1vY1CysjR
1424 33 account seeds that produce account IDs with low 32-bits 0x9a8ebed3:
1425 sp6JS7f14BuwFY8Mw5FnqmbciPvH6
1426 sp6JS7f14BuwFY8Mw5MBGbyMSsXLp
1427 sp6JS7f14BuwFY8Mw5S4PnDyBdKKm
1428 sp6JS7f14BuwFY8Mw6kcXpM2enE35
1429 sp6JS7f14BuwFY8Mw6tuuSMMwyJ44
1430 sp6JS7f14BuwFY8Mw8E8JWLQ1P8pt
1431 sp6JS7f14BuwFY8Mw8WwdgWkCHhEx
1432 sp6JS7f14BuwFY8Mw8XDUYvU6oGhQ
1433 sp6JS7f14BuwFY8Mw8ceVGL4M1zLQ
1434 sp6JS7f14BuwFY8Mw8fdSwLCZWDFd
1435 sp6JS7f14BuwFY8Mw8zuF6Fg65i1E
1436 sp6JS7f14BuwFY8MwF2k7bihVfqes
1437 sp6JS7f14BuwFY8MwF6X24WXGn557
1438 sp6JS7f14BuwFY8MwFMpn7strjekg
1439 sp6JS7f14BuwFY8MwFSdy9sYVrwJs
1440 sp6JS7f14BuwFY8MwFdMcLy9UkrXn
1441 sp6JS7f14BuwFY8MwFdbwFm1AAboa
1442 sp6JS7f14BuwFY8MwFdr5AhKThVtU
1443 sp6JS7f14BuwFY8MwjFc3Q9YatvAw
1444 sp6JS7f14BuwFY8MwjRXcNs1ozEXn
1445 sp6JS7f14BuwFY8MwkQGUKL7v1FBt
1446 sp6JS7f14BuwFY8Mwkamsoxx1wECt
1447 sp6JS7f14BuwFY8Mwm3hus1dG6U8y
1448 sp6JS7f14BuwFY8Mwm589M8vMRpXF
1449 sp6JS7f14BuwFY8MwmJTRJ4Fqz1A3
1450 sp6JS7f14BuwFY8MwmRfy8fer4QbL
1451 sp6JS7f14BuwFY8MwmkkFx1HtgWRx
1452 sp6JS7f14BuwFY8MwmwP9JFdKa4PS
1453 sp6JS7f14BuwFY8MwoXWJLB3ciHfo
1454 sp6JS7f14BuwFY8MwoYc1gTtT2mWL
1455 sp6JS7f14BuwFY8MwogXtHH7FNVoo
1456 sp6JS7f14BuwFY8MwoqYoA9P8gf3r
1457 sp6JS7f14BuwFY8MwoujwMJofGnsA
1459 33 account seeds that produce account IDs with low 32-bits 0xa1dcea4a:
1460 sp6JS7f14BuwFY8Mw5Ccov2N36QTy
1461 sp6JS7f14BuwFY8Mw5CuSemVb5p7w
1462 sp6JS7f14BuwFY8Mw5Ep8wpsTfpSz
1463 sp6JS7f14BuwFY8Mw5WtutJc2H45M
1464 sp6JS7f14BuwFY8Mw6vsDeaSKeUJZ
1465 sp6JS7f14BuwFY8Mw83t5BPWUAzzF
1466 sp6JS7f14BuwFY8Mw8FYGnK35mgkV
1467 sp6JS7f14BuwFY8Mw8huo1x5pfKKJ
1468 sp6JS7f14BuwFY8Mw8mPStxfMDrZa
1469 sp6JS7f14BuwFY8Mw8yC3A7aQJytK
1470 sp6JS7f14BuwFY8MwFCWCDmo9o3t8
1471 sp6JS7f14BuwFY8MwFjapa4gKxPhR
1472 sp6JS7f14BuwFY8Mwj8CWtG29uw71
1473 sp6JS7f14BuwFY8MwjHyU5KpEMLVT
1474 sp6JS7f14BuwFY8MwjMZSN7LZuWD8
1475 sp6JS7f14BuwFY8Mwja2TXJNBhKHU
1476 sp6JS7f14BuwFY8Mwjf3xNTopHKTF
1477 sp6JS7f14BuwFY8Mwjn5RAhedPeuM
1478 sp6JS7f14BuwFY8MwkJdr4d6QoE8K
1479 sp6JS7f14BuwFY8MwkmBryo3SUoLm
1480 sp6JS7f14BuwFY8MwkrPdsc4tR8yw
1481 sp6JS7f14BuwFY8Mwkttjcw2a65Fi
1482 sp6JS7f14BuwFY8Mwm19n3rSaNx5S
1483 sp6JS7f14BuwFY8Mwm3ryr4Xp2aQX
1484 sp6JS7f14BuwFY8MwmBnDmgnJLB6B
1485 sp6JS7f14BuwFY8MwmHgPjzrYjthq
1486 sp6JS7f14BuwFY8MwmeV55DAnWKdd
1487 sp6JS7f14BuwFY8Mwo49hK6BGrauT
1488 sp6JS7f14BuwFY8Mwo56vfKY9aoWu
1489 sp6JS7f14BuwFY8MwoU7tTTXLQTrh
1490 sp6JS7f14BuwFY8MwoXpogSF2KaZB
1491 sp6JS7f14BuwFY8MwoY9JYQAR16pc
1492 sp6JS7f14BuwFY8MwoozLzKNAEXKM
1494 33 account seeds that produce account IDs with low 32-bits 0xbd2116db:
1495 sp6JS7f14BuwFY8Mw5GrpkmPuA3Bw
1496 sp6JS7f14BuwFY8Mw5r1sLoQJZDc6
1497 sp6JS7f14BuwFY8Mw68zzRmezLdd6
1498 sp6JS7f14BuwFY8Mw6jDSyaiF1mRp
1499 sp6JS7f14BuwFY8Mw813wU9u5D6Uh
1500 sp6JS7f14BuwFY8Mw8BBvpf2JFGoJ
1501 sp6JS7f14BuwFY8Mw8F7zXxAiT263
1502 sp6JS7f14BuwFY8Mw8XG7WuVGHP2N
1503 sp6JS7f14BuwFY8Mw8eyWrcz91cz6
1504 sp6JS7f14BuwFY8Mw8yNVKFVYyk9u
1505 sp6JS7f14BuwFY8MwF2oA6ePqvZWP
1506 sp6JS7f14BuwFY8MwF9VkcSNh3keq
1507 sp6JS7f14BuwFY8MwFYsMWajgEf2j
1508 sp6JS7f14BuwFY8Mwj3Gu43jYoJ4n
1509 sp6JS7f14BuwFY8MwjJ5iRmYDHrW4
1510 sp6JS7f14BuwFY8MwjaUSSga93CiM
1511 sp6JS7f14BuwFY8MwjxgLh2FY4Lvt
1512 sp6JS7f14BuwFY8Mwk9hQdNZUgmTB
1513 sp6JS7f14BuwFY8MwkcMXqtFp1sMx
1514 sp6JS7f14BuwFY8MwkzZCDc56jsUB
1515 sp6JS7f14BuwFY8Mwm5Zz7fP24Qym
1516 sp6JS7f14BuwFY8MwmDWqizXSoJRG
1517 sp6JS7f14BuwFY8MwmKHmkNYdMqqi
1518 sp6JS7f14BuwFY8MwmRfAWHxWpGNK
1519 sp6JS7f14BuwFY8MwmjCdXwyhphZ1
1520 sp6JS7f14BuwFY8MwmmukDAm1w6FL
1521 sp6JS7f14BuwFY8Mwmmz2SzaR9TRH
1522 sp6JS7f14BuwFY8Mwmz2z5mKHXzfn
1523 sp6JS7f14BuwFY8Mwo2xNe5629r5k
1524 sp6JS7f14BuwFY8MwoKy8tZxZrfJw
1525 sp6JS7f14BuwFY8MwoLyQ9aMsq8Dm
1526 sp6JS7f14BuwFY8MwoqqYkewuyZck
1527 sp6JS7f14BuwFY8MwouvvhREVp6Pp
1529 33 account seeds that produce account IDs with low 32-bits 0xd80df065:
1530 sp6JS7f14BuwFY8Mw5B7ERyhAfgHA
1531 sp6JS7f14BuwFY8Mw5VuW3cF7bm2v
1532 sp6JS7f14BuwFY8Mw5py3t1j7YbFT
1533 sp6JS7f14BuwFY8Mw5qc84SzB6RHr
1534 sp6JS7f14BuwFY8Mw5vGHW1G1hAy8
1535 sp6JS7f14BuwFY8Mw6gVa8TYukws6
1536 sp6JS7f14BuwFY8Mw8K9w1RoUAv1w
1537 sp6JS7f14BuwFY8Mw8KvKtB7787CA
1538 sp6JS7f14BuwFY8Mw8Y7WhRbuFzRq
1539 sp6JS7f14BuwFY8Mw8cipw7inRmMn
1540 sp6JS7f14BuwFY8MwFM5fAUNLNB13
1541 sp6JS7f14BuwFY8MwFSe1zAsht3X3
1542 sp6JS7f14BuwFY8MwFYNdigqQuHZM
1543 sp6JS7f14BuwFY8MwjWkejj7V4V5Q
1544 sp6JS7f14BuwFY8Mwjd2JGpsjvynq
1545 sp6JS7f14BuwFY8Mwjg1xkducn751
1546 sp6JS7f14BuwFY8Mwjsp6LnaJvL1W
1547 sp6JS7f14BuwFY8MwjvSbLc9593yH
1548 sp6JS7f14BuwFY8Mwjw2h5wx7U6vZ
1549 sp6JS7f14BuwFY8MwjxKUjtRsmPLH
1550 sp6JS7f14BuwFY8Mwk1Yy8ginDfqv
1551 sp6JS7f14BuwFY8Mwk2HrWhWwZP12
1552 sp6JS7f14BuwFY8Mwk4SsqiexvpWs
1553 sp6JS7f14BuwFY8Mwk66zCs5ACpE6
1554 sp6JS7f14BuwFY8MwkCwx6vY97Nwh
1555 sp6JS7f14BuwFY8MwknrbjnhTTWU8
1556 sp6JS7f14BuwFY8MwkokDy2ShRzQx
1557 sp6JS7f14BuwFY8Mwm3BxnRPNxsuu
1558 sp6JS7f14BuwFY8MwmY9EWdQQsFVr
1559 sp6JS7f14BuwFY8MwmYTWjrDhmk8S
1560 sp6JS7f14BuwFY8Mwo9skXt9Y5BVS
1561 sp6JS7f14BuwFY8MwoZYKZybJ1Crp
1562 sp6JS7f14BuwFY8MwoyXqkhySfSmF
1564 33 account seeds that produce account IDs with low 32-bits 0xe2e44294:
1565 sp6JS7f14BuwFY8Mw53dmvTgNtBwi
1566 sp6JS7f14BuwFY8Mw5Wrxsqn6WrXW
1567 sp6JS7f14BuwFY8Mw5fGDT31RCXgC
1568 sp6JS7f14BuwFY8Mw5nKRkubwrLWM
1569 sp6JS7f14BuwFY8Mw5nXMajwKjriB
1570 sp6JS7f14BuwFY8Mw5xZybggrC9NG
1571 sp6JS7f14BuwFY8Mw5xea8f6dBMV5
1572 sp6JS7f14BuwFY8Mw5zDGofAHy5Lb
1573 sp6JS7f14BuwFY8Mw6eado41rQNVG
1574 sp6JS7f14BuwFY8Mw6yqKXQsQJPuU
1575 sp6JS7f14BuwFY8Mw83MSN4FDzSGH
1576 sp6JS7f14BuwFY8Mw8B3pUbzQqHe2
1577 sp6JS7f14BuwFY8Mw8WwRLnhBRvfk
1578 sp6JS7f14BuwFY8Mw8hDBpKbpJwJX
1579 sp6JS7f14BuwFY8Mw8jggRSZACe7M
1580 sp6JS7f14BuwFY8Mw8mJRpU3qWbwC
1581 sp6JS7f14BuwFY8MwFDnVozykN21u
1582 sp6JS7f14BuwFY8MwFGGRGY9fctgv
1583 sp6JS7f14BuwFY8MwjKznfChH9DQb
1584 sp6JS7f14BuwFY8MwjbC5GvngRCk6
1585 sp6JS7f14BuwFY8Mwk3Lb7FPe1629
1586 sp6JS7f14BuwFY8MwkCeS41BwVrBD
1587 sp6JS7f14BuwFY8MwkDnnvRyuWJ7d
1588 sp6JS7f14BuwFY8MwkbkRNnzDEFpf
1589 sp6JS7f14BuwFY8MwkiNhaVhGNk6v
1590 sp6JS7f14BuwFY8Mwm1X4UJXRZx3p
1591 sp6JS7f14BuwFY8Mwm7da9q5vfq7J
1592 sp6JS7f14BuwFY8MwmPLqfBPrHw5H
1593 sp6JS7f14BuwFY8MwmbJpxvVjEwm2
1594 sp6JS7f14BuwFY8MwoAVeA7ka37cD
1595 sp6JS7f14BuwFY8MwoTFFTAwFKmVM
1596 sp6JS7f14BuwFY8MwoYsne51VpDE3
1597 sp6JS7f14BuwFY8MwohLVnU1VTk5h