From d8cb33002bd99ef22567dc01bd731ba06894c325 Mon Sep 17 00:00:00 2001 From: han0110 Date: Fri, 17 Apr 2026 13:52:26 +0000 Subject: [PATCH 01/11] chore: update `network_params.yaml` --- docker/example/mock-zkattestor/network_params.yaml | 7 ------- docker/example/observability/network_params.yaml | 11 +++++++++++ 2 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 docker/example/observability/network_params.yaml diff --git a/docker/example/mock-zkattestor/network_params.yaml b/docker/example/mock-zkattestor/network_params.yaml index c568e00..0ceebef 100644 --- a/docker/example/mock-zkattestor/network_params.yaml +++ b/docker/example/mock-zkattestor/network_params.yaml @@ -2,13 +2,6 @@ participants: - el_type: reth cl_type: lighthouse count: 3 -network_params: - seconds_per_slot: 12 -global_log_level: debug -snooper_enabled: false -additional_services: - - dora - - prometheus_grafana port_publisher: el: enabled: true diff --git a/docker/example/observability/network_params.yaml b/docker/example/observability/network_params.yaml new file mode 100644 index 0000000..0ceebef --- /dev/null +++ b/docker/example/observability/network_params.yaml @@ -0,0 +1,11 @@ +participants: + - el_type: reth + cl_type: lighthouse + count: 3 +port_publisher: + el: + enabled: true + public_port_start: 32000 + cl: + enabled: true + public_port_start: 33000 From 738d119e54ce643869698d74be26bc5f3ccae888 Mon Sep 17 00:00:00 2001 From: han0110 Date: Tue, 21 Apr 2026 04:25:02 +0000 Subject: [PATCH 02/11] feat: update `ere` usage to `v0.8.0` --- crates/server/Cargo.toml | 11 +++-- .../v1/post_execution_proof_verifications.rs | 4 +- crates/server/src/proof/input.rs | 28 +++++------- crates/server/src/proof/zkvm.rs | 45 ++++++++----------- 4 files changed, 37 insertions(+), 51 deletions(-) diff --git a/crates/server/Cargo.toml b/crates/server/Cargo.toml index 2cfd720..3772484 100644 --- a/crates/server/Cargo.toml +++ b/crates/server/Cargo.toml @@ -19,7 +19,7 @@ otel = [ "dep:opentelemetry-otlp", "dep:opentelemetry_sdk", "dep:tracing-opentelemetry", - "ere-server/otel", + "ere-server-client/otel", ] [dependencies] @@ -64,13 +64,12 @@ reth-ethereum-primitives.workspace = true stateless.workspace = true # ere -ere-server.workspace = true -ere-zkvm-interface.workspace = true +ere-server-client.workspace = true # ere-guests -stateless-validator-common.workspace = true -stateless-validator-ethrex.workspace = true -stateless-validator-reth.workspace = true +ere-guests-stateless-validator-common.workspace = true +ere-guests-stateless-validator-ethrex.workspace = true +ere-guests-stateless-validator-reth.workspace = true # local zkboost-types.workspace = true diff --git a/crates/server/src/http/v1/post_execution_proof_verifications.rs b/crates/server/src/http/v1/post_execution_proof_verifications.rs index 5dcb83c..6d70794 100644 --- a/crates/server/src/http/v1/post_execution_proof_verifications.rs +++ b/crates/server/src/http/v1/post_execution_proof_verifications.rs @@ -56,7 +56,7 @@ mod tests { routing::post, }; use tower::ServiceExt; - use zkboost_types::{ElKind, Hash256, ProofStatus, ProofVerificationResponse}; + use zkboost_types::{Hash256, ProofStatus, ProofVerificationResponse}; use crate::{ http::{AppState, tests::mock_app_state, v1::post_execution_proof_verifications}, @@ -142,7 +142,7 @@ mod tests { fn mock_proof(new_payload_request_root: Hash256, mock_proof_size: u64) -> Vec { let mut proof = vec![0; mock_proof_size as usize]; - let public_values = expected_public_values(new_payload_request_root, ElKind::Reth).unwrap(); + let public_values = expected_public_values(new_payload_request_root).unwrap(); proof[..32].copy_from_slice(&public_values); proof } diff --git a/crates/server/src/proof/input.rs b/crates/server/src/proof/input.rs index ec01763..21192c3 100644 --- a/crates/server/src/proof/input.rs +++ b/crates/server/src/proof/input.rs @@ -12,15 +12,12 @@ use alloy_rpc_types_engine::{ ExecutionPayloadV2 as AlloyExecutionPayloadV2, ExecutionPayloadV3 as AlloyExecutionPayloadV3, PraguePayloadFields, }; -use ere_zkvm_interface::Input; -use stateless::ExecutionWitness; -use stateless_validator_ethrex::guest::{ - StatelessValidatorEthrexInput, StatelessValidatorEthrexIo, -}; -use stateless_validator_reth::{ - guest::{Io, StatelessValidatorRethInput, StatelessValidatorRethIo}, - host::StatelessInput, +use ere_guests_stateless_validator_ethrex::guest::StatelessValidatorEthrexInput; +use ere_guests_stateless_validator_reth::{ + guest::StatelessValidatorRethInput, host::StatelessInput, }; +use ere_server_client::{Input, codec::Encode}; +use stateless::ExecutionWitness; use zkboost_types::{ElKind, Hash256, MainnetEthSpec, NewPayloadRequest}; /// Combines a `NewPayloadRequest` with its execution witness and chain config, eagerly computing @@ -79,14 +76,13 @@ impl NewPayloadRequestWithWitness { /// Generates zkVM input for the given EL kind. pub(crate) fn to_zkvm_input(&self, el_kind: ElKind) -> anyhow::Result { - let stdin = match el_kind { - ElKind::Ethrex => StatelessValidatorEthrexIo::serialize_input( - &StatelessValidatorEthrexInput::new(&self.stateless_input, true)?, - )?, - ElKind::Reth => StatelessValidatorRethIo::serialize_input( - &StatelessValidatorRethInput::new(&self.stateless_input, true)?, - )?, - }; + let stdin = + match el_kind { + ElKind::Ethrex => StatelessValidatorEthrexInput::new(&self.stateless_input, true)? + .encode_to_vec()?, + ElKind::Reth => StatelessValidatorRethInput::new(&self.stateless_input, true)? + .encode_to_vec()?, + }; Ok(Input::new().with_prefixed_stdin(stdin)) } } diff --git a/crates/server/src/proof/zkvm.rs b/crates/server/src/proof/zkvm.rs index 0921fdc..9b7c01e 100644 --- a/crates/server/src/proof/zkvm.rs +++ b/crates/server/src/proof/zkvm.rs @@ -4,19 +4,18 @@ use std::{ops::Deref, sync::Arc, time::Duration}; use anyhow::Context; -use ere_server::client::zkVMClient; -use ere_zkvm_interface::{Proof, ProofKind, PublicValues}; +use ere_guests_stateless_validator_common::new_payload_request::NewPayloadRequest; +use ere_guests_stateless_validator_ethrex::guest::{ + StatelessValidatorEthrexGuest, StatelessValidatorEthrexInput, +}; +use ere_guests_stateless_validator_reth::guest::{ + Guest, Platform, StatelessValidatorOutput, StatelessValidatorRethGuest, + StatelessValidatorRethInput, +}; +use ere_server_client::{EncodedProof, PublicValues, codec::Encode, zkVMClient}; use rand::{Rng, rng}; use sha2::{Digest, Sha256}; use stateless::StatelessInput; -use stateless_validator_common::new_payload_request::NewPayloadRequest; -use stateless_validator_ethrex::guest::{ - StatelessValidatorEthrexGuest, StatelessValidatorEthrexInput, StatelessValidatorEthrexIo, -}; -use stateless_validator_reth::guest::{ - Guest, Io, Platform, StatelessValidatorOutput, StatelessValidatorRethGuest, - StatelessValidatorRethInput, StatelessValidatorRethIo, -}; use tokio::time::{Instant, sleep_until}; use tracing::warn; use url::Url; @@ -75,7 +74,7 @@ impl zkVMInstance { .with_context(|| format!("failed to parse endpoint URL: {endpoint}"))?; let client = { #[cfg(feature = "otel")] - let middlewares = vec![Box::new(ere_server::client::OtelPropagation) as Box<_>]; + let middlewares = vec![Box::new(ere_server_client::OtelPropagation) as Box<_>]; #[cfg(not(feature = "otel"))] let middlewares = Vec::new(); @@ -124,11 +123,8 @@ impl zkVMInstance { let input = new_payload_request_with_witness.to_zkvm_input(el_kind)?; match self { Self::Ere { client, .. } => { - let (_, proof, _) = client.prove(input, ProofKind::Compressed).await?; - match proof { - Proof::Compressed(bytes) => Ok(bytes), - _ => anyhow::bail!("unexpected proof kind: {:?}", proof.kind()), - } + let (_, proof, _) = client.prove(input).await?; + Ok(proof.0) } Self::Mock { .. } => unreachable!(), } @@ -142,7 +138,7 @@ impl zkVMInstance { ) -> Result<(), zkVMError> { let public_values = match self { Self::Ere { client, .. } => client - .verify(Proof::Compressed(proof)) + .verify(EncodedProof(proof)) .await .map_err(|error| zkVMError::VerificationFailed(error.to_string())), Self::Mock { vm, .. } => vm @@ -151,8 +147,7 @@ impl zkVMInstance { .map_err(|error| zkVMError::VerificationFailed(error.to_string())), }?; - let el_kind = self.proof_type().el_kind(); - let expected = expected_public_values(new_payload_request_root, el_kind) + let expected = expected_public_values(new_payload_request_root) .map_err(|error| zkVMError::VerificationFailed(error.to_string()))?; // For zkVM with fixed size public values, ensure all padding are zeros. @@ -248,7 +243,7 @@ impl MockzkVM { sleep_until(start + duration).await; if proof.len() == self.mock_proof_size as usize { - Ok(proof[..32].to_vec()) + Ok(proof[..32].into()) } else { anyhow::bail!("invalid proof") } @@ -273,14 +268,14 @@ fn execute(el_kind: ElKind, input: &StatelessInput) -> anyhow::Result<([u8; 32], let input = StatelessValidatorEthrexInput::new(input, true)?; let gas_used = gas_used(&input.new_payload_request); let output = StatelessValidatorEthrexGuest::compute::(input); - let serialized = StatelessValidatorEthrexIo::serialize_output(&output)?; + let serialized = output.encode_to_vec()?; Ok((Sha256::digest(serialized).into(), gas_used)) } ElKind::Reth => { let input = StatelessValidatorRethInput::new(input, true)?; let gas_used = gas_used(&input.new_payload_request); let output = StatelessValidatorRethGuest::compute::(input); - let serialized = StatelessValidatorRethIo::serialize_output(&output)?; + let serialized = output.encode_to_vec()?; Ok((Sha256::digest(serialized).into(), gas_used)) } } @@ -298,12 +293,8 @@ fn gas_used(req: &NewPayloadRequest) -> u64 { /// Computes the expected public values hash for a given payload root and EL kind. pub(crate) fn expected_public_values( new_payload_request_root: Hash256, - el_kind: ElKind, ) -> anyhow::Result<[u8; 32]> { let output = StatelessValidatorOutput::new(new_payload_request_root.0, true); - let serialized = match el_kind { - ElKind::Reth => StatelessValidatorRethIo::serialize_output(&output)?, - ElKind::Ethrex => StatelessValidatorEthrexIo::serialize_output(&output)?, - }; + let serialized = output.encode_to_vec()?; Ok(Sha256::digest(serialized).into()) } From 956360cce4ed0d0d64d4d71e21fefa5569558e55 Mon Sep 17 00:00:00 2001 From: han0110 Date: Tue, 21 Apr 2026 04:25:21 +0000 Subject: [PATCH 03/11] feat: use `ere-server` flag `--elf-url` --- crates/server/src/proof/zkvm.rs | 2 +- docker/example/testnet/docker-compose.yml | 40 +++++++---------------- 2 files changed, 13 insertions(+), 29 deletions(-) diff --git a/crates/server/src/proof/zkvm.rs b/crates/server/src/proof/zkvm.rs index 9b7c01e..79a1510 100644 --- a/crates/server/src/proof/zkvm.rs +++ b/crates/server/src/proof/zkvm.rs @@ -4,9 +4,9 @@ use std::{ops::Deref, sync::Arc, time::Duration}; use anyhow::Context; -use ere_guests_stateless_validator_common::new_payload_request::NewPayloadRequest; use ere_guests_stateless_validator_ethrex::guest::{ StatelessValidatorEthrexGuest, StatelessValidatorEthrexInput, + new_payload_request::NewPayloadRequest, }; use ere_guests_stateless_validator_reth::guest::{ Guest, Platform, StatelessValidatorOutput, StatelessValidatorRethGuest, diff --git a/docker/example/testnet/docker-compose.yml b/docker/example/testnet/docker-compose.yml index 27ea390..b83e777 100644 --- a/docker/example/testnet/docker-compose.yml +++ b/docker/example/testnet/docker-compose.yml @@ -1,29 +1,12 @@ services: - download-programs: - image: alpine:latest - command: - - /bin/sh - - -c - - | - if [ -f /programs/stateless-validator-ethrex-zisk ] && [ -f /programs/stateless-validator-reth-zisk ]; then - echo "Binaries already exist, skipping download." - exit 0 - fi - apk add --no-cache curl minisign bash - bash /scripts/download-ere-guest.sh --tag v0.7.0 --guest stateless-validator-ethrex-zisk --output-dir /programs - bash /scripts/download-ere-guest.sh --tag v0.7.0 --guest stateless-validator-reth-zisk --output-dir /programs - volumes: - - programs:/programs - - ../../../scripts/download-ere-guest.sh:/scripts/download-ere-guest.sh:ro - ethrex-zisk: image: ghcr.io/eth-act/ere/ere-server-zisk:0.7.0-cuda - command: ["--port", "3000", "--program-path", "/programs/stateless-validator-ethrex-zisk", "gpu"] - depends_on: - download-programs: - condition: service_completed_successfully - volumes: - - programs:/programs:ro + command: + - "--port" + - "3000" + - "--elf-url" + - "https://github.com/eth-act/ere-guests/releases/download/v0.8.0/stateless-validator-ethrex-zisk.elf" + - "gpu" shm_size: 32G ulimits: memlock: @@ -48,7 +31,12 @@ services: reth-zisk: extends: ethrex-zisk - command: ["--port", "3000", "--program-path", "/programs/stateless-validator-reth-zisk", "gpu"] + command: + - "--port" + - "3000" + - "--elf-url" + - "https://github.com/eth-act/ere-guests/releases/download/v0.8.0/stateless-validator-ethrex-zisk.elf" + - "gpu" deploy: resources: reservations: @@ -83,10 +71,6 @@ services: start_period: 1s start_interval: 1s -volumes: - programs: - name: programs-v0.7.0 - networks: zkboost: name: zkboost-local-testnet From 649ba95b75520e9cb049c671b191e5849ae01b5f Mon Sep 17 00:00:00 2001 From: han0110 Date: Wed, 22 Apr 2026 06:53:29 +0000 Subject: [PATCH 04/11] refactor: metrics and server --- Cargo.toml | 2 +- crates/server/Cargo.toml | 5 ++--- crates/server/src/http.rs | 17 +++++++++++------ crates/server/src/metrics.rs | 35 +++++++++++++++++++++++------------ 4 files changed, 37 insertions(+), 22 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0fe6115..95ec201 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,7 +60,7 @@ opentelemetry_sdk = "0.31" tracing = "0.1" tracing-opentelemetry = "0.32" tracing-subscriber = "0.3" -url = "2.5.7" +url = { version = "2.5.7", features = ["serde"] } # lighthouse ethereum_serde_utils = "0.8.0" diff --git a/crates/server/Cargo.toml b/crates/server/Cargo.toml index 3772484..f7c00e5 100644 --- a/crates/server/Cargo.toml +++ b/crates/server/Cargo.toml @@ -43,7 +43,8 @@ tokio = { workspace = true, features = ["full"] } tokio-stream = { workspace = true, features = ["sync"] } tokio-util.workspace = true toml_edit = { workspace = true, features = ["serde"] } -tower-http = { workspace = true, features = ["trace", "limit"] } +tower.workspace = true +tower-http = { workspace = true, features = ["catch-panic", "trace", "limit"] } opentelemetry = { workspace = true, optional = true } opentelemetry-otlp = { workspace = true, features = ["grpc-tonic"], optional = true } opentelemetry_sdk = { workspace = true, features = ["rt-tokio"], optional = true } @@ -67,7 +68,6 @@ stateless.workspace = true ere-server-client.workspace = true # ere-guests -ere-guests-stateless-validator-common.workspace = true ere-guests-stateless-validator-ethrex.workspace = true ere-guests-stateless-validator-reth.workspace = true @@ -76,7 +76,6 @@ zkboost-types.workspace = true [dev-dependencies] futures.workspace = true -tower = { workspace = true, features = ["util"] } # local zkboost-client.workspace = true diff --git a/crates/server/src/http.rs b/crates/server/src/http.rs index 1b62ed4..026c7d8 100644 --- a/crates/server/src/http.rs +++ b/crates/server/src/http.rs @@ -14,7 +14,8 @@ use bytes::Bytes; use lru::LruCache; use metrics_exporter_prometheus::PrometheusHandle; use tokio::sync::{RwLock, broadcast, mpsc}; -use tower_http::trace::TraceLayer; +use tower::ServiceBuilder; +use tower_http::{catch_panic::CatchPanicLayer, trace::TraceLayer}; use zkboost_types::{Hash256, ProofEvent, ProofType}; use crate::{ @@ -63,6 +64,12 @@ impl AppState { /// Builds the Axum router with all endpoints and middleware. pub(crate) fn router(state: Arc) -> Router { + let api_middleware = ServiceBuilder::new() + .layer(middleware::from_fn(http_metrics_middleware)) + .layer(TraceLayer::new_for_http()) + .layer(CatchPanicLayer::new()) + .layer(DefaultBodyLimit::max(1 << 30)); + let api = Router::new() .route( "/v1/execution_proof_requests", @@ -77,14 +84,12 @@ pub(crate) fn router(state: Arc) -> Router { post(v1::post_execution_proof_verifications), ) .fallback(fallback_handler) - .with_state(state.clone()) - .layer(middleware::from_fn(http_metrics_middleware)) - .layer(TraceLayer::new_for_http()) - .layer(DefaultBodyLimit::max(1 << 30)); + .layer(api_middleware); let mut infra = Router::new() .route("/health", get(StatusCode::OK)) .route("/metrics", get(get_metrics)); + if state.dashboard.is_some() { infra = infra .route("/dashboard", get(dashboard::get_dashboard)) @@ -92,7 +97,7 @@ pub(crate) fn router(state: Arc) -> Router { .route("/dashboard/events", get(dashboard::get_dashboard_events)); } - api.merge(infra.with_state(state)) + api.merge(infra).with_state(state) } async fn fallback_handler() -> v1::ErrorResponse { diff --git a/crates/server/src/metrics.rs b/crates/server/src/metrics.rs index 4882653..a5c2561 100644 --- a/crates/server/src/metrics.rs +++ b/crates/server/src/metrics.rs @@ -83,16 +83,10 @@ pub fn spawn_upkeep(handle: PrometheusHandle) { }); } -/// Record an HTTP request start (increment in-flight gauge). -fn record_request_start(endpoint: &str) { - gauge!(HTTP_REQUESTS_IN_FLIGHT, "endpoint" => endpoint.to_owned()).increment(1.0); -} - /// Record an HTTP request completion with status and duration. -fn record_request_end(endpoint: &str, method: &str, status: u16, duration: Duration) { +fn record_http_request(endpoint: &str, method: &str, status: u16, duration: Duration) { let endpoint = endpoint.to_owned(); let method = method.to_owned(); - gauge!(HTTP_REQUESTS_IN_FLIGHT, "endpoint" => endpoint.clone()).decrement(1.0); counter!( HTTP_REQUESTS_TOTAL, "endpoint" => endpoint.clone(), @@ -174,20 +168,37 @@ pub fn set_build_info(version: &str) { /// Uses `MatchedPath` (the route template) rather than the raw URI to avoid /// unbounded metric cardinality from path parameters. pub(crate) async fn http_metrics_middleware(request: Request, next: Next) -> Response { - let start = Instant::now(); + struct InFlightGuard { + endpoint: String, + } + + impl InFlightGuard { + fn new(endpoint: String) -> Self { + gauge!(HTTP_REQUESTS_IN_FLIGHT, "endpoint" => endpoint.clone()).increment(1.0); + Self { endpoint } + } + } + + impl Drop for InFlightGuard { + fn drop(&mut self) { + let endpoint = std::mem::take(&mut self.endpoint); + gauge!(HTTP_REQUESTS_IN_FLIGHT, "endpoint" => endpoint).decrement(1.0); + } + } + let method = request.method().to_string(); let path = request .extensions() .get::() .map(|mp| mp.as_str().to_owned()) .unwrap_or_else(|| "unmatched".to_owned()); + let _guard = InFlightGuard::new(path.clone()); - record_request_start(&path); - + let start = Instant::now(); let response = next.run(request).await; + let elapsed = start.elapsed(); - let status = response.status().as_u16(); - record_request_end(&path, &method, status, start.elapsed()); + record_http_request(&path, &method, response.status().as_u16(), elapsed); response } From 367ae6b2ed92509c4d0c564214db4646096d2a1b Mon Sep 17 00:00:00 2001 From: han0110 Date: Wed, 22 Apr 2026 14:40:14 +0000 Subject: [PATCH 05/11] feat: add gas used vs proving time chart and add spamoor service in mock zkattestor example --- crates/server/src/http/dashboard/index.html | 460 ++++++++++++------ .../mock-zkattestor/network_params.yaml | 10 + 2 files changed, 322 insertions(+), 148 deletions(-) diff --git a/crates/server/src/http/dashboard/index.html b/crates/server/src/http/dashboard/index.html index 9dbdf89..d877b64 100644 --- a/crates/server/src/http/dashboard/index.html +++ b/crates/server/src/http/dashboard/index.html @@ -421,6 +421,31 @@ } } + .section-title-collapsible { + cursor: pointer; + user-select: none; + + &:hover { + color: var(--text-1); + } + + .panel-toggle-arrow { + display: inline-block; + margin-right: 6px; + font-size: 0.7rem; + transform: rotate(90deg); + transition: transform 0.15s ease; + } + + &.collapsed .panel-toggle-arrow { + transform: rotate(0deg); + } + } + + .panel-body-collapsed { + display: none; + } + .cell-left { text-align: left; } @@ -773,6 +798,35 @@ return { datasets, maxCount }; }; + const buildScatterData = (blocks, types) => { + const pointsByType = Object.fromEntries(types.map((proofType) => [proofType, []])); + let maxGasM = 0; + let maxSecs = 0; + for (const block of blocks) { + if (block.gasUsed == null) continue; + const gasM = block.gasUsed / 1e6; + for (const [proofType, proof] of Object.entries(block.proofs)) { + if (proof.result !== 'success') continue; + const secs = provingSecs(proof); + if (secs == null) continue; + if (!pointsByType[proofType]) continue; + pointsByType[proofType].push({ x: gasM, y: secs }); + if (gasM > maxGasM) maxGasM = gasM; + if (secs > maxSecs) maxSecs = secs; + } + } + const datasets = types.map((proofType) => ({ + label: proofType, + data: pointsByType[proofType], + backgroundColor: proofTypeColor(proofType), + borderColor: proofTypeColor(proofType), + showLine: false, + pointRadius: 3, + pointHoverRadius: 5, + })); + return { datasets, maxGasM, maxSecs }; + }; + // Signals const connected = signal(false); @@ -784,6 +838,17 @@ const historicalBlocks = signal([]); const latestEvents = signal({ fetchWitness: null, proving: {} }); + const PANEL_COLLAPSE_STORAGE_KEY = 'zkboost-dashboard-panels-v1'; + const loadPanelCollapseState = () => { + try { + const raw = localStorage.getItem(PANEL_COLLAPSE_STORAGE_KEY); + return raw ? JSON.parse(raw) : {}; + } catch { + return {}; + } + }; + const panelCollapseState = signal(loadPanelCollapseState()); + const elapsedTick = signal(0); setInterval(() => { elapsedTick.value++; @@ -1048,6 +1113,18 @@ chart.update(); }; + const usePanelCollapse = (panelId) => { + const collapsed = !!panelCollapseState.value[panelId]; + const toggle = useCallback(() => { + const next = { ...panelCollapseState.value, [panelId]: !panelCollapseState.value[panelId] }; + panelCollapseState.value = next; + try { + localStorage.setItem(PANEL_COLLAPSE_STORAGE_KEY, JSON.stringify(next)); + } catch {} + }, [panelId]); + return { collapsed, toggle }; + }; + // Components const CopyIcon = () => @@ -1222,86 +1299,96 @@ }; const LatestEvents = () => { + const { collapsed, toggle } = usePanelCollapse('latestEvents'); return html`
-
Latest Events
-
- - - - - - - - - - - - - - <${WitnessEventRow} block=${latestEventsData.value.fetchWitness} /> - ${proofTypes.value.map( - (proofType) => - html`<${ProvingEventRow} - key=${proofType} - proofType=${proofType} - block=${latestEventsData.value.proving[proofType] ?? null} />`, - )} - -
EventBlockRequestedStartedEndedDurationNote
+
+ ${'▶'}Latest Events +
+
+
+ + + + + + + + + + + + + + <${WitnessEventRow} block=${latestEventsData.value.fetchWitness} /> + ${proofTypes.value.map( + (proofType) => + html`<${ProvingEventRow} + key=${proofType} + proofType=${proofType} + block=${latestEventsData.value.proving[proofType] ?? null} />`, + )} + +
EventBlockRequestedStartedEndedDurationNote
+
`; }; const ProvingSummary = () => { + const { collapsed, toggle } = usePanelCollapse('provingSummary'); return html`
-
- Proving Summary${' '} +
+ ${'▶'}Proving Summary${' '} (Last ${retention} Blocks)
-
- - - - - - - - - - - - - - - - - - - - - - ${provingStats.value.map( - (stat) => html` - - - <${CountCell} value=${stat.success} status="success" /> - <${CountCell} value=${stat.timeout} status="timeout" /> - <${CountCell} value=${stat.error} status="error" /> - <${Gap} /> - <${MonoCell} right> ${formatDuration(stat.p50)} - <${MonoCell} right> ${formatDuration(stat.p95)} - <${MonoCell} right> ${formatDuration(stat.p99)} - <${MonoCell} right> ${formatBytes(stat.avgSize)} - - - `, - )} - -
TypeProofsProving TimeProof Size
Avg
SuccessTimeoutErrorP50P95P99
- <${ProofTypeBadge} type=${stat.proofType} /> -
+
+
+ + + + + + + + + + + + + + + + + + + + + + ${provingStats.value.map( + (stat) => html` + + + <${CountCell} value=${stat.success} status="success" /> + <${CountCell} value=${stat.timeout} status="timeout" /> + <${CountCell} value=${stat.error} status="error" /> + <${Gap} /> + <${MonoCell} right> ${formatDuration(stat.p50)} + <${MonoCell} right> ${formatDuration(stat.p95)} + <${MonoCell} right> ${formatDuration(stat.p99)} + <${MonoCell} right> ${formatBytes(stat.avgSize)} + + + `, + )} + +
TypeProofsProving TimeProof Size
Avg
SuccessTimeoutErrorP50P95P99
+ <${ProofTypeBadge} type=${stat.proofType} /> +
+
+ ${!provingStats.value.length && html`
No proving data yet.
`}
- ${!provingStats.value.length && html`
No proving data yet.
`}
`; }; @@ -1326,6 +1413,7 @@ const ProvingTimeChart = () => { const [blockCount, setBlockCount] = useState(128); + const { collapsed, toggle } = usePanelCollapse('provingTime'); const { canvasRef, chartRef, legend } = useChart((bindingContext) => { const chartOptions = baseChartOptions('BLOCK NUMBER', 'TIME (s)', { title: (items) => (items.length ? `Block ${items[0].label}` : ''), @@ -1387,6 +1475,10 @@ applyDatasetsToChart(chart, datasets, legend.states); }, [historicalBlocks.value, proofTypes.value, blockCount, legend.states]); + useEffect(() => { + if (!collapsed) chartRef.current?.resize(); + }, [collapsed]); + const legendItems = useMemo( () => [ ...proofTypes.value.map((proofType) => ({ label: proofType, color: proofTypeColor(proofType) })), @@ -1396,9 +1488,11 @@ ); return html`
-
- Proving Time - + ${'▶'}Proving Time + e.stopPropagation()} >Last${' '}${[32, 64, 128, 256].map( (size) => html`
- <${ChartLegend} items=${legendItems} states=${legend.states} onToggle=${legend.toggle} showLine /> -
+
+ <${ChartLegend} items=${legendItems} states=${legend.states} onToggle=${legend.toggle} showLine /> +
+
+
`; + }; + + const GasVsProvingTimeChart = () => { + const { collapsed, toggle } = usePanelCollapse('gasVsProvingTime'); + const { canvasRef, chartRef, legend } = useChart((bindingContext) => { + const chartOptions = baseChartOptions('GAS USED (M)', 'TIME (s)', { + title: (items) => (items.length ? items[0].dataset.label : ''), + label: (context) => + `${context.dataset.label}: gas ${context.parsed.x.toFixed(2)}M, time ${context.parsed.y.toFixed(3)}s`, + }); + chartOptions.interaction = { mode: 'nearest', intersect: true }; + chartOptions.plugins.tooltip.mode = 'nearest'; + chartOptions.plugins.tooltip.intersect = true; + chartOptions.scales.x.type = 'linear'; + chartOptions.scales.x.min = 0; + chartOptions.scales.x.max = 60; + chartOptions.scales.x.ticks.stepSize = 5; + chartOptions.scales.y.min = 0; + chartOptions.scales.y.max = 12; + chartOptions.scales.y.ticks.stepSize = 2; + return new Chart(bindingContext, { + type: 'scatter', + data: { datasets: [] }, + options: chartOptions, + }); + }); + + useEffect(() => { + const chart = chartRef.current; + if (!chart) return; + const { datasets, maxGasM, maxSecs } = buildScatterData(historicalBlocks.value, proofTypes.value); + chart.options.scales.x.max = Math.max(60, Math.ceil(maxGasM / 5) * 5); + chart.options.scales.y.max = Math.max(12, Math.ceil(maxSecs)); + applyDatasetsToChart(chart, datasets, legend.states); + }, [historicalBlocks.value, proofTypes.value, legend.states]); + + useEffect(() => { + if (!collapsed) chartRef.current?.resize(); + }, [collapsed]); + + const legendItems = useMemo( + () => proofTypes.value.map((proofType) => ({ label: proofType, color: proofTypeColor(proofType) })), + [proofTypes.value], + ); + + return html`
+
+ ${'▶'}Gas Used vs Proving Time${' '} + (Last ${retention} Blocks) +
+
+ <${ChartLegend} items=${legendItems} states=${legend.states} onToggle=${legend.toggle} /> +
+
`; }; const ProvingTimeDistribution = () => { + const { collapsed, toggle } = usePanelCollapse('provingTimeDistribution'); const { canvasRef, chartRef, legend } = useChart((bindingContext) => { const bucketLabels = Array.from({ length: HISTOGRAM_BUCKETS }, (_, index) => ((index + 1) * HISTOGRAM_BUCKET_SIZE).toFixed(1), @@ -1447,6 +1599,10 @@ applyDatasetsToChart(chart, datasets, legend.states); }, [historicalBlocks.value, proofTypes.value, legend.states]); + useEffect(() => { + if (!collapsed) chartRef.current?.resize(); + }, [collapsed]); + const legendItems = useMemo( () => proofTypes.value.map((proofType) => ({ @@ -1457,12 +1613,14 @@ ); return html`
-
- Proving Time Distribution${' '} +
+ ${'▶'}Proving Time Distribution${' '} (Last ${retention} Blocks)
- <${ChartLegend} items=${legendItems} states=${legend.states} onToggle=${legend.toggle} squareDots /> -
+
+ <${ChartLegend} items=${legendItems} states=${legend.states} onToggle=${legend.toggle} squareDots /> +
+
`; }; @@ -1546,6 +1704,7 @@ error: true, }); const [expanded, setExpanded] = useState({}); + const { collapsed, toggle } = usePanelCollapse('provingHistory'); const allFiltersActive = filters.success && filters.timeout && filters.error; const filteredHistoricalBlocks = useMemo( @@ -1594,12 +1753,14 @@ ); return html`
-
+
- Proving History${' '} + ${'▶'}Proving History${' '} (Last ${retention} Blocks) - + e.stopPropagation()}> ${['all', 'success', 'timeout', 'error'].map( (filterName) => html`
- ${total === 0 - ? html`
No proof history yet.
` - : html` -
- - - - - - - - - - - - - - - - - - - - - - - - ${pagedBlocks.map( - (block) => html` - <${ProvingHistoryRow} - key=${block.blockHash} - blockHash=${block.blockHash} - entries=${block.entries} - block=${block} - expanded=${!!expanded[block.blockHash]} - onToggle=${() => - setExpanded((prev) => ({ - ...prev, - [block.blockHash]: !prev[block.blockHash], - }))} /> - `, - )} - -
BlockGas UsedWitnessProofs
StartedEndedDurationSizeSuccessTimeoutError
-
- ${total > HISTORY_PAGE_SIZE && - html` -
- - Page ${currentPage + 1} of ${lastPage + 1} (${total} blocks) -
- - -
+
+ ${total === 0 + ? html`
No proof history yet.
` + : html` +
+ + + + + + + + + + + + + + + + + + + + + + + + ${pagedBlocks.map( + (block) => html` + <${ProvingHistoryRow} + key=${block.blockHash} + blockHash=${block.blockHash} + entries=${block.entries} + block=${block} + expanded=${!!expanded[block.blockHash]} + onToggle=${() => + setExpanded((prev) => ({ + ...prev, + [block.blockHash]: !prev[block.blockHash], + }))} /> + `, + )} + +
BlockGas UsedWitnessProofs
StartedEndedDurationSizeSuccessTimeoutError
+ ${total > HISTORY_PAGE_SIZE && + html` +
+ + Page ${currentPage + 1} of ${lastPage + 1} (${total} blocks) +
+ + +
+
+ `} `} - `} +
`; }; @@ -1744,6 +1907,7 @@ <${LatestEvents} /> <${ProvingSummary} /> <${ProvingTimeChart} /> + <${GasVsProvingTimeChart} /> <${ProvingTimeDistribution} /> <${ProvingHistory} />
`; diff --git a/docker/example/mock-zkattestor/network_params.yaml b/docker/example/mock-zkattestor/network_params.yaml index 0ceebef..1ac1680 100644 --- a/docker/example/mock-zkattestor/network_params.yaml +++ b/docker/example/mock-zkattestor/network_params.yaml @@ -9,3 +9,13 @@ port_publisher: cl: enabled: true public_port_start: 33000 +additional_services: + - spamoor +spamoor_params: + spammers: + - scenario: eoatx + config: + throughput: 200 + - scenario: erctx + config: + throughput: 200 From 45a56853d63c7753ae95b06ec1d96762dafe71b7 Mon Sep 17 00:00:00 2001 From: han0110 Date: Wed, 22 Apr 2026 06:54:24 +0000 Subject: [PATCH 06/11] feat: bump `ere` and `ere-guests` --- Cargo.lock | 1155 +++++++++++----------------------------------------- Cargo.toml | 8 +- 2 files changed, 233 insertions(+), 930 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ee144aa..12dc5dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,17 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "addchain" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e33f6a175ec6a9e0aca777567f9ff7c3deefc255660df887e7fa3585e9801d8" -dependencies = [ - "num-bigint 0.3.3", - "num-integer", - "num-traits", -] - [[package]] name = "aead" version = "0.5.2" @@ -29,7 +18,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "cipher", "cpufeatures", ] @@ -54,7 +43,7 @@ version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "once_cell", "version_check", "zerocopy", @@ -283,7 +272,7 @@ checksum = "de3b431b4e72cd8bd0ec7a50b4be18e73dab74de0dba180eef171055e5d5926e" dependencies = [ "alloy-rlp", "bytes", - "cfg-if 1.0.4", + "cfg-if", "const-hex", "derive_more 2.1.1", "foldhash 0.2.0", @@ -369,7 +358,7 @@ dependencies = [ "alloy-rlp", "alloy-serde", "alloy-sol-types", - "itertools 0.13.0", + "itertools 0.14.0", "serde", "serde_json", "serde_with", @@ -613,7 +602,7 @@ dependencies = [ "fnv", "hashbrown 0.15.5", "itertools 0.13.0", - "num-bigint 0.4.6", + "num-bigint", "num-integer", "num-traits", "zeroize", @@ -630,7 +619,7 @@ dependencies = [ "ark-serialize 0.3.0", "ark-std 0.3.0", "derivative", - "num-bigint 0.4.6", + "num-bigint", "num-traits", "paste", "rustc_version 0.3.3", @@ -650,7 +639,7 @@ dependencies = [ "derivative", "digest 0.10.7", "itertools 0.10.5", - "num-bigint 0.4.6", + "num-bigint", "num-traits", "paste", "rustc_version 0.4.1", @@ -671,7 +660,7 @@ dependencies = [ "digest 0.10.7", "educe", "itertools 0.13.0", - "num-bigint 0.4.6", + "num-bigint", "num-traits", "paste", "zeroize", @@ -713,7 +702,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ - "num-bigint 0.4.6", + "num-bigint", "num-traits", "quote", "syn 1.0.109", @@ -725,7 +714,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ - "num-bigint 0.4.6", + "num-bigint", "num-traits", "proc-macro2", "quote", @@ -738,7 +727,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" dependencies = [ - "num-bigint 0.4.6", + "num-bigint", "num-traits", "proc-macro2", "quote", @@ -778,7 +767,7 @@ checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ "ark-std 0.4.0", "digest 0.10.7", - "num-bigint 0.4.6", + "num-bigint", ] [[package]] @@ -791,7 +780,7 @@ dependencies = [ "ark-std 0.5.0", "arrayvec", "digest 0.10.7", - "num-bigint 0.4.6", + "num-bigint", ] [[package]] @@ -1134,46 +1123,21 @@ dependencies = [ ] [[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "blake2b_simd" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "1.8.3" +name = "block-buffer" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if 1.0.4", - "constant_time_eq", - "cpufeatures", + "generic-array", ] [[package]] -name = "block-buffer" -version = "0.10.4" +name = "block2" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" dependencies = [ - "generic-array", + "objc2", ] [[package]] @@ -1195,28 +1159,15 @@ dependencies = [ "zeroize", ] -[[package]] -name = "bls12_381" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3c196a77437e7cc2fb515ce413a6401291578b5afc8ecb29a3c7ab957f05941" -dependencies = [ - "ff 0.12.1", - "group 0.12.1", - "pairing 0.22.0", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "bls12_381" version = "0.8.0" source = "git+https://github.com/lambdaclass/bls12_381?branch=expose-affine-constructors#78cad0378b17fc3157b83f514be192bf46edf9a1" dependencies = [ "digest 0.10.7", - "ff 0.13.1", - "group 0.13.0", - "pairing 0.23.0", + "ff", + "group", + "pairing", "rand_core 0.6.4", "subtle", ] @@ -1241,9 +1192,9 @@ checksum = "7a8a8ed6fefbeef4a8c7b460e4110e12c5e22a5b7cf32621aae6ad650c4dcf29" dependencies = [ "blst", "byte-slice-cast", - "ff 0.13.1", - "group 0.13.0", - "pairing 0.23.0", + "ff", + "group", + "pairing", "rand_core 0.6.4", "serde", "subtle", @@ -1354,12 +1305,6 @@ dependencies = [ "serde", ] -[[package]] -name = "camino" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" - [[package]] name = "cc" version = "1.2.56" @@ -1372,12 +1317,6 @@ dependencies = [ "shlex", ] -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - [[package]] name = "cfg-if" version = "1.0.4" @@ -1502,7 +1441,7 @@ version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "531185e432bb31db1ecda541e9e7ab21468d4d844ad7505e0546a49b4945d49b" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "cpufeatures", "proptest", "serde_core", @@ -1534,12 +1473,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "constant_time_eq" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" - [[package]] name = "context_deserialize" version = "0.2.1" @@ -1634,7 +1567,7 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", ] [[package]] @@ -1643,41 +1576,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" -[[package]] -name = "crossbeam" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69323bff1fb41c635347b8ead484a5ca6c3f11914d784170b158d8449ab07f8e" -dependencies = [ - "cfg-if 0.1.10", - "crossbeam-channel 0.4.4", - "crossbeam-deque 0.7.4", - "crossbeam-epoch 0.8.2", - "crossbeam-queue 0.2.3", - "crossbeam-utils 0.7.2", -] - [[package]] name = "crossbeam" version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" dependencies = [ - "crossbeam-channel 0.5.15", - "crossbeam-deque 0.8.6", - "crossbeam-epoch 0.9.18", - "crossbeam-queue 0.3.12", - "crossbeam-utils 0.8.21", -] - -[[package]] -name = "crossbeam-channel" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" -dependencies = [ - "crossbeam-utils 0.7.2", - "maybe-uninit", + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", ] [[package]] @@ -1686,18 +1595,7 @@ version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ - "crossbeam-utils 0.8.21", -] - -[[package]] -name = "crossbeam-deque" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed" -dependencies = [ - "crossbeam-epoch 0.8.2", - "crossbeam-utils 0.7.2", - "maybe-uninit", + "crossbeam-utils", ] [[package]] @@ -1706,23 +1604,8 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ - "crossbeam-epoch 0.9.18", - "crossbeam-utils 0.8.21", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", - "lazy_static", - "maybe-uninit", - "memoffset", - "scopeguard", + "crossbeam-epoch", + "crossbeam-utils", ] [[package]] @@ -1731,18 +1614,7 @@ version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "crossbeam-utils 0.8.21", -] - -[[package]] -name = "crossbeam-queue" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" -dependencies = [ - "cfg-if 0.1.10", - "crossbeam-utils 0.7.2", - "maybe-uninit", + "crossbeam-utils", ] [[package]] @@ -1751,18 +1623,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ - "crossbeam-utils 0.8.21", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "lazy_static", + "crossbeam-utils", ] [[package]] @@ -1815,6 +1676,17 @@ dependencies = [ "cipher", ] +[[package]] +name = "ctrlc" +version = "3.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" +dependencies = [ + "dispatch2", + "nix", + "windows-sys 0.61.2", +] + [[package]] name = "darling" version = "0.21.3" @@ -1891,8 +1763,8 @@ version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ - "cfg-if 1.0.4", - "crossbeam-utils 0.8.21", + "cfg-if", + "crossbeam-utils", "hashbrown 0.14.5", "lock_api", "once_cell", @@ -1906,18 +1778,6 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" -[[package]] -name = "datatest-stable" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833306ca7eec4d95844e65f0d7502db43888c5c1006c6c517e8cf51a27d15431" -dependencies = [ - "camino", - "fancy-regex", - "libtest-mimic", - "walkdir", -] - [[package]] name = "der" version = "0.7.10" @@ -1925,7 +1785,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", - "pem-rfc7468", "zeroize", ] @@ -2033,6 +1892,18 @@ dependencies = [ "subtle", ] +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags", + "block2", + "libc", + "objc2", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -2119,9 +1990,9 @@ checksum = "05c599a59deba6188afd9f783507e4d89efc997f0fa340a758f0d0992b322416" dependencies = [ "blst", "blstrs", - "ff 0.13.1", - "group 0.13.0", - "pairing 0.23.0", + "ff", + "group", + "pairing", "subtle", ] @@ -2197,12 +2068,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "elf" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4445909572dbd556c457c849c4ca58623d84b27c8fff1e74b0b4227d8b90d17b" - [[package]] name = "elliptic-curve" version = "0.13.8" @@ -2212,10 +2077,9 @@ dependencies = [ "base16ct", "crypto-bigint", "digest 0.10.7", - "ff 0.13.1", + "ff", "generic-array", - "group 0.13.0", - "pem-rfc7468", + "group", "pkcs8", "rand_core 0.6.4", "sec1", @@ -2230,7 +2094,7 @@ version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", ] [[package]] @@ -2269,68 +2133,64 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] -name = "ere-io" -version = "0.6.0" -source = "git+https://github.com/eth-act/ere?tag=v0.6.0#12d266ed44845bf092798fc70c08e69294ef8e7d" +name = "ere-codec" +version = "0.8.0" +source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" + +[[package]] +name = "ere-platform-core" +version = "0.8.0" +source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" + +[[package]] +name = "ere-prover-core" +version = "0.8.0" +source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" dependencies = [ + "anyhow", + "auto_impl", "bincode 2.0.1", - "rkyv", + "ere-codec", + "ere-verifier-core", + "indexmap 2.13.0", "serde", + "strum", + "thiserror 2.0.18", ] [[package]] -name = "ere-platform-trait" -version = "0.6.0" -source = "git+https://github.com/eth-act/ere?tag=v0.6.0#12d266ed44845bf092798fc70c08e69294ef8e7d" +name = "ere-server-api" +version = "0.8.0" +source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" dependencies = [ - "digest 0.10.7", + "prost", + "serde", + "twirp", ] [[package]] -name = "ere-server" -version = "0.7.0" -source = "git+https://github.com/eth-act/ere?tag=v0.7.0#f9d1a6cc7c08ce01b7107f7efe7051d2af1bacfd" +name = "ere-server-client" +version = "0.8.0" +source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" dependencies = [ - "anyhow", "bincode 2.0.1", - "ere-zkvm-interface 0.7.0", + "ere-prover-core", + "ere-server-api", "opentelemetry", - "prost", - "serde", "thiserror 2.0.18", - "tokio", "tracing", "tracing-opentelemetry", "twirp", ] [[package]] -name = "ere-zkvm-interface" -version = "0.6.0" -source = "git+https://github.com/eth-act/ere?tag=v0.6.0#12d266ed44845bf092798fc70c08e69294ef8e7d" -dependencies = [ - "anyhow", - "auto_impl", - "bincode 2.0.1", - "indexmap 2.13.0", - "serde", - "strum", - "thiserror 2.0.18", -] - -[[package]] -name = "ere-zkvm-interface" -version = "0.7.0" -source = "git+https://github.com/eth-act/ere?tag=v0.7.0#f9d1a6cc7c08ce01b7107f7efe7051d2af1bacfd" +name = "ere-verifier-core" +version = "0.8.0" +source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" dependencies = [ - "anyhow", "auto_impl", - "bincode 2.0.1", - "clap", - "indexmap 2.13.0", + "ere-codec", "serde", - "strum", - "thiserror 2.0.18", ] [[package]] @@ -2340,15 +2200,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] -[[package]] -name = "escape8259" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5692dd7b5a1978a5aeb0ce83b7655c58ca8efdcb79d21036ea249da95afec2c6" - [[package]] name = "eth2_interop_keypairs" version = "0.2.0" @@ -2357,7 +2211,7 @@ dependencies = [ "bls", "ethereum_hashing", "hex", - "num-bigint 0.4.6", + "num-bigint", "serde", "serde_yaml", ] @@ -2444,10 +2298,10 @@ dependencies = [ [[package]] name = "ethrex-blockchain" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "bytes", - "crossbeam 0.8.4", + "crossbeam", "ethrex-common", "ethrex-crypto", "ethrex-metrics", @@ -2455,7 +2309,6 @@ dependencies = [ "ethrex-storage", "ethrex-trie", "ethrex-vm", - "hex", "rustc-hash", "thiserror 2.0.18", "tokio", @@ -2466,7 +2319,7 @@ dependencies = [ [[package]] name = "ethrex-common" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "bytes", "crc32fast", @@ -2478,10 +2331,9 @@ dependencies = [ "hex-literal", "hex-simd", "indexmap 2.13.0", - "k256", - "kzg-rs", "lazy_static", "libc", + "lru 0.16.3", "once_cell", "rayon", "rkyv", @@ -2489,27 +2341,26 @@ dependencies = [ "serde", "serde_json", "sha2", - "sha3", "thiserror 2.0.18", - "tinyvec", "tracing", - "url", ] [[package]] name = "ethrex-crypto" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "ark-bn254", "ark-ec", "ark-ff 0.5.0", - "bls12_381 0.8.0", + "bls12_381", "c-kzg", "ethereum-types", - "ff 0.13.1", + "ff", "hex-literal", + "k256", "malachite", + "num-bigint", "p256", "ripemd", "secp256k1", @@ -2521,7 +2372,7 @@ dependencies = [ [[package]] name = "ethrex-guest-program" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "bytes", "ethereum-types", @@ -2540,22 +2391,17 @@ dependencies = [ [[package]] name = "ethrex-l2-common" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "bytes", "ethereum-types", "ethrex-common", "ethrex-crypto", - "ethrex-rlp", - "ethrex-trie", - "ethrex-vm", - "hex", "k256", "lambdaworks-crypto", "rkyv", "serde", "serde_with", - "sha3", "thiserror 2.0.18", "tracing", ] @@ -2563,31 +2409,25 @@ dependencies = [ [[package]] name = "ethrex-levm" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ - "bitvec", "bytes", - "datatest-stable", "derive_more 1.0.0", "ethrex-common", "ethrex-crypto", "ethrex-rlp", - "lazy_static", "malachite", "rayon", "rustc-hash", "serde", - "serde_json", - "sha3", "strum", "thiserror 2.0.18", - "walkdir", ] [[package]] name = "ethrex-metrics" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "axum", "ethrex-common", @@ -2603,14 +2443,13 @@ dependencies = [ [[package]] name = "ethrex-p2p" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "aes", "aes-gcm", - "async-trait", "bytes", "concat-kdf", - "crossbeam 0.8.4", + "crossbeam", "ctr", "ethereum-types", "ethrex-blockchain", @@ -2625,13 +2464,13 @@ dependencies = [ "hmac", "indexmap 2.13.0", "lazy_static", + "lru 0.16.3", "prometheus", "rand 0.8.5", "rayon", "rustc-hash", "secp256k1", "serde", - "serde_json", "sha2", "snap", "spawned-concurrency", @@ -2646,21 +2485,17 @@ dependencies = [ [[package]] name = "ethrex-rlp" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "bytes", "ethereum-types", - "hex", - "lazy_static", - "snap", "thiserror 2.0.18", - "tinyvec", ] [[package]] name = "ethrex-rpc" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "axum", "axum-extra", @@ -2699,18 +2534,15 @@ dependencies = [ [[package]] name = "ethrex-storage" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "anyhow", - "async-trait", "bytes", - "ethereum-types", "ethrex-common", "ethrex-crypto", "ethrex-rlp", "ethrex-trie", "fastbloom", - "hex", "lru 0.16.3", "rayon", "rustc-hash", @@ -2724,45 +2556,35 @@ dependencies = [ [[package]] name = "ethrex-trie" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ "anyhow", "bytes", - "crossbeam 0.8.4", - "digest 0.10.7", + "crossbeam", "ethereum-types", "ethrex-crypto", "ethrex-rlp", - "hex", "lazy_static", "rayon", "rkyv", "rustc-hash", "serde", - "serde_json", - "smallvec", "thiserror 2.0.18", - "tracing", ] [[package]] name = "ethrex-vm" version = "9.0.0" -source = "git+https://github.com/han0110/ethrex.git?rev=b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192#b9d3ef6924633ade5cc5e8f41b83f8ff7b3ec192" +source = "git+https://github.com/lambdaclass/ethrex.git?rev=6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e#6ba9d9a458e812ff3afd80eaf89cddd97d3fb67e" dependencies = [ - "bincode 1.3.3", "bytes", "derive_more 1.0.0", "dyn-clone", - "ethereum-types", "ethrex-common", "ethrex-crypto", "ethrex-levm", "ethrex-rlp", - "ethrex-trie", - "lazy_static", "rayon", - "rkyv", "rustc-hash", "serde", "thiserror 2.0.18", @@ -2780,17 +2602,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "fancy-regex" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e24cb5a94bcae1e5408b0effca5cd7172ea3c5755049c5f3af4cd283a165298" -dependencies = [ - "bit-set", - "regex-automata", - "regex-syntax", -] - [[package]] name = "fastbloom" version = "0.14.1" @@ -2831,17 +2642,6 @@ dependencies = [ "bytes", ] -[[package]] -name = "ff" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" -dependencies = [ - "bitvec", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "ff" version = "0.13.1" @@ -2849,27 +2649,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ "bitvec", - "byteorder", - "ff_derive", "rand_core 0.6.4", "subtle", ] -[[package]] -name = "ff_derive" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f10d12652036b0e99197587c6ba87a8fc3031986499973c030d8b44fcc151b60" -dependencies = [ - "addchain", - "num-bigint 0.3.3", - "num-integer", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "find-msvc-tools" version = "0.1.9" @@ -3065,12 +2848,6 @@ dependencies = [ "slab", ] -[[package]] -name = "gcd" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" - [[package]] name = "generic-array" version = "0.14.7" @@ -3088,7 +2865,7 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "js-sys", "libc", "wasi", @@ -3101,7 +2878,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "libc", "r-efi 5.3.0", "wasip2", @@ -3113,7 +2890,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "libc", "r-efi 6.0.0", "wasip2", @@ -3136,25 +2913,13 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" -[[package]] -name = "group" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" -dependencies = [ - "ff 0.12.1", - "memuse", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "group" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff 0.13.1", + "ff", "rand 0.8.5", "rand_core 0.6.4", "rand_xorshift 0.3.0", @@ -3163,11 +2928,11 @@ dependencies = [ [[package]] name = "guest" -version = "0.5.0" -source = "git+https://github.com/eth-act/ere-guests?tag=v0.7.0#54ace88046f60bb13342289229cf7ee6f0292002" +version = "0.9.0" +source = "git+https://github.com/eth-act/ere-guests?tag=v0.9.0#73457deefabfbc49d0bda34c9445fdc5ac289f3d" dependencies = [ - "ere-io", - "ere-platform-trait", + "ere-codec", + "ere-platform-core", "sha2", ] @@ -3203,29 +2968,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "halo2" -version = "0.1.0-beta.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a23c779b38253fe1538102da44ad5bd5378495a61d2c4ee18d64eaa61ae5995" -dependencies = [ - "halo2_proofs", -] - -[[package]] -name = "halo2_proofs" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e925780549adee8364c7f2b685c753f6f3df23bde520c67416e93bf615933760" -dependencies = [ - "blake2b_simd", - "ff 0.12.1", - "group 0.12.1", - "pasta_curves 0.4.1", - "rand_core 0.6.4", - "rayon", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -3742,15 +3484,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.13.0" @@ -3810,27 +3543,13 @@ dependencies = [ "simple_asn1", ] -[[package]] -name = "jubjub" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a575df5f985fe1cd5b2b05664ff6accfc46559032b954529fd225a2168d27b0f" -dependencies = [ - "bitvec", - "bls12_381 0.7.1", - "ff 0.12.1", - "group 0.12.1", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "k256" version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "ecdsa", "elliptic-curve", "once_cell", @@ -3878,20 +3597,6 @@ dependencies = [ "tree_hash", ] -[[package]] -name = "kzg-rs" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee8b4f55c3dedcfaa8668de1dfc8469e7a32d441c28edf225ed1f566fb32977d" -dependencies = [ - "ff 0.13.1", - "hex", - "serde_arrays", - "sha2", - "sp1_bls12_381", - "spin", -] - [[package]] name = "lambdaworks-crypto" version = "0.13.0" @@ -3913,7 +3618,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "018a95aa873eb49896a858dee0d925c33f3978d073c64b08dd4f2c9b35a017c6" dependencies = [ "getrandom 0.2.17", - "num-bigint 0.4.6", + "num-bigint", "num-traits", "rand 0.8.5", "serde", @@ -3925,9 +3630,6 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -dependencies = [ - "spin", -] [[package]] name = "leb128fmt" @@ -3988,18 +3690,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "libtest-mimic" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5297962ef19edda4ce33aaa484386e0a5b3d7f2f4e037cbeee00503ef6b29d33" -dependencies = [ - "anstream", - "anstyle", - "clap", - "escape8259", -] - [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -4129,33 +3819,12 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - [[package]] name = "memchr" version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" -[[package]] -name = "memoffset" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memuse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d97bbf43eb4f088f8ca469930cde17fa036207c9a5e02ccc5107c4e8b17c964" - [[package]] name = "merkle_proof" version = "0.2.0" @@ -4227,8 +3896,8 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8496cc523d1f94c1385dd8f0f0c2c480b2b8aeccb5b7e4485ad6365523ae376" dependencies = [ - "crossbeam-epoch 0.9.18", - "crossbeam-utils 0.8.21", + "crossbeam-epoch", + "crossbeam-utils", "hashbrown 0.15.5", "metrics", "quanta", @@ -4377,6 +4046,18 @@ dependencies = [ "tempfile", ] +[[package]] +name = "nix" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", +] + [[package]] name = "nom" version = "7.1.3" @@ -4393,31 +4074,20 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint 0.4.6", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", + "windows-sys 0.61.2", ] -[[package]] -name = "num-bigint" -version = "0.3.3" +[[package]] +name = "num" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ - "autocfg", + "num-bigint", + "num-complex", "num-integer", + "num-iter", + "num-rational", "num-traits", ] @@ -4472,7 +4142,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "num-bigint 0.4.6", + "num-bigint", "num-integer", "num-traits", ] @@ -4535,13 +4205,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d49ff0c0d00d4a502b39df9af3a525e1efeb14b9dabb5bb83335284c1309210" dependencies = [ "alloy-rlp", - "cfg-if 1.0.4", + "cfg-if", "proptest", "ruint", "serde", "smallvec", ] +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + [[package]] name = "once_cell" version = "1.21.3" @@ -4588,7 +4273,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ "bitflags", - "cfg-if 1.0.4", + "cfg-if", "foreign-types", "libc", "once_cell", @@ -4719,163 +4404,13 @@ dependencies = [ "sha2", ] -[[package]] -name = "p3-bn254-fr" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9abf208fbfe540d6e2a6caaa2a9a345b1c8cb23ffdcdfcc6987244525d4fc821" -dependencies = [ - "ff 0.13.1", - "num-bigint 0.4.6", - "p3-field", - "p3-poseidon2", - "p3-symmetric", - "rand 0.8.5", - "serde", -] - -[[package]] -name = "p3-challenger" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42b725b453bbb35117a1abf0ddfd900b0676063d6e4231e0fa6bb0d76018d8ad" -dependencies = [ - "p3-field", - "p3-maybe-rayon", - "p3-symmetric", - "p3-util", - "serde", - "tracing", -] - -[[package]] -name = "p3-dft" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56a1f81101bff744b7ebba7f4497e917a2c6716d6e62736e4a56e555a2d98cb7" -dependencies = [ - "p3-field", - "p3-matrix", - "p3-maybe-rayon", - "p3-util", - "tracing", -] - -[[package]] -name = "p3-field" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36459d4acb03d08097d713f336c7393990bb489ab19920d4f68658c7a5c10968" -dependencies = [ - "itertools 0.12.1", - "num-bigint 0.4.6", - "num-traits", - "p3-util", - "rand 0.8.5", - "serde", -] - -[[package]] -name = "p3-koala-bear" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1f52bcb6be38bdc8fa6b38b3434d4eedd511f361d4249fd798c6a5ef817b40" -dependencies = [ - "num-bigint 0.4.6", - "p3-field", - "p3-mds", - "p3-poseidon2", - "p3-symmetric", - "rand 0.8.5", - "serde", -] - -[[package]] -name = "p3-matrix" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e9cd136a4095a25c41a9edfdcce2dfae58ef01639317813bdbbd5b55c583" -dependencies = [ - "itertools 0.12.1", - "p3-field", - "p3-maybe-rayon", - "p3-util", - "rand 0.8.5", - "serde", - "tracing", -] - -[[package]] -name = "p3-maybe-rayon" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e524d47a49fb4265611303339c4ef970d892817b006cc330dad18afb91e411b1" - -[[package]] -name = "p3-mds" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f6cb8edcb276033d43769a3725570c340d2ed6f35c3cca4cddeee07718fa376" -dependencies = [ - "itertools 0.12.1", - "p3-dft", - "p3-field", - "p3-matrix", - "p3-symmetric", - "p3-util", - "rand 0.8.5", -] - -[[package]] -name = "p3-poseidon2" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a26197df2097b98ab7038d59a01e1fe1a0f545e7e04aa9436b2454b1836654f" -dependencies = [ - "gcd", - "p3-field", - "p3-mds", - "p3-symmetric", - "rand 0.8.5", - "serde", -] - -[[package]] -name = "p3-symmetric" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1d3b5202096bca57cde912fbbb9cbaedaf5ac7c42a924c7166b98709d64d21" -dependencies = [ - "itertools 0.12.1", - "p3-field", - "serde", -] - -[[package]] -name = "p3-util" -version = "0.3.2-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec5f0388aa6d935ca3a17444086120f393f0b2f0816010b5ff95998c1c4095e3" -dependencies = [ - "serde", -] - -[[package]] -name = "pairing" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b" -dependencies = [ - "group 0.12.1", -] - [[package]] name = "pairing" version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f" dependencies = [ - "group 0.13.0", + "group", ] [[package]] @@ -4922,43 +4457,13 @@ version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "libc", "redox_syscall", "smallvec", "windows-link", ] -[[package]] -name = "pasta_curves" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc65faf8e7313b4b1fbaa9f7ca917a0eed499a9663be71477f87993604341d8" -dependencies = [ - "blake2b_simd", - "ff 0.12.1", - "group 0.12.1", - "lazy_static", - "rand 0.8.5", - "static_assertions", - "subtle", -] - -[[package]] -name = "pasta_curves" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e57598f73cc7e1b2ac63c79c517b31a0877cd7c402cdcaa311b5208de7a095" -dependencies = [ - "blake2b_simd", - "ff 0.13.1", - "group 0.13.0", - "lazy_static", - "rand 0.8.5", - "static_assertions", - "subtle", -] - [[package]] name = "paste" version = "1.0.15" @@ -4985,15 +4490,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - [[package]] name = "percent-encoding" version = "2.3.2" @@ -5107,7 +4603,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "cpufeatures", "opaque-debug", "universal-hash", @@ -5281,7 +4777,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "fnv", "lazy_static", "libc", @@ -5328,7 +4824,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.117", @@ -5380,7 +4876,7 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7" dependencies = [ - "crossbeam-utils 0.8.21", + "crossbeam-utils", "libc", "once_cell", "raw-cpuid", @@ -5554,8 +5050,8 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ - "crossbeam-deque 0.8.6", - "crossbeam-utils 0.8.21", + "crossbeam-deque", + "crossbeam-utils", ] [[package]] @@ -6084,7 +5580,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "892ff3e6a566cf8d72ffb627fdced3becebbd9ba64089c25975b9b028af326a5" dependencies = [ "bitvec", - "cfg-if 1.0.4", + "cfg-if", "derive-where", "revm-bytecode", "revm-context-interface", @@ -6192,7 +5688,7 @@ dependencies = [ "ark-serialize 0.5.0", "arrayref", "aurora-engine-modexp", - "cfg-if 1.0.4", + "cfg-if", "k256", "p256", "revm-primitives", @@ -6242,7 +5738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", - "cfg-if 1.0.4", + "cfg-if", "getrandom 0.2.17", "libc", "untrusted", @@ -6351,7 +5847,7 @@ dependencies = [ "bytes", "fastrlp 0.3.1", "fastrlp 0.4.0", - "num-bigint 0.4.6", + "num-bigint", "num-integer", "num-traits", "parity-scale-codec", @@ -6442,7 +5938,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6540,15 +6036,6 @@ dependencies = [ "cipher", ] -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - [[package]] name = "schannel" version = "0.1.28" @@ -6692,15 +6179,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde_arrays" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94a16b99c5ea4fe3daccd14853ad260ec00ea043b2708d1fd1da3106dcd8d9df" -dependencies = [ - "serde", -] - [[package]] name = "serde_core" version = "1.0.228" @@ -6826,7 +6304,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "cpufeatures", "digest 0.10.7", ] @@ -6837,7 +6315,7 @@ version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "cpufeatures", "digest 0.10.7", ] @@ -6859,7 +6337,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b31139435f327c93c6038ed350ae4588e2c70a13d50599509fee6349967ba35a" dependencies = [ "cc", - "cfg-if 1.0.4", + "cfg-if", ] [[package]] @@ -6909,7 +6387,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d585997b0ac10be3c5ee635f1bab02d512760d14b7c468801ac8a01d9ae5f1d" dependencies = [ - "num-bigint 0.4.6", + "num-bigint", "num-traits", "thiserror 2.0.18", "time", @@ -6933,88 +6411,6 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" -[[package]] -name = "slop-algebra" -version = "6.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "691beea96fd18d4881f9ca1cb4e58194dac6366f24956a2fdae00c8ee382a0c9" -dependencies = [ - "itertools 0.14.0", - "p3-field", - "serde", -] - -[[package]] -name = "slop-bn254" -version = "6.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1852499c245f7f3dec23408b4930b3ea7570ae914b9c31f12950ac539d85ee" -dependencies = [ - "ff 0.13.1", - "p3-bn254-fr", - "serde", - "slop-algebra", - "slop-challenger", - "slop-poseidon2", - "slop-symmetric", - "zkhash", -] - -[[package]] -name = "slop-challenger" -version = "6.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4349af93602f3876a3eda948a74d9d16d774c401dfe25f41a45ffd84f230bc1" -dependencies = [ - "futures", - "p3-challenger", - "serde", - "slop-algebra", - "slop-symmetric", -] - -[[package]] -name = "slop-koala-bear" -version = "6.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "574784c044d11cf9d8238dc18bce9b897bc34d0fb1daaceafd75ebb400084016" -dependencies = [ - "lazy_static", - "p3-koala-bear", - "serde", - "slop-algebra", - "slop-challenger", - "slop-poseidon2", - "slop-symmetric", -] - -[[package]] -name = "slop-poseidon2" -version = "6.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5af617970b63e8d7199204bc02996745b6c35c39f2b513a118c62c7b1a0b2f1b" -dependencies = [ - "p3-poseidon2", -] - -[[package]] -name = "slop-primitives" -version = "6.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58d82c53508f3ebff8acdabb5db2584f37686257a2549a17c977cf30cd9e24e6" -dependencies = [ - "slop-algebra", -] - -[[package]] -name = "slop-symmetric" -version = "6.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15acfa7f567ffa4f36de134492632a397c33fa6af2e48894e50978b52eeeb871" -dependencies = [ - "p3-symmetric", -] - [[package]] name = "smallvec" version = "1.15.1" @@ -7040,76 +6436,38 @@ dependencies = [ "windows-sys 0.60.2", ] -[[package]] -name = "sp1-lib" -version = "6.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "517e820776910468611149dda66791bdb700c1b7d68b96f0ea2e604f00ad8771" -dependencies = [ - "bincode 1.3.3", - "serde", - "sp1-primitives", -] - -[[package]] -name = "sp1-primitives" -version = "6.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f395525b4fc46d37136f45be264c81718a67f4409c14c547ff491a263e019e7" -dependencies = [ - "bincode 1.3.3", - "blake3", - "elf", - "hex", - "itertools 0.14.0", - "lazy_static", - "num-bigint 0.4.6", - "serde", - "sha2", - "slop-algebra", - "slop-bn254", - "slop-challenger", - "slop-koala-bear", - "slop-poseidon2", - "slop-primitives", - "slop-symmetric", -] - -[[package]] -name = "sp1_bls12_381" -version = "0.8.0-sp1-6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23e41cd36168cc2e51e5d3e35ff0c34b204d945769a65591a76286d04b51e43" -dependencies = [ - "cfg-if 1.0.4", - "ff 0.13.1", - "group 0.13.0", - "pairing 0.23.0", - "rand_core 0.6.4", - "sp1-lib", - "subtle", -] - [[package]] name = "spawned-concurrency" -version = "0.4.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3ec6b3c003075f7d1c4c6475308243e853c9a78149b84b1f8b64d5bed49d49" +checksum = "bc21166874e8cd7584ea795c223303160461f0bb1b571bc23e92ca2abb7c5149" dependencies = [ "futures", "pin-project-lite", + "spawned-macros", "spawned-rt", "thiserror 2.0.18", "tracing", ] +[[package]] +name = "spawned-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d64742b41741dfebd5b5ba4dbc4cbc5cc91f4a2cf8107191007d64295682973" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "spawned-rt" -version = "0.4.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca60c56b1c60b94dd314edce5ea1a98b6037cca3b44d73828e647bad4dae46c" +checksum = "e9e270e6606a118708120671f2d171316762fa832cab73699c714c23aaafe6eb" dependencies = [ - "crossbeam 0.7.3", + "ctrlc", "tokio", "tokio-stream", "tokio-util", @@ -7117,12 +6475,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "spki" version = "0.7.3" @@ -7185,12 +6537,14 @@ dependencies = [ [[package]] name = "stateless-validator-common" -version = "0.5.0" -source = "git+https://github.com/eth-act/ere-guests?tag=v0.7.0#54ace88046f60bb13342289229cf7ee6f0292002" +version = "0.9.0" +source = "git+https://github.com/eth-act/ere-guests?tag=v0.9.0#73457deefabfbc49d0bda34c9445fdc5ac289f3d" dependencies = [ "alloy-eips", "alloy-primitives", "anyhow", + "ere-codec", + "ere-platform-core", "libssz", "libssz-derive", "libssz-merkle", @@ -7203,8 +6557,8 @@ dependencies = [ [[package]] name = "stateless-validator-ethrex" -version = "0.5.0" -source = "git+https://github.com/eth-act/ere-guests?tag=v0.7.0#54ace88046f60bb13342289229cf7ee6f0292002" +version = "0.9.0" +source = "git+https://github.com/eth-act/ere-guests?tag=v0.9.0#73457deefabfbc49d0bda34c9445fdc5ac289f3d" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7212,8 +6566,7 @@ dependencies = [ "alloy-rlp", "anyhow", "bytes", - "ere-io", - "ere-zkvm-interface 0.6.0", + "ere-prover-core", "ethrex-common", "ethrex-crypto", "ethrex-guest-program", @@ -7230,8 +6583,8 @@ dependencies = [ [[package]] name = "stateless-validator-reth" -version = "0.5.0" -source = "git+https://github.com/eth-act/ere-guests?tag=v0.7.0#54ace88046f60bb13342289229cf7ee6f0292002" +version = "0.9.0" +source = "git+https://github.com/eth-act/ere-guests?tag=v0.9.0#73457deefabfbc49d0bda34c9445fdc5ac289f3d" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7240,8 +6593,8 @@ dependencies = [ "alloy-rlp", "alloy-rpc-types-engine", "anyhow", - "ere-io", - "ere-zkvm-interface 0.6.0", + "bincode 2.0.1", + "ere-prover-core", "guest", "once_cell", "reth-chainspec", @@ -7411,7 +6764,7 @@ dependencies = [ "getrandom 0.4.2", "once_cell", "rustix 1.1.4", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -7475,7 +6828,7 @@ version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", ] [[package]] @@ -8179,16 +7532,6 @@ dependencies = [ "libc", ] -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - [[package]] name = "want" version = "0.3.1" @@ -8228,7 +7571,7 @@ version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", @@ -8241,7 +7584,7 @@ version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ - "cfg-if 1.0.4", + "cfg-if", "futures-util", "js-sys", "once_cell", @@ -8374,15 +7717,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -8896,8 +8230,7 @@ dependencies = [ "bincode 1.3.3", "bytes", "clap", - "ere-server", - "ere-zkvm-interface 0.7.0", + "ere-server-client", "futures", "lru 0.12.5", "metrics", @@ -8912,7 +8245,6 @@ dependencies = [ "serde_json", "sha2", "stateless", - "stateless-validator-common", "stateless-validator-ethrex", "stateless-validator-reth", "strum", @@ -8947,33 +8279,6 @@ dependencies = [ "types", ] -[[package]] -name = "zkhash" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4352d1081da6922701401cdd4cbf29a2723feb4cfabb5771f6fee8e9276da1c7" -dependencies = [ - "ark-ff 0.4.2", - "ark-std 0.4.0", - "bitvec", - "blake2", - "bls12_381 0.7.1", - "byteorder", - "cfg-if 1.0.4", - "group 0.12.1", - "group 0.13.0", - "halo2", - "hex", - "jubjub", - "lazy_static", - "pasta_curves 0.5.1", - "rand 0.8.5", - "serde", - "sha2", - "sha3", - "subtle", -] - [[package]] name = "zmij" version = "1.0.21" diff --git a/Cargo.toml b/Cargo.toml index 95ec201..4ce1b50 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -84,13 +84,11 @@ reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", tag = stateless = { git = "https://github.com/paradigmxyz/stateless", rev = "ed189a51931e8589102f3139d48fdbb3bbe4c1f7", default-features = false } # ere -ere-server = { git = "https://github.com/eth-act/ere", tag = "v0.7.0" } -ere-zkvm-interface = { git = "https://github.com/eth-act/ere", tag = "v0.7.0" } +ere-server-client = { git = "https://github.com/eth-act/ere", tag = "v0.8.0" } # ere-guests -stateless-validator-common = { git = "https://github.com/eth-act/ere-guests", tag = "v0.7.0" } -stateless-validator-ethrex = { git = "https://github.com/eth-act/ere-guests", tag = "v0.7.0", features = ["host"] } -stateless-validator-reth = { git = "https://github.com/eth-act/ere-guests", tag = "v0.7.0", features = ["host"] } +ere-guests-stateless-validator-ethrex = { git = "https://github.com/eth-act/ere-guests", tag = "v0.9.0", features = ["host"], package = "stateless-validator-ethrex" } +ere-guests-stateless-validator-reth = { git = "https://github.com/eth-act/ere-guests", tag = "v0.9.0", features = ["host"], package = "stateless-validator-reth" } # local zkboost-client = { path = "crates/client" } From 655e91da1eaa8cfbaec5251960ab5789c187c5c0 Mon Sep 17 00:00:00 2001 From: han0110 Date: Wed, 22 Apr 2026 14:29:00 +0000 Subject: [PATCH 07/11] fix: versions --- Cargo.lock | 16 +++------------- crates/server/Cargo.toml | 1 - crates/server/src/proof/zkvm.rs | 2 +- docker/example/testnet/README.md | 8 ++++---- docker/example/testnet/docker-compose.yml | 6 +++--- scripts/download-ere-guest.sh | 12 ++++++------ 6 files changed, 17 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 12dc5dd..f8d6146 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1050,15 +1050,6 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bincode" version = "2.0.1" @@ -2149,7 +2140,7 @@ source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f6 dependencies = [ "anyhow", "auto_impl", - "bincode 2.0.1", + "bincode", "ere-codec", "ere-verifier-core", "indexmap 2.13.0", @@ -2173,7 +2164,7 @@ name = "ere-server-client" version = "0.8.0" source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" dependencies = [ - "bincode 2.0.1", + "bincode", "ere-prover-core", "ere-server-api", "opentelemetry", @@ -6593,7 +6584,7 @@ dependencies = [ "alloy-rlp", "alloy-rpc-types-engine", "anyhow", - "bincode 2.0.1", + "bincode", "ere-prover-core", "guest", "once_cell", @@ -8227,7 +8218,6 @@ dependencies = [ "alloy-rpc-types-eth", "anyhow", "axum", - "bincode 1.3.3", "bytes", "clap", "ere-server-client", diff --git a/crates/server/Cargo.toml b/crates/server/Cargo.toml index f7c00e5..e54a94d 100644 --- a/crates/server/Cargo.toml +++ b/crates/server/Cargo.toml @@ -25,7 +25,6 @@ otel = [ [dependencies] anyhow.workspace = true axum = { workspace = true, features = ["macros"] } -bincode.workspace = true bytes.workspace = true clap = { workspace = true, features = ["derive"] } futures.workspace = true diff --git a/crates/server/src/proof/zkvm.rs b/crates/server/src/proof/zkvm.rs index 79a1510..6a704fe 100644 --- a/crates/server/src/proof/zkvm.rs +++ b/crates/server/src/proof/zkvm.rs @@ -290,7 +290,7 @@ fn gas_used(req: &NewPayloadRequest) -> u64 { } } -/// Computes the expected public values hash for a given payload root and EL kind. +/// Computes the expected public values hash for a given payload root. pub(crate) fn expected_public_values( new_payload_request_root: Hash256, ) -> anyhow::Result<[u8; 32]> { diff --git a/docker/example/testnet/README.md b/docker/example/testnet/README.md index ff465d3..479f076 100644 --- a/docker/example/testnet/README.md +++ b/docker/example/testnet/README.md @@ -30,26 +30,26 @@ sequenceDiagram ## (Optional) Build image locally with GPU acceleration -The pre-built ZisK prover image (`ghcr.io/eth-act/ere/ere-server-zisk:0.7.0-cuda`) supports Blackwell GPUs only (ZisK only supports single architecture codegen). If you have a Blackwell GPU, e.g. RTX 50 series or RTX PRO 6000, skip this section. +The pre-built ZisK prover image (`ghcr.io/eth-act/ere/ere-server-zisk:0.8.0-cuda`) supports Blackwell GPUs only (ZisK only supports single architecture codegen). If you have a Blackwell GPU, e.g. RTX 50 series or RTX PRO 6000, skip this section. Build the image with the compute capability of local GPU: ```bash -git clone --depth 1 --branch v0.7.0 https://github.com/eth-act/ere +git clone --depth 1 --branch v0.8.0 https://github.com/eth-act/ere cd ere CUDA_ARCH=$(nvidia-smi --query-gpu=compute_cap --format=csv,noheader | head -1 | tr -d '.') echo "Building for CUDA architecture: $CUDA_ARCH" bash .github/scripts/build-image.sh \ --registry ghcr.io/eth-act/ere \ --zkvm zisk \ - --tag 0.7.0-cuda \ + --tag 0.8.0-cuda \ --base \ --server \ --cuda \ --cuda-archs "$CUDA_ARCH" ``` -This produces `ghcr.io/eth-act/ere/ere-server-zisk:0.7.0-cuda`, which is referenced by the `./docker/example/testnet/docker-compose.yml`. +This produces `ghcr.io/eth-act/ere/ere-server-zisk:0.8.0-cuda`, which is referenced by the `./docker/example/testnet/docker-compose.yml`. ## Start local testnet diff --git a/docker/example/testnet/docker-compose.yml b/docker/example/testnet/docker-compose.yml index b83e777..a872d2b 100644 --- a/docker/example/testnet/docker-compose.yml +++ b/docker/example/testnet/docker-compose.yml @@ -1,11 +1,11 @@ services: ethrex-zisk: - image: ghcr.io/eth-act/ere/ere-server-zisk:0.7.0-cuda + image: ghcr.io/eth-act/ere/ere-server-zisk:0.8.0-cuda command: - "--port" - "3000" - "--elf-url" - - "https://github.com/eth-act/ere-guests/releases/download/v0.8.0/stateless-validator-ethrex-zisk.elf" + - "https://github.com/eth-act/ere-guests/releases/download/v0.9.0/stateless-validator-ethrex-zisk.elf" - "gpu" shm_size: 32G ulimits: @@ -35,7 +35,7 @@ services: - "--port" - "3000" - "--elf-url" - - "https://github.com/eth-act/ere-guests/releases/download/v0.8.0/stateless-validator-ethrex-zisk.elf" + - "https://github.com/eth-act/ere-guests/releases/download/v0.9.0/stateless-validator-reth-zisk.elf" - "gpu" deploy: resources: diff --git a/scripts/download-ere-guest.sh b/scripts/download-ere-guest.sh index 07a9742..82424fb 100755 --- a/scripts/download-ere-guest.sh +++ b/scripts/download-ere-guest.sh @@ -4,7 +4,7 @@ set -euo pipefail # Download and verify a guest program from eth-act/ere-guests releases. # # Usage: ./download-ere-guest.sh --tag --guest --output-dir -# Example: ./download-ere-guest.sh --tag v0.7.0 --guest stateless-validator-reth-zisk --output-dir ./programs/ +# Example: ./download-ere-guest.sh --tag v0.9.0 --guest stateless-validator-reth-zisk --output-dir ./programs/ PUB_KEY="RWTsNA0kZFhw19A26aujYun4hv4RraCnEYDehrgEG6NnCjmjkr9/+KGy" @@ -12,7 +12,7 @@ usage() { echo "Usage: $0 --tag --guest --output-dir " echo "" echo "Options:" - echo " --tag Release tag (e.g. v0.7.0)" + echo " --tag Release tag (e.g. v0.9.0)" echo " --guest Guest program name (e.g. stateless-validator-reth-zisk)" echo " --output-dir Directory to save the downloaded program" exit 1 @@ -53,16 +53,16 @@ fi REPO="eth-act/ere-guests" BASE_URL="https://github.com/${REPO}/releases/download/${RELEASE_TAG}" -PROGRAM_URL="${BASE_URL}/${GUEST_NAME}" -SIG_URL="${BASE_URL}/${GUEST_NAME}.minisig" +ELF_URL="${BASE_URL}/${GUEST_NAME}.elf" +SIG_URL="${ELF_URL}.minisig" mkdir -p "${OUTPUT_DIR}" PROGRAM_PATH="${OUTPUT_DIR}/${GUEST_NAME}" SIG_PATH="${OUTPUT_DIR}/${GUEST_NAME}.minisig" -echo "Downloading ${GUEST_NAME} from ${PROGRAM_URL}..." -curl -fSL -o "${PROGRAM_PATH}" "${PROGRAM_URL}" +echo "Downloading ${GUEST_NAME} from ${ELF_URL}..." +curl -fSL -o "${PROGRAM_PATH}" "${ELF_URL}" echo "Downloading signature from ${SIG_URL}..." curl -fSL -o "${SIG_PATH}" "${SIG_URL}" From 1831c9c35374a37c89f6d3a98000a2f179865cda Mon Sep 17 00:00:00 2001 From: han0110 Date: Thu, 23 Apr 2026 03:24:54 +0000 Subject: [PATCH 08/11] fix: bump `openssl` version --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f8d6146..8158176 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4259,9 +4259,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.75" +version = "0.10.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" +checksum = "f38c4372413cdaaf3cc79dd92d29d7d9f5ab09b51b10dded508fb90bb70b9222" dependencies = [ "bitflags", "cfg-if", @@ -4291,9 +4291,9 @@ checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" [[package]] name = "openssl-sys" -version = "0.9.111" +version = "0.9.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" +checksum = "13ce1245cd07fcc4cfdb438f7507b0c7e4f3849a69fd84d52374c66d83741bb6" dependencies = [ "cc", "libc", From 7ad78610eeae4ce6224950606eabb48829df24bc Mon Sep 17 00:00:00 2001 From: han0110 Date: Thu, 23 Apr 2026 05:38:39 +0000 Subject: [PATCH 09/11] fix: bring back `ere-guests-stateless-validator-common` --- Cargo.lock | 1 + Cargo.toml | 1 + crates/server/Cargo.toml | 1 + crates/server/src/proof/zkvm.rs | 7 ++++--- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8158176..6a0ae67 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8235,6 +8235,7 @@ dependencies = [ "serde_json", "sha2", "stateless", + "stateless-validator-common", "stateless-validator-ethrex", "stateless-validator-reth", "strum", diff --git a/Cargo.toml b/Cargo.toml index 4ce1b50..d76a949 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -87,6 +87,7 @@ stateless = { git = "https://github.com/paradigmxyz/stateless", rev = "ed189a519 ere-server-client = { git = "https://github.com/eth-act/ere", tag = "v0.8.0" } # ere-guests +ere-guests-stateless-validator-common = { git = "https://github.com/eth-act/ere-guests", tag = "v0.9.0", package = "stateless-validator-common" } ere-guests-stateless-validator-ethrex = { git = "https://github.com/eth-act/ere-guests", tag = "v0.9.0", features = ["host"], package = "stateless-validator-ethrex" } ere-guests-stateless-validator-reth = { git = "https://github.com/eth-act/ere-guests", tag = "v0.9.0", features = ["host"], package = "stateless-validator-reth" } diff --git a/crates/server/Cargo.toml b/crates/server/Cargo.toml index e54a94d..3efa1bf 100644 --- a/crates/server/Cargo.toml +++ b/crates/server/Cargo.toml @@ -67,6 +67,7 @@ stateless.workspace = true ere-server-client.workspace = true # ere-guests +ere-guests-stateless-validator-common.workspace = true ere-guests-stateless-validator-ethrex.workspace = true ere-guests-stateless-validator-reth.workspace = true diff --git a/crates/server/src/proof/zkvm.rs b/crates/server/src/proof/zkvm.rs index 6a704fe..5a010d6 100644 --- a/crates/server/src/proof/zkvm.rs +++ b/crates/server/src/proof/zkvm.rs @@ -4,13 +4,14 @@ use std::{ops::Deref, sync::Arc, time::Duration}; use anyhow::Context; +use ere_guests_stateless_validator_common::{ + guest::StatelessValidatorOutput, new_payload_request::NewPayloadRequest, +}; use ere_guests_stateless_validator_ethrex::guest::{ StatelessValidatorEthrexGuest, StatelessValidatorEthrexInput, - new_payload_request::NewPayloadRequest, }; use ere_guests_stateless_validator_reth::guest::{ - Guest, Platform, StatelessValidatorOutput, StatelessValidatorRethGuest, - StatelessValidatorRethInput, + Guest, Platform, StatelessValidatorRethGuest, StatelessValidatorRethInput, }; use ere_server_client::{EncodedProof, PublicValues, codec::Encode, zkVMClient}; use rand::{Rng, rng}; From 10a91f1f1a511e78fa3e489121c70cf6848f490a Mon Sep 17 00:00:00 2001 From: han0110 Date: Thu, 23 Apr 2026 06:23:51 +0000 Subject: [PATCH 10/11] fix: use codec from ere-guests --- crates/server/src/proof/input.rs | 5 +++-- crates/server/src/proof/zkvm.rs | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/server/src/proof/input.rs b/crates/server/src/proof/input.rs index 21192c3..6b4fde0 100644 --- a/crates/server/src/proof/input.rs +++ b/crates/server/src/proof/input.rs @@ -14,9 +14,10 @@ use alloy_rpc_types_engine::{ }; use ere_guests_stateless_validator_ethrex::guest::StatelessValidatorEthrexInput; use ere_guests_stateless_validator_reth::{ - guest::StatelessValidatorRethInput, host::StatelessInput, + guest::{StatelessValidatorRethInput, codec::Encode}, + host::StatelessInput, }; -use ere_server_client::{Input, codec::Encode}; +use ere_server_client::Input; use stateless::ExecutionWitness; use zkboost_types::{ElKind, Hash256, MainnetEthSpec, NewPayloadRequest}; diff --git a/crates/server/src/proof/zkvm.rs b/crates/server/src/proof/zkvm.rs index 5a010d6..f2c0131 100644 --- a/crates/server/src/proof/zkvm.rs +++ b/crates/server/src/proof/zkvm.rs @@ -11,9 +11,9 @@ use ere_guests_stateless_validator_ethrex::guest::{ StatelessValidatorEthrexGuest, StatelessValidatorEthrexInput, }; use ere_guests_stateless_validator_reth::guest::{ - Guest, Platform, StatelessValidatorRethGuest, StatelessValidatorRethInput, + Guest, Platform, StatelessValidatorRethGuest, StatelessValidatorRethInput, codec::Encode, }; -use ere_server_client::{EncodedProof, PublicValues, codec::Encode, zkVMClient}; +use ere_server_client::{EncodedProof, PublicValues, zkVMClient}; use rand::{Rng, rng}; use sha2::{Digest, Sha256}; use stateless::StatelessInput; From 8dda7b1c2f2d62091afcc2b86a990d13de602d9a Mon Sep 17 00:00:00 2001 From: han0110 Date: Thu, 23 Apr 2026 07:01:36 +0000 Subject: [PATCH 11/11] chore: bump `ere` to `v0.8.1` --- Cargo.lock | 55 ++++++++++++++++++----- Cargo.toml | 2 +- docker/example/testnet/README.md | 8 ++-- docker/example/testnet/docker-compose.yml | 2 +- 4 files changed, 49 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6a0ae67..c8a6bcd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2128,6 +2128,11 @@ name = "ere-codec" version = "0.8.0" source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" +[[package]] +name = "ere-codec" +version = "0.8.1" +source = "git+https://github.com/eth-act/ere?tag=v0.8.1#653b406fa352f4c53161810c4ef078e79ec45b1b" + [[package]] name = "ere-platform-core" version = "0.8.0" @@ -2141,8 +2146,24 @@ dependencies = [ "anyhow", "auto_impl", "bincode", - "ere-codec", - "ere-verifier-core", + "ere-codec 0.8.0", + "ere-verifier-core 0.8.0", + "indexmap 2.13.0", + "serde", + "strum", + "thiserror 2.0.18", +] + +[[package]] +name = "ere-prover-core" +version = "0.8.1" +source = "git+https://github.com/eth-act/ere?tag=v0.8.1#653b406fa352f4c53161810c4ef078e79ec45b1b" +dependencies = [ + "anyhow", + "auto_impl", + "bincode", + "ere-codec 0.8.1", + "ere-verifier-core 0.8.1", "indexmap 2.13.0", "serde", "strum", @@ -2151,8 +2172,8 @@ dependencies = [ [[package]] name = "ere-server-api" -version = "0.8.0" -source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" +version = "0.8.1" +source = "git+https://github.com/eth-act/ere?tag=v0.8.1#653b406fa352f4c53161810c4ef078e79ec45b1b" dependencies = [ "prost", "serde", @@ -2161,11 +2182,11 @@ dependencies = [ [[package]] name = "ere-server-client" -version = "0.8.0" -source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" +version = "0.8.1" +source = "git+https://github.com/eth-act/ere?tag=v0.8.1#653b406fa352f4c53161810c4ef078e79ec45b1b" dependencies = [ "bincode", - "ere-prover-core", + "ere-prover-core 0.8.1", "ere-server-api", "opentelemetry", "thiserror 2.0.18", @@ -2180,7 +2201,17 @@ version = "0.8.0" source = "git+https://github.com/eth-act/ere?tag=v0.8.0#54b00745fa5fabe008b037f61f6864305c41af80" dependencies = [ "auto_impl", - "ere-codec", + "ere-codec 0.8.0", + "serde", +] + +[[package]] +name = "ere-verifier-core" +version = "0.8.1" +source = "git+https://github.com/eth-act/ere?tag=v0.8.1#653b406fa352f4c53161810c4ef078e79ec45b1b" +dependencies = [ + "auto_impl", + "ere-codec 0.8.1", "serde", ] @@ -2922,7 +2953,7 @@ name = "guest" version = "0.9.0" source = "git+https://github.com/eth-act/ere-guests?tag=v0.9.0#73457deefabfbc49d0bda34c9445fdc5ac289f3d" dependencies = [ - "ere-codec", + "ere-codec 0.8.0", "ere-platform-core", "sha2", ] @@ -6534,7 +6565,7 @@ dependencies = [ "alloy-eips", "alloy-primitives", "anyhow", - "ere-codec", + "ere-codec 0.8.0", "ere-platform-core", "libssz", "libssz-derive", @@ -6557,7 +6588,7 @@ dependencies = [ "alloy-rlp", "anyhow", "bytes", - "ere-prover-core", + "ere-prover-core 0.8.0", "ethrex-common", "ethrex-crypto", "ethrex-guest-program", @@ -6585,7 +6616,7 @@ dependencies = [ "alloy-rpc-types-engine", "anyhow", "bincode", - "ere-prover-core", + "ere-prover-core 0.8.0", "guest", "once_cell", "reth-chainspec", diff --git a/Cargo.toml b/Cargo.toml index d76a949..e6632f2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -84,7 +84,7 @@ reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", tag = stateless = { git = "https://github.com/paradigmxyz/stateless", rev = "ed189a51931e8589102f3139d48fdbb3bbe4c1f7", default-features = false } # ere -ere-server-client = { git = "https://github.com/eth-act/ere", tag = "v0.8.0" } +ere-server-client = { git = "https://github.com/eth-act/ere", tag = "v0.8.1" } # ere-guests ere-guests-stateless-validator-common = { git = "https://github.com/eth-act/ere-guests", tag = "v0.9.0", package = "stateless-validator-common" } diff --git a/docker/example/testnet/README.md b/docker/example/testnet/README.md index 479f076..4907267 100644 --- a/docker/example/testnet/README.md +++ b/docker/example/testnet/README.md @@ -30,26 +30,26 @@ sequenceDiagram ## (Optional) Build image locally with GPU acceleration -The pre-built ZisK prover image (`ghcr.io/eth-act/ere/ere-server-zisk:0.8.0-cuda`) supports Blackwell GPUs only (ZisK only supports single architecture codegen). If you have a Blackwell GPU, e.g. RTX 50 series or RTX PRO 6000, skip this section. +The pre-built ZisK prover image (`ghcr.io/eth-act/ere/ere-server-zisk:0.8.1-cuda`) supports Blackwell GPUs only (ZisK only supports single architecture codegen). If you have a Blackwell GPU, e.g. RTX 50 series or RTX PRO 6000, skip this section. Build the image with the compute capability of local GPU: ```bash -git clone --depth 1 --branch v0.8.0 https://github.com/eth-act/ere +git clone --depth 1 --branch v0.8.1 https://github.com/eth-act/ere cd ere CUDA_ARCH=$(nvidia-smi --query-gpu=compute_cap --format=csv,noheader | head -1 | tr -d '.') echo "Building for CUDA architecture: $CUDA_ARCH" bash .github/scripts/build-image.sh \ --registry ghcr.io/eth-act/ere \ --zkvm zisk \ - --tag 0.8.0-cuda \ + --tag 0.8.1-cuda \ --base \ --server \ --cuda \ --cuda-archs "$CUDA_ARCH" ``` -This produces `ghcr.io/eth-act/ere/ere-server-zisk:0.8.0-cuda`, which is referenced by the `./docker/example/testnet/docker-compose.yml`. +This produces `ghcr.io/eth-act/ere/ere-server-zisk:0.8.1-cuda`, which is referenced by the `./docker/example/testnet/docker-compose.yml`. ## Start local testnet diff --git a/docker/example/testnet/docker-compose.yml b/docker/example/testnet/docker-compose.yml index a872d2b..dcd365b 100644 --- a/docker/example/testnet/docker-compose.yml +++ b/docker/example/testnet/docker-compose.yml @@ -1,6 +1,6 @@ services: ethrex-zisk: - image: ghcr.io/eth-act/ere/ere-server-zisk:0.8.0-cuda + image: ghcr.io/eth-act/ere/ere-server-zisk:0.8.1-cuda command: - "--port" - "3000"