From aab6dc4335b6c86cffcb5af83fc28ac3aa1812b7 Mon Sep 17 00:00:00 2001 From: Mayukha Vadari Date: Mon, 6 Jul 2026 13:24:37 -0400 Subject: [PATCH] fix build issues, use reference --- src/libxrpl/ledger/View.cpp | 2 +- src/libxrpl/ledger/helpers/AccountRootHelpers.cpp | 2 +- src/libxrpl/ledger/helpers/RippleStateHelpers.cpp | 2 +- src/libxrpl/tx/Transactor.cpp | 2 +- .../tx/transactors/Sponsor/SponsorshipTransfer.cpp | 2 +- src/libxrpl/tx/transactors/account/SignerListSet.cpp | 2 +- src/libxrpl/tx/transactors/check/CheckCreate.cpp | 2 +- src/libxrpl/tx/transactors/delegate/DelegateSet.cpp | 2 +- src/libxrpl/tx/transactors/escrow/EscrowCreate.cpp | 2 +- .../tx/transactors/payment/DepositPreauth.cpp | 2 +- .../payment_channel/PaymentChannelCreate.cpp | 2 +- src/libxrpl/tx/transactors/token/TrustSet.cpp | 6 +----- src/test/app/Sponsor_test.cpp | 12 ++++++------ 13 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/libxrpl/ledger/View.cpp b/src/libxrpl/ledger/View.cpp index 80f14dfd01..a3f4c18599 100644 --- a/src/libxrpl/ledger/View.cpp +++ b/src/libxrpl/ledger/View.cpp @@ -468,7 +468,7 @@ doWithdraw( // LCOV_EXCL_STOP } - auto const sponsorSle = ctx.txReserveContext.sponsorSle; + auto const& sponsorSle = ctx.txReserveContext.sponsorSle; // Move the funds directly from the broker's pseudo-account to the // dstAcct diff --git a/src/libxrpl/ledger/helpers/AccountRootHelpers.cpp b/src/libxrpl/ledger/helpers/AccountRootHelpers.cpp index 814f6e7570..780d6f3da2 100644 --- a/src/libxrpl/ledger/helpers/AccountRootHelpers.cpp +++ b/src/libxrpl/ledger/helpers/AccountRootHelpers.cpp @@ -360,7 +360,7 @@ checkReserve( // owned by the tx.Account. For any other account (e.g. a pseudo-account or // a counterparty), the sponsor does not apply and the account must cover // its own reserve. - auto const sponsorSle = accSle->getAccountID(sfAccount) == ctx.txReserveContext.accountID() + auto const& sponsorSle = accSle->getAccountID(sfAccount) == ctx.txReserveContext.accountID() ? ctx.txReserveContext.sponsorSle : nullptr; if (sponsorSle) diff --git a/src/libxrpl/ledger/helpers/RippleStateHelpers.cpp b/src/libxrpl/ledger/helpers/RippleStateHelpers.cpp index dbdf12411d..3ab8314a12 100644 --- a/src/libxrpl/ledger/helpers/RippleStateHelpers.cpp +++ b/src/libxrpl/ledger/helpers/RippleStateHelpers.cpp @@ -798,7 +798,7 @@ deleteAMMTrustLine( if (ammAccountID && (low != *ammAccountID && high != *ammAccountID)) return terNO_AMM; - auto const sponsorSle = + auto const& sponsorSle = getLedgerEntryReserveSponsor(view, sleState, !ammLow ? sfLowSponsor : sfHighSponsor); if (auto const ter = trustDelete(view, sleState, low, high, j); !isTesSuccess(ter)) diff --git a/src/libxrpl/tx/Transactor.cpp b/src/libxrpl/tx/Transactor.cpp index 1447554812..0b04f8df11 100644 --- a/src/libxrpl/tx/Transactor.cpp +++ b/src/libxrpl/tx/Transactor.cpp @@ -448,7 +448,7 @@ Transactor::checkSponsor(ReadView const& view, STTx const& tx) if (tx.isFieldPresent(sfDelegate) && isReserveSponsored(tx)) return terNO_SPONSORSHIP; - if (auto const sponsorSle = getTxReserveSponsor(view, tx); !sponsorSle) + if (auto const& sponsorSle = getTxReserveSponsor(view, tx); !sponsorSle) return terNO_ACCOUNT; auto const hasSponsorSignature = tx.isFieldPresent(sfSponsorSignature); diff --git a/src/libxrpl/tx/transactors/Sponsor/SponsorshipTransfer.cpp b/src/libxrpl/tx/transactors/Sponsor/SponsorshipTransfer.cpp index 39496c66f3..0af1808d19 100644 --- a/src/libxrpl/tx/transactors/Sponsor/SponsorshipTransfer.cpp +++ b/src/libxrpl/tx/transactors/Sponsor/SponsorshipTransfer.cpp @@ -246,7 +246,7 @@ reduceReserveCount( return tefINTERNAL; // LCOV_EXCL_LINE auto const sponsorKeylet = keylet::sponsorship(sponsor, account); - auto const sponsorSle = view.peek(sponsorKeylet); + auto const& sponsorSle = view.peek(sponsorKeylet); if (!sponsorSle) return tefINTERNAL; // LCOV_EXCL_LINE diff --git a/src/libxrpl/tx/transactors/account/SignerListSet.cpp b/src/libxrpl/tx/transactors/account/SignerListSet.cpp index 4963807191..61c65e9d1f 100644 --- a/src/libxrpl/tx/transactors/account/SignerListSet.cpp +++ b/src/libxrpl/tx/transactors/account/SignerListSet.cpp @@ -320,7 +320,7 @@ SignerListSet::replaceSignerList() // allow dipping into the reserve to pay fees. This behavior is consistent // with TicketCreate. auto const applyViewContext = ctx_.getApplyViewContext(); - auto const sponsorSle = applyViewContext.txReserveContext.sponsorSle; + auto const& sponsorSle = applyViewContext.txReserveContext.sponsorSle; if (auto const ret = checkReserve( ctx_.getApplyViewContext(), sle, diff --git a/src/libxrpl/tx/transactors/check/CheckCreate.cpp b/src/libxrpl/tx/transactors/check/CheckCreate.cpp index 8bb0c8b9b4..c1ece39059 100644 --- a/src/libxrpl/tx/transactors/check/CheckCreate.cpp +++ b/src/libxrpl/tx/transactors/check/CheckCreate.cpp @@ -196,7 +196,7 @@ CheckCreate::doApply() // check the starting balance because we want to allow dipping into the // reserve to pay fees. auto const applyViewContext = ctx_.getApplyViewContext(); - auto const sponsorSle = applyViewContext.txReserveContext.sponsorSle; + auto const& sponsorSle = applyViewContext.txReserveContext.sponsorSle; if (auto const ret = checkReserve( ctx_.getApplyViewContext(), sle, preFeeBalance_, {.ownerCountDelta = 1}, ctx_.journal); !isTesSuccess(ret)) diff --git a/src/libxrpl/tx/transactors/delegate/DelegateSet.cpp b/src/libxrpl/tx/transactors/delegate/DelegateSet.cpp index c24874708c..9585f276bc 100644 --- a/src/libxrpl/tx/transactors/delegate/DelegateSet.cpp +++ b/src/libxrpl/tx/transactors/delegate/DelegateSet.cpp @@ -99,7 +99,7 @@ DelegateSet::doApply() if (permissions.empty()) return tecINTERNAL; // LCOV_EXCL_LINE auto const applyViewContext = ctx_.getApplyViewContext(); - auto const sponsorSle = applyViewContext.txReserveContext.sponsorSle; + auto const& sponsorSle = applyViewContext.txReserveContext.sponsorSle; if (auto const ret = checkReserve( ctx_.getApplyViewContext(), sleOwner, diff --git a/src/libxrpl/tx/transactors/escrow/EscrowCreate.cpp b/src/libxrpl/tx/transactors/escrow/EscrowCreate.cpp index 52997095c8..9f6feefa77 100644 --- a/src/libxrpl/tx/transactors/escrow/EscrowCreate.cpp +++ b/src/libxrpl/tx/transactors/escrow/EscrowCreate.cpp @@ -437,7 +437,7 @@ EscrowCreate::doApply() auto const balance = sle->getFieldAmount(sfBalance).xrp(); auto const applyViewContext = ctx_.getApplyViewContext(); - auto const sponsorSle = applyViewContext.txReserveContext.sponsorSle; + auto const& sponsorSle = applyViewContext.txReserveContext.sponsorSle; // First check: whoever is on the hook for the new owner increment // can cover it. When sponsored this hits the sponsor branch and // validates the sponsor's reserve + remaining credit. When diff --git a/src/libxrpl/tx/transactors/payment/DepositPreauth.cpp b/src/libxrpl/tx/transactors/payment/DepositPreauth.cpp index 3f6eaab062..62961f7590 100644 --- a/src/libxrpl/tx/transactors/payment/DepositPreauth.cpp +++ b/src/libxrpl/tx/transactors/payment/DepositPreauth.cpp @@ -153,7 +153,7 @@ TER DepositPreauth::doApply() { auto applyViewContext = ctx_.getApplyViewContext(); - auto const sponsorSle = applyViewContext.txReserveContext.sponsorSle; + auto const& sponsorSle = applyViewContext.txReserveContext.sponsorSle; if (ctx_.tx.isFieldPresent(sfAuthorize)) { auto const sleOwner = view().peek(keylet::account(accountID_)); diff --git a/src/libxrpl/tx/transactors/payment_channel/PaymentChannelCreate.cpp b/src/libxrpl/tx/transactors/payment_channel/PaymentChannelCreate.cpp index 4895a311b7..705b0629c3 100644 --- a/src/libxrpl/tx/transactors/payment_channel/PaymentChannelCreate.cpp +++ b/src/libxrpl/tx/transactors/payment_channel/PaymentChannelCreate.cpp @@ -135,7 +135,7 @@ PaymentChannelCreate::doApply() } auto const applyViewContext = ctx_.getApplyViewContext(); - auto const sponsorSle = applyViewContext.txReserveContext.sponsorSle; + auto const& sponsorSle = applyViewContext.txReserveContext.sponsorSle; if (ctx_.view().rules().enabled(featureSponsor)) { diff --git a/src/libxrpl/tx/transactors/token/TrustSet.cpp b/src/libxrpl/tx/transactors/token/TrustSet.cpp index 564f30013f..2fccdff96f 100644 --- a/src/libxrpl/tx/transactors/token/TrustSet.cpp +++ b/src/libxrpl/tx/transactors/token/TrustSet.cpp @@ -328,11 +328,7 @@ TrustSet::doApply() // well. A person with no intention of using the gateway // could use the extra XRP for their own purposes. auto const applyViewContext = ctx_.getApplyViewContext(); - auto const sponsorSle = applyViewContext.txReserveContext.sponsorSle; - - auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext()); - if (!sponsorSle) - return sponsorSle.error(); // LCOV_EXCL_LINE + auto const& sponsorSle = applyViewContext.txReserveContext.sponsorSle; auto getSponsor = [&sponsorSle, this](AccountID const& account) { return (sponsorSle && account == accountID_) ? sponsorSle : SLE::pointer(); diff --git a/src/test/app/Sponsor_test.cpp b/src/test/app/Sponsor_test.cpp index 21320c034a..bc3abb42df 100644 --- a/src/test/app/Sponsor_test.cpp +++ b/src/test/app/Sponsor_test.cpp @@ -3876,7 +3876,7 @@ public: if (aliceSle) BEAST_EXPECT(aliceSle->getAccountID(sfSponsor) == sponsor.id()); - auto const sponsorSle = env.le(keylet::account(sponsor)); + auto const& sponsorSle = env.le(keylet::account(sponsor)); BEAST_EXPECT(sponsorSle->getFieldU32(sfSponsoringAccountCount) == 1); incLgrSeqForAccDel(env, alice); @@ -3884,7 +3884,7 @@ public: // AccountDelete: destination = sponsor env(acctdelete(alice, sponsor), Fee(requiredFee), Ter(tesSUCCESS)); - auto const sponsorSle2 = env.le(keylet::account(sponsor)); + auto const& sponsorSle2 = env.le(keylet::account(sponsor)); BEAST_EXPECT(!sponsorSle2->isFieldPresent(sfSponsoringAccountCount)); } @@ -3917,7 +3917,7 @@ public: env.close(); // Verify sfSponsoringOwnerCount is set on sponsor - auto const sponsorSle = env.le(keylet::account(sponsor)); + auto const& sponsorSle = env.le(keylet::account(sponsor)); BEAST_EXPECT(sponsorSle->isFieldPresent(sfSponsoringOwnerCount)); auto const sponsoringOwnerCount = sponsorSle->getFieldU32(sfSponsoringOwnerCount); BEAST_EXPECT(sponsoringOwnerCount >= 1); @@ -3928,7 +3928,7 @@ public: auto const requiredFee = drops(env.current()->fees().increment); env(acctdelete(sponsor, bob), Fee(requiredFee), Ter(tecHAS_OBLIGATIONS)); // The failed delete must not decrement the outstanding sponsored-object count. - auto const sponsorSleAfter = env.le(keylet::account(sponsor)); + auto const& sponsorSleAfter = env.le(keylet::account(sponsor)); BEAST_EXPECT(sponsorSleAfter->isFieldPresent(sfSponsoringOwnerCount)); BEAST_EXPECT( sponsorSleAfter->getFieldU32(sfSponsoringOwnerCount) == sponsoringOwnerCount); @@ -3946,7 +3946,7 @@ public: env.close(); // Verify sfSponsoringAccountCount is set on sponsor - auto const sponsorSle = env.le(keylet::account(sponsor)); + auto const& sponsorSle = env.le(keylet::account(sponsor)); BEAST_EXPECT(sponsorSle->isFieldPresent(sfSponsoringAccountCount)); auto const sponsoringAccountCount = sponsorSle->getFieldU32(sfSponsoringAccountCount); BEAST_EXPECT(sponsoringAccountCount == 1); @@ -3957,7 +3957,7 @@ public: auto const requiredFee = drops(env.current()->fees().increment); env(acctdelete(sponsor, bob), Fee(requiredFee), Ter(tecHAS_OBLIGATIONS)); // The failed delete must not decrement the outstanding sponsored-account count. - auto const sponsorSleAfter = env.le(keylet::account(sponsor)); + auto const& sponsorSleAfter = env.le(keylet::account(sponsor)); BEAST_EXPECT(sponsorSleAfter->isFieldPresent(sfSponsoringAccountCount)); BEAST_EXPECT( sponsorSleAfter->getFieldU32(sfSponsoringAccountCount) == sponsoringAccountCount);