From 06ddbfc337437dc6d3770bbc403aa3d5515bb9ff Mon Sep 17 00:00:00 2001 From: Mayukha Vadari Date: Wed, 24 Jun 2026 13:27:57 -0400 Subject: [PATCH] re-add checks --- src/libxrpl/ledger/helpers/AccountRootHelpers.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/libxrpl/ledger/helpers/AccountRootHelpers.cpp b/src/libxrpl/ledger/helpers/AccountRootHelpers.cpp index c33c3618b6..4e4efa3829 100644 --- a/src/libxrpl/ledger/helpers/AccountRootHelpers.cpp +++ b/src/libxrpl/ledger/helpers/AccountRootHelpers.cpp @@ -92,10 +92,14 @@ xrpLiquid(ReadView const& view, AccountID const& id, std::int32_t ownerCountAdj, if (sle == nullptr) return beast::kZero; - std::uint32_t const ownerCount = view.ownerCountHook(id, sle->at(sfOwnerCount)) - - sle->at(sfSponsoredOwnerCount) + sle->at(sfSponsoringOwnerCount) + ownerCountAdj; + std::uint32_t const ownerCount = confineOwnerCount( + view.ownerCountHook(id, sle->at(sfOwnerCount)) - sle->at(sfSponsoredOwnerCount) + + sle->at(sfSponsoringOwnerCount), + ownerCountAdj); auto const& fees = view.fees(); - auto const reserve = (fees.reserve * accountOwnerCount(sle)) + (fees.increment * ownerCount); + auto const reserve = isPseudoAccount(sle) + ? XRPAmount{0} + : ((fees.reserve * accountOwnerCount(sle)) + (fees.increment * ownerCount)); auto const fullBalance = sle->getFieldAmount(sfBalance);