The deployment script accepts INITIAL_FUNDING from the environment and forwards it directly into the TreasureHunt constructor without validating that the amount is sufficient to fund all intended rewards.
Because the script does not enforce INITIAL_FUNDING >= REWARD * MAX_TREASURES, it can successfully deploy a hunt that is structurally underfunded from the first block.
An underfunded deployment can create an unusable or partially unusable hunt:
valid claims may revert with NotEnoughFunds
the deployed contract may violate the project’s intended economic assumptions
operators may believe deployment succeeded while the hunt is not actually solvent
This is primarily a deployment safety and operational integrity issue.
The script reads arbitrary funding input here:
and deploys the contract with that value here:
The only post-deployment balance check is:
That check confirms only that the transfer occurred, not that the amount is economically sufficient.
For example, if INITIAL_FUNDING=5 ether, deployment would still proceed even though the contract’s reward logic expects:
As a result, the first valid claim would already be at risk of reverting due to insufficient funds.
Validate funding before broadcasting and fail fast unless the deployment is fully funded.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.