void_dispute
Void a stale disputed contract after arbitrator timeout passes, allowing each party to reclaim their principal. Permissionless recovery for unresolved disputes.
Instructions
Void a Disputed contract that the arbitrator never resolved.
This is the recovery path for a stale dispute. It is permissionless: anyone can call it once arbitrator_timeout_blocks have passed since the dispute was filed. The condition is strict: current block height must be GREATER than dispute_filed_block + arbitrator_timeout_blocks. A call exactly on the boundary fails; it succeeds from the next block.
arbitrator_timeout_blocks is a per contract deployment parameter, not a universal constant. Never assume a value: compute eligibility from dispute_filed_block in view_contract plus the timeout of the contract this server is configured for. On the production contract it is 20160 blocks, roughly 14 days; test deployments may use far shorter values.
Voiding moves the contract to Voided status. Neither party wins: each side then reclaims its own principal. After voiding, the requester calls void_claim_requester to reclaim the payment and the worker calls void_claim_node to reclaim the collateral. The dispute fee is forfeited to the protocol treasury.
Check view_contract for dispute_filed_block and get_chain_info for the current height before calling. If the timeout has not passed, the call fails on chain.
Args: job_id: The Disputed contract ID to void.
Returns confirmation of voiding, or error message.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |