Unverified Commit 3dc374dd by Hadrien Croubois Committed by GitHub

Make overide of ERC721.isApprovedForAll affect the ERC721 logic (#2597)

parent 7c1625b0
...@@ -113,7 +113,7 @@ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { ...@@ -113,7 +113,7 @@ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
address owner = ERC721.ownerOf(tokenId); address owner = ERC721.ownerOf(tokenId);
require(to != owner, "ERC721: approval to current owner"); require(to != owner, "ERC721: approval to current owner");
require(_msgSender() == owner || ERC721.isApprovedForAll(owner, _msgSender()), require(_msgSender() == owner || isApprovedForAll(owner, _msgSender()),
"ERC721: approve caller is not owner nor approved for all" "ERC721: approve caller is not owner nor approved for all"
); );
...@@ -216,7 +216,7 @@ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { ...@@ -216,7 +216,7 @@ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {
require(_exists(tokenId), "ERC721: operator query for nonexistent token"); require(_exists(tokenId), "ERC721: operator query for nonexistent token");
address owner = ERC721.ownerOf(tokenId); address owner = ERC721.ownerOf(tokenId);
return (spender == owner || getApproved(tokenId) == spender || ERC721.isApprovedForAll(owner, spender)); return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender));
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment