Repository navigation
feat(deps): remove WalletConnect from the app config and install tree - #131
Merged
Merged
Conversation
pasevin
force-pushed
the
chore/drop-walletconnect-connector
branch
from
August 20, 2026 20:12
2ffe046 to
f3eba81
Compare
BREAKING CHANGE: globalServiceConfigs.walletconnect is removed from
apps/role-manager/public/app.config.json, including its committed projectId.
Nothing reads it now.
WalletConnect's provider pulls in @reown/appkit, which moved to the Reown Community
License at 1.8.3: commercial fees above 500 monthly active users, a clause making
it a material condition that all use connect to Reown's gateway, and a
confidentiality clause. Pinning is a dead end -- every non-deprecated
@walletconnect/ethereum-provider release pins a community-licensed AppKit, and
every release still pinning Apache-2.0 AppKit 1.7.8 is deprecated on npm.
No wallet option actually changes in this app: both wallet UI kits here are already
configured as "custom".
- .pnpmfile.cjs strips @walletconnect/ethereum-provider from @wagmi/connectors and
@walletconnect/modal plus sign-client from the Stellar wallets kit, alongside the
Trezor hook already on main. Each host reaches WalletConnect through a single
isolated module nothing else imports.
- Added a bundler stub. @wagmi/connectors re-exports a walletConnect module
containing `await import('@walletconnect/ethereum-provider')`, and Rollup resolves
dynamic imports at build time even when the call site is unreachable, so stripping
the package broke the production build. The specifier is aliased to a stub that
throws, so any future accidental use is loud.
Result: @reown/*, @walletconnect/* and @trezor/* are all at zero lockfile entries.
Verified: 53 test files pass, typecheck, lint and format:check clean, the production
build succeeds, and pnpm install --frozen-lockfile passes.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
pasevin
force-pushed
the
chore/drop-walletconnect-connector
branch
from
August 20, 2026 21:19
f3eba81 to
e46dbf0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
@wagmi/connectorshard-depends on@walletconnect/ethereum-provider, which pulls in@reown/appkit. Reown moved AppKit to the Reown Community License at 1.8.3: commercial fees above 500 monthly active users, a clause making it a material condition that all use connect to Reown's gateway, and a confidentiality clause.Pinning was the alternative and it is a dead end:
@walletconnect/ethereum-providerThe deprecation line and the licence line are the same line. Upstream agrees — from the connector's own JSDoc in
@wagmi/connectors@6.2.0:Main removal: OpenZeppelin/openzeppelin-adapters#74.
What changed here
Dropped the
globalServiceConfigs.walletconnectblock — including its committedprojectId— fromapps/role-manager/public/app.config.json. Nothing reads it now.Worth noting no wallet option changes in this app: both wallet UI kits here are already configured as
"custom".Removing configuration does not remove the packages —
@wagmi/connectorsdeclares the provider as a hard dependency and this repo consumes the published adapters. So.pnpmfile.cjsstrips it, plus the Stellar kit's@walletconnect/modalandsign-client.Safe in both cases: each host reaches WalletConnect through a single isolated module nothing else imports — the wagmi one behind a
await import()in a connector nothing registers, the kit's in neither its barrel norallowAllModules(). Keying on the host manifests rather thanpnpm.patchedDependencieskeeps this independent of both package versions and of how deeply they are pulled in.Verification
format:checkcleanpnpm install --frozen-lockfilepasses