2

How OpenSea call the tokenURI function ? I want to use the keyword (msg.sender) but it didn't work ideally. Or maybe I have some error in my code ?

mapping(address=>bool) addr_bool;

function tokenURI(uint256 tokenId)
        public
        view
        virtual
        override
        returns (string memory)
    {
        require(
            _exists(tokenId),
            "ERC721Metadata: URI query for nonexistent token"
        );

       if(addr_bool[msg.sender] == true) {
            return URI_1;
            // addr_bool[msg.sender] is true;
        }
          else {
            return URI_2;
        }
         

        if (bytes(base).length == 0) {
            return _tokenURI;
        }
        if (bytes(_tokenURI).length > 0) {
            return string(abi.encodePacked(base, _tokenURI));
        }

        return
            string(abi.encodePacked(base, tokenId.toString(), baseExtension));
    }

I expect to see , if data in mapping is true. In OpenSea, it will show URI_1, if not it will show URI_2

SpaceNinja
  • 31
  • 1

0 Answers0