mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-02 16:26:48 +00:00
Skip isVaultPseudoAccountFrozen() for non-vault shares.
This commit is contained in:
@@ -188,7 +188,8 @@ enum LedgerEntryType : std::uint16_t {
|
||||
LEDGER_OBJECT(MPToken, \
|
||||
LSF_FLAG2(lsfMPTLocked, 0x00000001) \
|
||||
LSF_FLAG(lsfMPTAuthorized, 0x00000002) \
|
||||
LSF_FLAG(lsfMPTAMM, 0x00000004)) \
|
||||
LSF_FLAG(lsfMPTAMM, 0x00000004) \
|
||||
LSF_FLAG(lsfMPTVault, 0x00000008)) \
|
||||
\
|
||||
LEDGER_OBJECT(Credential, \
|
||||
LSF_FLAG(lsfAccepted, 0x00010000)) \
|
||||
|
||||
@@ -71,8 +71,9 @@ bool
|
||||
isFrozen(ReadView const& view, AccountID const& account, SLE const& mptSLE, int depth)
|
||||
{
|
||||
MPTIssue const mptIssue{mptSLE[sfMPTokenIssuanceID]};
|
||||
bool const isVaultShares = mptSLE.isFlag(lsfMPTVault);
|
||||
return isGlobalFrozen(view, mptIssue) || isIndividualFrozen(view, account, mptSLE) ||
|
||||
isVaultPseudoAccountFrozen(view, account, mptSLE, depth);
|
||||
(isVaultShares && isVaultPseudoAccountFrozen(view, account, mptSLE, depth));
|
||||
}
|
||||
|
||||
[[nodiscard]] bool
|
||||
|
||||
@@ -174,7 +174,7 @@ VaultCreate::doApply()
|
||||
: ctx_.tx[~sfScale].value_or(vaultDefaultIOUScale);
|
||||
|
||||
auto txFlags = tx.getFlags();
|
||||
std::uint32_t mptFlags = 0;
|
||||
std::uint32_t mptFlags = lsfMPTVault;
|
||||
if ((txFlags & tfVaultShareNonTransferable) == 0)
|
||||
mptFlags |= (lsfMPTCanEscrow | lsfMPTCanTrade | lsfMPTCanTransfer);
|
||||
if ((txFlags & tfVaultPrivate) != 0u)
|
||||
|
||||
Reference in New Issue
Block a user