Changes in approvals for ERC721 contracts on Ethereum
Schema
Column Name | Data Type |
---|---|
txn_hash | string |
block_number | bigDecimal |
block_timestamp | bigDecimal |
token_address | string |
token_name | string |
token_decimals | string |
owner | string |
is_for_all | bool |
token_id | bigDecimal |
approved_address | string |
operator | string |
approved | bool |
Notes
There are two types of approvals for ERC721:
approve(address to, uint256 tokenId)
grants permission to a single address to transfer a specific NFT, identified by its ID. Approve records will haveis_for_all = false
and the details of the approval specified intoken_id
andapproved_address
. The two remaining columns,operator
andapproved
, take default values and should be disregarded for this case.setApprovalForAll(address operator, bool approved)
grants or revokes permission to an operator address to manage all of the caller's NFTs. In this case,is_for_all = true
and the operator is defined inoperator
. Ifapproved = true
then the record corresponds to the granting of an approval. Ifapproved = false
, the record corresponds to the removal of an approval.
Source
This table was built in sim's Ethereum ERC721 Approval Changes canvas.