Add ERC721URIStorage extension (#2555)
(cherry picked from commit 1705067e65)
This commit is contained in:
@ -7,7 +7,19 @@ import "../token/ERC721/extensions/ERC721Burnable.sol";
|
||||
contract ERC721BurnableMock is ERC721Burnable {
|
||||
constructor(string memory name, string memory symbol) ERC721(name, symbol) { }
|
||||
|
||||
function exists(uint256 tokenId) public view returns (bool) {
|
||||
return _exists(tokenId);
|
||||
}
|
||||
|
||||
function mint(address to, uint256 tokenId) public {
|
||||
_mint(to, tokenId);
|
||||
}
|
||||
|
||||
function safeMint(address to, uint256 tokenId) public {
|
||||
_safeMint(to, tokenId);
|
||||
}
|
||||
|
||||
function safeMint(address to, uint256 tokenId, bytes memory _data) public {
|
||||
_safeMint(to, tokenId, _data);
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,6 +25,10 @@ contract ERC721EnumerableMock is ERC721Enumerable {
|
||||
return _baseURI();
|
||||
}
|
||||
|
||||
function exists(uint256 tokenId) public view returns (bool) {
|
||||
return _exists(tokenId);
|
||||
}
|
||||
|
||||
function mint(address to, uint256 tokenId) public {
|
||||
_mint(to, tokenId);
|
||||
}
|
||||
|
||||
@ -11,18 +11,6 @@ import "../token/ERC721/extensions/ERC721Pausable.sol";
|
||||
contract ERC721PausableMock is ERC721Pausable {
|
||||
constructor (string memory name, string memory symbol) ERC721(name, symbol) { }
|
||||
|
||||
function mint(address to, uint256 tokenId) public {
|
||||
super._mint(to, tokenId);
|
||||
}
|
||||
|
||||
function burn(uint256 tokenId) public {
|
||||
super._burn(tokenId);
|
||||
}
|
||||
|
||||
function exists(uint256 tokenId) public view returns (bool) {
|
||||
return super._exists(tokenId);
|
||||
}
|
||||
|
||||
function pause() external {
|
||||
_pause();
|
||||
}
|
||||
@ -30,4 +18,24 @@ contract ERC721PausableMock is ERC721Pausable {
|
||||
function unpause() external {
|
||||
_unpause();
|
||||
}
|
||||
|
||||
function exists(uint256 tokenId) public view returns (bool) {
|
||||
return _exists(tokenId);
|
||||
}
|
||||
|
||||
function mint(address to, uint256 tokenId) public {
|
||||
_mint(to, tokenId);
|
||||
}
|
||||
|
||||
function safeMint(address to, uint256 tokenId) public {
|
||||
_safeMint(to, tokenId);
|
||||
}
|
||||
|
||||
function safeMint(address to, uint256 tokenId, bytes memory _data) public {
|
||||
_safeMint(to, tokenId, _data);
|
||||
}
|
||||
|
||||
function burn(uint256 tokenId) public {
|
||||
_burn(tokenId);
|
||||
}
|
||||
}
|
||||
|
||||
51
contracts/mocks/ERC721URIStorageMock.sol
Normal file
51
contracts/mocks/ERC721URIStorageMock.sol
Normal file
@ -0,0 +1,51 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
pragma solidity ^0.8.0;
|
||||
|
||||
import "../token/ERC721/extensions/ERC721URIStorage.sol";
|
||||
|
||||
/**
|
||||
* @title ERC721Mock
|
||||
* This mock just provides a public safeMint, mint, and burn functions for testing purposes
|
||||
*/
|
||||
contract ERC721URIStorageMock is ERC721URIStorage {
|
||||
string private _baseTokenURI;
|
||||
|
||||
constructor (string memory name, string memory symbol) ERC721(name, symbol) { }
|
||||
|
||||
function _baseURI() internal view virtual override returns (string memory) {
|
||||
return _baseTokenURI;
|
||||
}
|
||||
|
||||
function setBaseURI(string calldata newBaseTokenURI) public {
|
||||
_baseTokenURI = newBaseTokenURI;
|
||||
}
|
||||
|
||||
function baseURI() public view returns (string memory) {
|
||||
return _baseURI();
|
||||
}
|
||||
|
||||
function setTokenURI(uint256 tokenId, string memory _tokenURI) public {
|
||||
_setTokenURI(tokenId, _tokenURI);
|
||||
}
|
||||
|
||||
function exists(uint256 tokenId) public view returns (bool) {
|
||||
return _exists(tokenId);
|
||||
}
|
||||
|
||||
function mint(address to, uint256 tokenId) public {
|
||||
_mint(to, tokenId);
|
||||
}
|
||||
|
||||
function safeMint(address to, uint256 tokenId) public {
|
||||
_safeMint(to, tokenId);
|
||||
}
|
||||
|
||||
function safeMint(address to, uint256 tokenId, bytes memory _data) public {
|
||||
_safeMint(to, tokenId, _data);
|
||||
}
|
||||
|
||||
function burn(uint256 tokenId) public {
|
||||
_burn(tokenId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user