The TokenSupportFacet.sol
file, which aims to implement the ERC-4494
specification for ERC-721
permits, is currently incomplete. It includes the permit function but is missing the required nonces
and DOMAIN_SEPARATOR
functions, leading to non-compliance with the ERC-4494
standard.
According to the ERC-4494 specification which is used for ERC-721
permits, the smart contracts that are implementing it MUST
have three new functions be added to ERC-721
. These are:
Here, nonces
returns the nonce of an NFT which is useful for creating permits and DOMAIN_SEPERATOR
returns the domain separator used in the encoding of the signature for permits, as defined by EIP-712
But TokenSupportFacet.sol
which implements this EIP only have permit
function while the nonces
and DOMAIN_SEPERATOR
functions are missing.
The permit
function in TokenSupportFacet.sol
is as follows:
There is no implementation of other two critical functions currently in the contract.
Medium: The contract is not compliant with the EIP-4494
specifications because it lacks implementations of the nonces
and DOMAIN_SEPARATOR
functions. This non-compliance can lead to issues with the intended functionality of ERC-721
permits and may cause integration problems with other systems that expect a fully compliant implementation.
Manual Review
Add the implementation of nonces
and DOMAIN_SEPERATOR
functions as mentioned in EIP-4494
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.