2#include <test/jtx/Account.h>
3#include <test/jtx/amount.h>
5#include <xrpl/basics/base_uint.h>
6#include <xrpl/beast/unit_test/suite.h>
7#include <xrpl/protocol/AccountID.h>
8#include <xrpl/protocol/Issue.h>
9#include <xrpl/protocol/SField.h>
10#include <xrpl/protocol/STIssue.h>
11#include <xrpl/protocol/Serializer.h>
12#include <xrpl/protocol/UintTypes.h>
25 auto const usd = alice[
"USD"];
33 fail(
"Inconsistent XRP Issue doesn't fail");
45 fail(
"Inconsistent IOU Issue doesn't fail");
56 "00000000000000000000000055534400000000000000000000000000000000"
61 STIssue const stissue(iter, sfAsset);
62 fail(
"Inconsistent IOU Issue doesn't fail on serializer");
75 fail(
"XRP issue failed");
84 fail(
"USD issue failed");
90 "0000000000000000000000005553440000000000ae123a8556f3cf91154711"
95 STIssue const stissue(iter, sfAsset);
96 BEAST_EXPECT(stissue.
value() == usd);
100 fail(
"USD Issue fails on serializer");
105 auto const data =
"0000000000000000000000000000000000000000";
109 STIssue const stissue(iter, sfAsset);
114 fail(
"XRP Issue fails on serializer");
124 auto const usd = alice[
"USD"];
126 Asset const asset2{usd};
129 BEAST_EXPECT(
STIssue(sfAsset, asset1) != asset2);
130 BEAST_EXPECT(
STIssue(sfAsset, asset1) != asset3);
131 BEAST_EXPECT(
STIssue(sfAsset, asset1) == asset1);
132 BEAST_EXPECT(
STIssue(sfAsset, asset1).getText() ==
"XRP");
134 STIssue(sfAsset, asset2).getText() ==
"USD/rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn");
136 STIssue(sfAsset, asset3).getText() ==
137 "000000000000000000000000000000000000000000000002");
void pass()
Record a successful test condition.
void fail(String const &reason, char const *file, int line)
Record a failure.
TestcaseT testcase
Memberspace for declaring test cases.
Integers of any length that is a multiple of 32-bits.
static constexpr std::size_t size()
constexpr bool parseHex(std::string_view sv)
Parse a hex string into a base_uint.
A currency issued by an account.
value_type const & value() const noexcept
An immutable linear range of bytes.
void run() override
Runs the suite.
Immutable cryptographic account descriptor.
BEAST_DEFINE_TESTSUITE(AMMClawback, app, xrpl)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Issue const & xrpIssue()
Returns an asset specifier that represents XRP.
Currency const & xrpCurrency()
XRP currency.
BaseUInt< 192 > MPTID
MPTID is a 192-bit value representing MPT Issuance ID, which is a concatenation of a 32-bit sequence ...
AccountID const & xrpAccount()
Compute AccountID from public key.