Skip to main content

Synopsis

Subcommands

cowboy bridge fraud-proof submit

Submit a fraud-proof (or verifier-maintenance) bundle for a published chain-root commitment and wait for committed execution. The door is permissionless: any sender may submit and pays ordinary fees. Behavior:
  1. Parse --registry as a 20-byte address and read --bundle as raw bytes.
  2. Validate the bundle the way the wire codec will: it must be a JSON object, and it must fit the consensus bundle bound less 8 KiB of transaction framing (header, chain id, nonce, limits, fees, signature). The contents are otherwise opaque; only the node’s verifier adapter interprets them.
  3. Print Submitting fraud proof for src_chain_id=<n> height=<n> (<bytes> bytes).
  4. Load the private key via auto-discovery, fetch the nonce, basefee, and chain id, sign a SubmitFraudProof system instruction with the given cycle and cell limits and the ordinary system-transaction access limit, print the transaction hash, and POST it to <rpc-url>/submit.
  5. Wait up to 90 seconds for a committed receipt (following the node’s finalized-receipt stream); a receipt that reports a failed execution is returned as a transaction_failed error.
  6. Print SubmitFraudProof submitted: <response>.
Flags: Example:

Edge Cases

  • A bundle that is not valid JSON, is a JSON array or scalar rather than an object, or exceeds the submittable size is refused before anything is signed, with the byte limits stated in the error.
  • If the transaction does not commit within the wait window, the command fails with receipt_pending and SubmitFraudProof transaction 0x... did not commit within 90s; check it with cowboy transaction status --hash ... before sending anything again.
  • Unlike cowboy timer and cowboy deploy-code, which take their limits from the node’s estimate and return on acceptance, this command waits for commitment and signs with explicit limits (10,000,000 cycles and cells by default).