Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OPENSEA: setApprovalForAll via OpenSea website will trigger Metamask error #4

Open
zhangzhongnan928 opened this issue Mar 5, 2024 · 10 comments
Assignees

Comments

@zhangzhongnan928
Copy link
Member

zhangzhongnan928 commented Mar 5, 2024

  1. list a STTT on OpenSea
  2. Opensea will ask you to setApprovalForAll
  3. Metamask shows error https://youtu.be/rLfS3pNm-yc (reproducible with MM 11.11.4)
Message: Invalid data; should be 'approve' method, but instead is 'setApprovalForAll'

Code: Error

Stack:
Error: Invalid data; should be 'approve' method, but instead is 'setApprovalForAll'
  at a.getCustomTxParamsData (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-7.js:1:182560)
  at Z (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-8.js:1:60482)
  at ga (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:246078)
  at Pl (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:291005)
  at Iu (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:276868)
  at Au (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:276793)
  at Eu (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:274133)
  at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:232483
  at n.unstable_runWithPriority (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-2.js:1:221729)
  at Yi (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:232192)
  at eo (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:232428)
  at Zi (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:232363)
  at bu (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:270899)
  at Ia (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-1.js:33:249735)
  at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/ui-7.js:1:326789

Tried JoyID with STTT in Opensea, works fine.
Tried MM with Uniswpa V# NFT in Opensea, works fine.

@oleggrib
Copy link
Collaborator

oleggrib commented Mar 8, 2024

I am working on that @zhangzhongnan928

@oleggrib
Copy link
Collaborator

Hi, @zhangzhongnan928 , its known Metamask bug, which will be fixed in the next Metamask release
MetaMask/metamask-extension#18507
Same issue exist for defeult ERC404v2

@SmartLayer
Copy link
Contributor

SmartLayer commented Mar 10, 2024

This issue is severe because it renders MetaMask unusable on Chrome—once triggered, MetaMask won't work, requiring reinstallation. Interestingly, Firefox is affected but doesn't cause MetaMask to fail in the same way.

To replicate, make sure you own some STTT tokens. Visit https://testnets.opensea.io/account, log in, click "List for sale," and follow the listing process. This bug can happen on both Firefox and Chrome, specifically with Metamask versions 11.11.4 (Chrome) and 11.10.1 (Firefox). The one I tried when reproducing, was one of the tokens of this collection in Sepolia https://testnets.opensea.io/collection/st404-testing-token-v3-4/

The core problem arises from MetaMask mistaking certain NFTs for ERC20 tokens due to their ERC20-like features. Consequently, when attempting to use setApprovalForAll for NFT approvals on platforms like OpenSea, MetaMask swaps it for approve, believing it's correcting an error. This misstep is despite OpenSea's correct usage of setApprovalForAll.

@Fast288
Copy link

Fast288 commented Mar 11, 2024

hi, i still have this issue with forge token. ca: 0x73576a927cd93a578a9dfd61c75671d97c779da7
Can't list it on opensea.
how can i fix it?

@oleggrib
Copy link
Collaborator

@Fast288 , are you sure it's correct repo for 0x73576a927cd93a578a9dfd61c75671d97c779da7 ?

@Fast288
Copy link

Fast288 commented Mar 11, 2024

yes, its the token contract adress: 0x73576A927Cd93a578a9dFD61c75671D97c779da7
FORGE token

its ERC404.

I cant list it to on opensea, my metamask gives me the error.

@oleggrib
Copy link
Collaborator

@Fast288 , we didn't deploy this contract to mainnet, so you are wrong. Contract name is ST404, not ERC404

@Fast288
Copy link

Fast288 commented Mar 11, 2024

ok, any idea how i can fix the issue?
friends of me don't have this issue and they're also using Metamask

@Fast288
Copy link

Fast288 commented Mar 12, 2024

Hi,
any update on this? how can i get around this problem?

@SmartLayer SmartLayer changed the title setApprovalForAll via OpenSea website will trigger Metamask error OPENSEA: setApprovalForAll via OpenSea website will trigger Metamask error Mar 13, 2024
@SmartLayer
Copy link
Contributor

SmartLayer commented Mar 13, 2024

Hi, any update on this? how can i get around this problem?

You are using $FORGE token, which is not of this github repo:

0x73576A927Cd93a578a9dFD61c75671D97c779da7

I followed up your post when you posted to MetaMask, please discuss this issue there following my reply there MetaMask/metamask-extension#18507 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants