1

I found an explanation here, but I want to clarify some moments.

Is the isApprovedForAll method needs to be overwritten in ERC721Tradable if we need to get rid of excess fees for approval? Is proxy addresses for each user unique? If it isn't, do we need to add something like

       if (_operator == address(proxy_address)) {
            return true;
        }

in isApprovedForAll?

invisiblecat
  • 125
  • 1
  • 10

1 Answers1

2

As displayed in deploy script for OpenSea Creatures contracts (lines 25-26), there is one address for each network:

  let proxyRegistryAddress = "";
  if (network === 'rinkeby') {
          proxyRegistryAddress = "0xf57b2c51ded3a29e6891aba85459d600256cf317";
  } else {
          proxyRegistryAddress = "0xa5409ec958c83c3f309868babaca7c86dcb077c1";
  }

So in most cases, we don't need to hardcode it inside our contracts.

Fatih Mert Doğancan
  • 1,016
  • 14
  • 21
invisiblecat
  • 125
  • 1
  • 10
  • So, does it mean that for production I can simply hardcode the value using a constant modifier to save on a bit of gas fee? In opensea creatures contract there is no functionality to edit a proxy address, but what are the guarantees that proxy won't change? – Vlad Miller Mar 21 '22 at 10:00