Skip to content

Conversation

@youssefea
Copy link

@youssefea youssefea commented Jan 20, 2026

Add @base-org/account as an EVM connector for Web3Auth, enabling developers to
use Base Account SDK as a wallet option in modal and no-modal flows.

Changes:

  • New BaseAccountConnector extending BaseEvmConnector with full lifecycle
  • Add BASE_ACCOUNT to WALLET_CONNECTORS and CONNECTOR_NAMES
  • Skip AA wrapping for Base Account (already a smart account provider)
  • Add @base-org/account as optional peer dependency
  • Add Base logo asset and constant for modal UI

Motivation and Context

Enable Web3Auth users to connect via Base Account SDK, which provides a smart
account wallet experience on Base chain. This gives developers another wallet
option alongside existing connectors like Coinbase and MetaMask.

Jira Link: N/A

Description

  • Created BaseAccountConnector class in
    packages/no-modal/src/connectors/base-account-connector/ following the same
    pattern as CoinbaseConnector
  • Connector dynamically imports @base-org/account SDK and exposes its
    EIP-1193 provider
  • Auto-derives appName, appLogoUrl from site metadata and appChainIds
    from configured EIP-155 chains
  • Added guard in noModal.ts to skip AA wrapping for Base Account since it's
    already a smart account provider
  • Added @base-org/account ^2.5.1 as optional peer dependency
  • Added Base logo SVG asset and BASE_ACCOUNT_LOGO constant for modal UI
  • Re-exported connector from @web3auth/modal package

How has this been tested?

  • Lint passes for no-modal package (0 errors, only pre-existing warnings)
  • TypeScript compilation passes for all new connector files (pre-existing TS
    errors in other files unrelated to this PR)
  • Code follows existing connector patterns (CoinbaseConnector,
    MetaMaskConnector)
  • Manual testing pending with demo app on Base mainnet/sepolia

Screenshots (if appropriate):

N/A

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality
    to not work as expected)

Checklist:

  • My code follows the code style of this project. (run lint)
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • My code requires a db migration.

Note

Medium Risk
Adds a new external EVM connector and tweaks account-abstraction wrapping behavior, which can affect connection/chain-switch flows and provider selection. Dependency/lockfile changes may also impact build/install reproducibility.

Overview
Adds a new BaseAccountConnector backed by @base-org/account, wiring it into @web3auth/no-modal (exports, connector registry/name mapping, and package exports) and re-exporting it from @web3auth/modal.

Updates the connection pipeline to skip account-abstraction wrapping when the connected wallet is BASE_ACCOUNT (treating it as an already-smart-account provider), and adds Base branding via a new SVG asset and BASE_ACCOUNT_LOGO constant.

Also updates dependencies/lockfile to include @base-org/account as an optional peer dependency (and its transitive additions) plus related package-lock metadata reshuffles.

Written by Cursor Bugbot for commit 70f8efd. This will update automatically on new commits. Configure here.

Add @base-org/account as an EVM connector for Web3Auth, enabling developers
to use Base Account SDK as a wallet option in modal and no-modal flows.

Changes:
- New BaseAccountConnector extending BaseEvmConnector with full lifecycle
- Add BASE_ACCOUNT to WALLET_CONNECTORS and CONNECTOR_NAMES
- Skip AA wrapping for Base Account (already a smart account provider)
- Add @base-org/account as optional peer dependency
- Add Base logo asset and constant for modal UI

Co-Authored-By: Claude <noreply@anthropic.com>
@vercel
Copy link

vercel bot commented Jan 20, 2026

@youssefea is attempting to deploy a commit to the Consensys Team on Vercel.

A member of the Team first needs to authorize it.

"require": "./dist/lib.cjs/vue/wagmi/index.js",
"types": "./dist/lib.cjs/types/vue/wagmi/index.d.ts"
},
"./connectors/base-account-connector": {
Copy link
Member

Choose a reason for hiding this comment

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

to follow our conventions, pls re-export from modal package as well
You also need to add this as a path in rollup config to become an export

@chaitanyapotti chaitanyapotti changed the base branch from master to v10 February 2, 2026 11:37
@chaitanyapotti chaitanyapotti deleted the branch Web3Auth:v10 February 3, 2026 11:17
@yashovardhan yashovardhan reopened this Feb 4, 2026
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.


export const WALLET_CONNECT_LOGO = "https://images.web3auth.io/login-wallet-connect.svg";

export const BASE_ACCOUNT_LOGO = "https://images.web3auth.io/login-base-account.svg";
Copy link

Choose a reason for hiding this comment

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

Unused constant BASE_ACCOUNT_LOGO is exported but never used

Low Severity

The BASE_ACCOUNT_LOGO constant is defined and exported but is not imported or used anywhere in the codebase. Unlike WALLET_CONNECT_LOGO which is used in ConnectWalletQrCode.tsx, this constant is dead code.

Fix in Cursor Fix in Web

<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="20" cy="20" r="20" fill="#0052FF"/>
<path d="M19.9756 34.1667C27.8002 34.1667 34.1424 27.8246 34.1424 20C34.1424 12.1755 27.8002 5.83337 19.9756 5.83337C12.5597 5.83337 6.47236 11.5399 5.87109 18.7917H25.3588V21.2084H5.87109C6.47236 28.4602 12.5597 34.1667 19.9756 34.1667Z" fill="white"/>
</svg>
Copy link

Choose a reason for hiding this comment

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

Unused SVG asset file not referenced anywhere

Low Severity

The base-logo.svg file is added to the assets directory but is not imported or referenced anywhere in the codebase. The BASE_ACCOUNT_LOGO constant uses a URL (https://images.web3auth.io/login-base-account.svg) rather than this local asset file.

Fix in Cursor Fix in Web

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.

3 participants