From 877aeffc9f933fecf28d2d8589e7b59e35245fad Mon Sep 17 00:00:00 2001 From: Mayukha Vadari Date: Mon, 6 Jul 2026 13:32:05 -0400 Subject: [PATCH] clean up ApplyView --- src/libxrpl/ledger/ApplyView.cpp | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/libxrpl/ledger/ApplyView.cpp b/src/libxrpl/ledger/ApplyView.cpp index 3266617aa6..220a8e462b 100644 --- a/src/libxrpl/ledger/ApplyView.cpp +++ b/src/libxrpl/ledger/ApplyView.cpp @@ -442,15 +442,10 @@ ReserveContext::makeFromAccount(ApplyView& view, SLE::pointer accountSle, SLE::p sponsorSle == nullptr || sponsorSle->getType() == ltACCOUNT_ROOT, "ReserveContext::makeFromAccount : valid sponsor sle"); - auto const accountID = accountSle->getAccountID(sfAccount); - std::optional const sponsorID = - sponsorSle ? std::optional{sponsorSle->getAccountID(sfAccount)} : std::nullopt; - return { - .accountSle = accountSle, - .sponsorSle = sponsorSle, - .sponsorshipSle = - sponsorID ? view.peek(keylet::sponsorship(*sponsorID, accountID)) : nullptr, - }; + ReserveContext ctx{.accountSle = accountSle, .sponsorSle = sponsorSle}; + if (auto const sponsorID = ctx.sponsorID(); sponsorID.has_value()) + ctx.sponsorshipSle = view.peek(keylet::sponsorship(*sponsorID, ctx.accountID())); + return ctx; } ReserveContext @@ -460,16 +455,12 @@ ReserveContext::makeFromObject(ApplyView& view, SLE::ref objectSle, SLE::pointer ownerSle != nullptr && ownerSle->getType() == ltACCOUNT_ROOT, "ReserveContext::makeFromObject : valid owner sle"); XRPL_ASSERT(objectSle != nullptr, "ReserveContext::makeFromObject : valid object sle"); - auto const accountID = ownerSle->getAccountID(sfAccount); - SLE::ref sponsorSle = getLedgerEntryReserveSponsor(view, objectSle); - std::optional const sponsorID = - sponsorSle ? std::optional{sponsorSle->getAccountID(sfAccount)} : std::nullopt; - return { - .accountSle = ownerSle, - .sponsorSle = sponsorSle, - .sponsorshipSle = - sponsorID ? view.peek(keylet::sponsorship(*sponsorID, accountID)) : nullptr, - }; + + ReserveContext ctx{ + .accountSle = ownerSle, .sponsorSle = getLedgerEntryReserveSponsor(view, objectSle)}; + if (auto const sponsorID = ctx.sponsorID(); sponsorID.has_value()) + ctx.sponsorshipSle = view.peek(keylet::sponsorship(*sponsorID, ctx.accountID())); + return ctx; } } // namespace xrpl