From 3dc374ddcf46739185bd12759eaa826b579e5a0a Mon Sep 17 00:00:00 2001 From: Hadrien Croubois Date: Tue, 16 Mar 2021 19:32:22 +0100 Subject: [PATCH] Make overide of ERC721.isApprovedForAll affect the ERC721 logic (#2597) --- contracts/token/ERC721/ERC721.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts/token/ERC721/ERC721.sol b/contracts/token/ERC721/ERC721.sol index b8f487b07..8d93cc5a9 100644 --- a/contracts/token/ERC721/ERC721.sol +++ b/contracts/token/ERC721/ERC721.sol @@ -113,7 +113,7 @@ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { address owner = ERC721.ownerOf(tokenId); 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" ); @@ -216,7 +216,7 @@ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { require(_exists(tokenId), "ERC721: operator query for nonexistent token"); address owner = ERC721.ownerOf(tokenId); - return (spender == owner || getApproved(tokenId) == spender || ERC721.isApprovedForAll(owner, spender)); + return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender)); } /**