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)