The NatSpec documentation for PuppyRaffle::enterRaffle() states
"You can use this to enter yourself multiple times" but the
implementation explicitly rejects duplicate addresses via a
nested loop check. This contradiction misleads developers and
integrators who rely on documentation to understand protocol
behavior, potentially causing integration errors or incorrect
assumptions about the protocol's intended functionality.
Likelihood:
Likelihood:
Present in every deployment from day one
Any developer reading documentation encounters this
Impact:
Developers may build integrations expecting
multiple entries per address
Integration failures when duplicate check reverts
Trust issues with protocol documentation qualit
Steps to observe:
Read NatSpec: "enter yourself multiple times"
Call enterRaffle([yourAddr, yourAddr])
Transaction reverts: "PuppyRaffle: Duplicate player"
Documentation directly contradicts implementation
Update the NatSpec to accurately reflect the duplicate
address restriction. Remove the misleading claim about
entering multiple times with the same address.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.