Skip to content

Comments

Master ceb95d4#129

Merged
Dargon789 merged 8 commits intomasterfrom
master-ceb95d4
Dec 22, 2025
Merged

Master ceb95d4#129
Dargon789 merged 8 commits intomasterfrom
master-ceb95d4

Conversation

@Dargon789
Copy link
Owner

@Dargon789 Dargon789 commented Dec 21, 2025

Summary by Sourcery

Introduce a new wagmi-based React dapp example project, harden ID generation in the dapp client, and add basic project management and CI/security metadata.

New Features:

  • Add a new Vite-based React wagmi-project showcasing wallet connection and account display using wagmi and viem.

Bug Fixes:

  • Improve ID generation in DappTransport by using cryptographically secure randomness instead of Math.random.

Build:

  • Add Vite and TypeScript configuration plus npm scripts for building, developing, and linting the new wagmi project.
  • Introduce Azure Pipelines and CircleCI configurations for Node.js build and basic checkout workflow.

CI:

  • Configure a CircleCI workflow with a custom executor to run a minimal job on repository checkout.

Documentation:

  • Add standard GitHub issue templates for bug reports and feature requests, along with a basic security policy document.
  • Document the wagmi example project as a Vite app bootstrapped via create-wagmi.

Chores:

  • Add repository metadata files such as CNAME, funding configuration, and miscellaneous sandbox/cache placeholders.

Dargon789 and others added 2 commits December 22, 2025 02:16
* 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>
@codesandbox
Copy link

codesandbox bot commented Dec 21, 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.

@sourcery-ai
Copy link

sourcery-ai bot commented Dec 21, 2025

Reviewer's Guide

Improve ID generation security in the dapp client and add a new wagmi-based React demo project plus CI/configuration and GitHub metadata files.

Sequence diagram for wallet connection in the wagmi React demo

sequenceDiagram
  actor User
  participant BrowserUI
  participant App
  participant WagmiProvider
  participant Connector
  participant Wallet

  User->>BrowserUI: Click Connect button
  BrowserUI->>App: onClick event
  App->>WagmiProvider: connect(connector)
  WagmiProvider->>Connector: connect()
  Connector->>Wallet: requestConnection()
  Wallet-->>Connector: approveConnection
  Connector-->>WagmiProvider: connectionResult(account, chainId)
  WagmiProvider-->>App: update account state
  App-->>BrowserUI: render connected account info
Loading

Class diagram for the new wagmi React demo project

classDiagram
  class MainEntry {
    +renderRoot(rootElement)
  }

  class App {
    +useAccount()
    +useConnect()
    +useDisconnect()
    +render()
  }

  class WagmiConfigModule {
    +config
    +createConfig()
  }

  class WagmiProvider {
    +config
  }

  class QueryClientProvider {
    +client
  }

  class QueryClient {
    +constructor()
  }

  class InjectedConnector {
    +connect()
    +disconnect()
  }

  class CoinbaseWalletConnector {
    +connect()
    +disconnect()
  }

  class WalletConnectConnector {
    +projectId
    +connect()
    +disconnect()
  }

  class ChainMainnet {
    +id
  }

  class ChainSepolia {
    +id
  }

  MainEntry --> App : renders
  MainEntry --> WagmiProvider : wraps
  WagmiProvider --> QueryClientProvider : wraps
  QueryClientProvider --> App : provides

  WagmiProvider --> WagmiConfigModule : uses config
  WagmiConfigModule o-- InjectedConnector : has
  WagmiConfigModule o-- CoinbaseWalletConnector : has
  WagmiConfigModule o-- WalletConnectConnector : has
  WagmiConfigModule o-- ChainMainnet : transports
  WagmiConfigModule o-- ChainSepolia : transports

  App --> WagmiProvider : uses hooks via
  App --> InjectedConnector : connects via
  App --> CoinbaseWalletConnector : connects via
  App --> WalletConnectConnector : connects via

  QueryClientProvider --> QueryClient : owns
Loading

File-Level Changes

Change Details Files
Harden ID generation in DappTransport to use cryptographically secure randomness in browsers.
  • Replace Math.random-based ID suffix with crypto.getRandomValues on a Uint32Array
  • Generate a base-36 random string from two 32-bit values and slice to 9 chars
  • Preserve timestamp-based prefix while changing randomness implementation
packages/wallet/dapp-client/src/DappTransport.ts
Introduce a new wagmi-based React/Vite demo application for wallet connectivity.
  • Add Vite React app skeleton with wagmi integration and root index.html
  • Configure wagmi with mainnet and sepolia chains and common connectors (injected, Coinbase Wallet, WalletConnect)
  • Wire up React Query, WagmiProvider, and a simple App component that shows account status and connect/disconnect flows
  • Add TypeScript, Vite, and React config (tsconfig, vite.config, vite-env) plus basic dark/light CSS theme
  • Define project dependencies, scripts, and linting via package.json and biome.json, and add supporting project dotfiles (.gitignore, .npmrc, tsconfig.node)
wagmi-project/package.json
wagmi-project/src/App.tsx
wagmi-project/src/main.tsx
wagmi-project/src/wagmi.ts
wagmi-project/src/index.css
wagmi-project/index.html
wagmi-project/vite.config.ts
wagmi-project/tsconfig.json
wagmi-project/tsconfig.node.json
wagmi-project/src/vite-env.d.ts
wagmi-project/.gitignore
wagmi-project/.npmrc
wagmi-project/biome.json
Add repository metadata, templates, and CI configuration.
  • Add GitHub issue templates for bugs, feature requests, and custom issues
  • Introduce SECURITY policy and FUNDING configuration files
  • Add Azure Pipelines configuration for building the Node.js project on master using Node 10 and npm build
  • Add CircleCI config with a basic job and custom Docker executor
  • Add misc repo config files such as CNAME, CodeSandbox tasks, and v8 compile cache artifacts
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/feature_request.md
.github/ISSUE_TEMPLATE/custom.md
SECURITY.md
FUNDING.json
azure-pipelines.yml
.circleci/config.yml
CNAME
.codesandbox/tasks.json
v8-compile-cache-0/x64/11.3.244.8-node.19/zSprojectzSsequence.jszSnode_moduleszS.pnpmzS@preconstruct+cli@2.8.7zSnode_moduleszS@preconstructzSclizSbin.js.MAP
v8-compile-cache-0/x64/11.3.244.8-node.19/zSprojectzSworkspacezSnode_moduleszS.pnpmzS@preconstruct+cli@2.8.7zSnode_moduleszS@preconstructzSclizSbin.js.MAP

Possibly linked issues

  • Feature/integration #17: The PR implements the wagmi React app, security policy, and Azure/Azure-like pipeline described in the issue.
  • Fix merge branch 0xsequence/master #86: They both implement the wagmi-project demo app plus associated CI, security workflows, and GitHub issue templates.
  • 0xsequence/master #79: The PR implements the described CI/CD configs and GitHub templates, matching the issue’s requested configuration types.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@snyk-io
Copy link

snyk-io bot commented Dec 21, 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 serves as a foundational commit, likely initializing a new project or a significant update to the development infrastructure. It introduces a new Web3 application built with Wagmi, React, and Vite, alongside comprehensive CI/CD setups for CircleCI and Azure Pipelines. The changes also include configurations for a streamlined CodeSandbox development environment, an important security enhancement for ID generation, and the addition of standard project documentation and templates.

Highlights

  • New Wagmi Project Setup: A new 'wagmi-project' directory has been introduced, containing a complete Vite/React application setup integrated with Wagmi for Web3 interactions, including basic account connection functionality.
  • CI/CD and Development Environment Configuration: Initial configurations for CircleCI and Azure Pipelines have been added to establish automated build and deployment workflows. Additionally, a 'tasks.json' file is included for CodeSandbox, streamlining the development environment with predefined pnpm commands.
  • Enhanced Randomness for ID Generation: The 'DappTransport.ts' file has been updated to utilize 'window.crypto.getRandomValues' for generating IDs, replacing 'Math.random()' to provide cryptographically more secure randomness.
  • Project Governance and Metadata: Several new files have been added to improve project governance and provide essential metadata, including GitHub issue templates (bug report, feature request, custom), a 'FUNDING.json' file, a 'SECURITY.md' policy, and a 'CNAME' for custom domain mapping.

🧠 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.

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

@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.

Hey - I've found 5 issues, and left some high level feedback:

  • The new generateId implementation directly references window.crypto, which will throw in non-browser environments (SSR/Node/React Native); consider using globalThis.crypto with a feature check or falling back to the previous implementation when crypto is unavailable.
  • The wagmi-project/package.json uses semver ranges like "wagmi": "~0.x.x" and "@wagmi/cli": "~0.x.x", which are not valid semver; replace these with concrete major/minor/patch versions to avoid install/build issues.
  • The Azure pipeline is configured to use Node.js 10.x, which is incompatible with Vite 5 and the broader modern tooling in this repo; update the pipeline to use a supported Node version (e.g., 18+ or 20+).
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The new `generateId` implementation directly references `window.crypto`, which will throw in non-browser environments (SSR/Node/React Native); consider using `globalThis.crypto` with a feature check or falling back to the previous implementation when `crypto` is unavailable.
- The `wagmi-project/package.json` uses semver ranges like `"wagmi": "~0.x.x"` and `"@wagmi/cli": "~0.x.x"`, which are not valid semver; replace these with concrete major/minor/patch versions to avoid install/build issues.
- The Azure pipeline is configured to use Node.js 10.x, which is incompatible with Vite 5 and the broader modern tooling in this repo; update the pipeline to use a supported Node version (e.g., 18+ or 20+).

## Individual Comments

### Comment 1
<location> `packages/wallet/dapp-client/src/DappTransport.ts:567-568` </location>
<code_context>
   private generateId(): string {
-    return `${Date.now().toString(36)}-${Math.random().toString(36).substring(2, 9)}`
+    // Use crypto.getRandomValues for cryptographically secure randomness
+    const array = new Uint32Array(2);
+    window.crypto.getRandomValues(array);
+    const randStr = (array[0].toString(36) + array[1].toString(36)).slice(0, 9);
+    return `${Date.now().toString(36)}-${randStr}`;
</code_context>

<issue_to_address>
**issue (bug_risk):** Direct use of `window.crypto` can break in non-browser environments or where `crypto` is unavailable.

If this transport is used in SSR, Node-based tooling, React Native, or some tests, unguarded access to `window.crypto` will throw when `window` or `crypto.getRandomValues` is missing. Please add feature detection (e.g. `globalThis.crypto?.getRandomValues`) with a safe fallback, or route ID generation through a platform-agnostic helper that handles environment differences.
</issue_to_address>

### Comment 2
<location> `wagmi-project/package.json:16-17` </location>
<code_context>
+    "@tanstack/react-query": "5.64.2",
+    "react": "^18.3.1",
+    "react-dom": "^18.3.1",
+    "viem": "^2.x",
+    "wagmi": "~0.x.x"
+  },
+  "devDependencies": {
</code_context>

<issue_to_address>
**issue (bug_risk):** The dependency ranges for `viem` and `wagmi` are not valid semver and will cause install failures.

These ranges (`^2.x`, `~0.x.x`) aren’t valid npm semver, so installs will fail. If these are placeholders, please replace them with real, tested versions (e.g. `"viem": "^2.21.0"`, `"wagmi": "^2.0.0"`).
</issue_to_address>

### Comment 3
<location> `azure-pipelines.yml:15` </location>
<code_context>
+steps:
+- task: NodeTool@0
+  inputs:
+    versionSpec: '10.x'
+  displayName: 'Install Node.js'
+
</code_context>

<issue_to_address>
**issue (bug_risk):** Node 10 is EOL and likely incompatible with the tooling and dependencies in this repo.

Recent versions of Vite, TypeScript, and wagmi/viem generally require Node >=16 (often >=18). Running CI on `10.x` is likely to fail or behave inconsistently. Please update this to the project’s supported Node version (e.g. `18.x` or `20.x`) and keep it consistent with local dev and other CI configs.
</issue_to_address>

### Comment 4
<location> `wagmi-project/src/main.tsx:12` </location>
<code_context>
+
+import './index.css'
+
+globalThis.Buffer = Buffer
+
+const queryClient = new QueryClient()
</code_context>

<issue_to_address>
**suggestion (bug_risk):** Unconditionally overwriting `globalThis.Buffer` can have unintended side effects.

This will replace any existing `globalThis.Buffer` implementation (e.g. from a bundler or polyfill). Consider guarding the assignment so it only runs when `Buffer` is missing, e.g. `if (!('Buffer' in globalThis)) { (globalThis as any).Buffer = Buffer }`.

```suggestion
if (!('Buffer' in globalThis)) {
  ;(globalThis as any).Buffer = Buffer
}
```
</issue_to_address>

### Comment 5
<location> `.circleci/config.yml:20-21` </location>
<code_context>
+    executor: my-custom-executor
+    steps:
+      - checkout
+      - run: |
+          # echo Hello, World!
+
+workflows:
</code_context>

<issue_to_address>
**suggestion (testing):** The CircleCI job currently runs a no-op script, so the pipeline doesn’t actually build or validate the project.

Since the `run` step only has a commented-out command, this job always passes without installing dependencies or running any build/lint/check steps. If this pipeline is meant to protect the repo, please hook it up to the real install and build/test commands (ideally matching what you run in Azure or locally).

Suggested implementation:

```
    steps:
      - checkout
      - run:
          name: Install dependencies, build, and run tests
          command: |
            # Install dependencies (adjust if you use yarn/pnpm/etc.)
            npm ci

            # Build the project (ensure this script exists in package.json)
            npm run build

            # Run tests (unit/integration as appropriate)
            npm test

```

You should adjust the `command` block to match what you actually run locally or in Azure (for example, replace `npm` commands with `yarn`, `pnpm`, `forge test`, `hardhat test`, or your framework-specific build/test commands). If different jobs or workflows exist for backend/frontend or separate services, mirror the same install/build/test steps used there for consistency.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Repository owner deleted a comment from vercel bot Dec 21, 2025
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com>
@vercel
Copy link

vercel bot commented Dec 21, 2025

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

Project Deployment Review Updated (UTC)
sequence-js-web Ready Ready Preview, Comment Dec 22, 2025 5:09pm
sequence.js Ready Ready Preview, Comment Dec 22, 2025 5:09pm
1 Skipped Deployment
Project Deployment Review Updated (UTC)
sequence-js-docs Skipped Skipped Dec 22, 2025 5:09pm

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 significant amount of new configuration and a new wagmi-project example. The changes include adding CI setups for CircleCI and Azure Pipelines, GitHub issue templates, and project funding/security metadata. A key improvement is hardening the ID generation in DappTransport to use cryptographically secure randomness.

My review focuses on the new configurations and the example project setup. I've identified some critical issues:

  • The Azure Pipelines configuration uses an end-of-life Node.js version, which is a security risk.
  • The new wagmi-project has invalid version ranges for its dependencies in package.json, which will prevent it from being installed.
  • The repository contains committed cache files that should be ignored.

I've also provided suggestions to improve maintainability and correctness in the CI configuration and security documentation. Please see the detailed comments below.

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>
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant