mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-08 19:26:45 +00:00
fix: post merge issues
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
}));
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user