Skip to main content

IERC1155Permit.sol

Read code on GitHub

Methods

DOMAIN_SEPARATOR

Returns the domain separator

Solidity
function DOMAIN_SEPARATOR() external view returns (bytes32)

Returns

NameTypeDescription
_0bytes32Hash of the domain separator

balanceOf

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

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

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

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

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

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

Parameters

NameTypeDescription
accountaddressundefined
operatoraddressundefined

Returns

NameTypeDescription
_0boolundefined

nonces

Returns the current nonce of an address

Solidity
function nonces(address owner) external view returns (uint256)

Parameters

NameTypeDescription
owneraddressAddress to inspect

Returns

NameTypeDescription
_0uint256Current nonce of an address

permit

Grants or revokes the approval for an operator to transfer any of the owner's tokens using their signature

Solidity
function permit(address owner, address operator, bool approved, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external nonpayable

Parameters

NameTypeDescription
owneraddressAddress of the owner
operatoraddressAddress of the operator
approvedboolTrue if the approval should be granted, false if revoked
deadlineuint256Expiry of the signature, as a timestamp
vuint8Must produce valid secp256k1 signature from the holder along with r and s
rbytes32Must produce valid secp256k1 signature from the holder along with v and s
sbytes32Must produce valid secp256k1 signature from the holder along with r and v

safeBatchTransferFrom

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

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

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

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 be 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

Solidity
function setApprovalForAll(address operator, bool approved) external nonpayable
Details

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

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

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

Events

ApprovalForAll

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

Parameters

NameTypeDescription
account indexedaddressundefined
operator indexedaddressundefined
approvedboolundefined

TransferBatch

Solidity
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

Solidity
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

Solidity
event URI(string value, uint256 indexed id)

Parameters

NameTypeDescription
valuestringundefined
id indexeduint256undefined

Errors

InvalidSigError

Thrown when the signature is invalid

Solidity
error InvalidSigError()

SigExpiredError

Thrown when the signature has expired

Solidity
error SigExpiredError()