ERC721 ​
Inherits:Error
Authors: Instadapp, Modified Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC721.sol)
Fluid Vault Factory ERC721 base contract. Implements the ERC721 standard, based on Solmate. In addition, implements ERC721 Enumerable. Modern, minimalist, and gas efficient ERC-721 with Enumerable implementation.
State Variables ​
name ​
string public name;symbol ​
string public symbol;_tokenConfig ​
mapping(uint256 => uint256) internal _tokenConfig;_ownerConfig ​
mapping(address => mapping(uint256 => uint256)) internal _ownerConfig;totalSupply ​
total amount of tokens stored by the contract.
uint256 public totalSupply;getApproved ​
trackes if a NFT id is approved for a certain address.
mapping(uint256 => address) public getApproved;isApprovedForAll ​
trackes if all the NFTs of an owner are approved for a certain other address.
mapping(address => mapping(address => bool)) public isApprovedForAll;Functions ​
tokenURI ​
function tokenURI(uint256 id) public view virtual returns (string memory);ownerOf ​
returns owner_ of NFT with id_
function ownerOf(uint256 id_) public view virtual returns (address owner_);balanceOf ​
returns total count of NFTs owned by owner_
function balanceOf(address owner_) public view virtual returns (uint256);constructor ​
constructor(string memory _name, string memory _symbol);approve ​
approves an NFT with id_ to be spent (transferred) by spender_
function approve(address spender_, uint256 id_) public virtual;setApprovalForAll ​
approves all NFTs owned by msg.sender to be spent (transferred) by operator_
function setApprovalForAll(address operator_, bool approved_) public virtual;transferFrom ​
transfers an NFT with id_ from_ address to_ address without safe check
function transferFrom(address from_, address to_, uint256 id_) public virtual;safeTransferFrom ​
transfers an NFT with id_ from_ address to_ address
function safeTransferFrom(address from_, address to_, uint256 id_) public virtual;safeTransferFrom ​
transfers an NFT with id_ from_ address to_ address, passing data_ to onERC721Received callback
function safeTransferFrom(address from_, address to_, uint256 id_, bytes calldata data_) public virtual;tokenByIndex ​
Returns a token ID at a given index_ of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.
function tokenByIndex(uint256 index_) external view returns (uint256);tokenOfOwnerByIndex ​
Returns a token ID owned by owner_ at a given index_ of its token list. Use along with balanceOf to enumerate all of owner_'s tokens.
function tokenOfOwnerByIndex(address owner_, uint256 index_) external view returns (uint256);supportsInterface ​
function supportsInterface(bytes4 interfaceId_) public view virtual returns (bool);_transfer ​
function _transfer(address from_, address to_, uint256 id_, uint256 vaultId_) internal;_add ​
function _add(address user_, uint256 id_, uint256 vaultId_) private;_remove ​
function _remove(address user_, uint256 id_) private;_mint ​
function _mint(address to_, uint256 vaultId_) internal virtual returns (uint256 id_);Events ​
Transfer ​
event Transfer(address indexed from, address indexed to, uint256 indexed id);Approval ​
event Approval(address indexed owner, address indexed spender, uint256 indexed id);ApprovalForAll ​
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
