- Call verifyDepositAuth in VaultWithdraw and LoanBrokerCoverWithdraw to
a destination.
- Update a couple of impossible error returns to log a message, but
exclude from coverage.
- Fail if the LoanBroker.LoanSequence overflows to 0.
- removeEmptyHolding will succeed if the account is the issuer
- If it encounters a trust line in that state, the line will always be
deleted.
- If it encounters an MPTToken in that state, which should be
impossible, the token will be deleted if it doesn't have a balance.
- Revert Payment transactor (Payment.*) back to what is in "develop".
- Change LoanBrokerCoverWithdraw to do a direct transfer, whether it's
too the account or the destination. Similar to VaultWithdraw, and as
specified
- https://github.com/XRPLF/rippled/pull/5270#discussion_r2554560222
- Rename the overload of constructRoundedLoanState that takes components
as inputs to constructLoanState. The original function did no rounding
or enforcement of the inputs being rounded.
- Left the overload constructRoundedLoanState(SLE::const_ref loan)
alone, because Loan objects are assumed to be rounded.
- Optimize final payment by checking and returning that case before
doing any other computations. Removes some asserts that weren't really
adding value.
- Rewrite "Asset::native()" and "integral()" to use std::visit.
- Improve documentation for the LoanPay transaction flags:
tfLoanFullPayment, tfLoanLatePayment
- Use a lambda to defensively guarantee that "tx" can not affect the
"signerCount" in "LoanSet::calculateBaseFee" # Please enter the commit
message for your changes. Lines starting
- Add some test cases to improve coverage, and exclude some lines from
coverage.
- Rounds the Broker.DebtTotal to the Vault scale any time it is
modified. This should reduce rounding errors.
- Ensure that no debt is left for the Broker after the last loan is
deleted. This ensures that any accumulated rounding errors are
resolved.
The `ledger_entry` and `deposit_preauth` requests require an array of credentials. However, the array size is not checked before is gets processing. This fix adds checks and return errors in case array size is too big.
- Shortcut on issuer match in canTransfer.
- An asset can transfer if either trustline enabled rippling, so both
must have it disabled for the transfer to fail with terNO_RIPPLE.
- Remove unnecessary asfDefaultRipple sets in unit tests.
- Add a new unit test helper class: testline, and a macro: THISLINE.
When included as a parameter to Env::operator(), will include the line
number of the transaction that didn't get the expected result. Works
similarly to BEAST_EXPECT. I didn't do the same for the file name,
because that can be deduced from the testcase name.
- Includes unit tests for terNO_RIPPLE.
- Switch auth mode to weak when submitter is destination.
- Require rippling enabled for vault deposits or withdrawals.
This PR splits `RPCHelpers.h` into two files, by moving out all the ledger-fetching-related functions into a separate file, `RPCLedgerHelpers.h`. It also moves `getAccountObjects` to `AccountObjects.h`, since it is only used in that one place.