From a170f074b3fe588f2ebd7c6ec695219d191a4687 Mon Sep 17 00:00:00 2001 From: rotcivegaf Date: Wed, 25 May 2022 00:43:15 -0300 Subject: [PATCH 1/2] remove require and fix tests --- contracts/token/ERC721/ERC721.sol | 1 - test/token/ERC721/ERC721.behavior.js | 4 ++-- test/token/ERC721/extensions/ERC721Burnable.test.js | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/contracts/token/ERC721/ERC721.sol b/contracts/token/ERC721/ERC721.sol index 140095d0453..1aa9e7b2e1d 100644 --- a/contracts/token/ERC721/ERC721.sol +++ b/contracts/token/ERC721/ERC721.sol @@ -230,7 +230,6 @@ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { * - `tokenId` must exist. */ 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 || isApprovedForAll(owner, spender) || getApproved(tokenId) == spender); } diff --git a/test/token/ERC721/ERC721.behavior.js b/test/token/ERC721/ERC721.behavior.js index 60305777696..62284942012 100644 --- a/test/token/ERC721/ERC721.behavior.js +++ b/test/token/ERC721/ERC721.behavior.js @@ -201,7 +201,7 @@ function shouldBehaveLikeERC721 (errorPrefix, owner, newOwner, approved, another it('reverts', async function () { await expectRevert( transferFunction.call(this, owner, other, nonExistentTokenId, { from: owner }), - 'ERC721: operator query for nonexistent token', + 'ERC721: owner query for nonexistent token', ); }); }); @@ -276,7 +276,7 @@ function shouldBehaveLikeERC721 (errorPrefix, owner, newOwner, approved, another nonExistentTokenId, { from: owner }, ), - 'ERC721: operator query for nonexistent token', + 'ERC721: owner query for nonexistent token', ); }); }); diff --git a/test/token/ERC721/extensions/ERC721Burnable.test.js b/test/token/ERC721/extensions/ERC721Burnable.test.js index bbf56e6a787..60abea65d22 100644 --- a/test/token/ERC721/extensions/ERC721Burnable.test.js +++ b/test/token/ERC721/extensions/ERC721Burnable.test.js @@ -69,7 +69,7 @@ contract('ERC721Burnable', function (accounts) { describe('when the given token ID was not tracked by this contract', function () { it('reverts', async function () { await expectRevert( - this.token.burn(unknownTokenId, { from: owner }), 'ERC721: operator query for nonexistent token', + this.token.burn(unknownTokenId, { from: owner }), 'ERC721: owner query for nonexistent token', ); }); }); From d371ceacf49cc0628dee7e352e692216dc2e09f2 Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Thu, 26 May 2022 22:03:45 -0300 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e65f4f7bef8..79b86c06763 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ * `SafeCast`: add support for many more types, using procedural code generation. ([#3245](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3245)) * `MerkleProof`: add `multiProofVerify` to prove multiple values are part of a Merkle tree. ([#3276](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3276)) * `ERC721`, `ERC1155`: simplified revert reasons. ([#3254](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3254)) + * `ERC721`: removed redundant require statement. ([#3434](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3434)) ## 4.6.0 (2022-04-26)