MetaMask / MetaMask/metamask-extension

expand EIP 2255 support

Open
#9,061 3 comments 0 reactions 0 assignees View on GitHub
area-permissions type-enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.