Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: upgrade to latest kona #344

Merged
merged 60 commits into from
Feb 1, 2025
Merged

feat: upgrade to latest kona #344

merged 60 commits into from
Feb 1, 2025

Conversation

ratankaliani
Copy link
Member

@ratankaliani ratankaliani commented Jan 24, 2025

Overview

Upgrade op-succinct to point to the latest kona. This removes the dependency on the compiled binary for witness generation, and instead allows the binary to be run in-process.

Simplify the range program by loading the BootInfo from the oracle directly.

Created a shared utility run_op_succinct_client which can be used (with a different oracle) by both the zkVM program and the native program.

Add OPSuccinctBlobOracleClient which triggers additional preimage requests so that we can verify as we did before. In the future, this will be migrated to a witness from a blob provider.

Deletions

  • Remove witness generation related code.
  • Remove build code for the native_host_runner and range binary, now that we execute in-process.

Future To-Dos

@ratankaliani ratankaliani changed the title wip: move to latest kona feat: move to latest kona Jan 31, 2025
@ratankaliani ratankaliani force-pushed the ratan/move-to-latest-kona branch from cbcd366 to 1e27751 Compare January 31, 2025 22:09
Copy link

github-actions bot commented Jan 31, 2025

Metric Value
Batch Start 23,284,530
Batch End 23,284,535
Witness Generation (seconds) 0
Execution Duration (seconds) 73
Total Instruction Count 3,059,403,831
Oracle Verify Cycles 501,793,335
Derivation Cycles 2,321,412,059
Block Execution Cycles 112,840,985
Blob Verification Cycles 250,746,706
Total SP1 Gas 0
Number of Blocks 5
Number of Transactions 68
Ethereum Gas Used 5,815,239
Cycles per Block 611,880,766
Cycles per Transaction 44,991,232
Transactions per Block 13
Gas Used per Block 1,163,047
Gas Used per Transaction 85,518
BN Pair Cycles 0
BN Add Cycles 0
BN Mul Cycles 0
KZG Eval Cycles 0
EC Recover Cycles 460,641
P256 Verify Cycles 0

@ratankaliani ratankaliani marked this pull request as ready for review January 31, 2025 23:01
@ratankaliani ratankaliani changed the title feat: move to latest kona feat: upgrade to latest kona Feb 1, 2025
@ratankaliani ratankaliani merged commit aa6efa6 into main Feb 1, 2025
6 of 7 checks passed
@ratankaliani ratankaliani deleted the ratan/move-to-latest-kona branch February 1, 2025 01:48
@fakedev9999 fakedev9999 mentioned this pull request Feb 6, 2025
ratankaliani added a commit that referenced this pull request Feb 6, 2025
* feat: wip, running into fd issues bc zkvm mode

* wip

* add

* wip

* feat: program compiles

* feat: still working through host issues, many of the scripts aren't compiling, making progress

* wip

* update

* wip

* feat: need to clean up host lib

* feat: drop the kv_store so there are no conflicting locks

* add

* feat: move to latest kona

* add

* fix: DOckerfile

* add

* clippy

* fix

* redundant

* fix

* feat: todo

* multi works

* feat: small program works

* feat: got store_oracle working

* remove configs

* feat: works with new blob provider

* feat: docs

* feat: works with upstream kona

* add cycle tracking

* add

* feat: add driver with logging

* fix: more efficient than before

* feat: delete single

* add

* feat: general cleanup

* fix

* clippy

* fix

* clean

* add

* clean

* rm bootinfowithbytesconfig

* feat: new elf

* add

* refactor

* add

* remove configs

* delete

* remove test

* update

* fmt

* feat: in parallel

* feat: update elf

* feat: simplify

* host

* feat: show entire diff

* clippy

* feat: trigger workflow

* feat: fix cost estimator

* add
PinelliaC added a commit to mantle-xyz/op-succinct that referenced this pull request Feb 18, 2025
* feat: implement OPSuccinctFaultDisputeGame (succinctlabs#342)

* feat: implement OPSuccinctFaultDisputeGame

* apply comments

* apply comments

* chore: forge fmt

* chore: forge fmt src/ test/ script/

* fix .gitmodules

* fix .gitmodules

* fix .gitmodules

* fix: add missing checks

* chore: forge fmt

* fix .gitmodules

* fix submodules

* feat: implement with new spec

* fix: handle first game

* apply comments

* fix: range vkey, public values from contract storage

* missing fix from ^

* refac: use deadline, proposal status instead of clock

* feat: use genesis l2 block number and hash for initial game

* apply all comments

* feat: make unchallenged games provable

* apply comments

* chore: remove warnings

* test: add more tests

* refac: use payable transfer instead of call

* refac: remove claimant from claimData

claimant never changes + can get from gameCreator()

* fix: remove l2 chain id

* apply comments

* first

* udpate doc

* docs: make fault proof doc visible in the book

* enable mermaid in book

---------

Co-authored-by: Uma Roy <uma.roy.us@gmail.com>

* docs: update `fault_proof_architecture.md` (succinctlabs#353)

* docs: fix mermaid diagram

* docs: update immutable params

* docs: make doc more comprehensive

* docs: minor updates

* docs: make initalization more clear in terms of initial state

* docs: add types section for new/modified types

* fix: update OPSuccinctFaultDisputeGame with nits (succinctlabs#354)

* fix: update OPSuccinctFaultDisputeGame with nits

* docs: fix proving section

* feat: upgrade to latest `kona` (succinctlabs#344)

* feat: wip, running into fd issues bc zkvm mode

* wip

* add

* wip

* feat: program compiles

* feat: still working through host issues, many of the scripts aren't compiling, making progress

* wip

* update

* wip

* feat: need to clean up host lib

* feat: drop the kv_store so there are no conflicting locks

* add

* feat: move to latest kona

* add

* fix: DOckerfile

* add

* clippy

* fix

* redundant

* fix

* feat: todo

* multi works

* feat: small program works

* feat: got store_oracle working

* remove configs

* feat: works with new blob provider

* feat: docs

* feat: works with upstream kona

* add cycle tracking

* add

* feat: add driver with logging

* fix: more efficient than before

* feat: delete single

* add

* feat: general cleanup

* fix

* clippy

* fix

* clean

* add

* clean

* rm bootinfowithbytesconfig

* feat: new elf

* add

* refactor

* add

* remove configs

* delete

* remove test

* update

* fmt

* feat: in parallel

* feat: update elf

* feat: simplify

* host

* feat: show entire diff

* clippy

* feat: trigger workflow

* feat: fix cost estimator

* add

* chore: remove slack token (succinctlabs#364)

* feat: remove slack token

* tidy

* feat: update

* add

* feat(fetcher): Use finalized block (succinctlabs#366)

* feat(proposer): don't re-checkpoint (succinctlabs#365)

* feat: dont recheckpoint in proposer

* add

* chore: `sp1-sdk` (succinctlabs#368)

* docs: issue template

* chore: `kona` + `sp1` upgrade (succinctlabs#376)

* feat: kona upgrade

* cargo fmt

* delete safe_head_hash

* fmt

* rm

* clippy

* test fix

* add

* works

* expose start_server

* add

* add

* fix: Rust install

* add

* move witnessgen

* add

* lint

* bump to 4.1.0

* one week rolling

* add

* feat: add

* clean

* add

* ad

* add

* ELF

* chore: Use `op-rs` upstream (succinctlabs#379)

* feat(server): add proof mode (succinctlabs#380)

* feat: add agg proof mode

* add

* chore: remove bls patch (succinctlabs#381)

* feat: add agg proof mode

* add

* chore: remove bls patch

* feat(server): debug logs (succinctlabs#351)

* feat: boba debug branch

* fix

* enable push

* fix

* additional debug logs

* build succinct-proposer first

* feat: fetch in order

* add

* add

* rm logs

* fix

* chore: fmt

* chore: trigger docker build (succinctlabs#382)

* feat: `kona` pectra tag (succinctlabs#384)

* chore: kona pectra tag

* docker elf

* chore(server): `Arc` shared state (succinctlabs#385)

* chore: wrap proposer config in arc

* chore: fmt

* fmt

* feat(contracts): use `DisputeGameFactory` (succinctlabs#378)

* feat(contracts): use `DisputeGameFactory`

Removes unnecessary `OPSuccinctDisputeGameFactory`

* fix: fix proposer to call DFG correctly

* fix: make op-succinct validity working with op's dgf

* cleanup

* update

* apply comments

* feat(contracts): remove bond for validity DGF (succinctlabs#386)

* feat(server): Only use `Arc<NetworkProver>` in real proof mode (succinctlabs#387)

* feat(proposer): set default network private key

* add

* fmt

---------

Co-authored-by: Ratan Kaliani <ratankaliani@berkeley.edu>

* chore: Switch to `OPSuccinctHost` (succinctlabs#389)

* chore: clippy

* chore: fix just update-parameters (succinctlabs#392)

* chore: fix contract verification (succinctlabs#391)

* chore(ci): docker tag (succinctlabs#393)

* chore(client + ci): precompile annotation checks (succinctlabs#390)

* chore: kzg_eval precompile

* feat: bump to revm_precompile 0.16.1

* wip

* chore: precompile

* works

* add

* addgs

* ci.yaml

* remove unnecessary tests

* ci

* add

* range elf

* add

* chore(ci): docker build

* fix(proposer): bindings (succinctlabs#396)

* chore: add go test

* checkout

* add

* fix test

* feat: update range elf

* chore: remove unused code

* elf: update range elf

---------

Co-authored-by: fakedev9999 <taehoon@succinct.xyz>
Co-authored-by: Uma Roy <uma.roy.us@gmail.com>
Co-authored-by: Ratan Kaliani <ratankaliani@berkeley.edu>
Co-authored-by: ratankaliani <ratan@succinct.xyz>
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.

1 participant