Core Contracts

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

veRAACToken cannot be paused

Summary

The veRAACToken contract cannot be paused but has a modifier which disallows certain functions when paused.

Vulnerability Details

Inside the veRAACToken contract there is a modifier to ensure functions cannot be called when the contract is paused:

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

The functions:

function lock(uint256 amount, uint256 duration) external nonReentrant whenNotPaused ;
function increase(uint256 amount) external nonReentrant whenNotPaused ;
function extend(uint256 newDuration) external nonReentrant whenNotPaused ;

The issue is that there are no functions inside the contract to toggle pause/unpause.

Impact

Protocol intended to add pausability to this contract but they forgot to implement functions to toggle it. The default value of paused will be false, and if admins want to toggle it at some point to disallow new locks/increases/extensions they will not be able to.

Tools Used

Manual Review

Recommendations

Add a function to toggle the paused state.

Updates

Lead Judging Commences

inallhonesty Lead Judge 7 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.

Give us feedback!