Extension of ERC1155 that adds tracking of total supply per id. Useful for scenarios where Fungible and Non-fungible tokens have to be clearly identified. Note: While a totalSupply of 1 might mean the corresponding is an NFT, there is no guarantees that no other token with the same id are not going to be minted.
Methods
balanceOf
function balanceOf(address account, uint256 id) external view returns (uint256)
See {IERC1155-balanceOf}. Requirements: - account cannot be the zero address.
Parameters
Name
Type
Description
account
address
undefined
id
uint256
undefined
Returns
Name
Type
Description
_0
uint256
undefined
balanceOfBatch
function balanceOfBatch(address[] accounts, uint256[] ids) external view returns (uint256[])
See {IERC1155-balanceOfBatch}. Requirements: - accounts and ids must have the same length.
Parameters
Name
Type
Description
accounts
address[]
undefined
ids
uint256[]
undefined
Returns
Name
Type
Description
_0
uint256[]
undefined
exists
function exists(uint256 id) external view returns (bool)
Indicates whether any token exist with a given id, or not.
Parameters
Name
Type
Description
id
uint256
undefined
Returns
Name
Type
Description
_0
bool
undefined
isApprovedForAll
function isApprovedForAll(address account, address operator) external view returns (bool)
See {IERC1155-isApprovedForAll}.
Parameters
Name
Type
Description
account
address
undefined
operator
address
undefined
Returns
Name
Type
Description
_0
bool
undefined
safeBatchTransferFrom
function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) external nonpayable
See {IERC1155-safeBatchTransferFrom}.
Parameters
Name
Type
Description
from
address
undefined
to
address
undefined
ids
uint256[]
undefined
amounts
uint256[]
undefined
data
bytes
undefined
safeTransferFrom
function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) external nonpayable
See {IERC1155-safeTransferFrom}.
Parameters
Name
Type
Description
from
address
undefined
to
address
undefined
id
uint256
undefined
amount
uint256
undefined
data
bytes
undefined
setApprovalForAll
function setApprovalForAll(address operator, bool approved) external nonpayable
See {IERC1155-setApprovalForAll}.
Parameters
Name
Type
Description
operator
address
undefined
approved
bool
undefined
supportsInterface
function supportsInterface(bytes4 interfaceId) external view returns (bool)
See {IERC165-supportsInterface}.
Parameters
Name
Type
Description
interfaceId
bytes4
undefined
Returns
Name
Type
Description
_0
bool
undefined
totalSupply
function totalSupply(uint256 id) external view returns (uint256)
Total amount of tokens in with a given id.
Parameters
Name
Type
Description
id
uint256
undefined
Returns
Name
Type
Description
_0
uint256
undefined
uri
function uri(uint256) external view returns (string)
See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the \{id\} substring with the actual token type ID.*
Emitted when value tokens of token type id are transferred from from to to by operator.
Parameters
Name
Type
Description
operator indexed
address
undefined
from indexed
address
undefined
to indexed
address
undefined
id
uint256
undefined
value
uint256
undefined
URI
event URI(string value, uint256 indexed id)
Emitted when the URI for token type id changes to value, if it is a non-programmatic URI. If an {URI} event was emitted for id, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that value will equal the value returned by {IERC1155MetadataURI-uri}.