diff --git a/src/xrpld/app/tx/detail/VaultCreate.cpp b/src/xrpld/app/tx/detail/VaultCreate.cpp index dd2f8e20a5..918fd8a51d 100644 --- a/src/xrpld/app/tx/detail/VaultCreate.cpp +++ b/src/xrpld/app/tx/detail/VaultCreate.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -79,6 +80,8 @@ TER VaultCreate::preclaim(PreclaimContext const& ctx) { auto asset = ctx.tx[sfAsset]; + auto account = ctx.tx[sfAccount]; + if (asset.holds()) { auto mptID = asset.get().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 =