The contract lacks a pause or rescue mechanism to respond to emergencies
This makes it impossible for the owner to temporarily halt deposits/joins or safely withdraw locked assets in a critical scenario.
Likelihood:
The absence of a Pausable pattern affects every function there’s no mitigation in place once deployed.
While not immediately exploitable, this issue will manifest during unexpected token behavior or security incidents, where the lack of control prevents safe responses.
Impact:
If a bug or exploit is found after deployment, the team cannot pause or recover funds.
In case of ERC20 transfer failures or misbehavior, user funds may remain stuck forever.
Explanation:
When a security flaw or stuck asset situation occurs, the owner cannot react.
Even legitimate rescue attempts (like recovering wrong ERC20 tokens sent to the vault) will fail because the contract doesn’t have a mechanism for it.
Explanation:
pause() / unpause() allow the owner to freeze vault activity in emergencies.
rescueTokens() enables the recovery of tokens accidentally stuck in the contract.
nonReentrant ensures safety against reentrancy in deposit/withdraw flows
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.