Skip to content

Revise README structure and add sponsorship details (#146) #155

Merged
Dargon789 merged 42 commits intosnyk-fix-1a42f46a3694152c28f6d1d4dc5aea44from
master
Dec 26, 2025
Merged

Revise README structure and add sponsorship details (#146) #155
Dargon789 merged 42 commits intosnyk-fix-1a42f46a3694152c28f6d1d4dc5aea44from
master

Conversation

@Dargon789
Copy link
Owner

Dargon789 and others added 30 commits October 26, 2025 01:30
* Create fortify.yml

* Update issue templates

* Update CNAME

* fix: upgrade @tanstack/react-query from 5.45.1 to 5.64.2

Snyk has created this PR to upgrade @tanstack/react-query from 5.45.1 to 5.64.2.

See this package in npm:
@tanstack/react-query

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

* Create config.yml (#46)

Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>

* Update fortify.yml

Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>

* Update .github/ISSUE_TEMPLATE/bug_report.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update .github/ISSUE_TEMPLATE/feature_request.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Summary by Sourcery
Overhaul App.tsx to build a comprehensive Sequence Wallet demo application, replacing wagmi with Sequence SDK integration, adding environment/configuration management, rich wallet operations, and a structured UI with console output for interactive testing

New Features:

Replace wagmi-based hooks with @0xsequence wallet initialization and integration
Add environment selection and dynamic wallet URLs via query parameters
Implement connect, disconnect, open/close wallet and customizable connection settings
Provide extensive demo actions including chain/network switching, account/balance queries, message signing, typed data signing, and transaction sending
Introduce a console component and logging for viewing function outputs
Add email-based auto-login via modal with validation
Enhancements:

Refactor UI to use design-system components and group actions thematically
Initialize logger and configure default chain/network
Memoize and listen to wallet events such as chain changes
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Bumps [next](https://github.com/vercel/next.js) from 15.5.7 to 15.5.9.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.7...v15.5.9)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.9
  dependency-type: direct:production
...

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

* Include repo and extras in syncpack config to ensure deps are synced across all

* Updating support deps

* Updating deps

* Updating pnpm lock

* Fixing type errors within wdk tests
* skip witness on signers that don't support it

* add passkey to test
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Snyk has created this PR to upgrade @wagmi/cli from 0.1.15 to 2.8.0.

See this package in npm:
@wagmi/cli

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
…in permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
…rough a stack trace

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
* fix: upgrade @tanstack/react-query from 5.64.2 to 5.90.11

Snyk has created this PR to upgrade @tanstack/react-query from 5.64.2 to 5.90.11.

See this package in npm:
@tanstack/react-query

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Snyk has created this PR to upgrade vite from 5.4.21 to 7.2.4.

See this package in npm:
vite

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Snyk has created this PR to upgrade wagmi from 0.12.19 to 3.0.2.

See this package in npm:
wagmi

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Snyk has created this PR to upgrade react-dom from 18.3.1 to 19.2.0.

See this package in npm:
react-dom

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14173355

Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>
* feat: upgrade @types/react from 18.3.27 to 19.2.7

Snyk has created this PR to upgrade @types/react from 18.3.27 to 19.2.7.

See this package in npm:
@types/react

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Update issue templates (#128)

* Bump the npm_and_yarn group across 1 directory with 1 update

Bumps the npm_and_yarn group with 1 update in the / directory: [express](https://github.com/expressjs/express).


Updates `express` from 4.18.2 to 4.19.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](expressjs/express@4.18.2...4.19.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:development
  dependency-group: npm_and_yarn-security-group
...

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

* Create SECURITY.md

* Set up CI with Azure Pipelines

[skip ci]

* Create CNAME

* Create fortify.yml

* Update issue templates

* Update CNAME

* fix: upgrade @tanstack/react-query from 5.45.1 to 5.64.2

Snyk has created this PR to upgrade @tanstack/react-query from 5.45.1 to 5.64.2.

See this package in npm:
@tanstack/react-query

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

* Create config.yml (#46)

Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>

* Support multiple identity signers in sessions configuration

* Device signers can approve implicit sessions

* Remove invalid test

* Fix recursion

* Fix comment

* Improve test stability by reducing race conditions

* Do not set passkey signer as identity signer

* Use length checks

* Throw on missing identity signer

* Encoding requires identity signer to encode

* Fix test

* Refactor/types namings tsdoc redundant code (0xsequence#880)

* refactor types, namings, ts doc

* fix session response payload

* change parameter name

* change parameter name

* change type in tests

* improve types and dapp client methods

* fix session test to use new types

* refactor

* refactor implicit sessions array in chain session manager

* remove unused types

* remove unused types and add ConnectionError

* update pnpm lock

* move reusable session types to wallet-core

* Update some imports and update some response type names

---------

Co-authored-by: Tolgahan Arikan <tolgahan.arikan@gmail.com>

* Fix check for explicit session for the updated type in dapp-client

* Update api.gen.ts and relayer.gen.ts

* Add missing chainId for dapp client event

* Fix initializing new chain session manager on redirect

* Add support for non-viem, custom Sequence chains (0xsequence#882)

* Provider sent to prepareBlankEnvelope

* Update fortify.yml

Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>

* Add session signature decoding

* Add feeTokens endpoint to relayer (0xsequence#885)

* const for node length

* Clearer blacklist size encoding

* identity signer node length

* add getFeeTokens to dapp client (0xsequence#889)

* add getFeeTokens to dapp client

* fix typo

* make getFeeTokens independent of chain session manager and initialize state (0xsequence#890)

* make getFeeTokens independent of chain session manager and initialized state

* remove getFeeTokens from chain session manager

* Throw specific error when trying to sign with an expired session (0xsequence#887)

* Throw when supported session signer is expired

* Fix tests

* Make dapp-client implicit sessions chain agnostic (0xsequence#893)

* Add Monad, remove LAOS and Root Network

* Add support for sessionless dapp connection (0xsequence#896)

* Refactor relayer package & update dependant packages  (0xsequence#891)

* refactor exports for relayer (0xsequence#900)

* Add Arc Testnet

* Fix changelog config

* Sessionless connection upgrade and error handling in DappClient (0xsequence#902)

* dapp-client: add sessionless snapshot restore flow

* Bump the npm_and_yarn group across 3 directories with 1 update

Bumps the npm_and_yarn group with 1 update in the / directory: [happy-dom](https://github.com/capricorn86/happy-dom).
Bumps the npm_and_yarn group with 1 update in the /packages/wallet/dapp-client directory: [happy-dom](https://github.com/capricorn86/happy-dom).
Bumps the npm_and_yarn group with 1 update in the /packages/wallet/wdk directory: [happy-dom](https://github.com/capricorn86/happy-dom).


Updates `happy-dom` from 17.6.3 to 20.0.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.2)

Updates `happy-dom` from 17.6.3 to 20.0.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.2)

Updates `happy-dom` from 17.6.3 to 20.0.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.2)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

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

* Allow to logout a wallet with skipRemoveDevice even if the wallet is not in a ready state to allow force removing of wallets (0xsequence#906)

* Pass request to PromptCodeHandler in guard registerUI (0xsequence#909)

* Pass request to PromptCodeHandler in guard registerUI

* Fixing guard registerUI test

* guard: allow using recovery code as 2FA token (0xsequence#910)

* guard: allow using recovery code as 2FA token

* Cleanup types of ResponseFn

---------

Co-authored-by: Corban Riley <corbanbrook@gmail.com>

* Add a way to reset 2fa when using a backup code (0xsequence#911)

* Add a way to reset 2fa when using a backup code

* use the GuardToken type instead of breaking out the props

* Update package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update SECURITY.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/src/App.tsx

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Create FUNDING.json (#90)

Enhancements:
Include FUNDING.json to display GitHub sponsorship options in the repository
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Create config.yml (#91)

Add initial CircleCI configuration to enable automated builds using a custom Docker executor and a defined workflow.

Build:

Add .circleci/config.yml with version 2.1 specification and custom Docker executor.
CI:

Define web3-defi-game-project job with checkout step.
Set up my-custom-workflow to run the job.
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Add rc4 contracts

* Set rc4 as default and add it to lists

* Session enhanced replay protection

* New sessions replay protection hashes payload

* Use the 4337 factory wrapper

* Update keymachine url in dapp-client constants

* Update keymachine url in Provider constructor

* SSR safety (0xsequence#915)

* SSR safety test

* Fix CI job

* Guard dapp-client for SSR (lazy transport, browser checks, gated storage)

* Fix guard topology (0xsequence#918)

* Use proper guard topology

* Test and fixes

* login and setup tests

* Switch prod manager settings (0xsequence#917)

* Add prod guard and identity instrument info

* Remove completed TODOs

* Small JS tweaks (0xsequence#919)

* Fix type exports to built declarations

* Update repository links to current package paths

* Improve Next app tooling and React typings

* Expose primitives CLI bin and use base lint config

* Update relayer.gen.ts and TransactionPrecondition interface

* Update api.gen.ts

* Update metadata.gen.ts

* Update marketplace.gen.ts

* Update guard.gen.ts

* Support multiple identity signers in sessions configuration

* Device signers can approve implicit sessions

* Remove invalid test

* Fix recursion

* Fix comment

* Improve test stability by reducing race conditions

* Do not set passkey signer as identity signer

* Use length checks

* Throw on missing identity signer

* Encoding requires identity signer to encode

* Fix test

* Refactor/types namings tsdoc redundant code (0xsequence#880)

* refactor types, namings, ts doc

* fix session response payload

* change parameter name

* change parameter name

* change type in tests

* improve types and dapp client methods

* fix session test to use new types

* refactor

* refactor implicit sessions array in chain session manager

* remove unused types

* remove unused types and add ConnectionError

* update pnpm lock

* move reusable session types to wallet-core

* Update some imports and update some response type names

---------

Co-authored-by: Tolgahan Arikan <tolgahan.arikan@gmail.com>

* Fix check for explicit session for the updated type in dapp-client

* Update api.gen.ts and relayer.gen.ts

* Add missing chainId for dapp client event

* Fix initializing new chain session manager on redirect

* Add support for non-viem, custom Sequence chains (0xsequence#882)

* Provider sent to prepareBlankEnvelope

* Add session signature decoding

* const for node length

* Clearer blacklist size encoding

* identity signer node length

* Add feeTokens endpoint to relayer (0xsequence#885)

* add getFeeTokens to dapp client (0xsequence#889)

* add getFeeTokens to dapp client

* fix typo

* make getFeeTokens independent of chain session manager and initialize state (0xsequence#890)

* make getFeeTokens independent of chain session manager and initialized state

* remove getFeeTokens from chain session manager

* Throw specific error when trying to sign with an expired session (0xsequence#887)

* Throw when supported session signer is expired

* Fix tests

* Make dapp-client implicit sessions chain agnostic (0xsequence#893)

* Add Monad, remove LAOS and Root Network

* Add support for sessionless dapp connection (0xsequence#896)

* Refactor relayer package & update dependant packages  (0xsequence#891)

* refactor exports for relayer (0xsequence#900)

* Add Arc Testnet

* Fix changelog config

* Sessionless connection upgrade and error handling in DappClient (0xsequence#902)

* dapp-client: add sessionless snapshot restore flow

* Allow to logout a wallet with skipRemoveDevice even if the wallet is not in a ready state to allow force removing of wallets (0xsequence#906)

* Pass request to PromptCodeHandler in guard registerUI (0xsequence#909)

* Pass request to PromptCodeHandler in guard registerUI

* Fixing guard registerUI test

* guard: allow using recovery code as 2FA token (0xsequence#910)

* guard: allow using recovery code as 2FA token

* Cleanup types of ResponseFn

---------

Co-authored-by: Corban Riley <corbanbrook@gmail.com>

* Add a way to reset 2fa when using a backup code (0xsequence#911)

* Add a way to reset 2fa when using a backup code

* use the GuardToken type instead of breaking out the props

* Add rc4 contracts

* Set rc4 as default and add it to lists

* Session enhanced replay protection

* New sessions replay protection hashes payload

* Use the 4337 factory wrapper

* Update keymachine url in dapp-client constants

* Update keymachine url in Provider constructor

* SSR safety (0xsequence#915)

* Guard dapp-client for SSR (lazy transport, browser checks, gated storage)

* Fix guard topology (0xsequence#918)

* Use proper guard topology

* Test and fixes

* login and setup tests

* Switch prod manager settings (0xsequence#917)

* Add prod guard and identity instrument info

* Remove completed TODOs

* Small JS tweaks (0xsequence#919)

* Fix type exports to built declarations

* Update repository links to current package paths

* Improve Next app tooling and React typings

* Expose primitives CLI bin and use base lint config

* Update relayer.gen.ts and TransactionPrecondition interface

* Update relayer.gen.ts and TransactionPrecondition interface (0xsequence#920)

* 3.0.0-beta.1

* identity-instrument: generate nonce from current time (0xsequence#921)

* Remove publish-dists.yml github action (0xsequence#923)

* 3.0.0-beta.2

* Clean up changeset config

* Improve test stability by removing race conditions

* Ensure build before test

* Updating happy-dom to 20.0.10 (0xsequence#926)

* Add support for custom auth providers (authcode & authcode-pkce only) (0xsequence#894)

* Add support for custom auth providers (authcode & authcode-pkce only)

* fix authcode tests

* Updating Deps November 2025 (0xsequence#927)

* Updating deps for the workspace root

* Updating deps for wallet/wdk

* Fixing sessions test for latest vitest

* Lets not upgrade to the latest typescript quite yet

* Updating to latest vitest

* Updating deps for wallet/core

* Updating deps for wallet/primitives-cli

* Updating deps for wallet/dapp-client

* Adding syncpack to check for dep version inconsistencies

* Setup syncpack versionGroups for pnpm workspace:^

* Fixing dep versions mismatches

* Fixing @types/node mismatches

* Adding syncpack to pre commit hook

* Remove the syncpack format script.

* Update ox to v9.17.0 (0xsequence#928)

* Upgrading ox to 9.17.0

* WrappedSignature renamed to SignatureErc6492

* Fixing PasskeySignatureValidator interface

* Lock ox lib dep to use the same version with pnpm overrides and update viem to latest

* Fix explicitSessionRequested check in dapp client

* Typescript 5.9.3 (0xsequence#930)

* Upgrading to typescript v5.9.3

* Fix type errors that arose from typescript upgrade related to Bytes and Buffer source typings.

* Don't catch errors thrown by Guard 2FA or reject early to allow multiple attempts on incorrect TOTP (0xsequence#931)

* Update pnpm

* Mark @0xsequence/wallet-primitives-cli as private

* 3.0.0-beta.3

* changeset cleanup

* Fix rc4 4337 factory (0xsequence#933)

* Add rc5 and set it as default (0xsequence#934)

* 3.0.0-beta.4

* Update SECURITY.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Bump next from 15.5.5 to 15.5.7 (0xsequence#936)

Bumps [next](https://github.com/vercel/next.js) from 15.5.5 to 15.5.7.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.5...v15.5.7)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.7
  dependency-type: direct:production
...

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

* add userdata service client (0xsequence#940)

* Skip LocalDevice identity signers not on current device (0xsequence#942)

* Skip LocalDevice identity signers not on current device

* Update log

* 3.0.0-beta.5

* Update config.yml (#102)

* Update config.yml

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update .circleci/config.yml

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update config.yml (#103)

* Update config.yml

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update .circleci/config.yml

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: extras/web/package.json to reduce vulnerabilities (#101)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14173355

Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>

* fix: extras/docs/package.json to reduce vulnerabilities (#100)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14173355

Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>

* fix: package.json to reduce vulnerabilities (#104)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-BABELHELPERS-9397697
- https://snyk.io/vuln/SNYK-JS-BABELRUNTIME-10044504
- https://snyk.io/vuln/SNYK-JS-BRACEEXPANSION-9789073
- https://snyk.io/vuln/SNYK-JS-CROSSSPAWN-8303230
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-7577916
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-7577917
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-7577918
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-8187303
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-8720086
- https://snyk.io/vuln/SNYK-JS-IMAGESIZE-9634164
- https://snyk.io/vuln/SNYK-JS-INFLIGHT-6095116
- https://snyk.io/vuln/SNYK-JS-JSYAML-13961110
- https://snyk.io/vuln/SNYK-JS-MICROMATCH-6838728
- https://snyk.io/vuln/SNYK-JS-NODEFORGE-14114940
- https://snyk.io/vuln/SNYK-JS-NODEFORGE-14125097
- https://snyk.io/vuln/SNYK-JS-NODEFORGE-14125745
- https://snyk.io/vuln/SNYK-JS-ONHEADERS-10773729
- https://snyk.io/vuln/SNYK-JS-ROLLUP-8073097
- https://snyk.io/vuln/SNYK-JS-SECP256K1-8237220
- https://snyk.io/vuln/SNYK-JS-SEND-7926862
- https://snyk.io/vuln/SNYK-JS-SERVESTATIC-7926865
- https://snyk.io/vuln/SNYK-JS-SHAJS-12089400

Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>

* Revert "Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/npm_and_yarn-318c02e2da'"

This reverts commit fd0fdf9, reversing
changes made to cba7894.

* fix: extras/web/package.json to reduce vulnerabilities (#109)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14173355

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* fix: extras/docs/package.json to reduce vulnerabilities (#106)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14400636
- https://snyk.io/vuln/SNYK-JS-NEXT-14400644

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* Bump next in the npm_and_yarn group across 1 directory (#110)

Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).


Updates `next` from 15.5.7 to 15.5.9
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.7...v15.5.9)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.9
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

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

* Delete .github/workflows/fortify.yml (#111)

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* fix: extras/web/package.json to reduce vulnerabilities (#107)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14400636
- https://snyk.io/vuln/SNYK-JS-NEXT-14400644

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* Bump the npm_and_yarn group across 1 directory with 3 updates (#115)

Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).


Updates `next` from 15.5.5 to 15.5.9
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.5...v15.5.9)

Updates `happy-dom` from 17.6.3 to 20.0.11
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.11)

Updates `vite` from 7.1.10 to 7.2.7
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.2.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.2.7/packages/vite)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.9
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 20.0.11
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 7.2.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

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

* Bump next from 15.5.7 to 15.5.9 (0xsequence#944)

Bumps [next](https://github.com/vercel/next.js) from 15.5.7 to 15.5.9.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.7...v15.5.9)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.9
  dependency-type: direct:production
...

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

* Pin foundry to v1.5.0 instead of nightly (0xsequence#947)

* Include repo and extras in syncpack config to ensure deps are synced (0xsequence#945)

* Include repo and extras in syncpack config to ensure deps are synced across all

* Updating support deps

* Updating deps

* Updating pnpm lock

* Fixing type errors within wdk tests

* Short circuit 404s (0xsequence#949)

* skip witness on signers that don't support it

* add passkey to test

* 3.0.0-beta.6

* Update tests.yml (#119)

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update config.yml (#120)

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update packages/services/identity-instrument/src/index.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Michael Standen <mstan@horizon.io>
Co-authored-by: Gabi <56271768+VGabriel45@users.noreply.github.com>
Co-authored-by: Tolgahan Arikan <tolgahan.arikan@gmail.com>
Co-authored-by: Taylan Pince <taylanpince@gmail.com>
Co-authored-by: Corban Brook <corbanbrook@gmail.com>
Co-authored-by: Patryk Kalinowski <pkal@horizon.io>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Agusx1211 <agusgit@pm.me>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>

* Update wagmi-project/src/main.tsx

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* fix: extras/docs/package.json to reduce vulnerabilities (#116)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14400636
- https://snyk.io/vuln/SNYK-JS-NEXT-14400644

Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>
Co-authored-by: dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Michael Standen <mstan@horizon.io>
Co-authored-by: Gabi <56271768+VGabriel45@users.noreply.github.com>
Co-authored-by: Tolgahan Arikan <tolgahan.arikan@gmail.com>
Co-authored-by: Taylan Pince <taylanpince@gmail.com>
Co-authored-by: Corban Brook <corbanbrook@gmail.com>
Co-authored-by: Patryk Kalinowski <pkal@horizon.io>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Agusx1211 <agusgit@pm.me>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
* 2.3.7 (#131)

* fix broken guard private key

* Expose access to passkey credential list

* Dapp client direct txn request (0xsequence#856)

* Signature request refactor

* WIP

* Refactor

* Update dapp-client exports (0xsequence#858)

* Add hasPermission method to DappClient (0xsequence#859)

* Save discovered passkey credentials upon login

* Expose name property in PasskeySignupArgs

* Fix blacklist sort

* Add multi server script

* relayer: /SimulateV3 (0xsequence#857)

* Add await for handleOpenDB scheduleExpiration

* Update increment to always include native once used

* Fix session tests

* Adding lastLoginAt to PasskeyCredential

* LoginToPasskeyArgs now accept a credentialId which is used to specify which credential to use

* Adding onSignatureRequestStatus function to register single use callbacks for when a request reaches a terminal state of completed or cancelled

* When a login is cancelled we can remove the wallet which is logging-in

* Add RC3 contracts

* Sessions space restriction

* Dedupe signers for encoding

* Support RC3 sessions

* Tightly increment call validation

* CLI defaults to RC3 wallet code

* Rc3 address test

* Fix hashing tests

* Add deprecated encoding test

* wdk: throw errors from otp respond callback (0xsequence#864)

* wdk: throw errors from otp respond callback

* wdk: otp auth error and handler refactor

* Handle guard 2FA (0xsequence#861)

* guard: return a specific error when auth required

* core: pass guard token to the service

* wdk: handle prompting for guard 2FA code

* dapp-client: handle prompting for guard 2FA code

* guard 2fa tests

* wdk: separate wallet and sessions guards

* dapp-client: remove guard 2fa

* dapp-client: fix imports

* fix guard tests

* wdk: remove unneeded promise resolve

* Update relayer and api gen.ts, force public packages

* Add standalone fetch queued payloads

* Replacing GuardRole enum with string union type, as well as replacing guardAddresses Map with Record<GuardRole, Address>

* Fallback to chain for non-logged in recovery

* Add Katana, Sandbox Tesnet, Incentiv Testnet v2 (0xsequence#873)

* Update a few remaining dev1 contract addresses to rc3 (0xsequence#874)

* Remove unnecessary console.error where we already throw error

* Improve DappClient hasPermission method

* Wallet db try checksum and lowercase

* Update dapp client json utils to include Map reviver and replacer

* Bump next in the npm_and_yarn group across 1 directory

Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).


Updates `next` from 15.4.2 to 15.4.7
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.4.2...v15.4.7)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.4.7
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

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

* Update type name, update exports for dapp client

* Expired explicit sessions can't sign

* Improve session validity test

* session isValid returns invalid reason

* InvalidReason is typed

* Support multiple identity signers in sessions configuration

* Device signers can approve implicit sessions

* Remove invalid test

* Fix recursion

* Fix comment

* Improve test stability by reducing race conditions

* Do not set passkey signer as identity signer

* Use length checks

* Throw on missing identity signer

* Encoding requires identity signer to encode

* Fix test

* Refactor/types namings tsdoc redundant code (0xsequence#880)

* refactor types, namings, ts doc

* fix session response payload

* change parameter name

* change parameter name

* change type in tests

* improve types and dapp client methods

* fix session test to use new types

* refactor

* refactor implicit sessions array in chain session manager

* remove unused types

* remove unused types and add ConnectionError

* update pnpm lock

* move reusable session types to wallet-core

* Update some imports and update some response type names

---------

Co-authored-by: Tolgahan Arikan <tolgahan.arikan@gmail.com>

* Fix check for explicit session for the updated type in dapp-client

* Update api.gen.ts and relayer.gen.ts

* Add missing chainId for dapp client event

* Fix initializing new chain session manager on redirect

* Add support for non-viem, custom Sequence chains (0xsequence#882)

* Update issue templates

* Provider sent to prepareBlankEnvelope

* Add session signature decoding

* Add feeTokens endpoint to relayer (0xsequence#885)

* const for node length

* Clearer blacklist size encoding

* identity signer node length

* Potential fix for code scanning alert no. 84: Insecure randomness

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>

* add getFeeTokens to dapp client (0xsequence#889)

* add getFeeTokens to dapp client

* fix typo

* make getFeeTokens independent of chain session manager and initialize state (0xsequence#890)

* make getFeeTokens independent of chain session manager and initialized state

* remove getFeeTokens from chain session manager

* Throw specific error when trying to sign with an expired session (0xsequence#887)

* Throw when supported session signer is expired

* Fix tests

* Make dapp-client implicit sessions chain agnostic (0xsequence#893)

* Add Monad, remove LAOS and Root Network

* Bump the npm_and_yarn group across 3 directories with 1 update

Bumps the npm_and_yarn group with 1 update in the / directory: [happy-dom](https://github.com/capricorn86/happy-dom).
Bumps the npm_and_yarn group with 1 update in the /packages/wallet/dapp-client directory: [happy-dom](https://github.com/capricorn86/happy-dom).
Bumps the npm_and_yarn group with 1 update in the /packages/wallet/wdk directory: [happy-dom](https://github.com/capricorn86/happy-dom).


Updates `happy-dom` from 17.6.3 to 20.0.0
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.0)

Updates `happy-dom` from 17.6.3 to 20.0.0
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.0)

Updates `happy-dom` from 17.6.3 to 20.0.0
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.0)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 20.0.0
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 20.0.0
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 20.0.0
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

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

* Bump happy-dom in the npm_and_yarn group across 1 directory (#69)

Bumps the npm_and_yarn group with 1 update in the / directory: [happy-dom](https://github.com/capricorn86/happy-dom).


Updates `happy-dom` from 20.0.0 to 20.0.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v20.0.0...v20.0.2)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

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

* Create SECURITY.md for security policy (#70)

* Create SECURITY.md for security policy

Add a security policy document outlining supported versions and vulnerability reporting.

Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>

* Update SECURITY.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>

* Update SECURITY.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update SECURITY.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>

* Add support for sessionless dapp connection (0xsequence#896)

* Refactor relayer package & update dependant packages  (0xsequence#891)

* refactor exports for relayer (0xsequence#900)

* Add Arc Testnet

* Fix changelog config

* Sessionless connection upgrade and error handling in DappClient (0xsequence#902)

* dapp-client: add sessionless snapshot restore flow

* Bump the npm_and_yarn group across 3 directories with 1 update

Bumps the npm_and_yarn group with 1 update in the / directory: [happy-dom](https://github.com/capricorn86/happy-dom).
Bumps the npm_and_yarn group with 1 update in the /packages/wallet/dapp-client directory: [happy-dom](https://github.com/capricorn86/happy-dom).
Bumps the npm_and_yarn group with 1 update in the /packages/wallet/wdk directory: [happy-dom](https://github.com/capricorn86/happy-dom).


Updates `happy-dom` from 17.6.3 to 20.0.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.2)

Updates `happy-dom` from 17.6.3 to 20.0.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.2)

Updates `happy-dom` from 17.6.3 to 20.0.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.2)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

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

* Allow to logout a wallet with skipRemoveDevice even if the wallet is not in a ready state to allow force removing of wallets (0xsequence#906)

* Pass request to PromptCodeHandler in guard registerUI (0xsequence#909)

* Pass request to PromptCodeHandler in guard registerUI

* Fixing guard registerUI test

* guard: allow using recovery code as 2FA token (0xsequence#910)

* guard: allow using recovery code as 2FA token

* Cleanup types of ResponseFn

---------

Co-authored-by: Corban Riley <corbanbrook@gmail.com>

* Add a way to reset 2fa when using a backup code (0xsequence#911)

* Add a way to reset 2fa when using a backup code

* use the GuardToken type instead of breaking out the props

* Update SECURITY.md

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update packages/wallet/dapp-client/src/DappTransport.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update SECURITY.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/src/App.tsx

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Create FUNDING.json (#90)

Enhancements:
Include FUNDING.json to display GitHub sponsorship options in the repository
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Create config.yml (#91)

Add initial CircleCI configuration to enable automated builds using a custom Docker executor and a defined workflow.

Build:

Add .circleci/config.yml with version 2.1 specification and custom Docker executor.
CI:

Define web3-defi-game-project job with checkout step.
Set up my-custom-workflow to run the job.
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Add rc4 contracts

* Set rc4 as default and add it to lists

* Session enhanced replay protection

* New sessions replay protection hashes payload

* Use the 4337 factory wrapper

* Update keymachine url in dapp-client constants

* Update keymachine url in Provider constructor

* SSR safety (0xsequence#915)

* SSR safety test

* Fix CI job

* Guard dapp-client for SSR (lazy transport, browser checks, gated storage)

* Fix guard topology (0xsequence#918)

* Use proper guard topology

* Test and fixes

* login and setup tests

* Switch prod manager settings (0xsequence#917)

* Add prod guard and identity instrument info

* Remove completed TODOs

* Small JS tweaks (0xsequence#919)

* Fix type exports to built declarations

* Update repository links to current package paths

* Improve Next app tooling and React typings

* Expose primitives CLI bin and use base lint config

* Update relayer.gen.ts and TransactionPrecondition interface

* Update api.gen.ts

* Update metadata.gen.ts

* Update marketplace.gen.ts

* Update guard.gen.ts

* Support multiple identity signers in sessions configuration

* Device signers can approve implicit sessions

* Remove invalid test

* Fix recursion

* Fix comment

* Improve test stability by reducing race conditions

* Do not set passkey signer as identity signer

* Use length checks

* Throw on missing identity signer

* Encoding requires identity signer to encode

* Fix test

* Refactor/types namings tsdoc redundant code (0xsequence#880)

* refactor types, namings, ts doc

* fix session response payload

* change parameter name

* change parameter name

* change type in tests

* improve types and dapp client methods

* fix session test to use new types

* refactor

* refactor implicit sessions array in chain session manager

* remove unused types

* remove unused types and add ConnectionError

* update pnpm lock

* move reusable session types to wallet-core

* Update some imports and update some response type names

---------

Co-authored-by: Tolgahan Arikan <tolgahan.arikan@gmail.com>

* Fix check for explicit session for the updated type in dapp-client

* Update api.gen.ts and relayer.gen.ts

* Add missing chainId for dapp client event

* Fix initializing new chain session manager on redirect

* Add support for non-viem, custom Sequence chains (0xsequence#882)

* Provider sent to prepareBlankEnvelope

* Add session signature decoding

* const for node length

* Clearer blacklist size encoding

* identity signer node length

* Add feeTokens endpoint to relayer (0xsequence#885)

* add getFeeTokens to dapp client (0xsequence#889)

* add getFeeTokens to dapp client

* fix typo

* make getFeeTokens independent of chain session manager and initialize state (0xsequence#890)

* make getFeeTokens independent of chain session manager and initialized state

* remove getFeeTokens from chain session manager

* Throw specific error when trying to sign with an expired session (0xsequence#887)

* Throw when supported session signer is expired

* Fix tests

* Make dapp-client implicit sessions chain agnostic (0xsequence#893)

* Add Monad, remove LAOS and Root Network

* Add support for sessionless dapp connection (0xsequence#896)

* Refactor relayer package & update dependant packages  (0xsequence#891)

* refactor exports for relayer (0xsequence#900)

* Add Arc Testnet

* Fix changelog config

* Sessionless connection upgrade and error handling in DappClient (0xsequence#902)

* dapp-client: add sessionless snapshot restore flow

* Allow to logout a wallet with skipRemoveDevice even if the wallet is not in a ready state to allow force removing of wallets (0xsequence#906)

* Pass request to PromptCodeHandler in guard registerUI (0xsequence#909)

* Pass request to PromptCodeHandler in guard registerUI

* Fixing guard registerUI test

* guard: allow using recovery code as 2FA token (0xsequence#910)

* guard: allow using recovery code as 2FA token

* Cleanup types of ResponseFn

---------

Co-authored-by: Corban Riley <corbanbrook@gmail.com>

* Add a way to reset 2fa when using a backup code (0xsequence#911)

* Add a way to reset 2fa when using a backup code

* use the GuardToken type instead of breaking out the props

* Add rc4 contracts

* Set rc4 as default and add it to lists

* Session enhanced replay protection

* New sessions replay protection hashes payload

* Use the 4337 factory wrapper

* Update keymachine url in dapp-client constants

* Update keymachine url in Provider constructor

* SSR safety (0xsequence#915)

* Guard dapp-client for SSR (lazy transport, browser checks, gated storage)

* Fix guard topology (0xsequence#918)

* Use proper guard topology

* Test and fixes

* login and setup tests

* Switch prod manager settings (0xsequence#917)

* Add prod guard and identity instrument info

* Remove completed TODOs

* Small JS tweaks (0xsequence#919)

* Fix type exports to built declarations

* Update repository links to current package paths

* Improve Next app tooling and React typings

* Expose primitives CLI bin and use base lint config

* Update relayer.gen.ts and TransactionPrecondition interface

* Update relayer.gen.ts and TransactionPrecondition interface (0xsequence#920)

* 3.0.0-beta.1

* identity-instrument: generate nonce from current time (0xsequence#921)

* Remove publish-dists.yml github action (0xsequence#923)

* 3.0.0-beta.2

* Clean up changeset config

* Improve test stability by removing race conditions

* Ensure build before test

* Updating happy-dom to 20.0.10 (0xsequence#926)

* Add support for custom auth providers (authcode & authcode-pkce only) (0xsequence#894)

* Add support for custom auth providers (authcode & authcode-pkce only)

* fix authcode tests

* Updating Deps November 2025 (0xsequence#927)

* Updating deps for the workspace root

* Updating deps for wallet/wdk

* Fixing sessions test for latest vitest

* Lets not upgrade to the latest typescript quite yet

* Updating to latest vitest

* Updating deps for wallet/core

* Updating deps for wallet/primitives-cli

* Updating deps for wallet/dapp-client

* Adding syncpack to check for dep version inconsistencies

* Setup syncpack versionGroups for pnpm workspace:^

* Fixing dep versions mismatches

* Fixing @types/node mismatches

* Adding syncpack to pre commit hook

* Remove the syncpack format script.

* Update ox to v9.17.0 (0xsequence#928)

* Upgrading ox to 9.17.0

* WrappedSignature renamed to SignatureErc6492

* Fixing PasskeySignatureValidator interface

* Lock ox lib dep to use the same version with pnpm overrides and update viem to latest

* Fix explicitSessionRequested check in dapp client

* Typescript 5.9.3 (0xsequence#930)

* Upgrading to typescript v5.9.3

* Fix type errors that arose from typescript upgrade related to Bytes and Buffer source typings.

* Don't catch errors thrown by Guard 2FA or reject early to allow multiple attempts on incorrect TOTP (0xsequence#931)

* Update pnpm

* Mark @0xsequence/wallet-primitives-cli as private

* 3.0.0-beta.3

* changeset cleanup

* Fix rc4 4337 factory (0xsequence#933)

* Add rc5 and set it as default (0xsequence#934)

* 3.0.0-beta.4

* Update SECURITY.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update wagmi-project/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Bump next from 15.5.5 to 15.5.7 (0xsequence#936)

Bumps [next](https://github.com/vercel/next.js) from 15.5.5 to 15.5.7.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.5...v15.5.7)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.7
  dependency-type: direct:production
...

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

* add userdata service client (0xsequence#940)

* Skip LocalDevice identity signers not on current device (0xsequence#942)

* Skip LocalDevice identity signers not on current device

* Update log

* 3.0.0-beta.5

* Update config.yml (#102)

* Update config.yml

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update .circleci/config.yml

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* Update config.yml (#103)

* Update config.yml

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update .circleci/config.yml

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

* fix: extras/web/package.json to reduce vulnerabilities (#101)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14173355

Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>

* fix: extras/docs/package.json to reduce vulnerabilities (#100)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14173355

Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>

* fix: package.json to reduce vulnerabilities (#104)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-BABELHELPERS-9397697
- https://snyk.io/vuln/SNYK-JS-BABELRUNTIME-10044504
- https://snyk.io/vuln/SNYK-JS-BRACEEXPANSION-9789073
- https://snyk.io/vuln/SNYK-JS-CROSSSPAWN-8303230
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-7577916
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-7577917
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-7577918
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-8187303
- https://snyk.io/vuln/SNYK-JS-ELLIPTIC-8720086
- https://snyk.io/vuln/SNYK-JS-IMAGESIZE-9634164
- https://snyk.io/vuln/SNYK-JS-INFLIGHT-6095116
- https://snyk.io/vuln/SNYK-JS-JSYAML-13961110
- https://snyk.io/vuln/SNYK-JS-MICROMATCH-6838728
- https://snyk.io/vuln/SNYK-JS-NODEFORGE-14114940
- https://snyk.io/vuln/SNYK-JS-NODEFORGE-14125097
- https://snyk.io/vuln/SNYK-JS-NODEFORGE-14125745
- https://snyk.io/vuln/SNYK-JS-ONHEADERS-10773729
- https://snyk.io/vuln/SNYK-JS-ROLLUP-8073097
- https://snyk.io/vuln/SNYK-JS-SECP256K1-8237220
- https://snyk.io/vuln/SNYK-JS-SEND-7926862
- https://snyk.io/vuln/SNYK-JS-SERVESTATIC-7926865
- https://snyk.io/vuln/SNYK-JS-SHAJS-12089400

Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>

* Revert "Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/npm_and_yarn-318c02e2da'"

This reverts commit fd0fdf9, reversing
changes made to cba7894.

* fix: extras/web/package.json to reduce vulnerabilities (#109)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14173355

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* fix: extras/docs/package.json to reduce vulnerabilities (#106)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14400636
- https://snyk.io/vuln/SNYK-JS-NEXT-14400644

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* Bump next in the npm_and_yarn group across 1 directory (#110)

Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).


Updates `next` from 15.5.7 to 15.5.9
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.7...v15.5.9)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.9
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

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

* Delete .github/workflows/fortify.yml (#111)

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* fix: extras/web/package.json to reduce vulnerabilities (#107)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14400636
- https://snyk.io/vuln/SNYK-JS-NEXT-14400644

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* Bump the npm_and_yarn group across 1 directory with 3 updates (#115)

Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).


Updates `next` from 15.5.5 to 15.5.9
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.5...v15.5.9)

Updates `happy-dom` from 17.6.3 to 20.0.11
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v17.6.3...v20.0.11)

Updates `vite` from 7.1.10 to 7.2.7
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.2.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.2.7/packages/vite)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.9
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 20.0.11
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 7.2.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

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

* Bump next from 15.5.7 to 15.5.9 (0xsequence#944)

Bumps [next](https://github.com/vercel/next.js) from 15.5.7 to 15.5.9.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.7...v15.5.9)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.9
  dependency-type: direct:production
...

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

* Pin foundry to v1.5.0 instead of nightly (0xsequence#947)

* Include repo and extras in syncpack config to ensure deps are synced (0xsequence#945)

* Include repo and extras in syncpack config to ensure deps are synced across all

* Updating support deps

* Updating deps

* Updating pnpm lock

* Fixing type errors within wdk tests

* Short circuit 404s (0xsequence#949)

* skip witness on signers that don't support it

* add passkey to test

* 3.0.0-beta.6

* Update tests.yml (#119)

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update config.yml (#120)

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update packages/services/identity-instrument/src/index.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* feat: upgrade @wagmi/cli from 0.1.15 to 2.8.0 (#126)

Snyk has created this PR to upgrade @wagmi/cli from 0.1.15 to 2.8.0.

See this package in npm:
@wagmi/cli

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* Potential fix for code scanning alert no. 82: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Potential fix for code scanning alert no. 62: Information exposure through a stack trace

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: Patryk Kalinowski <patryk@kalinowski.dev>
Co-authored-by: Corban Riley <corbanbrook@gmail.com>
Co-authored-by: tolgahan-arikan <tolgahan.arikan@gmail.com>
Co-authored-by: Agusx1211 <agusgit@pm.me>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: William Hua <william@attente.ca>
Co-authored-by: Michael Standen <mstan@horizon.io>
Co-authored-by: Patryk Kalinowski <pkal@horizon.io>
Co-authored-by: Taylan Pince <taylanpince@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabi <56271768+VGabriel45@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>

* Update extras/docs/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update extras/web/package.json

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: Patryk Kalinowski <patryk@kalinowski.dev>
Co-authored-by: Corban Riley <corbanbrook@gmail.com>
Co-authored-by: tolgahan-arikan <tolgahan.arikan@gmail.com>
Co-authored-by: Agusx1211 <agusgit@pm.me>
Co-authored-by: Michael Standen <screaminghawk@gmail.com>
Co-authored-by: William Hua <william@attente.ca>
Co-authored-by: Michael Standen <mstan@horizon.io>
Co-authored-by: Patryk Kalinowski <pkal@horizon.io>
Co-authored-by: Taylan Pince <taylanpince@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabi <56271768+VGabriel45@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
* Pin foundry to v1.5.0 instead of nightly (0xsequence#947) (#134)

* Bump next from 15.5.7 to 15.5.9 (0xsequence#944)

Bumps [next](https://github.com/vercel/next.js) from 15.5.7 to 15.5.9.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.7...v15.5.9)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.5.9
  dependency-type: direct:production
...

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

* Pin foundry to v1.5.0 instead of nightly (0xsequence#947)

* Include repo and extras in syncpack config to ensure deps are synced (0xsequence#945)

* Include repo and extras in syncpack config to ensure deps are synced across all

* Updating support deps

* Updating deps

* Updating pnpm lock

* Fixing type errors within wdk tests

* Short circuit 404s (0xsequence#949)

* skip witness on signers that don't support it

* add passkey to test

* 3.0.0-beta.6

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Taylan Pince <taylanpince@gmail.com>
Co-authored-by: Corban Riley <corbanbrook@gmail.com>
Co-authored-by: Agusx1211 <agusgit@pm.me>

* Update packages/wallet/wdk/test/wallets.test.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update packages/wallet/wdk/test/wallets.test.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Taylan Pince <taylanpince@gmail.com>
Co-authored-by: Corban Riley <corbanbrook@gmail.com>
Co-authored-by: Agusx1211 <agusgit@pm.me>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Dargon789 and others added 12 commits December 24, 2025 19:35
Snyk has created this PR to upgrade react from 18.3.1 to 19.2.0.

See this package in npm:
react

See this project in Snyk:
https://app.snyk.io/org/dargon789/project/bb845543-cbee-4e11-8cf9-8bfdf9205bf1?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-NEXT-14400636
- https://snyk.io/vuln/SNYK-JS-NEXT-14400644

Co-authored-by: snyk-io[bot] <141718529+snyk-io[bot]@users.noreply.github.com>
Co-authored-by: dargon789 <64915515+Dargon789@users.noreply.github.com>
Add initial monorepo structure for wagmi-project, including CLI, connectors, and core packages with source code, tests, configuration, and CI/CD workflows. This sets up the foundation for further development and collaboration.
* Revise README structure and add sponsorship details

Updated README to include new sections and sponsorship information. https://sequence.xyz/

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update README.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update README.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update README.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Bumps the npm_and_yarn group with 4 updates in the /wagmi-project directory: [next](https://github.com/vercel/next.js), [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [@metamask/sdk](https://github.com/MetaMask/metamask-sdk/tree/HEAD/packages/sdk) and [nuxt](https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt).
Bumps the npm_and_yarn group with 1 update in the /wagmi-project/packages/connectors directory: [@metamask/sdk](https://github.com/MetaMask/metamask-sdk/tree/HEAD/packages/sdk).
Bumps the npm_and_yarn group with 1 update in the /wagmi-project/packages/create-wagmi/templates/next directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /wagmi-project/playgrounds/next directory: [next](https://github.com/vercel/next.js).


Updates `next` from 15.3.3 to 15.4.10
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.3.3...v15.4.10)

Updates `happy-dom` from 15.10.2 to 18.0.1
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v15.10.2...v18.0.1)

Updates `vite` from 5.4.19 to 5.4.21
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.21/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.21/packages/vite)

Updates `@metamask/sdk` from 0.32.1 to 0.33.1
- [Release notes](https://github.com/MetaMask/metamask-sdk/releases)
- [Changelog](https://github.com/MetaMask/metamask-sdk/blob/main/packages/sdk/CHANGELOG.md)
- [Commits](https://github.com/MetaMask/metamask-sdk/commits/@metamask/sdk@0.33.1/packages/sdk)

Updates `nuxt` from 3.16.0 to 3.19.0
- [Release notes](https://github.com/nuxt/nuxt/releases)
- [Commits](https://github.com/nuxt/nuxt/commits/v3.19.0/packages/nuxt)

Updates `@nuxt/devtools` from 2.4.1 to 2.7.0
- [Release notes](https://github.com/nuxt/devtools/releases)
- [Changelog](https://github.com/nuxt/devtools/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nuxt/devtools/commits/v2.7.0/packages/devtools)

Updates `devalue` from 5.1.1 to 5.6.1
- [Release notes](https://github.com/sveltejs/devalue/releases)
- [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md)
- [Commits](sveltejs/devalue@v5.1.1...v5.6.1)

Updates `@metamask/sdk` from 0.32.1 to 0.33.1
- [Release notes](https://github.com/MetaMask/metamask-sdk/releases)
- [Changelog](https://github.com/MetaMask/metamask-sdk/blob/main/packages/sdk/CHANGELOG.md)
- [Commits](https://github.com/MetaMask/metamask-sdk/commits/@metamask/sdk@0.33.1/packages/sdk)

Updates `next` from 15.2.4 to 15.4.10
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.3.3...v15.4.10)

Updates `next` from 15.3.3 to 15.4.10
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.3.3...v15.4.10)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.4.10
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 18.0.1
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: vite
  dependency-version: 5.4.21
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: "@metamask/sdk"
  dependency-version: 0.33.1
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: nuxt
  dependency-version: 3.19.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: "@nuxt/devtools"
  dependency-version: 2.7.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: devalue
  dependency-version: 5.6.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: "@metamask/sdk"
  dependency-version: 0.33.1
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 15.4.10
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 15.4.10
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updated CircleCI config to reflect correct environment variable settings.

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
* Add workflow to publish package distributions

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Potential fix for code scanning alert no. 107: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update .github/workflows/Publish-Dists.yml

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

* Update .github/workflows/Publish-Dists.yml

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>

---------

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Removed permissions section from the workflow.

Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
Bumps the npm_and_yarn group with 1 update in the /wagmi-project directory: [happy-dom](https://github.com/capricorn86/happy-dom).


Updates `happy-dom` from 18.0.1 to 20.0.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v18.0.1...v20.0.2)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 20.0.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

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

Switch the Anvil fork URL in the GitHub Actions test workflow to a new mainnet RPC endpoint.
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
@codesandbox
Copy link

codesandbox bot commented Dec 26, 2025

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@bolt-new-by-stackblitz
Copy link

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@vercel
Copy link

vercel bot commented Dec 26, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
sequence.js Ready Ready Preview, Comment Dec 26, 2025 9:53pm
wagmi-project Ready Ready Preview, Comment Dec 26, 2025 9:53pm

}
}

export function createEmitter<eventMap extends EventMap>(uid: string) {

Check failure

Code scanning / CodeQL

Insecure randomness High

This uses a cryptographically insecure random number generated at
Math.random()
in a security context.

Copilot Autofix

AI 18 days ago

General fix: replace the use of Math.random() in the UID generator with a cryptographically secure source of randomness (crypto.randomBytes in Node / crypto.getRandomValues in the browser), and keep the same external API and approximate UID format/length to avoid breaking callers.

Best specific fix for this codebase:

  • Only wagmi-project/packages/core/src/utils/uid.ts needs changes; createEmitter.ts and createConfig.ts simply consume the UID.
  • Implement a small abstraction that uses:
    • window.crypto.getRandomValues when available (browser).
    • require('crypto').randomBytes or globalThis.crypto.getRandomValues when available in non-browser environments (e.g. Node 19+).
    • As a last resort, fall back to Math.random() with a clear comment (for environments without crypto), but this fallback should be used only when no CSPRNG is present.
  • Preserve the public API: export function uid(length = 11): string and the semantics that it returns a hex-like string of requested length.
  • The previous implementation built a large hex buffer once (size * 2 characters) and then consumed substrings from it. We can keep the same buffering approach for performance, but fill the buffer using secure random bytes rather than Math.random().

Concretely in utils/uid.ts:

  1. Add a helper getRandomBytes(byteLength: number): Uint8Array that:
    • Uses globalThis.crypto.getRandomValues if available.
    • Else, tries Node’s require('crypto').randomBytes (without adding a top-level import to avoid bundler issues; require is typically shimmed or tree-shaken).
    • Else, falls back to Math.random() to generate bytes (with a comment noting that this path is non-cryptographic).
  2. Change the buffer fill loop to:
    • Allocate a Uint8Array of length size.
    • Call getRandomBytes(randomBytes.length).
    • Convert each byte to a 2-character hex string and append to buffer.
  3. Keep the rest of the logic (index, buffer.substring(index, index++ + length)) unchanged so external behavior is stable aside from improved randomness quality.

No changes are required to createEmitter.ts or createConfig.ts, since they already accept and pass through a string UID.


Suggested changeset 1
wagmi-project/packages/core/src/utils/uid.ts
Outside changed files

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/wagmi-project/packages/core/src/utils/uid.ts b/wagmi-project/packages/core/src/utils/uid.ts
--- a/wagmi-project/packages/core/src/utils/uid.ts
+++ b/wagmi-project/packages/core/src/utils/uid.ts
@@ -2,12 +2,47 @@
 let index = size
 let buffer: string
 
+function getRandomBytes(byteLength: number): Uint8Array {
+  if (
+    typeof globalThis !== 'undefined' &&
+    globalThis.crypto &&
+    typeof globalThis.crypto.getRandomValues === 'function'
+  ) {
+    const array = new Uint8Array(byteLength)
+    globalThis.crypto.getRandomValues(array)
+    return array
+  }
+
+  // Fallback for Node.js environments that expose `require('crypto')`.
+  try {
+    // eslint-disable-next-line @typescript-eslint/no-var-requires
+    const nodeCrypto = require('crypto') as {
+      randomBytes: (size: number) => { readonly [n: number]: number; length: number }
+    }
+    const buf = nodeCrypto.randomBytes(byteLength)
+    const array = new Uint8Array(byteLength)
+    for (let i = 0; i < byteLength; i++) array[i] = buf[i]
+    return array
+  } catch {
+    // ignore and fall through to non-cryptographic fallback
+  }
+
+  // Last-resort, non-cryptographic fallback (used only if no crypto APIs are available).
+  const array = new Uint8Array(byteLength)
+  for (let i = 0; i < byteLength; i++) {
+    array[i] = (Math.random() * 256) | 0
+  }
+  return array
+}
+
 export function uid(length = 11) {
   if (!buffer || index + length > size * 2) {
     buffer = ''
     index = 0
+    const randomBytes = getRandomBytes(size)
     for (let i = 0; i < size; i++) {
-      buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1)
+      const byte = randomBytes[i]
+      buffer += byte.toString(16).padStart(2, '0')
     }
   }
   return buffer.substring(index, index++ + length)
EOF
@@ -2,12 +2,47 @@
let index = size
let buffer: string

function getRandomBytes(byteLength: number): Uint8Array {
if (
typeof globalThis !== 'undefined' &&
globalThis.crypto &&
typeof globalThis.crypto.getRandomValues === 'function'
) {
const array = new Uint8Array(byteLength)
globalThis.crypto.getRandomValues(array)
return array
}

// Fallback for Node.js environments that expose `require('crypto')`.
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const nodeCrypto = require('crypto') as {
randomBytes: (size: number) => { readonly [n: number]: number; length: number }
}
const buf = nodeCrypto.randomBytes(byteLength)
const array = new Uint8Array(byteLength)
for (let i = 0; i < byteLength; i++) array[i] = buf[i]
return array
} catch {
// ignore and fall through to non-cryptographic fallback
}

// Last-resort, non-cryptographic fallback (used only if no crypto APIs are available).
const array = new Uint8Array(byteLength)
for (let i = 0; i < byteLength; i++) {
array[i] = (Math.random() * 256) | 0
}
return array
}

export function uid(length = 11) {
if (!buffer || index + length > size * 2) {
buffer = ''
index = 0
const randomBytes = getRandomBytes(size)
for (let i = 0; i < size; i++) {
buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1)
const byte = randomBytes[i]
buffer += byte.toString(16).padStart(2, '0')
}
}
return buffer.substring(index, index++ + length)
Copilot is powered by AI and may make mistakes. Always verify output.
@Dargon789 Dargon789 committed this autofix suggestion 18 days ago.
stream.end();

// write results in markdown format
writeEntry(spec, contract, code || signal, (await output).match(/https:\/\/prover.certora.com\/output\/\S*/)?.[0]);

Check failure

Code scanning / CodeQL

Incomplete regular expression for hostnames High library

This regular expression has an unescaped '.' before 'certora.com', so it might match more hosts than expected.

Copilot Autofix

AI 18 days ago

In general, hostnames in regular expressions should escape all literal dots (.\.) so they cannot match arbitrary characters. When you intend to match exactly prover.certora.com, you should use prover\.certora\.com.

In this file, the best fix is to update the regex literal on line 118 so all dots in the hostname are escaped. Currently it is /https:\/\/prover.certora.com\/output\/\S*/; we should change it to /https:\/\/prover\.certora\.com\/output\/\S*/. This keeps the behavior (matching URLs that start with https://prover.certora.com/output/ and then non‑whitespace) but ensures it cannot match different hosts. No new imports or helpers are needed; it’s just a one‑character change in the pattern.

Concretely, edit wagmi-project/packages/sequence-core-1.0.0/lib/signals-implicit-mode/lib/sequence-v3/lib/openzeppelin-contracts/certora/run.js at the writeEntry call in runCertora, replacing the regex in the .match(...) call as described.

Suggested changeset 1
wagmi-project/packages/sequence-core-1.0.0/lib/signals-implicit-mode/lib/sequence-v3/lib/openzeppelin-contracts/certora/run.js

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/wagmi-project/packages/sequence-core-1.0.0/lib/signals-implicit-mode/lib/sequence-v3/lib/openzeppelin-contracts/certora/run.js b/wagmi-project/packages/sequence-core-1.0.0/lib/signals-implicit-mode/lib/sequence-v3/lib/openzeppelin-contracts/certora/run.js
--- a/wagmi-project/packages/sequence-core-1.0.0/lib/signals-implicit-mode/lib/sequence-v3/lib/openzeppelin-contracts/certora/run.js
+++ b/wagmi-project/packages/sequence-core-1.0.0/lib/signals-implicit-mode/lib/sequence-v3/lib/openzeppelin-contracts/certora/run.js
@@ -115,7 +115,7 @@
   stream.end();
 
   // write results in markdown format
-  writeEntry(spec, contract, code || signal, (await output).match(/https:\/\/prover.certora.com\/output\/\S*/)?.[0]);
+  writeEntry(spec, contract, code || signal, (await output).match(/https:\/\/prover\.certora\.com\/output\/\S*/)?.[0]);
 
   // write all details
   console.error(`+ certoraRun ${args.join(' ')}\n` + (await output));
EOF
@@ -115,7 +115,7 @@
stream.end();

// write results in markdown format
writeEntry(spec, contract, code || signal, (await output).match(/https:\/\/prover.certora.com\/output\/\S*/)?.[0]);
writeEntry(spec, contract, code || signal, (await output).match(/https:\/\/prover\.certora\.com\/output\/\S*/)?.[0]);

// write all details
console.error(`+ certoraRun ${args.join(' ')}\n` + (await output));
Copilot is powered by AI and may make mistakes. Always verify output.
@Dargon789 Dargon789 committed this autofix suggestion 18 days ago.
protected path = '/rpc/Builder/'

constructor(hostname: string, fetch: Fetch) {
this.hostname = hostname.replace(/\/*$/, '')

Check failure

Code scanning / CodeQL

Polynomial regular expression used on uncontrolled data High library

This
regular expression
that depends on
library input
may run slow on strings with many repetitions of '/'.
This
regular expression
that depends on
library input
may run slow on strings with many repetitions of '/'.
protected path = '/rpc/IdentityInstrument/'

constructor(hostname: string, fetch: Fetch) {
this.hostname = hostname.replace(/\/*$/, '')

Check failure

Code scanning / CodeQL

Polynomial regular expression used on uncontrolled data High library

This
regular expression
that depends on
library input
may run slow on strings with many repetitions of '/'.
protected path = '/rpc/Indexer/'

constructor(hostname: string, fetch: Fetch) {
this.hostname = hostname.replace(/\/*$/, '')

Check failure

Code scanning / CodeQL

Polynomial regular expression used on uncontrolled data High library

This
regular expression
that depends on
library input
may run slow on strings with many repetitions of '/'.
This
regular expression
that depends on
library input
may run slow on strings with many repetitions of '/'.
protected path = '/rpc/Collections/'

constructor(hostname: string, fetch: Fetch) {
this.hostname = hostname.replace(/\/*$/, '')

Check failure

Code scanning / CodeQL

Polynomial regular expression used on uncontrolled data High library

This
regular expression
that depends on
library input
may run slow on strings with many repetitions of '/'.
This
regular expression
that depends on
library input
may run slow on strings with many repetitions of '/'.
protected path = '/rpc/Admin/'

constructor(hostname: string, fetch: Fetch) {
this.hostname = hostname.replace(/\/*$/, '')

Check failure

Code scanning / CodeQL

Polynomial regular expression used on uncontrolled data High library

This
regular expression
that depends on
library input
may run slow on strings with many repetitions of '/'.
protected path = '/rpc/Relayer/'

constructor(hostname: string, fetch: Fetch) {
this.hostname = hostname.replace(/\/*$/, '')

Check failure

Code scanning / CodeQL

Polynomial regular expression used on uncontrolled data High library

This
regular expression
that depends on
library input
may run slow on strings with many repetitions of '/'.
this.readyPromise.catch(() => {})
this.initId = this.generateId()
const fullWalletUrl = path ? `${this.walletUrl}${path}` : this.walletUrl
this.sessionId = this.generateId()

Check failure

Code scanning / CodeQL

Insecure randomness High library

This uses a cryptographically insecure random number generated at
Math.random()
in a security context.

Copilot Autofix

AI about 1 month ago

To fix this, generateId() should stop using Math.random() and instead use a cryptographically secure source of randomness. In a browser, that is window.crypto.getRandomValues. We can generate a sequence of random bytes, encode them (for example as base36/hex), and keep the same “timestamp-randomPart” shape so existing behavior and usage patterns remain unchanged.

Concretely, in wagmi-project/packages/sequence-core-1.0.0/packages/wallet/dapp-client/src/DappTransport.ts, update the generateId() method at lines 515–517 to:

  • Keep using Date.now().toString(36) as the prefix.
  • Replace Math.random().toString(36).substring(2, 9) with a helper that creates a random base‑36 string from bytes generated via crypto.getRandomValues(new Uint8Array(n)).
    No extra imports are needed because window.crypto / self.crypto are standard in browsers; we can just call window.crypto directly.
Suggested changeset 1
wagmi-project/packages/sequence-core-1.0.0/packages/wallet/dapp-client/src/DappTransport.ts

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/wagmi-project/packages/sequence-core-1.0.0/packages/wallet/dapp-client/src/DappTransport.ts b/wagmi-project/packages/sequence-core-1.0.0/packages/wallet/dapp-client/src/DappTransport.ts
--- a/wagmi-project/packages/sequence-core-1.0.0/packages/wallet/dapp-client/src/DappTransport.ts
+++ b/wagmi-project/packages/sequence-core-1.0.0/packages/wallet/dapp-client/src/DappTransport.ts
@@ -513,6 +513,15 @@
   }
 
   private generateId(): string {
-    return `${Date.now().toString(36)}-${Math.random().toString(36).substring(2, 9)}`
+    // Use cryptographically secure randomness instead of Math.random
+    const bytes = new Uint8Array(8)
+    window.crypto.getRandomValues(bytes)
+    let randomPart = ''
+    for (let i = 0; i < bytes.length; i++) {
+      // Convert each byte to base36 (0-9a-z), pad to at least 2 chars, and append
+      randomPart += bytes[i].toString(36).padStart(2, '0')
+    }
+    // Keep overall format stable: "<timestampBase36>-<randomString>"
+    return `${Date.now().toString(36)}-${randomPart.substring(0, 7)}`
   }
 }
EOF
@@ -513,6 +513,15 @@
}

private generateId(): string {
return `${Date.now().toString(36)}-${Math.random().toString(36).substring(2, 9)}`
// Use cryptographically secure randomness instead of Math.random
const bytes = new Uint8Array(8)
window.crypto.getRandomValues(bytes)
let randomPart = ''
for (let i = 0; i < bytes.length; i++) {
// Convert each byte to base36 (0-9a-z), pad to at least 2 chars, and append
randomPart += bytes[i].toString(36).padStart(2, '0')
}
// Keep overall format stable: "<timestampBase36>-<randomString>"
return `${Date.now().toString(36)}-${randomPart.substring(0, 7)}`
}
}
Copilot is powered by AI and may make mistakes. Always verify output.
@Dargon789 Dargon789 committed this autofix suggestion about 1 month ago.
} catch (error) {
if (!silent) console.log(`[${new Date().toISOString()}] JSON parse error:`, error)
res.statusCode = 400
res.end(JSON.stringify(errorResponse(undefined, -32700, 'Parse error', String(error))))

Check warning

Code scanning / CodeQL

Information exposure through a stack trace Medium library

This information exposed to the user depends on
stack trace information
.

Copilot Autofix

AI about 1 month ago

In general, the fix is to avoid returning exception details derived from a caught error back to the remote client. Instead, log the error server-side (for diagnostics) and respond with a generic, standard JSON-RPC error object that does not include stack traces or detailed internal messages in the data field.

Concretely, in server.ts, within the try/catch around JSON.parse(body), we should keep the server-side logging (console.log(...)) but change the call to errorResponse so that it does not include String(error) as the data argument. For a JSON-RPC parse error (-32700), it is sufficient to send just the error code and a generic "Parse error" message. This means updating line 329 from JSON.stringify(errorResponse(undefined, -32700, 'Parse error', String(error))) to JSON.stringify(errorResponse(undefined, -32700, 'Parse error')). No new imports are needed, and no other behavior changes are required; the HTTP status code and logging remain the same, but the client no longer sees the exact exception details.

Suggested changeset 1
wagmi-project/packages/sequence-core-1.0.0/packages/wallet/primitives-cli/src/subcommands/server.ts

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/wagmi-project/packages/sequence-core-1.0.0/packages/wallet/primitives-cli/src/subcommands/server.ts b/wagmi-project/packages/sequence-core-1.0.0/packages/wallet/primitives-cli/src/subcommands/server.ts
--- a/wagmi-project/packages/sequence-core-1.0.0/packages/wallet/primitives-cli/src/subcommands/server.ts
+++ b/wagmi-project/packages/sequence-core-1.0.0/packages/wallet/primitives-cli/src/subcommands/server.ts
@@ -326,7 +326,7 @@
   } catch (error) {
     if (!silent) console.log(`[${new Date().toISOString()}] JSON parse error:`, error)
     res.statusCode = 400
-    res.end(JSON.stringify(errorResponse(undefined, -32700, 'Parse error', String(error))))
+    res.end(JSON.stringify(errorResponse(undefined, -32700, 'Parse error')))
     return
   }
 
EOF
@@ -326,7 +326,7 @@
} catch (error) {
if (!silent) console.log(`[${new Date().toISOString()}] JSON parse error:`, error)
res.statusCode = 400
res.end(JSON.stringify(errorResponse(undefined, -32700, 'Parse error', String(error))))
res.end(JSON.stringify(errorResponse(undefined, -32700, 'Parse error')))
return
}

Copilot is powered by AI and may make mistakes. Always verify output.
@Dargon789 Dargon789 committed this autofix suggestion about 1 month ago.
Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 300 files, and this pull request has 3668

@snyk-io
Copy link

snyk-io bot commented Dec 26, 2025

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@gemini-code-assist
Copy link

Summary of Changes

Hello @Dargon789, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request marks a substantial update to the project, primarily by revamping the documentation and integrating a new 'wagmi-project' structure. It includes a wide array of dependency upgrades across various packages, enhancing stability and leveraging modern development practices. Additionally, the PR refines CLI functionalities, improves GitHub workflows, and addresses several minor bugs and security-related aspects, such as improving nonce generation and handling API errors more gracefully.

Highlights

  • README Overhaul: The project's main README.md file has been completely restructured and updated to reflect a new focus on 'wagmi' (Reactive primitives for Ethereum apps), including new badges, documentation links, community resources, contributing guidelines, and a comprehensive list of sponsors.
  • Dependency Updates: Numerous dependencies across core, utility, and UI packages have been updated to their latest versions, including next, react, react-dom, eslint, typescript, @changesets/cli, lefthook, prettier, and turbo. This ensures the project benefits from the latest features, bug fixes, and security patches.
  • CLI and Workflow Enhancements: New GitHub workflows for changesets, dependency review, issue labeling, and pull requests have been introduced, alongside updated CircleCI configurations and new GitHub issue templates. The CLI now includes improved configuration validation and plugin handling, with specific fixes for signer 404 errors and enhanced nonce generation randomness.
  • New Wagmi Project Integration: A new 'wagmi-project' directory has been added, containing extensive new files for CLI, connectors, and core functionalities, suggesting a significant expansion or rebranding of the project to align with the 'wagmi' ecosystem for Ethereum application development.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/Publish-Dists.yml
    • .github/workflows/tests.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a variety of changes, including significant security improvements, dependency updates, and a major refactoring of the README file. The PR title, "Revise README structure and add sponsorship details," is somewhat misleading as it doesn't cover the full scope of the changes, which also include important bug fixes and feature enhancements.

Key improvements include a critical security fix by replacing a predictable nonce generation with a cryptographically secure one, and another security enhancement to prevent leaking internal error details in API responses. There are also optimizations for handling signers that don't require witness probing.

However, there are two major issues with this pull request. First, the README.md file has been completely replaced with content from the wagmi project, which is irrelevant to sequence.js. This needs to be corrected. Second, an entire wagmi-project directory has been added, which seems to be a mistake and should be removed from this PR.

I have provided specific feedback on the security fixes and the README.md file. Please address the issues with the README and the extraneous wagmi-project directory.

Comment on lines +1 to 275
<!-- > [!IMPORTANT] -->
<!-- > Wagmi is participating in Gitcoin Grants round 21. Consider <a href="https://explorer.gitcoin.co/#/round/42161/389/74">supporting the project</a>. Thank you. 🙏 -->

**NOTE: please see [v2](https://github.com/0xsequence/sequence.js/tree/v2) branch for sequence.js 2.x.x**
<br>

<p align="center">
<a href="https://wagmi.sh">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/wagmi/main/.github/logo-dark.svg">
<img alt="wagmi logo" src="https://raw.githubusercontent.com/wevm/wagmi/main/.github/logo-light.svg" width="auto" height="60">
</picture>
</a>
</p>

<p align="center">
Reactive primitives for Ethereum apps (https://sequence.xyz/)
</p>

<p align="center">
<a href="https://www.npmjs.com/package/wagmi">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/v/wagmi?colorA=21262d&colorB=21262d">
<img src="https://img.shields.io/npm/v/wagmi?colorA=f6f8fa&colorB=f6f8fa" alt="Version">
</picture>
</a>
<a href="https://scorecard.dev/viewer/?uri=github.com/ossf/scorecard">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/ossf-scorecard/github.com/wevm/wagmi?label=openssf+scorecard&style=flat&color=21262d&labelColor=21262d">
<img src="https://img.shields.io/ossf-scorecard/github.com/wevm/wagmi?label=openssf+scorecard&style=flat&color=f6f8fa&labelColor=f6f8fa" alt="OpenSSF Best Practices">
</picture>
</a>
<a href="https://www.bestpractices.dev/en/projects/11233">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/badge/openssf_best_practices-passing-21262d?labelColor=21262d">
<img src="https://img.shields.io/badge/openssf_best_practices-passing-f6f8fa?labelColor=f6f8fa" alt="OpenSSF Best Practices">
</picture>
</a>
<br />
<a href="https://github.com/wevm/wagmi/blob/main/LICENSE">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/l/wagmi?colorA=21262d&colorB=21262d">
<img src="https://img.shields.io/npm/l/wagmi?colorA=f6f8fa&colorB=f6f8fa" alt="MIT License">
</picture>
</a>
<a href="https://www.npmjs.com/package/wagmi">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/npm/dm/@wagmi/core?colorA=21262d&colorB=21262d">
<img src="https://img.shields.io/npm/dm/@wagmi/core?colorA=f6f8fa&colorB=f6f8fa" alt="Downloads per month">
</picture>
</a>
<a href="https://bestofjs.org/projects/wagmi">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/endpoint?colorA=21262d&colorB=21262d&url=https://bestofjs-serverless.now.sh/api/project-badge?fullName=wevm%2Fwagmi%26since=daily">
<img src="https://img.shields.io/endpoint?colorA=f6f8fa&colorB=f6f8fa&url=https://bestofjs-serverless.now.sh/api/project-badge?fullName=wevm%2Fwagmi%26since=daily" alt="Best of JS">
</picture>
</a>
<a href="https://app.codecov.io/gh/wevm/wagmi">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/codecov/c/github/wevm/wagmi?colorA=21262d&colorB=21262d">
<img src="https://img.shields.io/codecov/c/github/wevm/wagmi?colorA=f6f8fa&colorB=f6f8fa" alt="Code coverage">
</picture>
</a>
</p>

---

Sequence v3 core libraries and [wallet-contracts-v3](https://github.com/0xsequence/wallet-contracts-v3) SDK.
## Documentation

For documentation and guides, visit [wagmi.sh](https://wagmi.sh).

## Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

## Packages
[Discuss Wagmi on GitHub](https://github.com/wevm/wagmi/discussions)

- `@0xsequence/wallet-primitives`: stateless low-level utilities specifically for interacting directly with sequence wallet's smart contracts
- `@0xsequence/wallet-core`: higher level utilities for creating and using sequence wallets
- `@0xsequence/wallet-wdk`: all-in-one wallet development kit for building a sequence wallet product
For casual chit-chat with others using the framework:

## Development
[Join the Wagmi Discord](https://discord.gg/SghfWBKexF)

### Getting Started
## Contributing

1. Install dependencies:
`pnpm install`
Contributions to Wagmi are greatly appreciated! If you're interested in contributing to Wagmi, please read the [Contributing Guide](https://wagmi.sh/dev/contributing) **before submitting a pull request**.

2. Build all packages:
`pnpm build`
## Sponsors

### Development Workflow
If you find Wagmi useful or use it for work, please consider [sponsoring Wagmi](https://github.com/sponsors/wevm?metadata_campaign=gh_readme_support). Thank you 🙏

- Run development mode across all packages:
`pnpm dev`
<p>
<a href="https://paradigm.xyz">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/paradigm-dark.svg">
<img alt="paradigm logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/paradigm-light.svg" width="auto" height="70">
</picture>
</a>
<a href="https://ithaca.xyz">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/ithaca-dark.svg">
<img alt="ithaca logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/ithaca-light.svg" width="auto" height="70">
</picture>
</a>
</p>

- Run tests:
`pnpm test`
<p>
<a href="https://twitter.com/family">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/family-dark.svg">
<img alt="family logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/family-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://twitter.com/context">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/context-dark.svg">
<img alt="context logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/context-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://walletconnect.com">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/walletconnect-dark.svg">
<img alt="WalletConnect logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/walletconnect-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://twitter.com/prtyDAO">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/partydao-dark.svg">
<img alt="PartyDAO logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/partydao-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://dynamic.xyz">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/dynamic-dark.svg">
<img alt="Dynamic logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/dynamic-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://sushi.com">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/sushi-dark.svg">
<img alt="Sushi logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/sushi-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://stripe.com">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/stripe-dark.svg">
<img alt="Stripe logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/stripe-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://www.privy.io">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/privy-dark.svg">
<img alt="Privy logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/privy-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://pancakeswap.finance/">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/pancake-dark.svg">
<img alt="pancake logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/pancake-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://celo.org">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/celo-dark.svg">
<img alt="celo logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/celo-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://rainbow.me">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/rainbow-dark.svg">
<img alt="rainbow logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/rainbow-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://pimlico.io">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/pimlico-dark.svg">
<img alt="pimlico logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/pimlico-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://zora.co">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/zora-dark.svg">
<img alt="zora logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/zora-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://lattice.xyz">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/lattice-dark.svg">
<img alt="lattice logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/lattice-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://twitter.com/supafinance">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/supa-dark.svg">
<img alt="supa logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/supa-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://zksync.io">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/zksync-dark.svg">
<img alt="zksync logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/zksync-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://syndicate.io">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/syndicate-dark.svg">
<img alt="syndicate logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/syndicate-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://reservoir.tools">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/reservoir-dark.svg">
<img alt="reservoir logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/reservoir-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://linea.build">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/linea-dark.svg">
<img alt="linea logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/linea-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://uniswap.org">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/uniswap-dark.svg">
<img alt="uniswap logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/uniswap-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://biconomy.io">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/biconomy-dark.svg">
<img alt="biconomy logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/biconomy-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://thirdweb.com">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/thirdweb-dark.svg">
<img alt="thirdweb logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/thirdweb-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://polymarket.com">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/polymarket-dark.svg">
<img alt="polymarket logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/polymarket-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://routescan.io">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/routescan-dark.svg">
<img alt="routescan logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/routescan-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://sequence.xyz">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/sequence-dark.svg">
<img alt="sequence logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/sequence-light.svg" width="auto" height="50">
</picture>
</a>
<a href="https://gemini.com">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/gemini-dark.svg">
<img alt="gemini logo" src="https://raw.githubusercontent.com/wevm/.github/main/content/sponsors/gemini-light.svg" width="auto" height="50">
</picture>
</a>
</p>

> **Note:** Tests require [anvil](https://github.com/foundry-rs/foundry/tree/master/anvil) and [forge](https://github.com/foundry-rs/foundry) to be installed. You can run a local anvil instance using `pnpm run test:anvil`.
[Sponsor Wagmi](https://github.com/sponsors/wevm?metadata_campaign=gh_readme_support_bottom)

- Linting and formatting is enforced via git hooks
<br />
<br />

## License
<a href="https://vercel.com/?utm_source=wevm&utm_campaign=oss">
<img src="https://www.datocms-assets.com/31049/1618983297-powered-by-vercel.svg" alt="Powered by Vercel" height="35">
</a>
<br />
<a href="https://quicknode.com/?utm_source=wevm&utm_campaign=oss">
<img src="https://raw.githubusercontent.com/wevm/.github/refs/heads/main/content/quicknode-badge.svg" alt="Powered by QuickNode" height="35">
</a>

Choose a reason for hiding this comment

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

critical

The content of this README appears to be for the wagmi project, not sequence.js. All branding, links, and information are related to wagmi. This seems to be a copy-paste error and needs to be corrected to reflect the sequence.js project. For example, links point to wagmi.sh, github.com/wevm/wagmi, and the sponsors listed are for wagmi.

},
digest: Hex.fromBytes(digest),
nonce: Hex.fromNumber(Date.now()),
nonce: Hex.random(16),

Choose a reason for hiding this comment

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

critical

This is an excellent and critical security improvement. Using Date.now() for a nonce is insecure because it's predictable and not guaranteed to be unique, especially in high-throughput scenarios. Switching to Hex.random(16) generates a cryptographically secure random nonce, which is the correct approach to prevent replay attacks and other potential vulnerabilities.

Comment on lines +330 to +331
// Return a generic parse error without exposing internal error details to the client
res.end(JSON.stringify(errorResponse(undefined, -32700, 'Parse error')))

Choose a reason for hiding this comment

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

high

This is a great security enhancement. By removing String(error) from the JSON-RPC error response, you are preventing the leakage of potentially sensitive internal error details, such as stack traces or file paths, to the client. This is a best practice for building secure APIs.

Comment on lines +322 to +324
const sessionsModule = config.raw.modules.find((m: any) =>
Address.isEqual(m.sapientLeaf.address, sessionsModuleAddress),
)

Choose a reason for hiding this comment

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

medium

Using any for the type of m bypasses TypeScript's type safety. It would be more robust to use a proper type or a type guard to ensure that m has the sapientLeaf property before accessing it. This would make the test code safer and clearer.

Suggested change
const sessionsModule = config.raw.modules.find((m: any) =>
Address.isEqual(m.sapientLeaf.address, sessionsModuleAddress),
)
const sessionsModule = config.raw.modules.find((m: any) =>
m.sapientLeaf && Address.isEqual(m.sapientLeaf.address, sessionsModuleAddress),
)

Comment on lines +365 to +367
const sessionsModule = config.raw.modules.find((m: any) =>
Address.isEqual(m.sapientLeaf.address, sessionsModuleAddress),
)

Choose a reason for hiding this comment

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

medium

Similar to the previous comment, using any here weakens type safety. Consider using a type guard or a more specific type to ensure m.sapientLeaf exists and is of the correct type before it's accessed.

Suggested change
const sessionsModule = config.raw.modules.find((m: any) =>
Address.isEqual(m.sapientLeaf.address, sessionsModuleAddress),
)
const sessionsModule = config.raw.modules.find((m: any) =>
m.sapientLeaf && Address.isEqual(m.sapientLeaf.address, sessionsModuleAddress),
)

@Dargon789 Dargon789 merged commit 6efa62e into snyk-fix-1a42f46a3694152c28f6d1d4dc5aea44 Dec 26, 2025
22 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants