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
Sep 11th, 2026 → Sep 15th, 2026
View repo
View results
10 / 10
Submissions
Severity
Validity
Tags
Author
#1
PuppyRaffle::refund performs an external call before updating the state, making it vulnerable to a reentrancy attack
High
Valid
[H-02] Reentrancy Vulnerabi...
smilenot
#2
Weak randomness in `PuppyRaffle::selectWinner` allows anyone to predict the winner and the minted puppy's rarity
High
Valid
[H-03] Randomness can be gamed
smilenot
#3
`PuppyRaffle::totalFees` might cause overflow and uses an unsafe cast, blocking the `PuppyRaffle::withdrawFees` function
High
Valid
[H-05] Typecasting from uin...
smilenot
#4
### Smart contract raffle winners without a `fallback` or `receive` function cause `PuppyRaffle::selectWinner` to revert, discarding the legitimate winner
Medium
Valid
[M-03] Impossible to win ra...
smilenot
#5
Looping through players array to check for duplicate players in `PuppyRaffle::enterRaffle` is vulnerable to a denial of service (DoS) attack
Medium
Valid
[M-01] `PuppyRaffle: enterR...
smilenot
#6
Strict equality on the contract balance in `PuppyRaffle::withdrawFees` allows anyone to permanently block the function by force-sending ETH
Medium
Valid
[M-02] Slightly increasing ...
smilenot
#7
`PuppyRaffle::getActivePlayerIndex` returns 0 for both the first player and non-existent players, making them indistinguishable
Low
Valid
[L-01] Ambiguous index retu...
smilenot
#8
Unchanged state variables should be declared as `constant` or `immutable`
Low
Invalid
smilenot
#9
Storage variables in a loop should be cached
Low
Invalid
smilenot
#10
State is written to storage before the duplicate check in `PuppyRaffle::enterRaffle`, wasting gas on reverted transactions
Low
Invalid
smilenot
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!