contribute(0) succeeds: it pointlessly creates (and pays rent for) a Contribution account while transferring nothing.
In contribute() (programs/rustfund/src/lib.rs), there is no require!(amount > 0, ...) guard, so a zero-lamport contribution passes all checks and initializes a rent-paying PDA.
Low severity / Low likelihood: no direct fund loss; wastes the contributor's rent and clutters on-chain state. Zero-amount contributions can also skew off-chain contributor counts.
Call contribute(0) → returns Ok, Contribution account created with rent paid, 0 lamports moved. (Verified by code inspection.)
Add require!(amount > 0, InvalidAmount); in contribute().
Access control on privileged fns (has_one = creator + Signer) and checked math on the transfers themselves were verified sound.
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.