Skip to content

Commit 2db898f

Browse files
committed
Merge tag 'v3.3.3' into 3.3.x-agglayer
2 parents 54b6c24 + 290955c commit 2db898f

12 files changed

Lines changed: 556 additions & 517 deletions

File tree

Cargo.lock

Lines changed: 403 additions & 445 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 55 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ edition = "2021"
2626
authors = ["ratankaliani", "zachobront", "fakedev9999", "yuwen01"]
2727
homepage = "https://succinctlabs.github.io/op-succinct/"
2828
repository = "https://github.com/succinctlabs/op-succinct"
29-
version = "3.3.2"
29+
version = "3.3.3"
3030

3131
[workspace.dependencies]
3232
# general
@@ -77,40 +77,40 @@ strum_macros = "0.27.1"
7777
tempfile = "3.10.1"
7878

7979
# kona
80-
kona-mpt = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6" }
81-
kona-derive = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6", default-features = false }
82-
kona-driver = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6" }
83-
kona-preimage = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6", features = [
80+
kona-mpt = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7" }
81+
kona-derive = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7", default-features = false }
82+
kona-driver = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7" }
83+
kona-preimage = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7", features = [
8484
"rkyv",
8585
"serde",
8686
] }
87-
kona-executor = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6" }
88-
kona-proof = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6" }
87+
kona-executor = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7" }
88+
kona-proof = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7" }
8989

90-
kona-client = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6" }
91-
kona-host = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6" }
92-
kona-providers-alloy = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6" }
93-
kona-rpc = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6", default-features = false }
94-
kona-protocol = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6", default-features = false }
95-
kona-registry = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6", default-features = false }
96-
kona-genesis = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.6", default-features = false }
90+
kona-client = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7" }
91+
kona-host = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7" }
92+
kona-providers-alloy = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7" }
93+
kona-rpc = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7", default-features = false }
94+
kona-protocol = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7", default-features = false }
95+
kona-registry = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7", default-features = false }
96+
kona-genesis = { git = "https://github.com/op-rs/kona", tag = "kona-client/v1.1.7", default-features = false }
9797

9898
# hana
99-
hana-blobstream = { git = "https://github.com/celestiaorg/hana", tag = "v1.2.2-mocha" }
100-
hana-celestia = { git = "https://github.com/celestiaorg/hana", tag = "v1.2.2-mocha" }
101-
hana-host = { git = "https://github.com/celestiaorg/hana", tag = "v1.2.2-mocha" }
102-
hana-oracle = { git = "https://github.com/celestiaorg/hana", tag = "v1.2.2-mocha" }
99+
hana-blobstream = { git = "https://github.com/celestiaorg/hana", rev = "1d272dd83263dbcc2ad97daaac84b2e578a0b288" }
100+
hana-celestia = { git = "https://github.com/celestiaorg/hana", rev = "1d272dd83263dbcc2ad97daaac84b2e578a0b288" }
101+
hana-host = { git = "https://github.com/celestiaorg/hana", rev = "1d272dd83263dbcc2ad97daaac84b2e578a0b288" }
102+
hana-oracle = { git = "https://github.com/celestiaorg/hana", rev = "1d272dd83263dbcc2ad97daaac84b2e578a0b288" }
103103

104104
# hokulea
105-
hokulea-compute-proof = { git = "https://github.com/Layr-Labs/hokulea", rev = "28eaa376e3399a12a81b0699060a8e8ed74bbaf8" }
106-
hokulea-eigenda = { git = "https://github.com/Layr-Labs/hokulea", rev = "28eaa376e3399a12a81b0699060a8e8ed74bbaf8" }
107-
hokulea-host-bin = { git = "https://github.com/Layr-Labs/hokulea", rev = "28eaa376e3399a12a81b0699060a8e8ed74bbaf8" }
108-
hokulea-proof = { git = "https://github.com/Layr-Labs/hokulea", rev = "28eaa376e3399a12a81b0699060a8e8ed74bbaf8" }
109-
hokulea-witgen = { git = "https://github.com/Layr-Labs/hokulea", rev = "28eaa376e3399a12a81b0699060a8e8ed74bbaf8" }
110-
hokulea-zkvm-verification = { git = "https://github.com/Layr-Labs/hokulea", rev = "28eaa376e3399a12a81b0699060a8e8ed74bbaf8" }
111-
canoe-sp1-cc-host = { git = "https://github.com/Layr-Labs/hokulea", rev = "28eaa376e3399a12a81b0699060a8e8ed74bbaf8" }
112-
canoe-sp1-cc-verifier = { git = "https://github.com/Layr-Labs/hokulea", rev = "28eaa376e3399a12a81b0699060a8e8ed74bbaf8" }
113-
canoe-verifier-address-fetcher = { git = "https://github.com/Layr-Labs/hokulea", rev = "28eaa376e3399a12a81b0699060a8e8ed74bbaf8" }
105+
hokulea-compute-proof = { git = "https://github.com/Layr-Labs/hokulea", rev = "ede4e93969fa3e181093c8807576afb85c60cb0e" }
106+
hokulea-eigenda = { git = "https://github.com/Layr-Labs/hokulea", rev = "ede4e93969fa3e181093c8807576afb85c60cb0e" }
107+
hokulea-host-bin = { git = "https://github.com/Layr-Labs/hokulea", rev = "ede4e93969fa3e181093c8807576afb85c60cb0e" }
108+
hokulea-proof = { git = "https://github.com/Layr-Labs/hokulea", rev = "ede4e93969fa3e181093c8807576afb85c60cb0e" }
109+
hokulea-witgen = { git = "https://github.com/Layr-Labs/hokulea", rev = "ede4e93969fa3e181093c8807576afb85c60cb0e" }
110+
hokulea-zkvm-verification = { git = "https://github.com/Layr-Labs/hokulea", rev = "ede4e93969fa3e181093c8807576afb85c60cb0e" }
111+
canoe-sp1-cc-host = { git = "https://github.com/Layr-Labs/hokulea", rev = "ede4e93969fa3e181093c8807576afb85c60cb0e" }
112+
canoe-sp1-cc-verifier = { git = "https://github.com/Layr-Labs/hokulea", rev = "ede4e93969fa3e181093c8807576afb85c60cb0e" }
113+
canoe-verifier-address-fetcher = { git = "https://github.com/Layr-Labs/hokulea", rev = "ede4e93969fa3e181093c8807576afb85c60cb0e" }
114114

115115
# op-succinct
116116
op-succinct-prove = { path = "scripts/prove" }
@@ -133,31 +133,31 @@ op-succinct-range-utils = { path = "programs/range/utils" }
133133
op-succinct-bindings = { path = "bindings" }
134134

135135
# Alloy (Network)
136-
alloy-signer-local = { version = "1.0.38" }
137-
alloy-provider = { version = "1.0.38" }
138-
alloy-transport = { version = "1.0.38" }
139-
alloy-transport-http = { version = "1.0.38" }
140-
alloy-contract = { version = "1.0.38" }
141-
alloy-network = { version = "1.0.38" }
136+
alloy-signer-local = { version = "1.1.0" }
137+
alloy-provider = { version = "1.1.0" }
138+
alloy-transport = { version = "1.1.0" }
139+
alloy-transport-http = { version = "1.1.0" }
140+
alloy-contract = { version = "1.1.0" }
141+
alloy-network = { version = "1.1.0" }
142142

143143
# Alloy
144144
alloy-rlp = { version = "0.3.12", default-features = false }
145145
alloy-trie = { version = "0.9.1", default-features = false, features = [
146146
"ethereum",
147147
] }
148-
alloy-eips = { version = "1.0.38", default-features = false }
149-
alloy-serde = { version = "1.0.38", default-features = false }
150-
alloy-consensus = { version = "1.0.38", default-features = false }
151-
alloy-rpc-types = { version = "1.0.38", default-features = false }
152-
alloy-rpc-client = { version = "1.0.38", default-features = false }
153-
alloy-node-bindings = { version = "1.0.38", default-features = false }
154-
alloy-rpc-types-engine = { version = "1.0.38", default-features = false }
155-
alloy-rpc-types-beacon = { version = "1.0.38", default-features = false }
156-
alloy-rpc-types-eth = { version = "1.0.38", default-features = false }
157-
alloy-rpc-types-trace = { version = "1.0.38", default-features = false }
158-
alloy-signer = { version = "1.0.38", default-features = false }
159-
alloy-signer-gcp = { version = "1.0.38", default-features = false }
160-
alloy = { version = "1.0.38", features = [
148+
alloy-eips = { version = "1.1.0", default-features = false }
149+
alloy-serde = { version = "1.1.0", default-features = false }
150+
alloy-consensus = { version = "1.1.0", default-features = false }
151+
alloy-rpc-types = { version = "1.1.0", default-features = false }
152+
alloy-rpc-client = { version = "1.1.0", default-features = false }
153+
alloy-node-bindings = { version = "1.1.0", default-features = false }
154+
alloy-rpc-types-engine = { version = "1.1.0", default-features = false }
155+
alloy-rpc-types-beacon = { version = "1.1.0", default-features = false }
156+
alloy-rpc-types-eth = { version = "1.1.0", default-features = false }
157+
alloy-rpc-types-trace = { version = "1.1.0", default-features = false }
158+
alloy-signer = { version = "1.1.0", default-features = false }
159+
alloy-signer-gcp = { version = "1.1.0", default-features = false }
160+
alloy = { version = "1.1.0", features = [
161161
"reqwest",
162162
"network",
163163
"providers",
@@ -174,21 +174,20 @@ alloy-sol-macro = { version = "1.3.1", default-features = false }
174174
alloy-chains = { version = "0.2.7", default-features = false }
175175

176176
# OP Alloy
177-
op-alloy-consensus = { version = "0.20.0", default-features = false }
178-
op-alloy-rpc-types = { version = "0.20.0", default-features = false }
179-
op-alloy-rpc-types-engine = { version = "0.20.0", default-features = false }
180-
op-alloy-network = { version = "0.20.0", default-features = false }
177+
op-alloy-consensus = { version = "0.22.0", default-features = false }
178+
op-alloy-rpc-types = { version = "0.22.0", default-features = false }
179+
op-alloy-rpc-types-engine = { version = "0.22.0", default-features = false }
180+
op-alloy-network = { version = "0.22.0", default-features = false }
181181

182182
# Execution
183-
alloy-evm = { version = "0.21.0", default-features = false }
184-
alloy-op-evm = { version = "0.21.0", default-features = false }
183+
alloy-evm = { version = "0.23.1", default-features = false }
184+
alloy-op-evm = { version = "0.23.1", default-features = false }
185185
# Use kzg-rs and substrate-bn for the zkVM.
186-
revm = { version = "29.0.1", default-features = false, features = [
187-
"kzg-rs",
186+
revm = { version = "31.0.0", default-features = false, features = [
188187
"bn",
189188
] }
190-
revm-precompile = { version = "27.0.0", default-features = false }
191-
op-revm = { version = "10.1.0", default-features = false }
189+
revm-precompile = { version = "29.0.0", default-features = false }
190+
op-revm = { version = "12.0.0", default-features = false }
192191

193192
# SP1
194193
sp1-sdk = { version = "=5.2.2", default-features = false, features = ["network"] }

elf/aggregation-elf

1.02 KB
Binary file not shown.

elf/celestia-range-elf-embedded

108 KB
Binary file not shown.

elf/eigenda-range-elf-embedded

124 KB
Binary file not shown.

elf/range-elf-bump

114 KB
Binary file not shown.

elf/range-elf-embedded

113 KB
Binary file not shown.

programs/range/eigenda/src/main.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ sp1_zkvm::entrypoint!(main);
1111

1212
use canoe_sp1_cc_verifier::CanoeSp1CCVerifier;
1313
use canoe_verifier_address_fetcher::CanoeVerifierAddressFetcherDeployedByEigenLabs;
14-
use hokulea_proof::eigenda_witness::EigenDAWitness;
14+
use hokulea_proof::{eigenda_witness::EigenDAWitness, recency::DisabledZeroRecencyWindowProvider};
1515
use hokulea_zkvm_verification::eigenda_witness_to_preloaded_provider;
1616
use op_succinct_client_utils::witness::{EigenDAWitnessData, WitnessData};
1717
use op_succinct_eigenda_client_utils::executor::EigenDAWitnessExecutor;
@@ -43,6 +43,7 @@ fn main() {
4343
oracle.clone(),
4444
CanoeSp1CCVerifier {},
4545
CanoeVerifierAddressFetcherDeployedByEigenLabs {},
46+
DisabledZeroRecencyWindowProvider {},
4647
eigenda_witness,
4748
)
4849
.await
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
//! Custom crypto provider for KZG proof verification.
2+
3+
use kzg_rs::{Bytes32, Bytes48, KzgProof, KzgSettings};
4+
use revm::precompile::{Crypto, PrecompileError};
5+
6+
/// Custom cryptography provider using kzg-rs for KZG proof verification.
7+
#[derive(Debug)]
8+
pub struct CustomCrypto {
9+
kzg_settings: KzgSettings,
10+
}
11+
12+
impl Default for CustomCrypto {
13+
fn default() -> Self {
14+
Self { kzg_settings: KzgSettings::load_trusted_setup_file().unwrap() }
15+
}
16+
}
17+
18+
impl Crypto for CustomCrypto {
19+
fn verify_kzg_proof(
20+
&self,
21+
z: &[u8; 32],
22+
y: &[u8; 32],
23+
commitment: &[u8; 48],
24+
proof: &[u8; 48],
25+
) -> Result<(), PrecompileError> {
26+
let z = Bytes32::from_slice(z).map_err(|_| PrecompileError::BlobVerifyKzgProofFailed)?;
27+
let y = Bytes32::from_slice(y).map_err(|_| PrecompileError::BlobVerifyKzgProofFailed)?;
28+
let commitment = Bytes48::from_slice(commitment)
29+
.map_err(|_| PrecompileError::BlobVerifyKzgProofFailed)?;
30+
let proof =
31+
Bytes48::from_slice(proof).map_err(|_| PrecompileError::BlobVerifyKzgProofFailed)?;
32+
33+
KzgProof::verify_kzg_proof(&commitment, &z, &y, &proof, &self.kzg_settings)
34+
.map_err(|_| PrecompileError::BlobVerifyKzgProofFailed)?;
35+
36+
Ok(())
37+
}
38+
}

utils/client/src/precompiles/factory.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use op_revm::{
88
OpTransactionError,
99
};
1010
use revm::{
11-
context::{result::EVMError, Evm as RevmEvm, TxEnv},
11+
context::{result::EVMError, BlockEnv, Evm as RevmEvm, TxEnv},
1212
handler::instructions::EthInstructions,
1313
inspector::NoOpInspector,
1414
Context, Inspector,
@@ -39,6 +39,7 @@ impl EvmFactory for ZkvmOpEvmFactory {
3939
EVMError<DBError, OpTransactionError>;
4040
type HaltReason = OpHaltReason;
4141
type Spec = OpSpecId;
42+
type BlockEnv = BlockEnv;
4243
type Precompiles = OpZkvmPrecompiles;
4344

4445
fn create_evm<DB: Database>(

0 commit comments

Comments
 (0)