Skip to content

Releases: succinctlabs/op-succinct

v4.4.0

14 May 11:28
e4ca84c

Choose a tag to compare

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

14 May 09:53
abad74b

Choose a tag to compare

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

06 May 03:59
5b6119a

Choose a tag to compare

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

06 May 03:59
1e8e32e

Choose a tag to compare

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

16 Apr 02:00
d9ed0ca

Choose a tag to compare

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

16 Apr 02:31
2dcbf47

Choose a tag to compare

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

09 Mar 04:57
c826ae0

Choose a tag to compare

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

09 Mar 08:44
0d2d8e9

Choose a tag to compare

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

v4.1.0

04 Mar 13:14
8c42d80

Choose a tag to compare

v4.1.0: SP1 v6 Hypercube Upgrade

All OP Succinct and OP Succinct Lite operators on v4.x must upgrade. Starting with v4.1.0, op-succinct targets SP1 v6 exclusively. SP1 v5 remains supported on the prover network but will be deprecated in the near future — teams should begin planning their migration. This release requires contract redeployment with new verification keys.

This release upgrades the SP1 proving backend from v5.2.4 to v6.0.2 (Hypercube), delivering improved proving performance and compatibility with the latest SP1 prover network.

Breaking Changes

  • Contract redeployment required: Verification keys have changed due to the SP1 v6 upgrade. Existing game implementations must be redeployed with the new verification keys listed below.
  • SP1 toolchain v6.0.2 required: Developers building from source must install the SP1 v6 toolchain (sp1up -v 6.0.2). CI workflows and Dockerfiles have been updated accordingly.
  • protobuf-compiler build dependency: protobuf-compiler is now required. All Dockerfiles and CI workflows have been updated. Developers building locally must install it (e.g., apt install protobuf-compiler or brew install protobuf).

Compatibility Matrix

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

Migration Guide (v4.0.x → v4.1.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

  • SP1 Upgrade: SP1 SDK v5.2.4 → v6.0.2 (Hypercube) with all breaking API changes resolved (async prover building, Elf::Static() wrapper, new setup/prove/verify signatures, blocking vs async prover patterns)
  • Hokulea: Updated to upstream Layr-Labs/hokulea tag (SP1 v6 compatible)
  • Dependencies: kzg-rs 0.2.8 from crates.io, substrate-bn patch fix
  • E2E Testing: Deploy SP1 v6.0.0 verifier contracts for network prover tests
  • Prover: Mainnet readiness improvements, cached canoe verifying key with LazyLock
  • CI: SP1 version consistency check, updated toolchain pins
  • Docs: Fixed broken Optimism tutorial link in prerequisites

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x4357642c2cd12d606ce7bf8210f7538079da88f51f9c5acb232d36e818b84975
Celestia DA Range 0x3779a2b7206420f94672caae6c9e1a255848f2716aa5491c21291d643aa2f90b
EigenDA Range 0x70d2050b700482a24f861c94436a8b611ce058d7145d31a040d6406548e525a2
Aggregation 0x006f25245547f33542382ee1966c3b8d5c10f37672679fdc6edad1347ac5da3a

What's Changed

Full Changelog: v4.0.2...v4.1.0

v3.6.0

04 Mar 13:10
7113601

Choose a tag to compare

v3.6.0: SP1 v6 Hypercube Upgrade (Maintenance)

All OP Succinct and OP Succinct Lite operators on v3.x must upgrade. Starting with v3.6.0, op-succinct targets SP1 v6 exclusively. SP1 v5 remains supported on the prover network but will be deprecated in the near future — teams should begin planning their migration. This release requires contract redeployment with new verification keys.

This is a maintenance release for the v3.x line, targeting chains using op-contracts v3.0.0. It upgrades the SP1 SDK from v5.2.4 to v6.0.2 (Hypercube stable) and includes backported fixes from the v4.x line.

Note: For op-contracts v5.0.0 users, use the v4.x release line instead.

Breaking Changes

  • Contract redeployment required: Verification keys have changed due to the SP1 v6 upgrade. Existing game implementations must be redeployed with the new verification keys listed below.
  • SP1 toolchain v6.0.2 required: Developers building from source must install the SP1 v6 toolchain (sp1up -v 6.0.2). CI workflows have been updated accordingly.
  • protobuf-compiler required: protobuf-compiler is now a build dependency. All Dockerfiles and CI workflows have been updated. Developers building locally must install it (e.g., apt install protobuf-compiler or brew install protobuf).

Migration Guide (v3.5.0 → v3.6.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:

Compatibility Matrix

op-succinct version op-contracts version SP1 SDK Status
v3.6.0 v3.0.0 v6.0.2 Supported
v3.5.0 v3.0.0 v5.2.4 Deprecated
v4.0.2 v5.0.0 v6.0.2 Supported

Summary of Changes

  • SP1 Upgrade: SP1 SDK v5.2.4 → v6.0.2 (Hypercube) with all breaking API changes resolved
  • Proposer Fix: Prevent defense task counter from blocking on skipped games
  • Scripts: Add witness caching for multi and cost_estimator
  • Testing: Cycle tracker regression tests for precompiles, SP1 v6.0.0 verifier contracts for e2e tests

Verification Key Hashes

Program Verification Key Hash
Ethereum DA Range 0x669fbb907b5b3bc52f45a533190555e3052357091a9fc0365914823e40dbec97
Celestia DA Range 0x0659b1740242d6b113b309bb3310598b5d392fd27c10adae6ab163c42225b55c
EigenDA Range 0x643e90881478857e167fb13029f09068167c1abb5fc578911ad48bd2395f60fb
Aggregation 0x00a7debcc20be76f995fc4f6b1d9f614d55223bb2212fbb7b8bf8279b11b0580

What's Changed

Full Changelog: v3.5.0...v3.6.0