Process
ERC Standards Review
Last updated:
May 6, 2022

While ERC standards are well documented, implementations often diverge and in subtle ways. The most common example are token transfers for ERC20 tokens that do not return a boolean success value.

This review step focuses on evaluating standards compliance to ensure that contracts following a certain standard can be readily consumed and don't break expectations of third-party protocols.

Review the standards implementation

Several standard ERC templates are now available and ideally contracts should use one of them. If a custom implementation has been developed (for good reason), its review should be more extensive.

Run a standards compliance check

Slither has a built in scanner for ERC conformance called slither-check-erc. Use it to identify common deviations from the standard.

Manually review ERC standards conformance

Review the original EIP or appropriate Open Zeppelin implementation to check for any issues that the scanner may have missed. Check if tests comprehensively exercise the full ERC API.

Manual allow list process

If your protocol is extensible through a standard (e.g., supports various tokens or supports various ERC4626 assets), you may want to develop a custom allow list process that includes both liquidity, business and security related guidelines.

Auditless Codex users Porter Finance put together a good reference allow list for tokens: https://github.com/porter-finance/allow-list-process.

See Also: