MetaMask / MetaMask/metamask-extension
Remove account button and message is not always applicable to external accounts - e.g. Custodial Wallet
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
**What problem are you trying to solve?**
Remove account button is not applicable for external accounts belonging to custodial wallets. Removing them from MetaMask when integrated with TrustVault, for example, would simply hide it until the next time the user logs in.
Additionally, the message displayed is confusing to users as it mentions backing up accounts and getting private keys which is not applicable to custodial wallets.
**Describe the solution you'd like**
Add a property `isRemovable` on the keyring class to determine if a remove button should be shown or not to accounts belonging to that keyring class.
account-menu.component.js (105-106)
```
const { type, isRemovable } = keyring;
const isRemovable = type !== "HD Key Tree" || isRemovable
```
**Additional context**
TrustVault is a custodial wallet from Trustology (trustology.io). The wallet consists of an iOS App that is used to sign requests. We would like to integrate with MetaMask. We believe that adding support for Custodial wallets in MetaMask would be a great addition. We have prototyped a connection to TrustVault that works but we have a few suggestions for features.
Contributor guide
Research direction
Start with account-menu.component.js around lines 105-106 and trace how keyring properties control account removal and the displayed message. Check the relevant keyring classes and account UI flow; done means custodial accounts do not show an applicable remove action or backup/private-key message, while removable accounts retain their existing behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100