Competitive Audits
First Flights
Leaderboard
Docs
Toggle theme
Sign up
Log in
All First Flights
MyCut
Submissions
AI First Flight
MyCut
AI First Flight #8
Beginner Friendly
Foundry
EXP
AI First Flight
EXP
Sep 13th, 2026 → Sep 20th, 2026
View repo
View results
10 / 10
Submissions
Severity
Validity
Tags
Author
#1
Pot::closePot` divides the remaining rewards by `i_players.length` instead of `claimants.length`, underpaying claimants and stranding funds in the Pot
High
Valid
[H-02] Incorrect logic in `...
zodmastro
#2
`Pot` constructor overwrites rewards for duplicate players and doesn't validate the input arrays, so rewards are lost and remain stuck in the Pot
High
Valid
[H-03] [M1] `Pot::construct...
zodmastro
#3
`Pot::closePot` pushes a transfer to every claimant in one unbounded loop, so gas cost grows with the number of claimants and a large pot can become impossible to close
High
Valid
[H-04] Gas Limit DoS via la...
zodmastro
#4
The manager's cut from `Pot::closePot` is sent to the `ContestManager` contract, which has no withdraw function, so it is locked forever
High
Valid
[H-01] Owner Cut Stuck in `...
zodmastro
#5
`Pot::claimCut` never enforces the 90-day claim period, so players who missed it can front-run `closePot` and take the rewards meant for on-time claimants and the manager
High
Invalid
zodmastro
#6
`Pot::closePot` can be called more than once because it has no closed flag and never resets `remainingRewards`, so repeated calls drain funds owed to players who haven't claimed
Low
Invalid
zodmastro
#7
When no player claims, `Pot::closePot` only transfers the 10% manager cut and leaves the other 90% of the pot locked forever
High
Valid
[H-02] Incorrect logic in `...
zodmastro
#8
One claimant who can't receive tokens (e.g. blacklisted by USDC/USDT) makes `Pot::closePot` revert every time, so no pot leftover can ever be distributed
Low
Invalid
zodmastro
#9
Integer division in `Pot::closePot` rounds down and the leftover dust stays in the Pot forever
Low
Valid
[L-03] [H-03] Precision los...
zodmastro
#10
Calling `renounceOwnership` on `ContestManager` (inherited and not disabled) makes every Pot impossible to close, locking all their leftover funds
Low
Invalid
zodmastro
Previous
1
Next
Support
FAQs
Can't find an answer? Chat with us on Discord, Twitter or Linkedin.
What is Cyfrin CodeHawks?
What is a competitive audit?
How can I host a competition on CodeHawks?
How is a contest prize pool determined?
How do I get rewarded?
What is a First Flight?
Give us feedback!