Core Contracts

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

Missing Pause Functionality in veRAAC Contract

Summary

The veRAACToken contract includes a paused state variable and a whenNotPaused modifier to restrict certain functions when the contract is paused. However, there is no implementation to set or toggle the paused state. This renders the pause feature ineffective, as the contract cannot be paused in case of emergencies or unexpected issues.

Vulnerability Details

The paused state variable is declared and used in the whenNotPaused modifier, but there is no function to set or toggle its value. There is no onlyOwner or administrative function to update the paused state.

modifier whenNotPaused() {
if (paused) revert ContractPaused();
_;
}

https://github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/core/minters/RAACMinter/RAACMinter.sol#L170

Impact

Critical functions cant be paused

Tools Used

Manaul

Recommendations

Add functions to allow the contract owner to pause and unpause the contract:

function pause() external onlyOwner {
r
equire(!paused, "Contract is already paused");
paused = true;
}
function unpause() external onlyOwner {
require(paused, "Contract is not paused");
paused = false;
}
Updates

Lead Judging Commences

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Validated
Assigned finding tags:

veRAACToken lacks the ability to configure `paused` variable

Support

FAQs

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