mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-27 20:46:56 +00:00
fix: post merge build errors
This commit is contained in:
@@ -353,7 +353,7 @@ computeDeposit(
|
||||
try
|
||||
{
|
||||
auto const shares = assetsToSharesDeposit(rules, vault, issuance, assets);
|
||||
if (shares == beast::zero)
|
||||
if (shares == beast::kZero)
|
||||
return std::unexpected(tecPRECISION_LOSS);
|
||||
|
||||
auto const assetsOut = sharesToAssetsDeposit(rules, vault, issuance, shares);
|
||||
@@ -365,7 +365,7 @@ computeDeposit(
|
||||
// LCOV_EXCL_STOP
|
||||
}
|
||||
|
||||
return ExchangeResult{assetsOut, shares};
|
||||
return ExchangeResult{.assets = assetsOut, .shares = shares};
|
||||
}
|
||||
catch (std::overflow_error const&)
|
||||
{
|
||||
@@ -408,11 +408,11 @@ computeWithdrawByAssets(
|
||||
try
|
||||
{
|
||||
auto const shares = assetsToSharesWithdraw(rules, vault, issuance, assets);
|
||||
if (shares == beast::zero)
|
||||
if (shares == beast::kZero)
|
||||
return std::unexpected(tecPRECISION_LOSS);
|
||||
|
||||
auto const assetsOut = sharesToAssetsWithdraw(rules, vault, issuance, shares);
|
||||
return ExchangeResult{assetsOut, shares};
|
||||
return ExchangeResult{.assets = assetsOut, .shares = shares};
|
||||
}
|
||||
catch (std::overflow_error const&)
|
||||
{
|
||||
@@ -455,7 +455,7 @@ computeWithdrawByShares(
|
||||
try
|
||||
{
|
||||
auto const assets = sharesToAssetsWithdraw(rules, vault, issuance, shares);
|
||||
return ExchangeResult{assets, shares};
|
||||
return ExchangeResult{.assets = assets, .shares = shares};
|
||||
}
|
||||
catch (std::overflow_error const&)
|
||||
{
|
||||
@@ -520,7 +520,7 @@ computeClawback(
|
||||
}
|
||||
}
|
||||
|
||||
return ExchangeResult{assetsRecovered, sharesDestroyed};
|
||||
return ExchangeResult{.assets = assetsRecovered, .shares = sharesDestroyed};
|
||||
}
|
||||
catch (std::overflow_error const&)
|
||||
{
|
||||
|
||||
@@ -495,7 +495,7 @@ ValidVault::finalize(
|
||||
|
||||
if (view.rules().enabled(featureLendingProtocolV1_1))
|
||||
{
|
||||
if (afterVault.interestUnrealized < zero)
|
||||
if (afterVault.interestUnrealized < kZero)
|
||||
{
|
||||
JLOG(j.fatal()) << "Invariant failed: interest unrealized must be non-negative";
|
||||
result = false;
|
||||
@@ -510,8 +510,8 @@ ValidVault::finalize(
|
||||
|
||||
// Deposit net asset value = AssetsTotal - InterestUnrealized must be > 0 when vault
|
||||
// has assets.
|
||||
if (afterVault.assetsTotal > zero &&
|
||||
afterVault.assetsTotal - afterVault.interestUnrealized <= zero)
|
||||
if (afterVault.assetsTotal > kZero &&
|
||||
afterVault.assetsTotal - afterVault.interestUnrealized <= kZero)
|
||||
{
|
||||
JLOG(j.fatal()) << "Invariant failed: deposit net asset value must be positive";
|
||||
result = false;
|
||||
@@ -520,14 +520,14 @@ ValidVault::finalize(
|
||||
// Withdrawal net asset value = AssetsTotal - InterestUnrealized - LossUnrealized
|
||||
// must not go negative.
|
||||
if (afterVault.assetsTotal - afterVault.interestUnrealized - afterVault.lossUnrealized <
|
||||
zero)
|
||||
kZero)
|
||||
{
|
||||
JLOG(j.fatal()) << "Invariant failed: withdrawal net asset value must not be negative";
|
||||
result = false;
|
||||
}
|
||||
|
||||
// If there's unrealized interest, shares must be outstanding.
|
||||
if (updatedShares && afterVault.interestUnrealized > zero &&
|
||||
if (updatedShares && afterVault.interestUnrealized > kZero &&
|
||||
updatedShares->sharesTotal == 0)
|
||||
{
|
||||
JLOG(j.fatal()) << "Invariant failed: interest unrealized with no outstanding shares";
|
||||
|
||||
@@ -185,6 +185,9 @@ VaultWithdraw::doApply()
|
||||
// to deposit into it, and this means you are also indefinitely authorized
|
||||
// to withdraw from it.
|
||||
|
||||
STAmount assetsWithdrawn;
|
||||
STAmount sharesRedeemed;
|
||||
|
||||
auto const amount = ctx_.tx[sfAmount];
|
||||
Asset const vaultAsset = vault->at(sfAsset);
|
||||
|
||||
@@ -200,7 +203,8 @@ VaultWithdraw::doApply()
|
||||
}();
|
||||
if (!result)
|
||||
return result.error();
|
||||
auto const& [assetsWithdrawn, sharesRedeemed] = *result;
|
||||
assetsWithdrawn = result.value().assets;
|
||||
sharesRedeemed = result.value().shares;
|
||||
|
||||
if (accountHolds(
|
||||
view(), accountID_, share, FreezeHandling::ZeroIfFrozen, AuthHandling::IgnoreAuth, j_) <
|
||||
|
||||
@@ -3356,9 +3356,9 @@ class Invariants_test : public beast::unit_test::Suite
|
||||
{"interest unrealized must be non-negative"},
|
||||
[&](Account const& A1, Account const& A2, ApplyContext& ac) {
|
||||
auto const keylet = keylet::vault(A1.id(), ac.view().seq());
|
||||
adjust(ac.view(), keylet, args(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.interestUnrealized = -1;
|
||||
}));
|
||||
kAdjust(ac.view(), keylet, kArgs(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.interestUnrealized = -1;
|
||||
}));
|
||||
|
||||
return true;
|
||||
},
|
||||
@@ -3375,10 +3375,10 @@ class Invariants_test : public beast::unit_test::Suite
|
||||
{"interest unrealized exceeds lent assets"},
|
||||
[&](Account const& A1, Account const& A2, ApplyContext& ac) {
|
||||
auto const keylet = keylet::vault(A1.id(), ac.view().seq());
|
||||
adjust(ac.view(), keylet, args(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (DROPS_PER_XRP * -10).value();
|
||||
adj.interestUnrealized = (DROPS_PER_XRP * 20).value();
|
||||
}));
|
||||
kAdjust(ac.view(), keylet, kArgs(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (kDropsPerXrp * -10).value();
|
||||
adj.interestUnrealized = (kDropsPerXrp * 20).value();
|
||||
}));
|
||||
|
||||
return true;
|
||||
},
|
||||
@@ -3394,10 +3394,10 @@ class Invariants_test : public beast::unit_test::Suite
|
||||
{"deposit net asset value must be positive"},
|
||||
[&](Account const& A1, Account const& A2, ApplyContext& ac) {
|
||||
auto const keylet = keylet::vault(A1.id(), ac.view().seq());
|
||||
adjust(ac.view(), keylet, args(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (DROPS_PER_XRP * -20).value();
|
||||
adj.interestUnrealized = (DROPS_PER_XRP * 30 + 10).value();
|
||||
}));
|
||||
kAdjust(ac.view(), keylet, kArgs(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (kDropsPerXrp * -20).value();
|
||||
adj.interestUnrealized = (kDropsPerXrp * 30 + 10).value();
|
||||
}));
|
||||
|
||||
return true;
|
||||
},
|
||||
@@ -3413,11 +3413,11 @@ class Invariants_test : public beast::unit_test::Suite
|
||||
{"withdrawal net asset value must not be negative"},
|
||||
[&](Account const& A1, Account const& A2, ApplyContext& ac) {
|
||||
auto const keylet = keylet::vault(A1.id(), ac.view().seq());
|
||||
adjust(ac.view(), keylet, args(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (DROPS_PER_XRP * -20).value();
|
||||
adj.interestUnrealized = (DROPS_PER_XRP * 15).value();
|
||||
adj.lossUnrealized = (DROPS_PER_XRP * 20).value();
|
||||
}));
|
||||
kAdjust(ac.view(), keylet, kArgs(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (kDropsPerXrp * -20).value();
|
||||
adj.interestUnrealized = (kDropsPerXrp * 15).value();
|
||||
adj.lossUnrealized = (kDropsPerXrp * 20).value();
|
||||
}));
|
||||
|
||||
return true;
|
||||
},
|
||||
@@ -3432,10 +3432,10 @@ class Invariants_test : public beast::unit_test::Suite
|
||||
{"interest unrealized with no outstanding shares"},
|
||||
[&](Account const& A1, Account const& A2, ApplyContext& ac) {
|
||||
auto const keylet = keylet::vault(A1.id(), ac.view().seq());
|
||||
adjust(ac.view(), keylet, args(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (DROPS_PER_XRP * -10).value();
|
||||
adj.interestUnrealized = (DROPS_PER_XRP * 5).value();
|
||||
}));
|
||||
kAdjust(ac.view(), keylet, kArgs(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (kDropsPerXrp * -10).value();
|
||||
adj.interestUnrealized = (kDropsPerXrp * 5).value();
|
||||
}));
|
||||
|
||||
// Zero out shares
|
||||
auto sleVault = ac.view().peek(keylet);
|
||||
@@ -3459,10 +3459,10 @@ class Invariants_test : public beast::unit_test::Suite
|
||||
{"vault transaction must not change interest unrealized"},
|
||||
[&](Account const& A1, Account const& A2, ApplyContext& ac) {
|
||||
auto const keylet = keylet::vault(A1.id(), ac.view().seq());
|
||||
adjust(ac.view(), keylet, args(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (DROPS_PER_XRP * -10).value();
|
||||
adj.interestUnrealized = (DROPS_PER_XRP * 5).value();
|
||||
}));
|
||||
kAdjust(ac.view(), keylet, kArgs(A2.id(), 10, [](Adjustments& adj) {
|
||||
adj.assetsAvailable = (kDropsPerXrp * -10).value();
|
||||
adj.interestUnrealized = (kDropsPerXrp * 5).value();
|
||||
}));
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
namespace xrpl {
|
||||
namespace test {
|
||||
|
||||
class VaultHelpers_test : public beast::unit_test::suite
|
||||
class VaultHelpers_test : public beast::unit_test::Suite
|
||||
{
|
||||
jtx::Env* env_ = nullptr;
|
||||
AccountID const issuerID{0x2};
|
||||
@@ -338,7 +338,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
.lossUnrealized = 0,
|
||||
.shareTotal = 100'000'000,
|
||||
.withdrawAssets = 50,
|
||||
.truncate = TruncateShares::no,
|
||||
.truncate = TruncateShares::No,
|
||||
// NAV = 100
|
||||
.expectedShares = shares(Number{100'000'000LL * 50} / 100),
|
||||
},
|
||||
@@ -349,7 +349,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
.lossUnrealized = 3,
|
||||
.shareTotal = 10,
|
||||
.withdrawAssets = 1,
|
||||
.truncate = TruncateShares::yes,
|
||||
.truncate = TruncateShares::Yes,
|
||||
// NAV = 7; shares = floor(10 * 1 / 7)
|
||||
.expectedShares = shares(Number{(10 * 1) / 7}.truncate()),
|
||||
},
|
||||
@@ -360,7 +360,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
.lossUnrealized = 3,
|
||||
.shareTotal = 10,
|
||||
.withdrawAssets = Number{11, -1},
|
||||
.truncate = TruncateShares::yes,
|
||||
.truncate = TruncateShares::Yes,
|
||||
// NAV = 7; shares = floor(10 * 1.1 / 7)
|
||||
.expectedShares = shares(((Number{10} * Number{11, -1}) / 7).truncate()),
|
||||
},
|
||||
@@ -371,7 +371,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
.lossUnrealized = 0,
|
||||
.shareTotal = 10,
|
||||
.withdrawAssets = Number{15, -1},
|
||||
.truncate = TruncateShares::yes,
|
||||
.truncate = TruncateShares::Yes,
|
||||
// NAV = 10; shares = floor(10 * 1.5 / 10)
|
||||
.expectedShares = shares(((Number{10} * Number{15, -1}) / 10).truncate()),
|
||||
},
|
||||
@@ -382,7 +382,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
.lossUnrealized = 50,
|
||||
.shareTotal = 500,
|
||||
.withdrawAssets = 10,
|
||||
.truncate = TruncateShares::no,
|
||||
.truncate = TruncateShares::No,
|
||||
.expectedShares = shares(0),
|
||||
},
|
||||
{
|
||||
@@ -392,7 +392,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
.lossUnrealized = 2,
|
||||
.shareTotal = 10,
|
||||
.withdrawAssets = 3,
|
||||
.truncate = TruncateShares::yes,
|
||||
.truncate = TruncateShares::Yes,
|
||||
// NAV = 8; shares = floor(10 * 3 / 8)
|
||||
.expectedShares = shares(Number{(10 * 3) / 8}.truncate()),
|
||||
},
|
||||
@@ -403,7 +403,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
.lossUnrealized = 100,
|
||||
.shareTotal = 500,
|
||||
.withdrawAssets = 100,
|
||||
.truncate = TruncateShares::no,
|
||||
.truncate = TruncateShares::No,
|
||||
// NAV = 800; raw = 62.5, assigned to MPT STAmount
|
||||
.expectedShares = shares(Number{500 * 100} / 800),
|
||||
},
|
||||
@@ -414,7 +414,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
.lossUnrealized = 100,
|
||||
.shareTotal = 500,
|
||||
.withdrawAssets = 100,
|
||||
.truncate = TruncateShares::yes,
|
||||
.truncate = TruncateShares::Yes,
|
||||
// NAV = 800; shares = floor(500 * 100 / 800)
|
||||
.expectedShares = shares(Number{(500 * 100) / 800}.truncate()),
|
||||
},
|
||||
@@ -585,7 +585,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
BEAST_EXPECT(result.has_value());
|
||||
if (result)
|
||||
{
|
||||
BEAST_EXPECT(result->shares != beast::zero);
|
||||
BEAST_EXPECT(result->shares != beast::kZero);
|
||||
BEAST_EXPECT(result->assets <= asset(50));
|
||||
}
|
||||
}
|
||||
@@ -600,7 +600,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
BEAST_EXPECT(result.has_value());
|
||||
if (result)
|
||||
{
|
||||
BEAST_EXPECT(result->shares != beast::zero);
|
||||
BEAST_EXPECT(result->shares != beast::kZero);
|
||||
BEAST_EXPECT(result->assets == asset(100));
|
||||
}
|
||||
}
|
||||
@@ -634,8 +634,8 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
BEAST_EXPECT(result.has_value());
|
||||
if (result)
|
||||
{
|
||||
BEAST_EXPECT(result->shares != beast::zero);
|
||||
BEAST_EXPECT(result->assets != beast::zero);
|
||||
BEAST_EXPECT(result->shares != beast::kZero);
|
||||
BEAST_EXPECT(result->assets != beast::kZero);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -667,7 +667,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
BEAST_EXPECT(result.has_value());
|
||||
if (result)
|
||||
{
|
||||
BEAST_EXPECT(result->assets != beast::zero);
|
||||
BEAST_EXPECT(result->assets != beast::kZero);
|
||||
BEAST_EXPECT(result->shares == shares(50));
|
||||
}
|
||||
}
|
||||
@@ -688,8 +688,8 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
BEAST_EXPECT(result.has_value());
|
||||
if (result)
|
||||
{
|
||||
BEAST_EXPECT(result->assets != beast::zero);
|
||||
BEAST_EXPECT(result->shares != beast::zero);
|
||||
BEAST_EXPECT(result->assets != beast::kZero);
|
||||
BEAST_EXPECT(result->shares != beast::kZero);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -711,7 +711,7 @@ class VaultHelpers_test : public beast::unit_test::suite
|
||||
Sandbox
|
||||
makeSandbox(SLE::pointer vault, SLE::pointer issuance)
|
||||
{
|
||||
Sandbox sb(env_->current().get(), tapNONE);
|
||||
Sandbox sb(env_->current().get(), TapNone);
|
||||
sb.insert(vault);
|
||||
sb.insert(issuance);
|
||||
return sb;
|
||||
|
||||
Reference in New Issue
Block a user