Competitive Audits
First Flights
Leaderboard
Docs
Toggle theme
Sign up
Log in
All First Flights
Puppy Raffle
Submissions
AI First Flight
Puppy Raffle
AI First Flight #1
Beginner Friendly
Foundry
Solidity
NFT
EXP
AI First Flight
EXP
Aug 7th, 2026 → Aug 7th, 2026
View repo
View results
10 / 10
Submissions
Severity
Validity
Tags
Author
#1
Nested loop duplicate check in `enterRaffle()` → O(n²) gas explosion prevents new players from entering
Medium
Valid
[M-01] `PuppyRaffle: enterR...
aiada
#2
CEI violation in `refund()` → external call before state update allows reentrancy to drain contract
High
Valid
[H-02] Reentrancy Vulnerabi...
aiada
#3
`selectWinner()` uses `block.timestamp` and `block.difficulty` for randomness → winner can be predicted and manipulated
High
Valid
[H-03] Randomness can be gamed
aiada
#4
`refund()` sets players to `address(0)` without shrinking array → `prizePool` over-calculates and `selectWinner()` fails to distribute funds
High
Valid
[H-04] `PuppyRaffle::refund...
aiada
#5
`totalFees` declared as `uint64` in Solidity ^0.7.6 → silent overflow after ~18.4 ETH in fees
High
Valid
[H-05] Typecasting from uin...
aiada
#6
`withdrawFees()` requires exact balance match → forced ETH send permanently locks all fees
Medium
Valid
[M-02] Slightly increasing ...
aiada
#7
`refund()` leaves `address(0)` holes → `selectWinner()` prize pool calculation ignores refunds and always reverts
High
Invalid
aiada
#8
Multiple arithmetic overflow/underflow vulnerabilities throughout `PuppyRaffle.sol` due to Solidity ^0.7.6
High
Valid
[H-06] Overflow/Underflow v...
aiada
#9
Front-running attacks in `selectWinner()` and `refund()` allow MEV extraction and griefing
High
Invalid
aiada
#10
`selectWinner()` reverts if winner is a smart contract without `receive()` or `fallback()` function
Medium
Valid
[M-03] Impossible to win ra...
aiada
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!