@@ -7825,7 +7825,7 @@ class Vault_test : public beast::unit_test::Suite
78257825 }
78267826
78277827 void
7828- testVaultDeleteData ()
7828+ testVaultDeleteMemoData ()
78297829 {
78307830 using namespace test ::jtx;
78317831
@@ -7843,7 +7843,7 @@ class Vault_test : public beast::unit_test::Suite
78437843 // Test VaultDelete with featureLendingProtocolV1_1 disabled
78447844 // Transaction fails if the data field is provided
78457845 {
7846- testcase (" VaultDelete data featureLendingProtocolV1_1 disabled" );
7846+ testcase (" VaultDelete memo data featureLendingProtocolV1_1 disabled" );
78477847 env.disableFeature (featureLendingProtocolV1_1);
78487848 delTx[sfMemoData] = strHex (std::string (kMaxDataPayloadLength , ' A' ));
78497849 env (delTx, Ter (temDISABLED));
@@ -7853,24 +7853,35 @@ class Vault_test : public beast::unit_test::Suite
78537853
78547854 // Transaction fails if the data field is too large
78557855 {
7856- testcase (" VaultDelete data featureLendingProtocolV1_1 enabled data too large" );
7856+ testcase (" VaultDelete memo data featureLendingProtocolV1_1 enabled data too large" );
78577857 delTx[sfMemoData] = strHex (std::string (kMaxDataPayloadLength + 1 , ' A' ));
78587858 env (delTx, Ter (temMALFORMED));
78597859 env.close ();
78607860 }
78617861
78627862 // Transaction fails if the data field is set, but is empty
78637863 {
7864- testcase (" VaultDelete data featureLendingProtocolV1_1 enabled data empty" );
7864+ testcase (" VaultDelete memo data featureLendingProtocolV1_1 enabled data empty" );
78657865 delTx[sfMemoData] = strHex (std::string (0 , ' A' ));
78667866 env (delTx, Ter (temMALFORMED));
78677867 env.close ();
78687868 }
78697869
78707870 {
7871- testcase (" VaultDelete data featureLendingProtocolV1_1 enabled data valid" );
7871+ testcase (" VaultDelete memo data featureLendingProtocolV1_1 enabled no vault" );
7872+ auto const keylet = keylet::vault (owner.id (), env.seq (owner));
7873+
7874+ // Recreate the transaction as the vault keylet changed
7875+ auto delTx = vault.del ({.owner = owner, .id = keylet.key });
7876+ delTx[sfMemoData] = strHex (std::string (kMaxDataPayloadLength , ' A' ));
7877+ env (delTx, Ter (tecNO_ENTRY));
7878+ env.close ();
7879+ }
7880+
7881+ {
7882+ testcase (" VaultDelete memo data featureLendingProtocolV1_1 enabled data valid" );
78727883 PrettyAsset const xrpAsset = xrpIssue ();
7873- auto [tx, keylet] = vault.create ({.owner = owner, .asset = xrpAsset});
7884+ auto const [tx, keylet] = vault.create ({.owner = owner, .asset = xrpAsset});
78747885 env (tx, Ter (tesSUCCESS));
78757886 env.close ();
78767887 // Recreate the transaction as the vault keylet changed
@@ -7909,6 +7920,7 @@ class Vault_test : public beast::unit_test::Suite
79097920 testVaultClawbackAssets ();
79107921 testVaultEscrowedMPT ();
79117922 testAssetsMaximum ();
7923+ testVaultDeleteMemoData ();
79127924 testBug6LimitBypassWithShares ();
79137925 testRemoveEmptyHoldingLockedAmount ();
79147926
@@ -7923,7 +7935,6 @@ class Vault_test : public beast::unit_test::Suite
79237935
79247936 testReferenceHolding ();
79257937 testHoldingDeletionBlocked ();
7926- testVaultDeleteData ();
79277938 }
79287939};
79297940
0 commit comments