diff --git a/src/test/app/Sponsor_test.cpp b/src/test/app/Sponsor_test.cpp index e7d815dfdd..bfb335afbc 100644 --- a/src/test/app/Sponsor_test.cpp +++ b/src/test/app/Sponsor_test.cpp @@ -91,9 +91,10 @@ public: sponsor::sig(sponsor)); env.close(); - env.require(owners(alice, 0)); + env.require(owners(alice, 1)); env.require(sponsored_owners(alice, 1)); - env.require(sponsoring_count(sponsor, 1)); + env.require(sponsoring_owners(alice, 0)); + env.require(sponsoring_owners(sponsor, 1)); // CheckCancel auto const checkId = keylet::check(alice, seq).key; @@ -102,7 +103,7 @@ public: env.require(owners(alice, 0)); env.require(sponsored_owners(alice, 0)); - env.require(sponsoring_count(sponsor, 0)); + env.require(sponsoring_owners(sponsor, 0)); auto const seq2 = env.seq(alice); env(check::create(alice, bob, XRP(1)), @@ -110,6 +111,11 @@ public: sponsor::sig(sponsor)); env.close(); + env.require(owners(alice, 1)); + env.require(sponsored_owners(alice, 1)); + env.require(sponsoring_owners(alice, 0)); + env.require(sponsoring_owners(sponsor, 1)); + // CheckCash auto const checkId2 = keylet::check(alice, seq2).key; env(check::cash(bob, checkId2, XRP(1))); @@ -117,7 +123,7 @@ public: env.require(owners(alice, 0)); env.require(sponsored_owners(alice, 0)); - env.require(sponsoring_count(sponsor, 0)); + env.require(sponsoring_owners(sponsor, 0)); // printf( // "meta: %s\n", @@ -145,9 +151,10 @@ public: sponsor::sig(sponsor)); env.close(); - env.require(owners(alice, 0)); + env.require(owners(alice, 1)); env.require(sponsored_owners(alice, 1)); - env.require(sponsoring_count(sponsor, 1)); + env.require(sponsoring_owners(alice, 0)); + env.require(sponsoring_owners(sponsor, 1)); // OfferCancel env(offer_cancel(alice, seq)); @@ -155,9 +162,10 @@ public: env.require(owners(alice, 0)); env.require(sponsored_owners(alice, 0)); - env.require(sponsoring_count(sponsor, 0)); + env.require(sponsoring_owners(alice, 0)); + env.require(sponsoring_owners(sponsor, 0)); - // TODO: test Execution + // TODO: test Offer Execution } void @@ -178,17 +186,18 @@ public: sponsor::sig(sponsor)); env.close(); - env.require(owners(alice, 0)); + env.require(owners(alice, 250)); env.require(sponsored_owners(alice, 250)); - env.require(sponsoring_count(sponsor, 250)); + env.require(sponsoring_owners(alice, 0)); + env.require(sponsoring_owners(sponsor, 250)); // use a Ticket env(noop(alice), ticket::use(ticketSeq + 1)); env.close(); - env.require(owners(alice, 0)); + env.require(owners(alice, 249)); env.require(sponsored_owners(alice, 249)); - env.require(sponsoring_count(sponsor, 249)); + env.require(sponsoring_owners(sponsor, 249)); } void @@ -210,9 +219,11 @@ public: sponsor::sig(sponsor)); env.close(); - env.require(owners(issuer, 0)); + env.require(owners(issuer, 1)); + env.require(owners(subject, 0)); env.require(sponsored_owners(issuer, 1)); - env.require(sponsoring_count(sponsor, 1)); + env.require(sponsored_owners(subject, 0)); + env.require(sponsoring_owners(sponsor, 1)); // CredentialsAccept env(credentials::accept(subject, issuer, "credType"), @@ -221,10 +232,10 @@ public: env.close(); env.require(owners(issuer, 0)); - env.require(owners(subject, 0)); + env.require(owners(subject, 1)); env.require(sponsored_owners(issuer, 0)); env.require(sponsored_owners(subject, 1)); - env.require(sponsoring_count(sponsor, 1)); + env.require(sponsoring_owners(sponsor, 1)); // CredentialsDelete env(credentials::deleteCred(subject, subject, issuer, "credType")); @@ -234,7 +245,7 @@ public: env.require(owners(subject, 0)); env.require(sponsored_owners(issuer, 0)); env.require(sponsored_owners(subject, 0)); - env.require(sponsoring_count(sponsor, 0)); + env.require(sponsoring_owners(sponsor, 0)); } void @@ -255,9 +266,9 @@ public: sponsor::sig(sponsor)); env.close(); - env.require(owners(alice, 0)); + env.require(owners(alice, 1)); env.require(sponsored_owners(alice, 1)); - env.require(sponsoring_count(sponsor, 1)); + env.require(sponsoring_owners(sponsor, 1)); // delete env(delegate::set(alice, bob, {})); @@ -265,7 +276,7 @@ public: env.require(owners(alice, 0)); env.require(sponsored_owners(alice, 0)); - env.require(sponsoring_count(sponsor, 0)); + env.require(sponsoring_owners(sponsor, 0)); } void @@ -291,9 +302,9 @@ public: sponsor::sig(sponsor)); env.close(); - env.require(owners(alice, 0)); + env.require(owners(alice, 1)); env.require(sponsored_owners(alice, 1)); - env.require(sponsoring_count(sponsor, 1)); + env.require(sponsoring_owners(sponsor, 1)); // DIDDelete env(did::del(alice)); @@ -301,7 +312,7 @@ public: env.require(owners(alice, 0)); env.require(sponsored_owners(alice, 0)); - env.require(sponsoring_count(sponsor, 0)); + env.require(sponsoring_owners(sponsor, 0)); } void @@ -358,9 +369,9 @@ public: sponsor::sig(sponsor)); env.close(); - env.require(owners(alice, 0)); + env.require(owners(alice, 1)); env.require(sponsored_owners(alice, 1)); - env.require(sponsoring_count(sponsor, 1)); + env.require(sponsoring_owners(sponsor, 1)); // Delete env(signers(alice, none)); @@ -368,7 +379,7 @@ public: env.require(owners(alice, 0)); env.require(sponsored_owners(alice, 0)); - env.require(sponsoring_count(sponsor, 0)); + env.require(sponsoring_owners(sponsor, 0)); } void diff --git a/src/test/jtx/impl/owners.cpp b/src/test/jtx/impl/owners.cpp index 00e5a4039d..165d8a577e 100644 --- a/src/test/jtx/impl/owners.cpp +++ b/src/test/jtx/impl/owners.cpp @@ -63,7 +63,7 @@ sponsored_owners::operator()(Env& env) const } void -sponsoring_count::operator()(Env& env) const +sponsoring_owners::operator()(Env& env) const { env.test.expect( env.le(account_)->getFieldU32(sfSponsoringOwnerCount) == value_); diff --git a/src/test/jtx/owners.h b/src/test/jtx/owners.h index 5878ebcad9..1a61b3c7a9 100644 --- a/src/test/jtx/owners.h +++ b/src/test/jtx/owners.h @@ -103,14 +103,14 @@ public: }; /** Match the number of items in the account's owner directory */ -class sponsoring_count +class sponsoring_owners { private: Account account_; std::uint32_t value_; public: - sponsoring_count(Account const& account, std::uint32_t value) + sponsoring_owners(Account const& account, std::uint32_t value) : account_(account), value_(value) { } diff --git a/src/xrpld/ledger/detail/View.cpp b/src/xrpld/ledger/detail/View.cpp index 36e647cca2..119f0a3a27 100644 --- a/src/xrpld/ledger/detail/View.cpp +++ b/src/xrpld/ledger/detail/View.cpp @@ -1089,6 +1089,7 @@ adjustOwnerCount( } { // modify account's SponsoredOwnerCount + std::uint32_t const current{ accountSle->getFieldU32(sfSponsoredOwnerCount)}; AccountID const id = (*accountSle)[sfAccount]; @@ -1098,7 +1099,6 @@ adjustOwnerCount( accountSle->setFieldU32(sfSponsoredOwnerCount, adjusted); view.update(accountSle); } - return; } std::uint32_t const current{accountSle->getFieldU32(sfOwnerCount)}; AccountID const id = (*accountSle)[sfAccount];