Skip to content

Fix contract datatype#2

Open
mvadari wants to merge 57 commits intodangell7/smart-contractsfrom
fix-contract-datatype
Open

Fix contract datatype#2
mvadari wants to merge 57 commits intodangell7/smart-contractsfrom
fix-contract-datatype

Conversation

@mvadari
Copy link
Copy Markdown
Collaborator

@mvadari mvadari commented Apr 2, 2026

High Level Overview of Change

Context of Change

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Tests (You added tests for code that already exists, or your new feature included in this PR)
  • Documentation Updates
  • Release

Did you update HISTORY.md?

  • Yes
  • No, this change does not impact library users

Test Plan

github-actions bot and others added 30 commits September 25, 2025 13:36
* update package version

* update release date

---------

Co-authored-by: Raj Patel <rajp@ripple.com>
* WIP commit

* WIP commit

* fix serialization for Issue

* update HISTORY

* fix flaking oracle tests

* export VaultFlags and some code comments

* fix fromParser parsing
* run pipeline from release branch to fix provenance

* update release instructions

* check branch name at validate input step
Support Node 24 in CI
* refactor: migrate docs generation and publish step into the Release workflow

* feat: Introduce conditional trigger of docs generation; Docs are generated only for npm_dist_tag == latest (official non-beta releases)

* remove the manual instructions for updating the docs

* update the instructions on contributing doc
Co-authored-by: rippled-automation <102213836+rippled-automation@users.noreply.github.com>
* feat: add batch transaction exports to public API

* docs: add Batch transaction exports to HISTORY.md

* refactor: remove unnecessary BatchInnerTransaction export

* fix: lint error
update version to 2.5.1

Co-authored-by: Raj Patel <rajp@ripple.com>
…XRPLF#3117)

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* fix tests

* update history

* add more tests

* add JSDOC tag

* add stable stringify

* fix JSDoc comments

* refactor utility functions

* fix test name

* add encode deocde in integration test
* xrpl.js version 4.4.3

* Update release date for xrpl@4.4.3

---------

Co-authored-by: Kuan Lin <klin@ripple.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fix: GitHub Actions script injection vulnerability

- Move all ${{ github.* }} and ${{ inputs.* }} from run: scripts to env: blocks
- Use Shell-style ${VAR} pattern in run: blocks for better readability
- Remove redundant env redefinitions
- Follows rippled PR #5822 best practices
Address some outstanding comments in XRPLF#3133.
Changes include:

Use env variable names PKG_NAME, PKG_VERSION, and NPM_DIST_TAG consistently within the script and remove unnecessary intermediate variables.
Write package version in line https://github.com/XRPLF/xrpl.js/blob/main/.github/workflows/release.yml#L122 into $GITHUB_OUTPUT instead of $GITHUB_ENV to be used in other jobs (instead of the same job).
Fix line https://github.com/XRPLF/xrpl.js/blob/main/.github/workflows/release.yml#L526 to just use ${{ needs.get_version.outputs.package_name }} directly since this should be available and && operator does not make much sense in this context.
* update version

* update history
* VoD link fix code samples

* Update UNIQUE_SETUPS.md remove deno special steps
* add newlines

* fix typo

* Update definitions.json

* fix test
* improve faucet erroring

* update history

* fix tests

* fix history
* update depandabot frequency

* change freq to monthly
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.28.5 to 0.28.15.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md)
- [Commits](TypeStrong/typedoc@v0.28.5...v0.28.15)

---
updated-dependencies:
- dependency-name: typedoc
  dependency-version: 0.28.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…as Optional (XRPLF#3153)

* Mark AssetsAvailable, AssetsTotal and LossUnrealized of Vault object as optional
* WIP commit

* WIP commit

* WIP commit

* add LoanBrokerSet transaction

* update definitions.json

* update history

* add LoanBrokerCoverDeposit

* add LoanBrokerCoverWithdraw

* add LoanBrokerCoverClawback

* add LoanSet transaction

* add loan transactions

* WIP commit

* WIP commit

* WIP commit

* fix models

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* fix types

* fix autofill for VaultCreate

* implement autofill for LoanSet

* WIP commit

* Mark AssetsAvailable, AssetsTotal and LossUnrealized of Vault object as optional

* Update HISTORY.md

* assert objects in test cases

* test autofill for LoanSet tx

* improve warning message

* change to console.warn

* address codarabbit suggestions

* add unit test for encodeForMultisigning with SigningPubKey present

* address code-review comments and LoanSet autofill default

* add conditions on flags

* address codarabbit suggestions

* enable PermissionDelegationV1_1

---------

Co-authored-by: Kuan Lin <klin@ripple.com>
update package version

Co-authored-by: Raj Patel <rajp@ripple.com>
update package version

Co-authored-by: Raj Patel <rajp@ripple.com>
Bumps [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) from 29.7.0 to 30.2.0.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/expect)

---
updated-dependencies:
- dependency-name: expect
  dependency-version: 30.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
update the lerna version
dependabot bot and others added 26 commits January 7, 2026 10:34
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.35.0 to 9.39.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v9.39.2/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-version: 4.17.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [webpack](https://github.com/webpack/webpack) from 5.102.0 to 5.104.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](webpack/webpack@v5.102.0...v5.104.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.104.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.4.1 to 29.4.6.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](kulshekhar/ts-jest@v29.4.1...v29.4.6)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-version: 29.4.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3143)

Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 17.21.3 to 17.23.1.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md)
- [Commits](eslint-community/eslint-plugin-n@v17.21.3...v17.23.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-n
  dependency-version: 17.23.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3173)

* build(deps-dev): bump typescript-eslint from 8.39.0 to 8.52.0

Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.39.0 to 8.52.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.52.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.52.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps-dev): bump typescript-eslint from 8.39.0 to 8.52.0 (XRPLF#3181)

* Initial plan

* Initial plan for fixing typescript-eslint linting issues

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

* Fix typescript-eslint linting issues from 8.52.0 upgrade

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

* Disable import/no-unresolved for isomorphic test files using module subpaths

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

* Fix st-number.ts logic and revert import/no-unresolved disable

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

* Update typescript-eslint version in package.json to 8.52.0

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>
Co-authored-by: Mayukha Vadari <mvadari@ripple.com>
…RPLF#3171)

Bumps [webpack-bundle-analyzer](https://github.com/webpack/webpack-bundle-analyzer) from 4.10.2 to 5.1.0.
- [Changelog](https://github.com/webpack/webpack-bundle-analyzer/blob/main/CHANGELOG.md)
- [Commits](webpack/webpack-bundle-analyzer@v4.10.2...v5.1.0)

---
updated-dependencies:
- dependency-name: webpack-bundle-analyzer
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ws](https://github.com/websockets/ws) from 8.18.3 to 8.19.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@8.18.3...8.19.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 8.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint](https://github.com/eslint/eslint) from 9.35.0 to 9.39.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v9.35.0...v9.39.2)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) from 29.7.0 to 30.2.0.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/jest-mock)

---
updated-dependencies:
- dependency-name: jest-mock
  dependency-version: 30.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* release pipeline change for beta release

* release pipeline change for beta release

* release pipeline change for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* update workflow for beta release

* fix sending failure notification

* fix sending failure notification

* fix sending failure notification

* revert changes

* revert changes

* revert changes

* test release 4.4.21

* resove conflict

* resove conflict

* resove conflict

* resove conflict

* revert slack channel

* fix git ref for generate document

* resolve beta release PR comments

* update slack channel

* fix beta dist tag

* update RELEASE.md

* update RELEASE.md

* resolve comments on RELEASE.md

* update RELEASE.md and only unit test for beta release

* only run unit tests for beta releaes

* only run unit tests for beta releaes

* change back slack channel

* fix owasp project name

* add back PR auto creation

* test release after add back pr auto creation

* auto raise PR as draft

* auto raise PR as draft

* auto raise PR as draft

* auto raise PR as draft

* auto raise PR as draft

* update RELEASE.md

* revert slack channel

* update integration/faucet trigger

* fix: better formatting handling in definitions script (XRPLF#3123)

* add newlines

* fix typo

* Update definitions.json

* fix test

* fix: improve faucet error handling (XRPLF#3118)

* improve faucet erroring

* update history

* fix tests

* fix history

* test: make connections.test.ts run faster (XRPLF#3113)

* Change dependabot frequency to monthly (XRPLF#3139)

* update depandabot frequency

* change freq to monthly

* build(deps-dev): bump typedoc from 0.28.5 to 0.28.15 (XRPLF#3147)

Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.28.5 to 0.28.15.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md)
- [Commits](TypeStrong/typedoc@v0.28.5...v0.28.15)

---
updated-dependencies:
- dependency-name: typedoc
  dependency-version: 0.28.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Mark AssetsAvailable, AssetsTotal and LossUnrealized of Vault object as Optional (XRPLF#3153)

* Mark AssetsAvailable, AssetsTotal and LossUnrealized of Vault object as optional

* Add support for lending protocol xls-66d (XRPLF#3138)

* WIP commit

* WIP commit

* WIP commit

* add LoanBrokerSet transaction

* update definitions.json

* update history

* add LoanBrokerCoverDeposit

* add LoanBrokerCoverWithdraw

* add LoanBrokerCoverClawback

* add LoanSet transaction

* add loan transactions

* WIP commit

* WIP commit

* WIP commit

* fix models

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* WIP commit

* fix types

* fix autofill for VaultCreate

* implement autofill for LoanSet

* WIP commit

* Mark AssetsAvailable, AssetsTotal and LossUnrealized of Vault object as optional

* Update HISTORY.md

* assert objects in test cases

* test autofill for LoanSet tx

* improve warning message

* change to console.warn

* address codarabbit suggestions

* add unit test for encodeForMultisigning with SigningPubKey present

* address code-review comments and LoanSet autofill default

* add conditions on flags

* address codarabbit suggestions

* enable PermissionDelegationV1_1

---------

Co-authored-by: Kuan Lin <klin@ripple.com>

* feat: export more helper functions (XRPLF#3157)

* Release 2.6.0: release-rbc-2.6.0 → main (XRPLF#3159)

update package version

Co-authored-by: Raj Patel <rajp@ripple.com>

* Release 4.5.0: release-xrpl-4.5.0 → main (XRPLF#3161)

update package version

Co-authored-by: Raj Patel <rajp@ripple.com>

* build(deps-dev): bump expect from 29.7.0 to 30.2.0 (XRPLF#3148)

Bumps [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) from 29.7.0 to 30.2.0.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/expect)

---
updated-dependencies:
- dependency-name: expect
  dependency-version: 30.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Upgrade lerna to v8 (XRPLF#3156)

update the lerna version

* Set dependabot version update frequency to quarterly (XRPLF#3169)

change freq

* build(deps-dev): bump @eslint/js from 9.35.0 to 9.39.2 (XRPLF#3170)

Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.35.0 to 9.39.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v9.39.2/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/lodash from 4.17.20 to 4.17.21 (XRPLF#3178)

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-version: 4.17.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump webpack from 5.102.0 to 5.104.1 (XRPLF#3166)

Bumps [webpack](https://github.com/webpack/webpack) from 5.102.0 to 5.104.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](webpack/webpack@v5.102.0...v5.104.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.104.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump ts-jest from 29.4.1 to 29.4.6 (XRPLF#3162)

Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.4.1 to 29.4.6.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](kulshekhar/ts-jest@v29.4.1...v29.4.6)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-version: 29.4.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump eslint-plugin-n from 17.21.3 to 17.23.1 (XRPLF#3143)

Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 17.21.3 to 17.23.1.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md)
- [Commits](eslint-community/eslint-plugin-n@v17.21.3...v17.23.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-n
  dependency-version: 17.23.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump typescript-eslint from 8.39.0 to 8.52.0 (XRPLF#3173)

* build(deps-dev): bump typescript-eslint from 8.39.0 to 8.52.0

Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.39.0 to 8.52.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.52.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.52.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps-dev): bump typescript-eslint from 8.39.0 to 8.52.0 (XRPLF#3181)

* Initial plan

* Initial plan for fixing typescript-eslint linting issues

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

* Fix typescript-eslint linting issues from 8.52.0 upgrade

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

* Disable import/no-unresolved for isomorphic test files using module subpaths

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

* Fix st-number.ts logic and revert import/no-unresolved disable

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

* Update typescript-eslint version in package.json to 8.52.0

Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>
Co-authored-by: Mayukha Vadari <mvadari@ripple.com>

* build(deps-dev): bump webpack-bundle-analyzer from 4.10.2 to 5.1.0 (XRPLF#3171)

Bumps [webpack-bundle-analyzer](https://github.com/webpack/webpack-bundle-analyzer) from 4.10.2 to 5.1.0.
- [Changelog](https://github.com/webpack/webpack-bundle-analyzer/blob/main/CHANGELOG.md)
- [Commits](webpack/webpack-bundle-analyzer@v4.10.2...v5.1.0)

---
updated-dependencies:
- dependency-name: webpack-bundle-analyzer
  dependency-version: 5.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump ws from 8.18.3 to 8.19.0 (XRPLF#3172)

Bumps [ws](https://github.com/websockets/ws) from 8.18.3 to 8.19.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@8.18.3...8.19.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 8.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump eslint from 9.35.0 to 9.39.2 (XRPLF#3163)

Bumps [eslint](https://github.com/eslint/eslint) from 9.35.0 to 9.39.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v9.35.0...v9.39.2)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump jest-mock from 29.7.0 to 30.2.0 (XRPLF#3174)

Bumps [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) from 29.7.0 to 30.2.0.
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.2.0/packages/jest-mock)

---
updated-dependencies:
- dependency-name: jest-mock
  dependency-version: 30.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* update trigger for integration test and faucet test

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mayukha Vadari <mvadari@ripple.com>
Co-authored-by: Raj Patel <rajp@ripple.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kuan Lin <klin@ripple.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chenna Keshava B S <21219765+ckeshava@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com>
…F#3186)

* add faucetProtocol option

* improve doc

* update history
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) from 19.1.1 to 19.2.3.
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.3/packages/react)

---
updated-dependencies:
- dependency-name: react
  dependency-version: 19.2.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit upgrades the following developer-dependencies in the xrpl.js monorepo: "@xrplf/eslint-config": "^3.0.0", "eslint-plugin-array-func": "^5.0.0" and "eslint-plugin-tsdoc": "^0.5.0".
…ons (XRPLF#3191)

* WIP

* WIP

* update history

* WIP

* add helper functions

* fix lint

* add proper rounding

* WIP

* add tests

* temp fix node start issue

* remove detach

* WIP

* add detach

* fix error object

* remove rounding

* add 99e20 test

* remove trailing zeroes from mantissa

* add comment

* add rounding as rippled

* address review comments

* remove MAX_MANTISSA check

* address edge case
…rt Int32 serialized type (XRPLF#3198)

* WIP

* update history

* fix lint errors

* add Int32 type

* add encode decode test

* update history

* fix tests

* use typeName

* fix lint errors
update version

Co-authored-by: Raj Patel <rajp@ripple.com>
update version

Co-authored-by: Raj Patel <rajp@ripple.com>
* build(deps-dev): bump lerna from 8.2.4 to 9.0.3

Bumps [lerna](https://github.com/lerna/lerna/tree/HEAD/packages/lerna) from 8.2.4 to 9.0.3.
- [Release notes](https://github.com/lerna/lerna/releases)
- [Changelog](https://github.com/lerna/lerna/blob/main/packages/lerna/CHANGELOG.md)
- [Commits](https://github.com/lerna/lerna/commits/v9.0.3/packages/lerna)

---
updated-dependencies:
- dependency-name: lerna
  dependency-version: 9.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* run lerna repair

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Phu Pham <ppham@ripple.com>
Copilot AI review requested due to automatic review settings April 2, 2026 20:15
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR broadens xrpl.js lending-protocol support by adding/adjusting Loan/Vault/LoanBroker transaction & ledger typing/validation, related hashing utilities, and wallet helper functions for counterparty signing; it also updates CI/tooling and release/docs to match the new workflows and dependency versions.

Changes:

  • Add lending-protocol transaction models (Loan*) and ledger entry models (Loan/LoanBroker), plus new hash helpers (Vault/LoanBroker/Loan).
  • Add Wallet helpers for counterparty signing of LoanSet, and extend autofill fee calculation for LoanSet (counterparty signer count) and VaultCreate.
  • Update release documentation, CI workflows, lint/tooling configs, and ripple-binary-codec numeric/Issue handling + tests.

Reviewed changes

Copilot reviewed 115 out of 117 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
UNIQUE_SETUPS.md Removes outdated Deno workaround documentation.
RELEASE.md Expands release pipeline instructions (stable/beta) and workflow inputs.
README.md Updates XRPL code samples link path.
packages/xrpl/test/wallet/counterpartySigner.test.ts Adds unit tests for counterparty signing helpers (single + multisign combine).
packages/xrpl/test/utils/hashes.test.ts Adds tests for new Vault/LoanBroker/Loan hash functions.
packages/xrpl/test/setupClient.ts Allows passing ClientOptions into test client setup.
packages/xrpl/test/models/vaultCreate.test.ts Updates MPTokenMetadata import; adds Asset/Scale validation tests.
packages/xrpl/test/models/utils.test.ts Splits MPTokenMetadata fixtures; adds encode/decode tests and error cases.
packages/xrpl/test/models/MPTokenIssuanceCreate.test.ts Updates MPTokenMetadata warnings source; adjusts warning expectations.
packages/xrpl/test/models/loanPay.test.ts Adds unit tests for LoanPay validation and flag constraints.
packages/xrpl/test/models/loanManage.test.ts Adds unit tests for LoanManage validation and flag conflicts.
packages/xrpl/test/models/loanBrokerSet.test.ts Adds unit tests for LoanBrokerSet validation rules.
packages/xrpl/test/models/loanBrokerDelete.test.ts Adds unit tests for LoanBrokerDelete validation rules.
packages/xrpl/test/models/loanBrokerCoverWithdraw.test.ts Adds unit tests for LoanBrokerCoverWithdraw validation rules.
packages/xrpl/test/models/loanBrokerCoverDeposit.test.ts Adds unit tests for LoanBrokerCoverDeposit validation rules.
packages/xrpl/test/models/loanBrokerCoverClawback.test.ts Adds unit tests for LoanBrokerCoverClawback validation rules.
packages/xrpl/test/integration/utils.ts Adds helper to check amendment enablement via feature command.
packages/xrpl/test/integration/transactions/singleAssetVault.test.ts Updates vault flows (AssetsMaximum/Scale, destination fields, MPT vault path).
packages/xrpl/test/integration/transactions/oracleSet.test.ts Uses validated ledger close time to derive LastUpdateTime.
packages/xrpl/test/integration/transactions/oracleDelete.test.ts Uses validated ledger close time to derive LastUpdateTime.
packages/xrpl/test/integration/transactions/mptokenIssuanceCreate.test.ts Uses encode/decode MPTokenMetadata in integration test.
packages/xrpl/test/integration/transactions/delegateSet.test.ts Updates expected error code string for permission failure.
packages/xrpl/test/integration/transactions/ammBid.test.ts Adjusts floating-point diff constant for expected price.
packages/xrpl/test/integration/requests/vaultInfo.test.ts Expands vault_info assertions and adds IOU+Scale scenario.
packages/xrpl/test/integration/requests/getAggregatePrice.test.ts Uses validated ledger close time to derive LastUpdateTime.
packages/xrpl/test/faucet/fundWallet.test.ts Updates faucet error serialization expectation; ensures disconnect in finally.
packages/xrpl/test/connection.test.ts Makes connection timeout configurable in tests; reduces waits.
packages/xrpl/test/client/autofill.test.ts Adds autofill test for LoanSet fee calculation.
packages/xrpl/src/Wallet/utils.ts Refactors signer comparison/tx decode helpers; adds exported computeSignature.
packages/xrpl/src/Wallet/index.ts Switches Wallet signing to shared computeSignature; re-exports wallet helpers.
packages/xrpl/src/Wallet/fundWallet.ts Adds faucetProtocol; improves error parsing/serialization.
packages/xrpl/src/Wallet/counterpartySigner.ts Introduces LoanSet counterparty signing + multisign combination helpers.
packages/xrpl/src/Wallet/batchSigner.ts Changes Wallet import to type-only to avoid runtime import.
packages/xrpl/src/Wallet/authorizeChannel.ts Changes Wallet import to type-only to avoid runtime import.
packages/xrpl/src/utils/index.ts Exposes encodeForSigningBatch and new lending-related hash helpers.
packages/xrpl/src/utils/hashes/ledgerSpaces.ts Adds ledger namespace prefixes for vault/loanBroker/loan and updates reference link.
packages/xrpl/src/utils/hashes/index.ts Adds hashVault/hashLoanBroker/hashLoan helpers.
packages/xrpl/src/sugar/getOrderbook.ts Handles possible null result from BigNumber comparison in sort.
packages/xrpl/src/sugar/autofill.ts Adds LoanSet counterparty-signer fee logic; treats VaultCreate as special fee.
packages/xrpl/src/models/utils/flags.ts Registers flag maps for LoanManage and LoanPay.
packages/xrpl/src/models/transactions/vaultWithdraw.ts Adds DestinationTag to VaultWithdraw validation/type.
packages/xrpl/src/models/transactions/vaultCreate.ts Adds Scale field + validation; moves MPTokenMetadata validation imports.
packages/xrpl/src/models/transactions/transaction.ts Registers new Loan* and LoanBroker* transaction types in validation union/switch.
packages/xrpl/src/models/transactions/MPTokenIssuanceCreate.ts Moves MPTokenMetadata validation imports; updates doc comments to XLS-89.
packages/xrpl/src/models/transactions/loanSet.ts Adds LoanSet transaction model + validation.
packages/xrpl/src/models/transactions/loanPay.ts Adds LoanPay transaction model + validation (flag exclusivity).
packages/xrpl/src/models/transactions/loanManage.ts Adds LoanManage transaction model + validation (flag conflict).
packages/xrpl/src/models/transactions/loanDelete.ts Adds LoanDelete transaction model + validation.
packages/xrpl/src/models/transactions/loanBrokerSet.ts Adds LoanBrokerSet transaction model + validation.
packages/xrpl/src/models/transactions/loanBrokerDelete.ts Adds LoanBrokerDelete transaction model + validation.
packages/xrpl/src/models/transactions/loanBrokerCoverWithdraw.ts Adds LoanBrokerCoverWithdraw transaction model + validation (+ dest/tag).
packages/xrpl/src/models/transactions/loanBrokerCoverDeposit.ts Adds LoanBrokerCoverDeposit transaction model + validation.
packages/xrpl/src/models/transactions/loanBrokerCoverClawback.ts Adds LoanBrokerCoverClawback transaction model + validation.
packages/xrpl/src/models/transactions/index.ts Adjusts exports (GlobalFlags, Batch flags/types, Loan* types).
packages/xrpl/src/models/transactions/common.ts Refactors currency/amount guards; adds isTokenAmount/isLedgerEntryId/validateHexMetadata; removes MPTokenMetadata validator (moved).
packages/xrpl/src/models/methods/vaultInfo.ts Makes AssetsAvailable/AssetsTotal optional; adds AssetsMaximum/Data/Scale fields.
packages/xrpl/src/models/ledger/Vault.ts Fixes Flags typing; makes totals optional; renames ShareMPTID; adds Scale + VaultFlags.
packages/xrpl/src/models/ledger/LoanBroker.ts Adds LoanBroker ledger entry type definition.
packages/xrpl/src/models/ledger/Loan.ts Adds Loan ledger entry type definition + LoanFlags.
packages/xrpl/src/models/ledger/LedgerEntry.ts Adds Loan and LoanBroker to LedgerEntry unions/filters.
packages/xrpl/src/models/ledger/index.ts Exports Loan/LoanFlags/LoanBroker and VaultFlags.
packages/xrpl/src/models/index.ts Exports MPTokenMetadata encode/decode/validate utilities.
packages/xrpl/src/models/common/index.ts Updates MPTokenMetadata types/docs to XLS-89 (uris, additional_info typing, etc.).
packages/xrpl/src/index.ts Re-exports Wallet module surface (export * from './Wallet').
packages/xrpl/src/client/index.ts Updates fundWallet docs to reflect protocol/host usage; adds local faucet example.
packages/xrpl/package.json Adds fast-json-stable-stringify; bumps typedoc.
packages/xrpl/HISTORY.md Adds release notes entries describing newly added functionality.
packages/xrpl/eslint.config.js Adjusts eslint-config import for default export.
packages/secret-numbers/eslint.config.js Adjusts eslint-config import for default export.
packages/ripple-keypairs/eslint.config.js Adjusts eslint-config import for default export.
packages/ripple-binary-codec/tools/generateDefinitions.js Improves parsing regexes; adds DATATYPE rename mapping.
packages/ripple-binary-codec/test/uint.test.ts Adds UInt decimal validation tests; extends imports.
packages/ripple-binary-codec/test/st-number.test.ts Expands STNumber coverage for boundaries/rounding/overflow/underflow.
packages/ripple-binary-codec/test/signing-data-encoding.test.ts Adds multisign encoding test for LoanSet with non-empty SigningPubKey.
packages/ripple-binary-codec/test/quality.test.ts Updates bytesToHex import path to @transia/isomorphic.
packages/ripple-binary-codec/test/issue.test.ts Updates Issue parser usage and error expectation.
packages/ripple-binary-codec/test/int.test.ts Adds Int32 type tests + encode/decode coverage with LoanScale.
packages/ripple-binary-codec/test/fixtures/contract-call-binary.json Updates serialized fixture blob.
packages/ripple-binary-codec/test/definitions.test.ts Reformats/updates custom definitions tests and IDs.
packages/ripple-binary-codec/test/binary-parser.test.ts Updates bytesToHex import path to @transia/isomorphic.
packages/ripple-binary-codec/src/types/uint-8.ts Rejects non-integer numbers in UInt8.from.
packages/ripple-binary-codec/src/types/uint-64.ts Rejects non-integer numbers in UInt64.from.
packages/ripple-binary-codec/src/types/uint-32.ts Rejects non-integer numbers in UInt32.from.
packages/ripple-binary-codec/src/types/uint-16.ts Rejects non-integer numbers; fixes error message text.
packages/ripple-binary-codec/src/types/st-object.ts Refactors formatting; preserves X-address handling and field sorting/serialization logic.
packages/ripple-binary-codec/src/types/st-number.ts Reworks STNumber normalization/serialization for larger mantissa range and rounding behavior.
packages/ripple-binary-codec/src/types/issue.ts Refactors Issue encoding/parsing; adds MPT Issue serialization form.
packages/ripple-binary-codec/src/types/int.ts Adds signed Int base type for comparisons/range checks.
packages/ripple-binary-codec/src/types/int-32.ts Adds Int32 serialized type implementation.
packages/ripple-binary-codec/src/types/index.ts Registers/exports Int32 in coreTypes.
packages/ripple-binary-codec/src/types/hash-192.ts Uses optional chaining when checking zero-length bytes.
packages/ripple-binary-codec/src/types/hash-160.ts Uses optional chaining when checking zero-length bytes.
packages/ripple-binary-codec/src/types/hash-128.ts Uses optional chaining when checking zero-length bytes.
packages/ripple-binary-codec/src/index.ts Allows encodeForMultisigning with non-empty SigningPubKey.
packages/ripple-binary-codec/package.json Fixes test script to run all tests instead of a local absolute path.
packages/ripple-binary-codec/HISTORY.md Adds release notes for Int32/STNumber/UInt decimal fixes.
packages/ripple-binary-codec/eslint.config.js Adjusts eslint-config import for default export.
packages/ripple-address-codec/eslint.config.js Adjusts eslint-config import for default export.
packages/isomorphic/eslint.config.js Adjusts eslint-config import for default export.
package.json Updates tooling deps (eslint-config, chai, expect, jest-mock, lerna, etc.).
lerna.json Migrates lerna config from workspaces flag to explicit packages list + schema.
jest.config.base.js Adjusts Jest transforms/ignore patterns to handle chai ESM packaging.
CONTRIBUTING.md Updates docker run command and removes docgen step from release checklist.
.prettierignore Ignores NX workspace data directory.
.github/workflows/nodejs.yml Updates CI matrix (node versions), adds workflow inputs/toggles, splits docs job out.
.github/workflows/generate-documentation.yml Adds standalone reusable workflow to build + deploy docs.
.github/workflows/faucet_test.yml Adds input to optionally skip faucet tests.
.github/dependabot.yml Changes update cadence to quarterly and increases PR limit.
.ci-config/rippled.cfg Adjusts enabled amendments (adds LendingProtocol / PermissionDelegationV1_1; removes older NFT amendments).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +48 to +51
"expect": "^30.2.0",
"jest": "^29.3.1",
"jest-mock": "^29.3.1",
"lerna": "^4.0.0",
"jest-mock": "^30.2.0",
"lerna": "^9.0.4",
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

expect and jest-mock were bumped to major v30 while jest remains on v29. This version mismatch is likely to cause installation/peer-dependency issues or runtime incompatibilities in tests. Consider aligning these packages on the same major version (either upgrade jest/ts-jest to v30 or keep expect/jest-mock on v29).

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +16
import { bytesToHex } from "@transia/isomorphic/utils";
import BigNumber from "bignumber.js";
import {
decodeAccountID,
isValidXAddress,
xAddressToClassicAddress,
} from "@transia/ripple-address-codec";
import {
decode,
encode,
encodeForMultisigning,
encodeForSigning,
} from "@transia/ripple-binary-codec";
import { sign } from "@transia/ripple-keypairs";

import { Transaction } from '../models'
import { Transaction } from "../models";
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file switches to double quotes + semicolons while the surrounding codebase (e.g., packages/xrpl/src/Wallet/index.ts) uses single quotes and no semicolons. If ESLint/Prettier is configured for the existing style, this will create avoidable lint/format churn. Please reformat this file to match repository conventions (or apply the formatter to the whole package consistently).

Copilot uses AI. Check for mistakes.
Comment on lines +46 to +50
/**
* The 1/10th basis point fee charged by the Lending Protocol Owner. Valid values are between 0 and 10000 inclusive (1% - 10%).
*/
ManagementFeeRate?: number

Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The JSDoc for ManagementFeeRate says the range 0–10000 corresponds to “(1% - 10%)”, but with 1/10th-basis-point units that range corresponds to 0%–10% (and 0 is explicitly allowed by the validator). Please correct the comment to avoid misleading API consumers.

Copilot uses AI. Check for mistakes.
Comment on lines +13 to +43
**Stable release **
1. Create a release branch. A qualified branch name should start with "release-" or "release/", **case-insensitive**. e.g: `release/xrpl@4.3.8`, `release-xrpl-4.3.8`, `Release/xrpl@4.3.8`.
2. Update the **`version`** field in `packages/<package_name>/package.json` to the intended release version.
```json
{
"name": "<package_name>",
"version": "x.y.z"
}
```
2. Run npm i to update the package-lock with the updated versions and commit the lock file to the releaes branch
3. Run npm i to refresh package-lock.json and commit it.

**Beta release **
1. Create a release branch. There is no restriction for branch name.
2. Update the **`version`** field in `packages/<package_name>/package.json` to the intended beta release version.
```json
{
"name": "<package_name>",
"version": "x.y.z-<beta|rc>.a"
}
```
3. Run `npm i` to refresh `package-lock.json` and commit it.

### **Triggering a Release**

1. Go to **GitHub → Actions → Release Pipeline → Run workflow**
2. Fill in these fields:
- **package_name** → The folder name under `packages/`, e.g., `xrpl` or `ripple-address-codec`.
- **release_branch** → The Git branch the release is generated from, e.g., `release/xrpl@4.3.8`.
- **npmjs_dist_tag** → The npm distribution tag to publish under. Defaults to `latest`.
- Examples:
- `latest` → Standard production release
- `beta` → Pre-release for testing
- `rc` → Release candidate
1. Go to **GitHub → Actions → Release Pipeline → Run workflow** (must be triggered from `main`).

2. Triggering the workflow with following requied inputs:

- **Stable release**
- `release_branch_name`: e.g., `release/xrpl@4.3.8` or `release-xrpl-4.3.8` (must start with `release-`/`release/`, **case-insensitive**).
- `package_name`: e.g., `xrpl`.
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling/formatting issues in this section make the release guide harder to follow: extra space in “Stable release ” / “Beta release ” headings, “requied” → “required”, and “relase” → “release”. Please fix these typos.

Copilot uses AI. Check for mistakes.
Comment on lines 72 to +86
@@ -69,6 +83,7 @@ You can manually trigger the release workflow from the [GitHub Actions UI](https
- Packages the module with Lerna and uploads the tarball as an artifact.
- Posts failure notifications to Slack..
- Create a Github issue for detected vulnerabilities.
- Automatically raise a PR from relase branch to main branch for stable release
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: “taucet tests” should be “faucet tests”. Also there’s a double period in “Slack..”.

Copilot uses AI. Check for mistakes.
Comment on lines +13 to +16
const borrowerWallet = Wallet.fromSeed('sEd7FqVHfNZ2UdGAwjssxPev2ujwJoT')
const singedLoanSet = {
TransactionType: 'LoanSet',
Flags: 0,
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor typo in variable name: singedLoanSet reads like a misspelling of signedLoanSet, which makes the test harder to scan. Consider renaming for clarity.

Copilot uses AI. Check for mistakes.
Comment on lines 5 to +12
## Unreleased

## 4.6.0 (2026-02-12)

### Added
* Add `faucetProtocol` (http or https) option to `fundWallet` method. Makes `fundWallet` work with locally running faucet servers.
* Add `signLoanSetByCounterparty` and `combineLoanSetCounterpartySigners` helper functions to sign and combine LoanSet transactions signed by the counterparty.
* Add newly added fields to `Loan`, `LoanBroker` and `Vault` ledger objects and lending protocol related transaction types.
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR title/description (“Fix contract datatype” with an otherwise empty template) doesn’t reflect the actual scope here (release pipeline docs, CI workflow updates, new Loan* transaction models, Vault changes, binary-codec changes, etc.). Please update the PR description (and possibly title) to accurately summarize the changes and their motivation/risk.

Copilot uses AI. Check for mistakes.
Comment on lines +386 to +390
)
assert.equal(vault.Data, vaultCreateTx.Data)
assert.equal(assetsMaximum, '500')
assert.notEqual(vaultFlags, VaultFlags.lsfVaultPrivate)

Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assert.notEqual(vaultFlags, VaultFlags.lsfVaultPrivate) only checks for exact equality. If lsfVaultPrivate is set alongside other bits, this assertion will incorrectly pass. Use a bitwise check to ensure the private bit is not set (e.g., (vaultFlags & VaultFlags.lsfVaultPrivate) === 0).

Copilot uses AI. Check for mistakes.
@mvadari
Copy link
Copy Markdown
Collaborator Author

mvadari commented Apr 2, 2026

@dangell7 pretty sure the large diff is because of the squash commit on the merge, it's a 4-line fix otherwise

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants