mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
Check for frozen assets in preclaim
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include <xrpld/ledger/View.h>
|
||||
#include <xrpl/protocol/Feature.h>
|
||||
#include <xrpl/protocol/Indexes.h>
|
||||
#include <xrpl/protocol/MPTIssue.h>
|
||||
#include <xrpl/protocol/STNumber.h>
|
||||
#include <xrpl/protocol/TER.h>
|
||||
#include <xrpl/protocol/TxFlags.h>
|
||||
@@ -79,6 +80,8 @@ TER
|
||||
VaultCreate::preclaim(PreclaimContext const& ctx)
|
||||
{
|
||||
auto asset = ctx.tx[sfAsset];
|
||||
auto account = ctx.tx[sfAccount];
|
||||
|
||||
if (asset.holds<MPTIssue>())
|
||||
{
|
||||
auto mptID = asset.get<MPTIssue>().getMptID();
|
||||
@@ -91,6 +94,10 @@ VaultCreate::preclaim(PreclaimContext const& ctx)
|
||||
return tecLOCKED;
|
||||
}
|
||||
|
||||
// Cannot create Vault for an Asset frozen for the vault owner
|
||||
if (isFrozen(ctx.view, account, asset))
|
||||
return tecFROZEN;
|
||||
|
||||
if (auto const domain = ctx.tx[~sfDomainID])
|
||||
{
|
||||
auto const sleDomain =
|
||||
|
||||
Reference in New Issue
Block a user