MockERC721
Inherits: IERC721Metadata
This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.
Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol
State Variables
_name
string internal _name;
_symbol
string internal _symbol;
_ownerOf
mapping(uint256 => address) internal _ownerOf;
_balanceOf
mapping(address => uint256) internal _balanceOf;
_getApproved
mapping(uint256 => address) internal _getApproved;
_isApprovedForAll
mapping(address => mapping(address => bool)) internal _isApprovedForAll;
initialized
A bool to track whether the contract has been initialized.
bool private initialized;
Functions
name
function name() external view override returns (string memory);
symbol
function symbol() external view override returns (string memory);
tokenURI
function tokenURI(uint256 id) public view virtual override returns (string memory);
ownerOf
function ownerOf(uint256 id) public view virtual override returns (address owner);
balanceOf
function balanceOf(address owner) public view virtual override returns (uint256);
getApproved
function getApproved(uint256 id) public view virtual override returns (address);
isApprovedForAll
function isApprovedForAll(address owner, address operator) public view virtual override returns (bool);
initialize
To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.
function initialize(string memory name_, string memory symbol_) public;
approve
function approve(address spender, uint256 id) public payable virtual override;
setApprovalForAll
function setApprovalForAll(address operator, bool approved) public virtual override;
transferFrom
function transferFrom(address from, address to, uint256 id) public payable virtual override;