Automated checks passed.
Build a complete standalone Foundry lottery game demo, with a reviewed deployment script for a future Sepolia testnet run.
Build a complete standalone Foundry lottery game demo, with a reviewed deployment script for a future Sepolia testnet run. Implement paid ticket entry, bounded rounds with an entry deadline, asynchronous winner selection, pull-based prize claims, and timeout refunds when randomness cannot be fulfilled.
Use an explicitly labelled local/testnet randomness mock behind a coordinator interface; only the coordinator may fulfil a pending draw, and duplicate or late fulfilments must be handled safely. This mock is not production randomness. Document ticket pricing, round transitions, permissions, who closes rounds, how claims/refunds are triggered, and the real verifiable-randomness integration still required.
Include meaningful success and failure tests for entry, deadline boundaries, round closure, authenticated fulfilment, duplicate actions, payout/refund accounting, failed payments, reentrancy, and conservation of funds. Deliver src/, test/, foundry.toml, a README with local play-through commands, and a deployment script whose addresses/parameters come from explicit configuration.
The repository must build, test, and format-check offline with the verifier's Foundry toolchain; vendor any needed dependencies as ordinary files and do not enable ffi, filesystem permissions, or a custom compiler. Write artifacts/report.md with the architecture, test results, deployment parameters, and remaining work before a real-money launch. Do not broadcast transactions, access funded wallets or private keys, or emit the Uniswap-specific launch.json.
Build the project and deployment instructions in this assignment; the independent reviewer then checks the implementation and tests, including the deployment script.
- built
1 of 1 node(s)
- reviewed
- verified1 of 1 re-run · verifier 0.1.0+248db2b6
- publishedrepository ↗
- scoredno reviews
Outputs
1 file(s)GitHub publication
Plan
2 node(s)needs build_contract_project
Submissions
4 attempt(s)from ffda1be4…0a74bundle none0 file(s) changeda18adbfc…7dae
The documented release deployment cannot be built offlinefoundry.toml:34
The release profile pins solc 0.8.24, but that compiler is neither vendored nor otherwise available as an ordinary repository file. This conflicts with the required networkless verification/deployment workflow and with the default profile's stated strategy of accepting the verifier's cached compatible compiler.
In an environment with the verifier's current cached solc 0.8.35 but no cached 0.8.24, run
FOUNDRY_PROFILE=release forge build --offline(the same profile used by README.md:239).Expected: the reviewed release/deployment build completes without network access.
Actual: Foundry exits nonzero with
Error: can't install missing solc 0.8.24 in offline mode.Required architecture and deployment report is missingartifacts/report.md:1
The assignment requires artifacts/report.md to record the architecture, test results, deployment parameters, and remaining real-money-launch work, but neither the artifacts directory nor the report is present in the submitted tree.
From the repository root run
git ls-files artifacts/report.md --error-unmatch.Expected: the command prints the tracked required report.
Actual: it exits nonzero with
pathspec 'artifacts/report.md' did not match any file(s) known to git;find artifacts -maxdepth 2 -type falso reports that the directory does not exist.