MetaMask / MetaMask/metamask-extension
[Bug]: Activity - `setApprovalForAll` transactions (both grant and revoke) are displayed as `Approving spending cap` as if it were an ERC20 approval
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
### Describe the bug
`setApprovalForAll` transactions (both grant and revoke) displayed as `Approving spending cap` as if it were an ERC20 approval.
### Expected behavior
- We should differentiate between ERC20 approve and ERC721/ERC1155 setApprovalForAll
- We should differentiate between setApprovalForAll with param true (grant), vs with param false (revoke)
It was correctly done before the RC
### Screenshots/Recordings
https://github.com/user-attachments/assets/b133ec0b-2f53-43e6-8290-ecfc93bfda05
See before setApprovalForAll on NFT
### Steps to reproduce
1. Select Ethereum Mainnet
2. Go to Etherscan ERC721 token contract https://etherscan.io/token/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#writeContract
3. Go to Write tab
4. Connect Wallet
5. Trigger setApprovalForAll with any address and with true/false
6. Confirm
7. See Activity
### Error messages or log output
```shell
```
### Where was this bug found?
Internal release testing
### Version
13.36.0
### Build type
None
### Browser
Chrome
### Operating system
MacOS
### Hardware wallet
_No response_
### Additional context
_No response_
### Severity
_No response_
Contributor guide
Research direction
Start by reproducing the issue through the Etherscan ERC721 contract's Write tab on Ethereum Mainnet, then trace the Activity transaction-labeling entry point in the extension. Done means ERC20 approve remains distinct from ERC721/ERC1155 setApprovalForAll, with separate labels for grant (true) and revoke (false), and the relevant Activity tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100