The contract
Every method this app can call, and what each one costs.
0x190d9FD703aDfce284063B6BdACfde3c4bEceD70On GENLAYER STUDIO. Source version 3. An entry deposit is 0 GEN, an appeal bond is 0 GEN, and the award fee is 0% - all read from the contract, not from this page. Run npm run verify to check this deployment against the source in the repo.
open_roundWRITE(title, summary, criteria, weights, primary, windows, eligibility)Escrows the budget and freezes the criteria. There is no method that edits either afterwards.
check_criteriaWRITE(criteria)The scorability gate. Final in both directions, so criteria cannot be re-asked until they pass.
commitWRITE(round_id, commitment)Stores a sha256 that binds your own address. Costs the entry deposit.
amendWRITE(round_id, bid_index, commitment)Replaces a sealed digest while the commit window is open.
withdrawWRITE(round_id, bid_index)Cancels a sealed bid before the window closes and returns the deposit.
revealWRITE(round_id, bid_index, proposal, salt)Refused unless the hash of address, proposal and salt matches what was sealed.
scoreWRITE(round_id, bid_index)Permissionless. Runs the comparative consensus that grades one bid.
appeal_scoreWRITE(round_id, bid_index, argument)Once per bid, by its own bidder, against a bond forfeited if the total does not move.
resolve_appealWRITE(round_id, bid_index)Permissionless. Re-scores the bid with the argument in front of the network.
askWRITE(round_id, question)Open to any address. Closes with the commit window.
answerWRITE(round_id, question_index, reply)Buyer only, once, and closes with the commit window.
awardWRITE(round_id)Buyer first, then anyone once the decision window has passed.
declineWRITE(round_id, reason)Returns the budget and every deposit. Never charges the fee.
expireWRITE(round_id)Abandons a round that cannot be awarded, so escrow is never stranded.
sweepWRITE(round_id)Marks bids that were never revealed, so the record matches reality.
claimWRITE(round_id, bid_index)Each bidder pulls what they are owed. Nothing is pushed.
transfer_ownershipWRITE(new_owner)Owner only. Refuses the zero address, so the role cannot be dropped by accident.
set_termsWRITE(fee_bps, entry_deposit, appeal_bond)Owner only, and it never reaches a round that already exists.
set_treasuryWRITE(treasury)Owner only. Where the award fee is sent.
termsREADFees, deposits and every published limit.
statsREADRunning totals: rounds, bids, escrow, payouts.
rounds_pageREAD(offset, limit)A page of rounds, newest first.
roundREAD(round_id)One round with its frozen criteria and weights.
bidsREAD(round_id)Every scorecard, proposals cut to a preview.
bidREAD(round_id, bid_index)One bid with its proposal in full.
questionsREAD(round_id)Every clarification, asked and answered.
bidderREAD(address)What an address entered, opened, scored and won.
buyerREAD(address)What an address published, awarded and declined.