Scripts should generate a Merkle tree based on actual token balances that will exist when the airdrop contract is deployed. Users should be able to claim tokens using valid Merkle proofs that match their real balances.
Likelihood:
Every script execution creates isolated blockchain state in Foundry
The deployment will always create different contract instances than the test instances
Impact:
Complete airdrop system failure - no user can claim tokens
Merkle proofs are valid for non-existent contract state
Production contract has zero connection to the generated Merkle tree
Deploy the airdrop through Helper which creates a Snow contract instance, then run GenerateInput which creates a different Snow instance - the generated Merkle tree with root 0xc0b6787abae0a5066bc2d09eaec944c58119dc18be796e93de5b2bf9f80ea79a
Pass the deployed Snow contract instance as a parameter to _createJSON() and read balances directly from that contract instead of creating new Helper instances with temporary contracts.
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.