

Archon public report
MantleChainlinkMETHETHFeed_Interface
Mantle Mainnet · scan depth quick · generated 6/18/2026, 6:06:21 PM
Risk Score
60
Archon completed a read-only Mantle Mainnet audit of MantleChainlinkMETHETHFeed_Interface and found 9 deterministic findings. The highest-priority issue is Naming Convention, with risk score 60/100 based on severity-weighted findings. The contract name follows the pattern `ContractName` while the standard for Solidity interfaces is to prefix with `I`. This might be intentional, but it deviates from common conventions and could cause confusion during integration audits. Review the recommended fixes and run regression tests before deployment.
Models used: Tencent Cloud TokenHub (deepseek-v4-pro), OpenAI (gpt-4o-mini) — AI reasoning served on Tencent Cloud TokenHub.
Findings
| Severity | Finding | Location | Confidence |
|---|---|---|---|
| info | Naming Convention The contract name follows the pattern `ContractName` while the standard for Solidity interfaces is to prefix with `I`. This might be intentional, but it deviates from common conventions and could cause confusion during integration audits. | MantleChainlinkMETHETHFeed_Interface.sol:7 | 75% |
| low | Constable States The contract uses constable states which may not be necessary. | MantleChainlinkMETHETHFeed_Interface.sol:9 | 60% |
| low | Constable States The `description` state variable is set as a constant string in the contract body but lacks a `constant` keyword, allowing potential modification. While in this read-only mock it is not modified, the declaration is misleading and could cause confusion or unexpected behavior if the contract is extended. | MantleChainlinkMETHETHFeed_Interface.sol:10 | 80% |
| low | Constable States The `version` state variable is assigned a constant value (1) but declared without the `constant` keyword. This allows unintended overwriting, contradicting its role as a fixed version identifier. | MantleChainlinkMETHETHFeed_Interface.sol:11 | 80% |
| low | Immutable States The contract has several public state variables that are never updated after deployment (e.g. `latestAnsweredInRound`, `owner`). They are not declared immutable or constant, which wastes gas and signals that they should be fixed values. | MantleChainlinkMETHETHFeed_Interface.sol:18 | 85% |
| medium | Oracle price read lacks freshness heartbeat check The contract does not implement a freshness heartbeat check for the oracle price read, which may lead to using stale data. | MantleChainlinkMETHETHFeed_Interface.sol:16 | 70% |
| medium | Pack small storage variables into fewer slots The contract has small storage variables that can be packed into fewer slots to optimize gas usage. | MantleChainlinkMETHETHFeed_Interface.sol:9 | 60% |
| medium | Pack small storage variables into fewer slots Storage variables can be packed to optimize gas usage. | MantleChainlinkMETHETHFeed_Interface.sol:13 | 70% |
| info | Mark never-changing value constant or immutable The state variable 'owner' is declared as a regular 'public' storage variable but its value is never modified in the contract (or intended to be set once upon construction). For a read-only auditor on Mantle, this represents an unnecessary storage slot write and gas cost overhead. Additionally, since Mantle is an Ethereum Virtual Machine (EVM)-compatible L2 with its own gas pricing model, using storage instead of an immutable reduces efficiency. | MantleChainlinkMETHETHFeed_Interface.sol:18 | 100% |

