return tecHAS_OBLIGATIONS for any conditions when deleting account linked to ltSponsorship

This commit is contained in:
tequ
2026-04-10 14:13:25 +09:00
parent 71003699dc
commit a115d73c56
4 changed files with 3 additions and 92 deletions

View File

@@ -4953,37 +4953,7 @@ public:
Account const sponsor("sponsor");
{
// Delete Sponsee Account with ltSponsorship
Env env{*this, testable_amendments()};
env.fund(XRP(1000000), alice, bob, sponsor);
env.close();
// set sponsor
env(sponsor::set(sponsor, 0, 100, XRP(100)),
sponsor::sponseeAcc(alice),
ter(tesSUCCESS));
env.close();
incLgrSeqForAccDel(env, alice);
auto const keylet = keylet::sponsor(sponsor, alice);
auto const sponsorObj = env.le(keylet);
BEAST_EXPECT(sponsorObj);
// AccountDelete
auto const requiredFee = drops(env.current()->fees().increment);
env(acctdelete(alice, bob), fee(requiredFee), ter(tesSUCCESS));
env.close();
BEAST_EXPECT(!env.le(keylet));
auto const jv = sponsor::ledgerEntry(env, sponsor, alice);
BEAST_EXPECT(
jv.isObject() && jv.isMember(jss::result) && jv[jss::result].isMember(jss::error) &&
jv[jss::result][jss::error] == "entryNotFound");
}
{
// Delete Sponsor Account with ltSponsorship
// Delete Sponsor/Sponsee Account with ltSponsorship (tecHAS_OBLIGATIONS)
Env env{*this, testable_amendments()};
env.fund(XRP(1000000), alice, bob, sponsor);
env.close();
@@ -5002,14 +4972,8 @@ public:
// AccountDelete
auto const requiredFee = drops(env.current()->fees().increment);
env(acctdelete(sponsor, alice), fee(requiredFee), ter(tesSUCCESS));
env.close();
BEAST_EXPECT(!env.le(keylet));
auto const jv = sponsor::ledgerEntry(env, sponsor, alice);
BEAST_EXPECT(
jv.isObject() && jv.isMember(jss::result) && jv[jss::result].isMember(jss::error) &&
jv[jss::result][jss::error] == "entryNotFound");
env(acctdelete(alice, bob), fee(requiredFee), ter(tecHAS_OBLIGATIONS));
env(acctdelete(sponsor, bob), fee(requiredFee), ter(tecHAS_OBLIGATIONS));
}
{