Skip to content

feat: split Coinbase Wallet and Base Account SDK into separate options#5505

Open
svenvoskamp wants to merge 1 commit intomainfrom
REOWN-4409
Open

feat: split Coinbase Wallet and Base Account SDK into separate options#5505
svenvoskamp wants to merge 1 commit intomainfrom
REOWN-4409

Conversation

@svenvoskamp
Copy link
Contributor

Summary

  • Adds enableCoinbase option to control the Coinbase Wallet SDK connector (default: true)
  • Adds enableBaseAccount option to control the Base Account SDK connector (default: true)
  • Creates new CoinbaseWalletProvider for Ethers/Ethers5 adapters
  • Adds getCoinbaseWalletConnector helper for Wagmi adapter

This allows developers to independently enable/disable each SDK based on their needs, providing more granular control over which Coinbase-related connectors are available in their application.

Changes

New Options

Option SDK Default
enableCoinbase Coinbase Wallet SDK (@coinbase/wallet-sdk) true
enableBaseAccount Base Account SDK (@base-org/account) true

Files Modified

  • OptionsController: Added new state properties and setters for enableCoinbase and enableBaseAccount
  • Wagmi Adapter: Updated addThirdPartyConnectors() to check both options
  • Ethers/Ethers5 Adapters: Updated to use both BaseProvider and new CoinbaseWalletProvider
  • appkit-base-client: Wired new options through initialization

New Files

  • packages/appkit-utils/src/ethers/CoinbaseWalletProvider.ts - New provider for Coinbase Wallet SDK

Test plan

  • Build passes (pnpm build)
  • All unit tests pass (pnpm test)
  • Manual testing: Verify enableCoinbase: true shows Coinbase Wallet option
  • Manual testing: Verify enableBaseAccount: true shows Base Account option
  • Manual testing: Verify both can be enabled simultaneously
  • Test with Wagmi and Ethers adapters

🤖 Generated with Claude Code

Add separate configuration options for Coinbase Wallet SDK and Base Account SDK:
- `enableCoinbase` - Controls Coinbase Wallet SDK connector (default: true)
- `enableBaseAccount` - Controls Base Account SDK connector (default: true)

This allows developers to independently enable/disable each SDK based on their needs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@changeset-bot
Copy link

changeset-bot bot commented Jan 30, 2026

⚠️ No Changeset found

Latest commit: 5401611

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link

vercel bot commented Jan 30, 2026

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

Project Deployment Actions Updated (UTC)
appkit-basic-html Ready Ready Preview, Comment Jan 30, 2026 10:53am
appkit-demo Ready Ready Preview, Comment Jan 30, 2026 10:53am
appkit-gallery Ready Ready Preview, Comment Jan 30, 2026 10:53am
appkit-headless-sample-app Ready Ready Preview, Comment Jan 30, 2026 10:53am
appkit-laboratory Ready Ready Preview, Comment Jan 30, 2026 10:53am
10 Skipped Deployments
Project Deployment Actions Updated (UTC)
appkit-basic-example Ignored Ignored Jan 30, 2026 10:53am
appkit-basic-sign-client-example Ignored Ignored Jan 30, 2026 10:53am
appkit-basic-up-example Ignored Ignored Jan 30, 2026 10:53am
appkit-ethers5-bera Ignored Ignored Jan 30, 2026 10:53am
appkit-nansen-demo Ignored Ignored Jan 30, 2026 10:53am
appkit-vue-solana Ignored Ignored Jan 30, 2026 10:53am
appkit-wagmi-cdn-example Ignored Ignored Jan 30, 2026 10:53am
ethereum-provider-wagmi-example Ignored Ignored Jan 30, 2026 10:53am
next-wagmi-solana-bitcoin-example Ignored Ignored Jan 30, 2026 10:53am
vue-wagmi-example Ignored Ignored Jan 30, 2026 10:53am

Request Review

@socket-security
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedclsx@​2.1.11001009480100
Addeddate-fns@​4.1.0981009280100
Addedclassnames@​2.5.110010010082100
Addedchalk@​4.1.210010010082100
Addeduuid@​10.0.010010010084100
Added@​coinbase/​wallet-sdk@​4.3.3991009989100
Addedeventemitter3@​5.0.11001009991100

View full report

@socket-security
Copy link

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm entities is 91.0% likely obfuscated

Confidence: 0.91

Location: Package overview

From: pnpm-lock.yamlnpm/entities@4.5.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/entities@4.5.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm safer-buffer is 94.0% likely obfuscated

Confidence: 0.94

Location: Package overview

From: pnpm-lock.yamlnpm/safer-buffer@2.1.2

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/safer-buffer@2.1.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@github-actions
Copy link
Contributor

Visual Regression Test Results ✅ Passed

⚠️ 15 visual change(s) detected

Chromatic Build: https://www.chromatic.com/build?appId=6493191bf4b10fed8ca7353f&number=717
Storybook Preview: https://6493191bf4b10fed8ca7353f-hzybmlnccu.chromatic.com/

👉 Please review the visual changes in Chromatic and accept or reject them.

@github-actions
Copy link
Contributor

Warnings
⚠️

🔑 Potential UUID detected in packages/adapters/ethers/src/tests/client.test.ts (line 1002): ba0ba0cd-17c6-4806-a...

⚠️

🔑 Potential UUID detected in packages/adapters/wagmi/src/tests/client.test.ts (line 411): 07ba87ed-43aa-4adf-4...

Generated by 🚫 dangerJS against 5401611

@github-actions
Copy link
Contributor

📦 Bundle Size Check

All bundles are within size limits

📊 View detailed bundle sizes

> @reown/appkit-monorepo@1.7.1 size /home/runner/work/appkit/appkit


> size-limit

@reown/appkit - Main Entry
Size limit:   80 kB
Size:         75.5 kB with all dependencies, minified and gzipped
Loading time: 1.5 s   on slow 3G
Running time: 177 ms  on Snapdragon 410
Total time:   1.7 s
@reown/appkit/react
Size limit:   235 kB
Size:         233.35 kB with all dependencies, minified and gzipped
Loading time: 4.6 s     on slow 3G
Running time: 675 ms    on Snapdragon 410
Total time:   5.3 s
@reown/appkit/vue
Size limit:   80 kB
Size:         75.5 kB with all dependencies, minified and gzipped
Loading time: 1.5 s   on slow 3G
Running time: 569 ms  on Snapdragon 410
Total time:   2.1 s
@reown/appkit-scaffold-ui
Size limit:   220 kB
Size:         213.37 kB with all dependencies, minified and gzipped
Loading time: 4.2 s     on slow 3G
Running time: 538 ms    on Snapdragon 410
Total time:   4.8 s
@reown/appkit-ui
Size limit:   500 kB
Size:         13.16 kB with all dependencies, minified and gzipped
Loading time: 258 ms   on slow 3G
Running time: 48 ms    on Snapdragon 410
Total time:   306 ms

@github-actions
Copy link
Contributor

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 78.61% 39499 / 50244
🔵 Statements 78.61% 39499 / 50244
🔵 Functions 76.31% 4252 / 5572
🔵 Branches 86.73% 9611 / 11081
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
packages/adapters/ethers/src/client.ts 65.69% 75.96% 63.63% 65.69% 116-117, 130-131, 154-155, 169-192, 205-241, 247-248, 255-272, 301-302, 397-422, 425-430, 443-444, 454-475, 481-483, 486-487, 514, 543-544, 552-553, 581-586, 605-651, 658-659, 681, 710-711, 722-723, 757-758, 762, 777-778, 795-800, 809-827, 833-834, 843-844, 855-856, 862-874
packages/adapters/ethers5/src/client.ts 60.43% 73.68% 63.63% 60.43% 71-97, 113-114, 127-128, 151-152, 166-189, 202-238, 241-242, 248-249, 256-273, 392-417, 420-425, 438-439, 449-470, 476-478, 481-482, 509, 538-539, 547-548, 576-581, 585-631, 653-654, 676, 705-706, 718-719, 756-757, 761, 775-800, 808-826, 832-833, 842-843, 854-855, 861-873
packages/adapters/wagmi/src/client.ts 76.08% 66.66% 79.54% 76.08% 128-129, 134-135, 146-148, 150, 212-213, 253-256, 308-309, 374-375, 389, 399-400, 413-414, 491-492, 504-505, 549-550, 567-582, 596-613, 633-634, 647-656, 667-668, 672-673, 678-710, 729-738, 742-748, 751-762, 771-772, 783-784, 805-807, 821-822, 835-836, 851-852, 895-896, 920-921, 929-930, 935-936, 943-944, 952-953, 958-959, 968-969, 977-978, 983-984, 990-1012, 1015-1028
packages/adapters/wagmi/src/utils/helpers.ts 32.46% 80% 28.57% 32.46% 8-24, 27-33, 36-45, 48-53, 82-103
packages/appkit-utils/exports/ethers.ts 100% 100% 100% 100%
packages/appkit-utils/src/ethers/CoinbaseWalletProvider.ts 14.81% 100% 0% 14.81% 9-33, 36-37
packages/appkit/src/client/appkit-base-client.ts 73.11% 85.47% 76.69% 73.11% 184-190, 210, 223-226, 229, 241-242, 248-249, 252, 261, 308-309, 355-356, 394-395, 397-398, 403-404, 486-487, 523-529, 600-601, 623-638, 641, 675-676, 679, 720-724, 731-732, 735-736, 741-742, 753-776, 785-786, 803-823, 827-848, 851-877, 880-886, 889-895, 898-904, 907-913, 916-926, 929-935, 938-945, 959-968, 971-977, 980-981, 984-985, 1004-1005, 1028-1068, 1075-1087, 1093-1120, 1123-1133, 1165-1166, 1191-1192, 1197, 1212-1228, 1242, 1246-1254, 1285-1286, 1305-1308, 1312-1313, 1315-1316, 1350-1352, 1356-1377, 1382-1383, 1391-1392, 1394-1395, 1489-1490, 1502-1503, 1508, 1531-1536, 1583, 1604-1605, 1614, 1616-1632, 1637, 1683-1684, 1696-1707, 1753-1766, 1811, 1817-1821, 1842-1857, 1860-1861, 1887-1890, 1926-1945, 1977, 2020-2021, 2027-2053, 2274-2275, 2312-2313, 2316-2317, 2333-2336, 2339-2340, 2360-2361, 2364-2365, 2386, 2407-2408, 2411-2418, 2422-2423, 2437, 2445, 2464-2465, 2471-2472, 2503-2508, 2526-2527, 2530-2531, 2578-2579, 2650-2651, 2654-2655, 2658-2661, 2664-2665, 2668-2669, 2672-2673, 2676-2677, 2680-2684, 2693-2702, 2711-2722, 1375
packages/controllers/src/controllers/OptionsController.ts 88.17% 98.43% 55.29% 88.17% 246, 275-276, 328, 332, 398-401, 405-408, 412-415, 419-422, 473, 377, 468
Generated in workflow #16793 for commit 5401611 by the Vitest Coverage Report Action

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.

1 participant