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
Run GenerateInput to create balances in temporary contracts, then deploy actual airdrop which creates new Snow contract instances - the Merkle tree references addresses and balances that don't exist in the deployed contract state
Pass the deployed Snow contract instance to _createJSON() and read actual on-chain balances instead of creating temporary Helper instances.
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.