

Archon public report
MantleCmETH_Interface
Mantle Mainnet · scan depth deep · generated 6/18/2026, 6:03:44 PM
Risk Score
63
Archon completed a read-only Mantle Mainnet audit of MantleCmETH_Interface and found 18 deterministic findings. The highest-priority issue is Naming Convention, with risk score 63/100 based on severity-weighted findings. The contract naming conventions are not fully aligned with common Solidity practices. Review the recommended fixes and run regression tests before deployment.
Models used: OpenAI (gpt-4o-mini).
Findings
| Severity | Finding | Location | Confidence |
|---|---|---|---|
| info | Naming Convention The contract naming conventions are not fully aligned with common Solidity practices. | MantleCmETH_Interface.sol:7 | 60% |
| low | Constable States The contract uses constant states for certain variables. | MantleCmETH_Interface.sol:9 | 70% |
| low | Constable States The totalSupply variable is declared but not initialized or modified, which may lead to unintended behavior. | MantleCmETH_Interface.sol:12 | 60% |
| low | Constable States The name and symbol variables are declared as public but are constant values, which could be optimized. | MantleCmETH_Interface.sol:8 | 70% |
| low | Constable States The contract uses constant values for token attributes. | MantleCmETH_Interface.sol:10 | 70% |
| low | Immutable States The contract has mutable state variables that could be made immutable. | MantleCmETH_Interface.sol:13 | 60% |
| medium | Pack small storage variables into fewer slots Storage variables can be packed more efficiently to save gas. | MantleCmETH_Interface.sol:10 | 80% |
| low | Review calldata parameter width The function 'approve' uses a uint256 type for the 'amount' parameter, which may be optimized for gas usage. | MantleCmETH_Interface.sol:32 | 70% |
| low | Review calldata parameter width The function 'transfer' uses a uint256 type for the 'amount' parameter, which may be optimized for gas usage. | MantleCmETH_Interface.sol:39 | 70% |
| low | Review calldata parameter width The function transferFrom uses a uint256 parameter for the amount, which could be optimized for gas usage. | MantleCmETH_Interface.sol:50 | 70% |
| info | Replace long revert string with custom error The contract uses a long revert string for insufficient balance checks. | MantleCmETH_Interface.sol:41 | 80% |
| info | Replace long revert string with custom error The contract uses a long revert string for insufficient balance checks in transferFrom. | MantleCmETH_Interface.sol:52 | 80% |
| info | Replace long revert string with custom error Long revert string can be replaced with a custom error for gas optimization. | MantleCmETH_Interface.sol:53 | 80% |
| info | Mark never-changing value constant or immutable The owner address is never changing and can be marked as immutable or constant. | MantleCmETH_Interface.sol:13 | 70% |
| info | Cache repeated storage read Repeated storage read for balance check can be optimized. | MantleCmETH_Interface.sol:41 | 80% |
| info | Cache repeated storage read Repeated storage read for balance update can be optimized. | MantleCmETH_Interface.sol:44 | 80% |
| info | Cache repeated storage read Repeated storage read for balance check can be optimized. | MantleCmETH_Interface.sol:52 | 80% |
| info | Cache repeated storage read Repeated storage read for allowance check can be optimized. | MantleCmETH_Interface.sol:53 | 80% |

