fix: post merge issues

This commit is contained in:
Vito
2026-06-08 12:56:21 +02:00
parent 605e6166d5
commit ef92373c9f
6 changed files with 31 additions and 28 deletions

View File

@@ -4,12 +4,14 @@
#include <xrpl/beast/utility/instrumentation.h>
#include <xrpl/ledger/ReadView.h>
#include <xrpl/protocol/AccountID.h>
#include <xrpl/protocol/Feature.h>
#include <xrpl/protocol/Indexes.h>
#include <xrpl/protocol/LedgerFormats.h>
#include <xrpl/protocol/SField.h>
#include <xrpl/protocol/STAmount.h>
#include <xrpl/protocol/STLedgerEntry.h>
#include <xrpl/protocol/STNumber.h> // IWYU pragma: keep
#include <xrpl/protocol/STTx.h>
#include <xrpl/protocol/TxFlags.h>
#include <cstdint>

View File

@@ -18,7 +18,6 @@
#include <xrpl/protocol/STNumber.h> // IWYU pragma: keep
#include <xrpl/protocol/STTx.h>
#include <xrpl/protocol/TER.h>
#include <xrpl/protocol/TxFlags.h>
#include <xrpl/protocol/TxFormats.h>
#include <xrpl/protocol/XRPAmount.h>
#include <xrpl/tx/invariants/InvariantCheckPrivilege.h>

View File

@@ -20,9 +20,11 @@
#include <xrpl/protocol/STTakesAsset.h>
#include <xrpl/protocol/STTx.h>
#include <xrpl/protocol/TER.h>
#include <xrpl/protocol/TxFlags.h>
#include <xrpl/protocol/XRPAmount.h>
#include <xrpl/tx/Transactor.h>
#include <cstdint>
#include <stdexcept>
namespace xrpl {

View File

@@ -3697,9 +3697,9 @@ class Invariants_test : public beast::unit_test::Suite
doInvariantCheck(
Env{*this, testableAmendments() - featureLendingProtocolV1_1},
{"deposit must change depositor shares"},
[&](Account const& A1, Account const& A2, ApplyContext& ac) {
auto const keylet = keylet::vault(A1.id(), ac.view().seq());
return kAdjust(ac.view(), keylet, kArgs(A2.id(), 10, [&](Adjustments& sample) {
[&](Account const& a1, Account const& a2, ApplyContext& ac) {
auto const keylet = keylet::vault(a1.id(), ac.view().seq());
return kAdjust(ac.view(), keylet, kArgs(a2.id(), 10, [&](Adjustments& sample) {
sample.accountShares.reset();
}));
},
@@ -3798,9 +3798,9 @@ class Invariants_test : public beast::unit_test::Suite
doInvariantCheck(
{"donation must not change depositor shares"},
[&](Account const& A1, Account const& A2, ApplyContext& ac) {
auto const keylet = keylet::vault(A1.id(), ac.view().seq());
return kAdjust(ac.view(), keylet, kArgs(A2.id(), 10, [&](Adjustments& sample) {
[&](Account const& a1, Account const& a2, ApplyContext& ac) {
auto const keylet = keylet::vault(a1.id(), ac.view().seq());
return kAdjust(ac.view(), keylet, kArgs(a2.id(), 10, [&](Adjustments& sample) {
sample.accountShares->amount = 10;
}));
},
@@ -3817,9 +3817,9 @@ class Invariants_test : public beast::unit_test::Suite
doInvariantCheck(
{"donation must not change vault shares"},
[&](Account const& A1, Account const& A2, ApplyContext& ac) {
auto const keylet = keylet::vault(A1.id(), ac.view().seq());
return kAdjust(ac.view(), keylet, kArgs(A2.id(), 10, [&](Adjustments& sample) {
[&](Account const& a1, Account const& a2, ApplyContext& ac) {
auto const keylet = keylet::vault(a1.id(), ac.view().seq());
return kAdjust(ac.view(), keylet, kArgs(a2.id(), 10, [&](Adjustments& sample) {
sample.sharesTotal = 10;
sample.accountShares = std::nullopt;
}));

View File

@@ -8091,7 +8091,7 @@ class Vault_test : public beast::unit_test::Suite
std::string const prefix = "VaultDeposit donate";
Env env{*this};
Vault vault{env};
Vault const vault{env};
auto const vaultShareBalance = [&](Keylet const& vaultKeylet) {
auto const sleVault = env.le(vaultKeylet);
@@ -8118,7 +8118,7 @@ class Vault_test : public beast::unit_test::Suite
auto const depositAmount = XRP(10);
auto const [tx, keylet] = vault.create({.owner = owner, .asset = xrpIssue()});
env(tx, ter(tesSUCCESS));
env(tx, Ter(tesSUCCESS));
env.close();
// With featureLendingProtocolV1_1 disabled, donations fail
@@ -8131,7 +8131,7 @@ class Vault_test : public beast::unit_test::Suite
.amount = depositAmount,
.flags = tfVaultDonate,
});
env(tx, ter{temINVALID_FLAG});
env(tx, Ter(temINVALID_FLAG));
env.enableFeature(featureLendingProtocolV1_1);
env.close();
}
@@ -8145,7 +8145,7 @@ class Vault_test : public beast::unit_test::Suite
.amount = depositAmount,
.flags = tfVaultDonate,
});
env(tx, ter{tecNO_PERMISSION});
env(tx, Ter(tecNO_PERMISSION));
env.close();
}
@@ -8155,7 +8155,7 @@ class Vault_test : public beast::unit_test::Suite
.id = keylet.key,
.amount = depositAmount,
}),
ter{tesSUCCESS});
Ter(tesSUCCESS));
env.close();
// Donation is not allowed by a non-owner
@@ -8167,7 +8167,7 @@ class Vault_test : public beast::unit_test::Suite
.amount = depositAmount,
.flags = tfVaultDonate,
});
env(tx, ter{tecNO_PERMISSION});
env(tx, Ter(tecNO_PERMISSION));
env.close();
}
@@ -8179,7 +8179,7 @@ class Vault_test : public beast::unit_test::Suite
.id = keylet.key,
});
tx[sfAssetsMaximum] = XRP(30).number();
env(tx, ter{tesSUCCESS});
env(tx, Ter(tesSUCCESS));
tx = vault.deposit({
.depositor = owner,
@@ -8188,7 +8188,7 @@ class Vault_test : public beast::unit_test::Suite
.flags = tfVaultDonate,
});
env(tx, ter{tecLIMIT_EXCEEDED});
env(tx, Ter(tecLIMIT_EXCEEDED));
env.close();
}
@@ -8203,7 +8203,7 @@ class Vault_test : public beast::unit_test::Suite
.amount = depositAmount,
.flags = tfVaultDonate,
});
env(tx, ter{tesSUCCESS});
env(tx, Ter(tesSUCCESS));
env.close();
auto const shareBalanceAfterDeposit = vaultShareBalance(keylet);
@@ -8219,10 +8219,10 @@ class Vault_test : public beast::unit_test::Suite
return;
// The depositor can withdraw their assets and the donated amount
Asset shareAsset(sleVault->at(sfShareMPTID));
Asset const shareAsset(sleVault->at(sfShareMPTID));
tx = vault.withdraw(
{.depositor = depositor, .id = keylet.key, .amount = shareAsset(shareBalance)});
env(tx, ter{tesSUCCESS});
env(tx, Ter(tesSUCCESS));
auto const shareBalanceAfterWithdraw = vaultShareBalance(keylet);
auto const [assetsAvailableAfterWithdraw, assetsTotalAfterWithdraw] =
@@ -8240,7 +8240,7 @@ class Vault_test : public beast::unit_test::Suite
// Create a fresh vault
auto const [createTx, vk] = vault.create({.owner = owner, .asset = xrpIssue()});
env(createTx, ter{tesSUCCESS});
env(createTx, Ter(tesSUCCESS));
env.close();
// Depositor puts in 10 XRP → gets 10 shares at 1:1
@@ -8249,7 +8249,7 @@ class Vault_test : public beast::unit_test::Suite
.id = vk.key,
.amount = XRP(10),
}),
ter{tesSUCCESS});
Ter(tesSUCCESS));
env.close();
// Owner donates 7 XRP → ratio becomes 17 assets / 10 shares
@@ -8259,7 +8259,7 @@ class Vault_test : public beast::unit_test::Suite
.amount = XRP(7),
.flags = tfVaultDonate,
}),
ter{tesSUCCESS});
Ter(tesSUCCESS));
env.close();
auto const sharesAfterFirstDonate = vaultShareBalance(vk);
@@ -8278,7 +8278,7 @@ class Vault_test : public beast::unit_test::Suite
.amount = XRP(3),
.flags = tfVaultDonate,
}),
ter{tesSUCCESS});
Ter(tesSUCCESS));
env.close();
auto const sharesAfterSecondDonate = vaultShareBalance(vk);
@@ -8294,12 +8294,12 @@ class Vault_test : public beast::unit_test::Suite
auto const sleVault = env.le(vk);
if (!BEAST_EXPECT(sleVault))
return;
Asset shareAsset(sleVault->at(sfShareMPTID));
Asset const shareAsset(sleVault->at(sfShareMPTID));
env(vault.withdraw(
{.depositor = depositor,
.id = vk.key,
.amount = shareAsset(sharesAfterSecondDonate)}),
ter{tesSUCCESS});
Ter(tesSUCCESS));
env.close();
BEAST_EXPECT(vaultShareBalance(vk) == 0);

View File

@@ -54,7 +54,7 @@ struct Vault
Account depositor;
uint256 id;
STAmount amount;
std::optional<std::uint32_t> flags{};
std::optional<std::uint32_t> flags = std::nullopt;
};
static json::Value