20 #include <ripple/basics/strHex.h>
21 #include <ripple/protocol/Feature.h>
22 #include <ripple/protocol/Indexes.h>
23 #include <ripple/protocol/TxFlags.h>
24 #include <ripple/protocol/jss.h>
38 if (
auto const sleAcct = env.
le(acct))
51 struct DID_test :
public beast::unit_test::suite
56 testcase(
"featureDID Enabled");
63 env.fund(
XRP(5000), alice);
79 testcase(
"DID Account Reserve");
81 using namespace test::jtx;
83 Env env{*
this, features};
88 auto const acctReserve = env.current()->fees().accountReserve(0);
89 auto const incReserve = env.current()->fees().increment;
90 env.fund(acctReserve, alice);
92 BEAST_EXPECT(env.balance(alice) == acctReserve);
101 env(pay(env.master, alice, incReserve +
drops(19)));
102 BEAST_EXPECT(env.balance(alice) == acctReserve + incReserve +
drops(9));
111 env(pay(env.master, alice,
drops(11)));
115 env(did::setValid(alice));
120 env(did::del(alice));
128 testcase(
"Invalid DIDSet");
186 testcase(
"Invalid DIDDelete");
217 testcase(
"Valid Initial DIDSet");
225 Account const charlie{
"charlie"};
228 Account const francis{
"francis"};
229 Account const george{
"george"};
230 env.
fund(
XRP(5000), alice, bob, charlie, dave, edna, francis);
237 env(did::set(alice),
did::uri(
"uri"));
245 env(did::set(charlie),
did::data(
"data"));
261 env(did::set(george),
271 testcase(
"Modify DID with DIDSet");
281 auto const ar = env.
le(alice);
286 env(did::set(alice),
did::uri(initialURI));
289 BEAST_EXPECT(sleDID);
292 BEAST_EXPECT(!sleDID->isFieldPresent(
sfData));
302 BEAST_EXPECT(!sleDID->isFieldPresent(
sfData));
313 BEAST_EXPECT(!sleDID->isFieldPresent(
sfData));
319 env(did::set(alice),
did::data(initialData));
332 BEAST_EXPECT(!sleDID->isFieldPresent(
sfURI));
342 BEAST_EXPECT(!sleDID->isFieldPresent(
sfURI));
344 BEAST_EXPECT(!sleDID->isFieldPresent(
sfData));
355 BEAST_EXPECT(!sleDID->isFieldPresent(
sfData));
364 BEAST_EXPECT(!sleDID->isFieldPresent(
sfURI));
366 BEAST_EXPECT(!sleDID->isFieldPresent(
sfData));
375 BEAST_EXPECT(!sleDID->isFieldPresent(
sfURI));
382 env(did::del(alice));
385 BEAST_EXPECT(!sleDID);
392 using namespace test::jtx;