Skip to content

op-acceptance-tests: cover kona-sp1 proposal safety - #22105

Open
Inphi wants to merge 9 commits into
developfrom
inphi/acc-tests-zk
Open

op-acceptance-tests: cover kona-sp1 proposal safety#22105
Inphi wants to merge 9 commits into
developfrom
inphi/acc-tests-zk

Conversation

@Inphi

@Inphi Inphi commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Extends ZK dispute game acceptance coverage for the kona-sp1 proposer’s game-creation path.

New scenarios verify that the proposer:

  • adopts a valid foreign game,
  • defers classification while the super-root RPC is behind, and
  • rejects both invalid games and otherwise-valid descendants of invalid ancestry.

Bugfix

This change also fixes a bug in the kona-sp1-proposer where it extends an invalid game (with a valid output root but invalid parent) because it forgot the invalid parent game. The proposer now remembers invalid subtrees until factory history resets.

Devstack changes

ZK tests now use an explicit WithZK() preset with targeted overrides for proposal cadence. The preset also resolves one SP1 vkey for both game deployment and proposer artifacts, avoiding mismatched configuration.

Also adjusted the default zk challenge and prove durations to reduce flakiness

Related: #18326

Inphi added 4 commits July 29, 2026 09:50
Exercise foreign-parent adoption, latent super-root handling, and shallow L1 reorg recovery
without entering the proving path. Make proposal cadence and L1 confirmation depth configurable
so the acceptance tests can establish deterministic safety margins.
Make WithZK apply the standard game and proposer defaults, and resolve the SP1 vkey once
from KONA_SP1_ELF_DIR.
Remember rejected game indices so later otherwise-valid descendants cannot become canonical parents.
Clear index-keyed verdicts when the factory cursor resets and cover the behavior with acceptance and
state-level regressions.
Wait for the exact super-root timestamp and assert only the observable parent-safety invariant,
avoiding timing proxies that can introduce flakes.
@Inphi
Inphi force-pushed the inphi/acc-tests-zk branch from 306dfe4 to 03f6fb8 Compare July 29, 2026 16:34
@Inphi
Inphi marked this pull request as ready for review July 29, 2026 16:57
@Inphi
Inphi requested a review from a team as a code owner July 29, 2026 16:57
Inphi added 3 commits July 29, 2026 16:23
Run ZK proposer and challenger tests in parallel with longer challenge and prove windows.

Let safety tests seed adversarial games before starting the proposer, avoiding proposal-interval races.

Pause interop explicitly when testing a latent super-root RPC.
digorithm added a commit that referenced this pull request Jul 29, 2026
Inline the parent_status_resolves helper into is_parent_resolved and drop
its tautological test (review feedback: PartialEq comparison needs no
helper). Add a TODO to strengthen the chaining test's anchor assertion via
the start-proposer-mid-test hook once #22105 lands.

Part of #22086.

@digorithm digorithm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few non-blocking comments!

Comment thread rust/kona/sp1/crates/proposer/src/proposer.rs Outdated
Comment thread op-devstack/presets/proof.go
@Inphi
Inphi enabled auto-merge July 30, 2026 22:28
@Inphi
Inphi added this pull request to the merge queue Jul 30, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 30, 2026
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