Research methods to resolve CAIP-2 ChainIds to human-readable names
- Dominant language
- TypeScript
- Stars
- 853
- Forks
- 662
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 8
Description
As it currently stands we are allowing for keyring snaps to populate a `name` field that corresponds to a supported chain inside its `initialPermissions` in `snap.manifest.json`. This can potentially open up a user to phishing attacks where a malicious name can propose the wrong name for a specific `ChainId` (CAIP-2). We need to research a method to resolve CAIP-2 `ChainId`s to proposed names. Work should also be scoped once implementation is decided.
Some avenues to explore:
1. Create and maintain a community driven list/API for CAIP-2 `ChainId` resolution.
2. Create a method for warning the user about possible mismatches between a proposed name and `ChainId` through UI and allow a user to manually verify
3. Allow for a resolution to proposed names from the first point and fallback to proposed names from a snap.
4. Hooking into a petname system at the point of installation and eventually allowing people to name their accounts.
Contributor guide
Research direction
No files, tests, or entry points are named. Compare the four proposed CAIP-2 name-resolution avenues in the issue, focusing on phishing protection and user verification. Done means selecting a resolution method and defining the implementation scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- blockchain, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100