mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
Minor improvements
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user