diff --git a/Cargo.lock b/Cargo.lock index 45d673e8..c16ce2f1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5535,6 +5535,7 @@ dependencies = [ "enumn", "hashbrown 0.14.3", "hex 0.4.3", + "once_cell", "serde", ] @@ -6776,6 +6777,32 @@ dependencies = [ "syn 2.0.50", ] +[[package]] +name = "strum_macros" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.50", +] + +[[package]] +name = "strum_macros" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.50", +] + [[package]] name = "substrate-bn" version = "0.6.0" @@ -6795,6 +6822,15 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +[[package]] +name = "sucds" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64accd20141dfbef67ad83c51d588146cff7810616e1bda35a975be369059533" +dependencies = [ + "anyhow", +] + [[package]] name = "syn" version = "1.0.109" @@ -7989,6 +8025,7 @@ dependencies = [ "serde", "serde_json", "serde_with", + "sha2", "thiserror", "thiserror-no-std", "tokio", diff --git a/Cargo.toml b/Cargo.toml index 90021a58..8f07a89c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,6 +27,10 @@ lto = true [profile.release.build-override] opt-level = 3 +[patch.crates-io] +# use optimized risc0 circuit +revm = { git = "https://github.com/johntaiko/revm", branch = "feat/taiko" } +revm-primitives = { git = "https://github.com/johntaiko/revm", branch = "feat/taiko" } [workspace.dependencies] diff --git a/lib/Cargo.toml b/lib/Cargo.toml index bcf66edd..936c2c6d 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -29,6 +29,10 @@ thiserror-no-std = "2.0.2" zeth-primitives = { path = "../primitives", features = ["revm"] } hex = { version = "0.4.3", default-features = false, optional = true} url = "2.5.0" +reqwest = "0.11.22" +sha2 = "0.10.8" +proptest = "1.4.0" +c-kzg = "0.4.0" # [target.'cfg(feature = "std")'.dependencies] ethers-core = { version = "2.0", optional = true } diff --git a/lib/src/host/provider/cached_rpc_provider.rs b/lib/src/host/provider/cached_rpc_provider.rs index 2c682216..4884a322 100644 --- a/lib/src/host/provider/cached_rpc_provider.rs +++ b/lib/src/host/provider/cached_rpc_provider.rs @@ -22,8 +22,8 @@ use ethers_core::types::{ }; use alloy_rpc_types::EIP1186AccountProofResponse; use super::{ - file_provider::FileProvider, rpc_provider::RpcProvider, AccountQuery, BlockQuery, MutProvider, - ProofQuery, Provider, StorageQuery, + file_provider::FileProvider, rpc_provider::RpcProvider, AccountQuery, BlockQuery, + GetBlobsResponse, MutProvider, ProofQuery, Provider, StorageQuery, }; #[cfg(feature = "taiko")] use crate::host::provider::LogsQuery; @@ -34,12 +34,16 @@ pub struct CachedRpcProvider { } impl CachedRpcProvider { - pub fn new(cache_path: PathBuf, rpc_url: String) -> Result { + pub fn new( + cache_path: PathBuf, + rpc_url: String, + beacon_rpc_url: Option, + ) -> Result { let cache = match FileProvider::from_file(&cache_path) { Ok(provider) => provider, Err(_) => FileProvider::empty(cache_path), }; - let rpc = RpcProvider::new(rpc_url)?; + let rpc = RpcProvider::new(rpc_url, beacon_rpc_url)?; Ok(CachedRpcProvider { cache, rpc }) } @@ -182,4 +186,17 @@ impl Provider for CachedRpcProvider { Ok(out) } + + #[cfg(feature = "taiko")] + fn get_blob_data(&mut self, block_id: u64) -> Result { + let cache_out = self.cache.get_blob_data(block_id); + if cache_out.is_ok() { + return cache_out; + } + + let out = self.rpc.get_blob_data(block_id)?; + self.cache.insert_blob(block_id, out.clone()); + + Ok(out) + } } diff --git a/lib/src/host/provider/file_provider.rs b/lib/src/host/provider/file_provider.rs index 41997e76..309b665b 100644 --- a/lib/src/host/provider/file_provider.rs +++ b/lib/src/host/provider/file_provider.rs @@ -28,11 +28,7 @@ use ethers_core::types::{ use serde::{Deserialize, Serialize}; use serde_with::serde_as; -// #[cfg(feature = "taiko")] -// use zeth_primitives::taiko::BlockProposed; use super::{AccountQuery, BlockQuery, MutProvider, ProofQuery, Provider, StorageQuery}; -#[cfg(feature = "taiko")] -use super::{LogsQuery, TxQuery}; #[serde_as] #[derive(Default, Deserialize, Serialize)] @@ -63,8 +59,7 @@ pub struct FileProvider { #[serde_as(as = "Vec<(_, _)>")] logs: HashMap>, #[cfg(feature = "taiko")] - #[serde_as(as = "Vec<(_, _)>")] - transactions: HashMap, + propose: Option<(Transaction, BlockProposed)>, } impl FileProvider { @@ -81,9 +76,7 @@ impl FileProvider { code: HashMap::new(), storage: HashMap::new(), #[cfg(feature = "taiko")] - logs: HashMap::new(), - #[cfg(feature = "taiko")] - transactions: HashMap::new(), + propose: Default::default(), } } @@ -174,6 +167,14 @@ impl Provider for FileProvider { } } + #[cfg(feature = "taiko")] + fn get_propose(&mut self, query: &super::ProposeQuery) -> Result<(Transaction, BlockProposed)> { + match self.propose { + Some(ref val) => Ok(val.clone()), + None => Err(anyhow!("No data for {:?}", query)), + } + } + #[cfg(feature = "taiko")] fn get_logs(&mut self, query: &LogsQuery) -> Result> { match self.logs.get(query) { @@ -189,6 +190,14 @@ impl Provider for FileProvider { None => Err(anyhow!("No data for {query:?}")), } } + + #[cfg(feature = "taiko")] + fn get_blob_data(&mut self, block_id: u64) -> Result { + match self.blobs.get(&block_id) { + Some(val) => Ok(val.clone()), + None => Err(anyhow!("No data for block id: {block_id:?}")), + } + } } impl MutProvider for FileProvider { @@ -243,6 +252,12 @@ impl MutProvider for FileProvider { self.transactions.insert(query, val); self.dirty = true; } + + #[cfg(feature = "taiko")] + fn insert_blob(&mut self, block_id: u64, val: GetBlobsResponse) { + self.blobs.insert(block_id, val); + self.dirty = true; + } } #[cfg(feature = "taiko")] diff --git a/lib/src/host/provider/mod.rs b/lib/src/host/provider/mod.rs index 25c87af0..3da85056 100644 --- a/lib/src/host/provider/mod.rs +++ b/lib/src/host/provider/mod.rs @@ -132,7 +132,7 @@ pub fn new_provider( match (cache_path, rpc_url) { (Some(cache_path), Some(rpc_url)) => new_cached_rpc_provider(cache_path, rpc_url), (Some(cache_path), None) => new_file_provider(cache_path), - (None, Some(rpc_url)) => new_rpc_provider(rpc_url), + (None, Some(rpc_url)) => new_rpc_provider(rpc_url, beacon_rpc_url), (None, None) => Err(anyhow!("No cache_path or rpc_url given")), } } diff --git a/lib/src/host/provider/rpc_provider.rs b/lib/src/host/provider/rpc_provider.rs index ddc8d0c5..37edc246 100644 --- a/lib/src/host/provider/rpc_provider.rs +++ b/lib/src/host/provider/rpc_provider.rs @@ -25,18 +25,24 @@ use alloy_transport_http::Http; use hex::FromHex; use url::Url; use log::info; +use reqwest; +#[cfg(feature = "taiko")] +use tracing::info; +#[cfg(feature = "taiko")] +use zeth_primitives::taiko::{filter_propose_block_event, BlockProposed}; -use super::{AccountQuery, BlockQuery, ProofQuery, Provider, StorageQuery}; +use super::{AccountQuery, BlockQuery, GetBlobsResponse, ProofQuery, Provider, StorageQuery}; use crate::host::provider::LogsQuery; pub struct RpcProvider { ethers_provider: ethers_providers::Provider>, alloy_provider: HttpProvider, + beacon_rpc_url: Option, tokio_handle: tokio::runtime::Handle, } impl RpcProvider { - pub fn new(rpc_url: String) -> Result { + pub fn new(rpc_url: String, beacon_rpc_url: Option) -> Result { //TODO(Brecht): switch to alloy provider for everything let ethers_provider = ethers_providers::Provider::>::new_client(&rpc_url, 3, 500)?; @@ -49,6 +55,7 @@ impl RpcProvider { Ok(RpcProvider { ethers_provider, alloy_provider, + beacon_rpc_url, tokio_handle, }) } @@ -188,4 +195,24 @@ impl Provider for RpcProvider { None => Err(anyhow!("No data for {query:?}")), } } + + #[cfg(feature = "taiko")] + fn get_blob_data(&mut self, block_id: u64) -> Result { + match self.beacon_rpc_url { + Some(ref url) => self.tokio_handle.block_on(async { + let url = format!("{}/eth/v1/beacon/blob_sidecars/{}", url, block_id); + let response = reqwest::get(url.clone()).await?; + if response.status().is_success() { + let blob_response: GetBlobsResponse = response.json().await?; + Ok(blob_response) + } else { + Err(anyhow::anyhow!( + "Request failed with status code: {}", + response.status() + )) + } + }), + None => Err(anyhow!("No beacon_rpc_url given")), + } + } } diff --git a/raiko-guests/risc0/bin/Cargo.lock b/raiko-guests/risc0/bin/Cargo.lock index 564d4c3a..87234373 100644 --- a/raiko-guests/risc0/bin/Cargo.lock +++ b/raiko-guests/risc0/bin/Cargo.lock @@ -44,6 +44,72 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +[[package]] +name = "alloy-chains" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "973deb9e9d5db1f28c2a478073aeb435f1c07f72cf5935caa0c421e6b68f2db1" +dependencies = [ + "alloy-rlp", + "num_enum", + "serde", + "strum 0.26.1", +] + +[[package]] +name = "alloy-eips" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "thiserror", +] + +[[package]] +name = "alloy-eips" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy#52bf7125d944e8a389371be503035724dfde5657" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", + "thiserror", +] + +[[package]] +name = "alloy-genesis" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "serde", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy#52bf7125d944e8a389371be503035724dfde5657" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-network" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy#52bf7125d944e8a389371be503035724dfde5657" +dependencies = [ + "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy)", + "alloy-json-rpc", + "alloy-primitives", + "alloy-rlp", + "serde", +] + [[package]] name = "alloy-primitives" version = "0.6.3" @@ -55,6 +121,7 @@ dependencies = [ "cfg-if", "const-hex", "derive_more", + "getrandom", "hex-literal", "itoa", "k256", @@ -66,6 +133,25 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "alloy-providers" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy#52bf7125d944e8a389371be503035724dfde5657" +dependencies = [ + "alloy-network", + "alloy-primitives", + "alloy-rpc-client", + "alloy-rpc-trace-types 0.1.0 (git+https://github.com/alloy-rs/alloy)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy)", + "alloy-transport", + "alloy-transport-http", + "async-trait", + "auto_impl", + "reqwest", + "serde", + "thiserror", +] + [[package]] name = "alloy-rlp" version = "0.3.4" @@ -88,6 +174,72 @@ dependencies = [ "syn 2.0.51", ] +[[package]] +name = "alloy-rpc-client" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy#52bf7125d944e8a389371be503035724dfde5657" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "alloy-transport-http", + "futures", + "pin-project", + "reqwest", + "serde_json", + "tower", + "tracing", + "url", +] + +[[package]] +name = "alloy-rpc-engine-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "jsonrpsee-types", + "serde", + "thiserror", +] + +[[package]] +name = "alloy-rpc-trace-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-rpc-trace-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy#52bf7125d944e8a389371be503035724dfde5657" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy)", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=b9dd518#b9dd518b12efd27ab706ae6ffa9ad6b05df451c7" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "itertools 0.12.1", + "jsonrpsee-types", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "alloy-rpc-types" version = "0.1.0" @@ -130,6 +282,52 @@ dependencies = [ "const-hex", ] +[[package]] +name = "alloy-transport" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy#52bf7125d944e8a389371be503035724dfde5657" +dependencies = [ + "alloy-json-rpc", + "base64 0.21.7", + "futures-util", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "url", + "wasm-bindgen-futures", +] + +[[package]] +name = "alloy-transport-http" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy#52bf7125d944e8a389371be503035724dfde5657" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "reqwest", + "serde_json", + "tower", + "url", +] + +[[package]] +name = "alloy-trie" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59974c3c7778ebbcd73356a430fd4608aaf0630b1fdb4f5337bfd70f40b66618" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "derive_more", + "hashbrown 0.14.3", + "nybbles", + "serde", + "smallvec", + "tracing", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -208,6 +406,12 @@ version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" + [[package]] name = "ark-bn254" version = "0.4.0" @@ -547,6 +751,15 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + [[package]] name = "bincode" version = "1.3.3" @@ -807,6 +1020,19 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +[[package]] +name = "codecs-derive" +version = "0.1.0-alpha.18" +source = "git+https://github.com/sp1-patches/reth?branch=sp1-reth#03cf47506a0c59aa94144c3fc88e134495597973" +dependencies = [ + "convert_case 0.6.0", + "parity-scale-codec", + "proc-macro2", + "quote", + "serde", + "syn 2.0.51", +] + [[package]] name = "colorchoice" version = "1.0.0" @@ -838,6 +1064,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -863,6 +1098,21 @@ dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + [[package]] name = "crc32fast" version = "1.4.0" @@ -881,6 +1131,25 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.19" @@ -993,7 +1262,7 @@ version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", + "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version 0.4.0", @@ -1210,7 +1479,7 @@ dependencies = [ "rlp", "serde", "serde_json", - "strum", + "strum 0.25.0", "tempfile", "thiserror", "tiny-keccak", @@ -1310,6 +1579,21 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1659,7 +1943,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.5", + "socket2", "tokio", "tower-service", "tracing", @@ -1680,6 +1964,19 @@ dependencies = [ "tokio-rustls", ] +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "iana-time-zone" version = "0.1.60" @@ -1827,6 +2124,20 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonrpsee-types" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be0be325642e850ed0bdff426674d2e66b2b7117c9be23a7caef68a2902b7d9" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + [[package]] name = "k256" version = "0.13.3" @@ -1949,6 +2260,45 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "modular-bitfield" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" +dependencies = [ + "modular-bitfield-impl", + "static_assertions", +] + +[[package]] +name = "modular-bitfield-impl" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.107", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -2084,6 +2434,19 @@ dependencies = [ "syn 2.0.51", ] +[[package]] +name = "nybbles" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836816c354fb2c09622b54545a6f98416147346b13cc7eba5f92fab6b3042c93" +dependencies = [ + "alloy-rlp", + "const-hex", + "proptest", + "serde", + "smallvec", +] + [[package]] name = "object" version = "0.32.2" @@ -2124,6 +2487,50 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.4.2", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "overload" version = "0.1.1" @@ -2139,6 +2546,7 @@ dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", + "bytes", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2234,9 +2642,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -2254,6 +2662,12 @@ dependencies = [ "spki", ] +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + [[package]] name = "powerfmt" version = "0.2.0" @@ -2433,7 +2847,7 @@ dependencies = [ "lru_time_cache", "once_cell", "prometheus", - "revm", + "revm 3.5.0", "serde", "serde_json", "serde_with", @@ -2489,6 +2903,26 @@ dependencies = [ "rand_core", ] +[[package]] +name = "rayon" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -2558,10 +2992,12 @@ dependencies = [ "http-body", "hyper", "hyper-rustls", + "hyper-tls", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -2573,6 +3009,7 @@ dependencies = [ "sync_wrapper", "system-configuration", "tokio", + "tokio-native-tls", "tokio-rustls", "tower-service", "url", @@ -2583,14 +3020,108 @@ dependencies = [ "winreg", ] +[[package]] +name = "reth-codecs" +version = "0.1.0-alpha.18" +source = "git+https://github.com/sp1-patches/reth?branch=sp1-reth#03cf47506a0c59aa94144c3fc88e134495597973" +dependencies = [ + "alloy-primitives", + "bytes", + "codecs-derive", +] + +[[package]] +name = "reth-ethereum-forks" +version = "0.1.0-alpha.18" +source = "git+https://github.com/sp1-patches/reth?branch=sp1-reth#03cf47506a0c59aa94144c3fc88e134495597973" +dependencies = [ + "alloy-chains", + "alloy-primitives", + "alloy-rlp", + "crc", + "serde", + "thiserror", +] + +[[package]] +name = "reth-primitives" +version = "0.1.0-alpha.18" +source = "git+https://github.com/sp1-patches/reth?branch=sp1-reth#03cf47506a0c59aa94144c3fc88e134495597973" +dependencies = [ + "alloy-chains", + "alloy-eips 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "alloy-genesis", + "alloy-primitives", + "alloy-rlp", + "alloy-trie", + "byteorder", + "bytes", + "cfg-if", + "derive_more", + "itertools 0.12.1", + "k256", + "modular-bitfield", + "num_enum", + "nybbles", + "once_cell", + "rayon", + "reth-codecs", + "reth-ethereum-forks", + "reth-rpc-types", + "revm 5.0.0", + "revm-primitives 2.0.0", + "serde", + "serde_json", + "sha2", + "smallvec", + "sp1-precompiles", + "strum 0.26.1", + "tempfile", + "thiserror", + "tracing", +] + +[[package]] +name = "reth-rpc-types" +version = "0.1.0-alpha.18" +source = "git+https://github.com/sp1-patches/reth?branch=sp1-reth#03cf47506a0c59aa94144c3fc88e134495597973" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-engine-types", + "alloy-rpc-trace-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy?rev=b9dd518)", + "bytes", + "itertools 0.12.1", + "jsonrpsee-types", + "serde", + "serde_json", + "serde_with", + "thiserror", + "url", +] + [[package]] name = "revm" version = "3.5.0" source = "git+https://github.com/ceciliaz030/revm.git?branch=sync-taiko-v3.5#502f770834a767a9390ec6a8286df337212edf43" dependencies = [ "auto_impl", - "revm-interpreter", - "revm-precompile", + "revm-interpreter 1.3.0", + "revm-precompile 2.2.0", + "serde", + "serde_json", +] + +[[package]] +name = "revm" +version = "5.0.0" +source = "git+https://github.com/sp1-patches/revm?branch=john/v5.0.0-patched#c993e0d60b49e4ee97a160ac4629a4e63f2a2e69" +dependencies = [ + "auto_impl", + "cfg-if", + "revm-interpreter 2.1.0", + "revm-precompile 4.0.0", "serde", "serde_json", ] @@ -2600,7 +3131,16 @@ name = "revm-interpreter" version = "1.3.0" source = "git+https://github.com/ceciliaz030/revm.git?branch=sync-taiko-v3.5#502f770834a767a9390ec6a8286df337212edf43" dependencies = [ - "revm-primitives", + "revm-primitives 1.3.0", + "serde", +] + +[[package]] +name = "revm-interpreter" +version = "2.1.0" +source = "git+https://github.com/sp1-patches/revm?branch=john/v5.0.0-patched#c993e0d60b49e4ee97a160ac4629a4e63f2a2e69" +dependencies = [ + "revm-primitives 2.0.0", "serde", ] @@ -2614,7 +3154,25 @@ dependencies = [ "c-kzg", "k256", "once_cell", - "revm-primitives", + "revm-primitives 1.3.0", + "ripemd", + "secp256k1", + "sha2", + "sp1-precompiles", + "substrate-bn", +] + +[[package]] +name = "revm-precompile" +version = "4.0.0" +source = "git+https://github.com/sp1-patches/revm?branch=john/v5.0.0-patched#c993e0d60b49e4ee97a160ac4629a4e63f2a2e69" +dependencies = [ + "anyhow", + "aurora-engine-modexp", + "c-kzg", + "k256", + "once_cell", + "revm-primitives 2.0.0", "ripemd", "secp256k1", "sha2", @@ -2638,6 +3196,23 @@ dependencies = [ "serde", ] +[[package]] +name = "revm-primitives" +version = "2.0.0" +source = "git+https://github.com/sp1-patches/revm?branch=john/v5.0.0-patched#c993e0d60b49e4ee97a160ac4629a4e63f2a2e69" +dependencies = [ + "alloy-primitives", + "auto_impl", + "bitflags 2.4.2", + "bitvec", + "c-kzg", + "cfg-if", + "enumn", + "hashbrown 0.14.3", + "hex", + "serde", +] + [[package]] name = "rfc6979" version = "0.4.0" @@ -3012,6 +3587,15 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -3060,6 +3644,29 @@ dependencies = [ "cc", ] +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "0.11.0" @@ -3186,8 +3793,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" -source = "git+https://github.com/risc0/RustCrypto-hashes?tag=sha2-v0.10.6-risczero.0#7fd6900c4f637bd15ee2642dfa77110f8f1ad065" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -3271,15 +3879,9 @@ name = "smallvec" version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" - -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ - "libc", - "winapi", + "arbitrary", + "serde", ] [[package]] @@ -3410,7 +4012,16 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" dependencies = [ - "strum_macros", + "strum_macros 0.25.3", +] + +[[package]] +name = "strum" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f" +dependencies = [ + "strum_macros 0.26.1", ] [[package]] @@ -3426,6 +4037,19 @@ dependencies = [ "syn 2.0.51", ] +[[package]] +name = "strum_macros" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.51", +] + [[package]] name = "substrate-bn" version = "0.6.0" @@ -3650,11 +4274,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.29.1" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ - "autocfg", "backtrace", "bytes", "libc", @@ -3663,22 +4286,32 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.4.10", + "socket2", "tokio-macros", "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", "syn 2.0.51", ] +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.24.1" @@ -3801,11 +4434,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -3826,20 +4458,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 1.0.107", + "syn 2.0.51", ] [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -4052,6 +4684,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "vec_map" version = "0.8.2" @@ -4463,12 +5101,15 @@ name = "zeth-lib" version = "0.1.0" dependencies = [ "alloy-primitives", + "alloy-providers", "alloy-rlp", "alloy-rlp-derive", - "alloy-rpc-types", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy)", "alloy-sol-types", + "alloy-transport-http", "anyhow", "bytes", + "c-kzg", "chrono", "ethers-core", "ethers-providers", @@ -4477,15 +5118,19 @@ dependencies = [ "hex", "log", "once_cell", - "revm", + "proptest", + "reqwest", + "revm 3.5.0", "rlp", "ruint", "serde", "serde_json", "serde_with", + "sha2", "thiserror", "thiserror-no-std", "tokio", + "url", "zeth-primitives", ] @@ -4496,17 +5141,23 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-rlp-derive", - "alloy-rpc-types", + "alloy-rpc-types 0.1.0 (git+https://github.com/alloy-rs/alloy)", "anyhow", "bytes", "ethers-core", "hashbrown 0.14.3", "hex", "k256", - "revm-primitives", + "reth-primitives", + "revm-primitives 1.3.0", "rlp", "ruint", "serde", "sha3", - "thiserror-no-std", + "thiserror", ] + +[[patch.unused]] +name = "sha2" +version = "0.10.6" +source = "git+https://github.com/risc0/RustCrypto-hashes?tag=sha2-v0.10.6-risczero.0#7fd6900c4f637bd15ee2642dfa77110f8f1ad065" diff --git a/raiko-guests/succinct/Cargo.lock b/raiko-guests/succinct/Cargo.lock index 4ad98b46..d9aa9e0e 100644 --- a/raiko-guests/succinct/Cargo.lock +++ b/raiko-guests/succinct/Cargo.lock @@ -1166,6 +1166,21 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1445,6 +1460,19 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "iana-time-zone" version = "0.1.60" @@ -1716,6 +1744,24 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "num" version = "0.4.1" @@ -1882,6 +1928,50 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.4.2", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "parity-scale-codec" version = "3.6.9" @@ -1974,6 +2064,12 @@ dependencies = [ "spki", ] +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + [[package]] name = "powerfmt" version = "0.2.0" @@ -2215,19 +2311,23 @@ dependencies = [ "http", "http-body", "hyper", + "hyper-tls", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", "system-configuration", "tokio", + "tokio-native-tls", "tower-service", "url", "wasm-bindgen", @@ -2543,6 +2643,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64", +] + [[package]] name = "rustversion" version = "1.0.14" @@ -2591,6 +2700,15 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "sec1" version = "0.7.3" @@ -2623,6 +2741,29 @@ dependencies = [ "cc", ] +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "0.11.0" @@ -3109,6 +3250,16 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + [[package]] name = "tokio-util" version = "0.7.10" @@ -3307,6 +3458,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.4" @@ -3635,6 +3792,7 @@ dependencies = [ "alloy-transport-http", "anyhow", "bytes", + "c-kzg", "chrono", "ethers-core", "flate2", @@ -3642,12 +3800,15 @@ dependencies = [ "hex", "log", "once_cell", + "proptest", + "reqwest", "revm 3.5.0", "rlp", "ruint", "serde", "serde_json", "serde_with", + "sha2", "thiserror", "thiserror-no-std", "url", diff --git a/raiko-host/src/prover/request.rs b/raiko-host/src/prover/request.rs index 480eb3d3..1691ca28 100644 --- a/raiko-host/src/prover/request.rs +++ b/raiko-host/src/prover/request.rs @@ -32,7 +32,7 @@ pub struct ProofRequest { pub block_number: u64, /// l2 node for get block by number pub l2_rpc: String, - /// l1 node for signal root verify and get txlist from proposed transaction. + /// l1 node for signal root verify and get txlist info from proposed transaction. pub l1_rpc: String, /// l2 contracts selection pub l2_contracts: String, diff --git a/risc0-driver/Cargo.lock b/risc0-driver/Cargo.lock index b1e2a2df..3519b873 100644 --- a/risc0-driver/Cargo.lock +++ b/risc0-driver/Cargo.lock @@ -1834,6 +1834,15 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + [[package]] name = "foreign-types" version = "0.5.0" @@ -1841,7 +1850,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ "foreign-types-macros", - "foreign-types-shared", + "foreign-types-shared 0.3.1", ] [[package]] @@ -1855,6 +1864,12 @@ dependencies = [ "syn 2.0.51", ] +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "foreign-types-shared" version = "0.3.1" @@ -2228,6 +2243,19 @@ dependencies = [ "tokio-rustls", ] +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "iana-time-zone" version = "0.1.60" @@ -2577,7 +2605,7 @@ dependencies = [ "bitflags 1.3.2", "block", "core-graphics-types", - "foreign-types", + "foreign-types 0.5.0", "log", "objc", "paste", @@ -2636,6 +2664,24 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "ndarray" version = "0.15.6" @@ -2865,6 +2911,50 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.4.2", + "cfg-if", + "foreign-types 0.3.2", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "option-ext" version = "0.2.0" @@ -3015,6 +3105,12 @@ dependencies = [ "spki", ] +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + [[package]] name = "powerfmt" version = "0.2.0" @@ -3382,10 +3478,12 @@ dependencies = [ "http-body", "hyper", "hyper-rustls", + "hyper-tls", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -3397,6 +3495,7 @@ dependencies = [ "sync_wrapper", "system-configuration", "tokio", + "tokio-native-tls", "tokio-rustls", "tower-service", "url", @@ -4128,6 +4227,15 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -4176,6 +4284,29 @@ dependencies = [ "cc", ] +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "0.11.0" @@ -4742,6 +4873,16 @@ dependencies = [ "syn 2.0.51", ] +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.24.1" @@ -5091,6 +5232,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.4" @@ -5506,6 +5653,7 @@ dependencies = [ "alloy-transport-http", "anyhow", "bytes", + "c-kzg", "chrono", "ethers-core", "ethers-providers", @@ -5514,12 +5662,15 @@ dependencies = [ "hex", "log", "once_cell", + "proptest", + "reqwest", "revm 3.5.0", "rlp", "ruint", "serde", "serde_json", "serde_with", + "sha2", "thiserror", "thiserror-no-std", "tokio",