Skip to content

Conversation

@yuwen01
Copy link
Collaborator

@yuwen01 yuwen01 commented Aug 1, 2025

No description provided.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 2, 2025

Performance Comparison

Range 5782956~5782961

Metric Base Branch Current PR Diff (%)
Total Instructions 4612818156 4614003563 0.03%
Oracle Verify Cycles 534764879 534764960 0.00%
Derivation Cycles 3765126499 3765116810 -0.00%
Block Execution Cycles 7077672 7091320 0.19%
Blob Verification Cycles 23288885 23288885 0.00%
Total SP1 Gas 6399055185 6399899463 0.01%
Cycles per Block 922563631 922800712 0.03%
Cycles per Transaction 922563631 922800712 0.03%
BN Pair Cycles 0 0 0.00%
BN Add Cycles 0 0 0.00%
BN Mul Cycles 0 0 0.00%
KZG Eval Cycles 0 0 0.00%
EC Recover Cycles 0 0 0.00%
P256 Verify Cycles 0 0 0.00%

@yuwen01 yuwen01 marked this pull request as ready for review August 2, 2025 01:57
@fakedev9999 fakedev9999 requested a review from Copilot August 6, 2025 00:30
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements changes to support dispute game factory integration for the OP Succinct L2 output oracle system. The changes transition from using encoded extra data for dispute game creation to a more direct approach through a new dgfProposeL2Output function.

  • Adds dgfProposeL2Output function to handle dispute game creation through the factory
  • Refactors proposer logic to use the new function instead of manual extra data encoding
  • Updates contract versions from "v3.0.0-rc.1" to "v3.0.0"

Reviewed Changes

Copilot reviewed 9 out of 14 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
validity/src/proposer.rs Refactors aggregation proof submission to use new dgfProposeL2Output function
utils/host/src/contract.rs Adds dgfProposeL2Output function definition to the L2OutputOracle interface
contracts/test/validity/OPSuccinctL2OutputOracle.t.sol Removes outdated test contract for fork testing
contracts/test/validity/OPSuccinctDisputeGame.t.sol Updates test to use new dispute game creation flow and adds validation test
contracts/src/validity/OPSuccinctL2OutputOracle.sol Implements dispute game factory integration with new dgfProposeL2Output function
contracts/src/validity/OPSuccinctDisputeGame.sol Updates version and adds documentation for game creator
contracts/script/validity/OPSuccinctDGFDeployer.s.sol Sets dispute game factory address during deployment
Cargo.toml Updates project version to "3.0.0" and reformats dependency
.github/workflows/integration-tests.yml Adds spot instance configuration

Copy link
Member

@fakedev9999 fakedev9999 left a comment

Choose a reason for hiding this comment

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

LGTM

@yuwen01 yuwen01 force-pushed the yuwen/audit-3.0.0-fix branch from d799cf2 to 5afceb8 Compare August 6, 2025 18:21
@yuwen01 yuwen01 merged commit ccbd15d into main Aug 6, 2025
17 checks passed
@yuwen01 yuwen01 deleted the yuwen/audit-3.0.0-fix branch August 6, 2025 21:22
seolaoh added a commit to celo-org/op-succinct that referenced this pull request Aug 15, 2025
* chore: support contract verification for fp (succinctlabs#555)

* feat: validate agg (succinctlabs#552)

* test: improve e2e testing with anvil (succinctlabs#549)

* ci: add link + spell checker (succinctlabs#564)

* ci: add link + spell checker

* ci: remove recursive submodules checkout

* docs: use different link for spn

* feat: Add comprehensive logging for range and aggregation proof requests (succinctlabs#560)

* add : essential logs for range+agg proofs

* chg : if/else into match

---------

Co-authored-by: Yuwen Zhang <[email protected]>

* chore: bump kona (succinctlabs#554)

* chore: bump kona

* refac: avoid allocations when handling input

* refac: avoid alloc + clone

* chore: nits

* feat: prove task improvements (succinctlabs#558)

* feat: add game prove metrics

* feat: add fast finality proving limit

* chore: nit fixes

* feat: improve fault proof (succinctlabs#563)

* feat: improve game resolution

* feat(fault-proof): separate bond claiming by mode

* docs: fix typo

* feat: set jemalloc as global allocator

* feat: update to support celestia indexer changes (succinctlabs#561)

* feat: update to support celestia indexer changes

See celestiaorg/optimism#502.
Now handles batcher that switch between DA layers.

* chore: fix logger init

* chore: bump hana for v4 compatibility

* chore: bump celestia range elf

* chore: pin nightly rust toolchain (succinctlabs#580)

* dummy

* pin nightly version

* feat: audit fix (succinctlabs#575)

* tests pass, fixes in

* proposer is running locally

* fix test, still broken though

* more detailed error

* jank proxy

* wrapper solution instead

* cleanup

* fix silly errors;

* tweak forge test

* docs for dgfProposeL2Output;

* spot=false

* bump elf

* nits + docs

* add audit + pin nightly toolchain

* chore: unify binary name for celestia docker image (succinctlabs#577)

* feat: improve op-succinct-lite (succinctlabs#583)

* chore: add features support to deploy-fdg-contracts in justfile

* feat(contracts): add missing getters for public values

* fix: use end exclusive range (succinctlabs#585)

* fix: end exclusive range

See https://docs.celestia.org/how-to-guides/blobstream-proof-queries.

* refactor(scripts): host method for starting block

* refac: handle when None returned

* change for fetch-l2oo-config as well

* chore: bump hana (succinctlabs#578)

* feat: support eigenda

Bumps sp1, hana, hokulea for kona-client/v1.0.2 with MSRV 1.86.

* ci: install sp1 toolchain

* chore: bump elfs

* fix: write proof to stdin for proof agg

* Add CryptoProvider::install_default to cost-estimator

* Use correct proof fulfillment strategy as we signed the contract

* Only build linux/amd64 image

* Tag the images latest

* Bump celo-kona to panic fixed version

* Bump hokulea to new version which includes below changes

- canoe multi-DAcert optimization
- bumped sp1 to v5
- fixed the SRS error (resolves error with large batch)

* Update elfs

* Fix compile error in workflow file

* fix: bump hokulea + hardcoded vkey + defer verification

* Update elf

* Apply cargo fmt

* Update hokulea from master branch

---------

Co-authored-by: fakedev9999 <[email protected]>
Co-authored-by: Yuwen Zhang <[email protected]>
Co-authored-by: SHIVAM SHARMA <[email protected]>
karlb added a commit to celo-org/op-succinct that referenced this pull request Sep 19, 2025
* chore: support contract verification for fp (succinctlabs#555)

* feat: validate agg (succinctlabs#552)

* test: improve e2e testing with anvil (succinctlabs#549)

* ci: add link + spell checker (succinctlabs#564)

* ci: add link + spell checker

* ci: remove recursive submodules checkout

* docs: use different link for spn

* feat: Add comprehensive logging for range and aggregation proof requests (succinctlabs#560)

* add : essential logs for range+agg proofs

* chg : if/else into match

---------

Co-authored-by: Yuwen Zhang <[email protected]>

* chore: bump kona (succinctlabs#554)

* chore: bump kona

* refac: avoid allocations when handling input

* refac: avoid alloc + clone

* chore: nits

* feat: prove task improvements (succinctlabs#558)

* feat: add game prove metrics

* feat: add fast finality proving limit

* chore: nit fixes

* feat: improve fault proof (succinctlabs#563)

* feat: improve game resolution

* feat(fault-proof): separate bond claiming by mode

* docs: fix typo

* feat: set jemalloc as global allocator

* feat: update to support celestia indexer changes (succinctlabs#561)

* feat: update to support celestia indexer changes

See celestiaorg/optimism#502.
Now handles batcher that switch between DA layers.

* chore: fix logger init

* chore: bump hana for v4 compatibility

* chore: bump celestia range elf

* chore: pin nightly rust toolchain (succinctlabs#580)

* dummy

* pin nightly version

* feat: audit fix (succinctlabs#575)

* tests pass, fixes in

* proposer is running locally

* fix test, still broken though

* more detailed error

* jank proxy

* wrapper solution instead

* cleanup

* fix silly errors;

* tweak forge test

* docs for dgfProposeL2Output;

* spot=false

* bump elf

* nits + docs

* add audit + pin nightly toolchain

* chore: unify binary name for celestia docker image (succinctlabs#577)

* feat: improve op-succinct-lite (succinctlabs#583)

* chore: add features support to deploy-fdg-contracts in justfile

* feat(contracts): add missing getters for public values

* fix: use end exclusive range (succinctlabs#585)

* fix: end exclusive range

See https://docs.celestia.org/how-to-guides/blobstream-proof-queries.

* refactor(scripts): host method for starting block

* refac: handle when None returned

* change for fetch-l2oo-config as well

* chore: bump hana (succinctlabs#578)

* feat: add cycles + prover gas metrics (succinctlabs#579)

* feat: add cycles + prover gas metrics

Also improved logging for better vis and debugging.

* chore: make fmt happy

* chore: apply comments

* docs: update spn usage (succinctlabs#592)

* docs: make update parameters flow more clear (succinctlabs#590)

* fix

* doc nits

* fix: kzg verification 3.1.0 (succinctlabs#594)

* fix

* refresh gh

* chore: range proof insertion log to debug

* docs: L2 node latency + cleanup (succinctlabs#598)

* add dev section to readme

* doc pass

* chore: bump to op-contracts v3.0.0 (succinctlabs#600)

* test: fix e2e test (succinctlabs#605)

* fix(validity): request deadline (succinctlabs#604)

* fix(validity): request deadline

* fix(fault-proof): request deadline

* fix: add 1T gas limit

The DEFAULT_GAS_LIMIT is 1B.

* fix: add 4h timeout to agg proof request as well

---------

Co-authored-by: fakedev9999 <[email protected]>

* feat: add op-celestia-indexer to docker compose (succinctlabs#601)

* docs: add missing CELESTIA_INDEXER_RPC

* feat: add op-celestia-indexer to docker compose

* docs: update docs

* fix healthcheck

* docs: add warning for proof window

* docs: udpate start l1 block and op-celestia-indexer

* fix(contracts): upgrade, missing proxy in calldata for proxy admin managed instance (not naked proxies) (succinctlabs#606)

* fix(contracts): upgrade, missing proxy in calldata for proxy admin managed instance (not naked proxies)

* chore: forge fmt

* refac(contracts): use abi.encodeCall

---------

Co-authored-by: emiliano-conduitxyz <[email protected]>

* feat: support eigenda (succinctlabs#572)

* feat: support eigenda

Bumps sp1, hana, hokulea for kona-client/v1.0.2 with MSRV 1.86.

* ci: install sp1 toolchain

* chore: bump elfs

* fix: write proof to stdin for proof agg

* fix: bump hokulea + hardcoded vkey + defer verification

* fmt

* bump elfs

* feat: docker for eigenda

* refac: extract proof bytes from witness data

* refac: remove executor placeholder

* chore: download srs from proxy image

* docs: add eigenda docs

* chore: bump hokulea

* make ci green

* skip canoe proof generation

* chore: bump hokulea

* bump hokulea to support mock mode for sp1-cc proving

* fix: reduce RPC concurrency to prevent rate limit errors (succinctlabs#608)

* chore: remove unused code

* fix: reduce RPC concurrency to prevent rate limit errors

* chore: bump hana to v1.0.0 (succinctlabs#612)

* chore: add missing eigenda flag (succinctlabs#610)

* Fix issues noticed by bugbot

* Update ELF files

* Fix contract deployment.

* Cleanup.

* Revert switch out of CeloSingleChainHost

* Remove commented out line

* Fix formatting

---------

Co-authored-by: fakedev9999 <[email protected]>
Co-authored-by: Yuwen Zhang <[email protected]>
Co-authored-by: SHIVAM SHARMA <[email protected]>
Co-authored-by: Ernesto Ramirez <[email protected]>
Co-authored-by: Chris T. <[email protected]>
Co-authored-by: emiliano-conduitxyz <[email protected]>
Co-authored-by: Mc01 <[email protected]>
Co-authored-by: Piers Powlesland <[email protected]>
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.

3 participants