MetaMask / MetaMask/metamask-extension
expand EIP 2255 support
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
[EIP 2255](https://eips.ethereum.org/EIPS/eip-2255) proposes a wallet permissions system and includes an example "[Permissions Adventure](https://metamask.github.io/permissions-adventure/)" site where permissions include things like writing to a profile and sending ETH. It claimed that the LoginPerSite branch could already implement this. LoginPerSite has since been merged in, and the Permissions Adventure site no longer works.
The Metamask [documentation](https://docs.metamask.io/guide/rpc-api.html#permissions) on permissions says *"Currently, the only permission is `eth_accounts`, which allows you to access the user's Ethereum address(es). More permissions will be added in the future."*
I could not find any tracking for the addition of those permissions, even in [this repo](https://github.com/MetaMask/wallet-permissions-spec) which was active only briefly last August, not close to the [rollout announcement](https://medium.com/metamask/announcing-metamask-version-8-9126dc2df98) of the new functionality.
I am most interested in the permission for issuing transactions that do contract interaction, sending 0 ETH [just gas fees] nor any other standard tokens. The existing UX presents the user with no useful information about what transactions they are approving, only the information that they must approve a LOT of them to accomplish what they are trying to do. As noted, this significantly increases friction and harms adoption. Assuming there's not a better place to track the addition of such a permission that I just didn't find, I'm creating one here.
What are the current obstacles to implementing something like that?
Contributor guide
Research direction
Start by reading EIP-2255 and the linked MetaMask permissions documentation, then compare them with the merged LoginPerSite work and the wallet-permissions-spec repository. The issue names no source files, tests, or entry points; done would require defining the obstacles and scope for transaction-contract permissions before implementation can be planned.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- authorization, blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100