diff --git a/src/test/app/Vault_test.cpp b/src/test/app/Vault_test.cpp index 169fa1351d..fe90c165ad 100644 --- a/src/test/app/Vault_test.cpp +++ b/src/test/app/Vault_test.cpp @@ -1128,6 +1128,23 @@ class Vault_test : public beast::unit_test::suite env(tx, ter(terNO_RIPPLE)); env.close(); } + + { + testcase("IOU no issuer"); + Env env{ + *this, supported_amendments() | featureSingleAssetVault}; + Account issuer{"issuer"}; + Account owner{"owner"}; + env.fund(XRP(1000), owner); + env.close(); + + Vault vault{env}; + Asset asset = issuer["IOU"]; + auto [tx, keylet] = + vault.create({.owner = owner, .asset = asset}); + env(tx, ter(terNO_ACCOUNT)); + env.close(); + } } { diff --git a/src/xrpld/app/tx/detail/VaultCreate.cpp b/src/xrpld/app/tx/detail/VaultCreate.cpp index be0993d729..02d0366bab 100644 --- a/src/xrpld/app/tx/detail/VaultCreate.cpp +++ b/src/xrpld/app/tx/detail/VaultCreate.cpp @@ -116,7 +116,7 @@ VaultCreate::preclaim(PreclaimContext const& ctx) auto const issuer = ctx.view.read(keylet::account(vaultAsset.getIssuer())); if (!issuer) - return terNO_ACCOUNT; // LCOV_EXCL_LINE + return terNO_ACCOUNT; else if (!issuer->isFlag(lsfDefaultRipple)) return terNO_RIPPLE; }