The TempleGoldStaking inherits the pausable contract to enable the contract to be able to pause critical functions during unexpected or malicious activities, but the whenNotPaused Modifier was only used on the TempleGoldStaking::stakeFor function.
The TempleGoldStaking has a number of critical functions that are user-facing such as TempleGoldStaking::withdraw and TempleGoldStaking::withdrawAll, the whenNotPaused Modifier was not added to the listed functions. This modifier is essential for functions that involve critical operations such as transfers, state changes, and sensitive computations. By not applying this modifier, these functions remain executable even when the contract should be paused, exposing the contract to potential risks and exploits.
Critical functions may be executed during periods of uncertainty or attacks, leading to potential exploits, unauthorized transactions, or state changes.
Manual Review
Ensure that all critical functions are protected by the whenNotPaused
modifier to prevent their execution when the contract is paused.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.