Run Highroll
Run a round
Close sales, get the numbers, check the prizes, open claims.
Check your version
The contracts still use the working name Gigapot (for example Gigapot and GigapotLens). This reference follows contract code e1056f7. The test network runs older code from 19 September (8a20efb). The launch contracts add fee bands, a Backer allowlist, prize minimums and the 25% jackpot; their calls will be listed here once the audited ABI is final. Use the ABI that matches the contracts you call.
Before you start#
Read currentRound, settlementRound, rounds(id) and pipelineState(id). Check that the verifier, program keys, draw source, batches and queue match the reviewed deployment. A sales round with bonusMax == 0 waits for the previous round to settle.
The sequence#
| Step | Call | What it does |
|---|---|---|
| Queue | materializeQueue(roundId, maxBatches) | Add batches in small steps until the queue is complete. |
| Count | proveQueue / proveQueueFor | After the close, prove the lines in the round. |
| Numbers | requestNumbers() | Request numbers for settlementRound. Can happen before the count proof. |
| Prizes | settleRound / verifySettlement | Prove the winner counts and settle, or verify an early report. |
| Claims | publishClaimTree | Needs verified settlement and a claim-tree proof. Then holders can claim. |
A round with no lines uses settleEmptyRound and needs no numbers.
The calls#
materializeQueue(roundId, maxBatches);
proveQueueFor(roundId, arrayRoot, queueProof);
// requestNumbers can also happen before the queue proof.
requestNumbers();
verifySettlement(roundId, winners, duplicates, noReferral, settlementProof);
publishClaimTree(roundId, claimRoot, claimProof);This is the order of calls, not a ready script. Re-read state after each transaction, and never request numbers twice.
reportSettlement is settlementOperator-only and leaves verification open. Watch unverifiedSettlements until proofs catch up, and look into any SettlementMismatch. A zero counter doesn’t mean every report matched.
Check the results#
- QueueMaterialized and QueueProved cover every batch.
- NumbersRequested and NumbersDrawn belong to the right round.
- TierResults, RoundSettled and SettlementVerified match what’s owed.
- SettlementReported and SettlementMismatch are watched on the trusted path.
- RoundConfigured sets the next round’s prizes and bonus range.
- ClaimTreeRoot appears only after verification.
- A sample slice claims its full prize, and PrizePaid confirms payment.