From 448ae8b9df6a73cede0e23e079165397ad852777 Mon Sep 17 00:00:00 2001 From: Sergey Kuznetsov Date: Tue, 12 May 2026 21:13:36 +0100 Subject: [PATCH 1/3] fix: Improve json parsing of currency issuers (#7110) --- src/libxrpl/protocol/Issue.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libxrpl/protocol/Issue.cpp b/src/libxrpl/protocol/Issue.cpp index 33ad3a0835..8de457a5cf 100644 --- a/src/libxrpl/protocol/Issue.cpp +++ b/src/libxrpl/protocol/Issue.cpp @@ -128,7 +128,7 @@ issueFromJson(json::Value const& v) } auto const issuer = parseBase58(issStr.asString()); - if (!issuer) + if (!issuer || *issuer == noAccount() || *issuer == xrpAccount()) { Throw("issueFromJson issuer must be a valid account"); } From 590906dadf153898076b59f991b7a337c6503d0f Mon Sep 17 00:00:00 2001 From: Olek <115580134+oleks-rip@users.noreply.github.com> Date: Tue, 12 May 2026 16:15:17 -0400 Subject: [PATCH 2/3] fix: Use transaction sequence numbers in permissioned domains (#7129) --- .../permissioned_domain/PermissionedDomainSet.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libxrpl/tx/transactors/permissioned_domain/PermissionedDomainSet.cpp b/src/libxrpl/tx/transactors/permissioned_domain/PermissionedDomainSet.cpp index f794844a57..39b65d0947 100644 --- a/src/libxrpl/tx/transactors/permissioned_domain/PermissionedDomainSet.cpp +++ b/src/libxrpl/tx/transactors/permissioned_domain/PermissionedDomainSet.cpp @@ -110,12 +110,13 @@ PermissionedDomainSet::doApply() if (balance < reserve) return tecINSUFFICIENT_RESERVE; - Keylet const pdKeylet = - keylet::permissionedDomain(account_, ctx_.tx.getFieldU32(sfSequence)); + bool const fix313 = view().rules().enabled(fixSecurity3_1_3); + auto const seq = fix313 ? ctx_.tx.getSeqValue() : ctx_.tx.getFieldU32(sfSequence); + Keylet const pdKeylet = keylet::permissionedDomain(account_, seq); auto slePd = std::make_shared(pdKeylet); slePd->setAccountID(sfOwner, account_); - slePd->setFieldU32(sfSequence, ctx_.tx.getFieldU32(sfSequence)); + slePd->setFieldU32(sfSequence, seq); slePd->peekFieldArray(sfAcceptedCredentials) = std::move(sortedLE); auto const page = view().dirInsert(keylet::ownerDir(account_), pdKeylet, describeOwnerDir(account_)); From 170eb5e588906d8701dee04163229113320344f0 Mon Sep 17 00:00:00 2001 From: Michael Legleux Date: Tue, 12 May 2026 13:46:33 -0700 Subject: [PATCH 3/3] ci: Limit nproc on Linux builds temporarily (#7132) --- .github/workflows/reusable-build-test-config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-build-test-config.yml b/.github/workflows/reusable-build-test-config.yml index cc927512ea..4c7c41fd0c 100644 --- a/.github/workflows/reusable-build-test-config.yml +++ b/.github/workflows/reusable-build-test-config.yml @@ -181,7 +181,7 @@ jobs: - name: Build the binary working-directory: ${{ env.BUILD_DIR }} env: - BUILD_NPROC: ${{ steps.nproc.outputs.nproc }} + BUILD_NPROC: ${{ runner.os == 'Linux' && '16' || steps.nproc.outputs.nproc }} BUILD_TYPE: ${{ inputs.build_type }} CMAKE_TARGET: ${{ inputs.cmake_target }} run: |