diff --git a/include/xrpl/ledger/View.h b/include/xrpl/ledger/View.h index b6b3307718..1aa5639d72 100644 --- a/include/xrpl/ledger/View.h +++ b/include/xrpl/ledger/View.h @@ -934,7 +934,7 @@ accountSend( AccountID const& to, STAmount const& saAmount, beast::Journal j, - std::optional const& sponsorAcc = std::nullopt, + std::optional const& sponsorAcccountID = std::nullopt, WaiveTransferFee waiveFee = WaiveTransferFee::No); using MultiplePaymentDestinations = std::vector>; @@ -951,7 +951,7 @@ accountSendMulti( Asset const& asset, MultiplePaymentDestinations const& receivers, beast::Journal j, - std::optional const& sponsorAccount, + std::optional const& sponsorAccountID, WaiveTransferFee waiveFee = WaiveTransferFee::No); [[nodiscard]] TER diff --git a/src/libxrpl/ledger/View.cpp b/src/libxrpl/ledger/View.cpp index b1022df1e6..085ffe4322 100644 --- a/src/libxrpl/ledger/View.cpp +++ b/src/libxrpl/ledger/View.cpp @@ -1226,12 +1226,12 @@ adjustOwnerCount( if (sponsorSle) { auto const account = accountSle->getAccountID(sfAccount); - auto const sponsorAcc = (sponsorSle)->getAccountID(sfAccount); + auto const sponsorAccountID = (sponsorSle)->getAccountID(sfAccount); { // modify sponsor's SponsoringOwnerCount std::uint32_t const current{(sponsorSle)->getFieldU32(sfSponsoringOwnerCount)}; - std::uint32_t const adjusted = confineOwnerCount(current, amount, sponsorAcc, j); - view.adjustOwnerCountHook(sponsorAcc, current, adjusted); + std::uint32_t const adjusted = confineOwnerCount(current, amount, sponsorAccountID, j); + view.adjustOwnerCountHook(sponsorAccountID, current, adjusted); if (adjusted == 0) (sponsorSle)->makeFieldAbsent(sfSponsoringOwnerCount); else @@ -1250,7 +1250,7 @@ adjustOwnerCount( view.update(accountSle); } - auto sponsorObjSle = view.peek(keylet::sponsor(sponsorAcc, account)); + auto sponsorObjSle = view.peek(keylet::sponsor(sponsorAccountID, account)); if (sponsorObjSle) { @@ -1261,7 +1261,7 @@ adjustOwnerCount( // Reserve count moves opposite to amount: +amount => consume reserve (-), -amount => // payback (+) std::uint32_t const adjusted = - confineOwnerCount(currentReserveCount, -amount, sponsorAcc, j); + confineOwnerCount(currentReserveCount, -amount, sponsorAccountID, j); if (adjusted == 0) sponsorObjSle->makeFieldAbsent(sfReserveCount); else @@ -1588,11 +1588,12 @@ doWithdraw( // LCOV_EXCL_STOP } - auto const sponsorAcc = getTxReserveSponsorAccountID(tx); + auto const sponsorAccountID = getTxReserveSponsorAccountID(tx); // Move the funds directly from the broker's pseudo-account to the // dstAcct - return accountSend(view, sourceAcct, dstAcct, amount, j, sponsorAcc, WaiveTransferFee::Yes); + return accountSend( + view, sourceAcct, dstAcct, amount, j, sponsorAccountID, WaiveTransferFee::Yes); } [[nodiscard]] TER @@ -2128,7 +2129,7 @@ rippleCreditIOU( AccountID const& uReceiverID, STAmount const& saAmount, bool bCheckIssuer, - std::optional const& sponsorAccount, + std::optional const& sponsorAccountID, beast::Journal j) { AccountID const& issuer = saAmount.getIssuer(); @@ -2263,7 +2264,7 @@ rippleCreditIOU( saReceiverLimit, 0, 0, - sponsorAccount, + sponsorAccountID, j); } @@ -2278,7 +2279,7 @@ rippleSendIOU( STAmount const& saAmount, STAmount& saActual, beast::Journal j, - std::optional const& sponsorAccount, + std::optional const& sponsorAccountID, WaiveTransferFee waiveFee) { auto const& issuer = saAmount.getIssuer(); @@ -2292,7 +2293,7 @@ rippleSendIOU( { // Direct send: redeeming IOUs and/or sending own IOUs. auto const ter = - rippleCreditIOU(view, uSenderID, uReceiverID, saAmount, false, sponsorAccount, j); + rippleCreditIOU(view, uSenderID, uReceiverID, saAmount, false, sponsorAccountID, j); if (ter != tesSUCCESS) return ter; saActual = saAmount; @@ -2310,10 +2311,10 @@ rippleSendIOU( << to_string(uReceiverID) << " : deliver=" << saAmount.getFullText() << " cost=" << saActual.getFullText(); - TER terResult = rippleCreditIOU(view, issuer, uReceiverID, saAmount, true, sponsorAccount, j); + TER terResult = rippleCreditIOU(view, issuer, uReceiverID, saAmount, true, sponsorAccountID, j); if (tesSUCCESS == terResult) - terResult = rippleCreditIOU(view, uSenderID, issuer, saActual, true, sponsorAccount, j); + terResult = rippleCreditIOU(view, uSenderID, issuer, saActual, true, sponsorAccountID, j); return terResult; } @@ -2329,7 +2330,7 @@ rippleSendMultiIOU( MultiplePaymentDestinations const& receivers, STAmount& actual, beast::Journal j, - std::optional const& sponsorAccount, + std::optional const& sponsorAccountID, WaiveTransferFee waiveFee) { auto const& issuer = issue.getIssuer(); @@ -2358,7 +2359,7 @@ rippleSendMultiIOU( { // Direct send: redeeming IOUs and/or sending own IOUs. if (auto const ter = - rippleCreditIOU(view, senderID, receiverID, amount, false, sponsorAccount, j)) + rippleCreditIOU(view, senderID, receiverID, amount, false, sponsorAccountID, j)) return ter; actual += amount; // Do not add amount to takeFromSender, because rippleCreditIOU took @@ -2382,14 +2383,14 @@ rippleSendMultiIOU( << " cost=" << actual.getFullText(); if (TER const terResult = - rippleCreditIOU(view, issuer, receiverID, amount, true, sponsorAccount, j)) + rippleCreditIOU(view, issuer, receiverID, amount, true, sponsorAccountID, j)) return terResult; } if (senderID != issuer && takeFromSender) { if (TER const terResult = - rippleCreditIOU(view, senderID, issuer, takeFromSender, true, sponsorAccount, j)) + rippleCreditIOU(view, senderID, issuer, takeFromSender, true, sponsorAccountID, j)) return terResult; } @@ -2403,7 +2404,7 @@ accountSendIOU( AccountID const& uReceiverID, STAmount const& saAmount, beast::Journal j, - std::optional const& sponsorAccount, + std::optional const& sponsorAccountID, WaiveTransferFee waiveFee) { if (view.rules().enabled(fixAMMv1_1)) @@ -2436,7 +2437,7 @@ accountSendIOU( << to_string(uReceiverID) << " : " << saAmount.getFullText(); return rippleSendIOU( - view, uSenderID, uReceiverID, saAmount, saActual, j, sponsorAccount, waiveFee); + view, uSenderID, uReceiverID, saAmount, saActual, j, sponsorAccountID, waiveFee); } /* XRP send which does not check reserve and can do pure adjustment. @@ -2524,7 +2525,7 @@ accountSendMultiIOU( Issue const& issue, MultiplePaymentDestinations const& receivers, beast::Journal j, - std::optional const& sponsorAccount, + std::optional const& sponsorAccountID, WaiveTransferFee waiveFee) { XRPL_ASSERT_PARTS( @@ -2537,7 +2538,7 @@ accountSendMultiIOU( << receivers.size() << " IOUs"; return rippleSendMultiIOU( - view, senderID, issue, receivers, actual, j, sponsorAccount, waiveFee); + view, senderID, issue, receivers, actual, j, sponsorAccountID, waiveFee); } /* XRP send which does not check reserve and can do pure adjustment. @@ -2900,14 +2901,14 @@ accountSend( AccountID const& uReceiverID, STAmount const& saAmount, beast::Journal j, - std::optional const& sponsorAcc, + std::optional const& sponsorAccountID, WaiveTransferFee waiveFee) { return std::visit( [&](TIss const& issue) { if constexpr (std::is_same_v) return accountSendIOU( - view, uSenderID, uReceiverID, saAmount, j, sponsorAcc, waiveFee); + view, uSenderID, uReceiverID, saAmount, j, sponsorAccountID, waiveFee); else return accountSendMPT(view, uSenderID, uReceiverID, saAmount, j, waiveFee); }, @@ -2921,7 +2922,7 @@ accountSendMulti( Asset const& asset, MultiplePaymentDestinations const& receivers, beast::Journal j, - std::optional const& sponsorAccount, + std::optional const& sponsorAccountID, WaiveTransferFee waiveFee) { XRPL_ASSERT_PARTS( @@ -2930,7 +2931,7 @@ accountSendMulti( [&](TIss const& issue) { if constexpr (std::is_same_v) return accountSendMultiIOU( - view, senderID, issue, receivers, j, sponsorAccount, waiveFee); + view, senderID, issue, receivers, j, sponsorAccountID, waiveFee); else return accountSendMultiMPT(view, senderID, issue, receivers, j, waiveFee); }, diff --git a/src/libxrpl/tx/Transactor.cpp b/src/libxrpl/tx/Transactor.cpp index 7577948609..23161e66e2 100644 --- a/src/libxrpl/tx/Transactor.cpp +++ b/src/libxrpl/tx/Transactor.cpp @@ -775,9 +775,10 @@ Transactor::checkSign( if (!sigObject.isFieldPresent(sfSponsor)) return tefINTERNAL; // LCOV_EXCL_LINE - auto const sponsorAcc = sigObject.getAccountID(sfSponsor); + auto const sponsorAccountID = sigObject.getAccountID(sfSponsor); auto const sponsorSignature = sigObject.getFieldObject(sfSponsorSignature); - if (auto const ret = checkSign(view, flags, std::nullopt, sponsorAcc, sponsorSignature, j); + if (auto const ret = + checkSign(view, flags, std::nullopt, sponsorAccountID, sponsorSignature, j); !isTesSuccess(ret)) return ret; } diff --git a/src/libxrpl/tx/transactors/Sponsor/SponsorshipSet.cpp b/src/libxrpl/tx/transactors/Sponsor/SponsorshipSet.cpp index dca59ec669..a622a393d9 100644 --- a/src/libxrpl/tx/transactors/Sponsor/SponsorshipSet.cpp +++ b/src/libxrpl/tx/transactors/Sponsor/SponsorshipSet.cpp @@ -31,10 +31,10 @@ SponsorshipSet::preflight(PreflightContext const& ctx) if (hasSponsor == hasSponsee) return temMALFORMED; - auto const sponsor = ctx.tx[~sfCounterpartySponsor].value_or(account); - auto const sponsee = ctx.tx[~sfSponsee].value_or(account); + auto const sponsorAccountID = ctx.tx[~sfCounterpartySponsor].value_or(account); + auto const sponseeAccountID = ctx.tx[~sfSponsee].value_or(account); - if (sponsor == sponsee) + if (sponsorAccountID == sponseeAccountID) return temMALFORMED; if (flags & tfDeleteObject) @@ -56,7 +56,7 @@ SponsorshipSet::preflight(PreflightContext const& ctx) { // although both Sponsor and Sponsee can delete, // only the Sponsor can create or update sponsorship. - if (account != sponsor) + if (account != sponsorAccountID) return temMALFORMED; // Check FeeAmount and MaxFee @@ -136,24 +136,24 @@ SponsorshipSet::checkPermission(ReadView const& view, STTx const& tx) TER SponsorshipSet::preclaim(PreclaimContext const& ctx) { - auto const sponsor = ctx.tx[~sfCounterpartySponsor].value_or(ctx.tx[sfAccount]); - auto const sponsee = ctx.tx[~sfSponsee].value_or(ctx.tx[sfAccount]); + auto const sponsorAccountID = ctx.tx[~sfCounterpartySponsor].value_or(ctx.tx[sfAccount]); + auto const sponseeAccountID = ctx.tx[~sfSponsee].value_or(ctx.tx[sfAccount]); - if (sponsee == sponsor) + if (sponseeAccountID == sponsorAccountID) return tecINTERNAL; // LCOV_EXCL_LINE // check Sponsor - auto const sponsorAccSle = ctx.view.read(keylet::account(sponsor)); + auto const sponsorAccSle = ctx.view.read(keylet::account(sponsorAccountID)); if (!sponsorAccSle) return tecNO_DST; // check Sponsee - auto const sponseeSle = ctx.view.read(keylet::account(sponsee)); + auto const sponseeSle = ctx.view.read(keylet::account(sponseeAccountID)); if (!sponseeSle) return tecNO_DST; // check if object exists - auto const sponsorObjSle = ctx.view.read(keylet::sponsor(sponsor, sponsee)); + auto const sponsorObjSle = ctx.view.read(keylet::sponsor(sponsorAccountID, sponseeAccountID)); if (ctx.tx.isFlag(tfDeleteObject) && !sponsorObjSle) return tecNO_ENTRY; @@ -168,20 +168,20 @@ SponsorshipSet::preclaim(PreclaimContext const& ctx) TER SponsorshipSet::doApply() { - auto const sponsorAcc = ctx_.tx[~sfCounterpartySponsor].value_or(account_); - auto const sponseeAcc = ctx_.tx[~sfSponsee].value_or(account_); + auto const sponsorAccountID = ctx_.tx[~sfCounterpartySponsor].value_or(account_); + auto const sponseeAccountID = ctx_.tx[~sfSponsee].value_or(account_); - if (sponseeAcc == sponsorAcc) + if (sponseeAccountID == sponsorAccountID) return tecINTERNAL; // LCOV_EXCL_LINE - auto const sponsorAccSle = ctx_.view().peek(keylet::account(sponsorAcc)); + auto const sponsorAccSle = ctx_.view().peek(keylet::account(sponsorAccountID)); if (!sponsorAccSle) return tecINTERNAL; // LCOV_EXCL_LINE - if (!ctx_.view().exists(keylet::account(sponseeAcc))) + if (!ctx_.view().exists(keylet::account(sponseeAccountID))) return tecINTERNAL; // LCOV_EXCL_LINE - auto const sponsorKeylet = keylet::sponsor(sponsorAcc, sponseeAcc); + auto const sponsorKeylet = keylet::sponsor(sponsorAccountID, sponseeAccountID); auto const sponsorObjSle = ctx_.view().peek(sponsorKeylet); if (ctx_.tx.isFlag(tfDeleteObject)) @@ -194,12 +194,12 @@ SponsorshipSet::doApply() adjustOwnerCount(ctx_.view(), sponsorAccSle, sponsor, -1, ctx_.journal); ctx_.view().dirRemove( - keylet::ownerDir(sponsorAcc), + keylet::ownerDir(sponsorAccountID), (*sponsorObjSle)[sfOwnerNode], sponsorObjSle->key(), false); ctx_.view().dirRemove( - keylet::ownerDir(sponseeAcc), + keylet::ownerDir(sponseeAccountID), (*sponsorObjSle)[sfSponseeNode], sponsorObjSle->key(), false); @@ -235,8 +235,8 @@ SponsorshipSet::doApply() !isTesSuccess(ret)) return tecUNFUNDED; - (*newSle)[sfOwner] = sponsorAcc; - (*newSle)[sfSponsee] = sponseeAcc; + (*newSle)[sfOwner] = sponsorAccountID; + (*newSle)[sfSponsee] = sponseeAccountID; if (feeAmount && *feeAmount > XRPAmount(0)) { (*sponsorAccSle)[sfBalance] -= *feeAmount; @@ -257,11 +257,11 @@ SponsorshipSet::doApply() (*newSle)[sfFlags] = flags; auto const sponsorPage = view().dirInsert( - keylet::ownerDir(sponsorAcc), sponsorKeylet, describeOwnerDir(sponsorAcc)); + keylet::ownerDir(sponsorAccountID), sponsorKeylet, describeOwnerDir(sponsorAccountID)); (*newSle)[sfOwnerNode] = *sponsorPage; auto const sponseePage = view().dirInsert( - keylet::ownerDir(sponseeAcc), sponsorKeylet, describeOwnerDir(sponseeAcc)); + keylet::ownerDir(sponseeAccountID), sponsorKeylet, describeOwnerDir(sponseeAccountID)); (*newSle)[sfSponseeNode] = *sponseePage; auto viewJ = ctx_.registry.journal("View"); @@ -335,11 +335,11 @@ SponsorshipSet::deleteSponsorship( std::shared_ptr const& sle, beast::Journal j) { - auto const sponsor = sle->getAccountID(sfOwner); - auto const sponsee = sle->getAccountID(sfSponsee); + auto const sponsorAccountID = sle->getAccountID(sfOwner); + auto const sponseeAccountID = sle->getAccountID(sfSponsee); // adjust balance - auto const sponsorAccSle = view.peek(keylet::account(sponsor)); + auto const sponsorAccSle = view.peek(keylet::account(sponsorAccountID)); if (!sponsorAccSle) return tecINTERNAL; // LCOV_EXCL_LINE @@ -355,9 +355,9 @@ SponsorshipSet::deleteSponsorship( view.update(sponsorAccSle); // delete sponsor node - view.dirRemove(keylet::ownerDir(sponsor), (*sle)[sfOwnerNode], sle->key(), false); + view.dirRemove(keylet::ownerDir(sponsorAccountID), (*sle)[sfOwnerNode], sle->key(), false); // delete sponsee node - view.dirRemove(keylet::ownerDir(sponsee), (*sle)[sfSponseeNode], sle->key(), false); + view.dirRemove(keylet::ownerDir(sponseeAccountID), (*sle)[sfSponseeNode], sle->key(), false); view.erase(sle); diff --git a/src/libxrpl/tx/transactors/Sponsor/SponsorshipTransfer.cpp b/src/libxrpl/tx/transactors/Sponsor/SponsorshipTransfer.cpp index e59db6d5ed..f5c756a769 100644 --- a/src/libxrpl/tx/transactors/Sponsor/SponsorshipTransfer.cpp +++ b/src/libxrpl/tx/transactors/Sponsor/SponsorshipTransfer.cpp @@ -226,8 +226,8 @@ SponsorshipTransfer::preclaim(PreclaimContext const& ctx) auto const account = ctx.tx[sfAccount]; - auto const sponsee = ctx.tx[~sfSponsee].value_or(account); - auto const sponseeSle = ctx.view.read(keylet::account(sponsee)); + auto const sponseeAccountID = ctx.tx[~sfSponsee].value_or(account); + auto const sponseeSle = ctx.view.read(keylet::account(sponseeAccountID)); if (!sponseeSle) return tecINTERNAL; // LCOV_EXCL_LINE @@ -239,8 +239,8 @@ SponsorshipTransfer::preclaim(PreclaimContext const& ctx) auto const ownerCountDelta = getLedgerEntryOwnerCount(sle); - auto const owner = getLedgerEntryOwner(ctx.view, sle, sponsee); - if (!owner || owner != sponsee) + auto const owner = getLedgerEntryOwner(ctx.view, sle, sponseeAccountID); + if (!owner || owner != sponseeAccountID) return tecNO_PERMISSION; auto const& sponsorField = getLedgerEntrySponsorField(sle, *owner); @@ -371,8 +371,8 @@ SponsorshipTransfer::doApply() auto const flags = tx.getFlags(); bool const isObjectSponsor = index != std::nullopt; - auto const sponsee = tx[~sfSponsee].value_or(account_); - auto const sponseeSle = view().peek(keylet::account(sponsee)); + auto const sponseeAccountID = tx[~sfSponsee].value_or(account_); + auto const sponseeSle = view().peek(keylet::account(sponseeAccountID)); if (!sponseeSle) return tefINTERNAL; // LCOV_EXCL_LINE @@ -393,96 +393,99 @@ SponsorshipTransfer::doApply() if (!objSle) return tefINTERNAL; // LCOV_EXCL_LINE - auto const owner = getLedgerEntryOwner(view(), objSle, account_); - if (!owner) + auto const ownerAccountID = getLedgerEntryOwner(view(), objSle, account_); + if (!ownerAccountID) return tefINTERNAL; // LCOV_EXCL_LINE - auto const ownerSle = view().peek(keylet::account(*owner)); + auto const ownerSle = view().peek(keylet::account(*ownerAccountID)); if (!ownerSle) return tefINTERNAL; // LCOV_EXCL_LINE auto const ownerCountDelta = getLedgerEntryOwnerCount(objSle); - auto const& sponsorField = getLedgerEntrySponsorField(objSle, *owner); + auto const& sponsorField = getLedgerEntrySponsorField(objSle, *ownerAccountID); if (flags & tfSponsorshipCreate) { - auto const newSponsor = tx.getAccountID(sfSponsor); - XRPL_ASSERT(!!newSponsor, "New sponsor is required when creating sponsorship"); + auto const newSponsorAccountID = tx.getAccountID(sfSponsor); + XRPL_ASSERT(!!newSponsorAccountID, "New sponsor is required when creating sponsorship"); // update owner's sponsored count setSponsorFieldU32(ownerSle, sfSponsoredOwnerCount, ownerCountDelta); view().update(ownerSle); // increment new sponsor's sponsoring count - auto const newSponsorSle = view().peek(keylet::account(newSponsor)); + auto const newSponsorSle = view().peek(keylet::account(newSponsorAccountID)); if (!newSponsorSle) return tefINTERNAL; // LCOV_EXCL_LINE setSponsorFieldU32(newSponsorSle, sfSponsoringOwnerCount, ownerCountDelta); view().update(newSponsorSle); // set new sponsor to object - objSle->setAccountID(sponsorField, newSponsor); + objSle->setAccountID(sponsorField, newSponsorAccountID); view().update(objSle); if (!hasSignature) { // use ReserveCount for pre-funded sponsoring if (auto const ter = - adjustReserveCount(view(), account_, newSponsor, -ownerCountDelta); + adjustReserveCount(view(), account_, newSponsorAccountID, -ownerCountDelta); !isTesSuccess(ter)) return ter; } } else if (flags & tfSponsorshipReassign) { - auto const newSponsor = tx.getAccountID(sfSponsor); - XRPL_ASSERT(!!newSponsor, "New sponsor is required when reassigning sponsorship"); + auto const newSponsorAccountID = tx.getAccountID(sfSponsor); + XRPL_ASSERT( + !!newSponsorAccountID, "New sponsor is required when reassigning sponsorship"); - auto const oldSponsor = objSle->getAccountID(sponsorField); - XRPL_ASSERT(!!oldSponsor, "Old sponsor is required when reassigning sponsorship"); + auto const oldSponsorAccountID = objSle->getAccountID(sponsorField); + XRPL_ASSERT( + !!oldSponsorAccountID, "Old sponsor is required when reassigning sponsorship"); // decrement old sponsor's sponsoring count - auto const oldSponsorSle = view().peek(keylet::account(oldSponsor)); + auto const oldSponsorSle = view().peek(keylet::account(oldSponsorAccountID)); if (!oldSponsorSle) return tefINTERNAL; // LCOV_EXCL_LINE setSponsorFieldU32(oldSponsorSle, sfSponsoringOwnerCount, -ownerCountDelta); view().update(oldSponsorSle); // increment new sponsor's sponsoring count - auto const newSponsorSle = view().peek(keylet::account(newSponsor)); + auto const newSponsorSle = view().peek(keylet::account(newSponsorAccountID)); if (!newSponsorSle) return tefINTERNAL; // LCOV_EXCL_LINE setSponsorFieldU32(newSponsorSle, sfSponsoringOwnerCount, ownerCountDelta); view().update(newSponsorSle); // set new sponsor to object - objSle->setAccountID(sponsorField, newSponsor); + objSle->setAccountID(sponsorField, newSponsorAccountID); view().update(objSle); if (!hasSignature) { // use ReserveCount for pre-funded sponsoring if (auto const ter = - adjustReserveCount(view(), account_, newSponsor, -ownerCountDelta); + adjustReserveCount(view(), account_, newSponsorAccountID, -ownerCountDelta); !isTesSuccess(ter)) return ter; } // payback the reserve count if ltSponsorship exists - if (auto const sponsorSle = view().exists(keylet::sponsor(oldSponsor, account_)); + if (auto const sponsorSle = + view().exists(keylet::sponsor(oldSponsorAccountID, account_)); sponsorSle) if (auto const ter = - adjustReserveCount(view(), account_, oldSponsor, ownerCountDelta); + adjustReserveCount(view(), account_, oldSponsorAccountID, ownerCountDelta); !isTesSuccess(ter)) return ter; } else if (flags & tfSponsorshipEnd) { - auto const oldSponsor = objSle->getAccountID(sponsorField); - XRPL_ASSERT(!!oldSponsor, "Old sponsor is required when ending sponsorship"); + auto const oldSponsorAccountID = objSle->getAccountID(sponsorField); + XRPL_ASSERT(!!oldSponsorAccountID, "Old sponsor is required when ending sponsorship"); - auto const oldSponsorSle = view().peek(keylet::account(oldSponsor)); + auto const oldSponsorSle = view().peek(keylet::account(oldSponsorAccountID)); if (!oldSponsorSle) return tefINTERNAL; // LCOV_EXCL_LINE @@ -495,10 +498,11 @@ SponsorshipTransfer::doApply() view().update(oldSponsorSle); // payback the reserve count if ltSponsorship exists - if (auto const sponsorSle = view().exists(keylet::sponsor(oldSponsor, account_)); + if (auto const sponsorSle = + view().exists(keylet::sponsor(oldSponsorAccountID, account_)); sponsorSle) if (auto const ter = - adjustReserveCount(view(), account_, oldSponsor, ownerCountDelta); + adjustReserveCount(view(), account_, oldSponsorAccountID, ownerCountDelta); !isTesSuccess(ter)) return ter; @@ -513,23 +517,23 @@ SponsorshipTransfer::doApply() { // create account sponsor // increment new sponsoring count - auto const newSponsor = tx.getAccountID(sfSponsor); - auto const newSponsorSle = view().peek(keylet::account(newSponsor)); + auto const newSponsorAccountID = tx.getAccountID(sfSponsor); + auto const newSponsorSle = view().peek(keylet::account(newSponsorAccountID)); if (!newSponsorSle) return tefINTERNAL; // LCOV_EXCL_LINE setSponsorFieldU32(newSponsorSle, sfSponsoringAccountCount, 1); view().update(newSponsorSle); // set new sponsor to account - sponseeSle->setAccountID(sfSponsor, newSponsor); + sponseeSle->setAccountID(sfSponsor, newSponsorAccountID); view().update(sponseeSle); } else if (flags & tfSponsorshipReassign) { // reassign account sponsor // increment new sponsoring count - auto const newSponsor = tx.getAccountID(sfSponsor); - auto const newSponsorSle = view().peek(keylet::account(newSponsor)); + auto const newSponsorAccountID = tx.getAccountID(sfSponsor); + auto const newSponsorSle = view().peek(keylet::account(newSponsorAccountID)); setSponsorFieldU32(newSponsorSle, sfSponsoringAccountCount, 1); view().update(newSponsorSle); @@ -542,18 +546,18 @@ SponsorshipTransfer::doApply() view().update(oldSponsorSle); // set new sponsor to account - sponseeSle->setAccountID(sfSponsor, newSponsor); + sponseeSle->setAccountID(sfSponsor, newSponsorAccountID); view().update(sponseeSle); } else if (flags & tfSponsorshipEnd) { // dissolve account sponsor - auto const oldSponsor = sponseeSle->getAccountID(sfSponsor); + auto const oldSponsorAccountID = sponseeSle->getAccountID(sfSponsor); sponseeSle->makeFieldAbsent(sfSponsor); view().update(sponseeSle); // decrement account sponsoring count - auto const oldSponsorSle = view().peek(keylet::account(oldSponsor)); + auto const oldSponsorSle = view().peek(keylet::account(oldSponsorAccountID)); if (!oldSponsorSle) return tefINTERNAL; // LCOV_EXCL_LINE setSponsorFieldU32(oldSponsorSle, sfSponsoringAccountCount, -1); diff --git a/src/libxrpl/tx/transactors/account/DeleteAccount.cpp b/src/libxrpl/tx/transactors/account/DeleteAccount.cpp index fec5b2757c..afefb8eb45 100644 --- a/src/libxrpl/tx/transactors/account/DeleteAccount.cpp +++ b/src/libxrpl/tx/transactors/account/DeleteAccount.cpp @@ -407,8 +407,8 @@ DeleteAccount::doApply() if (src->isFieldPresent(sfSponsor)) { - auto const sponsorAcc = src->getAccountID(sfSponsor); - auto sponsorSle = view().peek(keylet::account(sponsorAcc)); + auto const sponsorAccountID = src->getAccountID(sfSponsor); + auto sponsorSle = view().peek(keylet::account(sponsorAccountID)); if (!sponsorSle || !sponsorSle->isFieldPresent(sfSponsoringAccountCount)) return tefINTERNAL; // LCOV_EXCL_LINE diff --git a/src/libxrpl/tx/transactors/check/CashCheck.cpp b/src/libxrpl/tx/transactors/check/CashCheck.cpp index 3411964fdd..f32d2813e3 100644 --- a/src/libxrpl/tx/transactors/check/CashCheck.cpp +++ b/src/libxrpl/tx/transactors/check/CashCheck.cpp @@ -309,10 +309,10 @@ CashCheck::doApply() auto const sleDst = psb.peek(keylet::account(account_)); - auto const sponsorAcc = getTxReserveSponsorAccountID(ctx_.tx); + auto const sponsorAccountID = getTxReserveSponsorAccountID(ctx_.tx); std::shared_ptr sponsorSle = {}; - if (sponsorAcc) - sponsorSle = psb.peek(keylet::account(*sponsorAcc)); + if (sponsorAccountID) + sponsorSle = psb.peek(keylet::account(*sponsorAccountID)); // Can the account cover the trust line's reserve? if (auto const ret = checkInsufficientReserve( @@ -345,7 +345,7 @@ CashCheck::doApply() Issue(currency, account_), // limit of zero 0, // quality in 0, // quality out - sponsorAcc, // sponsor + sponsorAccountID, // sponsor viewJ); // journal !isTesSuccess(ter)) { diff --git a/src/libxrpl/tx/transactors/escrow/EscrowHelpers.h b/src/libxrpl/tx/transactors/escrow/EscrowHelpers.h index c71b8882fc..8d76dcef77 100644 --- a/src/libxrpl/tx/transactors/escrow/EscrowHelpers.h +++ b/src/libxrpl/tx/transactors/escrow/EscrowHelpers.h @@ -55,10 +55,10 @@ escrowUnlockApplyHelper( if (!view.exists(trustLineKey) && createAsset && !receiverIssuer) { // Can the account cover the trust line's reserve? - auto const sponsorAcc = getTxReserveSponsorAccountID(tx); + auto const sponsorAccountID = getTxReserveSponsorAccountID(tx); std::shared_ptr sponsorSle = {}; - if (sponsorAcc) - sponsorSle = view.peek(keylet::account(*sponsorAcc)); + if (sponsorAccountID) + sponsorSle = view.peek(keylet::account(*sponsorAccountID)); if (auto const ret = checkInsufficientReserve(view, tx, sleDest, xrpBalance, sponsorSle, 1); !isTesSuccess(ret)) { @@ -88,7 +88,7 @@ escrowUnlockApplyHelper( Issue(currency, receiver), // limit of zero 0, // quality in 0, // quality out -sponsorAcc, // sponsor + sponsorAccountID, // sponsor journal); // journal !isTesSuccess(ter)) { diff --git a/src/xrpld/rpc/handlers/LedgerEntry.cpp b/src/xrpld/rpc/handlers/LedgerEntry.cpp index 53ea9af63b..08d9885bd7 100644 --- a/src/xrpld/rpc/handlers/LedgerEntry.cpp +++ b/src/xrpld/rpc/handlers/LedgerEntry.cpp @@ -755,17 +755,17 @@ parseSponsorship( return parseObjectID(params, fieldName); } - auto const sponsor = + auto const sponsorAccountID = LedgerEntryHelpers::requiredAccountID(params, jss::sponsor, "malformedSponsor"); - if (!sponsor) - return Unexpected(sponsor.error()); + if (!sponsorAccountID) + return Unexpected(sponsorAccountID.error()); - auto const sponsee = + auto const sponseeAccountID = LedgerEntryHelpers::requiredAccountID(params, jss::sponsee, "malformedSponsee"); - if (!sponsee) - return Unexpected(sponsee.error()); + if (!sponseeAccountID) + return Unexpected(sponseeAccountID.error()); - return keylet::sponsor(*sponsor, *sponsee).key; + return keylet::sponsor(*sponsorAccountID, *sponseeAccountID).key; } static Expected