ArchonArchon
Public verified reportRun your own audit

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

low: 4high: 0info: 2medium: 3critical: 0
SeverityFindingLocationConfidence
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:775%
low

Constable States

The contract uses constable states which may not be necessary.

MantleChainlinkMETHETHFeed_Interface.sol:960%
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:1080%
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:1180%
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:1885%
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:1670%
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:960%
medium

Pack small storage variables into fewer slots

Storage variables can be packed to optimize gas usage.

MantleChainlinkMETHETHFeed_Interface.sol:1370%
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:18100%