Skip to content

fix: post verifier assert txids and settle Disprove-X with its reward address - #526

Open
KSlashh wants to merge 1 commit into
devfrom
audit/7-2-disprove-settlement
Open

KSlashh wants to merge 1 commit into
devfrom
audit/7-2-disprove-settlement

Conversation

@KSlashh

@KSlashh KSlashh commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator

Align graph registration and Disprove-X construction with the Gateway's input-based settlement checks.

  • Post verifier Assert txids in verifierAssertTxids instead of prebuilt Disprove-X txids, and update the client bindings and subgraph ABI.
  • Include the node's GOAT reward address in the Disprove-X output-0 OP_RETURN.
  • Resolve a zero instance ID in WithdrawDisproved from the locally stored graph, allowing events emitted without initWithdraw to be processed.

Audit findings: CT1, CT2.

Requires GOATNetwork/bitvm-L2-contracts#27 and a Gateway upgrade. ABI types and digest encoding are unchanged; the registered txid array has new semantics.

Validation: includes a zero-instance-ID event regression. The zkm notes record passing node tests and clippy; these were not rerun during this review.

The localnet/contracts submodule still needs updating before running the complete settlement flow against the upgraded Gateway.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants