From ca06c8f4b06fc596ddf6b8a39359703dc02187e3 Mon Sep 17 00:00:00 2001 From: Legion's <64915515+Dargon789@users.noreply.github.com> Date: Sat, 30 Mar 2024 14:25:04 +0700 Subject: [PATCH 01/11] Create SECURITY.md --- SECURITY.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000000..034e848032 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,21 @@ +# Security Policy + +## Supported Versions + +Use this section to tell people about which versions of your project are +currently being supported with security updates. + +| Version | Supported | +| ------- | ------------------ | +| 5.1.x | :white_check_mark: | +| 5.0.x | :x: | +| 4.0.x | :white_check_mark: | +| < 4.0 | :x: | + +## Reporting a Vulnerability + +Use this section to tell people how to report a vulnerability. + +Tell them where to go, how often they can expect to get an update on a +reported vulnerability, what to expect if the vulnerability is accepted or +declined, etc. From 3af5a887a6727387ab08ddf05681ed1af44a2fc2 Mon Sep 17 00:00:00 2001 From: Legion's <64915515+Dargon789@users.noreply.github.com> Date: Sat, 13 Apr 2024 00:34:46 +0700 Subject: [PATCH 02/11] Set up CI with Azure Pipelines [skip ci] --- azure-pipelines.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000000..676233afaf --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,21 @@ +# Node.js +# Build a general Node.js project with npm. +# Add steps that analyze code, save build artifacts, deploy, and more: +# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript + +trigger: +- master + +pool: + vmImage: ubuntu-latest + +steps: +- task: NodeTool@0 + inputs: + versionSpec: '10.x' + displayName: 'Install Node.js' + +- script: | + npm install + npm run build + displayName: 'npm install and build' From 1275488cc4694f82c5633237cbc890d5ebac0027 Mon Sep 17 00:00:00 2001 From: Legion's <64915515+Dargon789@users.noreply.github.com> Date: Wed, 7 Aug 2024 15:56:12 +0700 Subject: [PATCH 03/11] Create CNAME --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 0000000000..c9903e895b --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +wagmi-project-two.vercel.app \ No newline at end of file From 6466316b23acdb5b14276cb0c910986537e7f15e Mon Sep 17 00:00:00 2001 From: Corban Riley Date: Thu, 12 Jun 2025 14:20:54 -0400 Subject: [PATCH 04/11] Updating DefaultGuest address --- packages/wallet/primitives/src/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/wallet/primitives/src/constants.ts b/packages/wallet/primitives/src/constants.ts index 1920bb0126..6cb7aab9b4 100644 --- a/packages/wallet/primitives/src/constants.ts +++ b/packages/wallet/primitives/src/constants.ts @@ -1,6 +1,6 @@ import { Abi, Address } from 'ox' -export const DefaultGuest: Address.Address = '0x75e19AA6241D84C290658131857824B4eeF10dfF' +export const DefaultGuest: Address.Address = '0xf3c7175460BeD3340A1c4dc700fD6C8Cd3F56250' // ERC1271 export const IS_VALID_SIGNATURE = Abi.from([ From 9ed93e84fa2c0fa03a35f4f479a72ea9c5bff0d2 Mon Sep 17 00:00:00 2001 From: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Date: Fri, 29 Aug 2025 23:40:31 +0700 Subject: [PATCH 05/11] Update tests.yml (#51) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> --- .github/workflows/tests.yml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 62fc357db0..f7e20a2032 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -3,17 +3,30 @@ on: [push] name: tests jobs: - install: - name: Install dependencies + test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/install-dependencies + # ... (other steps) + - name: Install dependencies + run: pnpm install + + - name: Start local blockchain node + run: npx hardhat node & + # Or use npx ganache-cli --port 8545 & + + - name: Wait for node + run: | + for i in {1..10}; do + nc -z localhost 8545 && break + sleep 1 + done + + - name: Run tests + run: pnpm run test build: name: Run build runs-on: ubuntu-latest - needs: [install] steps: - uses: actions/checkout@v4 - uses: ./.github/actions/install-dependencies @@ -23,7 +36,6 @@ jobs: tests: name: Run all tests runs-on: ubuntu-latest - needs: [install] steps: - uses: actions/checkout@v4 - uses: ./.github/actions/install-dependencies From 27d3c49a3c40f2334a5ea9b78f3ff812ccd49fdb Mon Sep 17 00:00:00 2001 From: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Date: Sat, 30 Aug 2025 02:30:39 +0700 Subject: [PATCH 06/11] Update tests.yml (#52) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> --- .github/workflows/tests.yml | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f7e20a2032..98f00e4a17 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -6,23 +6,26 @@ jobs: test: runs-on: ubuntu-latest steps: - # ... (other steps) - - name: Install dependencies - run: pnpm install + # ... other steps ... + - name: Install pnpm + run: npm install -g pnpm - - name: Start local blockchain node - run: npx hardhat node & - # Or use npx ganache-cli --port 8545 & + - name: Install dependencies + run: pnpm install - - name: Wait for node - run: | + - name: Start local blockchain node + run: npx hardhat node & + # Or use npx ganache-cli --port 8545 & + + - name: Wait for node + run: | for i in {1..10}; do nc -z localhost 8545 && break sleep 1 done - - name: Run tests - run: pnpm run test + - name: Run tests + run: pnpm run test build: name: Run build From 16098929d051b1c6e51377aca6b835bb8544c417 Mon Sep 17 00:00:00 2001 From: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Date: Sat, 30 Aug 2025 06:25:54 +0700 Subject: [PATCH 07/11] Update tests.yml Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 98f00e4a17..b7f3c321e5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -12,6 +12,7 @@ jobs: - name: Install dependencies run: pnpm install + working-directory: ./app - name: Start local blockchain node run: npx hardhat node & From 2a17d6e7cd915d6c3f24e6f4a0f55d9d2b02de9e Mon Sep 17 00:00:00 2001 From: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Date: Mon, 8 Sep 2025 15:41:31 +0700 Subject: [PATCH 08/11] Update tests.yml (#55) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> --- .github/workflows/tests.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b7f3c321e5..81a5ceabe3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,18 +1,17 @@ on: [push] name: tests - jobs: test: runs-on: ubuntu-latest steps: - # ... other steps ... + # ... other steps ... - name: Install pnpm run: npm install -g pnpm - name: Install dependencies run: pnpm install - working-directory: ./app + # Remove: working-directory: ./app - name: Start local blockchain node run: npx hardhat node & From c18059c521f14ad44ff5e556eacf5114413af2a3 Mon Sep 17 00:00:00 2001 From: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Date: Wed, 17 Sep 2025 21:33:30 +0700 Subject: [PATCH 09/11] Update tests.yml (#56) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> --- .github/workflows/tests.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 81a5ceabe3..33d5a44b04 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -11,11 +11,12 @@ jobs: - name: Install dependencies run: pnpm install - # Remove: working-directory: ./app + working-directory: ./correct-path-to-package-json - name: Start local blockchain node - run: npx hardhat node & - # Or use npx ganache-cli --port 8545 & + run: # Fork latest mainnet state + anvil --fork-url https://reth-ethereum.ithaca.xyz/rpc + # Or use npx ganache-cli --port 8545 & - name: Wait for node run: | From 778ab8e388429c892fb0a81f4d9bd9dc73209f45 Mon Sep 17 00:00:00 2001 From: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Date: Wed, 17 Sep 2025 21:43:44 +0700 Subject: [PATCH 10/11] Update tests.yml Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 33d5a44b04..0a5c4e0cc6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,7 +7,7 @@ jobs: steps: # ... other steps ... - name: Install pnpm - run: npm install -g pnpm + run: npm install -g corepack & corepack enable & corepack install - name: Install dependencies run: pnpm install @@ -16,7 +16,7 @@ jobs: - name: Start local blockchain node run: # Fork latest mainnet state anvil --fork-url https://reth-ethereum.ithaca.xyz/rpc - # Or use npx ganache-cli --port 8545 & + # https://github.com/foundry-rs/foundry - name: Wait for node run: | From 7dd5b07679db763f9b77e2875664cfae2fd7cf9e Mon Sep 17 00:00:00 2001 From: Dargon789 <64915515+Dargon789@users.noreply.github.com> Date: Sat, 9 May 2026 02:30:56 +0700 Subject: [PATCH 11/11] Enforce minimum age limitation for packages (#547) * Upgrade uuid from v13 to v14 (#996) * Upgrading workspace root deps (#997) * New userdata.gen.ts * 3.0.6 * 3.0.7 * Fix fee options for undeployed wallets (#998) * Bump next from 15.5.14 to 15.5.15 (#989) Bumps [next](https://github.com/vercel/next.js) from 15.5.14 to 15.5.15. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/compare/v15.5.14...v15.5.15) --- updated-dependencies: - dependency-name: next dependency-version: 15.5.15 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update to latest pnpm * 3.0.8 * Fix fee options stub signature (#999) * 3.0.9 * Enforce minimum age limitation for packages --------- Signed-off-by: dependabot[bot] Co-authored-by: Corban Riley Co-authored-by: Taylan Pince Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: tolgahan-arikan --- extras/docs/package.json | 4 +- extras/docs/tsconfig.json | 9 +- extras/web/package.json | 4 +- extras/web/tsconfig.json | 9 +- package.json | 12 +- packages/services/api/CHANGELOG.md | 24 + packages/services/api/package.json | 4 +- packages/services/builder/CHANGELOG.md | 24 + packages/services/builder/package.json | 4 +- packages/services/guard/CHANGELOG.md | 24 + packages/services/guard/package.json | 4 +- .../services/identity-instrument/CHANGELOG.md | 24 + .../services/identity-instrument/package.json | 4 +- packages/services/indexer/CHANGELOG.md | 24 + packages/services/indexer/package.json | 4 +- packages/services/marketplace/CHANGELOG.md | 24 + packages/services/marketplace/package.json | 4 +- packages/services/metadata/CHANGELOG.md | 24 + packages/services/metadata/package.json | 4 +- packages/services/relayer/CHANGELOG.md | 32 + packages/services/relayer/package.json | 4 +- .../services/relayer/src/relayer/relayer.ts | 1 + .../relayer/src/relayer/rpc-relayer/index.ts | 14 +- .../relayer/src/relayer/standard/sequence.ts | 3 +- .../relayer/test/relayer/relayer.test.ts | 67 +- packages/services/userdata/CHANGELOG.md | 24 + packages/services/userdata/package.json | 4 +- .../services/userdata/src/userdata.gen.ts | 137 +++- packages/utils/abi/CHANGELOG.md | 24 + packages/utils/abi/package.json | 4 +- packages/wallet/core/CHANGELOG.md | 40 + packages/wallet/core/package.json | 4 +- packages/wallet/core/src/wallet.ts | 95 +++ .../core/test/wallet-fee-options.test.ts | 106 +++ packages/wallet/dapp-client/CHANGELOG.md | 44 ++ packages/wallet/dapp-client/package.json | 4 +- .../dapp-client/src/ChainSessionManager.ts | 8 +- packages/wallet/primitives-cli/package.json | 2 +- packages/wallet/primitives-cli/tsconfig.json | 3 +- packages/wallet/primitives/CHANGELOG.md | 24 + packages/wallet/primitives/package.json | 4 +- packages/wallet/wdk/CHANGELOG.md | 48 ++ packages/wallet/wdk/package.json | 6 +- .../wallet/wdk/src/sequence/transactions.ts | 31 +- pnpm-lock.yaml | 707 +++++++++--------- pnpm-workspace.yaml | 4 + repo/eslint-config/package.json | 2 +- .../next-css-side-effect.d.ts | 2 + repo/ui/package.json | 2 +- 49 files changed, 1257 insertions(+), 427 deletions(-) create mode 100644 packages/wallet/core/test/wallet-fee-options.test.ts create mode 100644 repo/typescript-config/next-css-side-effect.d.ts diff --git a/extras/docs/package.json b/extras/docs/package.json index ccf8cc5bbf..eb5768ed0c 100644 --- a/extras/docs/package.json +++ b/extras/docs/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@repo/ui": "workspace:^", - "next": "^15.5.14", + "next": "^15.5.15", "react": "^19.2.3", "react-dom": "^19.2.3" }, @@ -24,6 +24,6 @@ "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "eslint": "^9.39.2", - "typescript": "^5.9.3" + "typescript": "^6.0.3" } } diff --git a/extras/docs/tsconfig.json b/extras/docs/tsconfig.json index c2fa4ee5de..7b98032678 100644 --- a/extras/docs/tsconfig.json +++ b/extras/docs/tsconfig.json @@ -7,6 +7,13 @@ } ] }, - "include": ["**/*.ts", "**/*.tsx", "next-env.d.ts", "next.config.js", ".next/types/**/*.ts"], + "include": [ + "**/*.ts", + "**/*.tsx", + "../../repo/typescript-config/next-css-side-effect.d.ts", + "next-env.d.ts", + "next.config.js", + ".next/types/**/*.ts" + ], "exclude": ["node_modules"] } diff --git a/extras/web/package.json b/extras/web/package.json index b8fdea4997..a4c4edaa72 100644 --- a/extras/web/package.json +++ b/extras/web/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@repo/ui": "workspace:^", - "next": "^15.5.14", + "next": "^15.5.15", "react": "^19.2.3", "react-dom": "^19.2.3" }, @@ -24,6 +24,6 @@ "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "eslint": "^9.39.2", - "typescript": "^5.9.3" + "typescript": "^6.0.3" } } diff --git a/extras/web/tsconfig.json b/extras/web/tsconfig.json index c2fa4ee5de..7b98032678 100644 --- a/extras/web/tsconfig.json +++ b/extras/web/tsconfig.json @@ -7,6 +7,13 @@ } ] }, - "include": ["**/*.ts", "**/*.tsx", "next-env.d.ts", "next.config.js", ".next/types/**/*.ts"], + "include": [ + "**/*.ts", + "**/*.tsx", + "../../repo/typescript-config/next-css-side-effect.d.ts", + "next-env.d.ts", + "next.config.js", + ".next/types/**/*.ts" + ], "exclude": ["node_modules"] } diff --git a/package.json b/package.json index 92559c5103..38bc33117e 100644 --- a/package.json +++ b/package.json @@ -21,19 +21,19 @@ }, "devDependencies": { "@changesets/cli": "^2.29.8", - "lefthook": "^2.1.1", - "prettier": "^3.8.1", + "lefthook": "^2.1.6", + "prettier": "^3.8.3", "rimraf": "^6.1.3", - "syncpack": "^14.0.0", - "turbo": "^2.8.10", - "typescript": "^5.9.3" + "syncpack": "^14.3.1", + "turbo": "^2.9.8", + "typescript": "^6.0.3" }, "pnpm": { "overrides": { "ox": "^0.9.17" } }, - "packageManager": "pnpm@10.24.0", + "packageManager": "pnpm@10.33.4", "engines": { "node": ">=18" }, diff --git a/packages/services/api/CHANGELOG.md b/packages/services/api/CHANGELOG.md index de944ea36e..8d7c5dc551 100644 --- a/packages/services/api/CHANGELOG.md +++ b/packages/services/api/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/api +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/services/api/package.json b/packages/services/api/package.json index 8d2f87a228..c0fe2135e0 100644 --- a/packages/services/api/package.json +++ b/packages/services/api/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/api", - "version": "3.0.5", + "version": "3.0.9", "description": "api sub-package for Sequence", "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/services/api", "author": "Sequence Platforms ULC", @@ -26,6 +26,6 @@ "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", "@repo/eslint-config": "workspace:^", - "typescript": "^5.9.3" + "typescript": "^6.0.3" } } diff --git a/packages/services/builder/CHANGELOG.md b/packages/services/builder/CHANGELOG.md index e458893450..98b2661e72 100644 --- a/packages/services/builder/CHANGELOG.md +++ b/packages/services/builder/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/builder +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/services/builder/package.json b/packages/services/builder/package.json index 1897f0ab87..058fda6a51 100644 --- a/packages/services/builder/package.json +++ b/packages/services/builder/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/builder", - "version": "3.0.5", + "version": "3.0.9", "description": "builder sub-package for Sequence", "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/services/builder", "author": "Sequence Platforms ULC", @@ -26,6 +26,6 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", - "typescript": "^5.9.3" + "typescript": "^6.0.3" } } diff --git a/packages/services/guard/CHANGELOG.md b/packages/services/guard/CHANGELOG.md index a705f48ba3..b3c436416c 100644 --- a/packages/services/guard/CHANGELOG.md +++ b/packages/services/guard/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/guard +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/services/guard/package.json b/packages/services/guard/package.json index fc489cd03c..35857bea69 100644 --- a/packages/services/guard/package.json +++ b/packages/services/guard/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/guard", - "version": "3.0.5", + "version": "3.0.9", "description": "guard sub-package for Sequence", "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/services/guard", "author": "Sequence Platforms ULC", @@ -28,7 +28,7 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "vitest": "^4.0.18" }, "dependencies": { diff --git a/packages/services/identity-instrument/CHANGELOG.md b/packages/services/identity-instrument/CHANGELOG.md index ff6cebf477..5575cda0b9 100644 --- a/packages/services/identity-instrument/CHANGELOG.md +++ b/packages/services/identity-instrument/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/identity-instrument +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/services/identity-instrument/package.json b/packages/services/identity-instrument/package.json index bb61d8e20c..856d7e3292 100644 --- a/packages/services/identity-instrument/package.json +++ b/packages/services/identity-instrument/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/identity-instrument", - "version": "3.0.5", + "version": "3.0.9", "license": "Apache-2.0", "type": "module", "publishConfig": { @@ -24,7 +24,7 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "vitest": "^4.0.18" }, "dependencies": { diff --git a/packages/services/indexer/CHANGELOG.md b/packages/services/indexer/CHANGELOG.md index fb104e35fb..b3233d5c69 100644 --- a/packages/services/indexer/CHANGELOG.md +++ b/packages/services/indexer/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/indexer +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/services/indexer/package.json b/packages/services/indexer/package.json index 7ad0de895c..1b0d32023b 100644 --- a/packages/services/indexer/package.json +++ b/packages/services/indexer/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/indexer", - "version": "3.0.5", + "version": "3.0.9", "description": "indexer sub-package for Sequence", "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/services/indexer", "author": "Sequence Platforms ULC", @@ -26,6 +26,6 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", - "typescript": "^5.9.3" + "typescript": "^6.0.3" } } diff --git a/packages/services/marketplace/CHANGELOG.md b/packages/services/marketplace/CHANGELOG.md index 5a97b94e85..4365abb88f 100644 --- a/packages/services/marketplace/CHANGELOG.md +++ b/packages/services/marketplace/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/marketplace +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/services/marketplace/package.json b/packages/services/marketplace/package.json index 865e0e5b44..f2aed5ef25 100644 --- a/packages/services/marketplace/package.json +++ b/packages/services/marketplace/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/marketplace", - "version": "3.0.5", + "version": "3.0.9", "description": "marketplace sub-package for Sequence", "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/services/marketplace", "author": "Sequence Platforms ULC", @@ -26,6 +26,6 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", - "typescript": "^5.9.3" + "typescript": "^6.0.3" } } diff --git a/packages/services/metadata/CHANGELOG.md b/packages/services/metadata/CHANGELOG.md index 3362b424e0..19d5943a1a 100644 --- a/packages/services/metadata/CHANGELOG.md +++ b/packages/services/metadata/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/metadata +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/services/metadata/package.json b/packages/services/metadata/package.json index acb19b042c..a4ea57696f 100644 --- a/packages/services/metadata/package.json +++ b/packages/services/metadata/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/metadata", - "version": "3.0.5", + "version": "3.0.9", "publishConfig": { "access": "public" }, @@ -26,6 +26,6 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", - "typescript": "^5.9.3" + "typescript": "^6.0.3" } } diff --git a/packages/services/relayer/CHANGELOG.md b/packages/services/relayer/CHANGELOG.md index abefb99b79..5e5312a893 100644 --- a/packages/services/relayer/CHANGELOG.md +++ b/packages/services/relayer/CHANGELOG.md @@ -1,5 +1,37 @@ # @0xsequence/relayer +## 3.0.9 + +### Patch Changes + +- Fee options fixes +- Updated dependencies + - @0xsequence/wallet-primitives@3.0.9 + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling +- Updated dependencies + - @0xsequence/wallet-primitives@3.0.8 + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes +- Updated dependencies + - @0xsequence/wallet-primitives@3.0.7 + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support +- Updated dependencies + - @0xsequence/wallet-primitives@3.0.6 + ## 3.0.5 ### Patch Changes diff --git a/packages/services/relayer/package.json b/packages/services/relayer/package.json index 0c1422d970..1ba9e2c527 100644 --- a/packages/services/relayer/package.json +++ b/packages/services/relayer/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/relayer", - "version": "3.0.5", + "version": "3.0.9", "type": "module", "publishConfig": { "access": "public" @@ -30,7 +30,7 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "vitest": "^4.0.18" }, "dependencies": { diff --git a/packages/services/relayer/src/relayer/relayer.ts b/packages/services/relayer/src/relayer/relayer.ts index f685368200..9f648004af 100644 --- a/packages/services/relayer/src/relayer/relayer.ts +++ b/packages/services/relayer/src/relayer/relayer.ts @@ -18,6 +18,7 @@ export interface Relayer { chainId: number, to: Address.Address, calls: Payload.Call[], + data?: Hex.Hex, ): Promise<{ options: FeeOption[]; quote?: FeeQuote }> relay(to: Address.Address, data: Hex.Hex, chainId: number, quote?: FeeQuote): Promise<{ opHash: Hex.Hex }> diff --git a/packages/services/relayer/src/relayer/rpc-relayer/index.ts b/packages/services/relayer/src/relayer/rpc-relayer/index.ts index e045b996e0..814d25bbd3 100644 --- a/packages/services/relayer/src/relayer/rpc-relayer/index.ts +++ b/packages/services/relayer/src/relayer/rpc-relayer/index.ts @@ -149,22 +149,24 @@ export class RpcRelayer implements Relayer { chainId: number, to: Address.Address, calls: Payload.Call[], + data?: Hex.Hex, ): Promise<{ options: FeeOption[]; quote?: FeeQuote }> { // IMPORTANT: // The relayer FeeOptions endpoint simulates `eth_call(to, data)`. - // wallet-webapp-v3 requests FeeOptions with `to = wallet` and `data = Payload.encode(calls, self=wallet)`. - // This works for undeployed wallets and avoids guest-module simulation pitfalls. - const callsStruct: Payload.Calls = { type: 'call', space: 0n, nonce: 0n, calls: calls } + // Callers that already built a wallet transaction should pass its `to` and `data`. + // This is required for undeployed wallets because the transaction must target the + // guest module and include the deploy call before executing from the wallet. + const callsStruct: Payload.Calls = { type: 'call', space: 0n, nonce: 0n, calls } - const feeOptionsTo = wallet - const data = Payload.encode(callsStruct, wallet) + const feeOptionsTo = to + const feeOptionsData = data ?? Hex.fromBytes(Payload.encode(callsStruct, to)) try { const result = await this.client.feeOptions( { wallet, to: feeOptionsTo, - data: Hex.fromBytes(data), + data: feeOptionsData, }, { ...(this.projectAccessKey ? { 'X-Access-Key': this.projectAccessKey } : undefined) }, ) diff --git a/packages/services/relayer/src/relayer/standard/sequence.ts b/packages/services/relayer/src/relayer/standard/sequence.ts index bb55a97262..1ae5ec69bd 100644 --- a/packages/services/relayer/src/relayer/standard/sequence.ts +++ b/packages/services/relayer/src/relayer/standard/sequence.ts @@ -38,11 +38,12 @@ export class SequenceRelayer implements Relayer { _chainId: number, to: Address.Address, calls: Payload.Call[], + transactionData?: Hex.Hex, ): Promise<{ options: FeeOption[]; quote?: FeeQuote }> { const execute = AbiFunction.from('function execute(bytes calldata _payload, bytes calldata _signature)') const payload = Payload.encode({ type: 'call', space: 0n, nonce: 0n, calls }, to) const signature = '0x0001' // TODO: use a stub signature - const data = AbiFunction.encodeData(execute, [Bytes.toHex(payload), signature]) + const data = transactionData ?? AbiFunction.encodeData(execute, [Bytes.toHex(payload), signature]) const { options, quote } = await this.service.feeOptions({ wallet, to, data }) diff --git a/packages/services/relayer/test/relayer/relayer.test.ts b/packages/services/relayer/test/relayer/relayer.test.ts index 716cd11d65..028ccf32f0 100644 --- a/packages/services/relayer/test/relayer/relayer.test.ts +++ b/packages/services/relayer/test/relayer/relayer.test.ts @@ -91,13 +91,11 @@ describe('Relayer', () => { }) it('should return false for non-objects', () => { - // These will throw due to the 'in' operator, so we need to test the actual behavior - expect(() => Relayer.isRelayer(null)).toThrow() - expect(() => Relayer.isRelayer(undefined)).toThrow() - expect(() => Relayer.isRelayer('string')).toThrow() - expect(() => Relayer.isRelayer(123)).toThrow() - expect(() => Relayer.isRelayer(true)).toThrow() - // Arrays and objects should not throw, but should return false + expect(Relayer.isRelayer(null)).toBe(false) + expect(Relayer.isRelayer(undefined)).toBe(false) + expect(Relayer.isRelayer('string')).toBe(false) + expect(Relayer.isRelayer(123)).toBe(false) + expect(Relayer.isRelayer(true)).toBe(false) expect(Relayer.isRelayer([])).toBe(false) }) @@ -324,6 +322,61 @@ describe('Relayer', () => { }) }) + describe('RpcRelayer.feeOptions', () => { + const mockCall: Payload.Call = { + to: TEST_TO_ADDRESS, + value: 0n, + data: TEST_DATA, + gasLimit: 21000n, + delegateCall: false, + onlyFallback: false, + behaviorOnError: 'revert', + } + + const makeRelayer = () => { + const requests: Array<{ input: RequestInfo; init?: RequestInit }> = [] + const fetchImpl = vi.fn(async (input: RequestInfo, init?: RequestInit) => { + requests.push({ input, init }) + return new Response(JSON.stringify({ options: [], sponsored: false }), { status: 200 }) + }) + + return { + relayer: new Relayer.RpcRelayer('https://relayer.test', TEST_CHAIN_ID, 'https://rpc.test', fetchImpl), + requests, + } + } + + it('should send provided transaction target and data when available', async () => { + const { relayer, requests } = makeRelayer() + + await relayer.feeOptions(TEST_WALLET_ADDRESS, TEST_CHAIN_ID, TEST_TO_ADDRESS, [mockCall], TEST_DATA) + + expect(requests).toHaveLength(1) + expect(requests[0]!.input).toBe('https://relayer.test/rpc/Relayer/FeeOptions') + expect(JSON.parse(requests[0]!.init!.body as string)).toEqual({ + wallet: TEST_WALLET_ADDRESS, + to: TEST_TO_ADDRESS, + data: TEST_DATA, + }) + }) + + it('should encode calls for the provided target when transaction data is not provided', async () => { + const { relayer, requests } = makeRelayer() + + await relayer.feeOptions(TEST_WALLET_ADDRESS, TEST_CHAIN_ID, TEST_TO_ADDRESS, [mockCall]) + + const expectedData = Hex.fromBytes( + Payload.encode({ type: 'call', space: 0n, nonce: 0n, calls: [mockCall] }, TEST_TO_ADDRESS), + ) + + expect(JSON.parse(requests[0]!.init!.body as string)).toEqual({ + wallet: TEST_WALLET_ADDRESS, + to: TEST_TO_ADDRESS, + data: expectedData, + }) + }) + }) + describe('Type compatibility', () => { it('should work with Address and Hex types from ox', () => { // Test that the interfaces work correctly with ox types diff --git a/packages/services/userdata/CHANGELOG.md b/packages/services/userdata/CHANGELOG.md index 51ebad4131..9b41afaa04 100644 --- a/packages/services/userdata/CHANGELOG.md +++ b/packages/services/userdata/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/userdata +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/services/userdata/package.json b/packages/services/userdata/package.json index 38f3c9d5a8..bf0e184583 100644 --- a/packages/services/userdata/package.json +++ b/packages/services/userdata/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/userdata", - "version": "3.0.5", + "version": "3.0.9", "description": "userdata sub-package for Sequence", "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/services/userdata", "author": "Sequence Platforms ULC", @@ -26,6 +26,6 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", - "typescript": "^5.9.3" + "typescript": "^6.0.3" } } diff --git a/packages/services/userdata/src/userdata.gen.ts b/packages/services/userdata/src/userdata.gen.ts index d671010bed..5a48822501 100644 --- a/packages/services/userdata/src/userdata.gen.ts +++ b/packages/services/userdata/src/userdata.gen.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -// userdata v0.1.0 88764bb5f99353e11d849a1aa8f8a998501ffedb +// userdata v0.1.0 1c37d1866dada9f3770a8ca37e790c7bcdb6424a // -- // Code generated by Webrpc-gen@v0.30.2 with typescript generator. DO NOT EDIT. // @@ -12,7 +12,7 @@ export const WebrpcVersion = 'v1' export const WebrpcSchemaVersion = 'v0.1.0' // Schema hash generated from your RIDL schema -export const WebrpcSchemaHash = '88764bb5f99353e11d849a1aa8f8a998501ffedb' +export const WebrpcSchemaHash = '1c37d1866dada9f3770a8ca37e790c7bcdb6424a' // // Client interface @@ -152,6 +152,20 @@ export interface UserDataClient { headers?: object, signal?: AbortSignal, ): Promise + + listActiveDevices( + req: ListActiveDevicesRequest, + headers?: object, + signal?: AbortSignal, + ): Promise + + putActiveDevice(req: PutActiveDeviceRequest, headers?: object, signal?: AbortSignal): Promise + + deleteActiveDevice( + req: DeleteActiveDeviceRequest, + headers?: object, + signal?: AbortSignal, + ): Promise } // @@ -294,6 +308,29 @@ export interface WatchedWalletProps { nickname?: string } +export interface ActiveDevice { + walletAddress: string + address: string + nickname?: string + userAgent: string + platform: string + mobile: boolean + location?: string + firstSeen: string + lastSeen: string + createdAt: string + updatedAt: string +} + +export interface ActiveDeviceProps { + address: string + nickname?: string + userAgent: string + platform: string + mobile: boolean + location?: string +} + export interface GetCapabilitiesRequest {} export interface GetCapabilitiesResponse { @@ -550,6 +587,33 @@ export interface DeleteHiddenTokenRequest { export interface DeleteHiddenTokenResponse {} +export interface ListActiveDevicesRequest { + wallet: string + pageSize: number + cursor: string +} + +export interface ListActiveDevicesResponse { + devices: Array + nextCursor: string +} + +export interface PutActiveDeviceRequest { + wallet: string + device: ActiveDeviceProps +} + +export interface PutActiveDeviceResponse { + device: ActiveDevice +} + +export interface DeleteActiveDeviceRequest { + wallet: string + address: string +} + +export interface DeleteActiveDeviceResponse {} + // // Client // @@ -599,6 +663,9 @@ export class UserData implements UserDataClient { listHiddenTokens: (req: ListHiddenTokensRequest) => ['UserData', 'listHiddenTokens', req] as const, putHiddenToken: (req: PutHiddenTokenRequest) => ['UserData', 'putHiddenToken', req] as const, deleteHiddenToken: (req: DeleteHiddenTokenRequest) => ['UserData', 'deleteHiddenToken', req] as const, + listActiveDevices: (req: ListActiveDevicesRequest) => ['UserData', 'listActiveDevices', req] as const, + putActiveDevice: (req: PutActiveDeviceRequest) => ['UserData', 'putActiveDevice', req] as const, + deleteActiveDevice: (req: DeleteActiveDeviceRequest) => ['UserData', 'deleteActiveDevice', req] as const, } getCapabilities = (headers?: object, signal?: AbortSignal): Promise => { @@ -1215,6 +1282,72 @@ export class UserData implements UserDataClient { }, ) } + + listActiveDevices = ( + req: ListActiveDevicesRequest, + headers?: object, + signal?: AbortSignal, + ): Promise => { + return this.fetch( + this.url('ListActiveDevices'), + createHttpRequest(JsonEncode(req, 'ListActiveDevicesRequest'), headers, signal), + ).then( + (res) => { + return buildResponse(res).then((_data) => { + return JsonDecode(_data, 'ListActiveDevicesResponse') + }) + }, + (error) => { + throw WebrpcRequestFailedError.new({ + cause: `fetch(): ${error instanceof Error ? error.message : String(error)}`, + }) + }, + ) + } + + putActiveDevice = ( + req: PutActiveDeviceRequest, + headers?: object, + signal?: AbortSignal, + ): Promise => { + return this.fetch( + this.url('PutActiveDevice'), + createHttpRequest(JsonEncode(req, 'PutActiveDeviceRequest'), headers, signal), + ).then( + (res) => { + return buildResponse(res).then((_data) => { + return JsonDecode(_data, 'PutActiveDeviceResponse') + }) + }, + (error) => { + throw WebrpcRequestFailedError.new({ + cause: `fetch(): ${error instanceof Error ? error.message : String(error)}`, + }) + }, + ) + } + + deleteActiveDevice = ( + req: DeleteActiveDeviceRequest, + headers?: object, + signal?: AbortSignal, + ): Promise => { + return this.fetch( + this.url('DeleteActiveDevice'), + createHttpRequest(JsonEncode(req, 'DeleteActiveDeviceRequest'), headers, signal), + ).then( + (res) => { + return buildResponse(res).then((_data) => { + return JsonDecode(_data, 'DeleteActiveDeviceResponse') + }) + }, + (error) => { + throw WebrpcRequestFailedError.new({ + cause: `fetch(): ${error instanceof Error ? error.message : String(error)}`, + }) + }, + ) + } } const createHttpRequest = (body: string = '{}', headers: object = {}, signal: AbortSignal | null = null): object => { diff --git a/packages/utils/abi/CHANGELOG.md b/packages/utils/abi/CHANGELOG.md index 8194c38b89..b66fe1270a 100644 --- a/packages/utils/abi/CHANGELOG.md +++ b/packages/utils/abi/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/abi +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/utils/abi/package.json b/packages/utils/abi/package.json index d70d75cdc6..a226d70fb4 100644 --- a/packages/utils/abi/package.json +++ b/packages/utils/abi/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/abi", - "version": "3.0.5", + "version": "3.0.9", "description": "abi sub-package for Sequence", "repository": "https://github.com/0xsequence/sequence.js/tree/master/packages/utils/abi", "author": "Sequence Platforms ULC", @@ -26,6 +26,6 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@types/node": "^25.3.0", - "typescript": "^5.9.3" + "typescript": "^6.0.3" } } diff --git a/packages/wallet/core/CHANGELOG.md b/packages/wallet/core/CHANGELOG.md index 23fc45fe44..9f44040a1f 100644 --- a/packages/wallet/core/CHANGELOG.md +++ b/packages/wallet/core/CHANGELOG.md @@ -1,5 +1,45 @@ # @0xsequence/wallet-core +## 3.0.9 + +### Patch Changes + +- Fee options fixes +- Updated dependencies + - @0xsequence/guard@3.0.9 + - @0xsequence/relayer@3.0.9 + - @0xsequence/wallet-primitives@3.0.9 + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling +- Updated dependencies + - @0xsequence/guard@3.0.8 + - @0xsequence/relayer@3.0.8 + - @0xsequence/wallet-primitives@3.0.8 + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes +- Updated dependencies + - @0xsequence/guard@3.0.7 + - @0xsequence/relayer@3.0.7 + - @0xsequence/wallet-primitives@3.0.7 + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support +- Updated dependencies + - @0xsequence/guard@3.0.6 + - @0xsequence/relayer@3.0.6 + - @0xsequence/wallet-primitives@3.0.6 + ## 3.0.5 ### Patch Changes diff --git a/packages/wallet/core/package.json b/packages/wallet/core/package.json index 4133157861..8cbb4eacd4 100644 --- a/packages/wallet/core/package.json +++ b/packages/wallet/core/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/wallet-core", - "version": "3.0.5", + "version": "3.0.9", "license": "Apache-2.0", "type": "module", "publishConfig": { @@ -29,7 +29,7 @@ "@vitest/coverage-v8": "^4.0.18", "dotenv": "^17.3.1", "fake-indexeddb": "^6.2.5", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "vitest": "^4.0.18" }, "dependencies": { diff --git a/packages/wallet/core/src/wallet.ts b/packages/wallet/core/src/wallet.ts index d89d5b2b98..66b0eb52b5 100644 --- a/packages/wallet/core/src/wallet.ts +++ b/packages/wallet/core/src/wallet.ts @@ -25,6 +25,51 @@ export const DefaultWalletOptions: WalletOptions = { guest: Constants.DefaultGuestAddress, } +const FeeOptionsStubSignature: SequenceSignature.SignatureOfSignerLeaf = { + type: 'eth_sign', + r: 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn, + s: 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0n, + yParity: 0, +} + +function stubFeeOptionsTopology(topology: Config.Topology): SequenceSignature.RawTopology { + if (Array.isArray(topology)) { + return [stubFeeOptionsTopology(topology[0]), stubFeeOptionsTopology(topology[1])] + } + + if (Config.isSignerLeaf(topology)) { + return { + type: 'unrecovered-signer', + weight: topology.weight, + signature: FeeOptionsStubSignature, + } + } + + if (Config.isNestedLeaf(topology)) { + return { + type: 'nested', + weight: topology.weight, + threshold: topology.threshold, + tree: stubFeeOptionsTopology(topology.tree), + } + } + + return topology +} + +function buildFeeOptionsStubSignature(status: WalletStatusWithOnchain): Hex.Hex { + return Bytes.toHex( + SequenceSignature.encodeSignature({ + noChainId: status.chainId === 0, + configuration: { + ...status.configuration, + topology: stubFeeOptionsTopology(status.configuration.topology), + }, + suffix: status.pendingUpdates.map(({ signature }) => signature), + }), + ) +} + export type WalletStatus = { address: Address.Address isDeployed: boolean @@ -494,6 +539,56 @@ export class Wallet { } } + async buildFeeOptionsTransaction( + provider: Provider.Provider, + payload: Payload.Calls, + ): Promise<{ to: Address.Address; data: Hex.Hex }> { + const status = await this.getStatus(provider) + const signature = buildFeeOptionsStubSignature(status) + + const executeData = AbiFunction.encodeData(Constants.EXECUTE, [Bytes.toHex(Payload.encode(payload)), signature]) + + if (status.isDeployed) { + return { + to: this.address, + data: executeData, + } + } + + const deploy = await this.buildDeployTransaction() + + return { + to: this.guest, + data: Bytes.toHex( + Payload.encode({ + type: 'call', + space: 0n, + nonce: 0n, + calls: [ + { + to: deploy.to, + value: 0n, + data: deploy.data, + gasLimit: 0n, + delegateCall: false, + onlyFallback: false, + behaviorOnError: 'revert', + }, + { + to: this.address, + value: 0n, + data: executeData, + gasLimit: 0n, + delegateCall: false, + onlyFallback: false, + behaviorOnError: 'revert', + }, + ], + }), + ), + } + } + async buildTransaction(provider: Provider.Provider, envelope: Envelope.Signed) { const status = await this.getStatus(provider) diff --git a/packages/wallet/core/test/wallet-fee-options.test.ts b/packages/wallet/core/test/wallet-fee-options.test.ts new file mode 100644 index 0000000000..633f476727 --- /dev/null +++ b/packages/wallet/core/test/wallet-fee-options.test.ts @@ -0,0 +1,106 @@ +import { describe, expect, it, vi } from 'vitest' +import { AbiFunction, Address, Bytes, Hex, Provider } from 'ox' + +import { Constants, Config, Context, Payload } from '../../primitives/src/index.js' +import { State, Wallet } from '../src/index.js' + +const SIGNER = '0x1234567890123456789012345678901234567890' as Address.Address +const TARGET = '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd' as Address.Address +const FEE_OPTIONS_STUB_SIGNATURE = + '0x040001711fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0' as Hex.Hex + +const configuration: Config.Config = { + threshold: 1n, + checkpoint: 0n, + topology: { type: 'signer', address: SIGNER, weight: 1n }, +} + +const call: Payload.Call = { + to: TARGET, + value: 0n, + data: '0x', + gasLimit: 0n, + delegateCall: false, + onlyFallback: false, + behaviorOnError: 'revert', +} + +const payload: Payload.Calls = { + type: 'call', + space: 0n, + nonce: 0n, + calls: [call], +} + +function providerFor(options: { deployed: boolean; imageHash: Hex.Hex }): Provider.Provider { + return { + request: vi.fn(async (request: { method: string; params?: unknown[] }) => { + switch (request.method) { + case 'eth_chainId': + return '0x1' + + case 'eth_getCode': + return options.deployed ? '0x1234' : '0x' + + case 'eth_call': { + const rpcCall = request.params?.[0] as { data?: Hex.Hex } | undefined + + if (rpcCall?.data === AbiFunction.encodeData(Constants.GET_IMPLEMENTATION)) { + return options.deployed ? Hex.padLeft(Context.Dev2.stage2, 32) : '0x' + } + + if (rpcCall?.data === AbiFunction.encodeData(Constants.IMAGE_HASH)) { + return options.imageHash + } + + return '0x' + } + + default: + throw new Error(`Unexpected RPC method: ${request.method}`) + } + }), + } as unknown as Provider.Provider +} + +async function createWallet() { + const stateProvider = new State.Local.Provider() + const wallet = await Wallet.fromConfiguration(configuration, { stateProvider, context: Context.Dev2 }) + const imageHash = Hex.from(Config.hashConfiguration(configuration)) + + return { wallet, imageHash } +} + +describe('Wallet.buildFeeOptionsTransaction', () => { + it('targets the wallet execute method when the wallet is deployed', async () => { + const { wallet, imageHash } = await createWallet() + const transaction = await wallet.buildFeeOptionsTransaction(providerFor({ deployed: true, imageHash }), payload) + + const expectedData = AbiFunction.encodeData(Constants.EXECUTE, [ + Bytes.toHex(Payload.encode(payload)), + FEE_OPTIONS_STUB_SIGNATURE, + ]) + + expect(Address.isEqual(transaction.to, wallet.address)).toBe(true) + expect(transaction.data).toBe(expectedData) + }) + + it('targets the guest module and prefixes deployment when the wallet is undeployed', async () => { + const { wallet, imageHash } = await createWallet() + const deploy = await wallet.buildDeployTransaction() + const transaction = await wallet.buildFeeOptionsTransaction(providerFor({ deployed: false, imageHash }), payload) + const decoded = Payload.decode(Bytes.fromHex(transaction.data)) + + const expectedExecuteData = AbiFunction.encodeData(Constants.EXECUTE, [ + Bytes.toHex(Payload.encode(payload)), + FEE_OPTIONS_STUB_SIGNATURE, + ]) + + expect(Address.isEqual(transaction.to, Constants.DefaultGuestAddress)).toBe(true) + expect(decoded.calls).toHaveLength(2) + expect(Address.isEqual(decoded.calls[0]!.to, deploy.to)).toBe(true) + expect(decoded.calls[0]!.data).toBe(deploy.data) + expect(Address.isEqual(decoded.calls[1]!.to, wallet.address)).toBe(true) + expect(decoded.calls[1]!.data).toBe(expectedExecuteData) + }) +}) diff --git a/packages/wallet/dapp-client/CHANGELOG.md b/packages/wallet/dapp-client/CHANGELOG.md index 2039d0c2d2..d037d56365 100644 --- a/packages/wallet/dapp-client/CHANGELOG.md +++ b/packages/wallet/dapp-client/CHANGELOG.md @@ -1,5 +1,49 @@ # @0xsequence/dapp-client +## 3.0.9 + +### Patch Changes + +- Fee options fixes +- Updated dependencies + - @0xsequence/guard@3.0.9 + - @0xsequence/relayer@3.0.9 + - @0xsequence/wallet-core@3.0.9 + - @0xsequence/wallet-primitives@3.0.9 + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling +- Updated dependencies + - @0xsequence/guard@3.0.8 + - @0xsequence/relayer@3.0.8 + - @0xsequence/wallet-core@3.0.8 + - @0xsequence/wallet-primitives@3.0.8 + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes +- Updated dependencies + - @0xsequence/guard@3.0.7 + - @0xsequence/relayer@3.0.7 + - @0xsequence/wallet-core@3.0.7 + - @0xsequence/wallet-primitives@3.0.7 + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support +- Updated dependencies + - @0xsequence/guard@3.0.6 + - @0xsequence/relayer@3.0.6 + - @0xsequence/wallet-core@3.0.6 + - @0xsequence/wallet-primitives@3.0.6 + ## 3.0.5 ### Patch Changes diff --git a/packages/wallet/dapp-client/package.json b/packages/wallet/dapp-client/package.json index 7ed1867e74..82a3c95a22 100644 --- a/packages/wallet/dapp-client/package.json +++ b/packages/wallet/dapp-client/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/dapp-client", - "version": "3.0.5", + "version": "3.0.9", "license": "Apache-2.0", "type": "module", "publishConfig": { @@ -28,7 +28,7 @@ "dotenv": "^17.3.1", "fake-indexeddb": "^6.2.5", "happy-dom": "^20.8.9", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "vitest": "^4.0.18" }, "dependencies": { diff --git a/packages/wallet/dapp-client/src/ChainSessionManager.ts b/packages/wallet/dapp-client/src/ChainSessionManager.ts index a57e2c2324..dc1f30e239 100644 --- a/packages/wallet/dapp-client/src/ChainSessionManager.ts +++ b/packages/wallet/dapp-client/src/ChainSessionManager.ts @@ -865,7 +865,13 @@ export class ChainSessionManager { } const walletAddress = this.walletAddress if (!walletAddress) throw new InitializationError('Wallet is not initialized.') - const feeOptions = await this.relayer.feeOptions(walletAddress, this.chainId, signedCall.to, callsToSend) + const feeOptions = await this.relayer.feeOptions( + walletAddress, + this.chainId, + signedCall.to, + callsToSend, + signedCall.data, + ) return feeOptions.options } catch (err) { throw new FeeOptionError(`Failed to get fee options: ${err instanceof Error ? err.message : String(err)}`) diff --git a/packages/wallet/primitives-cli/package.json b/packages/wallet/primitives-cli/package.json index ec35fc66e7..b91c0a8852 100644 --- a/packages/wallet/primitives-cli/package.json +++ b/packages/wallet/primitives-cli/package.json @@ -28,7 +28,7 @@ "concurrently": "^9.2.1", "esbuild": "^0.27.3", "nodemon": "^3.1.14", - "typescript": "^5.9.3" + "typescript": "^6.0.3" }, "dependencies": { "@0xsequence/wallet-primitives": "workspace:^", diff --git a/packages/wallet/primitives-cli/tsconfig.json b/packages/wallet/primitives-cli/tsconfig.json index 1e325a596c..39eeeb0941 100644 --- a/packages/wallet/primitives-cli/tsconfig.json +++ b/packages/wallet/primitives-cli/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "rootDir": "src", "outDir": "dist", - "sourceMap": true + "sourceMap": true, + "types": ["node"] }, "include": ["src"], "exclude": ["node_modules", "dist"] diff --git a/packages/wallet/primitives/CHANGELOG.md b/packages/wallet/primitives/CHANGELOG.md index 7e5a4cdbf7..9b0a19d851 100644 --- a/packages/wallet/primitives/CHANGELOG.md +++ b/packages/wallet/primitives/CHANGELOG.md @@ -1,5 +1,29 @@ # @0xsequence/wallet-primitives +## 3.0.9 + +### Patch Changes + +- Fee options fixes + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support + ## 3.0.5 ### Patch Changes diff --git a/packages/wallet/primitives/package.json b/packages/wallet/primitives/package.json index e0e283de61..4648ce66a3 100644 --- a/packages/wallet/primitives/package.json +++ b/packages/wallet/primitives/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/wallet-primitives", - "version": "3.0.5", + "version": "3.0.9", "license": "Apache-2.0", "type": "module", "publishConfig": { @@ -26,7 +26,7 @@ "@repo/eslint-config": "workspace:^", "@repo/typescript-config": "workspace:^", "@vitest/coverage-v8": "^4.0.18", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "vitest": "^4.0.18" }, "dependencies": { diff --git a/packages/wallet/wdk/CHANGELOG.md b/packages/wallet/wdk/CHANGELOG.md index 5101c28c5a..795eb18aea 100644 --- a/packages/wallet/wdk/CHANGELOG.md +++ b/packages/wallet/wdk/CHANGELOG.md @@ -1,5 +1,53 @@ # @0xsequence/wallet-wdk +## 3.0.9 + +### Patch Changes + +- Fee options fixes +- Updated dependencies + - @0xsequence/guard@3.0.9 + - @0xsequence/identity-instrument@3.0.9 + - @0xsequence/relayer@3.0.9 + - @0xsequence/wallet-core@3.0.9 + - @0xsequence/wallet-primitives@3.0.9 + +## 3.0.8 + +### Patch Changes + +- Bug fix for relayer fee options handling +- Updated dependencies + - @0xsequence/guard@3.0.8 + - @0xsequence/identity-instrument@3.0.8 + - @0xsequence/relayer@3.0.8 + - @0xsequence/wallet-core@3.0.8 + - @0xsequence/wallet-primitives@3.0.8 + +## 3.0.7 + +### Patch Changes + +- Minor bug fixes +- Updated dependencies + - @0xsequence/guard@3.0.7 + - @0xsequence/identity-instrument@3.0.7 + - @0xsequence/relayer@3.0.7 + - @0xsequence/wallet-core@3.0.7 + - @0xsequence/wallet-primitives@3.0.7 + +## 3.0.6 + +### Patch Changes + +- userdata upgrade, arweave support +- Updated dependencies + - @0xsequence/guard@3.0.6 + - @0xsequence/identity-instrument@3.0.6 + - @0xsequence/relayer@3.0.6 + - @0xsequence/wallet-core@3.0.6 + - @0xsequence/wallet-primitives@3.0.6 + ## 3.0.5 ### Patch Changes diff --git a/packages/wallet/wdk/package.json b/packages/wallet/wdk/package.json index 2d62c27953..547bc15c31 100644 --- a/packages/wallet/wdk/package.json +++ b/packages/wallet/wdk/package.json @@ -1,6 +1,6 @@ { "name": "@0xsequence/wallet-wdk", - "version": "3.0.5", + "version": "3.0.9", "license": "Apache-2.0", "type": "module", "publishConfig": { @@ -31,7 +31,7 @@ "dotenv": "^17.3.1", "fake-indexeddb": "^6.2.5", "happy-dom": "^20.8.9", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "vitest": "^4.0.18" }, "dependencies": { @@ -44,6 +44,6 @@ "idb": "^8.0.3", "jwt-decode": "^4.0.0", "ox": "^0.9.17", - "uuid": "^13.0.0" + "uuid": "^14.0.0" } } diff --git a/packages/wallet/wdk/src/sequence/transactions.ts b/packages/wallet/wdk/src/sequence/transactions.ts index 26bf21d34c..146d669998 100644 --- a/packages/wallet/wdk/src/sequence/transactions.ts +++ b/packages/wallet/wdk/src/sequence/transactions.ts @@ -310,22 +310,28 @@ export class Transactions implements TransactionsInterface { throw new Error(`Transaction ${transactionId} is not in the requested state`) } + if (!Payload.isCalls(tx.envelope.payload)) { + throw new Error(`Transaction ${transactionId} is not a calls payload`) + } + + const payload = tx.envelope.payload + // Modify the envelope with the changes if (changes?.nonce) { - tx.envelope.payload.nonce = changes.nonce + payload.nonce = changes.nonce } if (changes?.space) { - tx.envelope.payload.space = changes.space + payload.space = changes.space } if (changes?.calls) { - if (changes.calls.length !== tx.envelope.payload.calls.length) { + if (changes.calls.length !== payload.calls.length) { throw new Error(`Invalid number of calls for transaction ${transactionId}`) } for (let i = 0; i < changes.calls.length; i++) { - tx.envelope.payload.calls[i]!.gasLimit = changes.calls[i]!.gasLimit + payload.calls[i]!.gasLimit = changes.calls[i]!.gasLimit } } @@ -335,6 +341,7 @@ export class Transactions implements TransactionsInterface { throw new Error(`Network not found for ${tx.envelope.chainId}`) } const provider = Provider.from(RpcTransport.fromHttp(network.rpcUrl)) + const feeOptionsTransaction = await wallet.buildFeeOptionsTransaction(provider, payload) // Get relayer and relayer options const [allRelayerOptions, allBundlerOptions] = await Promise.all([ @@ -347,11 +354,13 @@ export class Transactions implements TransactionsInterface { return [] } - // Determine the to address for the built transaction - const walletStatus = await wallet.getStatus(provider) - const to = walletStatus.isDeployed ? wallet.address : wallet.guest - - const feeOptions = await relayer.feeOptions(tx.wallet, tx.envelope.chainId, to, tx.envelope.payload.calls) + const feeOptions = await relayer.feeOptions( + tx.wallet, + tx.envelope.chainId, + feeOptionsTransaction.to, + payload.calls, + feeOptionsTransaction.data, + ) if (feeOptions.options.length === 0) { const { name, icon } = relayer instanceof Relayer.EIP6963.EIP6963Relayer ? relayer.info : {} @@ -392,8 +401,8 @@ export class Transactions implements TransactionsInterface { } try { - const erc4337Op = await wallet.prepare4337Transaction(provider, tx.envelope.payload.calls, { - space: tx.envelope.payload.space, + const erc4337Op = await wallet.prepare4337Transaction(provider, payload.calls, { + space: payload.space, }) const erc4337OpsWithEstimatedLimits = await bundler.estimateLimits(tx.wallet, erc4337Op.payload) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 54ad63e327..1306fd11f7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,23 +15,23 @@ importers: specifier: ^2.29.8 version: 2.29.8(@types/node@25.3.0) lefthook: - specifier: ^2.1.1 - version: 2.1.1 + specifier: ^2.1.6 + version: 2.1.6 prettier: - specifier: ^3.8.1 - version: 3.8.1 + specifier: ^3.8.3 + version: 3.8.3 rimraf: specifier: ^6.1.3 version: 6.1.3 syncpack: - specifier: ^14.0.0 - version: 14.0.0 + specifier: ^14.3.1 + version: 14.3.1 turbo: - specifier: ^2.8.10 - version: 2.8.10 + specifier: ^2.9.8 + version: 2.9.8 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 extras/docs: dependencies: @@ -39,8 +39,8 @@ importers: specifier: workspace:^ version: link:../../repo/ui next: - specifier: ^15.5.14 - version: 15.5.14(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + specifier: ^15.5.15 + version: 15.5.15(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: specifier: ^19.2.3 version: 19.2.3 @@ -67,8 +67,8 @@ importers: specifier: ^9.39.2 version: 9.39.2 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 extras/web: dependencies: @@ -76,8 +76,8 @@ importers: specifier: workspace:^ version: link:../../repo/ui next: - specifier: ^15.5.14 - version: 15.5.14(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + specifier: ^15.5.15 + version: 15.5.15(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react: specifier: ^19.2.3 version: 19.2.3 @@ -104,8 +104,8 @@ importers: specifier: ^9.39.2 version: 9.39.2 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages/services/api: devDependencies: @@ -119,8 +119,8 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages/services/builder: devDependencies: @@ -134,14 +134,14 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages/services/guard: dependencies: ox: specifier: ^0.9.17 - version: 0.9.17(typescript@5.9.3)(zod@4.2.0) + version: 0.9.17(typescript@6.0.3)(zod@4.2.0) devDependencies: '@repo/eslint-config': specifier: workspace:^ @@ -153,8 +153,8 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 vitest: specifier: ^4.0.18 version: 4.0.18(@types/node@25.3.0)(happy-dom@20.8.9) @@ -169,7 +169,7 @@ importers: version: 4.0.0 ox: specifier: ^0.9.17 - version: 0.9.17(typescript@5.9.3)(zod@4.2.0) + version: 0.9.17(typescript@6.0.3)(zod@4.2.0) devDependencies: '@repo/eslint-config': specifier: workspace:^ @@ -181,8 +181,8 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 vitest: specifier: ^4.0.18 version: 4.0.18(@types/node@25.3.0)(happy-dom@20.8.9) @@ -199,8 +199,8 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages/services/marketplace: devDependencies: @@ -214,8 +214,8 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages/services/metadata: devDependencies: @@ -229,8 +229,8 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages/services/relayer: dependencies: @@ -239,13 +239,13 @@ importers: version: link:../../wallet/primitives mipd: specifier: ^0.0.7 - version: 0.0.7(typescript@5.9.3) + version: 0.0.7(typescript@6.0.3) ox: specifier: ^0.9.17 - version: 0.9.17(typescript@5.9.3)(zod@4.2.0) + version: 0.9.17(typescript@6.0.3)(zod@4.2.0) viem: specifier: ^2.40.3 - version: 2.42.1(typescript@5.9.3)(zod@4.2.0) + version: 2.42.1(typescript@6.0.3)(zod@4.2.0) devDependencies: '@repo/eslint-config': specifier: workspace:^ @@ -257,8 +257,8 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 vitest: specifier: ^4.0.18 version: 4.0.18(@types/node@25.3.0)(happy-dom@20.8.9) @@ -275,8 +275,8 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages/utils/abi: devDependencies: @@ -290,8 +290,8 @@ importers: specifier: ^25.3.0 version: 25.3.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages/wallet/core: dependencies: @@ -306,13 +306,13 @@ importers: version: link:../primitives mipd: specifier: ^0.0.7 - version: 0.0.7(typescript@5.9.3) + version: 0.0.7(typescript@6.0.3) ox: specifier: ^0.9.17 - version: 0.9.17(typescript@5.9.3)(zod@4.2.0) + version: 0.9.17(typescript@6.0.3)(zod@4.2.0) viem: specifier: ^2.40.3 - version: 2.42.1(typescript@5.9.3)(zod@4.2.0) + version: 2.42.1(typescript@6.0.3)(zod@4.2.0) devDependencies: '@repo/eslint-config': specifier: workspace:^ @@ -333,8 +333,8 @@ importers: specifier: ^6.2.5 version: 6.2.5 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 vitest: specifier: ^4.0.18 version: 4.0.18(@types/node@25.3.0)(happy-dom@20.8.9) @@ -355,7 +355,7 @@ importers: version: link:../primitives ox: specifier: ^0.9.17 - version: 0.9.17(typescript@5.9.3)(zod@4.2.0) + version: 0.9.17(typescript@6.0.3)(zod@4.2.0) devDependencies: '@repo/eslint-config': specifier: workspace:^ @@ -379,8 +379,8 @@ importers: specifier: ^20.8.9 version: 20.8.9 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 vitest: specifier: ^4.0.18 version: 4.0.18(@types/node@25.3.0)(happy-dom@20.8.9) @@ -389,7 +389,7 @@ importers: dependencies: ox: specifier: ^0.9.17 - version: 0.9.17(typescript@5.9.3)(zod@4.2.0) + version: 0.9.17(typescript@6.0.3)(zod@4.2.0) devDependencies: '@repo/eslint-config': specifier: workspace:^ @@ -401,8 +401,8 @@ importers: specifier: ^4.0.18 version: 4.0.18(vitest@4.0.18(@types/node@25.3.0)(happy-dom@20.8.9)) typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 vitest: specifier: ^4.0.18 version: 4.0.18(@types/node@25.3.0)(happy-dom@20.8.9) @@ -414,7 +414,7 @@ importers: version: link:../primitives ox: specifier: ^0.9.17 - version: 0.9.17(typescript@5.9.3)(zod@4.2.0) + version: 0.9.17(typescript@6.0.3)(zod@4.2.0) yargs: specifier: ^18.0.0 version: 18.0.0 @@ -441,8 +441,8 @@ importers: specifier: ^3.1.14 version: 3.1.14 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages/wallet/wdk: dependencies: @@ -472,10 +472,10 @@ importers: version: 4.0.0 ox: specifier: ^0.9.17 - version: 0.9.17(typescript@5.9.3)(zod@4.2.0) + version: 0.9.17(typescript@6.0.3)(zod@4.2.0) uuid: - specifier: ^13.0.0 - version: 13.0.0 + specifier: ^14.0.0 + version: 14.0.0 devDependencies: '@repo/eslint-config': specifier: workspace:^ @@ -499,8 +499,8 @@ importers: specifier: ^20.8.9 version: 20.8.9 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 vitest: specifier: ^4.0.18 version: 4.0.18(@types/node@25.3.0)(happy-dom@20.8.9) @@ -530,16 +530,16 @@ importers: version: 7.0.1(eslint@9.39.2) eslint-plugin-turbo: specifier: ^2.6.3 - version: 2.6.3(eslint@9.39.2)(turbo@2.8.21) + version: 2.6.3(eslint@9.39.2)(turbo@2.9.9) globals: specifier: ^16.5.0 version: 16.5.0 typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 typescript-eslint: specifier: ^8.49.0 - version: 8.50.0(eslint@9.39.2)(typescript@5.9.3) + version: 8.50.0(eslint@9.39.2)(typescript@6.0.3) repo/typescript-config: {} @@ -560,7 +560,7 @@ importers: version: link:../typescript-config '@turbo/gen': specifier: ^1.13.4 - version: 1.13.4(@types/node@25.3.0)(typescript@5.9.3) + version: 1.13.4(@types/node@25.3.0)(typescript@6.0.3) '@types/node': specifier: ^25.3.0 version: 25.3.0 @@ -571,8 +571,8 @@ importers: specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.7) typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages: @@ -720,8 +720,8 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@emnapi/runtime@1.9.1': - resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} '@esbuild/aix-ppc64@0.27.3': resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} @@ -1104,56 +1104,56 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@next/env@15.5.14': - resolution: {integrity: sha512-aXeirLYuASxEgi4X4WhfXsShCFxWDfNn/8ZeC5YXAS2BB4A8FJi1kwwGL6nvMVboE7fZCzmJPNdMvVHc8JpaiA==} + '@next/env@15.5.15': + resolution: {integrity: sha512-vcmyu5/MyFzN7CdqRHO3uHO44p/QPCZkuTUXroeUmhNP8bL5PHFEhik22JUazt+CDDoD6EpBYRCaS2pISL+/hg==} '@next/eslint-plugin-next@15.5.9': resolution: {integrity: sha512-kUzXx0iFiXw27cQAViE1yKWnz/nF8JzRmwgMRTMh8qMY90crNsdXJRh2e+R0vBpFR3kk1yvAR7wev7+fCCb79Q==} - '@next/swc-darwin-arm64@15.5.14': - resolution: {integrity: sha512-Y9K6SPzobnZvrRDPO2s0grgzC+Egf0CqfbdvYmQVaztV890zicw8Z8+4Vqw8oPck8r1TjUHxVh8299Cg4TrxXg==} + '@next/swc-darwin-arm64@15.5.15': + resolution: {integrity: sha512-6PvFO2Tzt10GFK2Ro9tAVEtacMqRmTarYMFKAnV2vYMdwWc73xzmDQyAV7SwEdMhzmiRoo7+m88DuiXlJlGeaw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@15.5.14': - resolution: {integrity: sha512-aNnkSMjSFRTOmkd7qoNI2/rETQm/vKD6c/Ac9BZGa9CtoOzy3c2njgz7LvebQJ8iPxdeTuGnAjagyis8a9ifBw==} + '@next/swc-darwin-x64@15.5.15': + resolution: {integrity: sha512-G+YNV+z6FDZTp/+IdGyIMFqalBTaQSnvAA+X/hrt+eaTRFSznRMz9K7rTmzvM6tDmKegNtyzgufZW0HwVzEqaQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@15.5.14': - resolution: {integrity: sha512-tjlpia+yStPRS//6sdmlVwuO1Rioern4u2onafa5n+h2hCS9MAvMXqpVbSrjgiEOoCs0nJy7oPOmWgtRRNSM5Q==} + '@next/swc-linux-arm64-gnu@15.5.15': + resolution: {integrity: sha512-eVkrMcVIBqGfXB+QUC7jjZ94Z6uX/dNStbQFabewAnk13Uy18Igd1YZ/GtPRzdhtm7QwC0e6o7zOQecul4iC1w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@15.5.14': - resolution: {integrity: sha512-8B8cngBaLadl5lbDRdxGCP1Lef8ipD6KlxS3v0ElDAGil6lafrAM3B258p1KJOglInCVFUjk751IXMr2ixeQOQ==} + '@next/swc-linux-arm64-musl@15.5.15': + resolution: {integrity: sha512-RwSHKMQ7InLy5GfkY2/n5PcFycKA08qI1VST78n09nN36nUPqCvGSMiLXlfUmzmpQpF6XeBYP2KRWHi0UW3uNg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@15.5.14': - resolution: {integrity: sha512-bAS6tIAg8u4Gn3Nz7fCPpSoKAexEt2d5vn1mzokcqdqyov6ZJ6gu6GdF9l8ORFrBuRHgv3go/RfzYz5BkZ6YSQ==} + '@next/swc-linux-x64-gnu@15.5.15': + resolution: {integrity: sha512-nplqvY86LakS+eeiuWsNWvfmK8pFcOEW7ZtVRt4QH70lL+0x6LG/m1OpJ/tvrbwjmR8HH9/fH2jzW1GlL03TIg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@15.5.14': - resolution: {integrity: sha512-mMxv/FcrT7Gfaq4tsR22l17oKWXZmH/lVqcvjX0kfp5I0lKodHYLICKPoX1KRnnE+ci6oIUdriUhuA3rBCDiSw==} + '@next/swc-linux-x64-musl@15.5.15': + resolution: {integrity: sha512-eAgl9NKQ84/sww0v81DQINl/vL2IBxD7sMybd0cWRw6wqgouVI53brVRBrggqBRP/NWeIAE1dm5cbKYoiMlqDQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@15.5.14': - resolution: {integrity: sha512-OTmiBlYThppnvnsqx0rBqjDRemlmIeZ8/o4zI7veaXoeO1PVHoyj2lfTfXTiiGjCyRDhA10y4h6ZvZvBiynr2g==} + '@next/swc-win32-arm64-msvc@15.5.15': + resolution: {integrity: sha512-GJVZC86lzSquh0MtvZT+L7G8+jMnJcldloOjA8Kf3wXvBrvb6OGe2MzPuALxFshSm/IpwUtD2mIoof39ymf52A==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@15.5.14': - resolution: {integrity: sha512-+W7eFf3RS7m4G6tppVTOSyP9Y6FsJXfOuKzav1qKniiFm3KFByQfPEcouHdjlZmysl4zJGuGLQ/M9XyVeyeNEg==} + '@next/swc-win32-x64-msvc@15.5.15': + resolution: {integrity: sha512-nFucjVdwlFqxh/JG3hWSJ4p8+YJV7Ii8aPDuBQULB6DzUF4UNZETXLfEUk+oI2zEznWWULPt7MeuTE6xtK1HSA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1326,13 +1326,23 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@turbo/darwin-64@2.8.21': - resolution: {integrity: sha512-kfGoM0Iw8ZNZpbds+4IzOe0hjvHldqJwUPRAjXJi3KBxg/QOZL95N893SRoMtf2aJ+jJ3dk32yPkp8rvcIjP9g==} + '@turbo/darwin-64@2.9.8': + resolution: {integrity: sha512-zU1P95ygDpsQ+2QHh7CVTqvYwi9UBlhKWzoIyUnP3vUoge7H9SQEzrd8dj+XcTrslAp9Db3vIBcXtMVoTEYDnA==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.8.21': - resolution: {integrity: sha512-o9HEflxUEyr987x0cTUzZBhDOyL6u95JmdmlkH2VyxAw7zq2sdtM5e72y9ufv2N5SIoOBw1fVn9UES5VY5H6vQ==} + '@turbo/darwin-64@2.9.9': + resolution: {integrity: sha512-hTEiNu2ABZZOO1qbjnKASI8eF3BdOOzU6iKv5w5uGOK65DDMc10cS40N1kqM99YT0uSAGUwNu6GdFctRPeEeVA==} + cpu: [x64] + os: [darwin] + + '@turbo/darwin-arm64@2.9.8': + resolution: {integrity: sha512-nKRFI5ZhCGUi4eXNlrojzWcT/CehMj0raot1WE4lw5qf66ZxZHbRbBqcwNEy+ZLY7RkJJRY+TaU89fuj3BcgGg==} + cpu: [arm64] + os: [darwin] + + '@turbo/darwin-arm64@2.9.9': + resolution: {integrity: sha512-MinO40EEcP5mJiTVpfjtEulsEBhVeryfq21QhYtJZ8hQJLHGgy459rcmDVAY8/JERe4dkVU4KW+zoLF22o01EA==} cpu: [arm64] os: [darwin] @@ -1340,23 +1350,43 @@ packages: resolution: {integrity: sha512-PK38N1fHhDUyjLi0mUjv0RbX0xXGwDLQeRSGsIlLcVpP1B5fwodSIwIYXc9vJok26Yne94BX5AGjueYsUT3uUw==} hasBin: true - '@turbo/linux-64@2.8.21': - resolution: {integrity: sha512-uTxlCcXWy5h1fSSymP8XSJ+AudzEHMDV3IDfKX7+DGB8kgJ+SLoTUAH7z4OFA7I/l2sznz0upPdbNNZs91YMag==} + '@turbo/linux-64@2.9.8': + resolution: {integrity: sha512-Wf/kQpVDCaWM3P5d6lKvJnqjYn/ofUBGbT4h4vRFrdC4N6B/nsun03S2kQNJJMXpXg39woeS4CI367RMU3/OAg==} + cpu: [x64] + os: [linux] + + '@turbo/linux-64@2.9.9': + resolution: {integrity: sha512-7JNLw88Isk+gMlbsC8pulLDkrqe2B827ZsKFEHilb17AC6Xn/62pzH7afjY7fEU6Ayp4XP/vGhlRWOzqBvBvIQ==} cpu: [x64] os: [linux] - '@turbo/linux-arm64@2.8.21': - resolution: {integrity: sha512-cdHIcxNcihHHkCHp0Y4Zb60K4Qz+CK4xw1gb6s/t/9o4SMeMj+hTBCtoW6QpPnl9xPYmxuTou8Zw6+cylTnREg==} + '@turbo/linux-arm64@2.9.8': + resolution: {integrity: sha512-v6S3HuKVoa9CEx16IxKj1i/+crxXx22A9O80zW1350zyUlcX0T/zLOxVf1k+ruK/7ssXnDJVg8uSYOxlYRedlA==} + cpu: [arm64] + os: [linux] + + '@turbo/linux-arm64@2.9.9': + resolution: {integrity: sha512-0pnXDwPw1rHii98JZPRg7SvsjIzy7jrhkwGU9Jy5fVYoMdYd3P2vbtLfII+OJ0Mm4Ar5yykdHDTz3RWiRI1o9g==} cpu: [arm64] os: [linux] - '@turbo/windows-64@2.8.21': - resolution: {integrity: sha512-/iBj4OzbqEY8CX+eaeKbBTMZv2CLXNrt0692F7HnK7LcyYwyDecaAiSET6ZzL4opT7sbwkKvzAC/fhqT3Quu1A==} + '@turbo/windows-64@2.9.8': + resolution: {integrity: sha512-JaefWOJNBazDylAn3f+lLB34XMNu8nEBbgPRP/Ewysg81cBubGfcyyyzpQOGVuMwfaqdNAE/kitG7w3AbJn9/g==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.8.21': - resolution: {integrity: sha512-95tMA/ZbIidJFUUtkmqioQ1gf3n3I1YbRP3ZgVdWTVn2qVbkodcIdGXBKRHHrIbRsLRl99SiHi/L7IxhpZDagQ==} + '@turbo/windows-64@2.9.9': + resolution: {integrity: sha512-vjDQycz4gQVvIq4n2rPtiiIESwJlAc406qtkiZlqyL+fHZEd9SxYNlBIFYtc5cuMuwrk+sIKrhN7XvwjmvS9YQ==} + cpu: [x64] + os: [win32] + + '@turbo/windows-arm64@2.9.8': + resolution: {integrity: sha512-Or6ljjB4TiiwCdVKDYWew0SokQ9kep5zruL8P3nbum9WdkH5XA41rQID4Ulc215Z+R3DrB+qXSHPsJjU3/n2ng==} + cpu: [arm64] + os: [win32] + + '@turbo/windows-arm64@2.9.9': + resolution: {integrity: sha512-V6NiH43oCctepbOdQFp7UjqLyK8p6Tt824QA+G4TE+B1BBHu80A0W8OCL+H7uBJ3XZjAj/hvPDw3k3l65DoDGw==} cpu: [arm64] os: [win32] @@ -1675,7 +1705,7 @@ packages: basic-ftp@5.0.5: resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} engines: {node: '>=10.0.0'} - deprecated: Security vulnerability fixed in 5.2.0, please upgrade + deprecated: Security vulnerability fixed in 5.2.1, please upgrade better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} @@ -1733,8 +1763,8 @@ packages: camel-case@3.0.0: resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} - caniuse-lite@1.0.30001781: - resolution: {integrity: sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==} + caniuse-lite@1.0.30001791: + resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==} cbor2@1.12.0: resolution: {integrity: sha512-3Cco8XQhi27DogSp9Ri6LYNZLi/TBY/JVnDe+mj06NkBjW/ZYOtekaEU4wZ4xcRMNrFkDv8KNtOAqHyDfz3lYg==} @@ -2638,58 +2668,58 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - lefthook-darwin-arm64@2.1.1: - resolution: {integrity: sha512-O/RS1j03/Fnq5zCzEb2r7UOBsqPeBuf1C5pMkIJcO4TSE6hf3rhLUkcorKc2M5ni/n5zLGtzQUXHV08/fSAT3Q==} + lefthook-darwin-arm64@2.1.6: + resolution: {integrity: sha512-hyB7eeiX78BS66f70byTJacDLC/xV1vgMv9n+idFUsrM7J3Udd/ag9Ag5NP3t0eN0EqQqAtrNnt35EH01lxnRQ==} cpu: [arm64] os: [darwin] - lefthook-darwin-x64@2.1.1: - resolution: {integrity: sha512-mm/kdKl81ROPoYnj9XYk5JDqj+/6Al8w/SSPDfhItkLJyl4pqS+hWUOP6gDGrnuRk8S0DvJ2+hzhnDsQnZohWQ==} + lefthook-darwin-x64@2.1.6: + resolution: {integrity: sha512-5Ka6cFxiH83krt+OMRQtmS6zqoZR5SLXSudLjTbZA1c3ZqF0+dqkeb4XcB6plx6WR0GFizabuc6Bi3iXPIe1eQ==} cpu: [x64] os: [darwin] - lefthook-freebsd-arm64@2.1.1: - resolution: {integrity: sha512-F7JXlKmjxGqGbCWPLND0bVB4DMQezIe48pEwTlUQZbxh450c2gP5Q8FdttMZKOT163kBGGTqJAJSEC6zW+QSxA==} + lefthook-freebsd-arm64@2.1.6: + resolution: {integrity: sha512-VswyOg5CVN3rMaOJ2HtnkltiMKgFHW/wouWxXsV8RxSa4tgWOKxM0EmSXi8qc2jX+LRga6B0uOY6toXS01zWxA==} cpu: [arm64] os: [freebsd] - lefthook-freebsd-x64@2.1.1: - resolution: {integrity: sha512-Po8/lJMqNzKSZPuEI46dLuWoBoXtAxCuRpeOh6DAV/M4RhBynaCu8rLMZ9BqF7cVbZEWoplOmYo6HdOuiYpCkQ==} + lefthook-freebsd-x64@2.1.6: + resolution: {integrity: sha512-vXsCUFYuVwrVWwcypB7Zt2Hf+5pl1V1la7ZfvGYZaTRURu0zF/XUnMF/nOz/PebGv0f4x/iOWXWwP7E42xRWsg==} cpu: [x64] os: [freebsd] - lefthook-linux-arm64@2.1.1: - resolution: {integrity: sha512-mI2ljFgPEqHxI8vrN9nKgnVu63Rz1KisDbPwlvs7BTYNwq3sncdK5ukpGR4zzWdh6saNJ5tCtHEtep5GQI11nw==} + lefthook-linux-arm64@2.1.6: + resolution: {integrity: sha512-WDJiQhJdZOvKORZd+kF/ms2l6NSsXzdA9ahflyr65V90AC4jES223W8VtEMbGPUtHuGWMEZ/v/XvwlWv0Ioz9g==} cpu: [arm64] os: [linux] - lefthook-linux-x64@2.1.1: - resolution: {integrity: sha512-m3G/FaxC+crxeg9XeaUuHfEoL+i9gbkg2Hp2KD2IcVVIxprqlyqf0Hb8zbLV2NMXuo5RSGokJu44oAoTO3Ou2g==} + lefthook-linux-x64@2.1.6: + resolution: {integrity: sha512-C18nCd7nTX1AVL4TcvwMmLAO1VI1OuGluIOTjiPkBQ746Ls1HhL5rl//jMPACmT28YmxIQJ2ZcLPNmhvEVBZvw==} cpu: [x64] os: [linux] - lefthook-openbsd-arm64@2.1.1: - resolution: {integrity: sha512-gz/8FJPvhjOdOFt1GmFvuvDOe+W+BBRjoeAT1/mTgkN7HCXMXgqNjjvakQKQeGz1I1v08wXG1ZNf5y+T9XBCDQ==} + lefthook-openbsd-arm64@2.1.6: + resolution: {integrity: sha512-mZOMxM8HiPxVFXDO3PtCUbH4GB8rkveXhsgXF27oAZTYVzQ3gO9vT6r/pxit6msqRXz3fvcwimLVJgb8eRsa8A==} cpu: [arm64] os: [openbsd] - lefthook-openbsd-x64@2.1.1: - resolution: {integrity: sha512-ch3lyMUtbmtWUufaQVn4IoEs/2hjK51XqaCdY1mh5ca//VctR1peknIwQ5feHu+vATCDviWQ7HsdNDewm3HMPg==} + lefthook-openbsd-x64@2.1.6: + resolution: {integrity: sha512-sG9ALLZSnnMOfXu+B7SmxFhJhuoAh4bqi5En5aaHJET48TqrLOcWWZuH+7ArFM6gr/U5KfSUvdmHFmY8WqCcIg==} cpu: [x64] os: [openbsd] - lefthook-windows-arm64@2.1.1: - resolution: {integrity: sha512-mm3PZhKDs9FE/jQDimkfWxtoj9xQ2k8uw2MdhtC825bhvIh+MEi0WFj/MOW+ug0RBg0I55tGYzZ5aVuozAWpTQ==} + lefthook-windows-arm64@2.1.6: + resolution: {integrity: sha512-lD8yFWY4Csuljd0Rqs7EQaySC0VvDf7V3rN1FhRMUISTRDHutebIom1Loc8ckQPvKYGC6mftT9k0GvipsS+Brw==} cpu: [arm64] os: [win32] - lefthook-windows-x64@2.1.1: - resolution: {integrity: sha512-1L2oGIzmhfOTxfwbe5mpSQ+m3ilpvGNymwIhn4UHq6hwHsUL6HEhODqx02GfBn6OXpVIr56bvdBAusjL/SVYGQ==} + lefthook-windows-x64@2.1.6: + resolution: {integrity: sha512-q4z2n3xucLscoWiyMwFViEj3N8MDSkPulMwcJYuCYFHoPhP1h+icqNu7QRLGYj6AnVrCQweiUJY3Tb2X+GbD/A==} cpu: [x64] os: [win32] - lefthook@2.1.1: - resolution: {integrity: sha512-Tl9h9c+sG3ShzTHKuR3LAIblnnh+Mgxnm2Ul7yu9cu260Z27LEbO3V6Zw4YZFP59/2rlD42pt/llYsQCkkCFzw==} + lefthook@2.1.6: + resolution: {integrity: sha512-w9sBoR0mdN+kJc3SB85VzpiAAl451/rxdCRcZlwW71QLjkeH3EBQFgc4VMj5apePychYDHAlqEWTB8J8JK/j1Q==} hasBin: true levn@0.4.1: @@ -2818,8 +2848,8 @@ packages: mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + nanoid@3.3.12: + resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -2833,8 +2863,8 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - next@15.5.14: - resolution: {integrity: sha512-M6S+4JyRjmKic2Ssm7jHUPkE6YUJ6lv4507jprsSZLulubz0ihO2E+S4zmQK3JZ2ov81JrugukKU4Tz0ivgqqQ==} + next@15.5.15: + resolution: {integrity: sha512-VSqCrJwtLVGwAVE0Sb/yikrQfkwkZW9p+lL/J4+xe+G3ZA+QnWPqgcfH1tDUEuk9y+pthzzVFp4L/U8JerMfMQ==} engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} hasBin: true peerDependencies: @@ -3058,8 +3088,8 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.8: - resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} + postcss@8.5.14: + resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -3071,8 +3101,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.8.1: - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} + prettier@3.8.3: + resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} engines: {node: '>=14'} hasBin: true @@ -3432,50 +3462,49 @@ packages: swap-case@1.1.2: resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==} - syncpack-darwin-arm64@14.0.0: - resolution: {integrity: sha512-mEcku9YkOHfM6JOxhq9McgeLvd4djsJvRwNONZXHeoJ6+yqC96DdxZwFjkw3e8Vn95wsxsrwY5ZjMExs5Gbacw==} + syncpack-darwin-arm64@14.3.1: + resolution: {integrity: sha512-WtHbqXCEDSRzdqTIroYqYSMW/0yQ8dYvpucQ6SKsbVE86K5wjFd37TOIDFM5NLudCYASJpy4FXv7G/HxHAyRLw==} cpu: [arm64] os: [darwin] - syncpack-darwin-x64@14.0.0: - resolution: {integrity: sha512-qSj3bT3SIZA5NLM5PNVeExapyOrdmptlGSMu0SLVHj9hata/Vqh3xWgwq7wB9uajmlrHljeJ84R/NKAHyzFewA==} + syncpack-darwin-x64@14.3.1: + resolution: {integrity: sha512-K+Zx1TN67vllDLrouc6YISOhhWm7RxrRE7087ea36T85WNq4JvI+M3UBJoxRjaJ+0v3wBA2YmBzEHzJg8skAww==} cpu: [x64] os: [darwin] - syncpack-linux-arm64-musl@14.0.0: - resolution: {integrity: sha512-i57Chz0tHP7ybKElPLhoygl6Cab1fxyUKS9xRgezX5NDrNxKUgrvqBfYd7288/QKB4C8+IcYHugFPjZjoFlAIA==} + syncpack-linux-arm64-musl@14.3.1: + resolution: {integrity: sha512-gZTLgIS0irmZx2HjZqco9YsbYe6sz/5Lce/yKmTBdCaHCpurb+TZA97nu5FxXSAA0HKs3Nzi8CDjNzv+yAQUXw==} cpu: [arm64] os: [linux] - syncpack-linux-arm64@14.0.0: - resolution: {integrity: sha512-votlkb4P/0Bxd9yhBWCSUOjZwaii+LfFn1tZZVN5dfs8qcjcLeqfdG5zbnlJSzZhS3T+BfzejFW+Z95OxZag0A==} + syncpack-linux-arm64@14.3.1: + resolution: {integrity: sha512-+5fXNoKz2ZqQszplZGp6J9ZKL6JW1hr3BMjEkklYz+jufX9rH/MWY0hcRCfHJSuvcTUrsYo/koqU/UnBiANjGg==} cpu: [arm64] os: [linux] - syncpack-linux-x64-musl@14.0.0: - resolution: {integrity: sha512-RKyp+29UlLGE8oYkd3UfwgjWUHN4dLHDyarv0dS6gWVpWM6qHtHS339KBc9JcIS7FD1vNGnQ3GmSaAodxDlkMA==} + syncpack-linux-x64-musl@14.3.1: + resolution: {integrity: sha512-NK+1Qm762bbXDYqAz2+++NlJ9jONX+3Hrulp4XpytFEIGABiy8wIzouBpxZkppf30+1mxt4o8LMtZ8P54/ObNA==} cpu: [x64] os: [linux] - syncpack-linux-x64@14.0.0: - resolution: {integrity: sha512-sZGy4+uL+P/+nI0yc9jwW/R22u9lw0+NXDYC/9ts9eYiWFyO4+luOeosvVKbED1OavUp/GQJqNV+9KHjMwq0Fw==} + syncpack-linux-x64@14.3.1: + resolution: {integrity: sha512-v1Y4D0oB2uIx+Npy1eD384adOSKvrjtu3VodjcQ/2aK4rTjVZl3k4eOA5py4I4Qdt6+zC6n+t5KrGuiaiBlbWQ==} cpu: [x64] os: [linux] - syncpack-windows-arm64@14.0.0: - resolution: {integrity: sha512-aNtr0F6HkA7M0azDuDkt//DlPWlplFa4kmvHXirwDmJQ9u3SAvN3ZItW4ZYS96ZbiV1DgO15jIKBI7rDkzcwrQ==} + syncpack-windows-arm64@14.3.1: + resolution: {integrity: sha512-xf+i8B5dDc3AIG8ZFF215gLQF0PKXQC6I8skmEfGy36oFh3VTAJKBjgEg6P8R3FC9/kRzkWFcDZmNLkbKN6YmA==} cpu: [arm64] os: [win32] - syncpack-windows-x64@14.0.0: - resolution: {integrity: sha512-usMH61wlonssfh2Q8SJDiiAcsXVzuPzRl8XdHqdavR3XeCSGBIW9ieJpPfiKvDPWslekufWD+GhLNoH+8vV0Cg==} + syncpack-windows-x64@14.3.1: + resolution: {integrity: sha512-gjbWwc05RcekcrLHOi5gq0JKvhoIMNqbUnAvPZLu46/+HrYuuJiUqruoj6y/GbCuvoQ880E820GF1pQFW9xNXA==} cpu: [x64] os: [win32] - syncpack@14.0.0: - resolution: {integrity: sha512-OfAa3Oip5YC9Ad1jEs92Hw08Wy4JfdpdeequIwaJGsQG0tJtb8gpQfCdLuBefsk6n8WiUdt/5qmzcW+BDXtzbQ==} + syncpack@14.3.1: + resolution: {integrity: sha512-TCqOY6Z7TH5yHV3saI6sHb5XRsZ8m2DaI4FQMonKT7UoCKL2WBiI54PLEFDSv1F2sL1BZA5e1opprf190ohirg==} engines: {node: '>=14.17.0'} - deprecated: 'pnpm users: upgrade to 14.0.2 or newer' hasBin: true term-size@2.2.1: @@ -3551,42 +3580,12 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - turbo-darwin-64@2.8.10: - resolution: {integrity: sha512-A03fXh+B7S8mL3PbdhTd+0UsaGrhfyPkODvzBDpKRY7bbeac4MDFpJ7I+Slf2oSkCEeSvHKR7Z4U71uKRUfX7g==} - cpu: [x64] - os: [darwin] - - turbo-darwin-arm64@2.8.10: - resolution: {integrity: sha512-sidzowgWL3s5xCHLeqwC9M3s9M0i16W1nuQF3Mc7fPHpZ+YPohvcbVFBB2uoRRHYZg6yBnwD4gyUHKTeXfwtXA==} - cpu: [arm64] - os: [darwin] - - turbo-linux-64@2.8.10: - resolution: {integrity: sha512-YK9vcpL3TVtqonB021XwgaQhY9hJJbKKUhLv16osxV0HkcQASQWUqR56yMge7puh6nxU67rQlTq1b7ksR1T3KA==} - cpu: [x64] - os: [linux] - - turbo-linux-arm64@2.8.10: - resolution: {integrity: sha512-3+j2tL0sG95iBJTm+6J8/45JsETQABPqtFyYjVjBbi6eVGdtNTiBmHNKrbvXRlQ3ZbUG75bKLaSSDHSEEN+btQ==} - cpu: [arm64] - os: [linux] - - turbo-windows-64@2.8.10: - resolution: {integrity: sha512-hdeF5qmVY/NFgiucf8FW0CWJWtyT2QPm5mIsX0W1DXAVzqKVXGq+Zf+dg4EUngAFKjDzoBeN6ec2Fhajwfztkw==} - cpu: [x64] - os: [win32] - - turbo-windows-arm64@2.8.10: - resolution: {integrity: sha512-QGdr/Q8LWmj+ITMkSvfiz2glf0d7JG0oXVzGL3jxkGqiBI1zXFj20oqVY0qWi+112LO9SVrYdpHS0E/oGFrMbQ==} - cpu: [arm64] - os: [win32] - - turbo@2.8.10: - resolution: {integrity: sha512-OxbzDES66+x7nnKGg2MwBA1ypVsZoDTLHpeaP4giyiHSixbsiTaMyeJqbEyvBdp5Cm28fc+8GG6RdQtic0ijwQ==} + turbo@2.9.8: + resolution: {integrity: sha512-REEB2rVTVDTf4hav1gJ5dIsGylWZrNonvjXFtk1dCi8gND3PhZtnYkyry1bra/Fo+iP6ctTEZbg6vWfdfHq/1A==} hasBin: true - turbo@2.8.21: - resolution: {integrity: sha512-FlJ8OD5Qcp0jTAM7E4a/RhUzRNds2GzKlyxHKA6N247VLy628rrxAGlMpIXSz6VB430+TiQDJ/SMl6PL1lu6wQ==} + turbo@2.9.9: + resolution: {integrity: sha512-3xfzXE/yTjhh0S5dIWlE+3E+J9A09REpLI1ZqVh2+HrNZoVzZn0pkvjiRgVK/Ev3PF9XnaTwCntTx+CADWXcyA==} hasBin: true type-check@0.4.0: @@ -3620,8 +3619,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} hasBin: true @@ -3669,8 +3668,8 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@13.0.0: - resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==} + uuid@14.0.0: + resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==} hasBin: true v8-compile-cache-lib@3.0.1: @@ -4146,7 +4145,7 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@emnapi/runtime@1.9.1': + '@emnapi/runtime@1.10.0': dependencies: tslib: 2.8.1 optional: true @@ -4371,7 +4370,7 @@ snapshots: '@img/sharp-wasm32@0.34.5': dependencies: - '@emnapi/runtime': 1.9.1 + '@emnapi/runtime': 1.10.0 optional: true '@img/sharp-win32-arm64@0.34.5': @@ -4430,34 +4429,34 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@next/env@15.5.14': {} + '@next/env@15.5.15': {} '@next/eslint-plugin-next@15.5.9': dependencies: fast-glob: 3.3.1 - '@next/swc-darwin-arm64@15.5.14': + '@next/swc-darwin-arm64@15.5.15': optional: true - '@next/swc-darwin-x64@15.5.14': + '@next/swc-darwin-x64@15.5.15': optional: true - '@next/swc-linux-arm64-gnu@15.5.14': + '@next/swc-linux-arm64-gnu@15.5.15': optional: true - '@next/swc-linux-arm64-musl@15.5.14': + '@next/swc-linux-arm64-musl@15.5.15': optional: true - '@next/swc-linux-x64-gnu@15.5.14': + '@next/swc-linux-x64-gnu@15.5.15': optional: true - '@next/swc-linux-x64-musl@15.5.14': + '@next/swc-linux-x64-musl@15.5.15': optional: true - '@next/swc-win32-arm64-msvc@15.5.14': + '@next/swc-win32-arm64-msvc@15.5.15': optional: true - '@next/swc-win32-x64-msvc@15.5.14': + '@next/swc-win32-x64-msvc@15.5.15': optional: true '@noble/ciphers@1.3.0': {} @@ -4577,13 +4576,19 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@turbo/darwin-64@2.8.21': + '@turbo/darwin-64@2.9.8': optional: true - '@turbo/darwin-arm64@2.8.21': + '@turbo/darwin-64@2.9.9': optional: true - '@turbo/gen@1.13.4(@types/node@25.3.0)(typescript@5.9.3)': + '@turbo/darwin-arm64@2.9.8': + optional: true + + '@turbo/darwin-arm64@2.9.9': + optional: true + + '@turbo/gen@1.13.4(@types/node@25.3.0)(typescript@6.0.3)': dependencies: '@turbo/workspaces': 1.13.4(@types/node@25.3.0) chalk: 2.4.2 @@ -4593,7 +4598,7 @@ snapshots: minimatch: 9.0.5 node-plop: 0.26.3 proxy-agent: 6.5.0 - ts-node: 10.9.2(@types/node@25.3.0)(typescript@5.9.3) + ts-node: 10.9.2(@types/node@25.3.0)(typescript@6.0.3) update-check: 1.5.4 validate-npm-package-name: 5.0.1 transitivePeerDependencies: @@ -4603,16 +4608,28 @@ snapshots: - supports-color - typescript - '@turbo/linux-64@2.8.21': + '@turbo/linux-64@2.9.8': + optional: true + + '@turbo/linux-64@2.9.9': + optional: true + + '@turbo/linux-arm64@2.9.8': optional: true - '@turbo/linux-arm64@2.8.21': + '@turbo/linux-arm64@2.9.9': optional: true - '@turbo/windows-64@2.8.21': + '@turbo/windows-64@2.9.8': optional: true - '@turbo/windows-arm64@2.8.21': + '@turbo/windows-64@2.9.9': + optional: true + + '@turbo/windows-arm64@2.9.8': + optional: true + + '@turbo/windows-arm64@2.9.9': optional: true '@turbo/workspaces@1.13.4(@types/node@25.3.0)': @@ -4689,40 +4706,40 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2)(typescript@6.0.3))(eslint@9.39.2)(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.50.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/parser': 8.50.0(eslint@9.39.2)(typescript@6.0.3) '@typescript-eslint/scope-manager': 8.50.0 - '@typescript-eslint/type-utils': 8.50.0(eslint@9.39.2)(typescript@5.9.3) - '@typescript-eslint/utils': 8.50.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.50.0(eslint@9.39.2)(typescript@6.0.3) + '@typescript-eslint/utils': 8.50.0(eslint@9.39.2)(typescript@6.0.3) '@typescript-eslint/visitor-keys': 8.50.0 eslint: 9.39.2 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.1.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.50.0(eslint@9.39.2)(typescript@5.9.3)': + '@typescript-eslint/parser@8.50.0(eslint@9.39.2)(typescript@6.0.3)': dependencies: '@typescript-eslint/scope-manager': 8.50.0 '@typescript-eslint/types': 8.50.0 - '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.50.0(typescript@6.0.3) '@typescript-eslint/visitor-keys': 8.50.0 debug: 4.4.3(supports-color@5.5.0) eslint: 9.39.2 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.50.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.50.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@6.0.3) '@typescript-eslint/types': 8.50.0 debug: 4.4.3(supports-color@5.5.0) - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -4731,47 +4748,47 @@ snapshots: '@typescript-eslint/types': 8.50.0 '@typescript-eslint/visitor-keys': 8.50.0 - '@typescript-eslint/tsconfig-utils@8.50.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.50.0(typescript@6.0.3)': dependencies: - typescript: 5.9.3 + typescript: 6.0.3 - '@typescript-eslint/type-utils@8.50.0(eslint@9.39.2)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.50.0(eslint@9.39.2)(typescript@6.0.3)': dependencies: '@typescript-eslint/types': 8.50.0 - '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.50.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.50.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.50.0(eslint@9.39.2)(typescript@6.0.3) debug: 4.4.3(supports-color@5.5.0) eslint: 9.39.2 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.1.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@8.50.0': {} - '@typescript-eslint/typescript-estree@8.50.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.50.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.50.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@5.9.3) + '@typescript-eslint/project-service': 8.50.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.50.0(typescript@6.0.3) '@typescript-eslint/types': 8.50.0 '@typescript-eslint/visitor-keys': 8.50.0 debug: 4.4.3(supports-color@5.5.0) minimatch: 9.0.5 semver: 7.7.3 tinyglobby: 0.2.15 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 + ts-api-utils: 2.1.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.50.0(eslint@9.39.2)(typescript@5.9.3)': + '@typescript-eslint/utils@8.50.0(eslint@9.39.2)(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2) '@typescript-eslint/scope-manager': 8.50.0 '@typescript-eslint/types': 8.50.0 - '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.50.0(typescript@6.0.3) eslint: 9.39.2 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -4833,14 +4850,14 @@ snapshots: '@vitest/pretty-format': 4.0.18 tinyrainbow: 3.0.3 - abitype@1.1.0(typescript@5.9.3)(zod@4.2.0): + abitype@1.1.0(typescript@6.0.3)(zod@4.2.0): optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 zod: 4.2.0 - abitype@1.2.2(typescript@5.9.3)(zod@4.2.0): + abitype@1.2.2(typescript@6.0.3)(zod@4.2.0): optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 zod: 4.2.0 acorn-jsx@5.3.2(acorn@8.15.0): @@ -5025,7 +5042,7 @@ snapshots: browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.9.7 - caniuse-lite: 1.0.30001781 + caniuse-lite: 1.0.30001791 electron-to-chromium: 1.5.267 node-releases: 2.0.27 update-browserslist-db: 1.2.2(browserslist@4.28.1) @@ -5061,7 +5078,7 @@ snapshots: no-case: 2.3.2 upper-case: 1.1.3 - caniuse-lite@1.0.30001781: {} + caniuse-lite@1.0.30001791: {} cbor2@1.12.0: {} @@ -5482,11 +5499,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.6.3(eslint@9.39.2)(turbo@2.8.21): + eslint-plugin-turbo@2.6.3(eslint@9.39.2)(turbo@2.9.9): dependencies: dotenv: 16.0.3 eslint: 9.39.2 - turbo: 2.8.21 + turbo: 2.9.9 eslint-scope@8.4.0: dependencies: @@ -6162,48 +6179,48 @@ snapshots: dependencies: json-buffer: 3.0.1 - lefthook-darwin-arm64@2.1.1: + lefthook-darwin-arm64@2.1.6: optional: true - lefthook-darwin-x64@2.1.1: + lefthook-darwin-x64@2.1.6: optional: true - lefthook-freebsd-arm64@2.1.1: + lefthook-freebsd-arm64@2.1.6: optional: true - lefthook-freebsd-x64@2.1.1: + lefthook-freebsd-x64@2.1.6: optional: true - lefthook-linux-arm64@2.1.1: + lefthook-linux-arm64@2.1.6: optional: true - lefthook-linux-x64@2.1.1: + lefthook-linux-x64@2.1.6: optional: true - lefthook-openbsd-arm64@2.1.1: + lefthook-openbsd-arm64@2.1.6: optional: true - lefthook-openbsd-x64@2.1.1: + lefthook-openbsd-x64@2.1.6: optional: true - lefthook-windows-arm64@2.1.1: + lefthook-windows-arm64@2.1.6: optional: true - lefthook-windows-x64@2.1.1: + lefthook-windows-x64@2.1.6: optional: true - lefthook@2.1.1: + lefthook@2.1.6: optionalDependencies: - lefthook-darwin-arm64: 2.1.1 - lefthook-darwin-x64: 2.1.1 - lefthook-freebsd-arm64: 2.1.1 - lefthook-freebsd-x64: 2.1.1 - lefthook-linux-arm64: 2.1.1 - lefthook-linux-x64: 2.1.1 - lefthook-openbsd-arm64: 2.1.1 - lefthook-openbsd-x64: 2.1.1 - lefthook-windows-arm64: 2.1.1 - lefthook-windows-x64: 2.1.1 + lefthook-darwin-arm64: 2.1.6 + lefthook-darwin-x64: 2.1.6 + lefthook-freebsd-arm64: 2.1.6 + lefthook-freebsd-x64: 2.1.6 + lefthook-linux-arm64: 2.1.6 + lefthook-linux-x64: 2.1.6 + lefthook-openbsd-arm64: 2.1.6 + lefthook-openbsd-x64: 2.1.6 + lefthook-windows-arm64: 2.1.6 + lefthook-windows-x64: 2.1.6 levn@0.4.1: dependencies: @@ -6298,9 +6315,9 @@ snapshots: minipass@7.1.3: {} - mipd@0.0.7(typescript@5.9.3): + mipd@0.0.7(typescript@6.0.3): optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 mkdirp@0.5.6: dependencies: @@ -6312,7 +6329,7 @@ snapshots: mute-stream@0.0.8: {} - nanoid@3.3.11: {} + nanoid@3.3.12: {} natural-compare@1.4.0: {} @@ -6320,24 +6337,24 @@ snapshots: netmask@2.0.2: {} - next@15.5.14(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + next@15.5.15(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: - '@next/env': 15.5.14 + '@next/env': 15.5.15 '@swc/helpers': 0.5.15 - caniuse-lite: 1.0.30001781 + caniuse-lite: 1.0.30001791 postcss: 8.4.31 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) styled-jsx: 5.1.6(react@19.2.3) optionalDependencies: - '@next/swc-darwin-arm64': 15.5.14 - '@next/swc-darwin-x64': 15.5.14 - '@next/swc-linux-arm64-gnu': 15.5.14 - '@next/swc-linux-arm64-musl': 15.5.14 - '@next/swc-linux-x64-gnu': 15.5.14 - '@next/swc-linux-x64-musl': 15.5.14 - '@next/swc-win32-arm64-msvc': 15.5.14 - '@next/swc-win32-x64-msvc': 15.5.14 + '@next/swc-darwin-arm64': 15.5.15 + '@next/swc-darwin-x64': 15.5.15 + '@next/swc-linux-arm64-gnu': 15.5.15 + '@next/swc-linux-arm64-musl': 15.5.15 + '@next/swc-linux-x64-gnu': 15.5.15 + '@next/swc-linux-x64-musl': 15.5.15 + '@next/swc-win32-arm64-msvc': 15.5.15 + '@next/swc-win32-x64-msvc': 15.5.15 sharp: 0.34.5 transitivePeerDependencies: - '@babel/core' @@ -6470,7 +6487,7 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - ox@0.9.17(typescript@5.9.3)(zod@4.2.0): + ox@0.9.17(typescript@6.0.3)(zod@4.2.0): dependencies: '@adraffy/ens-normalize': 1.11.1 '@noble/ciphers': 1.3.0 @@ -6478,10 +6495,10 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.2.2(typescript@5.9.3)(zod@4.2.0) + abitype: 1.2.2(typescript@6.0.3)(zod@4.2.0) eventemitter3: 5.0.1 optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - zod @@ -6592,13 +6609,13 @@ snapshots: postcss@8.4.31: dependencies: - nanoid: 3.3.11 + nanoid: 3.3.12 picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.8: + postcss@8.5.14: dependencies: - nanoid: 3.3.11 + nanoid: 3.3.12 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -6606,7 +6623,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.8.1: {} + prettier@3.8.3: {} prop-types@15.8.1: dependencies: @@ -7058,40 +7075,40 @@ snapshots: lower-case: 1.1.4 upper-case: 1.1.3 - syncpack-darwin-arm64@14.0.0: + syncpack-darwin-arm64@14.3.1: optional: true - syncpack-darwin-x64@14.0.0: + syncpack-darwin-x64@14.3.1: optional: true - syncpack-linux-arm64-musl@14.0.0: + syncpack-linux-arm64-musl@14.3.1: optional: true - syncpack-linux-arm64@14.0.0: + syncpack-linux-arm64@14.3.1: optional: true - syncpack-linux-x64-musl@14.0.0: + syncpack-linux-x64-musl@14.3.1: optional: true - syncpack-linux-x64@14.0.0: + syncpack-linux-x64@14.3.1: optional: true - syncpack-windows-arm64@14.0.0: + syncpack-windows-arm64@14.3.1: optional: true - syncpack-windows-x64@14.0.0: + syncpack-windows-x64@14.3.1: optional: true - syncpack@14.0.0: + syncpack@14.3.1: optionalDependencies: - syncpack-darwin-arm64: 14.0.0 - syncpack-darwin-x64: 14.0.0 - syncpack-linux-arm64: 14.0.0 - syncpack-linux-arm64-musl: 14.0.0 - syncpack-linux-x64: 14.0.0 - syncpack-linux-x64-musl: 14.0.0 - syncpack-windows-arm64: 14.0.0 - syncpack-windows-x64: 14.0.0 + syncpack-darwin-arm64: 14.3.1 + syncpack-darwin-x64: 14.3.1 + syncpack-linux-arm64: 14.3.1 + syncpack-linux-arm64-musl: 14.3.1 + syncpack-linux-x64: 14.3.1 + syncpack-linux-x64-musl: 14.3.1 + syncpack-windows-arm64: 14.3.1 + syncpack-windows-x64: 14.3.1 term-size@2.2.1: {} @@ -7132,11 +7149,11 @@ snapshots: tree-kill@1.2.2: {} - ts-api-utils@2.1.0(typescript@5.9.3): + ts-api-utils@2.1.0(typescript@6.0.3): dependencies: - typescript: 5.9.3 + typescript: 6.0.3 - ts-node@10.9.2(@types/node@25.3.0)(typescript@5.9.3): + ts-node@10.9.2(@types/node@25.3.0)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 @@ -7150,7 +7167,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.9.3 + typescript: 6.0.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -7158,41 +7175,23 @@ snapshots: tslib@2.8.1: {} - turbo-darwin-64@2.8.10: - optional: true - - turbo-darwin-arm64@2.8.10: - optional: true - - turbo-linux-64@2.8.10: - optional: true - - turbo-linux-arm64@2.8.10: - optional: true - - turbo-windows-64@2.8.10: - optional: true - - turbo-windows-arm64@2.8.10: - optional: true - - turbo@2.8.10: + turbo@2.9.8: optionalDependencies: - turbo-darwin-64: 2.8.10 - turbo-darwin-arm64: 2.8.10 - turbo-linux-64: 2.8.10 - turbo-linux-arm64: 2.8.10 - turbo-windows-64: 2.8.10 - turbo-windows-arm64: 2.8.10 - - turbo@2.8.21: + '@turbo/darwin-64': 2.9.8 + '@turbo/darwin-arm64': 2.9.8 + '@turbo/linux-64': 2.9.8 + '@turbo/linux-arm64': 2.9.8 + '@turbo/windows-64': 2.9.8 + '@turbo/windows-arm64': 2.9.8 + + turbo@2.9.9: optionalDependencies: - '@turbo/darwin-64': 2.8.21 - '@turbo/darwin-arm64': 2.8.21 - '@turbo/linux-64': 2.8.21 - '@turbo/linux-arm64': 2.8.21 - '@turbo/windows-64': 2.8.21 - '@turbo/windows-arm64': 2.8.21 + '@turbo/darwin-64': 2.9.9 + '@turbo/darwin-arm64': 2.9.9 + '@turbo/linux-64': 2.9.9 + '@turbo/linux-arm64': 2.9.9 + '@turbo/windows-64': 2.9.9 + '@turbo/windows-arm64': 2.9.9 type-check@0.4.0: dependencies: @@ -7233,18 +7232,18 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.50.0(eslint@9.39.2)(typescript@5.9.3): + typescript-eslint@8.50.0(eslint@9.39.2)(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3) - '@typescript-eslint/parser': 8.50.0(eslint@9.39.2)(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.50.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.50.0(eslint@9.39.2)(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.50.0(@typescript-eslint/parser@8.50.0(eslint@9.39.2)(typescript@6.0.3))(eslint@9.39.2)(typescript@6.0.3) + '@typescript-eslint/parser': 8.50.0(eslint@9.39.2)(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.50.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.50.0(eslint@9.39.2)(typescript@6.0.3) eslint: 9.39.2 - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - supports-color - typescript@5.9.3: {} + typescript@6.0.3: {} uglify-js@3.19.3: optional: true @@ -7287,24 +7286,24 @@ snapshots: util-deprecate@1.0.2: {} - uuid@13.0.0: {} + uuid@14.0.0: {} v8-compile-cache-lib@3.0.1: {} validate-npm-package-name@5.0.1: {} - viem@2.42.1(typescript@5.9.3)(zod@4.2.0): + viem@2.42.1(typescript@6.0.3)(zod@4.2.0): dependencies: '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 '@scure/bip32': 1.7.0 '@scure/bip39': 1.6.0 - abitype: 1.1.0(typescript@5.9.3)(zod@4.2.0) + abitype: 1.1.0(typescript@6.0.3)(zod@4.2.0) isows: 1.0.7(ws@8.18.3) - ox: 0.9.17(typescript@5.9.3)(zod@4.2.0) + ox: 0.9.17(typescript@6.0.3)(zod@4.2.0) ws: 8.18.3 optionalDependencies: - typescript: 5.9.3 + typescript: 6.0.3 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -7315,7 +7314,7 @@ snapshots: esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - postcss: 8.5.8 + postcss: 8.5.14 rollup: 4.53.4 tinyglobby: 0.2.15 optionalDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 59a78ba9a9..8b50aefa01 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,7 @@ +minimumReleaseAge: 20160 # 60 * 24 * 7 * 2 = do not install package releases that are not at least 2 weeks old +# DO NOT REMOVE OR MODIFY minimumReleaseAge without approval +# list packages to be excluded from minimum release limitation + packages: - extras/* - packages/* diff --git a/repo/eslint-config/package.json b/repo/eslint-config/package.json index 9c38b69880..4b4d2db7f4 100644 --- a/repo/eslint-config/package.json +++ b/repo/eslint-config/package.json @@ -18,7 +18,7 @@ "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-turbo": "^2.6.3", "globals": "^16.5.0", - "typescript": "^5.9.3", + "typescript": "^6.0.3", "typescript-eslint": "^8.49.0" } } diff --git a/repo/typescript-config/next-css-side-effect.d.ts b/repo/typescript-config/next-css-side-effect.d.ts new file mode 100644 index 0000000000..6a748979a1 --- /dev/null +++ b/repo/typescript-config/next-css-side-effect.d.ts @@ -0,0 +1,2 @@ +/** Plain `.css` side-effect imports (e.g. `app/globals.css`). `*.module.css` is covered by Next. */ +declare module '*.css' {} diff --git a/repo/ui/package.json b/repo/ui/package.json index f0045e54d0..4c36344444 100644 --- a/repo/ui/package.json +++ b/repo/ui/package.json @@ -20,7 +20,7 @@ "@types/node": "^25.3.0", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", - "typescript": "^5.9.3" + "typescript": "^6.0.3" }, "dependencies": { "react": "^19.2.3",