IERC1155
View Source: contracts/interfaces/IERC1155.sol
↗ Extends: IERC165
IERC1155
Functions
- balanceOf(address account, uint256 id)
- balanceOfBatch(address[] accounts, uint256[] ids)
- setApprovalForAll(address operator, bool approved)
- isApprovedForAll(address account, address operator)
- safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
- safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
balanceOf
Returns the amount of tokens of token type id
owned by account
.
Requirements:
- account
cannot be the zero address.
function balanceOf(address account,
uint256 id)
external
view
returns(uint256)
Arguments
Name | Type | Description |
---|---|---|
account | address | |
id | uint256 |
Returns
uint256
balanceOfBatch
xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.
Requirements:
- accounts
and ids
must have the same length.
function balanceOfBatch(address[] accounts,
uint256[] ids)
external
view
returns(uint256[])
Arguments
Name | Type | Description |
---|---|---|
accounts | address[] | |
ids | uint256[] |
Returns
uint256[]
setApprovalForAll
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.
function setApprovalForAll(address operator,
bool approved)
external
Arguments
Name | Type | Description |
---|---|---|
operator | address | |
approved | bool |
isApprovedForAll
Returns true if operator
is approved to transfer account
's tokens.
See {setApprovalForAll}.
function isApprovedForAll(address account,
address operator)
external
view
returns(bool)
Arguments
Name | Type | Description |
---|---|---|
account | address | |
operator | address |
Returns
bool
safeTransferFrom
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.
function safeTransferFrom(address from,
address to,
uint256 id,
uint256 amount,
bytes data)
external
Arguments
Name | Type | Description |
---|---|---|
from | address | |
to | address | |
id | uint256 | |
amount | uint256 | |
data | bytes |
safeBatchTransferFrom
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.
function safeBatchTransferFrom(address from,
address to,
uint256[] ids,
uint256[] amounts,
bytes data)
external
Arguments
Name | Type | Description |
---|---|---|
from | address | |
to | address | |
ids | uint256[] | |
amounts | uint256[] | |
data | bytes |
Events
TransferSingle
Emitted when value
tokens of token type id
are transferred from from
to to
by operator
.
event TransferSingle(
address indexed operator
address indexed from
address indexed to
uint256 id
uint256 value
)
Parameters
Name | Type | Description |
---|---|---|
operator | address | |
from | address | |
to | address | |
id | uint256 | |
value | uint256 |
TransferBatch
Equivalent to multiple {TransferSingle} events, where operator
, from
and to
are the same for all
transfers.
event TransferBatch(
address indexed operator
address indexed from
address indexed to
uint256[] ids
uint256[] values
)
Parameters
Name | Type | Description |
---|---|---|
operator | address | |
from | address | |
to | address | |
ids | uint256[] | |
values | uint256[] |
ApprovalForAll
Emitted when account
grants or revokes permission to operator
to transfer their tokens, according to
approved
.
event ApprovalForAll(
address indexed account
address indexed operator
bool approved
)
Parameters
Name | Type | Description |
---|---|---|
account | address | |
operator | address | |
approved | bool |
URI
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}.
event URI(
string value
uint256 indexed id
)
Parameters
Name | Type | Description |
---|---|---|
value | string | |
id | uint256 |