Expand use of Asset::integral()

This commit is contained in:
Ed Hennis
2025-10-21 20:01:55 -04:00
parent 8757022312
commit f6098fd80b
6 changed files with 30 additions and 11 deletions

View File

@@ -193,9 +193,7 @@ class Loan_test : public beast::unit_test::suite
auto const available = vaultSle->at(sfAssetsAvailable);
env.test.BEAST_EXPECT(
total == available ||
(!broker.asset.raw().native() &&
broker.asset.raw().holds<Issue>() &&
available != 0 &&
(!broker.asset.integral() && available != 0 &&
((total - available) / available <
Number(1, -6))));
env.test.BEAST_EXPECT(
@@ -1750,7 +1748,7 @@ class Loan_test : public beast::unit_test::suite
BEAST_EXPECT(
paymentComponents.final || diff == beast::zero ||
(diff > beast::zero &&
((broker.asset.raw().integral() &&
((broker.asset.integral() &&
(static_cast<Number>(diff) < 3)) ||
(totalDue.exponent() - diff.exponent() > 8))));

View File

@@ -84,14 +84,14 @@ class Vault_test : public beast::unit_test::suite
this]() -> std::tuple<PrettyAsset, Account> {
auto const vault = env.le(keylet);
BEAST_EXPECT(vault != nullptr);
if (asset.raw().holds<Issue>() && !asset.raw().native())
if (!asset.integral())
BEAST_EXPECT(vault->at(sfScale) == 6);
else
BEAST_EXPECT(vault->at(sfScale) == 0);
auto const shares =
env.le(keylet::mptIssuance(vault->at(sfShareMPTID)));
BEAST_EXPECT(shares != nullptr);
if (asset.raw().holds<Issue>() && !asset.raw().native())
if (!asset.integral())
BEAST_EXPECT(shares->at(sfAssetScale) == 6);
else
BEAST_EXPECT(shares->at(sfAssetScale) == 0);
@@ -446,7 +446,7 @@ class Vault_test : public beast::unit_test::suite
}
}
if (!asset.raw().native() && asset.raw().holds<Issue>())
if (!asset.integral())
{
testcase(prefix + " temporary authorization for 3rd party");
env(trust(erin, asset(1000)));

View File

@@ -233,6 +233,18 @@ public:
return {asset_};
}
bool
integral() const
{
return asset_.integral();
}
bool
native() const
{
return asset_.native();
}
template <ValidIssueType TIss>
bool
holds() const