Skip to content

Releases: succinctlabs/op-succinct

v4.5.0

Choose a tag to compare

@fakedev9999 fakedev9999 released this 26 Jun 10:27
84e7634

v4.5.0: SP1 6.2.4 + kona v1.6.0

Verification keys have changed. All deployments must upgrade contracts with the new keys before using proofs produced by this release.

Minor release that bumps the proving stack to SP1 v6.2.4, kona-client/v1.6.0, reth v2.2.0, alloy 2.0, and revm 38. It also includes fault-proof robustness fixes, validity checkpoint anchoring, KZG precompile error handling, and CI/build maintenance.

Security

  • Fixes GHSA-pq4w-5vv8-gxhr: invalid KZG proofs were accepted by the EIP-4844 point-evaluation precompile path. Affected versions are v3.4.0 through v4.4.0; upgrade to v4.5.0 or v3.10.0 and rotate to this release's verification keys.

Breaking Changes

  • Verification keys have changed — all range and aggregation ELFs were rebuilt with SP1 v6.2.4 and kona-client/v1.6.0.

Compatibility Matrix

op-succinct version op-contracts version SP1 SDK Status
v4.5.0 v5.0.0 v6.2.4 Supported
v4.4.0 v5.0.0 v6.1.0 Stable

Migration Guide (v4.4.0 -> v4.5.0)

Since the verification keys have changed, upgrade your contracts with the new keys. Follow the upgrade guide for your deployment type:

Summary of Changes

Dependencies

  • Bumps SP1 to v6.2.4 and kona-client to v1.6.0.
  • Bumps reth to v2.2.0, alloy to 2.0, and revm to 38.
  • Pulls in op-reth-compatible witness behavior from kona.

Operational Notes

  • kona v1.6.0 bulk-preloads the L2 payload witness path for op-reth compatibility. This increases witness/preimage volume and oracle-verify cycles, but does not change proof correctness.

Fixes

  • Hardens fault-proof catch-up behavior for genesis-rooted chains.
  • Anchors validity aggregation checkpoints to a safe L1 head.
  • Handles KZG proof verification errors explicitly.
  • Removes redundant rustup installs from fault-proof Docker images.

CI / Build

  • Pins sqlx-cli to 0.8.x.
  • Refreshes Celestia ELF after removing yanked core2.
  • Updates tests/optimism for OPSuccinct ASR separation.

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x74a85f930a8a38b82ab9314064384ccd0130d62177d8379b28a4bc00014bee12
Celestia DA Range 0x47334edf1acf0c8106819681730a9f20327b749329742c3b473c441065ec6370
EigenDA Range 0x1f88212e7a7f75b944be2624395bef3b0e4357df49587c425ef349394b340737
AltDA Range 0x3c6f7c2c5637417a14b554984c759e5318028e3a23bbfd840d6cce2b15f9eae8
Aggregation 0x005444f04a3998d27f9d8a01517c5f955702d3a65b7ea17ed0346c1201c91ccd

What's Changed

  • chore: bump tests/optimism to include OPSuccinct ASR separation fix by @fakedev9999 in #916
  • ci(sqlx): pin sqlx-cli to 0.8.x by @fakedev9999 in #919
  • fix: remove redundant rustup installs from fault-proof images by @fakedev9999 in #921
  • chore: remove yanked core2 and refresh Celestia ELF by @fakedev9999 in #920
  • fix(precompiles): handle KzgProof::verify_kzg_proof result explicitly by @fakedev9999 in #924
  • fix(validity): anchor agg checkpoint to safe L1 head to avoid tip reorg by @Farhad-Shabani in #923
  • fix(fault-proof): robustness follow-ups to #865 + cost-estimator parity by @fakedev9999 in #901
  • fix(fault-proof): follow genesis-rooted catch-up chains to their tip by @fakedev9999 in #927
  • chore(deps): bump SP1 6.2.4 / kona v1.6.0 / reth v2.2.0 (alloy 2.0 + revm 38) by @fakedev9999 in #928

Full Changelog: v4.4.0...v4.5.0

v3.10.0

Choose a tag to compare

@fakedev9999 fakedev9999 released this 26 Jun 17:48
e751fcc

v3.10.0: SP1 6.2.4 runtime backport

Verification keys have changed. Operators must upgrade contracts/configuration with the new vkeys before using this release in production.

Maintenance minor release on the v3.x line. Brings the v3.x production branch onto the v4.5.0 runtime stack: SP1 6.2.4, kona v1.6.0, reth v2.2.0, alloy 2.0, and revm 38, plus the production fixes backported after v3.9.0.

Security

  • Fixes GHSA-pq4w-5vv8-gxhr: invalid KZG proofs were accepted by the EIP-4844 point-evaluation precompile path. Affected versions are v3.4.0 through v4.4.0; upgrade to v4.5.0 or v3.10.0 and rotate to this release's verification keys.

Breaking Changes

  • Verification keys have changed — all range and aggregation ELFs were rebuilt with SP1 v6.2.4 and the updated runtime stack.

Migration Guide (v3.9.0 → v3.10.0)

Verification keys have changed. Follow the upgrade guide for your deployment type:

No database or rollup-config migration is required beyond applying the new verification keys.

Compatibility Matrix

op-succinct version op-contracts SP1 SDK Status
v3.10.0 v6.0.0 v6.2.4 Supported
v3.9.0 v6.0.0 v6.1.0 Superseded
v3.8.1 v6.0.0 v6.1.0 Superseded

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x1b04822373ca65680026b5610c1edf424798421b032ef9117b2c264661de246f
Celestia DA Range 0x4a9be7534cf49bfb0f7f11900f6b62e3045ece0a181e7a4f010389b55f0a24c8
EigenDA Range 0x43efe3733cb473b6350b4cc70d98b7e000208a7403945cfc6e61c2451c5b342e
AltDA Range 0x4102a9970fc2b21d68f8710b548258ec529120f10465348c4c81b4ce3068de83
Aggregation 0x0034587dfb1de8163284d39f3043f5fadfa92f9e03fb3e0315eb469c550fde40

Summary of Changes

Runtime and dependencies

  • SP1 SDK v6.1.0 → v6.2.4.
  • kona v1.2.14 → v1.6.0.
  • reth v1.3.12 → v2.2.0.
  • alloy 1.x → 2.0 and revm 24 → 38.
  • Carries the op-reth-compatible execution witness path from the v4.5.0 line.

Validity

  • Anchor aggregation checkpoint selection to the safe L1 head to avoid tip reorg exposure.

Fault proofs

  • Follow genesis-rooted catch-up chains to their tip.
  • Backport robustness follow-ups and cost-estimator parity from the mainline fault-proof path.

Fixes and release plumbing

  • Handle KZG proof verification results explicitly.
  • Unblock v3.x release CI and legacy rollup config handling.

What's Changed

Full Changelog: v3.9.0...v3.10.0

v4.4.0

Choose a tag to compare

@fakedev9999 fakedev9999 released this 14 May 11:28
e4ca84c

v4.4.0: Kona DestroyedChanged fix + AltDA Validium support

Minor release that closes GHSA-6gcx-mhp9-fxjf in kona-executor (a state-trie soundness bug in update_accounts() for DestroyedChanged bundle accounts) via kona-client/v1.2.14, hokulea-client/v1.1.9, and hana v1.7.0-mocha. Also lands AltDA (Validium) support in main and a configurable L1 block selection knob for the proposer.

Breaking Changes

  • Verification keys have changed — range and aggregation ELFs are rebuilt with the patched kona-executor. All deployments must upgrade contracts with the new keys.

Compatibility Matrix

op-succinct version op-contracts version SP1 SDK Status
v4.4.0 v5.0.0 v6.1.0 Supported
v4.3.1 v5.0.0 v6.1.0 Stable

Migration Guide (v4.3.1 → v4.4.0)

Since the verification keys have changed, you must upgrade your contracts with the new keys. Follow the upgrade guide for your deployment type:

Summary of Changes

Security

  • Pulls in kona's DestroyedChanged account-state fix (GHSA-6gcx-mhp9-fxjf) via kona-client/v1.2.14, hokulea-client/v1.1.9, and hana v1.7.0-mocha (#911).

Features

  • AltDA (Validium) support merged into main: range-altda ELF, host/client utils, contracts wiring (#908).
  • Configurable L1 block selection for the proposer (#883).

Documentation

  • Celestia and EigenDA graduate out of experimental (#903).
  • New Alt-DA Server page (#902).
  • update-parameters typo fix (#905).

CI

  • Book deploy-pages reliability fixes (#909, #910).

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x6a2df9630a20c9a06e5d171817191194702a69002b63d3625a56ae4142030df0
Celestia DA Range 0x0dea79ed1f4f6d5a6c0175332fd691700749bc97521b0483098f110409d44a35
EigenDA Range 0x66a34c285d8379c01cb19a7c408b337a1c762cac2d8912e805520306645bd1ba
AltDA Range 0x18a3e87f59928fe60d846da75fc2a5a86e3234183514a24173857b653d344328
Aggregation 0x00d9fc2141d389d2ceecbf7c994fa988d1dfee146d7de47e9690d88de3ebe5b8

What's Changed

  • feat: configurable L1 block selection for proposer by @fakedev9999 in #883
  • docs: graduate Celestia and EigenDA out of experimental by @fakedev9999 in #903
  • docs: fix add_config typo in update-parameters page by @fakedev9999 in #905
  • feat(altda): merge AltDA (Validium) support into main by @fakedev9999 in #908
  • docs: add Alt-DA Server page by @fakedev9999 in #902
  • fix(ci): unblock book deploy-pages by overriding transitive skip by @fakedev9999 in #909
  • fix(ci): use always() + explicit needs result checks for deploy-pages by @fakedev9999 in #910
  • chore(deps): bump kona v1.2.14, hokulea v1.1.9, hana v1.7.0-mocha (GHSA-6gcx-mhp9-fxjf) by @fakedev9999 in #911

Full Changelog: v4.3.1...v4.4.0

v3.9.0

Choose a tag to compare

@fakedev9999 fakedev9999 released this 14 May 09:53
abad74b

v3.9.0: AltDA Validium support + kona security backport

Maintenance minor release on the v3.x line. Brings the AltDA (Validium) data-availability path to v3.x as an opt-in Cargo feature, backports the kona-executor DestroyedChanged security fix (GHSA-6gcx-mhp9-fxjf via upstream kona), and adds a configurable L1 block-selection knob for the proposer. Existing default-feature deployments are unaffected by the AltDA work; the security fix changes verification keys and requires a contract upgrade.

Breaking Changes

  • Verification keys have changed — all range and aggregation ELFs are rebuilt with kona v1.2.14 (incorporates the DestroyedChanged fix). All deployments must upgrade contracts with the new keys.

Migration Guide (v3.8.1 → v3.9.0)

Verification keys have changed. Follow the upgrade guide for your deployment type:

AltDA users: enable the altda Cargo feature on validity or fault-proof. New ELF is elf/altda-range-elf-embedded. Sample compose files: docker-compose-altda.yml, fault-proof/docker-compose-altda.yml.

Compatibility Matrix

op-succinct version op-contracts SP1 SDK Status
v3.9.0 v6.0.0 v6.1.0 Supported
v3.8.1 v6.0.0 v6.1.0 Superseded
v3.8.0 v6.0.0 v6.1.0 Superseded

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x3813362d038935ad6cb1e2566278975f08be38a92bfe7137505ef0c14a9d1972
Celestia DA Range 0x3f6e5c8b11df1bc572f1f5de15568f49529e4af165fb67947b4637227c2a5eb3
EigenDA Range 0x584bd6bb37a6c6496cda12060a356da60c32015004920c6023bfc52f2e7a8491
AltDA Range 0x7ef243563fc10842510674723b308c5471262687498982b22ca16ec04e9594da
Aggregation 0x0095c1f31a6e1003e1e3083ca45bf69b95c9a1468708df1029c9cf4bceb8a852

Summary of Changes

Security

  • kona-executor DestroyedChanged account fix via GHSA-6gcx-mhp9-fxjf (upstream advisory in kona). Backported in #913.

Features

  • AltDA (Validium) data-availability support behind the altda Cargo feature — generic op-alt-da server, new altda-range program, new altda client/host utils, new Dockerfile and compose recipes, new e2e preset. Default builds unchanged. Backported in #912 (source #908).
  • Configurable L1 block selection for proposer (L1_BLOCK_TAG=safe|latest|finalized). Backported in #907 (source #883).

Dependencies

  • kona v1.2.13 → v1.2.14
  • hokulea v1.1.7 → v1.1.9
  • hana v1.6.0-mocha → v1.7.0-mocha

What's Changed

Full Changelog: v3.8.1...v3.9.0

v4.3.1

Choose a tag to compare

@fakedev9999 fakedev9999 released this 06 May 03:59
5b6119a

Patch release that closes GHSA-5jh4-3p33-85xc, a soundness gap in WitnessExecutor::run where a non-interop EndOfSource could let an adversarial witness commit a (claimed_l2_output_root, claimed_l2_block_number) pair referring to different L2 blocks. The fix binds the committed l2BlockNumber to the actual derived safe-head number. The release also bundles fault-proof, host, and CI fixes merged since v4.3.0.

Breaking Changes

  • Verification keys have changed — range and aggregation ELFs are rebuilt with the patched WitnessExecutor::run. All deployments must upgrade contracts with the new keys.

Migration Guide (v4.3.0 → v4.3.1)

Since the verification keys have changed, you must upgrade your contracts with the new keys. Follow the upgrade guide for your deployment type:

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x0e459f7b7b91a69544714f82370e93cb0ffa8dfe1d750a6b7095c3cc03d22406
Celestia DA Range 0x12ba926d0b4a23822455687914e8c3420803934d3d140136583f4c6e1791dc70
EigenDA Range 0x53f3096213735de635e1d4687e625be72277df1c5f3b6ec96fccf9625838c598
Aggregation 0x0045e1767d8214ebb172f1e5e0267aab63192b5a10b437211ea991f852b14587

Summary of Changes

Security

  • WitnessExecutor::run now rejects when the derived safe-head block number does not match BootInfo.claimed_l2_block_number, closing the (l2_output_root, l2_block_number) binding gap (GHSA-5jh4-3p33-85xc).

What's Changed

  • fix(fault-proof): pin L1 block during sync to prevent RPC inconsistency by @fakedev9999 in #865
  • fix(ci): report all required check names on PRs to unblock merge queue by @fakedev9999 in #885
  • fix(host): surface real RPC failures in is_safe_db_activated by @fakedev9999 in #884
  • fix(fault-proof): correct resolve() invariant comment by @fakedev9999 in #881
  • fix(fault-proof): correct maxChallengeDuration return type to uint64 by @fakedev9999 in #891
  • fix(ci): drop missing FOUNDRY_PROFILE=ci to unbreak Foundry Test by @fakedev9999 in #892
  • fix(client): use canonical OP precompile set for fork-correct semantics by @fakedev9999 in #895
  • ci(eigenda): run eigenda-proxy ephemerally inside CI jobs by @fakedev9999 in #897
  • chore: release v4.3.1 by @fakedev9999 in #899

Full Changelog: v4.3.0...v4.3.1

v3.8.1

Choose a tag to compare

@fakedev9999 fakedev9999 released this 06 May 03:59
1e8e32e

Maintenance release on the v3.x line that closes GHSA-5jh4-3p33-85xc, a soundness gap in WitnessExecutor::run where a non-interop EndOfSource could let an adversarial witness commit a (claimed_l2_output_root, claimed_l2_block_number) pair referring to different L2 blocks. The fix binds the committed l2BlockNumber to the actual derived safe-head number. The release also backports fault-proof, host, client, and CI fixes from the v4.x line.

Breaking Changes

  • Verification keys have changed — range and aggregation ELFs are rebuilt with the patched WitnessExecutor::run. All deployments must upgrade contracts with the new keys.

Migration Guide (v3.8.0 → v3.8.1)

Since the verification keys have changed, you must upgrade your contracts with the new keys. Follow the upgrade guide for your deployment type:

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x63edbd04408aba2f48cd5a6677e9e32f5124dda574309132053754dd5134a4ed
Celestia DA Range 0x5b80f840124df3e845c582a72cb1e84763c2f0e55ca0e58459db5eea5ca51971
EigenDA Range 0x1161f3694cc58ad77b308d3814890ad407dee3cc75c40f59786f6e4c0a9a4997
Aggregation 0x004180a741a6e632865cf40aaed19dd20ae0985c3e1da8cdff54c1ceef7c78e6

Summary of Changes

Security

  • WitnessExecutor::run now rejects when the derived safe-head block number does not match BootInfo.claimed_l2_block_number, closing the (l2_output_root, l2_block_number) binding gap (GHSA-5jh4-3p33-85xc).

What's Changed

  • backport(host): classify SafeDB probe outcome so transport errors no longer masquerade as 'enable SafeDB' (#884) by @fakedev9999 in #888
  • backport(fault-proof): pin L1 block during sync to prevent RPC inconsistency (#865) by @fakedev9999 in #889
  • backport(fault-proof): correct resolve() invariant comment (#881) by @fakedev9999 in #890
  • backport(fault-proof): correct maxChallengeDuration return type to uint64 (#891) by @fakedev9999 in #893
  • backport(client): use canonical OP precompile set for fork-correct semantics (#895) by @fakedev9999 in #896
  • backport(ci): run eigenda-proxy ephemerally inside CI jobs (#897) by @fakedev9999 in #898
  • chore: release v3.8.1 by @fakedev9999 in #900

Full Changelog: v3.8.0...v3.8.1

v4.3.0

Choose a tag to compare

@fakedev9999 fakedev9999 released this 16 Apr 02:00
d9ed0ca

v4.3.0: SP1 v6.1.0 + OP Succinct Lite Fixes

Verification keys have changed due to ELF rebuilds with SP1 v6.1.0. Existing deployments must update their verification keys. See the migration guide below.

This release upgrades SP1 to v6.1.0, includes OP Succinct Lite fixes, performance and CI improvements.

Breaking Changes

  • Verification keys have changed — ELFs rebuilt with SP1 v6.1.0 toolchain. All deployments must upgrade contracts with new keys.
  • AnchorStateRegistry upgrade requiredgetAnchorRoot() is now called on IAnchorStateRegistry (added in op-contracts/v2.0.0). Operators on older ASR versions must upgrade their on-chain AnchorStateRegistry proxy before deploying the new OPSuccinctFaultDisputeGame.
  • Parent game must be ahead of anchor — The contract now rejects parent games whose L2 block is at or behind the anchor state. The proposer automatically uses u32::MAX (anchor path) when the canonical head is the anchor game. Existing proposer deployments must be upgraded alongside the contract.

Compatibility Matrix

op-succinct version op-contracts version SP1 SDK Status
v4.3.0 v5.0.0 v6.1.0 Supported
v3.8.0 v3.0.0 v6.1.0 Maintenance

Migration Guide (v4.2.0 → v4.3.0)

Since the verification keys have changed, you must upgrade your contracts with the new keys and redeploy. Follow the upgrade guide for your deployment type:

Summary of Changes

Dependencies

  • SP1 v6.1.0 — Upgrade from v6.0.2 (#872)
  • SP1 verifier contracts v6.1.0 — Update sp1-contracts submodule and DeployVerifier (#878)

OP Succinct Lite Fixes

  • Prevent duplicate game creation via anchor parent index (#839)
  • Cache-first rollup config loading for hardfork transitions (#842)
  • Filter games by anchor state registry (#844)
  • Remove orphan check from backup validation (#846)

Performance

  • Use header withdrawals_root for L2 storage root lookup post-Isthmus, skipping eth_getProof RPC call (#858)

Improvements

  • Make L1 tx confirmation timeout configurable (#874)
  • Let RUST_LOG override default log suppressions (#860)
  • Honor explicit --batch-size and reject zero in cost estimator (#869)
  • Graceful fallback when eth_getBlockReceipts is unavailable (#829)
  • Increase recommended cpu-node memory from 64Gi to 96Gi (#828)

CI & Testing

  • Reduce CI costs by removing PR triggers from heavy workflows (#843)
  • Remove broken backport workflow (#834)
  • Remove failing daily cost estimator workflow (#862)
  • Fix flaky eigenda integration test race condition (#861, #864)
  • Add Rust dependency caching to lint workflow (#854)
  • Move path filtering to job level for docs-only PRs (#857)

Docs

  • Add migration guide from optimistic to ZK fault proofs (#845)

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x3f0914400d4a8eb2488defa97d9da17833a1c8b42fda59cc5996d1c44554d5d0
Celestia DA Range 0x46bb91d377bdae7475775f7671b30d6f09d5944831873cb03cb4b15628a92895
EigenDA Range 0x6583208460e6610f69805fa87efda50876964db108bcc42a7c8939ec08fbdacb
Aggregation 0x000226bca14e2ed117d333539fae5c91d299f33f74f13aefc3185f1798a4f911

What's Changed

  • fix: graceful fallback when eth_getBlockReceipts is unavailable by @fakedev9999 in #829
  • ci: reduce CI costs by removing PR triggers from heavy workflows by @fakedev9999 in #843
  • fix: prevent duplicate game creation via anchor parent index by @fakedev9999 in #839
  • feat: cache-first rollup config loading for hardfork transitions by @fakedev9999 in #842
  • feat(fault-proof): filter games by anchor state registry by @fakedev9999 in #844
  • ci: move path filtering to job level so docs-only PRs can merge by @fakedev9999 in #857
  • ci: add Rust dependency caching to lint workflow by @fakedev9999 in #854
  • docs: add migration guide from optimistic to ZK fault proofs by @fakedev9999 in #845
  • fix(fault-proof): remove orphan check from backup validation by @fakedev9999 in #846
  • fix(docs): increase recommended cpu-node memory from 64Gi to 96Gi by @fakedev9999 in #828
  • chore(ci): remove broken backport workflow by @fakedev9999 in #834
  • fix(logger): let RUST_LOG override default log suppressions by @fakedev9999 in #860
  • ci: remove daily cost estimator workflow by @fakedev9999 in #862
  • perf(fault-proof): use header withdrawals_root for L2 storage root (post-Isthmus) by @fakedev9999 in #858
  • fix(test): fix race condition in proposer recovery integration test by @fakedev9999 in #861
  • fix(test): check recovery before finalization to avoid anchor race by @fakedev9999 in #864
  • fix(scripts): honor explicit --batch-size and reject zero by @fakedev9999 in #869
  • feat(fault-proof,validity): make L1 tx confirmation timeout configurable by @fakedev9999 in #874
  • chore: bump sp1 to v6.1.0 by @fakedev9999 in #872
  • fix: update sp1-contracts submodules and DeployVerifier to v6.1.0 by @fakedev9999 in #878

Full Changelog: v4.2.0...v4.3.0

v3.8.0

Choose a tag to compare

@fakedev9999 fakedev9999 released this 16 Apr 02:31
2dcbf47

v3.8.0: SP1 v6.1.0 Upgrade & Fault Proof Improvements

Maintenance release for the v3.x line, backporting SP1 v6.1.0 upgrade, fault proof enhancements, and bug fixes from v4.x.

Breaking Changes

  • Verification keys have changed — ELFs rebuilt with SP1 v6.1.0 toolchain. All deployments must upgrade contracts with new keys.
  • AnchorStateRegistry upgrade requiredgetAnchorRoot() is now called on IAnchorStateRegistry (added in op-contracts/v2.0.0). Operators on older ASR versions must upgrade their on-chain AnchorStateRegistry proxy before deploying the new OPSuccinctFaultDisputeGame.
  • Parent game must be ahead of anchor — The contract now rejects parent games whose L2 block is at or behind the anchor state. The proposer automatically uses u32::MAX (anchor path) when the canonical head is the anchor game. Existing proposer deployments must be upgraded alongside the contract.

Migration Guide (v3.7.0 → v3.8.0)

Since the verification keys have changed, you must upgrade your contracts with the new keys and redeploy. Follow the upgrade guide for your deployment type:

Summary of Changes

Dependencies

  • SP1 v6.1.0 upgrade: Bumped SP1 SDK, toolchain, and verifier contracts to v6.1.0 (#876, #879)

Fault Proof

  • Filter games by anchor state registry (#856): Improves game filtering to only process relevant dispute games
  • Prevent duplicate game creation via anchor parent index (#853): Fixes a race condition that could create duplicate games
  • Remove orphan check from backup validation (#867): Simplifies backup validation logic
  • Withdrawals root performance + integration test fixes (#868): Performance improvements to withdrawals root computation and test stability fixes
  • Make L1 tx confirmation timeout configurable (#875): Operators can now configure the timeout for L1 transaction confirmations

Fixes

  • Graceful fallback when eth_getBlockReceipts is unavailable (#852): Falls back to per-transaction receipt fetching on nodes that don't support batch receipts
  • Honor explicit --batch-size and reject zero (#870): CLI batch-size flag now works correctly
  • Let RUST_LOG override default log suppressions (#866): Operators can now override built-in log filters

Host

  • Cache-first rollup config loading for hardfork transitions (#855): Improves performance by caching rollup config across hardfork boundaries

Compatibility Matrix

op-succinct version op-contracts version SP1 SDK Status
v3.8.0 v3.0.0 v6.1.0 Maintenance
v4.3.0 v5.0.0 v6.1.0 Supported

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x77df39bf202b0e9a600228d4490f96a525d3fe6e1c29d39202ea33d0751a6824
Celestia DA Range 0x47d30d7f03a14d04673247c049072b141f43b88f353dd8553edd5b1d0a3166f7
EigenDA Range 0x6082c36f7bfe3d3c4e33ef23522c97346bdfe0e56880515b371723ae3b9a2bb5
Aggregation 0x00c4e879b2c9a19705728be6f960e8ea77abc61f94ea2a68750ce561c511b54f

What's Changed

Full Changelog: v3.7.0...v3.8.0

v4.2.0

Choose a tag to compare

@fakedev9999 fakedev9999 released this 09 Mar 04:57
c826ae0

v4.2.0: Self-Hosted Cluster Proving

This release adds self-hosted cluster proving mode, allowing operators to run against their own SP1 proving clusters. It also includes a fix for EigenDA canoe VK setup and a prover initialization refactor.

Breaking Changes

  • Verification keys have changed due to ELF rebuilds. Existing deployments must update their verification keys. See the migration guide below.

Compatibility Matrix

op-succinct version op-contracts version SP1 SDK Status
v4.2.0 v5.0.0 v6.0.2 Supported
v4.1.0 v5.0.0 v6.0.2 Stable
v3.6.0 v3.0.0 v5.2.4 Maintenance

Migration Guide (v4.1.0 → v4.2.0)

Since the verification keys have changed, you must upgrade your contracts with the new keys and redeploy. Follow the upgrade guide for your deployment type:

Summary of Changes

  • Self-Hosted Cluster Proving: New proving mode that allows operators to run their own SP1 proving cluster, providing an alternative to the Succinct prover network (#805)
  • Prover Refactor: Extracted build_network_prover_from_env helper and integrated it with cluster mode for cleaner prover initialization (#820)
  • EigenDA Fix: Use CpuProver instead of ProverClient::from_env() for canoe VK setup, fixing initialization in environments without network prover credentials (#827)

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x773d89f231d4c62d6ab68d171777f72a28c056e8366e07694d91c99530dceaab
Celestia DA Range 0x5522577a10667f302cd030f2652f95996268ed4a6c0bb41b62bf683a2c14d6a0
EigenDA Range 0x28b919161900e70e62598bce7ca4283524cd3ce124e83fd15517de92715a2d89
Aggregation 0x00a5efc95e5805e27488095a6aae484ec66cd67ca32f32e7f3c2fb744daeff1b

What's Changed

Full Changelog: v4.1.0...v4.2.0

v3.7.0

Choose a tag to compare

@fakedev9999 fakedev9999 released this 09 Mar 08:44
0d2d8e9

v3.7.0: Self-Hosted Cluster Proving (Maintenance)

This is a maintenance release for the v3.x line, backporting self-hosted cluster proving support and bug fixes from v4.x.

Summary of Changes

  • Self-hosted cluster proving: Operators can now use their own SP1 proving clusters instead of the Succinct prover network. Backported from v4.x (#805#830).
  • Prover refactoring: Extracted build_network_prover_from_env helper and integrated it with cluster mode for cleaner prover initialization (#820#831).
  • EigenDA fix: Use CpuProver instead of ProverClient::from_env() for canoe VK setup, fixing an issue where EigenDA VK generation required network access (#827#832).

Compatibility Matrix

op-succinct version op-contracts version SP1 SDK Status
v3.7.0 v3.0.0 v6.0.2 Supported
v3.6.0 v3.0.0 v6.0.2 Stable
v4.1.0 v5.0.0 v6.0.2 Supported

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x1096b81b172c3b3d3d0d65f63e7de07915ca84b60305f2fc30d1df204c220b28
Celestia DA Range 0x780ef2af170d50061520ba0b2010fc723d965f4b49ca05f42634cd4470e0926d
EigenDA Range 0x458d4c0f26fb0a877485dbb602cc6d0b22fbc0c337d819116bf7e477541245fa
Aggregation 0x004ea5a93f9d62659d6e2dd18b9a44ca5b8c149c74080a77dfaf4571c4e022cb

What's Changed

Full Changelog: v3.6.0...v3.7.0