Skip to main content

IERC1155MetadataURIUpgradeable

Interface of the optional ERC1155MetadataExtension interface, as defined in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions. Available since v3.1.

Methods​

balanceOf​

function balanceOf(address account, uint256 id) external view returns (uint256)

Returns the amount of tokens of token type id owned by account. Requirements: - account cannot be the zero address.

Parameters​

NameTypeDescription
accountaddressundefined
iduint256undefined

Returns​

NameTypeDescription
_0uint256undefined

balanceOfBatch​

function balanceOfBatch(address[] accounts, uint256[] ids) external view returns (uint256[])

xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. Requirements: - accounts and ids must have the same length.

Parameters​

NameTypeDescription
accountsaddress[]undefined
idsuint256[]undefined

Returns​

NameTypeDescription
_0uint256[]undefined

isApprovedForAll​

function isApprovedForAll(address account, address operator) external view returns (bool)

Returns true if operator is approved to transfer account's tokens. See {setApprovalForAll}.

Parameters​

NameTypeDescription
accountaddressundefined
operatoraddressundefined

Returns​

NameTypeDescription
_0boolundefined

safeBatchTransferFrom​

function safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data) external nonpayable

xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. Emits a {TransferBatch} event. Requirements: - ids and amounts must have the same length. - If to refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.

Parameters​

NameTypeDescription
fromaddressundefined
toaddressundefined
idsuint256[]undefined
amountsuint256[]undefined
databytesundefined

safeTransferFrom​

function safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data) external nonpayable

Transfers amount tokens of token type id from from to to. Emits a {TransferSingle} event. Requirements: - to cannot be the zero address. - If the caller is not from, it must have been approved to spend from's tokens via {setApprovalForAll}. - from must have a balance of tokens of type id of at least amount. - If to refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.

Parameters​

NameTypeDescription
fromaddressundefined
toaddressundefined
iduint256undefined
amountuint256undefined
databytesundefined

setApprovalForAll​

function setApprovalForAll(address operator, bool approved) external nonpayable

Grants or revokes permission to operator to transfer the caller's tokens, according to approved, Emits an {ApprovalForAll} event. Requirements: - operator cannot be the caller.

Parameters​

NameTypeDescription
operatoraddressundefined
approvedboolundefined

supportsInterface​

function supportsInterface(bytes4 interfaceId) external view returns (bool)

Returns true if this contract implements the interface defined by interfaceId. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.

Parameters​

NameTypeDescription
interfaceIdbytes4undefined

Returns​

NameTypeDescription
_0boolundefined

uri​

function uri(uint256 id) external view returns (string)

Returns the URI for token type id. If the \{id\} substring is present in the URI, it must be replaced by clients with the actual token type ID.

Parameters​

NameTypeDescription
iduint256undefined

Returns​

NameTypeDescription
_0stringundefined

Events​

ApprovalForAll​

event ApprovalForAll(address indexed account, address indexed operator, bool approved)

Parameters​

NameTypeDescription
account indexedaddressundefined
operator indexedaddressundefined
approvedboolundefined

TransferBatch​

event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)

Parameters​

NameTypeDescription
operator indexedaddressundefined
from indexedaddressundefined
to indexedaddressundefined
idsuint256[]undefined
valuesuint256[]undefined

TransferSingle​

event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)

Parameters​

NameTypeDescription
operator indexedaddressundefined
from indexedaddressundefined
to indexedaddressundefined
iduint256undefined
valueuint256undefined

URI​

event URI(string value, uint256 indexed id)

Parameters​

NameTypeDescription
valuestringundefined
id indexeduint256undefined