Bläddra i källkod

Deprecated ERC721._burn(address, uint256) (#1550)

* Deprecated ERC721._burn(address, uint256)

* Added missing natspec comment.
Nicolás Venturo 6 år sedan
förälder
incheckning
dd2e947976

+ 1 - 1
contracts/mocks/ERC721Mock.sol

@@ -12,6 +12,6 @@ contract ERC721Mock is ERC721 {
     }
 
     function burn(uint256 tokenId) public {
-        _burn(ownerOf(tokenId), tokenId);
+        _burn(tokenId);
     }
 }

+ 1 - 1
contracts/mocks/ERC721PausableMock.sol

@@ -13,7 +13,7 @@ contract ERC721PausableMock is ERC721Pausable, PauserRoleMock {
     }
 
     function burn(uint256 tokenId) public {
-        super._burn(ownerOf(tokenId), tokenId);
+        super._burn(tokenId);
     }
 
     function exists(uint256 tokenId) public view returns (bool) {

+ 13 - 2
contracts/token/ERC721/ERC721.sol

@@ -198,7 +198,7 @@ contract ERC721 is ERC165, IERC721 {
      * @dev Internal function to mint a new token
      * Reverts if the given token ID already exists
      * @param to The address that will own the minted token
-     * @param tokenId uint256 ID of the token to be minted by the msg.sender
+     * @param tokenId uint256 ID of the token to be minted
      */
     function _mint(address to, uint256 tokenId) internal {
         require(to != address(0));
@@ -209,7 +209,9 @@ contract ERC721 is ERC165, IERC721 {
     /**
      * @dev Internal function to burn a specific token
      * Reverts if the token does not exist
-     * @param tokenId uint256 ID of the token being burned by the msg.sender
+     * Deprecated, use _burn(uint256) instead.
+     * @param owner owner of the token to burn
+     * @param tokenId uint256 ID of the token being burned
      */
     function _burn(address owner, uint256 tokenId) internal {
         _clearApproval(tokenId);
@@ -217,6 +219,15 @@ contract ERC721 is ERC165, IERC721 {
         emit Transfer(owner, address(0), tokenId);
     }
 
+    /**
+     * @dev Internal function to burn a specific token
+     * Reverts if the token does not exist
+     * @param tokenId uint256 ID of the token being burned
+     */
+    function _burn(uint256 tokenId) internal {
+        _burn(ownerOf(tokenId), tokenId);
+    }
+
     /**
      * @dev Internal function to add a token ID to the list of a given address
      * Note that this function is left internal to make ERC721Enumerable possible, but is not

+ 1 - 1
contracts/token/ERC721/ERC721Burnable.sol

@@ -13,6 +13,6 @@ contract ERC721Burnable is ERC721 {
      */
     function burn(uint256 tokenId) public {
         require(_isApprovedOrOwner(msg.sender, tokenId));
-        _burn(ownerOf(tokenId), tokenId);
+        _burn(tokenId);
     }
 }

+ 5 - 4
contracts/token/ERC721/ERC721Enumerable.sol

@@ -117,7 +117,7 @@ contract ERC721Enumerable is ERC165, ERC721, IERC721Enumerable {
      * @dev Internal function to mint a new token
      * Reverts if the given token ID already exists
      * @param to address the beneficiary that will own the minted token
-     * @param tokenId uint256 ID of the token to be minted by the msg.sender
+     * @param tokenId uint256 ID of the token to be minted
      */
     function _mint(address to, uint256 tokenId) internal {
         super._mint(to, tokenId);
@@ -129,8 +129,9 @@ contract ERC721Enumerable is ERC165, ERC721, IERC721Enumerable {
     /**
      * @dev Internal function to burn a specific token
      * Reverts if the token does not exist
+     * Deprecated, use _burn(uint256) instead
      * @param owner owner of the token to burn
-     * @param tokenId uint256 ID of the token being burned by the msg.sender
+     * @param tokenId uint256 ID of the token being burned
      */
     function _burn(address owner, uint256 tokenId) internal {
         super._burn(owner, tokenId);
@@ -147,10 +148,10 @@ contract ERC721Enumerable is ERC165, ERC721, IERC721Enumerable {
         _allTokensIndex[tokenId] = 0;
         _allTokensIndex[lastToken] = tokenIndex;
     }
-    
+
     /**
      * @dev Gets the list of token IDs of the requested owner
-     * @param owner address owning the tokens 
+     * @param owner address owning the tokens
      * @return uint256[] List of token IDs owned by the requested address
      */
     function _tokensOfOwner(address owner) internal view returns (uint256[] storage) {

+ 1 - 0
contracts/token/ERC721/ERC721Metadata.sol

@@ -73,6 +73,7 @@ contract ERC721Metadata is ERC165, ERC721, IERC721Metadata {
     /**
      * @dev Internal function to burn a specific token
      * Reverts if the token does not exist
+     * Deprecated, use _burn(uint256) instead
      * @param owner owner of the token to burn
      * @param tokenId uint256 ID of the token being burned by the msg.sender
      */