MetaMask / MetaMask/metamask-extension

Design way to differentiate network icons

Open
#19,300 1 comment 0 reactions 0 assignees View on GitHub
area-customNetworks external-contributor INVALID-ISSUE-TEMPLATE
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

### **Description**
Users have 3 ways to add a network:

1. Select a `popular` hardcoded network
2. Go to dapp and Select Add to MetaMask, dapp then uses [addEthereumChain](https://docs.metamask.io/wallet/reference/rpc-api/#wallet_addethereumchain)
3. Add a network `manual`

Icons for chains added through 2, and in the future possibly through 3, can conflict for different reasons:
- Same chainID, different RPC, similar or identical icon
- Different chainID, different RPC, similar or identical icon (scam chain)

### User story
As a user I want to be able to recognise each chain by a unique property, because
- I want to prevent confirming transactions on a chain that looks the same but has a different ID
- I want to prevent connecting to a malicious RPC endpoint that logs my IP along with blockchain interactions

### **Technical Details**

### **Acceptance Criteria**
Users can visually differentiate each chain entry (RPC + chainID combination)

### **References**
[Slack thread](https://consensys.slack.com/archives/GTQAGKY5V/p1684846159388309)

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by mapping where popular, dapp-added, and manually added networks are represented in the extension, then review the linked Slack discussion for existing design context. Done means every RPC and chainID combination is visually distinguishable without relying on the icon alone.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.