ERC721
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.
Transfer
event Transfer(address from, address to, uint256 id)
Approval
event Approval(address owner, address spender, uint256 id)
ApprovalForAll
event ApprovalForAll(address owner, address operator, bool approved)
name
string name
symbol
string symbol
tokenURI
function tokenURI(uint256 id) public view virtual returns (string)
_tokenConfig
mapping(uint256 => uint256) _tokenConfig
_ownerConfig
mapping(address => mapping(uint256 => uint256)) _ownerConfig
ownerOf
function ownerOf(uint256 id_) public view virtual returns (address owner_)
returns owner_
of NFT with id_
balanceOf
function balanceOf(address owner_) public view virtual returns (uint256)
returns total count of NFTs owned by owner_
totalSupply
uint256 totalSupply
total amount of tokens stored by the contract.
getApproved
mapping(uint256 => address) getApproved
trackes if a NFT id is approved for a certain address.
isApprovedForAll
mapping(address => mapping(address => bool)) isApprovedForAll
trackes if all the NFTs of an owner are approved for a certain other address.
constructor
constructor(string _name, string _symbol) internal
approve
function approve(address spender_, uint256 id_) public virtual
approves an NFT with id_
to be spent (transferred) by spender_
setApprovalForAll
function setApprovalForAll(address operator_, bool approved_) public virtual
approves all NFTs owned by msg.sender to be spent (transferred) by operator_
transferFrom
function transferFrom(address from_, address to_, uint256 id_) public virtual
transfers an NFT with id_
from_
address to_
address without safe check
safeTransferFrom
function safeTransferFrom(address from_, address to_, uint256 id_) public virtual
transfers an NFT with id_
from_
address to_
address
safeTransferFrom
function safeTransferFrom(address from_, address to_, uint256 id_, bytes data_) public virtual
transfers an NFT with id_
from_
address to_
address, passing data_
to onERC721Received
callback
tokenByIndex
function tokenByIndex(uint256 index_) external view returns (uint256)
Returns a token ID at a given index_
of all the tokens stored by the contract.
Use along with {totalSupply} to enumerate all tokens.
tokenOfOwnerByIndex
function tokenOfOwnerByIndex(address owner_, uint256 index_) external view returns (uint256)
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.
supportsInterface
function supportsInterface(bytes4 interfaceId_) public view virtual returns (bool)
_transfer
function _transfer(address from_, address to_, uint256 id_, uint256 vaultId_) internal
_mint
function _mint(address to_, uint256 vaultId_) internal virtual returns (uint256 id_)
ERC721TokenReceiver
onERC721Received
function onERC721Received(address, address, uint256, bytes) external virtual returns (bytes4)