Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: low
Invalid

Incorrect error in _queueProposal of Governance.sol

Summary

The _queueProposal functionincorrectly uses the ProposalAlreadyExecuted when checking if a proposal is already in a pending state. This results in misleading error messages and misrepresents the actual state of the proposal.

Vulnerability Details

In the provided code snippet, the conditional check for whether a proposal is pending uses the ProposalAlreadyExecuted error upon revert:

if (_timelock.isOperationPending(id)) {
revert ProposalAlreadyExecuted(proposalId, block.timestamp); // @audit-issue wrong revert
}

The ProposalAlreadyExecuted error is intended for scenarios where a proposal has already been executed, whereas ProposalAlreadyQueued should be thrown when a proposal is already in a pending/queued state. This mismatch creates confusion about the proposal’s actual lifecycle stage.

Impact

misleading errors

Tools Used

manual

Recommendations

Governance.sol

if (_timelock.isOperationPending(id)) {
- revert ProposalAlreadyExecuted(proposalId, block.timestamp);
+ revert ProposalAlreadyQueued(proposalId, block.timestamp);
}

IGovernance.sol

+ error ProposalAlreadyQueued(uint256 proposalId, uint256 executionTime);
Updates

Lead Judging Commences

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!