Open vm06007 opened 1 year ago
there is no longer apporve() default overwrite instead custom function approveMint, the nftId is also now preminted for the FeeManager thus cannot be used and the check is safe. If check can be considered as validation/sanitize the method
PNF-05M: EIP-721 Deviation of Approval
Description:
The
PositionNFTs::approve
functionoverride
introduces a special condition that checks whether the_nftId
to be approved is0
and simply returns in direct contradiction with the EIP-721 standard.Impact:
A deviation from the EIP-721 standard is significant and can cause integrators of the
PositionNFTs
to fail fatally.Example:
Recommendation:
We advise the code to instead skip the
reserved
entry validation if the_nftId
is0
, ensuring that thePositionNFTs::approveNative
call is ultimately executed and fails for the0
value ID.