Core Contracts

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

`veRAACToken` Contract Uses Pausable Modifiers Without Inheriting Pausable Contract

Summary

The veRAACToken contract uses the whenNotPaused modifier in several functions but fails to inherit from OpenZeppelin's Pausable contract, making these modifiers non-functional and the intended pause functionality impossible.

Vulnerability Details

In veRAACToken.sol:

contract veRAACToken is ERC20, Ownable, ReentrancyGuard, IveRAACToken { // Missing Pausable
// ... other code ...
function lock(uint256 amount, uint256 duration) external nonReentrant whenNotPaused { // whenNotPaused will not work
// ... function implementation
}
function increase(uint256 amount) external nonReentrant whenNotPaused { // whenNotPaused will not work
// ... function implementation
}
function extend(uint256 duration) external nonReentrant whenNotPaused { // whenNotPaused will not work
// ... function implementation
}
}

The contract uses whenNotPaused modifier in critical functions but doesn't inherit from Pausable, making it impossible to pause the contract.

Impact

Contract cannot be paused in case of emergency.

Tools Used

Manual review

Recommendations

Inherit from OpenZeppelin's Pausable contract and add pause/unpause functionality

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.