- Making a payment on an impaired loan will unimpair the loan, which
changes Vault.LossUnrealized.
- Add a step in unit tests to impair a loan before making a payment, to
verify, and prevent future similar regressions.
- Resolves regression RIPD-3650
This change adds a wildcard to the release branch in the CI pipeline spec. Namely, after adopting an improved release process, with release branches that now look like release-X.Y, the trigger pipeline was no longer running as it only searched for an exact match to release.
This change downgrades OpenSSL 3.6.0 to 3.5.4. To avoid potential zero-day issues in a new major version of OpenSSL, 3.6.0, it is safer to stick with 3.5.4. While 3.6.0 has some nice new features, such as improved SHA512 hashing, it also introduces new features that could contain bugs. In contrast, 3.5.4 has seen quite a few bug fixes over 3.5.0 and has been used in the wild for a while now.
* XRPLF/develop:
refactor: Update Conan dependencies: OpenSSL (5873)
Add vault invariants (5518)
test: Add more tests for Simulate RPC metadata (5827)
chore: Fix release build error (5864)
refactor: Update CI strategy matrix to use new RHEL 9 and RHEL 10 images (5856)
chore: exclude all `UNREACHABLE` blocks from codecov (5846)
Set version to 3.0.0-b1 (5859)
** Vault Invariants for Loan txs need to be fleshed out. **
- Give the appropriate Loan transactions vault modification privileges.
- Give the appropriate Loan transactions the ability to authorize
(create in this case) MPTokens.
- Check that LoanManage does not leave Vault in an inconsistent state
(AssetsAvailable > AssetsTotal). For IOU vaults, if the difference is
dust, "round up".
This change fixes a release build error with GCC 15.2.
The `fields` variable is only used in `XRPL_ASSERT`, which evaluates to nothing in a Release build, leaving the variable unused. This change silences the build warning.
Co-authored-by: Bart Thomee <11445373+bthomee@users.noreply.github.com>
This change uses the new RHEL 9 and 10 images to build and test the binary, and adds support for having different Docker image SHAs per distro-compiler combination.
Instead of supporting RHEL each minor version, we are simplifying our pipelines by only supporting RHEL major versions. Our CI Docker images have already been updated accordingly, and we recently added support for RHEL 10 as well. Up until now, the CI Docker images had all been rebuilt at the same time, but that is not necessarily true as the most recent push to the CI repo has shown where the RHEL images now have a different SHA than the Debian and Ubuntu ones.
Co-authored-by: Bart Thomee <11445373+bthomee@users.noreply.github.com>
- All current items are done
- Mostly comments
- Restructured PaymentParts (formerly PeriodicPaymentParts) to bring
along fees, and removed the computed / combined PeriodicPayment from
places that should be using PaymentParts instead.
* mywork/ximinez/lending-tx-fix:
fix: Transaction sig checking functions do not get a full context
ci: Upload artifacts during build and test in a separate job (5817)
- Fixes a bug introduced by PR #5594, commit 550f90a75e, which
introduced the concept of a "sigObject", in which the signature is
checked without necessarily being the transaction.
- Fortunately, no code uses the "sigObject" as anything other than the
transactor yet, so the bug is harmless for now.
- This fix removes the "PreclaimContext" from the parameter list, and
adds only the individual parts needed by the function, none of which
are the transaction.
* XRPLF/develop:
refactor: Add support for extra transaction signatures (5594)
refactor: Restructure Transactor::preflight to reduce boilerplate (5592)
* Restructures Transactor signature checking code to be able to handle a `sigObject`, which may be the full transaction, or may be an object field containing a separate signature. Either way, the `sigObject` can be a single- or multi-sign signature.
* Restructures `Transactor::preflight` to create several functions that will remove the need for error-prone boilerplate code in derived classes' implementations of `preflight`.
This change adds `STInt32` as a new `SType` under the `STInteger` umbrella, with `SType` value `12`. This is the first and only `STInteger` type that supports negative values.