Helpful?
ERC721PermitHash
Git Source | Generated with forge doc
State Variables
PERMIT_TYPEHASH
Value is equal to keccak256("Permit(address spender,uint256 tokenId,uint256 nonce,uint256 deadline)");
bytes32 constant PERMIT_TYPEHASH = 0x49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad;
PERMIT_FOR_ALL_TYPEHASH
Value is equal to keccak256("PermitForAll(address operator,bool approved,uint256 nonce,uint256 deadline)");
bytes32 constant PERMIT_FOR_ALL_TYPEHASH = 0x6673cb397ee2a50b6b8401653d3638b4ac8b3db9c28aa6870ffceb7574ec2f76;
Functions
hashPermit
Hashes the data that will be signed for IERC721Permit_v4.permit()
function hashPermit(address spender, uint256 tokenId, uint256 nonce, uint256 deadline)
    internal
    pure
    returns (bytes32 digest);
Parameters
| Name | Type | Description | 
|---|---|---|
| spender | address | The address which may spend the tokenId | 
| tokenId | uint256 | The tokenId of the owner, which may be spent by spender | 
| nonce | uint256 | A unique non-ordered value for each signature to prevent replay attacks | 
| deadline | uint256 | The time at which the signature expires | 
Returns
| Name | Type | Description | 
|---|---|---|
| digest | bytes32 | The hash of the data to be signed; the equivalent to keccak256(abi.encode(PERMIT_TYPEHASH, spender, tokenId, nonce, deadline)); | 
hashPermitForAll
Hashes the data that will be signed for IERC721Permit_v4.permit()
function hashPermitForAll(address operator, bool approved, uint256 nonce, uint256 deadline)
    internal
    pure
    returns (bytes32 digest);
Parameters
| Name | Type | Description | 
|---|---|---|
| operator | address | The address which may spend any of the owner's tokenIds | 
| approved | bool | true if the operator is to have full permission over the owner's tokenIds; false otherwise | 
| nonce | uint256 | A unique non-ordered value for each signature to prevent replay attacks | 
| deadline | uint256 | The time at which the signature expires | 
Returns
| Name | Type | Description | 
|---|---|---|
| digest | bytes32 | The hash of the data to be signed; the equivalent to keccak256(abi.encode(PERMIT_FOR_ALL_TYPEHASH, operator, approved, nonce, deadline)); |