The Standard

The Standard
DeFiHardhat
20,000 USDC
View results
Submission Details
Severity: low
Valid

The `tokenURI` function does not check if the `_tokenId` has been minted

Summary

The tokenURI function does not check if the _tokenId has been minted. Thus breaks the EIP721 spec.

Vulnerability Details

In SmartVaultManagerV5.sol we have tokenURI():

function tokenURI(uint256 _tokenId) public view virtual override returns (string memory) {
ISmartVault.Status memory vaultStatus = ISmartVault(smartVaultIndex.getVaultAddress(_tokenId)).status();
return INFTMetadataGenerator(nftMetadataGenerator).generateNFTMetadata(_tokenId, vaultStatus);
}

This function returns unique URI for each token (NFT) based on its tokenId.
According to the standard, the tokenURI method must revert if a non-existent tokenId is passed.

Reference

Impact

tokenURI() is not compliant with EIP721

Tools Used

Visual Studio Code

Recommendations

Add a _tokenId existence check in tokenURI().

Updates

Lead Judging Commences

hrishibhat Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

informational/invalid

hrishibhat Lead Judge over 1 year ago
Submission Judgement Published
Validated
Assigned finding tags:

eip-compliance

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.