The Pot::closePot
uses an unchecked transfer operation when transferring the manager’s cut. This could lead to situations where the transfer fails without being detected, causing issues with the funds distribution.
Within the Pot::closePot
, the following code is used to transfer the manager’s cut from the remaining rewards:
This operation does not verify whether the transfer was successful. If it fails, the contract will continue executing, incorrectly assuming the manager has received their cut.
• Manager’s Funds: The manager may not receive their entitled portion of the rewards.
• Incorrect Distribution: The remaining rewards, meant to be distributed among claimants, could be miscalculated if the manager’s cut is not successfully transferred.
Manual Review
Slither
Replace the unchecked transfer with a safe transfer using OpenZeppelin’s SafeERC20 library to ensure the operation’s success:
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.