ProjectOpenSea / opensea-creatures

Example non-fungible collectible, to demonstrate OpenSea integration
https://docs.opensea.io
MIT License
1.17k stars 793 forks source link

Error: Couldn't get permission to approve these tokens for trading. Their contract might not be implemented correctly. Please contact the developer! #193

Open FantasyGameFoundation opened 2 years ago

FantasyGameFoundation commented 2 years ago

I deployed CreatureFactory and corresponding contracts with hardhat, because it is deployed on rinkeby, the proxyRegistryAddress = 0xF57B2c51dED3A29e6891aba85459d600256Cf317, but when I create a sell order, the error message is as follows

code: -32000, message: 'execution reverted'}
Error: Couldn't get permission to approve these tokens for trading. Their contract might not be implemented correctly. Please contact the developer!

I have executed creature.transferOwnership(creatureFactory.address), set gasPrice: 20000000000, is there anything else I am missing

drummel commented 2 years ago

Same issue :(

phungnmd commented 2 years ago

Same issue too +1

swayam18 commented 2 years ago

Did anyone manage to find the answer? Perhaps there is a new proxy registry that we should be using?

swayam18 commented 2 years ago

Okay, I believe the new rinkeyby proxy registry is at: 0x1e525eeaf261ca41b809884cbde9dd9e1619573a

https://rinkeby.etherscan.io/address/0x1e525eeaf261ca41b809884cbde9dd9e1619573a

I verified this by creating a new account on OpenSea and checking the address that is used to register the proxy when we put up an NFT for sale for the first time

This contract was deployed about 26 days ago.

It should be sufficient to just change to this new address

thomasoss commented 2 years ago

I used the ProxyRegistryAddress that was coded in 2_deploy_contracts.js in the opensea-creatures example (https://github.com/ProjectOpenSea/opensea-creatures). This was in January 2022 The address was 0xf57b2c51ded3a29e6891aba85459d600256cf317 f or Rinkeby

Now I tried to use a factory contract deployed in March 2022. I got the error

Couldn't get permission to approve these tokens for trading. Their contract might not be implemented correctly. Please contact the developer!

I again checked the ProxyRegistryAddress for Rinkeby in the 2_deploy_contract.js in the repository mentioned above. It has changed to 0x1E525EEAF261cA41b809884CBDE9DD9E1619573A

I could not find any documentation in OpenSea where the current ProxyRegistryAddress for a given environment like Rinkeby is documented.

After this experience I think it is a good idea to code a setter for the ProxyRegistryAddress to be able to change the address after the deployment of a contract.

vrogojin commented 2 years ago

0x1E525EEAF261cA41b809884CBDE9DD9E1619573A not working for me either. Dah!