Repository navigation
Conversation
Phase 1 of the wagmi v3 migration — smallest diff to run on wagmi 3.7 / viem 2.55. All v2 hook call sites are kept on their (deprecated but still-exported) v3 aliases; renames to useConnection/mutate etc. are deferred to a follow-up. Breaking / notable changes: - peerDependencies: wagmi 3.x, react/react-dom >=18 (wagmi 3 drops 17) - wagmi 3 no longer bundles connector SDKs; declare @coinbase/wallet-sdk, @walletconnect/ethereum-provider and @safe-global/* as direct deps so getDefaultConfig stays batteries-included - import connectors from per-connector entry points (wagmi/connectors/<name>) instead of the barrel — the barrel drags porto's uninstalled optional SDK into bundler module graphs - coinbaseWallet: version generic removed from CoinbaseWalletParameters (SDK v4 only); overrideIsMetaMask option no longer exists; coinbaseWalletPreference is now object-form only - useBalance no longer returns `formatted` — format via viem formatUnits - declare window.ethereum locally (no longer provided transitively) - widen @aave/account wagmi peer to 2.x || 3.x via packageExtensions until a release ships with the updated range - dedupe viem to a single instance (root resolution + TS 5.9 bump in connectkit-next-siwe) to avoid duplicate-type errors - examples: bump wagmi/viem/typescript, tsconfig target es5 -> ES2020 (viem's ox requires ES2020+) Verified: connectkit, connectkit-next-siwe, vite, nextjs, nextjs-app and testbench all build. nextjs-siwe fails on a pre-existing missing tailwindcss dep (broken on main, unrelated). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Phase 2 of the wagmi v3 migration — adopt wagmi's individual-connector model so apps only install and bundle the connectors they use. - New connectkit/connectors/* entry points: injected, metaMask, aaveAccount (dependency-free, also exported from the main entry) and coinbaseWallet, walletConnect, safe (each isolated in its own entry so their SDK never enters the bundle graph of apps that don't import it) - Factories return a ConnectKitConnector descriptor that getDefaultConfig resolves with app-level context (appName/appIcon, walletConnectProjectId, coinbaseWalletPreference, aaveAccountOptions); factory options take precedence, plain wagmi CreateConnectorFn values pass through, and descriptors may resolve to null (safe outside app frames, walletConnect without a project id — both matching 1.x behavior) - @coinbase/wallet-sdk, @walletconnect/ethereum-provider and @safe-global/* move from dependencies to optional peerDependencies - getDefaultConfig's default connector set shrinks to the dependency-free connectors: aaveAccount + metaMask; walletConnectProjectId is now optional - useWalletConnectModal gets the wagmi walletConnect factory from a registry populated by the walletConnect entry point instead of a static import (which would break SDK-less builds) - Multi-entry rollup build (index + connectors/*) with exports map and typesVersions for node-resolution consumers - Examples migrated to the explicit connectors API with SDKs added to their dependencies; MIGRATION.md added and shipped with the package Verified: packed-tarball smoke tests (SDK-less app builds with defaults; walletConnect subpath builds with only the WC SDK installed); built main entry imports only zero-dependency connector modules; connectkit, connectkit-next-siwe, vite, nextjs, nextjs-app and testbench all build (nextjs-siwe still fails on its pre-existing missing tailwindcss dep). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds install + provider setup snippets, the per-connector opt-in example (connectkit/connectors/*), and a link to the migration guide. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
@sammdec is attempting to deploy a commit to the Aave Team on Vercel. A member of the Team first needs to authorize it. |
@coinbase/cdp-sdk pins axios@1.16.0 exactly, which carries one high and several moderate advisories flagged by the dependency-review check. Override via root resolutions, matching the repo's existing security pins. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
tkowalczyk
pushed a commit
to auditmos/tstack-on-cf-onchain
that referenced
this pull request
Aug 7, 2026
Both majors stay frozen, with reasoning recorded rather than assumed: - wagmi 3: ConnectKit's only release (1.9.2) peer-pins wagmi to 2.x. ConnectKit's wagmi-v3 upgrade is in progress upstream (family/connectkit#514) but unmerged, with manual QA outstanding and blocked on an upstream @aave/account release. Decision: stay on wagmi 2 + ConnectKit 1.9.2 until that ships. - vite 8: every load-bearing plugin (@cloudflare/vite-plugin, @tanstack/react-start, vite-tsconfig-paths, @tailwindcss/vite, vitest) already supports vite 8 — except @vitejs/plugin-react's current major, which tops out at vite 7. Lifting the pin cleanly would require a second, unscoped @vitejs/plugin-react major bump. Decision: keep the pin; reason recorded next to it in vite.config.ts and in README's new Dependency Policy section. Neither migration is executed here; both stay visible via the majors-report tracked issue (#50) until the blocking dependency moves. Closes #51
This branch has not been deployed
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Upgrades ConnectKit to wagmi v3 (3.7.4) / latest viem 2.x (2.55.8) and adopts wagmi v3's connector model: connector SDKs become optional peer dependencies and connectors are added individually, so apps only install and bundle what they use.
Phase 1 — smallest-diff wagmi v3 compatibility (98b6cb0)
wagmi 3.x,react >=18; TypeScript 5.9.3; version →2.0.0useConnection/mutaterename is deferred to a follow-up chorewagmi/connectors/<name>) instead of the barrel, which drags porto's uninstalled optional SDK into bundler graphsCoinbaseWalletParametersversion generic removed (SDK v4-only);overrideIsMetaMaskgone;coinbaseWalletPreferenceis object-form onlyuseBalance().formattedremoved in wagmi 3 → localformatUnitswindow.ethereumdeclared locally (no longer provided transitively)@aave/accountwagmi peer widened to2.x || 3.xvia yarn packageExtensions — needs a real release before ConnectKit 2.0 shipsPhase 2 — individual connectors (73adf0c)
connectkit/connectors/{coinbaseWallet,walletConnect,safe}(each isolates its SDK) plus dependency-freeinjected/metaMask/aaveAccounton the main entrygetDefaultConfighydrates with app-level context (appName/appIcon,walletConnectProjectId, …); factory options win; plain wagmi connectors mix in; descriptors may resolve to null (safe outside app frames, walletConnect without a project id — matching 1.x)@coinbase/wallet-sdk,@walletconnect/ethereum-provider,@safe-global/*→ optional peers; default connector set = Aave Account + MetaMask (injected)useWalletConnectModalreads the WC factory from a registry populated by the walletConnect entry point (a static import would break SDK-less builds)exports/typesVersionsmaps;MIGRATION.mdships with the package; README + all examples migratedVerification
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.