IERC6909
Inherits: IERC165
Required interface of an ERC-6909 compliant contract, as defined in https://eips.ethereum.org/EIPS/eip-6909
Functions
balanceOf
Returns the amount of tokens of type id
owned by owner
.
function balanceOf(address owner, uint256 id) external view returns (uint256);
allowance
Returns the amount of tokens of type id
that spender
is allowed to spend on behalf of owner
.
NOTE: Does not include operator allowances.
function allowance(address owner, address spender, uint256 id) external view returns (uint256);
isOperator
Returns true if spender
is set as an operator for owner
.
function isOperator(address owner, address spender) external view returns (bool);
approve
Sets an approval to spender
for amount
tokens of type id
from the caller's tokens.
Must return true.
function approve(address spender, uint256 id, uint256 amount) external returns (bool);
setOperator
Grants or revokes unlimited transfer permission of any token id to spender
for the caller's tokens.
Must return true.
function setOperator(address spender, bool approved) external returns (bool);
transfer
Transfers amount
of token type id
from the caller's account to receiver
.
Must return true.
function transfer(address receiver, uint256 id, uint256 amount) external returns (bool);
transferFrom
Transfers amount
of token type id
from sender
to receiver
.
Must return true.
function transferFrom(address sender, address receiver, uint256 id, uint256 amount) external returns (bool);
Events
Approval
Emitted when the allowance of a spender
for an owner
is set for a token of type id
.
event Approval(address indexed owner, address indexed spender, uint256 indexed id, uint256 amount);
OperatorSet
Emitted when owner
grants or revokes operator status for a spender
.
event OperatorSet(address indexed owner, address indexed spender, bool approved);
Transfer
Emitted when amount
tokens of type id
are moved from sender
to receiver
initiated by caller
.
event Transfer(address caller, address indexed sender, address indexed receiver, uint256 indexed id, uint256 amount);