Skip to content

Conversation

@petar-omni
Copy link
Collaborator

@petar-omni petar-omni commented Oct 9, 2025

This pull request introduces a new "chain group" selection feature to RainbowKit, enhancing both desktop and mobile wallet connection flows. Users can now select a chain group (such as Ethereum) before choosing a wallet, which enables better organization and future extensibility for multi-chain support. The update includes UI changes, new types, and logic to support chain groups, and applies these changes to all wallet connectors.

Chain Group Selection Feature

  • Added chain group selection step to both desktop (DesktopOptions.tsx) and mobile (MobileOptions.tsx) wallet connection flows, allowing users to choose a chain group before picking a wallet. UI elements and state logic have been updated accordingly. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]

Type and Utility Additions

  • Introduced the ChainGroup type and the default ethereumChainGroup object, and updated wallet types to include a chainGroup property for each wallet. [1] [2] [3]
  • Exported the new ChainGroup type from the package entry point for external use.

Wallet Connector Updates

  • Updated all wallet connector definitions (e.g., ZilPay, Argent, Backpack) to specify their chainGroup as ethereumChainGroup. [1] [2] [3] [4] [5] [6]

Localization and UI Improvements

  • Added new i18n strings for chain group selection in English locale files, ensuring proper labeling and instructions for the new feature. [1] [2]

Version Bump

  • Bumped the package version to 2.2.7 to reflect these new features and improvements.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces chain groups functionality to RainbowKit wallets, allowing users to select between different blockchain ecosystems when connecting wallets. The primary purpose is to organize wallets by their supported blockchain groups (starting with Ethereum) and provide a selection interface when multiple chain groups are available.

Key changes include:

  • Addition of ChainGroup type and chainGroup property to wallet definitions
  • Implementation of chain group selection UI in both desktop and mobile connect modals
  • Addition of an Ethereum chain group with all existing wallets assigned to it

Reviewed Changes

Copilot reviewed 73 out of 73 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
packages/rainbowkit/src/wallets/Wallet.ts Defines ChainGroup interface and adds chainGroup property to Wallet type
packages/rainbowkit/src/utils/chain-groups.ts Creates ethereumChainGroup constant for Ethereum blockchain
Multiple wallet connector files Adds chainGroup: ethereumChainGroup to all wallet definitions
packages/rainbowkit/src/components/ConnectOptions/*.tsx Implements chain group selection UI logic
packages/rainbowkit/src/locales/en_US.json Adds localization strings for chain group selection

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

? groupedByChainGroupWallets[selectedChainGroupId] || []
: [];

const grouppedByGroupNameWallets = groupBy(
Copy link

Copilot AI Oct 9, 2025

Choose a reason for hiding this comment

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

Corrected spelling of 'grouppedByGroupNameWallets' to 'groupedByGroupNameWallets'.

Suggested change
const grouppedByGroupNameWallets = groupBy(
const groupedByGroupNameWallets = groupBy(

Copilot uses AI. Check for mistakes.
))}
</Box>
) : (
Object.entries(grouppedByGroupNameWallets).map(
Copy link

Copilot AI Oct 9, 2025

Choose a reason for hiding this comment

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

Variable name should be corrected to match the fixed spelling: 'groupedByGroupNameWallets'.

Copilot uses AI. Check for mistakes.
Copy link

@jdomingos jdomingos left a comment

Choose a reason for hiding this comment

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

LGTM

@petar-omni petar-omni merged commit c8fb27a into main Oct 9, 2025
5 checks passed
@petar-omni petar-omni deleted the feat/chain-groups branch October 9, 2025 20:41
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.

4 participants