Lighting the hearth
Lighting the hearth
A draw takes five transactions. Every one of them is callable by any wallet, yours included.
Connect a wallet to send any of these. None of them needs a privilege the contracts recognise, and none of them can be aimed at a particular saver.
The five steps below read from the chain either way, so the screen is worth looking at before you connect anything.
What the pool is waiting for
unknown
The reads that say which step is due have not come back from the chain yet.
Fixes each tier's prize size from the money sitting in it, moves that money into the draw, harvests the yield source, and draws an encrypted seed that nobody, us included, can read.
Whether this step is available has not come back from the chain yet.
Hands the pool the cleartexts of the four values the close published, with the key management service's signature over them. The pool checks that signature on chain, books the harvest into the tiers and opens the draw. Winners are decided at this moment.
Whether this step is available has not come back from the chain yet.
Walks the saver list from a point the seed decides and credits each saver what the published thresholds say they won. The caller chooses how many savers a call covers, never which ones, so sending this says nothing about who you are in the draw.
Whether this step is available has not come back from the chain yet.
Folds every tier's unpaid remainder into that tier's encrypted carry once the window is over, and publishes the carry of each tier whose turn it is.
Whether this step is available has not come back from the chain yet.
Fetches the cleartext of a published carry, proves it to the pool and books the money back into that tier's plaintext liquidity, so the next close can offer it again.
Whether this step is available has not come back from the chain yet.
A keeper we run watches the pool and sends each of these as it comes due, so in an ordinary hour there is nothing on this screen to do. A period here is one hour, so a full round of five goes out that often. The keeper holds no privilege the contracts recognise. The two things it could have abused, picking which savers get evaluated and picking the order prizes are paid in, are not choices any caller has.
Award and reconcile are the two steps that need something from off chain. Your browser asks Zama's relayer for the cleartext of what the pool published, four values for an award and one for a reconcile, together with the key management service's signature over them. That is the same call the keeper makes, and the contract checks the signature itself, so a browser cannot lie about what it read.
If the keeper stops, nothing is lost. A draw that is never closed keeps its money in the tiers and is offered again, and a carry that is never reconciled is folded back by the first close after it lands. A stalled keeper costs the pool draws, not money, and any wallet here can start them again.
Current period
unknown
Savers
unknown
How far a full walk has to travel
Last closed draw
unknown