HardhatFoundry
30,000 USDC
View results
Submission Details
Severity: medium
Valid

ERC-165 is not implemented by Nexus Smart Account

Summary

ERC-165 is not implemented by Nexus Smart Account.

Vulnerability Details

According to ERC-7579 Specification, smart accounts MUST implement ERC-165.

Smart accounts MUST implement ERC-165. However, for every interface function that reverts instead of implementing the functionality, the smart account MUST return false for the corresponding interface id.

However, ERC165.supportsInterface() function is not implemented by Nexus contract.

Impact

Medium.

Nexus contract is to be a strict implementation of ERC7579, and it is expected to implement the mandatory ERC165.supportsInterface() function, failing to do so may:

  1. Hinder the interoperability for modules to be used across different smart accounts;

  2. Hinder the interoperability for smart accounts to be used across different wallet applications and sdks;

  3. Bring significant vendor lock-in for smart account users.

Tools Used

Manual Review

Recommendations

Implement ERC165.supportsInterface() function in Nexus contract.

Updates

Lead Judging Commences

0xnevi Lead Judge 11 months ago
Submission Judgement Published
Validated
Assigned finding tags:

finding-ERC7579-ERC165-non-compliant

The argument for medium severity here is the potential inconsistencies with external integrations that would like to query whether a contract supports the interface. The impact is arguable though, so would leave open for arguments during appeals period.

Support

FAQs

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