fix more build issues

This commit is contained in:
Mayukha Vadari
2026-06-29 20:58:51 -04:00
parent 3ce67b73b9
commit 908de5dcef
16 changed files with 77 additions and 105 deletions

View File

@@ -140,7 +140,7 @@ ownerCount(SLE::const_ref sle, beast::Journal j, std::int32_t ownerCountAdj = 0)
*/
void
adjustOwnerCount(
ApplyViewContext& ctx,
ApplyViewContext const& ctx,
std::int32_t ownerCountAdj,
beast::Journal j = beast::Journal{beast::Journal::getNullSink()});
@@ -178,7 +178,7 @@ adjustOwnerCount(
*/
void
adjustOwnerCountObj(
ApplyViewContext& ctx,
ApplyViewContext const& ctx,
SLE::ref objectSle,
std::int32_t ownerCountAdj,
beast::Journal j = beast::Journal{beast::Journal::getNullSink()});

View File

@@ -60,12 +60,10 @@ escrowUnlockApplyHelper<Issue>(
if (!view.exists(trustLineKey) && createAsset)
{
// Can the account cover the trust line's reserve?
auto const sponsorSle = getTxReserveSponsor(ctx);
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const sponsorSle = ctx.reserveContext.sponsorSle;
if (auto const ret = checkInsufficientReserve(
view, ctx.tx, sleDest, xrpBalance, *sponsorSle, 1, 0, journal);
view, ctx.tx, sleDest, xrpBalance, sponsorSle, 1, 0, journal);
!isTesSuccess(ret))
{
JLOG(journal.trace()) << "Trust line does not exist. "
@@ -93,7 +91,7 @@ escrowUnlockApplyHelper<Issue>(
Issue(currency, receiver), // limit of zero
0, // quality in
0, // quality out
*sponsorSle, // sponsor
sponsorSle, // sponsor
journal); // journal
!isTesSuccess(ter))
{
@@ -190,25 +188,23 @@ escrowUnlockApplyHelper<MPTIssue>(
auto const mptKeylet = keylet::mptoken(issuanceKey.key, receiver);
if (!view.exists(mptKeylet) && createAsset && !receiverIssuer)
{
auto const sponsorSle = getTxReserveSponsor(ctx);
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const sponsorSle = ctx.reserveContext.sponsorSle;
if (auto const ret = checkInsufficientReserve(
view, ctx.tx, sleDest, xrpBalance, *sponsorSle, 1, 0, journal);
view, ctx.tx, sleDest, xrpBalance, sponsorSle, 1, 0, journal);
!isTesSuccess(ret))
return ret;
if (auto const ter = createMPToken(view, mptID, receiver, *sponsorSle, 0);
if (auto const ter = createMPToken(view, mptID, receiver, sponsorSle, 0);
!isTesSuccess(ter))
{
return ter; // LCOV_EXCL_LINE
}
// update owner count.
adjustOwnerCount(view, sleDest, *sponsorSle, 1, journal);
adjustOwnerCount(view, sleDest, sponsorSle, 1, journal);
auto mptSle = view.peek(mptKeylet);
addSponsorToLedgerEntry(mptSle, *sponsorSle);
addSponsorToLedgerEntry(mptSle, sponsorSle);
}
if (!view.exists(mptKeylet) && !receiverIssuer)

View File

@@ -475,14 +475,11 @@ doWithdraw(
// LCOV_EXCL_STOP
}
auto const sponsorSle = getTxReserveSponsor(ctx);
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const sponsorSle = ctx.reserveContext.sponsorSle;
// Move the funds directly from the broker's pseudo-account to the
// dstAcct
return accountSend(
ctx.view, sourceAcct, dstAcct, amount, j, *sponsorSle, WaiveTransferFee::Yes);
return accountSend(ctx.view, sourceAcct, dstAcct, amount, j, sponsorSle, WaiveTransferFee::Yes);
}
TER

View File

@@ -274,7 +274,7 @@ adjustOwnerCount(
}
void
adjustOwnerCount(ApplyViewContext& ctx, std::int32_t ownerCountAdj, beast::Journal j)
adjustOwnerCount(ApplyViewContext const& ctx, std::int32_t ownerCountAdj, beast::Journal j)
{
return adjustOwnerCount(ctx.view, ctx.reserveContext, ownerCountAdj, j);
}
@@ -321,7 +321,7 @@ adjustOwnerCount(
void
adjustOwnerCountObj(
ApplyViewContext& ctx,
ApplyViewContext const& ctx,
SLE::ref objectSle,
std::int32_t ownerCountAdj,
beast::Journal j)

View File

@@ -666,10 +666,7 @@ addEmptyHolding(
SLE::pointer sponsorSle;
if (!isPseudoAccount(sleDst))
{
auto sle = getTxReserveSponsor(ctx);
if (!sle)
return sle.error(); // LCOV_EXCL_LINE
sponsorSle = std::move(*sle);
sponsorSle = ctx.reserveContext.sponsorSle;
}
// Can the account cover the trust line reserve ?

View File

@@ -203,9 +203,8 @@ SponsorshipSet::doApply()
auto const feeAmount = ctx_.tx[~sfFeeAmount];
auto const maxFee = ctx_.tx[~sfMaxFee];
auto const remainingOwnerCount = ctx_.tx[~sfRemainingOwnerCount];
auto reserveSponsorAccSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!reserveSponsorAccSle)
return reserveSponsorAccSle.error(); // LCOV_EXCL_LINE
auto const applyViewContext = ctx_.getApplyViewContext();
auto const reserveSponsorAccSle = applyViewContext.reserveContext.sponsorSle;
if (!sponsorshipSle)
{
@@ -228,7 +227,7 @@ SponsorshipSet::doApply()
ctx_.tx,
sponsorAccSle,
STAmount{(*sponsorAccSle)[sfBalance]}.xrp(),
*reserveSponsorAccSle,
reserveSponsorAccSle,
1,
0,
ctx_.journal);
@@ -262,8 +261,8 @@ SponsorshipSet::doApply()
(*newSle)[sfSponseeNode] = *sponseePage;
// NOLINTNEXTLINE(readability-suspicious-call-argument)
adjustOwnerCount(view(), sponsorAccSle, *reserveSponsorAccSle, 1, ctx_.journal);
addSponsorToLedgerEntry(newSle, *reserveSponsorAccSle);
adjustOwnerCount(view(), sponsorAccSle, reserveSponsorAccSle, 1, ctx_.journal);
addSponsorToLedgerEntry(newSle, reserveSponsorAccSle);
ctx_.view().insert(newSle);
return tesSUCCESS;
@@ -297,7 +296,7 @@ SponsorshipSet::doApply()
ctx_.tx,
sponsorAccSle,
STAmount{(*sponsorAccSle)[sfBalance]}.xrp(),
*reserveSponsorAccSle,
reserveSponsorAccSle,
0,
0,
ctx_.journal);

View File

@@ -322,15 +322,14 @@ SignerListSet::replaceSignerList()
// We check the reserve against the starting balance because we want to
// allow dipping into the reserve to pay fees. This behavior is consistent
// with TicketCreate.
auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
if (auto const ret = checkInsufficientReserve(
ctx_.view(),
ctx_.tx,
sle,
preFeeBalance_,
*sponsorSle,
sponsorSle,
kAddedOwnerCount,
0,
ctx_.journal);
@@ -357,8 +356,8 @@ SignerListSet::replaceSignerList()
// If we succeeded, the new entry counts against the
// creator's reserve.
adjustOwnerCount(view(), sle, *sponsorSle, kAddedOwnerCount, viewJ);
addSponsorToLedgerEntry(signerList, *sponsorSle);
adjustOwnerCount(view(), sle, sponsorSle, kAddedOwnerCount, viewJ);
addSponsorToLedgerEntry(signerList, sponsorSle);
return tesSUCCESS;
}

View File

@@ -195,11 +195,10 @@ CheckCreate::doApply()
// A check counts against the reserve of the issuing account, but we
// check the starting balance because we want to allow dipping into the
// reserve to pay fees.
auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
if (auto const ret = checkInsufficientReserve(
view(), ctx_.tx, sle, preFeeBalance_, *sponsorSle, 1, 0, ctx_.journal);
view(), ctx_.tx, sle, preFeeBalance_, sponsorSle, 1, 0, ctx_.journal);
!isTesSuccess(ret))
return ret;
// Note that we use the value from the sequence or ticket as the
@@ -255,8 +254,8 @@ CheckCreate::doApply()
}
// If we succeeded, the new entry counts against the creator's reserve.
adjustOwnerCount(view(), sle, *sponsorSle, 1, viewJ);
addSponsorToLedgerEntry(sleCheck, *sponsorSle);
adjustOwnerCount(view(), sle, sponsorSle, 1, viewJ);
addSponsorToLedgerEntry(sleCheck, sponsorSle);
return tesSUCCESS;
}

View File

@@ -94,11 +94,10 @@ DelegateSet::doApply()
auto const& permissions = ctx_.tx.getFieldArray(sfPermissions);
if (permissions.empty())
return tecINTERNAL; // LCOV_EXCL_LINE
auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
if (auto const ret = checkInsufficientReserve(
view(), ctx_.tx, sleOwner, preFeeBalance_, *sponsorSle, 1, 0, ctx_.journal);
view(), ctx_.tx, sleOwner, preFeeBalance_, sponsorSle, 1, 0, ctx_.journal);
!isTesSuccess(ret))
return ret;
@@ -128,8 +127,8 @@ DelegateSet::doApply()
(*sle)[sfDestinationNode] = *destPage;
ctx_.view().insert(sle);
adjustOwnerCount(ctx_.view(), sleOwner, *sponsorSle, 1, ctx_.journal);
addSponsorToLedgerEntry(sle, *sponsorSle);
adjustOwnerCount(ctx_.view(), sleOwner, sponsorSle, 1, ctx_.journal);
addSponsorToLedgerEntry(sle, sponsorSle);
return tesSUCCESS;
}

View File

@@ -436,11 +436,10 @@ EscrowCreate::doApply()
STAmount const amount{ctx_.tx[sfAmount]};
auto const balance = sle->getFieldAmount(sfBalance).xrp();
auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
if (auto const ret =
checkInsufficientReserve(ctx_.view(), ctx_.tx, sle, balance, *sponsorSle, 1, 0, j_);
checkInsufficientReserve(ctx_.view(), ctx_.tx, sle, balance, sponsorSle, 1, 0, j_);
!isTesSuccess(ret))
return ret;
@@ -541,8 +540,8 @@ EscrowCreate::doApply()
}
// increment owner count
adjustOwnerCount(ctx_.view(), sle, *sponsorSle, 1, ctx_.journal);
addSponsorToLedgerEntry(slep, *sponsorSle);
adjustOwnerCount(ctx_.view(), sle, sponsorSle, 1, ctx_.journal);
addSponsorToLedgerEntry(slep, sponsorSle);
ctx_.view().update(sle);
return tesSUCCESS;
}

View File

@@ -224,10 +224,6 @@ EscrowFinish::preclaim(PreclaimContext const& ctx)
}
}
auto const sponsorSle = getTxReserveSponsor(ctx.view, ctx.tx);
if (!sponsorSle)
return sponsorSle.error();
return tesSUCCESS;
}

View File

@@ -161,11 +161,10 @@ DepositPreauth::doApply()
// A preauth counts against the reserve of the issuing account, but we
// check the starting balance because we want to allow dipping into the
// reserve to pay fees.
auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
if (auto const ret = checkInsufficientReserve(
view(), ctx_.tx, sleOwner, preFeeBalance_, *sponsorSle, 1, 0, j_);
view(), ctx_.tx, sleOwner, preFeeBalance_, sponsorSle, 1, 0, j_);
!isTesSuccess(ret))
return ret;
@@ -191,8 +190,8 @@ DepositPreauth::doApply()
slePreauth->setFieldU64(sfOwnerNode, *page);
// If we succeeded, the new entry counts against the creator's reserve.
adjustOwnerCount(view(), sleOwner, *sponsorSle, 1, j_);
addSponsorToLedgerEntry(slePreauth, *sponsorSle);
adjustOwnerCount(view(), sleOwner, sponsorSle, 1, j_);
addSponsorToLedgerEntry(slePreauth, sponsorSle);
}
else if (ctx_.tx.isFieldPresent(sfUnauthorize))
{
@@ -209,11 +208,10 @@ DepositPreauth::doApply()
// A preauth counts against the reserve of the issuing account, but we
// check the starting balance because we want to allow dipping into the
// reserve to pay fees.
auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
if (auto const ret = checkInsufficientReserve(
view(), ctx_.tx, sleOwner, preFeeBalance_, *sponsorSle, 1, 0, j_);
view(), ctx_.tx, sleOwner, preFeeBalance_, sponsorSle, 1, 0, j_);
!isTesSuccess(ret))
return ret;
@@ -253,8 +251,8 @@ DepositPreauth::doApply()
slePreauth->setFieldU64(sfOwnerNode, *page);
// If we succeeded, the new entry counts against the creator's reserve.
adjustOwnerCount(view(), sleOwner, *sponsorSle, 1, j_);
addSponsorToLedgerEntry(slePreauth, *sponsorSle);
adjustOwnerCount(view(), sleOwner, sponsorSle, 1, j_);
addSponsorToLedgerEntry(slePreauth, sponsorSle);
}
else if (ctx_.tx.isFieldPresent(sfUnauthorizeCredentials))
{

View File

@@ -136,11 +136,10 @@ PaymentChannelCreate::doApply()
if (ctx_.view().rules().enabled(featureSponsor))
{
auto const sponsorSle = getTxReserveSponsor(ctx_.view(), ctx_.tx);
if (!sponsorSle)
return sponsorSle.error();
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
if (auto const ret = checkInsufficientReserve(
ctx_.view(), ctx_.tx, sle, STAmount{preFeeBalance_}, *sponsorSle, 1, 0, j_);
ctx_.view(), ctx_.tx, sle, STAmount{preFeeBalance_}, sponsorSle, 1, 0, j_);
!isTesSuccess(ret))
return ret;
if (auto const ret = checkInsufficientReserve(
@@ -203,11 +202,10 @@ PaymentChannelCreate::doApply()
// Deduct owner's balance, increment owner count
(*sle)[sfBalance] = (*sle)[sfBalance] - ctx_.tx[sfAmount];
auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
adjustOwnerCount(ctx_.view(), sle, *sponsorSle, 1, ctx_.journal);
addSponsorToLedgerEntry(slep, *sponsorSle);
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
adjustOwnerCount(ctx_.view(), sle, sponsorSle, 1, ctx_.journal);
addSponsorToLedgerEntry(slep, sponsorSle);
ctx_.view().update(sle);
return tesSUCCESS;

View File

@@ -90,11 +90,10 @@ PaymentChannelFund::doApply()
{
// Check reserve and funds availability
auto const balance = (*sle)[sfBalance];
auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
if (auto const ret =
checkInsufficientReserve(ctx_.view(), ctx_.tx, sle, balance, *sponsorSle, 0, 0, j_);
checkInsufficientReserve(ctx_.view(), ctx_.tx, sle, balance, sponsorSle, 0, 0, j_);
!isTesSuccess(ret))
return ret;

View File

@@ -116,10 +116,7 @@ MPTokenIssuanceCreate::create(
SLE::pointer sponsorSle;
if (!isPseudoAccount(acct))
{
auto sle = getTxReserveSponsor(ctx);
if (!sle)
return std::unexpected(sle.error());
sponsorSle = std::move(*sle);
sponsorSle = ctx.reserveContext.sponsorSle;
}
if (args.priorBalance)

View File

@@ -327,16 +327,15 @@ TrustSet::doApply()
// but the incremental reserve for the trust line as
// well. A person with no intention of using the gateway
// could use the extra XRP for their own purposes.
auto const sponsorSle = getTxReserveSponsor(ctx_.getApplyViewContext());
if (!sponsorSle)
return sponsorSle.error(); // LCOV_EXCL_LINE
auto const applyViewContext = ctx_.getApplyViewContext();
auto const sponsorSle = applyViewContext.reserveContext.sponsorSle;
std::uint32_t const uOwnerCount = ownerCount(*sponsorSle ? *sponsorSle : sle, j_);
std::uint32_t const uOwnerCount = ownerCount(sponsorSle ? sponsorSle : sle, j_);
// The "free-tier" shortcut (ownerCount < 2) only applies when there is no sponsor.
// With any sponsor on the tx, the sponsor must cover the reserve (via balance or
// prefunded budget), so the reserve check always runs.
bool const freeTrustLine = uOwnerCount < 2 && !*sponsorSle;
bool const freeTrustLine = uOwnerCount < 2 && !sponsorSle;
std::uint32_t const uQualityIn(bQualityIn ? ctx_.tx.getFieldU32(sfQualityIn) : 0);
std::uint32_t uQualityOut(bQualityOut ? ctx_.tx.getFieldU32(sfQualityOut) : 0);
@@ -538,15 +537,15 @@ TrustSet::doApply()
// For PreFunded sponsors, we need to check if there are sufficient reserves before
// calling adjustOwnerCount().
if (auto const ret = checkInsufficientReserve(
view(), ctx_.tx, sleLowAccount, preFeeBalance_, *sponsorSle, 1, 0, j_);
*sponsorSle && !isTesSuccess(ret))
view(), ctx_.tx, sleLowAccount, preFeeBalance_, sponsorSle, 1, 0, j_);
sponsorSle && !isTesSuccess(ret))
return tecINSUF_RESERVE_LINE;
// Set reserve for low account.
adjustOwnerCount(view(), sleLowAccount, *sponsorSle, 1, viewJ);
adjustOwnerCount(view(), sleLowAccount, sponsorSle, 1, viewJ);
uFlagsOut |= lsfLowReserve;
addSponsorToLedgerEntry(sleRippleState, *sponsorSle, sfLowSponsor);
addSponsorToLedgerEntry(sleRippleState, sponsorSle, sfLowSponsor);
if (!bHigh)
bReserveIncrease = true;
@@ -567,15 +566,15 @@ TrustSet::doApply()
// For PreFunded sponsors, we need to check if there are sufficient reserves before
// calling adjustOwnerCount().
if (auto const ret = checkInsufficientReserve(
view(), ctx_.tx, sleHighAccount, preFeeBalance_, *sponsorSle, 1, 0, j_);
*sponsorSle && !isTesSuccess(ret))
view(), ctx_.tx, sleHighAccount, preFeeBalance_, sponsorSle, 1, 0, j_);
sponsorSle && !isTesSuccess(ret))
return tecINSUF_RESERVE_LINE;
// Set reserve for high account.
adjustOwnerCount(view(), sleHighAccount, *sponsorSle, 1, viewJ);
adjustOwnerCount(view(), sleHighAccount, sponsorSle, 1, viewJ);
uFlagsOut |= lsfHighReserve;
addSponsorToLedgerEntry(sleRippleState, *sponsorSle, sfHighSponsor);
addSponsorToLedgerEntry(sleRippleState, sponsorSle, sfHighSponsor);
if (bHigh)
bReserveIncrease = true;
@@ -602,7 +601,7 @@ TrustSet::doApply()
// Reserve is not scaled by load.
else if (
auto const ret = checkInsufficientReserve(
view(), ctx_.tx, sle, preFeeBalance_, *sponsorSle, 0, 0, j_);
view(), ctx_.tx, sle, preFeeBalance_, sponsorSle, 0, 0, j_);
!freeTrustLine && bReserveIncrease && !isTesSuccess(ret))
{
JLOG(j_.trace()) << "Delay transaction: Insufficent reserve to "
@@ -633,7 +632,7 @@ TrustSet::doApply()
}
else if (
auto const ret = checkInsufficientReserve(
ctx_.view(), ctx_.tx, sle, preFeeBalance_, *sponsorSle, 1, 0, j_);
ctx_.view(), ctx_.tx, sle, preFeeBalance_, sponsorSle, 1, 0, j_);
!freeTrustLine && !isTesSuccess(ret)) // Reserve is not scaled by load.
{
JLOG(j_.trace()) << "Delay transaction: Line does not exist. "
@@ -668,7 +667,7 @@ TrustSet::doApply()
saLimitAllow, // Limit for who is being charged.
uQualityIn,
uQualityOut,
*sponsorSle,
sponsorSle,
viewJ);
}