From f8ee979ff4c78b479de62fd924c3c172c3e52a18 Mon Sep 17 00:00:00 2001 From: Ed Hennis Date: Sat, 22 Nov 2025 21:46:00 -0500 Subject: [PATCH] Review feedback from @gregtatcam - Add a comment explaining the formula in LoanManage::owedToVault - Make owedToVault static --- src/xrpld/app/tx/detail/LoanManage.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/xrpld/app/tx/detail/LoanManage.cpp b/src/xrpld/app/tx/detail/LoanManage.cpp index cf1d143c1b..adf08d71bf 100644 --- a/src/xrpld/app/tx/detail/LoanManage.cpp +++ b/src/xrpld/app/tx/detail/LoanManage.cpp @@ -114,9 +114,20 @@ LoanManage::preclaim(PreclaimContext const& ctx) return tesSUCCESS; } -Number +static Number owedToVault(SLE::ref loanSle) { + // Spec section 3.2.3.2, defines the default amount as + // + // DefaultAmount = (Loan.PrincipalOutstanding + Loan.InterestOutstanding) + // + // Loan.InterestOutstanding is not stored directly on ledger. + // It is computed as + // + // Loan.TotalValueOutstanding - Loan.PrincipalOutstanding - + // Loan.ManagementFeeOutstanding + // + // Add that to the original formula, and you get this: return loanSle->at(sfTotalValueOutstanding) - loanSle->at(sfManagementFeeOutstanding); }