Minor improvements

This commit is contained in:
Bronek Kozicki
2025-04-28 14:49:47 +01:00
parent 7e5845f209
commit 5bfbb09970
4 changed files with 8 additions and 13 deletions

View File

@@ -152,12 +152,11 @@ VaultDeposit::doApply()
return tefINTERNAL;
auto const& vaultAccount = vault->at(sfAccount);
MPTIssue const mptIssue(mptIssuanceID);
// Note, vault owner is always authorized
if ((vault->getFlags() & tfVaultPrivate) && account_ != vault->at(sfOwner))
{
if (auto const err = enforceMPTokenAuthorization(
ctx_.view(), mptIssue, account_, mPriorBalance, j_);
ctx_.view(), mptIssuanceID, account_, mPriorBalance, j_);
!isTesSuccess(err))
return err;
}

View File

@@ -48,12 +48,9 @@ VaultWithdraw::preflight(PreflightContext const& ctx)
if (ctx.tx[sfAmount] <= beast::zero)
return temBAD_AMOUNT;
if (ctx.tx.isFieldPresent(sfDestination))
{
if (auto const dstAccountID = ctx.tx.getAccountID(sfDestination);
dstAccountID == beast::zero)
return temMALFORMED;
}
if (auto const destination = ctx.tx[~sfDestination];
destination && *destination == beast::zero)
return temMALFORMED;
return preflight2(ctx);
}

View File

@@ -753,7 +753,7 @@ requireAuth(
[[nodiscard]] TER
enforceMPTokenAuthorization(
ApplyView& view,
MPTIssue const& mptIssue,
MPTID const& mptIssuanceID,
AccountID const& account,
XRPAmount const& priorBalance,
beast::Journal j);

View File

@@ -2360,22 +2360,21 @@ requireAuth(
[[nodiscard]] TER
enforceMPTokenAuthorization(
ApplyView& view,
MPTIssue const& mptIssue,
MPTID const& mptIssuanceID,
AccountID const& account,
XRPAmount const& priorBalance, // for MPToken authorization
beast::Journal j)
{
auto const mptIssuanceID = mptIssue.getMptID();
auto const sleIssuance = view.read(keylet::mptIssuance(mptIssuanceID));
if (!sleIssuance)
return tefINTERNAL;
return tefINTERNAL; // LCOV_EXCL_LINE
XRPL_ASSERT(
sleIssuance->isFlag(lsfMPTRequireAuth),
"ripple::enforceMPTokenAuthorization : authorization required");
if (account == sleIssuance->at(sfIssuer))
return tesSUCCESS; // Won't create MPToken for the token issuer
return tefINTERNAL; // LCOV_EXCL_LINE
auto const keylet = keylet::mptoken(mptIssuanceID, account);
auto const sleToken = view.read(keylet); // NOTE: might be null