Assessment reports>SP1 Helios>Informational findings>Unused errors in the SP1Helios contract
Category: Coding Mistakes

Unused errors in the SP1Helios contract

Informational Impact
Informational Severity
N/A Likelihood

Description

The SP1Helios contract defines error codes that represent various errors and constraint violations that may occur during operations. However, among them, PrevHeadMismatch, PrevHeaderMismatch, HeaderRootAlreadySet, SyncCommitteeAlreadySet, and StateRootAlreadySet are not used in the current implementation.

error PrevHeadMismatch(uint256 given, uint256 expected);
error PrevHeaderMismatch(bytes32 given, bytes32 expected);
error SlotBehindHead(uint256 slot);
error SyncCommitteeAlreadySet(uint256 period);
error HeaderRootAlreadySet(uint256 slot);
error StateRootAlreadySet(uint256 slot);
error SyncCommitteeStartMismatch(bytes32 given, bytes32 expected);
error SyncCommitteeNotSet(uint256 period);
error NextSyncCommitteeMismatch(bytes32 given, bytes32 expected);
error NonCheckpointSlot(uint256 slot);
error MissingStateRoot(uint256 blockNumber);

Impact

If unused error codes remain in the source code, they can reduce code readability and maintainability, potentially causing confusion during future development.

Recommendations

Remove the unused error codes: PrevHeadMismatch, PrevHeaderMismatch, HeaderRootAlreadySet, SyncCommitteeAlreadySet, and StateRootAlreadySet.

Remediation

This issue has been acknowledged by Succinct Labs, and a fix was implemented in commit 477ed4af.

Zellic © 2025Back to top ↑