From 778e737c20e5ee1e6f08169310e76ab565ebbac0 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 20 Jun 2024 14:44:43 +0200 Subject: [PATCH 01/40] Add init boiler plate --- .../crates/zk_inception/src/commands/prover/args/init.rs | 5 +++++ .../crates/zk_inception/src/commands/prover/args/mod.rs | 1 + zk_toolbox/crates/zk_inception/src/commands/prover/init.rs | 7 +++++++ zk_toolbox/crates/zk_inception/src/commands/prover/mod.rs | 6 ++++++ 4 files changed, 19 insertions(+) create mode 100644 zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs create mode 100644 zk_toolbox/crates/zk_inception/src/commands/prover/args/mod.rs create mode 100644 zk_toolbox/crates/zk_inception/src/commands/prover/init.rs diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs new file mode 100644 index 000000000000..5fc46afea254 --- /dev/null +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -0,0 +1,5 @@ +use clap::Parser; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, Serialize, Deserialize, Parser)] +pub struct ProverInitArgs {} diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/mod.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/mod.rs new file mode 100644 index 000000000000..43763f10a418 --- /dev/null +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/mod.rs @@ -0,0 +1 @@ +pub mod init; diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs new file mode 100644 index 000000000000..350a7095b5c2 --- /dev/null +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -0,0 +1,7 @@ +use xshell::Shell; + +use super::args::init::ProverInitArgs; + +pub(crate) async fn run(_args: ProverInitArgs, _shell: &Shell) -> anyhow::Result<()> { + Ok(()) +} diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/mod.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/mod.rs index c617b915a52c..1cc7acc4dc2f 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/mod.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/mod.rs @@ -1,16 +1,22 @@ +use args::init::ProverInitArgs; use clap::Subcommand; use xshell::Shell; +mod args; mod generate_sk; +mod init; mod utils; #[derive(Subcommand, Debug)] pub enum ProverCommands { /// Initialize prover + Init(ProverInitArgs), + /// Generate setup keys GenerateSK, } pub(crate) async fn run(shell: &Shell, args: ProverCommands) -> anyhow::Result<()> { match args { + ProverCommands::Init(args) => init::run(args, shell).await, ProverCommands::GenerateSK => generate_sk::run(shell).await, } } From edfd7a7bf9a04ab856bfa0a1ad62dc1e4e718be2 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 20 Jun 2024 16:23:00 +0200 Subject: [PATCH 02/40] Add arg prompts --- .../src/commands/prover/args/init.rs | 93 ++++++++++++++++++- .../zk_inception/src/commands/prover/init.rs | 4 +- .../crates/zk_inception/src/messages.rs | 12 ++- 3 files changed, 104 insertions(+), 5 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index 5fc46afea254..e92137823467 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -1,5 +1,94 @@ -use clap::Parser; +use clap::{Parser, ValueEnum}; +use common::{Prompt, PromptSelect}; use serde::{Deserialize, Serialize}; +use strum::IntoEnumIterator; +use strum_macros::EnumIter; + +use crate::messages::{ + MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, + MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, +}; #[derive(Debug, Clone, Serialize, Deserialize, Parser)] -pub struct ProverInitArgs {} +pub struct ProverInitArgs { + #[clap(long)] + pub proof_store_dir: Option, + #[clap(flatten)] + #[serde(flatten)] + pub proof_store_gcs_config: ProofStoreGCSConfig, +} + +#[derive(Debug, Clone, ValueEnum, EnumIter, strum_macros::Display, PartialEq, Eq)] +enum ProofStoreConfig { + Local, + GCS, +} + +#[derive(Clone, Debug, Serialize, Deserialize, Parser, Default)] +pub struct ProofStoreGCSConfig { + #[clap(long)] + pub bucket_base_url: Option, + #[clap(long)] + pub credentials_file: Option, +} + +impl ProverInitArgs { + pub(crate) fn fill_values_with_prompt(&self) -> Self { + if self.store_config_provided() { + return self.clone(); + } + + let proof_store_config = if self.partial_gcs_config_provided() { + ProofStoreConfig::GCS + } else { + PromptSelect::new(MSG_PROOF_STORE_CONFIG_PROMPT, ProofStoreConfig::iter()).ask() + }; + + match proof_store_config { + ProofStoreConfig::Local => { + let proof_store_dir = Prompt::new(MSG_PROOF_STORE_DIR_PROMPT).ask(); + + ProverInitArgs { + proof_store_dir: Some(proof_store_dir), + proof_store_gcs_config: ProofStoreGCSConfig::default(), + } + } + ProofStoreConfig::GCS => { + let bucket_base_url = self + .clone() + .proof_store_gcs_config + .bucket_base_url + .unwrap_or_else(|| { + Prompt::new(MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT).ask() + }); + let credentials_file = self + .clone() + .proof_store_gcs_config + .credentials_file + .unwrap_or_else(|| { + Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT).ask() + }); + let proof_store_gcs_config = ProofStoreGCSConfig { + bucket_base_url: Some(bucket_base_url), + credentials_file: Some(credentials_file), + }; + + ProverInitArgs { + proof_store_dir: None, + proof_store_gcs_config, + } + } + } + } + + fn store_config_provided(&self) -> bool { + self.proof_store_dir.is_some() + || (self.proof_store_gcs_config.bucket_base_url.is_some() + && self.proof_store_gcs_config.credentials_file.is_some()) + } + + fn partial_gcs_config_provided(&self) -> bool { + self.proof_store_gcs_config.bucket_base_url.is_some() + || self.proof_store_gcs_config.credentials_file.is_some() + } +} diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 350a7095b5c2..171898b2011e 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -2,6 +2,8 @@ use xshell::Shell; use super::args::init::ProverInitArgs; -pub(crate) async fn run(_args: ProverInitArgs, _shell: &Shell) -> anyhow::Result<()> { +pub(crate) async fn run(args: ProverInitArgs, _shell: &Shell) -> anyhow::Result<()> { + let args = args.fill_values_with_prompt(); + Ok(()) } diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index 1b3c05258753..b76555994bdf 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -13,7 +13,7 @@ pub(super) const MSG_L1_NETWORK_HELP: &str = "L1 Network"; pub(super) const MSG_LINK_TO_CODE_HELP: &str = "Code link"; pub(super) const MSG_START_CONTAINERS_HELP: &str = "Start reth and postgres containers after creation"; -pub(super) const MSG_ECOSYSTEM_NAME_PROMPT: &str = "How do you want to name the ecosystem?"; +pub(super) const MSG_ECOSYSTEM_NAME_PROMPT: &str = "What do you want to name the ecosystem?"; pub(super) const MSG_REPOSITORY_ORIGIN_PROMPT: &str = "Select the origin of zksync-era repository"; pub(super) const MSG_LINK_TO_CODE_PROMPT: &str = "Where's the code located?"; pub(super) const MSG_L1_NETWORK_PROMPT: &str = "Select the L1 network"; @@ -65,7 +65,7 @@ pub(super) fn msg_ecosystem_initialized(chains: &str) -> String { } /// Ecosystem default related messages -pub(super) const MSG_DEFAULT_CHAIN_PROMPT: &str = "What chain you want to set as default?"; +pub(super) const MSG_DEFAULT_CHAIN_PROMPT: &str = "What chain do you want to set as default?"; /// Ecosystem config related messages pub(super) const MSG_SAVE_INITIAL_CONFIG_ATTENTION: &str = @@ -192,3 +192,11 @@ pub(super) fn msg_address_doesnt_have_enough_money_prompt( /// Prover related messages pub(super) const MSG_GENERATING_SK_SPINNER: &str = "Generating setup keys..."; pub(super) const MSG_SK_GENERATED: &str = "Setup keys generated successfully"; +pub(super) const MSG_PROOF_STORE_CONFIG_PROMPT: &str = + "Select where you would like to store the proofs"; +pub(super) const MSG_PROOF_STORE_DIR_PROMPT: &str = + "Provide the path where you would like to store the proofs:"; +pub(super) const MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT: &str = + "Provide the base URL of the GCS bucket:"; +pub(super) const MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT: &str = + "Provide the path to the GCS credentials file:"; From f93058a21157aa57d4f4dda6821950fb4a25924b Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 20 Jun 2024 16:26:48 +0200 Subject: [PATCH 03/40] Add leave empty option --- zk_toolbox/crates/zk_inception/src/messages.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index b76555994bdf..41e8a0ec3a47 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -197,6 +197,6 @@ pub(super) const MSG_PROOF_STORE_CONFIG_PROMPT: &str = pub(super) const MSG_PROOF_STORE_DIR_PROMPT: &str = "Provide the path where you would like to store the proofs:"; pub(super) const MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT: &str = - "Provide the base URL of the GCS bucket:"; + "Provide the base URL of the GCS bucket or leave empty to create a new one:"; pub(super) const MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT: &str = "Provide the path to the GCS credentials file:"; From 7da1643f7ac33f7718c22c81c242c6da7a90771a Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 20 Jun 2024 17:21:59 +0200 Subject: [PATCH 04/40] Update general config with new prover config --- zk_toolbox/Cargo.lock | 7246 +++++++++++++---- zk_toolbox/Cargo.toml | 3 + zk_toolbox/crates/config/Cargo.toml | 3 + zk_toolbox/crates/config/src/chain.rs | 12 +- zk_toolbox/crates/zk_inception/Cargo.toml | 1 + .../zk_inception/src/commands/prover/init.rs | 42 +- .../crates/zk_inception/src/messages.rs | 2 +- 7 files changed, 5629 insertions(+), 1680 deletions(-) diff --git a/zk_toolbox/Cargo.lock b/zk_toolbox/Cargo.lock index 7679313e9d68..197cb991f30f 100644 --- a/zk_toolbox/Cargo.lock +++ b/zk_toolbox/Cargo.lock @@ -33,18 +33,29 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "cipher", "cpufeatures", ] +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + [[package]] name = "ahash" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "getrandom", "once_cell", "version_check", @@ -66,6 +77,21 @@ version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "anstream" version = "0.6.12" @@ -120,6 +146,18 @@ version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + [[package]] name = "arrayvec" version = "0.7.4" @@ -135,6 +173,39 @@ dependencies = [ "term", ] +[[package]] +name = "async-lock" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +dependencies = [ + "event-listener 5.3.1", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + [[package]] name = "async-trait" version = "0.1.77" @@ -183,6 +254,51 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core", + "bitflags 1.3.2", + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + [[package]] name = "backtrace" version = "0.3.69" @@ -191,13 +307,19 @@ checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", - "cfg-if", + "cfg-if 1.0.0", "libc", "miniz_oxide", "object", "rustc-demangle", ] +[[package]] +name = "base16ct" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" + [[package]] name = "base16ct" version = "0.2.0" @@ -216,6 +338,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64ct" version = "1.6.0" @@ -228,6 +356,79 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +[[package]] +name = "beef" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +dependencies = [ + "serde", +] + +[[package]] +name = "bellman_ce" +version = "0.3.2" +source = "git+https://github.com/matter-labs/bellman?branch=dev#5520aa2274afe73d281373c92b007a2ecdebfbea" +dependencies = [ + "arrayvec 0.7.4", + "bit-vec", + "blake2s_const", + "blake2s_simd", + "byteorder", + "cfg-if 1.0.0", + "crossbeam 0.7.3", + "futures", + "hex", + "lazy_static", + "num_cpus", + "pairing_ce 0.28.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.6", + "serde", + "smallvec", + "tiny-keccak 1.5.0", +] + +[[package]] +name = "bigdecimal" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "bindgen" +version = "0.65.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +dependencies = [ + "bitflags 1.3.2", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.51", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -242,6 +443,9 @@ name = "bit-vec" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +dependencies = [ + "serde", +] [[package]] name = "bitflags" @@ -270,6 +474,53 @@ dependencies = [ "wyz", ] +[[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 = "blake2" +version = "0.10.6" +source = "git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e#1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "blake2s_const" +version = "0.6.0" +source = "git+https://github.com/matter-labs/bellman?branch=dev#5520aa2274afe73d281373c92b007a2ecdebfbea" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "constant_time_eq", +] + +[[package]] +name = "blake2s_simd" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e461a7034e85b211a4acb57ee2e6730b32912b06c08cc242243c39fc21ae6a2" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "constant_time_eq", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -279,13 +530,79 @@ dependencies = [ "generic-array", ] +[[package]] +name = "blst" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62dc83a094a71d43eeadd254b1ec2d24cb6a0bb6cadce00df51f0db594711a32" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "boojum" +version = "0.2.0" +source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#4bcb11f0610302110ae8109af01d5b652191b2f6" +dependencies = [ + "arrayvec 0.7.4", + "bincode", + "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "const_format", + "convert_case", + "crossbeam 0.8.4", + "crypto-bigint 0.5.5", + "cs_derive", + "derivative", + "ethereum-types", + "firestorm", + "itertools 0.10.5", + "lazy_static", + "num-modular", + "num_cpus", + "pairing_ce 0.28.5 (git+https://github.com/matter-labs/pairing.git)", + "rand 0.8.5", + "rayon", + "serde", + "sha2 0.10.8", + "sha3 0.10.6", + "smallvec", + "unroll", +] + +[[package]] +name = "borsh" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" +dependencies = [ + "borsh-derive", + "cfg_aliases 0.2.1", +] + +[[package]] +name = "borsh-derive" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" +dependencies = [ + "once_cell", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.51", + "syn_derive", +] + [[package]] name = "bs58" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" dependencies = [ - "sha2", + "sha2 0.10.8", "tinyvec", ] @@ -301,6 +618,34 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +[[package]] +name = "bytecheck" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bytecount" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" + [[package]] name = "byteorder" version = "1.5.0" @@ -355,6 +700,19 @@ dependencies = [ "serde", ] +[[package]] +name = "cargo_metadata" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", +] + [[package]] name = "cargo_metadata" version = "0.18.1" @@ -378,6 +736,21 @@ dependencies = [ "libc", ] +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[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.0" @@ -385,12 +758,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "chrono" -version = "0.4.34" +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chrono" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", "num-traits", + "serde", + "wasm-bindgen", + "windows-targets 0.52.3", ] [[package]] @@ -403,6 +794,124 @@ dependencies = [ "inout", ] +[[package]] +name = "circuit_encodings" +version = "0.1.40" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#39665dffd576cff5007c80dd0e1b5334e230bd3b" +dependencies = [ + "derivative", + "serde", + "zk_evm 1.4.0", + "zkevm_circuits 1.4.0", +] + +[[package]] +name = "circuit_encodings" +version = "0.1.41" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#f7bd71fd4216e2c51ab7b09a95909fe48c75f35b" +dependencies = [ + "derivative", + "serde", + "zk_evm 1.4.1", + "zkevm_circuits 1.4.1", +] + +[[package]] +name = "circuit_encodings" +version = "0.1.42" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.2#3149a162a729581005fbad6dbcef027a3ee1b214" +dependencies = [ + "derivative", + "serde", + "zk_evm 1.4.1", + "zkevm_circuits 1.4.1", +] + +[[package]] +name = "circuit_encodings" +version = "0.1.50" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.5.0#5d6a06c37f4656d26a4170d22f2298cd7716c070" +dependencies = [ + "derivative", + "serde", + "zk_evm 1.5.0", + "zkevm_circuits 1.5.0", +] + +[[package]] +name = "circuit_sequencer_api" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.3.3#aba8f2a32767b79838aca7d7d00d9d23144df32f" +dependencies = [ + "bellman_ce", + "derivative", + "rayon", + "serde", + "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.3.3)", +] + +[[package]] +name = "circuit_sequencer_api" +version = "0.1.40" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#39665dffd576cff5007c80dd0e1b5334e230bd3b" +dependencies = [ + "bellman_ce", + "circuit_encodings 0.1.40", + "derivative", + "rayon", + "serde", + "zk_evm 1.4.0", +] + +[[package]] +name = "circuit_sequencer_api" +version = "0.1.41" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#f7bd71fd4216e2c51ab7b09a95909fe48c75f35b" +dependencies = [ + "bellman_ce", + "circuit_encodings 0.1.41", + "derivative", + "rayon", + "serde", + "zk_evm 1.4.1", +] + +[[package]] +name = "circuit_sequencer_api" +version = "0.1.42" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.2#3149a162a729581005fbad6dbcef027a3ee1b214" +dependencies = [ + "bellman_ce", + "circuit_encodings 0.1.42", + "derivative", + "rayon", + "serde", + "zk_evm 1.4.1", +] + +[[package]] +name = "circuit_sequencer_api" +version = "0.1.50" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.5.0#5d6a06c37f4656d26a4170d22f2298cd7716c070" +dependencies = [ + "bellman_ce", + "circuit_encodings 0.1.50", + "derivative", + "rayon", + "serde", +] + +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading", +] + [[package]] name = "clap" version = "4.5.1" @@ -422,7 +931,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim", + "strsim 0.11.0", "terminal_size", ] @@ -432,7 +941,7 @@ version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "syn 2.0.51", @@ -465,11 +974,11 @@ checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" dependencies = [ "bs58", "coins-core", - "digest", + "digest 0.10.7", "hmac", - "k256", + "k256 0.13.1", "serde", - "sha2", + "sha2 0.10.8", "thiserror", ] @@ -484,8 +993,8 @@ dependencies = [ "hmac", "once_cell", "pbkdf2 0.12.2", - "rand", - "sha2", + "rand 0.8.5", + "sha2 0.10.8", "thiserror", ] @@ -498,14 +1007,14 @@ dependencies = [ "base64 0.21.7", "bech32", "bs58", - "digest", + "digest 0.10.7", "generic-array", "hex", "ripemd", "serde", "serde_derive", - "sha2", - "sha3", + "sha2 0.10.8", + "sha3 0.10.8", "thiserror", ] @@ -537,6 +1046,21 @@ dependencies = [ "xshell", ] +[[package]] +name = "compile-fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bed69047ed42e52c7e38d6421eeb8ceefb4f2a2b52eed59137f7bad7908f6800" + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils 0.8.19", +] + [[package]] name = "config" version = "0.1.0" @@ -546,7 +1070,7 @@ dependencies = [ "common", "ethers", "path-absolutize", - "rand", + "rand 0.8.5", "serde", "serde_json", "strum 0.26.2", @@ -555,6 +1079,9 @@ dependencies = [ "types", "url", "xshell", + "zksync_config", + "zksync_core_leftovers", + "zksync_protobuf_config", ] [[package]] @@ -576,7 +1103,7 @@ version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ba00838774b4ab0233e355d26710fbfc8327a05c017f6dc4873f876d1f79f78" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "cpufeatures", "hex", "proptest", @@ -589,12 +1116,41 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const_format" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "constant_time_eq" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -641,7 +1197,64 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", +] + +[[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.13", + "crossbeam-deque 0.8.5", + "crossbeam-epoch 0.9.18", + "crossbeam-queue 0.3.11", + "crossbeam-utils 0.8.19", +] + +[[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", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils 0.8.19", +] + +[[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", ] [[package]] @@ -650,8 +1263,23 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", + "crossbeam-epoch 0.9.18", + "crossbeam-utils 0.8.19", +] + +[[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", ] [[package]] @@ -660,7 +1288,18 @@ version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.8.19", +] + +[[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", ] [[package]] @@ -669,7 +1308,18 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.8.19", +] + +[[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", ] [[package]] @@ -684,6 +1334,18 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-bigint" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-bigint" version = "0.5.5" @@ -691,7 +1353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core", + "rand_core 0.6.4", "subtle", "zeroize", ] @@ -706,6 +1368,17 @@ dependencies = [ "typenum", ] +[[package]] +name = "cs_derive" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#4bcb11f0610302110ae8109af01d5b652191b2f6" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "ctr" version = "0.9.2" @@ -716,96 +1389,243 @@ dependencies = [ ] [[package]] -name = "data-encoding" -version = "2.5.0" +name = "ctrlc" +version = "3.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345" +dependencies = [ + "nix", + "windows-sys 0.52.0", +] [[package]] -name = "der" -version = "0.7.8" +name = "curve25519-dalek" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ - "const-oid", - "pem-rfc7468", + "cfg-if 1.0.0", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "rustc_version", + "subtle", "zeroize", ] [[package]] -name = "deranged" -version = "0.3.11" +name = "curve25519-dalek-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "powerfmt", + "proc-macro2", + "quote", + "syn 2.0.51", ] [[package]] -name = "derive_more" -version = "0.99.17" +name = "darling" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" dependencies = [ + "fnv", + "ident_case", "proc-macro2", "quote", + "strsim 0.10.0", "syn 1.0.109", ] [[package]] -name = "diff" -version = "0.1.13" +name = "darling_macro" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +dependencies = [ + "darling_core", + "quote", + "syn 1.0.109", +] [[package]] -name = "digest" -version = "0.10.7" +name = "dashmap" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", + "cfg-if 1.0.0", + "hashbrown 0.14.3", + "lock_api", + "once_cell", + "parking_lot_core", ] [[package]] -name = "dirs" -version = "5.0.1" +name = "data-encoding" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] -name = "dirs-next" -version = "2.0.0" +name = "debugid" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" dependencies = [ - "cfg-if", - "dirs-sys-next", + "serde", + "uuid 1.8.0", ] [[package]] -name = "dirs-sys" -version = "0.4.1" +name = "der" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", + "const-oid", + "zeroize", ] [[package]] -name = "dirs-sys-next" -version = "0.1.2" +name = "der" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "1.0.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7abbfc297053be59290e3152f8cbcd52c8642e0728b69ee187d991d4c1af08d" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bba3e9872d7c58ce7ef0fcf1844fcc3e23ef2a58377b50df35dd98e42a5726e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", + "unicode-xid", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if 1.0.0", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", "redox_users", @@ -818,24 +1638,67 @@ version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" +[[package]] +name = "dtoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" + [[package]] name = "dunce" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +[[package]] +name = "ecdsa" +version = "0.14.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" +dependencies = [ + "der 0.6.1", + "elliptic-curve 0.12.3", + "rfc6979 0.3.1", + "signature 1.6.4", +] + [[package]] name = "ecdsa" version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "der", - "digest", - "elliptic-curve", - "rfc6979", - "signature", - "spki", + "der 0.7.8", + "digest 0.10.7", + "elliptic-curve 0.13.8", + "rfc6979 0.4.0", + "signature 2.2.0", + "spki 0.7.3", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8 0.10.2", + "signature 2.2.0", +] + +[[package]] +name = "ed25519-dalek" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand_core 0.6.4", + "serde", + "sha2 0.10.8", + "subtle", + "zeroize", ] [[package]] @@ -847,25 +1710,55 @@ dependencies = [ "serde", ] +[[package]] +name = "elliptic-curve" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" +dependencies = [ + "base16ct 0.1.1", + "crypto-bigint 0.4.9", + "der 0.6.1", + "digest 0.10.7", + "ff 0.12.1", + "generic-array", + "group 0.12.1", + "pkcs8 0.9.0", + "rand_core 0.6.4", + "sec1 0.3.0", + "subtle", + "zeroize", +] + [[package]] name = "elliptic-curve" version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ - "base16ct", - "crypto-bigint", - "digest", - "ff", + "base16ct 0.2.0", + "crypto-bigint 0.5.5", + "digest 0.10.7", + "ff 0.13.0", "generic-array", - "group", - "pkcs8", - "rand_core", - "sec1", + "group 0.13.0", + "pem-rfc7468", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "sec1 0.7.3", "subtle", "zeroize", ] +[[package]] +name = "elsa" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98e71ae4df57d214182a2e5cb90230c0192c6ddfcaa05c36453d46a54713e10" +dependencies = [ + "stable_deref_trait", +] + [[package]] name = "ena" version = "0.14.2" @@ -887,7 +1780,7 @@ version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] @@ -899,15 +1792,24 @@ dependencies = [ "base64 0.21.7", "bytes", "hex", - "k256", + "k256 0.13.1", "log", - "rand", + "rand 0.8.5", "rlp", "serde", - "sha3", + "sha3 0.10.8", "zeroize", ] +[[package]] +name = "envy" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c028f575cd4e81de7353215965" +dependencies = [ + "serde", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -924,13 +1826,22 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "error-chain" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" +dependencies = [ + "version_check", +] + [[package]] name = "etcetera" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "home", "windows-sys 0.48.0", ] @@ -943,16 +1854,16 @@ checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" dependencies = [ "aes", "ctr", - "digest", + "digest 0.10.7", "hex", "hmac", "pbkdf2 0.11.0", - "rand", + "rand 0.8.5", "scrypt", "serde", "serde_json", - "sha2", - "sha3", + "sha2 0.10.8", + "sha3 0.10.8", "thiserror", "uuid 0.8.2", ] @@ -969,7 +1880,7 @@ dependencies = [ "regex", "serde", "serde_json", - "sha3", + "sha3 0.10.8", "thiserror", "uint", ] @@ -986,7 +1897,7 @@ dependencies = [ "impl-rlp", "impl-serde", "scale-info", - "tiny-keccak", + "tiny-keccak 2.0.2", ] [[package]] @@ -1098,19 +2009,19 @@ version = "2.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aab3cef6cc1c9fd7f787043c81ad3052eff2b96a3878ef1526aa446311bdbfc9" dependencies = [ - "arrayvec", + "arrayvec 0.7.4", "bytes", - "cargo_metadata", + "cargo_metadata 0.18.1", "chrono", "const-hex", - "elliptic-curve", + "elliptic-curve 0.13.8", "ethabi", "generic-array", - "k256", - "num_enum", + "k256 0.13.1", + "num_enum 0.7.2", "once_cell", "open-fastrlp", - "rand", + "rand 0.8.5", "rlp", "serde", "serde_json", @@ -1118,7 +2029,7 @@ dependencies = [ "syn 2.0.51", "tempfile", "thiserror", - "tiny-keccak", + "tiny-keccak 2.0.2", "unicode-xid", ] @@ -1184,7 +2095,7 @@ dependencies = [ "hashers", "http", "instant", - "jsonwebtoken", + "jsonwebtoken 8.3.0", "once_cell", "pin-project", "reqwest", @@ -1212,11 +2123,11 @@ dependencies = [ "coins-bip32", "coins-bip39", "const-hex", - "elliptic-curve", + "elliptic-curve 0.13.8", "eth-keystore", "ethers-core", - "rand", - "sha2", + "rand 0.8.5", + "sha2 0.10.8", "thiserror", "tracing", ] @@ -1227,7 +2138,7 @@ version = "2.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d21df08582e0a43005018a858cc9b465c5fff9cf4056651be64f844e57d1f55f" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "const-hex", "dirs", "dunce", @@ -1246,7 +2157,7 @@ dependencies = [ "solang-parser", "svm-rs", "thiserror", - "tiny-keccak", + "tiny-keccak 2.0.2", "tokio", "tracing", "walkdir", @@ -1259,6 +2170,27 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "event-listener" +version = "5.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +dependencies = [ + "event-listener 5.3.1", + "pin-project-lite", +] + [[package]] name = "eyre" version = "0.6.12" @@ -1275,22 +2207,84 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +[[package]] +name = "ff" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "ff" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core", + "rand_core 0.6.4", "subtle", ] +[[package]] +name = "ff_ce" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b538e4231443a5b9c507caee3356f016d832cf7393d2d90f03ea3180d4e3fbc" +dependencies = [ + "byteorder", + "ff_derive_ce", + "hex", + "rand 0.4.6", + "serde", +] + +[[package]] +name = "ff_derive_ce" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b96fbccd88dbb1fac4ee4a07c2fcc4ca719a74ffbd9d2b9d41d8c8eb073d8b20" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", + "proc-macro2", + "quote", + "serde", + "syn 1.0.109", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "findshlibs" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" +dependencies = [ + "cc", + "lazy_static", + "libc", + "winapi", +] + [[package]] name = "finl_unicode" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" +[[package]] +name = "firestorm" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c5f6c2c942da57e2aaaa84b8a521489486f14e75e7fa91dab70aba913975f98" + [[package]] name = "fixed-hash" version = "0.8.0" @@ -1298,7 +2292,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] @@ -1336,6 +2330,21 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1355,6 +2364,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" + [[package]] name = "funty" version = "2.0.0" @@ -1401,6 +2416,7 @@ dependencies = [ "futures-core", "futures-task", "futures-util", + "num_cpus", ] [[package]] @@ -1507,9 +2523,11 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] [[package]] @@ -1525,25 +2543,143 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] -name = "gloo-timers" -version = "0.2.6" +name = "gloo-net" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173" dependencies = [ "futures-channel", "futures-core", + "futures-sink", + "gloo-utils", + "http", "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror", "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "group" +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "gloo-utils" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" +dependencies = [ + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "google-cloud-auth" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf7cb7864f08a92e77c26bb230d021ea57691788fb5dd51793f96965d19e7f9" +dependencies = [ + "async-trait", + "base64 0.21.7", + "google-cloud-metadata", + "google-cloud-token", + "home", + "jsonwebtoken 9.3.0", + "reqwest", + "serde", + "serde_json", + "thiserror", + "time", + "tokio", + "tracing", + "urlencoding", +] + +[[package]] +name = "google-cloud-metadata" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc279bfb50487d7bcd900e8688406475fc750fe474a835b2ab9ade9eb1fc90e2" +dependencies = [ + "reqwest", + "thiserror", + "tokio", +] + +[[package]] +name = "google-cloud-storage" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac04b29849ebdeb9fb008988cc1c4d1f0c9d121b4c7f1ddeb8061df124580e93" +dependencies = [ + "async-stream", + "async-trait", + "base64 0.21.7", + "bytes", + "futures-util", + "google-cloud-auth", + "google-cloud-metadata", + "google-cloud-token", + "hex", + "once_cell", + "percent-encoding", + "pkcs8 0.10.2", + "regex", + "reqwest", + "ring 0.17.8", + "serde", + "serde_json", + "sha2 0.10.8", + "thiserror", + "time", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "google-cloud-token" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" +dependencies = [ + "async-trait", +] + +[[package]] +name = "group" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +dependencies = [ + "ff 0.12.1", + "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", - "rand_core", + "ff 0.13.0", + "rand_core 0.6.4", "subtle", ] @@ -1559,20 +2695,29 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 2.2.3", "slab", "tokio", "tokio-util", "tracing", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] + [[package]] name = "hashbrown" version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "ahash", + "ahash 0.8.11", "allocator-api2", ] @@ -1591,7 +2736,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown", + "hashbrown 0.14.3", ] [[package]] @@ -1603,6 +2748,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.3.8" @@ -1630,7 +2781,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest", + "digest 0.10.7", ] [[package]] @@ -1642,6 +2793,17 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi", +] + [[package]] name = "http" version = "0.2.11" @@ -1725,11 +2887,67 @@ dependencies = [ "futures-util", "http", "hyper", - "rustls", + "log", + "rustls 0.21.12", + "rustls-native-certs 0.6.3", + "tokio", + "tokio-rustls 0.24.1", +] + +[[package]] +name = "hyper-timeout" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +dependencies = [ + "hyper", + "pin-project-lite", + "tokio", + "tokio-io-timeout", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", "tokio", - "tokio-rustls", + "tokio-native-tls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.5.0" @@ -1784,6 +3002,16 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + [[package]] name = "indexmap" version = "2.2.3" @@ -1791,7 +3019,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.14.3", ] [[package]] @@ -1822,7 +3050,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", ] [[package]] @@ -1831,6 +3059,15 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +[[package]] +name = "ipnetwork" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" +dependencies = [ + "serde", +] + [[package]] name = "is-terminal" version = "0.4.12" @@ -1885,2703 +3122,5358 @@ dependencies = [ ] [[package]] -name = "jsonwebtoken" -version = "8.3.0" +name = "jsonrpsee" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +checksum = "9579d0ca9fb30da026bac2f0f7d9576ec93489aeb7cd4971dd5b4617d82c79b2" dependencies = [ - "base64 0.21.7", - "pem", - "ring 0.16.20", - "serde", - "serde_json", - "simple_asn1", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-http-client", + "jsonrpsee-proc-macros", + "jsonrpsee-types", + "jsonrpsee-wasm-client", + "jsonrpsee-ws-client", + "tracing", ] [[package]] -name = "k256" -version = "0.13.1" +name = "jsonrpsee-client-transport" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +checksum = "3f9f9ed46590a8d5681975f126e22531698211b926129a40a2db47cbca429220" dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "sha2", - "signature", + "futures-channel", + "futures-util", + "gloo-net", + "http", + "jsonrpsee-core", + "pin-project", + "rustls-native-certs 0.7.0", + "rustls-pki-types", + "soketto", + "thiserror", + "tokio", + "tokio-rustls 0.25.0", + "tokio-util", + "tracing", + "url", + "webpki-roots 0.26.3", ] [[package]] -name = "keccak" -version = "0.1.5" +name = "jsonrpsee-core" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "776d009e2f591b78c038e0d053a796f94575d66ca4e77dd84bfc5e81419e436c" dependencies = [ - "cpufeatures", + "anyhow", + "async-lock", + "async-trait", + "beef", + "futures-timer", + "futures-util", + "hyper", + "jsonrpsee-types", + "pin-project", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tokio-stream", + "tracing", + "wasm-bindgen-futures", ] [[package]] -name = "lalrpop" -version = "0.20.0" +name = "jsonrpsee-http-client" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8" +checksum = "78b7de9f3219d95985eb77fd03194d7c1b56c19bce1abfcc9d07462574b15572" dependencies = [ - "ascii-canvas", - "bit-set", - "diff", - "ena", - "is-terminal", - "itertools 0.10.5", - "lalrpop-util", - "petgraph", - "regex", - "regex-syntax 0.7.5", - "string_cache", - "term", - "tiny-keccak", - "unicode-xid", + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", + "jsonrpsee-types", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower", + "tracing", + "url", ] [[package]] -name = "lalrpop-util" -version = "0.20.0" +name = "jsonrpsee-proc-macros" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d" +checksum = "d94b7505034e2737e688e1153bf81e6f93ad296695c43958d6da2e4321f0a990" +dependencies = [ + "heck 0.4.1", + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "lazy_static" -version = "1.4.0" +name = "jsonrpsee-types" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "3266dfb045c9174b24c77c2dfe0084914bb23a6b2597d70c9dc6018392e1cd1b" dependencies = [ - "spin 0.5.2", + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", ] [[package]] -name = "libc" -version = "0.2.153" +name = "jsonrpsee-wasm-client" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "30f36d27503d0efc0355c1630b74ecfb367050847bf7241a0ed75fab6dfa96c0" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", +] [[package]] -name = "libm" -version = "0.2.8" +name = "jsonrpsee-ws-client" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - -[[package]] -name = "libredox" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "073c077471e89c4b511fa88b3df9a0f0abdf4a0a2e6683dd2ab36893af87bb2d" dependencies = [ - "bitflags 2.4.2", - "libc", - "redox_syscall", + "http", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", + "url", ] [[package]] -name = "libsqlite3-sys" -version = "0.27.0" +name = "jsonwebtoken" +version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "cc", - "pkg-config", - "vcpkg", + "base64 0.21.7", + "pem 1.1.1", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1", ] [[package]] -name = "linux-raw-sys" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" - -[[package]] -name = "lock_api" -version = "0.4.11" +name = "jsonwebtoken" +version = "9.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" dependencies = [ - "autocfg", - "scopeguard", + "base64 0.21.7", + "js-sys", + "pem 3.0.4", + "ring 0.17.8", + "serde", + "serde_json", + "simple_asn1", ] [[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[package]] -name = "md-5" -version = "0.10.6" +name = "k256" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ - "cfg-if", - "digest", + "cfg-if 1.0.0", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.8", ] [[package]] -name = "memchr" -version = "2.7.1" +name = "k256" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +dependencies = [ + "cfg-if 1.0.0", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "once_cell", + "sha2 0.10.8", + "signature 2.2.0", +] [[package]] -name = "mime" -version = "0.3.17" +name = "keccak" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] [[package]] -name = "minimal-lexical" -version = "0.2.1" +name = "lalrpop" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +checksum = "da4081d44f4611b66c6dd725e6de3169f9f63905421e8626fcb86b6a898998b8" +dependencies = [ + "ascii-canvas", + "bit-set", + "diff", + "ena", + "is-terminal", + "itertools 0.10.5", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax 0.7.5", + "string_cache", + "term", + "tiny-keccak 2.0.2", + "unicode-xid", +] [[package]] -name = "miniz_oxide" -version = "0.7.2" +name = "lalrpop-util" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" -dependencies = [ - "adler", -] +checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d" [[package]] -name = "mio" -version = "0.8.11" +name = "lazy_static" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" dependencies = [ - "libc", - "wasi", - "windows-sys 0.48.0", + "spin 0.5.2", ] [[package]] -name = "new_debug_unreachable" -version = "1.0.4" +name = "lazycell" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] -name = "nom" -version = "7.1.3" +name = "leb128" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] -name = "num-bigint" -version = "0.4.4" +name = "libc" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] -name = "num-bigint-dig" -version = "0.8.4" +name = "libloading" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand", - "smallvec", - "zeroize", + "cfg-if 1.0.0", + "windows-targets 0.52.3", ] [[package]] -name = "num-conv" -version = "0.1.0" +name = "libm" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] -name = "num-integer" -version = "0.1.46" +name = "libredox" +version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ - "num-traits", + "bitflags 2.4.2", + "libc", + "redox_syscall", ] [[package]] -name = "num-iter" -version = "0.1.44" +name = "librocksdb-sys" +version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "bindgen", + "bzip2-sys", + "cc", + "glob", + "libc", + "libz-sys", + "lz4-sys", + "zstd-sys", ] [[package]] -name = "num-traits" -version = "0.2.18" +name = "libsqlite3-sys" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" dependencies = [ - "autocfg", - "libm", + "cc", + "pkg-config", + "vcpkg", ] [[package]] -name = "num_cpus" -version = "1.16.0" +name = "libz-sys" +version = "1.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" dependencies = [ - "hermit-abi", - "libc", + "cc", + "pkg-config", + "vcpkg", ] [[package]] -name = "num_enum" -version = "0.7.2" +name = "linkme" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +checksum = "ccb76662d78edc9f9bf56360d6919bdacc8b7761227727e5082f128eeb90bbf5" dependencies = [ - "num_enum_derive", + "linkme-impl", ] [[package]] -name = "num_enum_derive" -version = "0.7.2" +name = "linkme-impl" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +checksum = "f8dccda732e04fa3baf2e17cf835bfe2601c7c2edafd64417c627dabae3a8cda" dependencies = [ - "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 2.0.51", ] [[package]] -name = "number_prefix" -version = "0.4.0" +name = "linux-raw-sys" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] -name = "object" -version = "0.32.2" +name = "lock_api" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ - "memchr", + "autocfg", + "scopeguard", ] [[package]] -name = "once_cell" -version = "1.19.0" +name = "log" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] -name = "open-fastrlp" -version = "0.1.4" +name = "logos" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +checksum = "c000ca4d908ff18ac99b93a062cb8958d331c3220719c52e77cb19cc6ac5d2c1" dependencies = [ - "arrayvec", - "auto_impl", - "bytes", - "ethereum-types", - "open-fastrlp-derive", + "logos-derive", ] [[package]] -name = "open-fastrlp-derive" -version = "0.1.1" +name = "logos-codegen" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68" dependencies = [ - "bytes", + "beef", + "fnv", "proc-macro2", "quote", - "syn 1.0.109", + "regex-syntax 0.6.29", + "syn 2.0.51", ] [[package]] -name = "option-ext" -version = "0.2.0" +name = "logos-derive" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +checksum = "dbfc0d229f1f42d790440136d941afd806bc9e949e2bcb8faa813b0f00d1267e" +dependencies = [ + "logos-codegen", +] [[package]] -name = "os_info" -version = "3.8.2" +name = "lz4-sys" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" +checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" dependencies = [ - "log", - "serde", - "windows-sys 0.52.0", + "cc", + "libc", ] [[package]] -name = "parity-scale-codec" -version = "3.6.9" +name = "match_cfg" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "arrayvec", - "bitvec", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", + "regex-automata 0.1.10", ] [[package]] -name = "parity-scale-codec-derive" -version = "3.6.9" +name = "matchit" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ - "proc-macro-crate 2.0.0", - "proc-macro2", - "quote", - "syn 1.0.109", + "cfg-if 1.0.0", + "digest 0.10.7", ] [[package]] -name = "parking_lot" -version = "0.12.1" +name = "memchr" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "memoffset" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" dependencies = [ - "lock_api", - "parking_lot_core", + "autocfg", ] [[package]] -name = "parking_lot_core" -version = "0.9.9" +name = "miette" +version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.48.5", + "miette-derive", + "once_cell", + "thiserror", + "unicode-width", ] [[package]] -name = "password-hash" -version = "0.4.2" +name = "miette-derive" +version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ - "base64ct", - "rand_core", - "subtle", + "proc-macro2", + "quote", + "syn 2.0.51", ] [[package]] -name = "paste" -version = "1.0.14" +name = "mime" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] -name = "path-absolutize" -version = "3.1.1" +name = "mime_guess" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4af381fe79fa195b4909485d99f73a80792331df0625188e707854f0b3383f5" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" dependencies = [ - "path-dedot", + "mime", + "unicase", ] [[package]] -name = "path-dedot" -version = "3.1.1" +name = "mini-moka" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ba0ad7e047712414213ff67533e6dd477af0a4e1d14fb52343e53d30ea9397" +checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" dependencies = [ - "once_cell", + "crossbeam-channel 0.5.13", + "crossbeam-utils 0.8.19", + "dashmap", + "skeptic", + "smallvec", + "tagptr", + "triomphe", ] [[package]] -name = "path-slash" +name = "minimal-lexical" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] -name = "pbkdf2" -version = "0.11.0" +name = "miniz_oxide" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ - "digest", - "hmac", - "password-hash", - "sha2", + "adler", ] [[package]] -name = "pbkdf2" -version = "0.12.2" +name = "mio" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ - "digest", - "hmac", + "libc", + "wasi", + "windows-sys 0.48.0", ] [[package]] -name = "pem" -version = "1.1.1" +name = "multimap" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" + +[[package]] +name = "multivm" +version = "0.1.0" dependencies = [ - "base64 0.13.1", + "anyhow", + "circuit_sequencer_api 0.1.0", + "circuit_sequencer_api 0.1.40", + "circuit_sequencer_api 0.1.41", + "circuit_sequencer_api 0.1.42", + "circuit_sequencer_api 0.1.50", + "hex", + "itertools 0.10.5", + "once_cell", + "serde", + "thiserror", + "tracing", + "vise", + "zk_evm 1.3.1", + "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", + "zk_evm 1.4.0", + "zk_evm 1.4.1", + "zk_evm 1.5.0", + "zksync_contracts", + "zksync_state", + "zksync_system_constants", + "zksync_types", + "zksync_utils", ] [[package]] -name = "pem-rfc7468" -version = "0.7.0" +name = "native-tls" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "base64ct", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", ] [[package]] -name = "percent-encoding" -version = "2.3.1" +name = "new_debug_unreachable" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" [[package]] -name = "petgraph" -version = "0.6.4" +name = "nix" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "fixedbitset", - "indexmap", + "bitflags 2.4.2", + "cfg-if 1.0.0", + "cfg_aliases 0.1.1", + "libc", ] [[package]] -name = "pharos" -version = "0.5.3" +name = "nom" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ - "futures", - "rustc_version", + "memchr", + "minimal-lexical", ] [[package]] -name = "phf" -version = "0.11.2" +name = "nu-ansi-term" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "phf_macros", - "phf_shared 0.11.2", + "overload", + "winapi", ] [[package]] -name = "phf_generator" -version = "0.11.2" +name = "num" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ - "phf_shared 0.11.2", - "rand", + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", ] [[package]] -name = "phf_macros" -version = "0.11.2" +name = "num-bigint" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "phf_generator", - "phf_shared 0.11.2", - "proc-macro2", - "quote", - "syn 2.0.51", + "num-integer", + "num-traits", + "serde", ] [[package]] -name = "phf_shared" -version = "0.10.0" +name = "num-bigint-dig" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" dependencies = [ - "siphasher", + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", ] [[package]] -name = "phf_shared" -version = "0.11.2" +name = "num-complex" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "siphasher", + "num-traits", + "serde", ] [[package]] -name = "pin-project" -version = "1.1.4" +name = "num-conv" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "pin-project-internal", + "num-traits", ] [[package]] -name = "pin-project-internal" -version = "1.1.4" +name = "num-iter" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", + "autocfg", + "num-integer", + "num-traits", ] [[package]] -name = "pin-project-lite" -version = "0.2.13" +name = "num-modular" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "64a5fe11d4135c3bcdf3a95b18b194afa9608a5f6ff034f5d857bc9a27fb0119" +dependencies = [ + "num-integer", + "num-traits", +] [[package]] -name = "pin-utils" -version = "0.1.0" +name = "num-rational" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", + "serde", +] [[package]] -name = "pkcs1" -version = "0.7.5" +name = "num-traits" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "der", - "pkcs8", - "spki", + "autocfg", + "libm", ] [[package]] -name = "pkcs8" -version = "0.10.2" +name = "num_cpus" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "der", - "spki", + "hermit-abi", + "libc", ] [[package]] -name = "pkg-config" -version = "0.3.30" +name = "num_enum" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive 0.6.1", +] [[package]] -name = "portable-atomic" -version = "1.6.0" +name = "num_enum" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +dependencies = [ + "num_enum_derive 0.7.2", +] [[package]] -name = "powerfmt" -version = "0.2.0" +name = "num_enum_derive" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 2.0.51", +] [[package]] -name = "prettyplease" -version = "0.2.16" +name = "num_enum_derive" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ + "proc-macro-crate 3.1.0", "proc-macro2", + "quote", "syn 2.0.51", ] [[package]] -name = "primitive-types" -version = "0.12.2" +name = "number_prefix" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" -dependencies = [ - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "uint", -] +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] -name = "proc-macro-crate" -version = "1.3.1" +name = "object" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ - "once_cell", - "toml_edit 0.19.15", + "memchr", ] [[package]] -name = "proc-macro-crate" -version = "2.0.0" +name = "once_cell" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" -dependencies = [ - "toml_edit 0.20.7", -] +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] -name = "proc-macro-crate" -version = "3.1.0" +name = "opaque-debug" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" dependencies = [ - "toml_edit 0.21.1", + "arrayvec 0.7.4", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", ] [[package]] -name = "proc-macro2" -version = "1.0.78" +name = "open-fastrlp-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" dependencies = [ - "unicode-ident", + "bytes", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "proptest" -version = "1.4.0" +name = "openssl" +version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ "bitflags 2.4.2", - "lazy_static", - "num-traits", - "rand", - "rand_chacha", - "rand_xorshift", - "regex-syntax 0.8.2", - "unarray", + "cfg-if 1.0.0", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "quote" -version = "1.0.35" +name = "openssl-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", + "quote", + "syn 2.0.51", ] [[package]] -name = "radium" -version = "0.7.0" +name = "openssl-probe" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] -name = "rand" -version = "0.8.5" +name = "openssl-sys" +version = "0.9.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" dependencies = [ + "cc", "libc", - "rand_chacha", - "rand_core", + "pkg-config", + "vcpkg", ] [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "opentelemetry" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "9591d937bc0e6d2feb6f71a559540ab300ea49955229c347a517a28d27784c54" dependencies = [ - "ppv-lite86", - "rand_core", + "opentelemetry_api", + "opentelemetry_sdk", ] [[package]] -name = "rand_core" -version = "0.6.4" +name = "opentelemetry-http" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +checksum = "c7594ec0e11d8e33faf03530a4c49af7064ebba81c1480e01be67d90b356508b" dependencies = [ - "getrandom", + "async-trait", + "bytes", + "http", + "opentelemetry_api", + "reqwest", ] [[package]] -name = "rand_xorshift" -version = "0.3.0" +name = "opentelemetry-otlp" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +checksum = "7e5e5a5c4135864099f3faafbe939eb4d7f9b80ebf68a8448da961b32a7c1275" dependencies = [ - "rand_core", + "async-trait", + "futures-core", + "http", + "opentelemetry-http", + "opentelemetry-proto", + "opentelemetry-semantic-conventions", + "opentelemetry_api", + "opentelemetry_sdk", + "prost 0.11.9", + "reqwest", + "thiserror", + "tokio", + "tonic", ] [[package]] -name = "rayon" -version = "1.8.1" +name = "opentelemetry-proto" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" +checksum = "b1e3f814aa9f8c905d0ee4bde026afd3b2577a97c10e1699912e3e44f0c4cbeb" dependencies = [ - "either", - "rayon-core", + "opentelemetry_api", + "opentelemetry_sdk", + "prost 0.11.9", + "tonic", ] [[package]] -name = "rayon-core" -version = "1.12.1" +name = "opentelemetry-semantic-conventions" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "73c9f9340ad135068800e7f1b24e9e09ed9e7143f5bf8518ded3d3ec69789269" dependencies = [ - "crossbeam-deque", - "crossbeam-utils", + "opentelemetry", ] [[package]] -name = "redox_syscall" -version = "0.4.1" +name = "opentelemetry_api" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "8a81f725323db1b1206ca3da8bb19874bbd3f57c3bcd59471bfb04525b265b9b" dependencies = [ - "bitflags 1.3.2", + "futures-channel", + "futures-util", + "indexmap 1.9.3", + "js-sys", + "once_cell", + "pin-project-lite", + "thiserror", + "urlencoding", ] [[package]] -name = "redox_users" -version = "0.4.4" +name = "opentelemetry_sdk" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "fa8e705a0612d48139799fcbaba0d4a90f06277153e43dd2bdc16c6f0edd8026" dependencies = [ - "getrandom", - "libredox", + "async-trait", + "crossbeam-channel 0.5.13", + "futures-channel", + "futures-executor", + "futures-util", + "once_cell", + "opentelemetry_api", + "ordered-float 3.9.2", + "percent-encoding", + "rand 0.8.5", + "regex", + "serde_json", "thiserror", + "tokio", + "tokio-stream", ] [[package]] -name = "regex" -version = "1.10.3" +name = "option-ext" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax 0.8.2", + "num-traits", ] [[package]] -name = "regex-automata" -version = "0.4.5" +name = "ordered-float" +version = "3.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.2", + "num-traits", ] [[package]] -name = "regex-syntax" -version = "0.7.5" +name = "os_info" +version = "3.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" +checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" +dependencies = [ + "log", + "serde", + "windows-sys 0.52.0", +] [[package]] -name = "regex-syntax" -version = "0.8.2" +name = "overload" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] -name = "reqwest" -version = "0.11.24" +name = "p256" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" dependencies = [ - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-rustls", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-rustls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "webpki-roots", - "winreg", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "primeorder", + "sha2 0.10.8", ] [[package]] -name = "rfc6979" -version = "0.4.0" +name = "pairing_ce" +version = "0.28.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +checksum = "db007b21259660d025918e653508f03050bf23fb96a88601f9936329faadc597" dependencies = [ - "hmac", - "subtle", + "byteorder", + "cfg-if 1.0.0", + "ff_ce", + "rand 0.4.6", + "serde", ] [[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +name = "pairing_ce" +version = "0.28.5" +source = "git+https://github.com/matter-labs/pairing.git?rev=d24f2c5871089c4cd4f54c0ca266bb9fef6115eb#d24f2c5871089c4cd4f54c0ca266bb9fef6115eb" dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", + "byteorder", + "cfg-if 1.0.0", + "ff_ce", + "rand 0.4.6", + "serde", ] [[package]] -name = "ring" -version = "0.17.8" +name = "pairing_ce" +version = "0.28.5" +source = "git+https://github.com/matter-labs/pairing.git#d24f2c5871089c4cd4f54c0ca266bb9fef6115eb" +dependencies = [ + "byteorder", + "cfg-if 1.0.0", + "ff_ce", + "rand 0.4.6", + "serde", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" dependencies = [ - "cc", - "cfg-if", - "getrandom", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", - "windows-sys 0.52.0", + "arrayvec 0.7.4", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", ] [[package]] -name = "ripemd" -version = "0.1.3" +name = "parity-scale-codec-derive" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ - "digest", + "proc-macro-crate 2.0.0", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "rlp" -version = "0.5.2" +name = "parking" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ - "bytes", - "rlp-derive", - "rustc-hex", + "lock_api", + "parking_lot_core", ] [[package]] -name = "rlp-derive" -version = "0.1.0" +name = "parking_lot_core" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "cfg-if 1.0.0", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.48.5", ] [[package]] -name = "rsa" -version = "0.9.6" +name = "password-hash" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core", - "signature", - "spki", + "base64ct", + "rand_core 0.6.4", "subtle", - "zeroize", ] [[package]] -name = "rustc-demangle" -version = "0.1.23" +name = "paste" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] -name = "rustc-hex" -version = "2.1.0" +name = "path-absolutize" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +checksum = "e4af381fe79fa195b4909485d99f73a80792331df0625188e707854f0b3383f5" +dependencies = [ + "path-dedot", +] [[package]] -name = "rustc_version" -version = "0.4.0" +name = "path-dedot" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "07ba0ad7e047712414213ff67533e6dd477af0a4e1d14fb52343e53d30ea9397" dependencies = [ - "semver", + "once_cell", ] [[package]] -name = "rustix" -version = "0.38.31" +name = "path-slash" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "bitflags 2.4.2", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", + "digest 0.10.7", + "hmac", + "password-hash", + "sha2 0.10.8", ] [[package]] -name = "rustls" -version = "0.21.12" +name = "pbkdf2" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "log", - "ring 0.17.8", - "rustls-webpki", - "sct", + "digest 0.10.7", + "hmac", ] [[package]] -name = "rustls-pemfile" -version = "1.0.4" +name = "peeking_take_while" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" dependencies = [ - "base64 0.21.7", + "base64 0.13.1", ] [[package]] -name = "rustls-webpki" -version = "0.101.7" +name = "pem" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "base64 0.22.1", + "serde", ] [[package]] -name = "rustversion" -version = "1.0.14" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] [[package]] -name = "ryu" -version = "1.0.17" +name = "percent-encoding" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] -name = "salsa20" -version = "0.10.2" +name = "petgraph" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ - "cipher", + "fixedbitset", + "indexmap 2.2.3", ] [[package]] -name = "same-file" -version = "1.0.6" +name = "pharos" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" dependencies = [ - "winapi-util", + "futures", + "rustc_version", ] [[package]] -name = "scale-info" -version = "2.10.0" +name = "phf" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ - "cfg-if", - "derive_more", - "parity-scale-codec", - "scale-info-derive", + "phf_macros", + "phf_shared 0.11.2", ] [[package]] -name = "scale-info-derive" -version = "2.10.0" +name = "phf_generator" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", + "phf_shared 0.11.2", + "rand 0.8.5", ] [[package]] -name = "scopeguard" -version = "1.2.0" +name = "phf_macros" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.51", +] [[package]] -name = "scrypt" +name = "phf_shared" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" dependencies = [ - "hmac", - "pbkdf2 0.11.0", - "salsa20", - "sha2", + "siphasher", ] [[package]] -name = "sct" -version = "0.7.1" +name = "phf_shared" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "siphasher", ] [[package]] -name = "sec1" -version = "0.7.3" +name = "pin-project" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", + "pin-project-internal", ] [[package]] -name = "semver" -version = "1.0.22" +name = "pin-project-internal" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ - "serde", + "proc-macro2", + "quote", + "syn 2.0.51", ] [[package]] -name = "send_wrapper" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] -name = "send_wrapper" -version = "0.6.0" +name = "pin-utils" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] -name = "serde" -version = "1.0.197" +name = "pkcs1" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ - "serde_derive", + "der 0.7.8", + "pkcs8 0.10.2", + "spki 0.7.3", ] [[package]] -name = "serde_derive" -version = "1.0.197" +name = "pkcs8" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", + "der 0.6.1", + "spki 0.6.0", ] [[package]] -name = "serde_json" -version = "1.0.114" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "itoa", - "ryu", - "serde", + "der 0.7.8", + "spki 0.7.3", ] [[package]] -name = "serde_spanned" -version = "0.6.5" +name = "pkg-config" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "portable-atomic" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ - "serde", + "proc-macro2", + "syn 2.0.51", ] [[package]] -name = "serde_urlencoded" -version = "0.7.1" +name = "primeorder" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", + "elliptic-curve 0.13.8", ] [[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" +name = "primitive-types" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ - "indexmap", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "uint", ] [[package]] -name = "sha1" -version = "0.10.6" +name = "proc-macro-crate" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ - "cfg-if", - "cpufeatures", - "digest", + "once_cell", + "toml_edit 0.19.15", ] [[package]] -name = "sha2" -version = "0.10.8" +name = "proc-macro-crate" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" dependencies = [ - "cfg-if", - "cpufeatures", - "digest", + "toml_edit 0.20.7", ] [[package]] -name = "sha3" -version = "0.10.8" +name = "proc-macro-crate" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "digest", - "keccak", + "toml_edit 0.21.1", ] [[package]] -name = "signal-hook-registry" -version = "1.4.1" +name = "proc-macro-error" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ - "libc", + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", ] [[package]] -name = "signature" -version = "2.2.0" +name = "proc-macro-error-attr" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "digest", - "rand_core", + "proc-macro2", + "quote", + "version_check", ] [[package]] -name = "simple_asn1" -version = "0.6.2" +name = "proc-macro2" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ - "num-bigint", - "num-traits", - "thiserror", - "time", + "unicode-ident", ] [[package]] -name = "siphasher" -version = "0.3.11" +name = "prometheus-client" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "c1ca959da22a332509f2a73ae9e5f23f9dcfc31fd3a54d71f159495bd5909baa" +dependencies = [ + "dtoa", + "itoa", + "parking_lot", + "prometheus-client-derive-encode", +] [[package]] -name = "slab" -version = "0.4.9" +name = "prometheus-client-derive-encode" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ - "autocfg", + "proc-macro2", + "quote", + "syn 2.0.51", ] [[package]] -name = "smallvec" -version = "1.13.1" +name = "proptest" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +dependencies = [ + "bitflags 2.4.2", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha", + "rand_xorshift", + "regex-syntax 0.8.2", + "unarray", +] [[package]] -name = "smawk" -version = "0.3.2" +name = "prost" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +dependencies = [ + "bytes", + "prost-derive 0.11.9", +] [[package]] -name = "socket2" -version = "0.5.6" +name = "prost" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ - "libc", - "windows-sys 0.52.0", + "bytes", + "prost-derive 0.12.6", ] [[package]] -name = "solang-parser" -version = "0.3.3" +name = "prost-build" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ - "itertools 0.11.0", - "lalrpop", - "lalrpop-util", - "phf", - "thiserror", - "unicode-xid", + "bytes", + "heck 0.5.0", + "itertools 0.12.1", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease", + "prost 0.12.6", + "prost-types", + "regex", + "syn 2.0.51", + "tempfile", ] [[package]] -name = "spin" -version = "0.5.2" +name = "prost-derive" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "spin" -version = "0.9.8" +name = "prost-derive" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ - "lock_api", + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.51", ] [[package]] -name = "spki" -version = "0.7.3" +name = "prost-reflect" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +checksum = "057237efdb71cf4b3f9396302a3d6599a92fa94063ba537b66130980ea9909f3" dependencies = [ - "base64ct", - "der", + "base64 0.21.7", + "logos", + "miette", + "once_cell", + "prost 0.12.6", + "prost-types", + "serde", + "serde-value", ] [[package]] -name = "sqlformat" -version = "0.2.3" +name = "prost-types" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ - "itertools 0.12.1", - "nom", - "unicode_categories", + "prost 0.12.6", ] [[package]] -name = "sqlx" -version = "0.7.4" +name = "protox" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa" +checksum = "00bb76c5f6221de491fe2c8f39b106330bbd9762c6511119c07940e10eb9ff11" dependencies = [ - "sqlx-core", - "sqlx-macros", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", + "bytes", + "miette", + "prost 0.12.6", + "prost-reflect", + "prost-types", + "protox-parse", + "thiserror", ] [[package]] -name = "sqlx-core" -version = "0.7.4" +name = "protox-parse" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" +checksum = "7b4581f441c58863525a3e6bec7b8de98188cf75239a56c725a3e7288450a33f" dependencies = [ - "ahash", - "atoi", - "byteorder", - "bytes", - "crc", - "crossbeam-queue", - "either", - "event-listener", - "futures-channel", - "futures-core", - "futures-intrusive", - "futures-io", - "futures-util", - "hashlink", - "hex", - "indexmap", - "log", - "memchr", - "once_cell", - "paste", - "percent-encoding", - "serde", - "serde_json", - "sha2", - "smallvec", - "sqlformat", + "logos", + "miette", + "prost-types", "thiserror", - "tokio", - "tokio-stream", - "tracing", - "url", ] [[package]] -name = "sqlx-macros" -version = "0.7.4" +name = "ptr_meta" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" dependencies = [ - "proc-macro2", - "quote", - "sqlx-core", - "sqlx-macros-core", - "syn 1.0.109", + "ptr_meta_derive", ] [[package]] -name = "sqlx-macros-core" -version = "0.7.4" +name = "ptr_meta_derive" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "dotenvy", - "either", - "heck", - "hex", - "once_cell", "proc-macro2", "quote", - "serde", - "serde_json", - "sha2", - "sqlx-core", - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", "syn 1.0.109", - "tempfile", - "tokio", - "url", ] [[package]] -name = "sqlx-mysql" -version = "0.7.4" +name = "pulldown-cmark" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418" +checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "atoi", - "base64 0.21.7", "bitflags 2.4.2", - "byteorder", - "bytes", - "crc", - "digest", - "dotenvy", - "either", - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "generic-array", - "hex", - "hkdf", - "hmac", - "itoa", - "log", - "md-5", "memchr", - "once_cell", - "percent-encoding", - "rand", - "rsa", - "serde", - "sha1", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror", - "tracing", - "whoami", + "unicase", ] [[package]] -name = "sqlx-postgres" -version = "0.7.4" +name = "quick-protobuf" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e" +checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" dependencies = [ - "atoi", - "base64 0.21.7", - "bitflags 2.4.2", "byteorder", - "crc", - "dotenvy", - "etcetera", - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "hex", - "hkdf", - "hmac", - "home", - "itoa", - "log", - "md-5", - "memchr", - "once_cell", - "rand", - "serde", - "serde_json", - "sha2", - "smallvec", - "sqlx-core", - "stringprep", - "thiserror", - "tracing", - "whoami", ] [[package]] -name = "sqlx-sqlite" -version = "0.7.4" +name = "quote" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ - "atoi", - "flume", - "futures-channel", - "futures-core", - "futures-executor", - "futures-intrusive", - "futures-util", - "libsqlite3-sys", - "log", - "percent-encoding", - "serde", - "sqlx-core", - "tracing", - "url", - "urlencoding", + "proc-macro2", ] [[package]] -name = "static_assertions" -version = "1.1.0" +name = "radium" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] -name = "string_cache" -version = "0.8.7" +name = "rand" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", + "fuchsia-cprng", + "libc", + "rand_core 0.3.1", + "rdrand", + "winapi", ] [[package]] -name = "stringprep" -version = "0.1.4" +name = "rand" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "finl_unicode", - "unicode-bidi", - "unicode-normalization", + "libc", + "rand_chacha", + "rand_core 0.6.4", ] [[package]] -name = "strsim" -version = "0.11.0" +name = "rand_chacha" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] [[package]] -name = "strum" -version = "0.25.0" +name = "rand_core" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" dependencies = [ - "strum_macros 0.25.3", + "rand_core 0.4.2", ] [[package]] -name = "strum" -version = "0.26.2" +name = "rand_core" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" [[package]] -name = "strum_macros" -version = "0.25.3" +name = "rand_core" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.51", + "getrandom", ] [[package]] -name = "strum_macros" -version = "0.26.2" +name = "rand_xorshift" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.51", + "rand_core 0.6.4", ] [[package]] -name = "subtle" -version = "2.4.1" +name = "rayon" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" +dependencies = [ + "either", + "rayon-core", +] [[package]] -name = "svm-rs" -version = "0.3.5" +name = "rayon-core" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "dirs", - "fs2", - "hex", - "once_cell", - "reqwest", - "semver", - "serde", - "serde_json", - "sha2", - "thiserror", - "url", - "zip", + "crossbeam-deque 0.8.5", + "crossbeam-utils 0.8.19", ] [[package]] -name = "syn" -version = "1.0.109" +name = "rdrand" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", + "rand_core 0.3.1", ] [[package]] -name = "syn" -version = "2.0.51" +name = "redox_syscall" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ab617d94515e94ae53b8406c628598680aa0c9587474ecbe58188f7b345d66c" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", + "bitflags 1.3.2", ] [[package]] -name = "sync_wrapper" -version = "0.1.2" +name = "redox_users" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", + "getrandom", + "libredox", + "thiserror", ] [[package]] -name = "system-configuration-sys" -version = "0.5.0" +name = "regex" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ - "core-foundation-sys", - "libc", + "aho-corasick", + "memchr", + "regex-automata 0.4.5", + "regex-syntax 0.8.2", ] [[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tempfile" -version = "3.10.1" +name = "regex-automata" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", + "regex-syntax 0.6.29", ] [[package]] -name = "term" -version = "0.7.0" +name = "regex-automata" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ - "dirs-next", - "rustversion", - "winapi", + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", ] [[package]] -name = "terminal_size" -version = "0.3.0" +name = "regex-syntax" +version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" -dependencies = [ - "rustix", - "windows-sys 0.48.0", -] +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] -name = "textwrap" -version = "0.16.1" +name = "regex-syntax" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" -dependencies = [ - "smawk", - "unicode-linebreak", - "unicode-width", -] +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] -name = "thiserror" -version = "1.0.57" +name = "regex-syntax" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" -dependencies = [ - "thiserror-impl", -] +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] -name = "thiserror-impl" -version = "1.0.57" +name = "rend" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", + "bytecheck", ] [[package]] -name = "time" -version = "0.3.34" +name = "reqwest" +version = "0.11.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "mime_guess", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls 0.21.12", + "rustls-pemfile 1.0.4", "serde", - "time-core", - "time-macros", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.24.1", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots 0.25.4", + "winreg", ] [[package]] -name = "time-core" -version = "0.1.2" +name = "rfc6979" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" +dependencies = [ + "crypto-bigint 0.4.9", + "hmac", + "zeroize", +] [[package]] -name = "time-macros" -version = "0.2.17" +name = "rfc6979" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "num-conv", - "time-core", + "hmac", + "subtle", ] [[package]] -name = "tiny-keccak" -version = "2.0.2" +name = "ring" +version = "0.16.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" dependencies = [ - "crunchy", + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", ] [[package]] -name = "tinyvec" -version = "1.6.0" +name = "ring" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ - "tinyvec_macros", + "cc", + "cfg-if 1.0.0", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", ] [[package]] -name = "tinyvec_macros" -version = "0.1.1" +name = "ripemd" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] [[package]] -name = "tokio" -version = "1.37.0" +name = "rkyv" +version = "0.7.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" dependencies = [ - "backtrace", + "bitvec", + "bytecheck", "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.48.0", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid 1.8.0", ] [[package]] -name = "tokio-macros" -version = "2.2.0" +name = "rkyv_derive" +version = "0.7.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" dependencies = [ "proc-macro2", "quote", - "syn 2.0.51", + "syn 1.0.109", ] [[package]] -name = "tokio-rustls" -version = "0.24.1" +name = "rlp" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ - "rustls", - "tokio", + "bytes", + "rlp-derive", + "rustc-hex", ] [[package]] -name = "tokio-stream" -version = "0.1.15" +name = "rlp-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "tokio-tungstenite" -version = "0.20.1" +name = "rocksdb" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" dependencies = [ - "futures-util", - "log", - "rustls", - "tokio", - "tokio-rustls", - "tungstenite", - "webpki-roots", + "libc", + "librocksdb-sys", ] [[package]] -name = "tokio-util" -version = "0.7.10" +name = "rsa" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", + "const-oid", + "digest 0.10.7", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8 0.10.2", + "rand_core 0.6.4", + "signature 2.2.0", + "spki 0.7.3", + "subtle", + "zeroize", ] [[package]] -name = "toml" -version = "0.8.12" +name = "rust_decimal" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ + "arrayvec 0.7.4", + "borsh", + "bytes", + "num-traits", + "rand 0.8.5", + "rkyv", "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.22.9", + "serde_json", ] [[package]] -name = "toml_datetime" -version = "0.6.5" +name = "rustc-demangle" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" -dependencies = [ - "serde", -] +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] -name = "toml_edit" -version = "0.19.15" +name = "rustc-hash" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow 0.5.40", -] +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] -name = "toml_edit" -version = "0.20.7" +name = "rustc-hex" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow 0.5.40", -] +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" [[package]] -name = "toml_edit" -version = "0.21.1" +name = "rustc_version" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "indexmap", - "toml_datetime", - "winnow 0.5.40", + "semver", ] [[package]] -name = "toml_edit" -version = "0.22.9" +name = "rustix" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.2", + "bitflags 2.4.2", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", ] [[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.40" +name = "rustls" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", + "ring 0.17.8", + "rustls-webpki 0.101.7", + "sct", ] [[package]] -name = "tracing-attributes" -version = "0.1.27" +name = "rustls" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", + "log", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.4", + "subtle", + "zeroize", ] [[package]] -name = "tracing-core" -version = "0.1.32" +name = "rustls-native-certs" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ - "once_cell", + "openssl-probe", + "rustls-pemfile 1.0.4", + "schannel", + "security-framework", ] [[package]] -name = "tracing-futures" -version = "0.2.5" +name = "rustls-native-certs" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" dependencies = [ - "pin-project", - "tracing", + "openssl-probe", + "rustls-pemfile 2.1.2", + "rustls-pki-types", + "schannel", + "security-framework", ] [[package]] -name = "try-lock" -version = "0.2.5" +name = "rustls-pemfile" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] [[package]] -name = "tungstenite" -version = "0.20.1" +name = "rustls-pemfile" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http", - "httparse", - "log", - "rand", - "rustls", - "sha1", - "thiserror", - "url", - "utf-8", + "base64 0.22.1", + "rustls-pki-types", ] [[package]] -name = "typenum" -version = "1.17.0" +name = "rustls-pki-types" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] -name = "types" -version = "0.1.0" +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "clap", - "ethers", - "serde", - "strum 0.26.2", - "strum_macros 0.26.2", - "thiserror", + "ring 0.17.8", + "untrusted 0.9.0", ] [[package]] -name = "uint" -version = "0.9.5" +name = "rustls-webpki" +version = "0.102.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", ] [[package]] -name = "unarray" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" - -[[package]] -name = "unicode-bidi" -version = "0.3.15" +name = "rustversion" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] -name = "unicode-ident" -version = "1.0.12" +name = "ryu" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] -name = "unicode-linebreak" -version = "0.1.5" +name = "salsa20" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] [[package]] -name = "unicode-normalization" -version = "0.1.23" +name = "same-file" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ - "tinyvec", + "winapi-util", ] [[package]] -name = "unicode-segmentation" -version = "1.11.0" +name = "scale-info" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" +dependencies = [ + "cfg-if 1.0.0", + "derive_more 0.99.17", + "parity-scale-codec", + "scale-info-derive", +] [[package]] -name = "unicode-width" -version = "0.1.11" +name = "scale-info-derive" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] -name = "unicode-xid" -version = "0.2.4" +name = "schannel" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] [[package]] -name = "unicode_categories" -version = "0.1.1" +name = "scopeguard" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "unsafe-libyaml" -version = "0.2.11" +name = "scrypt" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" +checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" +dependencies = [ + "hmac", + "pbkdf2 0.11.0", + "salsa20", + "sha2 0.10.8", +] [[package]] -name = "untrusted" +name = "sct" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] [[package]] -name = "untrusted" -version = "0.9.0" +name = "seahash" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] -name = "url" -version = "2.5.0" +name = "sec1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", + "base16ct 0.1.1", + "der 0.6.1", + "generic-array", + "pkcs8 0.9.0", + "subtle", + "zeroize", ] [[package]] -name = "urlencoding" -version = "2.1.3" +name = "sec1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct 0.2.0", + "der 0.7.8", + "generic-array", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] [[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "utf8parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" - -[[package]] -name = "uuid" -version = "0.8.2" +name = "secp256k1" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ - "getrandom", - "serde", + "secp256k1-sys", ] [[package]] -name = "uuid" -version = "1.8.0" +name = "secp256k1-sys" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" dependencies = [ - "getrandom", + "cc", ] [[package]] -name = "vcpkg" -version = "0.2.15" +name = "secrecy" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" +dependencies = [ + "zeroize", +] [[package]] -name = "version_check" -version = "0.9.4" +name = "security-framework" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] [[package]] -name = "walkdir" -version = "2.4.0" +name = "security-framework-sys" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ - "same-file", - "winapi-util", + "core-foundation-sys", + "libc", ] [[package]] -name = "want" -version = "0.3.1" +name = "semver" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" dependencies = [ - "try-lock", + "serde", ] [[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +name = "send_wrapper" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] -name = "wasite" -version = "0.1.0" +name = "send_wrapper" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] -name = "wasm-bindgen" -version = "0.2.91" +name = "sentry" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +checksum = "6ce4b57f1b521f674df7a1d200be8ff5d74e3712020ee25b553146657b5377d5" dependencies = [ - "cfg-if", - "wasm-bindgen-macro", + "httpdate", + "native-tls", + "reqwest", + "sentry-backtrace", + "sentry-contexts", + "sentry-core", + "sentry-debug-images", + "sentry-panic", + "sentry-tracing", + "tokio", + "ureq", ] [[package]] -name = "wasm-bindgen-backend" -version = "0.2.91" +name = "sentry-backtrace" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +checksum = "58cc8d4e04a73de8f718dc703943666d03f25d3e9e4d0fb271ca0b8c76dfa00e" dependencies = [ - "bumpalo", - "log", + "backtrace", "once_cell", - "proc-macro2", - "quote", - "syn 2.0.51", - "wasm-bindgen-shared", + "regex", + "sentry-core", ] [[package]] -name = "wasm-bindgen-futures" -version = "0.4.41" +name = "sentry-contexts" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +checksum = "6436c1bad22cdeb02179ea8ef116ffc217797c028927def303bc593d9320c0d1" dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", + "hostname", + "libc", + "os_info", + "rustc_version", + "sentry-core", + "uname", ] [[package]] -name = "wasm-bindgen-macro" -version = "0.2.91" +name = "sentry-core" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +checksum = "901f761681f97db3db836ef9e094acdd8756c40215326c194201941947164ef1" dependencies = [ - "quote", - "wasm-bindgen-macro-support", + "once_cell", + "rand 0.8.5", + "sentry-types", + "serde", + "serde_json", ] [[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.91" +name = "sentry-debug-images" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +checksum = "afdb263e73d22f39946f6022ed455b7561b22ff5553aca9be3c6a047fa39c328" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", - "wasm-bindgen-backend", - "wasm-bindgen-shared", + "findshlibs", + "once_cell", + "sentry-core", ] [[package]] -name = "wasm-bindgen-shared" -version = "0.2.91" +name = "sentry-panic" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" +checksum = "74fbf1c163f8b6a9d05912e1b272afa27c652e8b47ea60cb9a57ad5e481eea99" +dependencies = [ + "sentry-backtrace", + "sentry-core", +] [[package]] -name = "web-sys" -version = "0.3.68" +name = "sentry-tracing" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +checksum = "82eabcab0a047040befd44599a1da73d3adb228ff53b5ed9795ae04535577704" dependencies = [ - "js-sys", - "wasm-bindgen", + "sentry-backtrace", + "sentry-core", + "tracing-core", + "tracing-subscriber", ] [[package]] -name = "webpki-roots" -version = "0.25.4" +name = "sentry-types" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "da956cca56e0101998c8688bc65ce1a96f00673a0e58e663664023d4c7911e82" +dependencies = [ + "debugid", + "hex", + "rand 0.8.5", + "serde", + "serde_json", + "thiserror", + "time", + "url", + "uuid 1.8.0", +] [[package]] -name = "whoami" -version = "1.5.1" +name = "seq-macro" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" +checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ - "redox_syscall", - "wasite", + "serde_derive", ] [[package]] -name = "winapi" -version = "0.3.9" +name = "serde-value" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "ordered-float 2.10.1", + "serde", ] [[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" +name = "serde_derive" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] [[package]] -name = "winapi-util" -version = "0.1.6" +name = "serde_json" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" dependencies = [ - "winapi", + "itoa", + "ryu", + "serde", ] [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "serde_spanned" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +dependencies = [ + "serde", +] [[package]] -name = "windows-sys" -version = "0.48.0" +name = "serde_urlencoded" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ - "windows-targets 0.48.5", + "form_urlencoded", + "itoa", + "ryu", + "serde", ] [[package]] -name = "windows-sys" -version = "0.52.0" +name = "serde_with" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" dependencies = [ - "windows-targets 0.52.3", + "base64 0.13.1", + "serde", + "serde_with_macros", ] [[package]] -name = "windows-targets" -version = "0.48.5" +name = "serde_with_macros" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "darling", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "windows-targets" -version = "0.52.3" +name = "serde_yaml" +version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "windows_aarch64_gnullvm 0.52.3", - "windows_aarch64_msvc 0.52.3", - "windows_i686_gnu 0.52.3", - "windows_i686_msvc 0.52.3", - "windows_x86_64_gnu 0.52.3", - "windows_x86_64_gnullvm 0.52.3", - "windows_x86_64_msvc 0.52.3", + "indexmap 2.2.3", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" +name = "sha-1" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.3" +name = "sha1" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.7", +] [[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +name = "sha2" +version = "0.10.6" +source = "git+https://github.com/RustCrypto/hashes.git?rev=1731ced4a116d61ba9dc6ee6d0f38fb8102e357a#1731ced4a116d61ba9dc6ee6d0f38fb8102e357a" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.7", +] [[package]] -name = "windows_aarch64_msvc" -version = "0.52.3" +name = "sha2" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.7", +] [[package]] -name = "windows_i686_gnu" -version = "0.48.5" +name = "sha3" +version = "0.10.6" +source = "git+https://github.com/RustCrypto/hashes.git?rev=7a187e934c1f6c68e4b4e5cf37541b7a0d64d303#7a187e934c1f6c68e4b4e5cf37541b7a0d64d303" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sha3" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] [[package]] -name = "windows_i686_gnu" -version = "0.52.3" +name = "sharded-slab" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] [[package]] -name = "windows_i686_msvc" -version = "0.48.5" +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] -name = "windows_i686_msvc" -version = "0.52.3" +name = "signal-hook-registry" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] [[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" +name = "signature" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] [[package]] -name = "windows_x86_64_gnu" -version = "0.52.3" +name = "signature" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] [[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" +name = "simdutf8" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" [[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.3" +name = "simple_asn1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror", + "time", +] [[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" +name = "siphasher" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] -name = "windows_x86_64_msvc" -version = "0.52.3" +name = "skeptic" +version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" +checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" +dependencies = [ + "bytecount", + "cargo_metadata 0.14.2", + "error-chain", + "glob", + "pulldown-cmark", + "tempfile", + "walkdir", +] [[package]] -name = "winnow" -version = "0.5.40" +name = "slab" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ - "memchr", + "autocfg", ] [[package]] -name = "winnow" -version = "0.6.2" +name = "smallvec" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a4191c47f15cc3ec71fcb4913cb83d58def65dd3787610213c649283b5ce178" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" dependencies = [ - "memchr", + "serde", ] [[package]] -name = "winreg" -version = "0.50.0" +name = "smawk" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" + +[[package]] +name = "socket2" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ - "cfg-if", - "windows-sys 0.48.0", + "libc", + "windows-sys 0.52.0", ] [[package]] -name = "ws_stream_wasm" -version = "0.7.4" +name = "soketto" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ - "async_io_stream", + "base64 0.13.1", + "bytes", "futures", - "js-sys", + "httparse", "log", - "pharos", - "rustc_version", - "send_wrapper 0.6.0", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", + "rand 0.8.5", + "sha-1", ] [[package]] -name = "wyz" -version = "0.5.1" +name = "solang-parser" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" dependencies = [ - "tap", + "itertools 0.11.0", + "lalrpop", + "lalrpop-util", + "phf", + "thiserror", + "unicode-xid", ] [[package]] -name = "xshell" -version = "0.2.6" +name = "spin" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db0ab86eae739efd1b054a8d3d16041914030ac4e01cd1dca0cf252fd8b6437" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" dependencies = [ - "xshell-macros", + "lock_api", ] [[package]] -name = "xshell-macros" -version = "0.2.6" +name = "spki" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d422e8e38ec76e2f06ee439ccc765e9c6a9638b9e7c9f2e8255e4d41e8bd852" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +dependencies = [ + "base64ct", + "der 0.6.1", +] [[package]] -name = "yansi" -version = "0.5.1" +name = "spki" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der 0.7.8", +] [[package]] -name = "zerocopy" -version = "0.7.32" +name = "sqlformat" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" dependencies = [ - "zerocopy-derive", + "itertools 0.12.1", + "nom", + "unicode_categories", ] [[package]] -name = "zerocopy-derive" -version = "0.7.32" +name = "sqlx" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", ] [[package]] -name = "zeroize" -version = "1.7.0" +name = "sqlx-core" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" dependencies = [ - "zeroize_derive", + "ahash 0.8.11", + "atoi", + "bigdecimal", + "byteorder", + "bytes", + "chrono", + "crc", + "crossbeam-queue 0.3.11", + "either", + "event-listener 2.5.3", + "futures-channel", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashlink", + "hex", + "indexmap 2.2.3", + "ipnetwork", + "log", + "memchr", + "native-tls", + "once_cell", + "paste", + "percent-encoding", + "rust_decimal", + "serde", + "serde_json", + "sha2 0.10.8", + "smallvec", + "sqlformat", + "thiserror", + "tokio", + "tokio-stream", + "tracing", + "url", ] [[package]] -name = "zeroize_derive" -version = "1.4.2" +name = "sqlx-macros" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" dependencies = [ "proc-macro2", "quote", - "syn 2.0.51", + "sqlx-core", + "sqlx-macros-core", + "syn 1.0.109", ] [[package]] -name = "zip" -version = "0.6.6" +name = "sqlx-macros-core" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8" dependencies = [ - "aes", - "byteorder", - "bzip2", + "dotenvy", + "either", + "heck 0.4.1", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2 0.10.8", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn 1.0.109", + "tempfile", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418" +dependencies = [ + "atoi", + "base64 0.21.7", + "bigdecimal", + "bitflags 2.4.2", + "byteorder", + "bytes", + "chrono", + "crc", + "digest 0.10.7", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "rust_decimal", + "serde", + "sha1", + "sha2 0.10.8", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e" +dependencies = [ + "atoi", + "base64 0.21.7", + "bigdecimal", + "bitflags 2.4.2", + "byteorder", + "chrono", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "ipnetwork", + "itoa", + "log", + "md-5", + "memchr", + "num-bigint", + "once_cell", + "rand 0.8.5", + "rust_decimal", + "serde", + "serde_json", + "sha2 0.10.8", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa" +dependencies = [ + "atoi", + "chrono", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "sqlx-core", + "tracing", + "url", + "urlencoding", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", +] + +[[package]] +name = "stringprep" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" +dependencies = [ + "finl_unicode", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" + +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +dependencies = [ + "strum_macros 0.24.3", +] + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros 0.25.3", +] + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.51", +] + +[[package]] +name = "strum_macros" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.51", +] + +[[package]] +name = "subtle" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" + +[[package]] +name = "svm-rs" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" +dependencies = [ + "dirs", + "fs2", + "hex", + "once_cell", + "reqwest", + "semver", + "serde", + "serde_json", + "sha2 0.10.8", + "thiserror", + "url", + "zip", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ab617d94515e94ae53b8406c628598680aa0c9587474ecbe58188f7b345d66c" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tagptr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if 1.0.0", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "textwrap" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" +dependencies = [ + "smawk", + "unicode-linebreak", + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if 1.0.0", + "once_cell", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d8a021c69bb74a44ccedb824a046447e2c84a01df9e5c20779750acb38e11b2" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-io-timeout" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +dependencies = [ + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls 0.21.12", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls 0.22.4", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls 0.21.12", + "tokio", + "tokio-rustls 0.24.1", + "tungstenite", + "webpki-roots 0.25.4", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.9", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.2.3", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.2.3", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.2.3", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" +dependencies = [ + "indexmap 2.2.3", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.6.2", +] + +[[package]] +name = "tonic" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +dependencies = [ + "async-trait", + "axum", + "base64 0.21.7", + "bytes", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-timeout", + "percent-encoding", + "pin-project", + "prost 0.11.9", + "tokio", + "tokio-stream", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-opentelemetry" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75327c6b667828ddc28f5e3f169036cb793c3f588d83bf0f262a7f062ffed3c8" +dependencies = [ + "once_cell", + "opentelemetry", + "opentelemetry_sdk", + "smallvec", + "tracing", + "tracing-core", + "tracing-log 0.1.4", + "tracing-subscriber", +] + +[[package]] +name = "tracing-serde" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +dependencies = [ + "serde", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec", + "thread_local", + "time", + "tracing", + "tracing-core", + "tracing-log 0.2.0", + "tracing-serde", +] + +[[package]] +name = "triomphe" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "rand 0.8.5", + "rustls 0.21.12", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "types" +version = "0.1.0" +dependencies = [ + "clap", + "ethers", + "serde", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", +] + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "uname" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8" +dependencies = [ + "libc", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + +[[package]] +name = "unroll" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ad948c1cb799b1a70f836077721a92a35ac177d4daddf4c20a633786d4cf618" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "unsafe-libyaml" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "ureq" +version = "2.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd" +dependencies = [ + "base64 0.22.1", + "log", + "native-tls", + "once_cell", + "url", +] + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "uuid" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "vise" +version = "0.1.0" +source = "git+https://github.com/matter-labs/vise.git?rev=a5bb80c9ce7168663114ee30e794d6dc32159ee4#a5bb80c9ce7168663114ee30e794d6dc32159ee4" +dependencies = [ + "compile-fmt", + "elsa", + "linkme", + "once_cell", + "prometheus-client", + "vise-macros", +] + +[[package]] +name = "vise-macros" +version = "0.1.0" +source = "git+https://github.com/matter-labs/vise.git?rev=a5bb80c9ce7168663114ee30e794d6dc32159ee4#a5bb80c9ce7168663114ee30e794d6dc32159ee4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "vlog" +version = "0.1.0" +dependencies = [ + "chrono", + "opentelemetry", + "opentelemetry-otlp", + "opentelemetry-semantic-conventions", + "sentry", + "serde", + "serde_json", + "tracing", + "tracing-opentelemetry", + "tracing-subscriber", +] + +[[package]] +name = "walkdir" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +dependencies = [ + "cfg-if 1.0.0", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.51", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" + +[[package]] +name = "wasm-streams" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "webpki-roots" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "whoami" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" +dependencies = [ + "redox_syscall", + "wasite", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.3", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.3", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f" +dependencies = [ + "windows_aarch64_gnullvm 0.52.3", + "windows_aarch64_msvc 0.52.3", + "windows_i686_gnu 0.52.3", + "windows_i686_msvc 0.52.3", + "windows_x86_64_gnu 0.52.3", + "windows_x86_64_gnullvm 0.52.3", + "windows_x86_64_msvc 0.52.3", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a4191c47f15cc3ec71fcb4913cb83d58def65dd3787610213c649283b5ce178" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if 1.0.0", + "windows-sys 0.48.0", +] + +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version", + "send_wrapper 0.6.0", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "xshell" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db0ab86eae739efd1b054a8d3d16041914030ac4e01cd1dca0cf252fd8b6437" +dependencies = [ + "xshell-macros", +] + +[[package]] +name = "xshell-macros" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d422e8e38ec76e2f06ee439ccc765e9c6a9638b9e7c9f2e8255e4d41e8bd852" + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "zeroize" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "aes", + "byteorder", + "bzip2", "constant_time_eq", "crc32fast", - "crossbeam-utils", + "crossbeam-utils 0.8.19", + "flate2", + "hmac", + "pbkdf2 0.11.0", + "sha1", + "time", + "zstd", +] + +[[package]] +name = "zk_evm" +version = "1.3.1" +source = "git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.1-rc2#0a7c775932db4839ff6b7fb0db9bdb3583ab54c0" +dependencies = [ + "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", + "k256 0.11.6", + "lazy_static", + "num", + "serde", + "serde_json", + "sha2 0.10.6", + "sha3 0.10.6", + "static_assertions", + "zkevm_opcode_defs 1.3.1", +] + +[[package]] +name = "zk_evm" +version = "1.3.3" +source = "git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2#fbee20f5bac7d6ca3e22ae69b2077c510a07de4e" +dependencies = [ + "anyhow", + "lazy_static", + "num", + "serde", + "serde_json", + "static_assertions", + "zk_evm_abstractions 0.1.0", + "zkevm_opcode_defs 1.3.2", +] + +[[package]] +name = "zk_evm" +version = "1.3.3" +source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.3.3#fbee20f5bac7d6ca3e22ae69b2077c510a07de4e" +dependencies = [ + "anyhow", + "lazy_static", + "num", + "serde", + "serde_json", + "static_assertions", + "zk_evm_abstractions 0.1.0", + "zkevm_opcode_defs 1.3.2", +] + +[[package]] +name = "zk_evm" +version = "1.4.0" +source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.4.0#dd76fc5badf2c05278a21b38015a7798fe2fe358" +dependencies = [ + "anyhow", + "lazy_static", + "num", + "serde", + "serde_json", + "static_assertions", + "zk_evm_abstractions 0.1.0", + "zkevm_opcode_defs 1.3.2", +] + +[[package]] +name = "zk_evm" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.4.1#6250dbf64b2d14ced87a127735da559f27a432d5" +dependencies = [ + "anyhow", + "lazy_static", + "num", + "serde", + "serde_json", + "static_assertions", + "zk_evm_abstractions 1.4.1", + "zkevm_opcode_defs 1.4.1", +] + +[[package]] +name = "zk_evm" +version = "1.5.0" +source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.5.0#0c5cdca00cca4fa0a8c49147a11048c24f8a4b12" +dependencies = [ + "anyhow", + "lazy_static", + "num", + "serde", + "serde_json", + "static_assertions", + "zk_evm_abstractions 1.5.0", +] + +[[package]] +name = "zk_evm_abstractions" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git#32dd320953841aa78579d9da08abbc70bcaed175" +dependencies = [ + "anyhow", + "num_enum 0.6.1", + "serde", + "static_assertions", + "zkevm_opcode_defs 1.3.2", +] + +[[package]] +name = "zk_evm_abstractions" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git?branch=v1.4.1#0aac08c3b097ee8147e748475117ac46bddcdcef" +dependencies = [ + "anyhow", + "num_enum 0.6.1", + "serde", + "static_assertions", + "zkevm_opcode_defs 1.4.1", +] + +[[package]] +name = "zk_evm_abstractions" +version = "1.5.0" +source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git?branch=v1.5.0#e464b2cf2b146d883be80e7d690c752bf670ff05" +dependencies = [ + "anyhow", + "num_enum 0.6.1", + "serde", + "static_assertions", + "zkevm_opcode_defs 1.5.0", +] + +[[package]] +name = "zk_inception" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "cliclack", + "common", + "config", + "console", + "ethers", + "human-panic", + "lazy_static", + "serde", + "serde_json", + "serde_yaml", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tokio", + "toml", + "types", + "url", + "xshell", + "zksync_config", +] + +[[package]] +name = "zk_supervisor" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "common", + "config", + "human-panic", + "strum 0.26.2", + "strum_macros 0.26.2", + "tokio", + "url", + "xshell", +] + +[[package]] +name = "zkevm_circuits" +version = "1.4.0" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.0#fb3e2574b5c890342518fc930c145443f039a105" +dependencies = [ + "arrayvec 0.7.4", + "bincode", + "boojum", + "cs_derive", + "derivative", + "hex", + "itertools 0.10.5", + "rand 0.4.6", + "rand 0.8.5", + "seq-macro", + "serde", + "serde_json", + "smallvec", + "zkevm_opcode_defs 1.3.2", +] + +[[package]] +name = "zkevm_circuits" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1#8bf24543ffc5bafab34182388394e887ecb37d17" +dependencies = [ + "arrayvec 0.7.4", + "bincode", + "boojum", + "cs_derive", + "derivative", + "hex", + "itertools 0.10.5", + "rand 0.4.6", + "rand 0.8.5", + "seq-macro", + "serde", + "serde_json", + "smallvec", + "zkevm_opcode_defs 1.4.1", +] + +[[package]] +name = "zkevm_circuits" +version = "1.5.0" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.5.0#b7a86c739e8a8f88e788e90893c6e7496f6d7dfc" +dependencies = [ + "arrayvec 0.7.4", + "boojum", + "cs_derive", + "derivative", + "hex", + "itertools 0.10.5", + "rand 0.4.6", + "rand 0.8.5", + "seq-macro", + "serde", + "smallvec", + "zkevm_opcode_defs 1.5.0", +] + +[[package]] +name = "zkevm_opcode_defs" +version = "1.3.1" +source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.3.1#00d4ad2292bd55374a0fa10fe11686d7a109d8a0" +dependencies = [ + "bitflags 1.3.2", + "ethereum-types", + "lazy_static", + "sha2 0.10.8", +] + +[[package]] +name = "zkevm_opcode_defs" +version = "1.3.2" +source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.3.2#dffacadeccdfdbff4bc124d44c595c4a6eae5013" +dependencies = [ + "bitflags 2.4.2", + "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", + "ethereum-types", + "k256 0.11.6", + "lazy_static", + "sha2 0.10.6", + "sha3 0.10.6", +] + +[[package]] +name = "zkevm_opcode_defs" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.4.1#ba8228ff0582d21f64d6a319d50d0aec48e9e7b6" +dependencies = [ + "bitflags 2.4.2", + "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types", + "k256 0.13.1", + "lazy_static", + "sha2 0.10.8", + "sha3 0.10.8", +] + +[[package]] +name = "zkevm_opcode_defs" +version = "1.5.0" +source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.5.0#28d2edabf902ea9b08f6a26a4506831fd89346b9" +dependencies = [ + "bitflags 2.4.2", + "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "ethereum-types", + "k256 0.13.1", + "lazy_static", + "p256", + "serde", + "sha2 0.10.8", + "sha3 0.10.8", +] + +[[package]] +name = "zksync_basic_types" +version = "0.1.0" +dependencies = [ + "anyhow", + "chrono", + "ethabi", + "hex", + "num_enum 0.7.2", + "serde", + "serde_json", + "serde_with", + "strum 0.24.1", + "thiserror", + "tiny-keccak 2.0.2", + "url", +] + +[[package]] +name = "zksync_concurrency" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +dependencies = [ + "anyhow", + "once_cell", + "pin-project", + "rand 0.8.5", + "sha3 0.10.8", + "thiserror", + "time", + "tokio", + "tracing", + "tracing-subscriber", + "vise", +] + +[[package]] +name = "zksync_config" +version = "0.1.0" +dependencies = [ + "anyhow", + "rand 0.8.5", + "secrecy", + "serde", + "zksync_basic_types", + "zksync_consensus_utils", + "zksync_crypto_primitives", +] + +[[package]] +name = "zksync_consensus_crypto" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +dependencies = [ + "anyhow", + "blst", + "ed25519-dalek", + "ff_ce", + "hex", + "num-bigint", + "num-traits", + "pairing_ce 0.28.5 (git+https://github.com/matter-labs/pairing.git?rev=d24f2c5871089c4cd4f54c0ca266bb9fef6115eb)", + "rand 0.4.6", + "rand 0.8.5", + "sha3 0.10.8", + "thiserror", + "tracing", + "zeroize", +] + +[[package]] +name = "zksync_consensus_roles" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +dependencies = [ + "anyhow", + "bit-vec", + "hex", + "num-bigint", + "prost 0.12.6", + "rand 0.8.5", + "serde", + "thiserror", + "tracing", + "zksync_concurrency", + "zksync_consensus_crypto", + "zksync_consensus_utils", + "zksync_protobuf", + "zksync_protobuf_build", +] + +[[package]] +name = "zksync_consensus_storage" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +dependencies = [ + "anyhow", + "async-trait", + "prost 0.12.6", + "rand 0.8.5", + "thiserror", + "tracing", + "vise", + "zksync_concurrency", + "zksync_consensus_roles", + "zksync_protobuf", + "zksync_protobuf_build", +] + +[[package]] +name = "zksync_consensus_utils" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +dependencies = [ + "rand 0.8.5", + "thiserror", + "zksync_concurrency", +] + +[[package]] +name = "zksync_contracts" +version = "0.1.0" +dependencies = [ + "envy", + "ethabi", + "hex", + "once_cell", + "serde", + "serde_json", + "zksync_utils", +] + +[[package]] +name = "zksync_core_leftovers" +version = "0.1.0" +dependencies = [ + "anyhow", + "ctrlc", + "serde_yaml", + "tokio", + "zksync_config", + "zksync_dal", + "zksync_node_genesis", + "zksync_protobuf", +] + +[[package]] +name = "zksync_crypto" +version = "0.1.0" +dependencies = [ + "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "hex", + "once_cell", + "serde", + "sha2 0.10.8", + "thiserror", + "zksync_basic_types", +] + +[[package]] +name = "zksync_crypto_primitives" +version = "0.1.0" +dependencies = [ + "anyhow", + "hex", + "rand 0.8.5", + "secp256k1", + "serde", + "serde_json", + "thiserror", + "zksync_basic_types", + "zksync_utils", +] + +[[package]] +name = "zksync_dal" +version = "0.1.0" +dependencies = [ + "anyhow", + "bigdecimal", + "bincode", + "chrono", + "hex", + "itertools 0.10.5", + "prost 0.12.6", + "rand 0.8.5", + "serde", + "serde_json", + "sqlx", + "strum 0.24.1", + "thiserror", + "tokio", + "tracing", + "vise", + "zksync_consensus_roles", + "zksync_consensus_storage", + "zksync_contracts", + "zksync_db_connection", + "zksync_protobuf", + "zksync_protobuf_build", + "zksync_system_constants", + "zksync_types", + "zksync_utils", +] + +[[package]] +name = "zksync_db_connection" +version = "0.1.0" +dependencies = [ + "anyhow", + "rand 0.8.5", + "serde", + "serde_json", + "sqlx", + "thiserror", + "tokio", + "tracing", + "vise", + "zksync_basic_types", + "zksync_health_check", +] + +[[package]] +name = "zksync_eth_client" +version = "0.1.0" +dependencies = [ + "async-trait", + "jsonrpsee", + "rlp", + "thiserror", + "tracing", + "vise", + "zksync_config", + "zksync_contracts", + "zksync_eth_signer", + "zksync_types", + "zksync_web3_decl", +] + +[[package]] +name = "zksync_eth_signer" +version = "0.1.0" +dependencies = [ + "async-trait", + "rlp", + "thiserror", + "zksync_types", +] + +[[package]] +name = "zksync_health_check" +version = "0.1.0" +dependencies = [ + "async-trait", + "futures", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "vise", +] + +[[package]] +name = "zksync_merkle_tree" +version = "0.1.0" +dependencies = [ + "anyhow", + "leb128", + "once_cell", + "rayon", + "thiserror", + "thread_local", + "tracing", + "vise", + "zksync_crypto", + "zksync_prover_interface", + "zksync_storage", + "zksync_types", + "zksync_utils", +] + +[[package]] +name = "zksync_mini_merkle_tree" +version = "0.1.0" +dependencies = [ + "once_cell", + "zksync_basic_types", + "zksync_crypto", +] + +[[package]] +name = "zksync_node_genesis" +version = "0.1.0" +dependencies = [ + "anyhow", + "itertools 0.10.5", + "multivm", + "thiserror", + "tokio", + "tracing", + "vise", + "zksync_config", + "zksync_contracts", + "zksync_dal", + "zksync_eth_client", + "zksync_merkle_tree", + "zksync_system_constants", + "zksync_types", + "zksync_utils", +] + +[[package]] +name = "zksync_object_store" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "bincode", "flate2", - "hmac", - "pbkdf2 0.11.0", - "sha1", - "time", - "zstd", + "google-cloud-auth", + "google-cloud-storage", + "http", + "prost 0.12.6", + "rand 0.8.5", + "reqwest", + "serde_json", + "tokio", + "tracing", + "vise", + "zksync_config", + "zksync_protobuf", + "zksync_types", ] [[package]] -name = "zk_inception" +name = "zksync_protobuf" version = "0.1.0" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" dependencies = [ "anyhow", - "clap", - "cliclack", - "common", - "config", - "console", - "ethers", - "human-panic", - "lazy_static", + "bit-vec", + "once_cell", + "prost 0.12.6", + "prost-reflect", + "quick-protobuf", + "rand 0.8.5", "serde", "serde_json", "serde_yaml", - "strum 0.26.2", - "strum_macros 0.26.2", + "zksync_concurrency", + "zksync_consensus_utils", + "zksync_protobuf_build", +] + +[[package]] +name = "zksync_protobuf_build" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +dependencies = [ + "anyhow", + "heck 0.5.0", + "prettyplease", + "proc-macro2", + "prost-build", + "prost-reflect", + "protox", + "quote", + "syn 2.0.51", +] + +[[package]] +name = "zksync_protobuf_config" +version = "0.1.0" +dependencies = [ + "anyhow", + "hex", + "prost 0.12.6", + "rand 0.8.5", + "secrecy", + "serde_json", + "serde_yaml", + "zksync_basic_types", + "zksync_config", + "zksync_protobuf", + "zksync_protobuf_build", + "zksync_types", +] + +[[package]] +name = "zksync_prover_interface" +version = "0.1.0" +dependencies = [ + "chrono", + "circuit_sequencer_api 0.1.50", + "serde", + "serde_with", + "strum 0.24.1", + "zksync_object_store", + "zksync_types", +] + +[[package]] +name = "zksync_shared_metrics" +version = "0.1.0" +dependencies = [ + "rustc_version", + "tracing", + "vise", + "zksync_dal", + "zksync_types", +] + +[[package]] +name = "zksync_state" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "chrono", + "itertools 0.10.5", + "mini-moka", + "once_cell", + "tokio", + "tracing", + "vise", + "zksync_dal", + "zksync_shared_metrics", + "zksync_storage", + "zksync_types", + "zksync_utils", +] + +[[package]] +name = "zksync_storage" +version = "0.1.0" +dependencies = [ + "num_cpus", + "once_cell", + "rocksdb", + "thread_local", + "tracing", + "vise", +] + +[[package]] +name = "zksync_system_constants" +version = "0.1.0" +dependencies = [ + "once_cell", + "zksync_basic_types", + "zksync_utils", +] + +[[package]] +name = "zksync_types" +version = "0.1.0" +dependencies = [ + "anyhow", + "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono", + "derive_more 1.0.0-beta.6", + "hex", + "itertools 0.10.5", + "num", + "num_enum 0.7.2", + "once_cell", + "prost 0.12.6", + "rlp", + "secp256k1", + "serde", + "serde_json", + "strum 0.24.1", + "thiserror", + "zksync_basic_types", + "zksync_config", + "zksync_contracts", + "zksync_crypto_primitives", + "zksync_mini_merkle_tree", + "zksync_protobuf", + "zksync_protobuf_build", + "zksync_system_constants", + "zksync_utils", +] + +[[package]] +name = "zksync_utils" +version = "0.1.0" +dependencies = [ + "anyhow", + "bigdecimal", + "futures", + "hex", + "itertools 0.10.5", + "num", + "once_cell", + "reqwest", + "serde", + "serde_json", "thiserror", "tokio", - "toml", - "types", - "url", - "xshell", + "tracing", + "vlog", + "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", + "zksync_basic_types", ] [[package]] -name = "zk_supervisor" +name = "zksync_web3_decl" version = "0.1.0" dependencies = [ "anyhow", - "clap", - "common", - "config", - "human-panic", - "strum 0.26.2", - "strum_macros 0.26.2", + "async-trait", + "futures", + "jsonrpsee", + "pin-project-lite", + "rlp", + "serde", + "serde_json", + "thiserror", "tokio", - "url", - "xshell", + "tracing", + "vise", + "zksync_config", + "zksync_types", ] [[package]] diff --git a/zk_toolbox/Cargo.toml b/zk_toolbox/Cargo.toml index 15e1ddc4cdcb..68202922c220 100644 --- a/zk_toolbox/Cargo.toml +++ b/zk_toolbox/Cargo.toml @@ -25,6 +25,9 @@ keywords = ["zk", "cryptography", "blockchain", "ZKStack", "ZKsync"] common = { path = "crates/common" } config = { path = "crates/config" } types = { path = "crates/types" } +zksync_config = { path = "../core/lib/config" } +zksync_protobuf_config = { path = "../core/lib/protobuf_config" } +zksync_core_leftovers = { path = "../core/lib/zksync_core_leftovers" } # External dependencies anyhow = "1.0.82" diff --git a/zk_toolbox/crates/config/Cargo.toml b/zk_toolbox/crates/config/Cargo.toml index a1fb10760b45..8519735f161c 100644 --- a/zk_toolbox/crates/config/Cargo.toml +++ b/zk_toolbox/crates/config/Cargo.toml @@ -25,3 +25,6 @@ thiserror.workspace = true types.workspace = true url.workspace = true xshell.workspace = true +zksync_config.workspace = true +zksync_protobuf_config.workspace = true +zksync_core_leftovers.workspace = true diff --git a/zk_toolbox/crates/config/src/chain.rs b/zk_toolbox/crates/config/src/chain.rs index e685b0966b44..f886916ff0d8 100644 --- a/zk_toolbox/crates/config/src/chain.rs +++ b/zk_toolbox/crates/config/src/chain.rs @@ -3,15 +3,19 @@ use std::{ path::{Path, PathBuf}, }; +use anyhow::Context; use serde::{Deserialize, Serialize, Serializer}; use types::{ BaseToken, ChainId, L1BatchCommitDataGeneratorMode, L1Network, ProverMode, WalletCreation, }; use xshell::Shell; +use zksync_config::configs::GeneralConfig; +use zksync_core_leftovers::temp_config_store::decode_yaml_repr; use crate::{ consts::{ - CONFIG_NAME, CONTRACTS_FILE, GENESIS_FILE, L1_CONTRACTS_FOUNDRY, SECRETS_FILE, WALLETS_FILE, + CONFIG_NAME, CONTRACTS_FILE, GENERAL_FILE, GENESIS_FILE, L1_CONTRACTS_FOUNDRY, + SECRETS_FILE, WALLETS_FILE, }, create_localhost_wallets, traits::{FileConfigWithDefaultName, ReadConfig, SaveConfig, SaveConfigWithBasePath}, @@ -91,6 +95,12 @@ impl ChainConfig { SecretsConfig::read(self.get_shell(), self.configs.join(SECRETS_FILE)) } + pub fn get_general_config(&self) -> anyhow::Result { + let yaml = std::fs::read_to_string(self.configs.join(GENERAL_FILE)) + .context("Failed to read general config")?; + decode_yaml_repr::(&yaml) + } + pub fn path_to_foundry(&self) -> PathBuf { self.link_to_code.join(L1_CONTRACTS_FOUNDRY) } diff --git a/zk_toolbox/crates/zk_inception/Cargo.toml b/zk_toolbox/crates/zk_inception/Cargo.toml index ff22e982e3cc..9507892a3fc9 100644 --- a/zk_toolbox/crates/zk_inception/Cargo.toml +++ b/zk_toolbox/crates/zk_inception/Cargo.toml @@ -31,3 +31,4 @@ strum.workspace = true toml.workspace = true url.workspace = true thiserror.workspace = true +zksync_config.workspace = true diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 171898b2011e..0f70e870d85f 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -1,9 +1,49 @@ +use config::EcosystemConfig; use xshell::Shell; +use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; + +use crate::commands::chain; use super::args::init::ProverInitArgs; -pub(crate) async fn run(args: ProverInitArgs, _shell: &Shell) -> anyhow::Result<()> { +const PROVER_STORE_MAX_RETRIES: u16 = 10; + +pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<()> { let args = args.fill_values_with_prompt(); + let ecosystem_config = EcosystemConfig::from_file(shell)?; + + let object_store_config = if args.proof_store_dir.is_some() { + ObjectStoreConfig { + mode: ObjectStoreMode::FileBacked { + file_backed_base_path: args.proof_store_dir.unwrap(), + }, + max_retries: PROVER_STORE_MAX_RETRIES, + local_mirror_path: None, + } + } else { + ObjectStoreConfig { + mode: ObjectStoreMode::GCSWithCredentialFile { + bucket_base_url: args.proof_store_gcs_config.bucket_base_url.unwrap(), + gcs_credential_file_path: args.proof_store_gcs_config.credentials_file.unwrap(), + }, + max_retries: PROVER_STORE_MAX_RETRIES, + local_mirror_path: None, + } + }; + + let chains = ecosystem_config.list_of_chains(); + for chain in chains { + let chain_config = ecosystem_config + .load_chain(Some(chain.clone())) + .expect("Chain not found"); + let mut general_config = chain_config + .get_general_config() + .expect("General config not found"); + general_config + .prover_config + .expect("Prover config not found") + .prover_object_store = Some(object_store_config.clone()); + } Ok(()) } diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index 41e8a0ec3a47..de8d779e897a 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -197,6 +197,6 @@ pub(super) const MSG_PROOF_STORE_CONFIG_PROMPT: &str = pub(super) const MSG_PROOF_STORE_DIR_PROMPT: &str = "Provide the path where you would like to store the proofs:"; pub(super) const MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT: &str = - "Provide the base URL of the GCS bucket or leave empty to create a new one:"; + "Provide the base URL of the GCS bucket, or leave empty to create a new one:"; pub(super) const MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT: &str = "Provide the path to the GCS credentials file:"; From 22e4a22ed2acde7764cf54bf8efee712b8026500 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 20 Jun 2024 17:22:22 +0200 Subject: [PATCH 05/40] fmt --- zk_toolbox/crates/zk_inception/src/commands/prover/init.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 0f70e870d85f..4d3e06f70cda 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -2,9 +2,8 @@ use config::EcosystemConfig; use xshell::Shell; use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; -use crate::commands::chain; - use super::args::init::ProverInitArgs; +use crate::commands::chain; const PROVER_STORE_MAX_RETRIES: u16 = 10; From c569b7f3253ac44188d079738ec37c4a821749a7 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 21 Jun 2024 13:51:41 +0200 Subject: [PATCH 06/40] Fix updating prover_object_store --- core/lib/protobuf_config/src/lib.rs | 15 +- core/lib/protobuf_config/src/tests.rs | 18 +- zk_toolbox/Cargo.lock | 2418 +---------------- zk_toolbox/Cargo.toml | 1 - zk_toolbox/crates/config/Cargo.toml | 1 - zk_toolbox/crates/config/src/chain.rs | 10 +- .../zk_inception/src/commands/prover/init.rs | 9 +- 7 files changed, 170 insertions(+), 2302 deletions(-) diff --git a/core/lib/protobuf_config/src/lib.rs b/core/lib/protobuf_config/src/lib.rs index 2fd9bbd9e059..261597815341 100644 --- a/core/lib/protobuf_config/src/lib.rs +++ b/core/lib/protobuf_config/src/lib.rs @@ -13,7 +13,7 @@ mod contracts; mod database; mod eth; mod experimental; -mod general; +pub mod general; mod genesis; mod house_keeper; mod object_store; @@ -30,8 +30,9 @@ mod utils; mod vm_runner; mod wallets; -use std::str::FromStr; +use std::{path::PathBuf, str::FromStr}; +use anyhow::Context; use zksync_protobuf::ProtoRepr; use zksync_types::{H160, H256}; @@ -46,3 +47,13 @@ fn parse_h160(bytes: &str) -> anyhow::Result { pub fn read_optional_repr(field: &Option

) -> anyhow::Result> { field.as_ref().map(|x| x.read()).transpose() } + +pub fn decode_yaml_repr( + path: &PathBuf, + deny_unknown_fields: bool, +) -> anyhow::Result { + let yaml = std::fs::read_to_string(path).with_context(|| path.display().to_string())?; + let d = serde_yaml::Deserializer::from_str(&yaml); + let this: T = zksync_protobuf::serde::deserialize_proto_with_options(d, deny_unknown_fields)?; + this.read() +} diff --git a/core/lib/protobuf_config/src/tests.rs b/core/lib/protobuf_config/src/tests.rs index fad37700ae5f..59d16cf7db54 100644 --- a/core/lib/protobuf_config/src/tests.rs +++ b/core/lib/protobuf_config/src/tests.rs @@ -1,12 +1,8 @@ use std::{path::PathBuf, str::FromStr}; -use anyhow::Context; -use zksync_protobuf::{ - testonly::{test_encode_all_formats, ReprConv}, - ProtoRepr, -}; +use zksync_protobuf::testonly::{test_encode_all_formats, ReprConv}; -use crate::proto; +use crate::{decode_yaml_repr, proto}; /// Tests config <-> proto (boilerplate) conversions. #[test] @@ -44,16 +40,6 @@ fn test_encoding() { test_encode_all_formats::>(rng); } -pub fn decode_yaml_repr( - path: &PathBuf, - deny_unknown_fields: bool, -) -> anyhow::Result { - let yaml = std::fs::read_to_string(path).with_context(|| path.display().to_string())?; - let d = serde_yaml::Deserializer::from_str(&yaml); - let this: T = zksync_protobuf::serde::deserialize_proto_with_options(d, deny_unknown_fields)?; - this.read() -} - #[test] fn verify_file_parsing() { let base_path = PathBuf::from_str("../../../etc/env/file_based/").unwrap(); diff --git a/zk_toolbox/Cargo.lock b/zk_toolbox/Cargo.lock index 197cb991f30f..4f7673119704 100644 --- a/zk_toolbox/Cargo.lock +++ b/zk_toolbox/Cargo.lock @@ -33,29 +33,18 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cipher", "cpufeatures", ] -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "getrandom", "once_cell", "version_check", @@ -146,18 +135,6 @@ version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" -[[package]] -name = "arrayref" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - [[package]] name = "arrayvec" version = "0.7.4" @@ -173,39 +150,6 @@ dependencies = [ "term", ] -[[package]] -name = "async-lock" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" -dependencies = [ - "event-listener 5.3.1", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-stream" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", -] - [[package]] name = "async-trait" version = "0.1.77" @@ -307,7 +251,7 @@ checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", - "cfg-if 1.0.0", + "cfg-if", "libc", "miniz_oxide", "object", @@ -361,32 +305,6 @@ name = "beef" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" -dependencies = [ - "serde", -] - -[[package]] -name = "bellman_ce" -version = "0.3.2" -source = "git+https://github.com/matter-labs/bellman?branch=dev#5520aa2274afe73d281373c92b007a2ecdebfbea" -dependencies = [ - "arrayvec 0.7.4", - "bit-vec", - "blake2s_const", - "blake2s_simd", - "byteorder", - "cfg-if 1.0.0", - "crossbeam 0.7.3", - "futures", - "hex", - "lazy_static", - "num_cpus", - "pairing_ce 0.28.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.6", - "serde", - "smallvec", - "tiny-keccak 1.5.0", -] [[package]] name = "bigdecimal" @@ -399,36 +317,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bindgen" -version = "0.65.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" -dependencies = [ - "bitflags 1.3.2", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "peeking_take_while", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.51", -] - [[package]] name = "bit-set" version = "0.5.3" @@ -443,9 +331,6 @@ name = "bit-vec" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -dependencies = [ - "serde", -] [[package]] name = "bitflags" @@ -480,7 +365,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -488,37 +373,7 @@ name = "blake2" version = "0.10.6" source = "git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e#1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e" dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "blake2s_const" -version = "0.6.0" -source = "git+https://github.com/matter-labs/bellman?branch=dev#5520aa2274afe73d281373c92b007a2ecdebfbea" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "constant_time_eq", -] - -[[package]] -name = "blake2s_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e461a7034e85b211a4acb57ee2e6730b32912b06c08cc242243c39fc21ae6a2" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "constant_time_eq", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", + "digest", ] [[package]] @@ -530,72 +385,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "blst" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62dc83a094a71d43eeadd254b1ec2d24cb6a0bb6cadce00df51f0db594711a32" -dependencies = [ - "cc", - "glob", - "threadpool", - "zeroize", -] - -[[package]] -name = "boojum" -version = "0.2.0" -source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#4bcb11f0610302110ae8109af01d5b652191b2f6" -dependencies = [ - "arrayvec 0.7.4", - "bincode", - "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", - "const_format", - "convert_case", - "crossbeam 0.8.4", - "crypto-bigint 0.5.5", - "cs_derive", - "derivative", - "ethereum-types", - "firestorm", - "itertools 0.10.5", - "lazy_static", - "num-modular", - "num_cpus", - "pairing_ce 0.28.5 (git+https://github.com/matter-labs/pairing.git)", - "rand 0.8.5", - "rayon", - "serde", - "sha2 0.10.8", - "sha3 0.10.6", - "smallvec", - "unroll", -] - -[[package]] -name = "borsh" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" -dependencies = [ - "borsh-derive", - "cfg_aliases 0.2.1", -] - -[[package]] -name = "borsh-derive" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" -dependencies = [ - "once_cell", - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.51", - "syn_derive", -] - [[package]] name = "bs58" version = "0.5.0" @@ -618,34 +407,6 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" -[[package]] -name = "bytecheck" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "bytecount" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" - [[package]] name = "byteorder" version = "1.5.0" @@ -700,19 +461,6 @@ dependencies = [ "serde", ] -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", -] - [[package]] name = "cargo_metadata" version = "0.18.1" @@ -736,39 +484,12 @@ dependencies = [ "libc", ] -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[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.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - [[package]] name = "chrono" version = "0.4.34" @@ -794,124 +515,6 @@ dependencies = [ "inout", ] -[[package]] -name = "circuit_encodings" -version = "0.1.40" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#39665dffd576cff5007c80dd0e1b5334e230bd3b" -dependencies = [ - "derivative", - "serde", - "zk_evm 1.4.0", - "zkevm_circuits 1.4.0", -] - -[[package]] -name = "circuit_encodings" -version = "0.1.41" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#f7bd71fd4216e2c51ab7b09a95909fe48c75f35b" -dependencies = [ - "derivative", - "serde", - "zk_evm 1.4.1", - "zkevm_circuits 1.4.1", -] - -[[package]] -name = "circuit_encodings" -version = "0.1.42" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.2#3149a162a729581005fbad6dbcef027a3ee1b214" -dependencies = [ - "derivative", - "serde", - "zk_evm 1.4.1", - "zkevm_circuits 1.4.1", -] - -[[package]] -name = "circuit_encodings" -version = "0.1.50" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.5.0#5d6a06c37f4656d26a4170d22f2298cd7716c070" -dependencies = [ - "derivative", - "serde", - "zk_evm 1.5.0", - "zkevm_circuits 1.5.0", -] - -[[package]] -name = "circuit_sequencer_api" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.3.3#aba8f2a32767b79838aca7d7d00d9d23144df32f" -dependencies = [ - "bellman_ce", - "derivative", - "rayon", - "serde", - "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.3.3)", -] - -[[package]] -name = "circuit_sequencer_api" -version = "0.1.40" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#39665dffd576cff5007c80dd0e1b5334e230bd3b" -dependencies = [ - "bellman_ce", - "circuit_encodings 0.1.40", - "derivative", - "rayon", - "serde", - "zk_evm 1.4.0", -] - -[[package]] -name = "circuit_sequencer_api" -version = "0.1.41" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#f7bd71fd4216e2c51ab7b09a95909fe48c75f35b" -dependencies = [ - "bellman_ce", - "circuit_encodings 0.1.41", - "derivative", - "rayon", - "serde", - "zk_evm 1.4.1", -] - -[[package]] -name = "circuit_sequencer_api" -version = "0.1.42" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.2#3149a162a729581005fbad6dbcef027a3ee1b214" -dependencies = [ - "bellman_ce", - "circuit_encodings 0.1.42", - "derivative", - "rayon", - "serde", - "zk_evm 1.4.1", -] - -[[package]] -name = "circuit_sequencer_api" -version = "0.1.50" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.5.0#5d6a06c37f4656d26a4170d22f2298cd7716c070" -dependencies = [ - "bellman_ce", - "circuit_encodings 0.1.50", - "derivative", - "rayon", - "serde", -] - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading", -] - [[package]] name = "clap" version = "4.5.1" @@ -974,7 +577,7 @@ checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" dependencies = [ "bs58", "coins-core", - "digest 0.10.7", + "digest", "hmac", "k256 0.13.1", "serde", @@ -993,7 +596,7 @@ dependencies = [ "hmac", "once_cell", "pbkdf2 0.12.2", - "rand 0.8.5", + "rand", "sha2 0.10.8", "thiserror", ] @@ -1007,7 +610,7 @@ dependencies = [ "base64 0.21.7", "bech32", "bs58", - "digest 0.10.7", + "digest", "generic-array", "hex", "ripemd", @@ -1053,24 +656,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bed69047ed42e52c7e38d6421eeb8ceefb4f2a2b52eed59137f7bad7908f6800" [[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils 0.8.19", -] - -[[package]] -name = "config" -version = "0.1.0" +name = "config" +version = "0.1.0" dependencies = [ "anyhow", "clap", "common", "ethers", "path-absolutize", - "rand 0.8.5", + "rand", "serde", "serde_json", "strum 0.26.2", @@ -1080,7 +674,6 @@ dependencies = [ "url", "xshell", "zksync_config", - "zksync_core_leftovers", "zksync_protobuf_config", ] @@ -1103,7 +696,7 @@ version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ba00838774b4ab0233e355d26710fbfc8327a05c017f6dc4873f876d1f79f78" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", "hex", "proptest", @@ -1116,41 +709,12 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "const_format" -version = "0.2.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673" -dependencies = [ - "const_format_proc_macros", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - [[package]] name = "constant_time_eq" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "core-foundation" version = "0.9.4" @@ -1197,44 +761,7 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ - "cfg-if 1.0.0", -] - -[[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.13", - "crossbeam-deque 0.8.5", - "crossbeam-epoch 0.9.18", - "crossbeam-queue 0.3.11", - "crossbeam-utils 0.8.19", -] - -[[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", + "cfg-if", ] [[package]] @@ -1243,18 +770,7 @@ version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "crossbeam-utils 0.8.19", -] - -[[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]] @@ -1263,23 +779,8 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "crossbeam-epoch 0.9.18", - "crossbeam-utils 0.8.19", -] - -[[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]] @@ -1288,18 +789,7 @@ version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "crossbeam-utils 0.8.19", -] - -[[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]] @@ -1308,18 +798,7 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "crossbeam-utils 0.8.19", -] - -[[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]] @@ -1341,7 +820,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array", - "rand_core 0.6.4", + "rand_core", "subtle", "zeroize", ] @@ -1353,7 +832,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", - "rand_core 0.6.4", + "rand_core", "subtle", "zeroize", ] @@ -1368,17 +847,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "cs_derive" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#4bcb11f0610302110ae8109af01d5b652191b2f6" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "ctr" version = "0.9.2" @@ -1388,43 +856,6 @@ dependencies = [ "cipher", ] -[[package]] -name = "ctrlc" -version = "3.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345" -dependencies = [ - "nix", - "windows-sys 0.52.0", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if 1.0.0", - "cpufeatures", - "curve25519-dalek-derive", - "digest 0.10.7", - "fiat-crypto", - "rustc_version", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", -] - [[package]] name = "darling" version = "0.13.4" @@ -1460,19 +891,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if 1.0.0", - "hashbrown 0.14.3", - "lock_api", - "once_cell", - "parking_lot_core", -] - [[package]] name = "data-encoding" version = "2.5.0" @@ -1517,18 +935,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", - "serde", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", ] [[package]] @@ -1569,22 +975,13 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "const-oid", "crypto-common", "subtle", @@ -1605,7 +1002,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "dirs-sys-next", ] @@ -1669,38 +1066,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der 0.7.8", - "digest 0.10.7", + "digest", "elliptic-curve 0.13.8", "rfc6979 0.4.0", "signature 2.2.0", "spki 0.7.3", ] -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "pkcs8 0.10.2", - "signature 2.2.0", -] - -[[package]] -name = "ed25519-dalek" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand_core 0.6.4", - "serde", - "sha2 0.10.8", - "subtle", - "zeroize", -] - [[package]] name = "either" version = "1.10.0" @@ -1719,12 +1091,12 @@ dependencies = [ "base16ct 0.1.1", "crypto-bigint 0.4.9", "der 0.6.1", - "digest 0.10.7", + "digest", "ff 0.12.1", "generic-array", "group 0.12.1", "pkcs8 0.9.0", - "rand_core 0.6.4", + "rand_core", "sec1 0.3.0", "subtle", "zeroize", @@ -1738,13 +1110,12 @@ checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct 0.2.0", "crypto-bigint 0.5.5", - "digest 0.10.7", + "digest", "ff 0.13.0", "generic-array", "group 0.13.0", - "pem-rfc7468", "pkcs8 0.10.2", - "rand_core 0.6.4", + "rand_core", "sec1 0.7.3", "subtle", "zeroize", @@ -1780,7 +1151,7 @@ version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -1794,7 +1165,7 @@ dependencies = [ "hex", "k256 0.13.1", "log", - "rand 0.8.5", + "rand", "rlp", "serde", "sha3 0.10.8", @@ -1826,22 +1197,13 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "error-chain" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" -dependencies = [ - "version_check", -] - [[package]] name = "etcetera" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "home", "windows-sys 0.48.0", ] @@ -1854,11 +1216,11 @@ checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" dependencies = [ "aes", "ctr", - "digest 0.10.7", + "digest", "hex", "hmac", "pbkdf2 0.11.0", - "rand 0.8.5", + "rand", "scrypt", "serde", "serde_json", @@ -1897,7 +1259,7 @@ dependencies = [ "impl-rlp", "impl-serde", "scale-info", - "tiny-keccak 2.0.2", + "tiny-keccak", ] [[package]] @@ -2009,9 +1371,9 @@ version = "2.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aab3cef6cc1c9fd7f787043c81ad3052eff2b96a3878ef1526aa446311bdbfc9" dependencies = [ - "arrayvec 0.7.4", + "arrayvec", "bytes", - "cargo_metadata 0.18.1", + "cargo_metadata", "chrono", "const-hex", "elliptic-curve 0.13.8", @@ -2021,7 +1383,7 @@ dependencies = [ "num_enum 0.7.2", "once_cell", "open-fastrlp", - "rand 0.8.5", + "rand", "rlp", "serde", "serde_json", @@ -2029,7 +1391,7 @@ dependencies = [ "syn 2.0.51", "tempfile", "thiserror", - "tiny-keccak 2.0.2", + "tiny-keccak", "unicode-xid", ] @@ -2095,7 +1457,7 @@ dependencies = [ "hashers", "http", "instant", - "jsonwebtoken 8.3.0", + "jsonwebtoken", "once_cell", "pin-project", "reqwest", @@ -2126,7 +1488,7 @@ dependencies = [ "elliptic-curve 0.13.8", "eth-keystore", "ethers-core", - "rand 0.8.5", + "rand", "sha2 0.10.8", "thiserror", "tracing", @@ -2138,7 +1500,7 @@ version = "2.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d21df08582e0a43005018a858cc9b465c5fff9cf4056651be64f844e57d1f55f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "const-hex", "dirs", "dunce", @@ -2157,7 +1519,7 @@ dependencies = [ "solang-parser", "svm-rs", "thiserror", - "tiny-keccak 2.0.2", + "tiny-keccak", "tokio", "tracing", "walkdir", @@ -2170,27 +1532,6 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" -[[package]] -name = "event-listener" -version = "5.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" -dependencies = [ - "event-listener 5.3.1", - "pin-project-lite", -] - [[package]] name = "eyre" version = "0.6.12" @@ -2213,7 +1554,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" dependencies = [ - "rand_core 0.6.4", + "rand_core", "subtle", ] @@ -2223,44 +1564,10 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core 0.6.4", + "rand_core", "subtle", ] -[[package]] -name = "ff_ce" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b538e4231443a5b9c507caee3356f016d832cf7393d2d90f03ea3180d4e3fbc" -dependencies = [ - "byteorder", - "ff_derive_ce", - "hex", - "rand 0.4.6", - "serde", -] - -[[package]] -name = "ff_derive_ce" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96fbccd88dbb1fac4ee4a07c2fcc4ca719a74ffbd9d2b9d41d8c8eb073d8b20" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", - "proc-macro2", - "quote", - "serde", - "syn 1.0.109", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - [[package]] name = "findshlibs" version = "0.10.2" @@ -2279,12 +1586,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" -[[package]] -name = "firestorm" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c5f6c2c942da57e2aaaa84b8a521489486f14e75e7fa91dab70aba913975f98" - [[package]] name = "fixed-hash" version = "0.8.0" @@ -2292,7 +1593,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand", "rustc-hex", "static_assertions", ] @@ -2364,12 +1665,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" - [[package]] name = "funty" version = "2.0.0" @@ -2416,7 +1711,6 @@ dependencies = [ "futures-core", "futures-task", "futures-util", - "num_cpus", ] [[package]] @@ -2523,11 +1817,9 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ - "cfg-if 1.0.0", - "js-sys", + "cfg-if", "libc", "wasi", - "wasm-bindgen", ] [[package]] @@ -2542,27 +1834,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -[[package]] -name = "gloo-net" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173" -dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "gloo-utils", - "http", - "js-sys", - "pin-project", - "serde", - "serde_json", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "gloo-timers" version = "0.2.6" @@ -2576,111 +1847,25 @@ dependencies = [ ] [[package]] -name = "gloo-utils" -version = "0.2.0" +name = "group" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", - "web-sys", + "ff 0.12.1", + "rand_core", + "subtle", ] [[package]] -name = "google-cloud-auth" -version = "0.13.2" +name = "group" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf7cb7864f08a92e77c26bb230d021ea57691788fb5dd51793f96965d19e7f9" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "async-trait", - "base64 0.21.7", - "google-cloud-metadata", - "google-cloud-token", - "home", - "jsonwebtoken 9.3.0", - "reqwest", - "serde", - "serde_json", - "thiserror", - "time", - "tokio", - "tracing", - "urlencoding", -] - -[[package]] -name = "google-cloud-metadata" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc279bfb50487d7bcd900e8688406475fc750fe474a835b2ab9ade9eb1fc90e2" -dependencies = [ - "reqwest", - "thiserror", - "tokio", -] - -[[package]] -name = "google-cloud-storage" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac04b29849ebdeb9fb008988cc1c4d1f0c9d121b4c7f1ddeb8061df124580e93" -dependencies = [ - "async-stream", - "async-trait", - "base64 0.21.7", - "bytes", - "futures-util", - "google-cloud-auth", - "google-cloud-metadata", - "google-cloud-token", - "hex", - "once_cell", - "percent-encoding", - "pkcs8 0.10.2", - "regex", - "reqwest", - "ring 0.17.8", - "serde", - "serde_json", - "sha2 0.10.8", - "thiserror", - "time", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "google-cloud-token" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" -dependencies = [ - "async-trait", -] - -[[package]] -name = "group" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" -dependencies = [ - "ff 0.12.1", - "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.0", - "rand_core 0.6.4", - "subtle", + "ff 0.13.0", + "rand_core", + "subtle", ] [[package]] @@ -2707,9 +1892,6 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] [[package]] name = "hashbrown" @@ -2717,7 +1899,7 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "ahash 0.8.11", + "ahash", "allocator-api2", ] @@ -2781,7 +1963,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", + "digest", ] [[package]] @@ -2887,11 +2069,9 @@ dependencies = [ "futures-util", "http", "hyper", - "log", - "rustls 0.21.12", - "rustls-native-certs 0.6.3", + "rustls", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", ] [[package]] @@ -3050,7 +2230,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", ] [[package]] @@ -3059,15 +2239,6 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" -[[package]] -name = "ipnetwork" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" -dependencies = [ - "serde", -] - [[package]] name = "is-terminal" version = "0.4.12" @@ -3121,141 +2292,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "jsonrpsee" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9579d0ca9fb30da026bac2f0f7d9576ec93489aeb7cd4971dd5b4617d82c79b2" -dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-http-client", - "jsonrpsee-proc-macros", - "jsonrpsee-types", - "jsonrpsee-wasm-client", - "jsonrpsee-ws-client", - "tracing", -] - -[[package]] -name = "jsonrpsee-client-transport" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9f9ed46590a8d5681975f126e22531698211b926129a40a2db47cbca429220" -dependencies = [ - "futures-channel", - "futures-util", - "gloo-net", - "http", - "jsonrpsee-core", - "pin-project", - "rustls-native-certs 0.7.0", - "rustls-pki-types", - "soketto", - "thiserror", - "tokio", - "tokio-rustls 0.25.0", - "tokio-util", - "tracing", - "url", - "webpki-roots 0.26.3", -] - -[[package]] -name = "jsonrpsee-core" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "776d009e2f591b78c038e0d053a796f94575d66ca4e77dd84bfc5e81419e436c" -dependencies = [ - "anyhow", - "async-lock", - "async-trait", - "beef", - "futures-timer", - "futures-util", - "hyper", - "jsonrpsee-types", - "pin-project", - "rustc-hash", - "serde", - "serde_json", - "thiserror", - "tokio", - "tokio-stream", - "tracing", - "wasm-bindgen-futures", -] - -[[package]] -name = "jsonrpsee-http-client" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b7de9f3219d95985eb77fd03194d7c1b56c19bce1abfcc9d07462574b15572" -dependencies = [ - "async-trait", - "hyper", - "hyper-rustls", - "jsonrpsee-core", - "jsonrpsee-types", - "serde", - "serde_json", - "thiserror", - "tokio", - "tower", - "tracing", - "url", -] - -[[package]] -name = "jsonrpsee-proc-macros" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d94b7505034e2737e688e1153bf81e6f93ad296695c43958d6da2e4321f0a990" -dependencies = [ - "heck 0.4.1", - "proc-macro-crate 2.0.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "jsonrpsee-types" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3266dfb045c9174b24c77c2dfe0084914bb23a6b2597d70c9dc6018392e1cd1b" -dependencies = [ - "anyhow", - "beef", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "jsonrpsee-wasm-client" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30f36d27503d0efc0355c1630b74ecfb367050847bf7241a0ed75fab6dfa96c0" -dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", -] - -[[package]] -name = "jsonrpsee-ws-client" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "073c077471e89c4b511fa88b3df9a0f0abdf4a0a2e6683dd2ab36893af87bb2d" -dependencies = [ - "http", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", - "url", -] - [[package]] name = "jsonwebtoken" version = "8.3.0" @@ -3263,35 +2299,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ "base64 0.21.7", - "pem 1.1.1", + "pem", "ring 0.16.20", "serde", "serde_json", "simple_asn1", ] -[[package]] -name = "jsonwebtoken" -version = "9.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" -dependencies = [ - "base64 0.21.7", - "js-sys", - "pem 3.0.4", - "ring 0.17.8", - "serde", - "serde_json", - "simple_asn1", -] - [[package]] name = "k256" version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ecdsa 0.14.8", "elliptic-curve 0.12.3", "sha2 0.10.8", @@ -3303,7 +2324,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "ecdsa 0.16.9", "elliptic-curve 0.13.8", "once_cell", @@ -3338,7 +2359,7 @@ dependencies = [ "regex-syntax 0.7.5", "string_cache", "term", - "tiny-keccak 2.0.2", + "tiny-keccak", "unicode-xid", ] @@ -3357,34 +2378,12 @@ dependencies = [ "spin 0.5.2", ] -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "leb128" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" - [[package]] name = "libc" version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" -[[package]] -name = "libloading" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" -dependencies = [ - "cfg-if 1.0.0", - "windows-targets 0.52.3", -] - [[package]] name = "libm" version = "0.2.8" @@ -3402,22 +2401,6 @@ dependencies = [ "redox_syscall", ] -[[package]] -name = "librocksdb-sys" -version = "0.11.0+8.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" -dependencies = [ - "bindgen", - "bzip2-sys", - "cc", - "glob", - "libc", - "libz-sys", - "lz4-sys", - "zstd-sys", -] - [[package]] name = "libsqlite3-sys" version = "0.27.0" @@ -3429,17 +2412,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libz-sys" -version = "1.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - [[package]] name = "linkme" version = "0.3.27" @@ -3514,16 +2486,6 @@ dependencies = [ "logos-codegen", ] -[[package]] -name = "lz4-sys" -version = "1.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "match_cfg" version = "0.1.0" @@ -3545,20 +2507,14 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - [[package]] name = "md-5" version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ - "cfg-if 1.0.0", - "digest 0.10.7", + "cfg-if", + "digest", ] [[package]] @@ -3567,15 +2523,6 @@ version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" -[[package]] -name = "memoffset" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" -dependencies = [ - "autocfg", -] - [[package]] name = "miette" version = "5.10.0" @@ -3605,31 +2552,6 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "mime_guess" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" -dependencies = [ - "mime", - "unicase", -] - -[[package]] -name = "mini-moka" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" -dependencies = [ - "crossbeam-channel 0.5.13", - "crossbeam-utils 0.8.19", - "dashmap", - "skeptic", - "smallvec", - "tagptr", - "triomphe", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -3662,35 +2584,6 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" -[[package]] -name = "multivm" -version = "0.1.0" -dependencies = [ - "anyhow", - "circuit_sequencer_api 0.1.0", - "circuit_sequencer_api 0.1.40", - "circuit_sequencer_api 0.1.41", - "circuit_sequencer_api 0.1.42", - "circuit_sequencer_api 0.1.50", - "hex", - "itertools 0.10.5", - "once_cell", - "serde", - "thiserror", - "tracing", - "vise", - "zk_evm 1.3.1", - "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", - "zk_evm 1.4.0", - "zk_evm 1.4.1", - "zk_evm 1.5.0", - "zksync_contracts", - "zksync_state", - "zksync_system_constants", - "zksync_types", - "zksync_utils", -] - [[package]] name = "native-tls" version = "0.2.12" @@ -3715,20 +2608,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" [[package]] -name = "nix" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" -dependencies = [ - "bitflags 2.4.2", - "cfg-if 1.0.0", - "cfg_aliases 0.1.1", - "libc", -] - -[[package]] -name = "nom" -version = "7.1.3" +name = "nom" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ @@ -3783,7 +2664,7 @@ dependencies = [ "num-integer", "num-iter", "num-traits", - "rand 0.8.5", + "rand", "smallvec", "zeroize", ] @@ -3824,16 +2705,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-modular" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a5fe11d4135c3bcdf3a95b18b194afa9608a5f6ff034f5d857bc9a27fb0119" -dependencies = [ - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.2" @@ -3929,19 +2800,13 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - [[package]] name = "open-fastrlp" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" dependencies = [ - "arrayvec 0.7.4", + "arrayvec", "auto_impl", "bytes", "ethereum-types", @@ -3967,7 +2832,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ "bitflags 2.4.2", - "cfg-if 1.0.0", + "cfg-if", "foreign-types", "libc", "once_cell", @@ -4092,7 +2957,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa8e705a0612d48139799fcbaba0d4a90f06277153e43dd2bdc16c6f0edd8026" dependencies = [ "async-trait", - "crossbeam-channel 0.5.13", + "crossbeam-channel", "futures-channel", "futures-executor", "futures-util", @@ -4100,7 +2965,7 @@ dependencies = [ "opentelemetry_api", "ordered-float 3.9.2", "percent-encoding", - "rand 0.8.5", + "rand", "regex", "serde_json", "thiserror", @@ -4149,62 +3014,13 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "p256" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" -dependencies = [ - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", - "primeorder", - "sha2 0.10.8", -] - -[[package]] -name = "pairing_ce" -version = "0.28.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db007b21259660d025918e653508f03050bf23fb96a88601f9936329faadc597" -dependencies = [ - "byteorder", - "cfg-if 1.0.0", - "ff_ce", - "rand 0.4.6", - "serde", -] - -[[package]] -name = "pairing_ce" -version = "0.28.5" -source = "git+https://github.com/matter-labs/pairing.git?rev=d24f2c5871089c4cd4f54c0ca266bb9fef6115eb#d24f2c5871089c4cd4f54c0ca266bb9fef6115eb" -dependencies = [ - "byteorder", - "cfg-if 1.0.0", - "ff_ce", - "rand 0.4.6", - "serde", -] - -[[package]] -name = "pairing_ce" -version = "0.28.5" -source = "git+https://github.com/matter-labs/pairing.git#d24f2c5871089c4cd4f54c0ca266bb9fef6115eb" -dependencies = [ - "byteorder", - "cfg-if 1.0.0", - "ff_ce", - "rand 0.4.6", - "serde", -] - [[package]] name = "parity-scale-codec" version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" dependencies = [ - "arrayvec 0.7.4", + "arrayvec", "bitvec", "byte-slice-cast", "impl-trait-for-tuples", @@ -4224,12 +3040,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "parking" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" - [[package]] name = "parking_lot" version = "0.12.1" @@ -4246,7 +3056,7 @@ version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "libc", "redox_syscall", "smallvec", @@ -4260,7 +3070,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" dependencies = [ "base64ct", - "rand_core 0.6.4", + "rand_core", "subtle", ] @@ -4300,7 +3110,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.7", + "digest", "hmac", "password-hash", "sha2 0.10.8", @@ -4312,16 +3122,10 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "digest 0.10.7", + "digest", "hmac", ] -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "pem" version = "1.1.1" @@ -4331,16 +3135,6 @@ dependencies = [ "base64 0.13.1", ] -[[package]] -name = "pem" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" -dependencies = [ - "base64 0.22.1", - "serde", -] - [[package]] name = "pem-rfc7468" version = "0.7.0" @@ -4393,7 +3187,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ "phf_shared 0.11.2", - "rand 0.8.5", + "rand", ] [[package]] @@ -4530,15 +3324,6 @@ dependencies = [ "syn 2.0.51", ] -[[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve 0.13.8", -] - [[package]] name = "primitive-types" version = "0.12.2" @@ -4581,30 +3366,6 @@ dependencies = [ "toml_edit 0.21.1", ] -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro2" version = "1.0.78" @@ -4646,7 +3407,7 @@ dependencies = [ "bitflags 2.4.2", "lazy_static", "num-traits", - "rand 0.8.5", + "rand", "rand_chacha", "rand_xorshift", "regex-syntax 0.8.2", @@ -4772,37 +3533,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "pulldown-cmark" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" -dependencies = [ - "bitflags 2.4.2", - "memchr", - "unicase", -] - [[package]] name = "quick-protobuf" version = "0.8.1" @@ -4827,19 +3557,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "rdrand", - "winapi", -] - [[package]] name = "rand" version = "0.8.5" @@ -4848,7 +3565,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -4858,24 +3575,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", + "rand_core", ] -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - [[package]] name = "rand_core" version = "0.6.4" @@ -4891,7 +3593,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -4910,17 +3612,8 @@ version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-deque 0.8.5", - "crossbeam-utils 0.8.19", -] - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -dependencies = [ - "rand_core 0.3.1", + "crossbeam-deque", + "crossbeam-utils", ] [[package]] @@ -4993,15 +3686,6 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" -[[package]] -name = "rend" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" -dependencies = [ - "bytecheck", -] - [[package]] name = "reqwest" version = "0.11.24" @@ -5023,13 +3707,12 @@ dependencies = [ "js-sys", "log", "mime", - "mime_guess", "native-tls", "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.12", - "rustls-pemfile 1.0.4", + "rustls", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", @@ -5037,15 +3720,13 @@ dependencies = [ "system-configuration", "tokio", "tokio-native-tls", - "tokio-rustls 0.24.1", - "tokio-util", + "tokio-rustls", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams", "web-sys", - "webpki-roots 0.25.4", + "webpki-roots", "winreg", ] @@ -5092,7 +3773,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", - "cfg-if 1.0.0", + "cfg-if", "getrandom", "libc", "spin 0.9.8", @@ -5106,36 +3787,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "rkyv" -version = "0.7.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" -dependencies = [ - "bitvec", - "bytecheck", - "bytes", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid 1.8.0", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "digest", ] [[package]] @@ -5160,16 +3812,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "rocksdb" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" -dependencies = [ - "libc", - "librocksdb-sys", -] - [[package]] name = "rsa" version = "0.9.6" @@ -5177,47 +3819,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" dependencies = [ "const-oid", - "digest 0.10.7", + "digest", "num-bigint-dig", "num-integer", "num-traits", "pkcs1", "pkcs8 0.10.2", - "rand_core 0.6.4", + "rand_core", "signature 2.2.0", "spki 0.7.3", "subtle", "zeroize", ] -[[package]] -name = "rust_decimal" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" -dependencies = [ - "arrayvec 0.7.4", - "borsh", - "bytes", - "num-traits", - "rand 0.8.5", - "rkyv", - "serde", - "serde_json", -] - [[package]] name = "rustc-demangle" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc-hex" version = "2.1.0" @@ -5254,49 +3874,10 @@ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring 0.17.8", - "rustls-webpki 0.101.7", + "rustls-webpki", "sct", ] -[[package]] -name = "rustls" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" -dependencies = [ - "log", - "ring 0.17.8", - "rustls-pki-types", - "rustls-webpki 0.102.4", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-native-certs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" -dependencies = [ - "openssl-probe", - "rustls-pemfile 1.0.4", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-native-certs" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" -dependencies = [ - "openssl-probe", - "rustls-pemfile 2.1.2", - "rustls-pki-types", - "schannel", - "security-framework", -] - [[package]] name = "rustls-pemfile" version = "1.0.4" @@ -5306,22 +3887,6 @@ dependencies = [ "base64 0.21.7", ] -[[package]] -name = "rustls-pemfile" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" -dependencies = [ - "base64 0.22.1", - "rustls-pki-types", -] - -[[package]] -name = "rustls-pki-types" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" - [[package]] name = "rustls-webpki" version = "0.101.7" @@ -5332,17 +3897,6 @@ dependencies = [ "untrusted 0.9.0", ] -[[package]] -name = "rustls-webpki" -version = "0.102.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" -dependencies = [ - "ring 0.17.8", - "rustls-pki-types", - "untrusted 0.9.0", -] - [[package]] name = "rustversion" version = "1.0.14" @@ -5379,7 +3933,7 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f7d66a1128282b7ef025a8ead62a4a9fcf017382ec53b8ffbf4d7bf77bd3c60" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "derive_more 0.99.17", "parity-scale-codec", "scale-info-derive", @@ -5434,12 +3988,6 @@ dependencies = [ "untrusted 0.9.0", ] -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "sec1" version = "0.3.0" @@ -5591,7 +4139,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "901f761681f97db3db836ef9e094acdd8756c40215326c194201941947164ef1" dependencies = [ "once_cell", - "rand 0.8.5", + "rand", "sentry-types", "serde", "serde_json", @@ -5638,7 +4186,7 @@ checksum = "da956cca56e0101998c8688bc65ce1a96f00673a0e58e663664023d4c7911e82" dependencies = [ "debugid", "hex", - "rand 0.8.5", + "rand", "serde", "serde_json", "thiserror", @@ -5647,12 +4195,6 @@ dependencies = [ "uuid 1.8.0", ] -[[package]] -name = "seq-macro" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" - [[package]] name = "serde" version = "1.0.197" @@ -5721,7 +4263,6 @@ version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" dependencies = [ - "base64 0.13.1", "serde", "serde_with_macros", ] @@ -5751,28 +4292,15 @@ dependencies = [ "unsafe-libyaml", ] -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if 1.0.0", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "sha1" version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -5780,9 +4308,9 @@ name = "sha2" version = "0.10.6" source = "git+https://github.com/RustCrypto/hashes.git?rev=1731ced4a116d61ba9dc6ee6d0f38fb8102e357a#1731ced4a116d61ba9dc6ee6d0f38fb8102e357a" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -5791,9 +4319,9 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -5801,7 +4329,7 @@ name = "sha3" version = "0.10.6" source = "git+https://github.com/RustCrypto/hashes.git?rev=7a187e934c1f6c68e4b4e5cf37541b7a0d64d303#7a187e934c1f6c68e4b4e5cf37541b7a0d64d303" dependencies = [ - "digest 0.10.7", + "digest", "keccak", ] @@ -5811,7 +4339,7 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.7", + "digest", "keccak", ] @@ -5824,12 +4352,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - [[package]] name = "signal-hook-registry" version = "1.4.1" @@ -5845,8 +4367,8 @@ version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", + "digest", + "rand_core", ] [[package]] @@ -5855,16 +4377,10 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", + "digest", + "rand_core", ] -[[package]] -name = "simdutf8" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" - [[package]] name = "simple_asn1" version = "0.6.2" @@ -5884,25 +4400,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] -name = "skeptic" -version = "0.13.7" +name = "slab" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" -dependencies = [ - "bytecount", - "cargo_metadata 0.14.2", - "error-chain", - "glob", - "pulldown-cmark", - "tempfile", - "walkdir", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] @@ -5912,9 +4413,6 @@ name = "smallvec" version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" -dependencies = [ - "serde", -] [[package]] name = "smawk" @@ -5932,21 +4430,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "soketto" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" -dependencies = [ - "base64 0.13.1", - "bytes", - "futures", - "httparse", - "log", - "rand 0.8.5", - "sha-1", -] - [[package]] name = "solang-parser" version = "0.3.3" @@ -6026,16 +4509,14 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" dependencies = [ - "ahash 0.8.11", + "ahash", "atoi", - "bigdecimal", "byteorder", "bytes", - "chrono", "crc", - "crossbeam-queue 0.3.11", + "crossbeam-queue", "either", - "event-listener 2.5.3", + "event-listener", "futures-channel", "futures-core", "futures-intrusive", @@ -6044,14 +4525,11 @@ dependencies = [ "hashlink", "hex", "indexmap 2.2.3", - "ipnetwork", "log", "memchr", - "native-tls", "once_cell", "paste", "percent-encoding", - "rust_decimal", "serde", "serde_json", "sha2 0.10.8", @@ -6111,13 +4589,11 @@ checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418" dependencies = [ "atoi", "base64 0.21.7", - "bigdecimal", "bitflags 2.4.2", "byteorder", "bytes", - "chrono", "crc", - "digest 0.10.7", + "digest", "dotenvy", "either", "futures-channel", @@ -6134,9 +4610,8 @@ dependencies = [ "memchr", "once_cell", "percent-encoding", - "rand 0.8.5", + "rand", "rsa", - "rust_decimal", "serde", "sha1", "sha2 0.10.8", @@ -6156,10 +4631,8 @@ checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e" dependencies = [ "atoi", "base64 0.21.7", - "bigdecimal", "bitflags 2.4.2", "byteorder", - "chrono", "crc", "dotenvy", "etcetera", @@ -6171,15 +4644,12 @@ dependencies = [ "hkdf", "hmac", "home", - "ipnetwork", "itoa", "log", "md-5", "memchr", - "num-bigint", "once_cell", - "rand 0.8.5", - "rust_decimal", + "rand", "serde", "serde_json", "sha2 0.10.8", @@ -6198,7 +4668,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa" dependencies = [ "atoi", - "chrono", "flume", "futures-channel", "futures-core", @@ -6374,18 +4843,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.51", -] - [[package]] name = "sync_wrapper" version = "0.1.2" @@ -6413,12 +4870,6 @@ dependencies = [ "libc", ] -[[package]] -name = "tagptr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - [[package]] name = "tap" version = "1.0.1" @@ -6431,7 +4882,7 @@ version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "fastrand", "rustix", "windows-sys 0.52.0", @@ -6495,19 +4946,10 @@ version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "once_cell", ] -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - [[package]] name = "time" version = "0.3.34" @@ -6539,15 +4981,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-keccak" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d8a021c69bb74a44ccedb824a046447e2c84a01df9e5c20779750acb38e11b2" -dependencies = [ - "crunchy", -] - [[package]] name = "tiny-keccak" version = "2.0.2" @@ -6628,18 +5061,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.12", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" -dependencies = [ - "rustls 0.22.4", - "rustls-pki-types", + "rustls", "tokio", ] @@ -6662,11 +5084,11 @@ checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", "log", - "rustls 0.21.12", + "rustls", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", "tungstenite", - "webpki-roots 0.25.4", + "webpki-roots", ] [[package]] @@ -6677,7 +5099,6 @@ checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", - "futures-io", "futures-sink", "pin-project-lite", "tokio", @@ -6790,7 +5211,7 @@ dependencies = [ "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand 0.8.5", + "rand", "slab", "tokio", "tokio-util", @@ -6924,12 +5345,6 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "triomphe" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" - [[package]] name = "try-lock" version = "0.2.5" @@ -6948,8 +5363,8 @@ dependencies = [ "http", "httparse", "log", - "rand 0.8.5", - "rustls 0.21.12", + "rand", + "rustls", "sha1", "thiserror", "url", @@ -7001,15 +5416,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.15" @@ -7061,16 +5467,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" -[[package]] -name = "unroll" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad948c1cb799b1a70f836077721a92a35ac177d4daddf4c20a633786d4cf618" -dependencies = [ - "quote", - "syn 1.0.109", -] - [[package]] name = "unsafe-libyaml" version = "0.2.11" @@ -7246,7 +5642,7 @@ version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "wasm-bindgen-macro", ] @@ -7271,7 +5667,7 @@ version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "js-sys", "wasm-bindgen", "web-sys", @@ -7306,19 +5702,6 @@ version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" -[[package]] -name = "wasm-streams" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "web-sys" version = "0.3.68" @@ -7335,15 +5718,6 @@ version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" -[[package]] -name = "webpki-roots" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "whoami" version = "1.5.1" @@ -7550,7 +5924,7 @@ version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "cfg-if 1.0.0", + "cfg-if", "windows-sys 0.48.0", ] @@ -7654,7 +6028,7 @@ dependencies = [ "bzip2", "constant_time_eq", "crc32fast", - "crossbeam-utils 0.8.19", + "crossbeam-utils", "flate2", "hmac", "pbkdf2 0.11.0", @@ -7663,23 +6037,6 @@ dependencies = [ "zstd", ] -[[package]] -name = "zk_evm" -version = "1.3.1" -source = "git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.1-rc2#0a7c775932db4839ff6b7fb0db9bdb3583ab54c0" -dependencies = [ - "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", - "k256 0.11.6", - "lazy_static", - "num", - "serde", - "serde_json", - "sha2 0.10.6", - "sha3 0.10.6", - "static_assertions", - "zkevm_opcode_defs 1.3.1", -] - [[package]] name = "zk_evm" version = "1.3.3" @@ -7691,67 +6048,8 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions 0.1.0", - "zkevm_opcode_defs 1.3.2", -] - -[[package]] -name = "zk_evm" -version = "1.3.3" -source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.3.3#fbee20f5bac7d6ca3e22ae69b2077c510a07de4e" -dependencies = [ - "anyhow", - "lazy_static", - "num", - "serde", - "serde_json", - "static_assertions", - "zk_evm_abstractions 0.1.0", - "zkevm_opcode_defs 1.3.2", -] - -[[package]] -name = "zk_evm" -version = "1.4.0" -source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.4.0#dd76fc5badf2c05278a21b38015a7798fe2fe358" -dependencies = [ - "anyhow", - "lazy_static", - "num", - "serde", - "serde_json", - "static_assertions", - "zk_evm_abstractions 0.1.0", - "zkevm_opcode_defs 1.3.2", -] - -[[package]] -name = "zk_evm" -version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.4.1#6250dbf64b2d14ced87a127735da559f27a432d5" -dependencies = [ - "anyhow", - "lazy_static", - "num", - "serde", - "serde_json", - "static_assertions", - "zk_evm_abstractions 1.4.1", - "zkevm_opcode_defs 1.4.1", -] - -[[package]] -name = "zk_evm" -version = "1.5.0" -source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.5.0#0c5cdca00cca4fa0a8c49147a11048c24f8a4b12" -dependencies = [ - "anyhow", - "lazy_static", - "num", - "serde", - "serde_json", - "static_assertions", - "zk_evm_abstractions 1.5.0", + "zk_evm_abstractions", + "zkevm_opcode_defs", ] [[package]] @@ -7763,31 +6061,7 @@ dependencies = [ "num_enum 0.6.1", "serde", "static_assertions", - "zkevm_opcode_defs 1.3.2", -] - -[[package]] -name = "zk_evm_abstractions" -version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git?branch=v1.4.1#0aac08c3b097ee8147e748475117ac46bddcdcef" -dependencies = [ - "anyhow", - "num_enum 0.6.1", - "serde", - "static_assertions", - "zkevm_opcode_defs 1.4.1", -] - -[[package]] -name = "zk_evm_abstractions" -version = "1.5.0" -source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git?branch=v1.5.0#e464b2cf2b146d883be80e7d690c752bf670ff05" -dependencies = [ - "anyhow", - "num_enum 0.6.1", - "serde", - "static_assertions", - "zkevm_opcode_defs 1.5.0", + "zkevm_opcode_defs", ] [[package]] @@ -7833,78 +6107,6 @@ dependencies = [ "xshell", ] -[[package]] -name = "zkevm_circuits" -version = "1.4.0" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.0#fb3e2574b5c890342518fc930c145443f039a105" -dependencies = [ - "arrayvec 0.7.4", - "bincode", - "boojum", - "cs_derive", - "derivative", - "hex", - "itertools 0.10.5", - "rand 0.4.6", - "rand 0.8.5", - "seq-macro", - "serde", - "serde_json", - "smallvec", - "zkevm_opcode_defs 1.3.2", -] - -[[package]] -name = "zkevm_circuits" -version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1#8bf24543ffc5bafab34182388394e887ecb37d17" -dependencies = [ - "arrayvec 0.7.4", - "bincode", - "boojum", - "cs_derive", - "derivative", - "hex", - "itertools 0.10.5", - "rand 0.4.6", - "rand 0.8.5", - "seq-macro", - "serde", - "serde_json", - "smallvec", - "zkevm_opcode_defs 1.4.1", -] - -[[package]] -name = "zkevm_circuits" -version = "1.5.0" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.5.0#b7a86c739e8a8f88e788e90893c6e7496f6d7dfc" -dependencies = [ - "arrayvec 0.7.4", - "boojum", - "cs_derive", - "derivative", - "hex", - "itertools 0.10.5", - "rand 0.4.6", - "rand 0.8.5", - "seq-macro", - "serde", - "smallvec", - "zkevm_opcode_defs 1.5.0", -] - -[[package]] -name = "zkevm_opcode_defs" -version = "1.3.1" -source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.3.1#00d4ad2292bd55374a0fa10fe11686d7a109d8a0" -dependencies = [ - "bitflags 1.3.2", - "ethereum-types", - "lazy_static", - "sha2 0.10.8", -] - [[package]] name = "zkevm_opcode_defs" version = "1.3.2" @@ -7919,36 +6121,6 @@ dependencies = [ "sha3 0.10.6", ] -[[package]] -name = "zkevm_opcode_defs" -version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.4.1#ba8228ff0582d21f64d6a319d50d0aec48e9e7b6" -dependencies = [ - "bitflags 2.4.2", - "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types", - "k256 0.13.1", - "lazy_static", - "sha2 0.10.8", - "sha3 0.10.8", -] - -[[package]] -name = "zkevm_opcode_defs" -version = "1.5.0" -source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.5.0#28d2edabf902ea9b08f6a26a4506831fd89346b9" -dependencies = [ - "bitflags 2.4.2", - "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ethereum-types", - "k256 0.13.1", - "lazy_static", - "p256", - "serde", - "sha2 0.10.8", - "sha3 0.10.8", -] - [[package]] name = "zksync_basic_types" version = "0.1.0" @@ -7963,7 +6135,7 @@ dependencies = [ "serde_with", "strum 0.24.1", "thiserror", - "tiny-keccak 2.0.2", + "tiny-keccak", "url", ] @@ -7975,7 +6147,7 @@ dependencies = [ "anyhow", "once_cell", "pin-project", - "rand 0.8.5", + "rand", "sha3 0.10.8", "thiserror", "time", @@ -7990,7 +6162,7 @@ name = "zksync_config" version = "0.1.0" dependencies = [ "anyhow", - "rand 0.8.5", + "rand", "secrecy", "serde", "zksync_basic_types", @@ -7998,72 +6170,12 @@ dependencies = [ "zksync_crypto_primitives", ] -[[package]] -name = "zksync_consensus_crypto" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" -dependencies = [ - "anyhow", - "blst", - "ed25519-dalek", - "ff_ce", - "hex", - "num-bigint", - "num-traits", - "pairing_ce 0.28.5 (git+https://github.com/matter-labs/pairing.git?rev=d24f2c5871089c4cd4f54c0ca266bb9fef6115eb)", - "rand 0.4.6", - "rand 0.8.5", - "sha3 0.10.8", - "thiserror", - "tracing", - "zeroize", -] - -[[package]] -name = "zksync_consensus_roles" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" -dependencies = [ - "anyhow", - "bit-vec", - "hex", - "num-bigint", - "prost 0.12.6", - "rand 0.8.5", - "serde", - "thiserror", - "tracing", - "zksync_concurrency", - "zksync_consensus_crypto", - "zksync_consensus_utils", - "zksync_protobuf", - "zksync_protobuf_build", -] - -[[package]] -name = "zksync_consensus_storage" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" -dependencies = [ - "anyhow", - "async-trait", - "prost 0.12.6", - "rand 0.8.5", - "thiserror", - "tracing", - "vise", - "zksync_concurrency", - "zksync_consensus_roles", - "zksync_protobuf", - "zksync_protobuf_build", -] - [[package]] name = "zksync_consensus_utils" version = "0.1.0" source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" dependencies = [ - "rand 0.8.5", + "rand", "thiserror", "zksync_concurrency", ] @@ -8081,20 +6193,6 @@ dependencies = [ "zksync_utils", ] -[[package]] -name = "zksync_core_leftovers" -version = "0.1.0" -dependencies = [ - "anyhow", - "ctrlc", - "serde_yaml", - "tokio", - "zksync_config", - "zksync_dal", - "zksync_node_genesis", - "zksync_protobuf", -] - [[package]] name = "zksync_crypto" version = "0.1.0" @@ -8114,7 +6212,7 @@ version = "0.1.0" dependencies = [ "anyhow", "hex", - "rand 0.8.5", + "rand", "secp256k1", "serde", "serde_json", @@ -8123,114 +6221,6 @@ dependencies = [ "zksync_utils", ] -[[package]] -name = "zksync_dal" -version = "0.1.0" -dependencies = [ - "anyhow", - "bigdecimal", - "bincode", - "chrono", - "hex", - "itertools 0.10.5", - "prost 0.12.6", - "rand 0.8.5", - "serde", - "serde_json", - "sqlx", - "strum 0.24.1", - "thiserror", - "tokio", - "tracing", - "vise", - "zksync_consensus_roles", - "zksync_consensus_storage", - "zksync_contracts", - "zksync_db_connection", - "zksync_protobuf", - "zksync_protobuf_build", - "zksync_system_constants", - "zksync_types", - "zksync_utils", -] - -[[package]] -name = "zksync_db_connection" -version = "0.1.0" -dependencies = [ - "anyhow", - "rand 0.8.5", - "serde", - "serde_json", - "sqlx", - "thiserror", - "tokio", - "tracing", - "vise", - "zksync_basic_types", - "zksync_health_check", -] - -[[package]] -name = "zksync_eth_client" -version = "0.1.0" -dependencies = [ - "async-trait", - "jsonrpsee", - "rlp", - "thiserror", - "tracing", - "vise", - "zksync_config", - "zksync_contracts", - "zksync_eth_signer", - "zksync_types", - "zksync_web3_decl", -] - -[[package]] -name = "zksync_eth_signer" -version = "0.1.0" -dependencies = [ - "async-trait", - "rlp", - "thiserror", - "zksync_types", -] - -[[package]] -name = "zksync_health_check" -version = "0.1.0" -dependencies = [ - "async-trait", - "futures", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "vise", -] - -[[package]] -name = "zksync_merkle_tree" -version = "0.1.0" -dependencies = [ - "anyhow", - "leb128", - "once_cell", - "rayon", - "thiserror", - "thread_local", - "tracing", - "vise", - "zksync_crypto", - "zksync_prover_interface", - "zksync_storage", - "zksync_types", - "zksync_utils", -] - [[package]] name = "zksync_mini_merkle_tree" version = "0.1.0" @@ -8240,50 +6230,6 @@ dependencies = [ "zksync_crypto", ] -[[package]] -name = "zksync_node_genesis" -version = "0.1.0" -dependencies = [ - "anyhow", - "itertools 0.10.5", - "multivm", - "thiserror", - "tokio", - "tracing", - "vise", - "zksync_config", - "zksync_contracts", - "zksync_dal", - "zksync_eth_client", - "zksync_merkle_tree", - "zksync_system_constants", - "zksync_types", - "zksync_utils", -] - -[[package]] -name = "zksync_object_store" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-trait", - "bincode", - "flate2", - "google-cloud-auth", - "google-cloud-storage", - "http", - "prost 0.12.6", - "rand 0.8.5", - "reqwest", - "serde_json", - "tokio", - "tracing", - "vise", - "zksync_config", - "zksync_protobuf", - "zksync_types", -] - [[package]] name = "zksync_protobuf" version = "0.1.0" @@ -8295,7 +6241,7 @@ dependencies = [ "prost 0.12.6", "prost-reflect", "quick-protobuf", - "rand 0.8.5", + "rand", "serde", "serde_json", "serde_yaml", @@ -8327,7 +6273,7 @@ dependencies = [ "anyhow", "hex", "prost 0.12.6", - "rand 0.8.5", + "rand", "secrecy", "serde_json", "serde_yaml", @@ -8338,62 +6284,6 @@ dependencies = [ "zksync_types", ] -[[package]] -name = "zksync_prover_interface" -version = "0.1.0" -dependencies = [ - "chrono", - "circuit_sequencer_api 0.1.50", - "serde", - "serde_with", - "strum 0.24.1", - "zksync_object_store", - "zksync_types", -] - -[[package]] -name = "zksync_shared_metrics" -version = "0.1.0" -dependencies = [ - "rustc_version", - "tracing", - "vise", - "zksync_dal", - "zksync_types", -] - -[[package]] -name = "zksync_state" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-trait", - "chrono", - "itertools 0.10.5", - "mini-moka", - "once_cell", - "tokio", - "tracing", - "vise", - "zksync_dal", - "zksync_shared_metrics", - "zksync_storage", - "zksync_types", - "zksync_utils", -] - -[[package]] -name = "zksync_storage" -version = "0.1.0" -dependencies = [ - "num_cpus", - "once_cell", - "rocksdb", - "thread_local", - "tracing", - "vise", -] - [[package]] name = "zksync_system_constants" version = "0.1.0" @@ -8452,30 +6342,10 @@ dependencies = [ "tokio", "tracing", "vlog", - "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", + "zk_evm", "zksync_basic_types", ] -[[package]] -name = "zksync_web3_decl" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-trait", - "futures", - "jsonrpsee", - "pin-project-lite", - "rlp", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "vise", - "zksync_config", - "zksync_types", -] - [[package]] name = "zstd" version = "0.11.2+zstd.1.5.2" diff --git a/zk_toolbox/Cargo.toml b/zk_toolbox/Cargo.toml index 68202922c220..48ecc0fa73da 100644 --- a/zk_toolbox/Cargo.toml +++ b/zk_toolbox/Cargo.toml @@ -27,7 +27,6 @@ config = { path = "crates/config" } types = { path = "crates/types" } zksync_config = { path = "../core/lib/config" } zksync_protobuf_config = { path = "../core/lib/protobuf_config" } -zksync_core_leftovers = { path = "../core/lib/zksync_core_leftovers" } # External dependencies anyhow = "1.0.82" diff --git a/zk_toolbox/crates/config/Cargo.toml b/zk_toolbox/crates/config/Cargo.toml index 8519735f161c..a6c525e5d9a2 100644 --- a/zk_toolbox/crates/config/Cargo.toml +++ b/zk_toolbox/crates/config/Cargo.toml @@ -27,4 +27,3 @@ url.workspace = true xshell.workspace = true zksync_config.workspace = true zksync_protobuf_config.workspace = true -zksync_core_leftovers.workspace = true diff --git a/zk_toolbox/crates/config/src/chain.rs b/zk_toolbox/crates/config/src/chain.rs index f886916ff0d8..d650bc37254b 100644 --- a/zk_toolbox/crates/config/src/chain.rs +++ b/zk_toolbox/crates/config/src/chain.rs @@ -3,14 +3,13 @@ use std::{ path::{Path, PathBuf}, }; -use anyhow::Context; use serde::{Deserialize, Serialize, Serializer}; use types::{ BaseToken, ChainId, L1BatchCommitDataGeneratorMode, L1Network, ProverMode, WalletCreation, }; use xshell::Shell; use zksync_config::configs::GeneralConfig; -use zksync_core_leftovers::temp_config_store::decode_yaml_repr; +use zksync_protobuf_config::decode_yaml_repr; use crate::{ consts::{ @@ -96,9 +95,10 @@ impl ChainConfig { } pub fn get_general_config(&self) -> anyhow::Result { - let yaml = std::fs::read_to_string(self.configs.join(GENERAL_FILE)) - .context("Failed to read general config")?; - decode_yaml_repr::(&yaml) + decode_yaml_repr::( + &self.configs.join(GENERAL_FILE), + false, + ) } pub fn path_to_foundry(&self) -> PathBuf { diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 4d3e06f70cda..6e64b8c76de7 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -1,3 +1,4 @@ +use common::logger; use config::EcosystemConfig; use xshell::Shell; use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; @@ -38,10 +39,12 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( let mut general_config = chain_config .get_general_config() .expect("General config not found"); - general_config + let mut prover_config = general_config .prover_config - .expect("Prover config not found") - .prover_object_store = Some(object_store_config.clone()); + .expect("Prover config not found"); + prover_config.prover_object_store = Some(object_store_config.clone()); + general_config.prover_config = Some(prover_config); + logger::info(format!("{:?}", general_config)); } Ok(()) From 23317469c37526c8204641f7cb7366db130b3972 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 21 Jun 2024 13:54:06 +0200 Subject: [PATCH 07/40] Only update default chain --- .../zk_inception/src/commands/prover/init.rs | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 6e64b8c76de7..30dcc5025f23 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -4,7 +4,6 @@ use xshell::Shell; use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; use super::args::init::ProverInitArgs; -use crate::commands::chain; const PROVER_STORE_MAX_RETRIES: u16 = 10; @@ -31,21 +30,18 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( } }; - let chains = ecosystem_config.list_of_chains(); - for chain in chains { - let chain_config = ecosystem_config - .load_chain(Some(chain.clone())) - .expect("Chain not found"); - let mut general_config = chain_config - .get_general_config() - .expect("General config not found"); - let mut prover_config = general_config - .prover_config - .expect("Prover config not found"); - prover_config.prover_object_store = Some(object_store_config.clone()); - general_config.prover_config = Some(prover_config); - logger::info(format!("{:?}", general_config)); - } + let chain_config = ecosystem_config + .load_chain(Some(ecosystem_config.default_chain.clone())) + .expect("Chain not found"); + let mut general_config = chain_config + .get_general_config() + .expect("General config not found"); + let mut prover_config = general_config + .prover_config + .expect("Prover config not found"); + prover_config.prover_object_store = Some(object_store_config.clone()); + general_config.prover_config = Some(prover_config); + logger::info(format!("{:?}", general_config)); Ok(()) } From 4d17a057a588940956ffa06b72b8915aa75850e4 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 21 Jun 2024 16:53:22 +0200 Subject: [PATCH 08/40] Write bytes --- core/lib/protobuf_config/src/lib.rs | 9 ++++++++- zk_toolbox/crates/config/src/chain.rs | 11 ++++++++++- .../crates/zk_inception/src/commands/prover/init.rs | 3 +-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/core/lib/protobuf_config/src/lib.rs b/core/lib/protobuf_config/src/lib.rs index 261597815341..f34757696f4d 100644 --- a/core/lib/protobuf_config/src/lib.rs +++ b/core/lib/protobuf_config/src/lib.rs @@ -33,7 +33,7 @@ mod wallets; use std::{path::PathBuf, str::FromStr}; use anyhow::Context; -use zksync_protobuf::ProtoRepr; +use zksync_protobuf::{repr::encode, serde::serialize_proto, ProtoRepr}; use zksync_types::{H160, H256}; fn parse_h256(bytes: &str) -> anyhow::Result { @@ -57,3 +57,10 @@ pub fn decode_yaml_repr( let this: T = zksync_protobuf::serde::deserialize_proto_with_options(d, deny_unknown_fields)?; this.read() } + +pub fn encode_yaml_repr(value: &T::Type) -> anyhow::Result> { + let mut buffer = vec![]; + let mut s = serde_yaml::Serializer::new(&mut buffer); + serialize_proto(&encode::(value), &mut s)?; + Ok(buffer) +} diff --git a/zk_toolbox/crates/config/src/chain.rs b/zk_toolbox/crates/config/src/chain.rs index d650bc37254b..df12fd5ab8ab 100644 --- a/zk_toolbox/crates/config/src/chain.rs +++ b/zk_toolbox/crates/config/src/chain.rs @@ -9,7 +9,7 @@ use types::{ }; use xshell::Shell; use zksync_config::configs::GeneralConfig; -use zksync_protobuf_config::decode_yaml_repr; +use zksync_protobuf_config::{decode_yaml_repr, encode_yaml_repr}; use crate::{ consts::{ @@ -101,6 +101,15 @@ impl ChainConfig { ) } + pub fn save_general_config(&self, general_config: &GeneralConfig) -> anyhow::Result<()> { + let path = self.configs.join(GENERAL_FILE); + let bytes = encode_yaml_repr::( + general_config, + )?; + self.get_shell().write_file(&path, bytes)?; + Ok(()) + } + pub fn path_to_foundry(&self) -> PathBuf { self.link_to_code.join(L1_CONTRACTS_FOUNDRY) } diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 30dcc5025f23..5f559fae082a 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -1,4 +1,3 @@ -use common::logger; use config::EcosystemConfig; use xshell::Shell; use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; @@ -41,7 +40,7 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( .expect("Prover config not found"); prover_config.prover_object_store = Some(object_store_config.clone()); general_config.prover_config = Some(prover_config); - logger::info(format!("{:?}", general_config)); + chain_config.save_general_config(&general_config)?; Ok(()) } From 5f35fa08427f4fbfd696824e5c42e1baaf1f12a5 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Sat, 22 Jun 2024 17:50:34 +0200 Subject: [PATCH 09/40] Fix encoding --- core/lib/protobuf_config/src/lib.rs | 4 ++-- zk_toolbox/crates/config/src/chain.rs | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/lib/protobuf_config/src/lib.rs b/core/lib/protobuf_config/src/lib.rs index f34757696f4d..213654039c49 100644 --- a/core/lib/protobuf_config/src/lib.rs +++ b/core/lib/protobuf_config/src/lib.rs @@ -33,7 +33,7 @@ mod wallets; use std::{path::PathBuf, str::FromStr}; use anyhow::Context; -use zksync_protobuf::{repr::encode, serde::serialize_proto, ProtoRepr}; +use zksync_protobuf::{serde::serialize_proto, ProtoRepr}; use zksync_types::{H160, H256}; fn parse_h256(bytes: &str) -> anyhow::Result { @@ -61,6 +61,6 @@ pub fn decode_yaml_repr( pub fn encode_yaml_repr(value: &T::Type) -> anyhow::Result> { let mut buffer = vec![]; let mut s = serde_yaml::Serializer::new(&mut buffer); - serialize_proto(&encode::(value), &mut s)?; + serialize_proto(&T::build(&value), &mut s)?; Ok(buffer) } diff --git a/zk_toolbox/crates/config/src/chain.rs b/zk_toolbox/crates/config/src/chain.rs index df12fd5ab8ab..54bacd9d5e16 100644 --- a/zk_toolbox/crates/config/src/chain.rs +++ b/zk_toolbox/crates/config/src/chain.rs @@ -106,7 +106,8 @@ impl ChainConfig { let bytes = encode_yaml_repr::( general_config, )?; - self.get_shell().write_file(&path, bytes)?; + self.get_shell() + .write_file(&path, String::from_utf8(bytes)?)?; Ok(()) } From 54761180dd44fbb72b3316c61a6f09904997a6c6 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Sat, 22 Jun 2024 17:53:52 +0200 Subject: [PATCH 10/40] remove unused string conversion --- core/lib/protobuf_config/src/lib.rs | 2 +- zk_toolbox/crates/config/src/chain.rs | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/lib/protobuf_config/src/lib.rs b/core/lib/protobuf_config/src/lib.rs index 213654039c49..e0b308907c93 100644 --- a/core/lib/protobuf_config/src/lib.rs +++ b/core/lib/protobuf_config/src/lib.rs @@ -13,7 +13,7 @@ mod contracts; mod database; mod eth; mod experimental; -pub mod general; +mod general; mod genesis; mod house_keeper; mod object_store; diff --git a/zk_toolbox/crates/config/src/chain.rs b/zk_toolbox/crates/config/src/chain.rs index 54bacd9d5e16..df12fd5ab8ab 100644 --- a/zk_toolbox/crates/config/src/chain.rs +++ b/zk_toolbox/crates/config/src/chain.rs @@ -106,8 +106,7 @@ impl ChainConfig { let bytes = encode_yaml_repr::( general_config, )?; - self.get_shell() - .write_file(&path, String::from_utf8(bytes)?)?; + self.get_shell().write_file(&path, bytes)?; Ok(()) } From 19b1f0d31f2a75c6f6993f09a322d4d02cbe4c02 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Mon, 24 Jun 2024 13:35:57 +0200 Subject: [PATCH 11/40] Update messages --- .../zk_inception/src/commands/prover/init.rs | 15 +++++++++++---- zk_toolbox/crates/zk_inception/src/messages.rs | 3 +++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 5f559fae082a..1133abca93e8 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -1,7 +1,13 @@ +use common::logger; use config::EcosystemConfig; use xshell::Shell; use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; +use crate::messages::{ + MSG_CHAIN_NOT_FOUND_ERR, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, MSG_PROVER_CONFIG_NOT_FOUND_ERR, + MSG_PROVER_INITIALIZED, +}; + use super::args::init::ProverInitArgs; const PROVER_STORE_MAX_RETRIES: u16 = 10; @@ -31,16 +37,17 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( let chain_config = ecosystem_config .load_chain(Some(ecosystem_config.default_chain.clone())) - .expect("Chain not found"); + .expect(MSG_CHAIN_NOT_FOUND_ERR); let mut general_config = chain_config .get_general_config() - .expect("General config not found"); + .expect(MSG_GENERAL_CONFIG_NOT_FOUND_ERR); let mut prover_config = general_config .prover_config - .expect("Prover config not found"); + .expect(MSG_PROVER_CONFIG_NOT_FOUND_ERR); prover_config.prover_object_store = Some(object_store_config.clone()); general_config.prover_config = Some(prover_config); - chain_config.save_general_config(&general_config)?; + + logger::outro(MSG_PROVER_INITIALIZED); Ok(()) } diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index de8d779e897a..3347ad77be13 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -200,3 +200,6 @@ pub(super) const MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT: &str = "Provide the base URL of the GCS bucket, or leave empty to create a new one:"; pub(super) const MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT: &str = "Provide the path to the GCS credentials file:"; +pub(super) const MSG_GENERAL_CONFIG_NOT_FOUND_ERR: &str = "General config not found"; +pub(super) const MSG_PROVER_CONFIG_NOT_FOUND_ERR: &str = "Prover config not found"; +pub(super) const MSG_PROVER_INITIALIZED: &str = "Prover has been initialized successfully"; From 4d5dc93d6745ec8290d2ef5001820e5db920b378 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Mon, 24 Jun 2024 13:36:18 +0200 Subject: [PATCH 12/40] fmt --- zk_toolbox/crates/zk_inception/src/commands/prover/init.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 1133abca93e8..ad04501fe116 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -3,13 +3,12 @@ use config::EcosystemConfig; use xshell::Shell; use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; +use super::args::init::ProverInitArgs; use crate::messages::{ MSG_CHAIN_NOT_FOUND_ERR, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, MSG_PROVER_CONFIG_NOT_FOUND_ERR, MSG_PROVER_INITIALIZED, }; -use super::args::init::ProverInitArgs; - const PROVER_STORE_MAX_RETRIES: u16 = 10; pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<()> { From 9675aad6a4519b6033f9248fa56427ba23801a4c Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Mon, 24 Jun 2024 13:37:03 +0200 Subject: [PATCH 13/40] Update MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT --- zk_toolbox/crates/zk_inception/src/messages.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index 3347ad77be13..c041bfd69c50 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -197,7 +197,7 @@ pub(super) const MSG_PROOF_STORE_CONFIG_PROMPT: &str = pub(super) const MSG_PROOF_STORE_DIR_PROMPT: &str = "Provide the path where you would like to store the proofs:"; pub(super) const MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT: &str = - "Provide the base URL of the GCS bucket, or leave empty to create a new one:"; + "Provide the base URL of the GCS bucket:"; pub(super) const MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT: &str = "Provide the path to the GCS credentials file:"; pub(super) const MSG_GENERAL_CONFIG_NOT_FOUND_ERR: &str = "General config not found"; From e5666f39fd6e793a93abc822da8fa8abeffcca11 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Mon, 24 Jun 2024 17:53:02 +0200 Subject: [PATCH 14/40] lint --- core/lib/protobuf_config/src/lib.rs | 2 +- zk_toolbox/crates/config/src/chain.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/lib/protobuf_config/src/lib.rs b/core/lib/protobuf_config/src/lib.rs index e0b308907c93..bdc0751a0518 100644 --- a/core/lib/protobuf_config/src/lib.rs +++ b/core/lib/protobuf_config/src/lib.rs @@ -61,6 +61,6 @@ pub fn decode_yaml_repr( pub fn encode_yaml_repr(value: &T::Type) -> anyhow::Result> { let mut buffer = vec![]; let mut s = serde_yaml::Serializer::new(&mut buffer); - serialize_proto(&T::build(&value), &mut s)?; + serialize_proto(&T::build(value), &mut s)?; Ok(buffer) } diff --git a/zk_toolbox/crates/config/src/chain.rs b/zk_toolbox/crates/config/src/chain.rs index df12fd5ab8ab..b81e0698aae3 100644 --- a/zk_toolbox/crates/config/src/chain.rs +++ b/zk_toolbox/crates/config/src/chain.rs @@ -106,7 +106,7 @@ impl ChainConfig { let bytes = encode_yaml_repr::( general_config, )?; - self.get_shell().write_file(&path, bytes)?; + self.get_shell().write_file(path, bytes)?; Ok(()) } From 23dc4e6dd7c4b14dccbbb6a84ef58166460f9f3b Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Mon, 24 Jun 2024 18:44:12 +0200 Subject: [PATCH 15/40] Add create_gcs_bucket --- .../src/commands/prover/args/init.rs | 137 ++++++++++++------ .../zk_inception/src/commands/prover/init.rs | 38 +++-- .../crates/zk_inception/src/messages.rs | 3 + 3 files changed, 123 insertions(+), 55 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index e92137823467..382c1db33c5e 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -1,21 +1,25 @@ use clap::{Parser, ValueEnum}; -use common::{Prompt, PromptSelect}; +use common::{Prompt, PromptConfirm, PromptSelect}; use serde::{Deserialize, Serialize}; use strum::IntoEnumIterator; use strum_macros::EnumIter; use crate::messages::{ - MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, + MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT, MSG_CREATE_GCS_BUCKET_NAME_PROMTP, + MSG_CREATE_GCS_BUCKET_PROMPT, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, }; -#[derive(Debug, Clone, Serialize, Deserialize, Parser)] +#[derive(Debug, Clone, Serialize, Deserialize, Parser, Default)] pub struct ProverInitArgs { #[clap(long)] pub proof_store_dir: Option, #[clap(flatten)] #[serde(flatten)] pub proof_store_gcs_config: ProofStoreGCSConfig, + #[clap(flatten)] + #[serde(flatten)] + pub create_gcs_bucket_config: CreateGCSBucketConfig, } #[derive(Debug, Clone, ValueEnum, EnumIter, strum_macros::Display, PartialEq, Eq)] @@ -32,52 +36,55 @@ pub struct ProofStoreGCSConfig { pub credentials_file: Option, } +#[derive(Debug, Clone, Serialize, Deserialize, Parser, Default)] +pub struct CreateGCSBucketConfig { + #[clap(long)] + pub bucket_name: Option, + #[clap(long)] + pub location: Option, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ProofStorageFileBacked { + pub proof_store_dir: String, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ProofStorageGCS { + pub bucket_base_url: String, + pub credentials_file: String, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ProofStorageGCSCreateBucket { + pub bucket_name: String, + pub location: String, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum ProverInitArgsFinal { + FileBacked(ProofStorageFileBacked), + GCS(ProofStorageGCS), + GCSCreateBucket(ProofStorageGCSCreateBucket), +} + impl ProverInitArgs { - pub(crate) fn fill_values_with_prompt(&self) -> Self { + pub(crate) fn fill_values_with_prompt(&self) -> ProverInitArgsFinal { if self.store_config_provided() { - return self.clone(); + return ProverInitArgsFinal::FileBacked(ProofStorageFileBacked { + proof_store_dir: self + .proof_store_dir + .clone() + .expect("proof_store_dir not set"), + }); } - let proof_store_config = if self.partial_gcs_config_provided() { - ProofStoreConfig::GCS - } else { - PromptSelect::new(MSG_PROOF_STORE_CONFIG_PROMPT, ProofStoreConfig::iter()).ask() - }; + let proof_store_config = + PromptSelect::new(MSG_PROOF_STORE_CONFIG_PROMPT, ProofStoreConfig::iter()).ask(); match proof_store_config { - ProofStoreConfig::Local => { - let proof_store_dir = Prompt::new(MSG_PROOF_STORE_DIR_PROMPT).ask(); - - ProverInitArgs { - proof_store_dir: Some(proof_store_dir), - proof_store_gcs_config: ProofStoreGCSConfig::default(), - } - } - ProofStoreConfig::GCS => { - let bucket_base_url = self - .clone() - .proof_store_gcs_config - .bucket_base_url - .unwrap_or_else(|| { - Prompt::new(MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT).ask() - }); - let credentials_file = self - .clone() - .proof_store_gcs_config - .credentials_file - .unwrap_or_else(|| { - Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT).ask() - }); - let proof_store_gcs_config = ProofStoreGCSConfig { - bucket_base_url: Some(bucket_base_url), - credentials_file: Some(credentials_file), - }; - - ProverInitArgs { - proof_store_dir: None, - proof_store_gcs_config, - } - } + ProofStoreConfig::Local => self.handle_file_backed_config(), + ProofStoreConfig::GCS => self.handle_gcs_config(), } } @@ -91,4 +98,48 @@ impl ProverInitArgs { self.proof_store_gcs_config.bucket_base_url.is_some() || self.proof_store_gcs_config.credentials_file.is_some() } + + fn handle_file_backed_config(&self) -> ProverInitArgsFinal { + let proof_store_dir = Prompt::new(MSG_PROOF_STORE_DIR_PROMPT).ask(); + + ProverInitArgsFinal::FileBacked(ProofStorageFileBacked { proof_store_dir }) + } + + fn handle_gcs_config(&self) -> ProverInitArgsFinal { + if !self.partial_gcs_config_provided() { + if PromptConfirm::new(MSG_CREATE_GCS_BUCKET_PROMPT).ask() { + return self.handle_create_gcs_bucket(); + } + } + + self.ask_gcs_config() + } + + fn handle_create_gcs_bucket(&self) -> ProverInitArgsFinal { + let bucket_name = Prompt::new(MSG_CREATE_GCS_BUCKET_NAME_PROMTP).ask(); + let location = Prompt::new(MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT).ask(); + + ProverInitArgsFinal::GCSCreateBucket(ProofStorageGCSCreateBucket { + bucket_name, + location, + }) + } + + fn ask_gcs_config(&self) -> ProverInitArgsFinal { + let bucket_base_url = self + .clone() + .proof_store_gcs_config + .bucket_base_url + .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT).ask()); + let credentials_file = self + .clone() + .proof_store_gcs_config + .credentials_file + .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT).ask()); + + ProverInitArgsFinal::GCS(ProofStorageGCS { + bucket_base_url, + credentials_file, + }) + } } diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index ad04501fe116..9add3a8a42fc 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -1,9 +1,9 @@ -use common::logger; +use common::{cmd::Cmd, logger}; use config::EcosystemConfig; -use xshell::Shell; +use xshell::{cmd, Shell}; use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; -use super::args::init::ProverInitArgs; +use super::args::init::{ProofStorageGCSCreateBucket, ProverInitArgs, ProverInitArgsFinal}; use crate::messages::{ MSG_CHAIN_NOT_FOUND_ERR, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, MSG_PROVER_CONFIG_NOT_FOUND_ERR, MSG_PROVER_INITIALIZED, @@ -15,23 +15,23 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( let args = args.fill_values_with_prompt(); let ecosystem_config = EcosystemConfig::from_file(shell)?; - let object_store_config = if args.proof_store_dir.is_some() { - ObjectStoreConfig { + let object_store_config = match args { + ProverInitArgsFinal::FileBacked(config) => ObjectStoreConfig { mode: ObjectStoreMode::FileBacked { - file_backed_base_path: args.proof_store_dir.unwrap(), + file_backed_base_path: config.proof_store_dir, }, max_retries: PROVER_STORE_MAX_RETRIES, local_mirror_path: None, - } - } else { - ObjectStoreConfig { + }, + ProverInitArgsFinal::GCS(config) => ObjectStoreConfig { mode: ObjectStoreMode::GCSWithCredentialFile { - bucket_base_url: args.proof_store_gcs_config.bucket_base_url.unwrap(), - gcs_credential_file_path: args.proof_store_gcs_config.credentials_file.unwrap(), + bucket_base_url: config.bucket_base_url, + gcs_credential_file_path: config.credentials_file, }, max_retries: PROVER_STORE_MAX_RETRIES, local_mirror_path: None, - } + }, + ProverInitArgsFinal::GCSCreateBucket(config) => create_gcs_bucket(shell, config)?, }; let chain_config = ecosystem_config @@ -50,3 +50,17 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( logger::outro(MSG_PROVER_INITIALIZED); Ok(()) } + +fn create_gcs_bucket( + shell: &Shell, + config: ProofStorageGCSCreateBucket, +) -> anyhow::Result { + let bucket_name = config.bucket_name; + let location = config.location; + let mut cmd = Cmd::new(cmd!( + shell, + "gcloud storage buckets create gs://{bucket_name} --location={location}" + )); + let _output = cmd.run_with_output()?; + todo!(); +} diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index c041bfd69c50..62d0b9cfbc45 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -203,3 +203,6 @@ pub(super) const MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT: &str = pub(super) const MSG_GENERAL_CONFIG_NOT_FOUND_ERR: &str = "General config not found"; pub(super) const MSG_PROVER_CONFIG_NOT_FOUND_ERR: &str = "Prover config not found"; pub(super) const MSG_PROVER_INITIALIZED: &str = "Prover has been initialized successfully"; +pub(super) const MSG_CREATE_GCS_BUCKET_PROMPT: &str = "Do you want to create a new GCS bucket?"; +pub(super) const MSG_CREATE_GCS_BUCKET_NAME_PROMTP: &str = "What do you want to name the bucket?"; +pub(super) const MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT: &str = "What location do you want to use?"; From 19604d295a96da724becc7c34e4c26779cae051c Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Tue, 25 Jun 2024 11:00:20 +0200 Subject: [PATCH 16/40] Fix fill_values_with_prompt --- .../src/commands/prover/args/init.rs | 49 ++++++++++++------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index 382c1db33c5e..0ddfe34e504f 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -44,24 +44,24 @@ pub struct CreateGCSBucketConfig { pub location: Option, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone)] pub struct ProofStorageFileBacked { pub proof_store_dir: String, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone)] pub struct ProofStorageGCS { pub bucket_base_url: String, pub credentials_file: String, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone)] pub struct ProofStorageGCSCreateBucket { pub bucket_name: String, pub location: String, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone)] pub enum ProverInitArgsFinal { FileBacked(ProofStorageFileBacked), GCS(ProofStorageGCS), @@ -70,13 +70,16 @@ pub enum ProverInitArgsFinal { impl ProverInitArgs { pub(crate) fn fill_values_with_prompt(&self) -> ProverInitArgsFinal { - if self.store_config_provided() { - return ProverInitArgsFinal::FileBacked(ProofStorageFileBacked { - proof_store_dir: self - .proof_store_dir - .clone() - .expect("proof_store_dir not set"), - }); + if self.proof_store_dir.is_some() { + return self.handle_file_backed_config(); + } + + if self.partial_gcs_config_provided() { + return self.ask_gcs_config(); + } + + if self.partial_create_gcs_bucket_config_provided() { + return self.handle_create_gcs_bucket(); } let proof_store_config = @@ -88,10 +91,9 @@ impl ProverInitArgs { } } - fn store_config_provided(&self) -> bool { - self.proof_store_dir.is_some() - || (self.proof_store_gcs_config.bucket_base_url.is_some() - && self.proof_store_gcs_config.credentials_file.is_some()) + fn partial_create_gcs_bucket_config_provided(&self) -> bool { + self.create_gcs_bucket_config.bucket_name.is_some() + || self.create_gcs_bucket_config.location.is_some() } fn partial_gcs_config_provided(&self) -> bool { @@ -100,7 +102,10 @@ impl ProverInitArgs { } fn handle_file_backed_config(&self) -> ProverInitArgsFinal { - let proof_store_dir = Prompt::new(MSG_PROOF_STORE_DIR_PROMPT).ask(); + let proof_store_dir = self + .proof_store_dir + .clone() + .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_DIR_PROMPT).ask()); ProverInitArgsFinal::FileBacked(ProofStorageFileBacked { proof_store_dir }) } @@ -116,8 +121,16 @@ impl ProverInitArgs { } fn handle_create_gcs_bucket(&self) -> ProverInitArgsFinal { - let bucket_name = Prompt::new(MSG_CREATE_GCS_BUCKET_NAME_PROMTP).ask(); - let location = Prompt::new(MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT).ask(); + let bucket_name = self + .create_gcs_bucket_config + .bucket_name + .clone() + .unwrap_or_else(|| Prompt::new(MSG_CREATE_GCS_BUCKET_NAME_PROMTP).ask()); + let location = self + .create_gcs_bucket_config + .location + .clone() + .unwrap_or_else(|| Prompt::new(MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT).ask()); ProverInitArgsFinal::GCSCreateBucket(ProofStorageGCSCreateBucket { bucket_name, From 52c43cd07e450be7632a9940678ec47876c12344 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Wed, 26 Jun 2024 11:08:25 +0200 Subject: [PATCH 17/40] Update create_gcs_bucket --- zk_toolbox/crates/common/src/prerequisites.rs | 6 ++++- .../src/commands/prover/args/init.rs | 19 ++++++++++++- .../zk_inception/src/commands/prover/init.rs | 27 ++++++++++++++++--- .../crates/zk_inception/src/messages.rs | 1 + 4 files changed, 47 insertions(+), 6 deletions(-) diff --git a/zk_toolbox/crates/common/src/prerequisites.rs b/zk_toolbox/crates/common/src/prerequisites.rs index ae21ba68b3c1..e668417ee14d 100644 --- a/zk_toolbox/crates/common/src/prerequisites.rs +++ b/zk_toolbox/crates/common/src/prerequisites.rs @@ -2,7 +2,7 @@ use xshell::{cmd, Shell}; use crate::{cmd::Cmd, logger}; -const PREREQUISITES: [Prerequisite; 5] = [ +const PREREQUISITES: [Prerequisite; 6] = [ Prerequisite { name: "git", download_link: "https://git-scm.com/book/en/v2/Getting-Started-Installing-Git", @@ -23,6 +23,10 @@ const PREREQUISITES: [Prerequisite; 5] = [ name: "yarn", download_link: "https://yarnpkg.com/getting-started/install", }, + Prerequisite { + name: "gcloud", + download_link: "https://cloud.google.com/sdk/docs/install", + }, ]; const DOCKER_COMPOSE_PREREQUISITE: Prerequisite = Prerequisite { diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index 0ddfe34e504f..dc3037d8f9e7 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -6,7 +6,8 @@ use strum_macros::EnumIter; use crate::messages::{ MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT, MSG_CREATE_GCS_BUCKET_NAME_PROMTP, - MSG_CREATE_GCS_BUCKET_PROMPT, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, + MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, MSG_CREATE_GCS_BUCKET_PROMPT, + MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, }; @@ -42,6 +43,8 @@ pub struct CreateGCSBucketConfig { pub bucket_name: Option, #[clap(long)] pub location: Option, + #[clap(long)] + pub project_id: Option, } #[derive(Debug, Clone)] @@ -59,6 +62,8 @@ pub struct ProofStorageGCS { pub struct ProofStorageGCSCreateBucket { pub bucket_name: String, pub location: String, + pub project_id: String, + pub credentials_file: String, } #[derive(Debug, Clone)] @@ -121,6 +126,11 @@ impl ProverInitArgs { } fn handle_create_gcs_bucket(&self) -> ProverInitArgsFinal { + let project_id = self + .create_gcs_bucket_config + .project_id + .clone() + .unwrap_or_else(|| Prompt::new(MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT).ask()); let bucket_name = self .create_gcs_bucket_config .bucket_name @@ -131,10 +141,17 @@ impl ProverInitArgs { .location .clone() .unwrap_or_else(|| Prompt::new(MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT).ask()); + let credentials_file = self + .clone() + .proof_store_gcs_config + .credentials_file + .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT).ask()); ProverInitArgsFinal::GCSCreateBucket(ProofStorageGCSCreateBucket { bucket_name, location, + project_id, + credentials_file, }) } diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 9add3a8a42fc..0a770df0ce74 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -1,4 +1,8 @@ -use common::{cmd::Cmd, logger}; +use common::{ + cmd::Cmd, + logger, + spinner::{self, Spinner}, +}; use config::EcosystemConfig; use xshell::{cmd, Shell}; use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; @@ -57,10 +61,25 @@ fn create_gcs_bucket( ) -> anyhow::Result { let bucket_name = config.bucket_name; let location = config.location; + let project_id = config.project_id; let mut cmd = Cmd::new(cmd!( shell, - "gcloud storage buckets create gs://{bucket_name} --location={location}" + "gcloud storage buckets create gs://{bucket_name} --location={location} --project={project_id}" + )); + let spinner = Spinner::new("Creating GCS bucket..."); + cmd.run()?; + spinner.finish(); + + logger::info(format!( + "Bucket created successfully with url: gs://{bucket_name}" )); - let _output = cmd.run_with_output()?; - todo!(); + + Ok(ObjectStoreConfig { + mode: ObjectStoreMode::GCSWithCredentialFile { + bucket_base_url: format!("gs://{}", bucket_name), + gcs_credential_file_path: config.credentials_file, + }, + max_retries: PROVER_STORE_MAX_RETRIES, + local_mirror_path: None, + }) } diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index 62d0b9cfbc45..bf889c79d425 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -204,5 +204,6 @@ pub(super) const MSG_GENERAL_CONFIG_NOT_FOUND_ERR: &str = "General config not fo pub(super) const MSG_PROVER_CONFIG_NOT_FOUND_ERR: &str = "Prover config not found"; pub(super) const MSG_PROVER_INITIALIZED: &str = "Prover has been initialized successfully"; pub(super) const MSG_CREATE_GCS_BUCKET_PROMPT: &str = "Do you want to create a new GCS bucket?"; +pub(super) const MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT: &str = "Provide the project ID:"; pub(super) const MSG_CREATE_GCS_BUCKET_NAME_PROMTP: &str = "What do you want to name the bucket?"; pub(super) const MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT: &str = "What location do you want to use?"; From fc575675d4929d06024937b193188c3136efb7f3 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Wed, 26 Jun 2024 11:58:33 +0200 Subject: [PATCH 18/40] Add download_setup_key --- .../zk_inception/src/commands/prover/init.rs | 42 +++++++++++++++---- .../crates/zk_inception/src/messages.rs | 2 + 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 0a770df0ce74..806d78ef7276 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -1,15 +1,18 @@ -use common::{ - cmd::Cmd, - logger, - spinner::{self, Spinner}, -}; +use common::{cmd::Cmd, logger, spinner::Spinner}; use config::EcosystemConfig; use xshell::{cmd, Shell}; -use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; +use zksync_config::{ + configs::{object_store::ObjectStoreMode, GeneralConfig}, + ObjectStoreConfig, +}; -use super::args::init::{ProofStorageGCSCreateBucket, ProverInitArgs, ProverInitArgsFinal}; +use super::{ + args::init::{ProofStorageGCSCreateBucket, ProverInitArgs, ProverInitArgsFinal}, + utils::get_link_to_prover, +}; use crate::messages::{ - MSG_CHAIN_NOT_FOUND_ERR, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, MSG_PROVER_CONFIG_NOT_FOUND_ERR, + MSG_CHAIN_NOT_FOUND_ERR, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, + MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, MSG_PROVER_CONFIG_NOT_FOUND_ERR, MSG_PROVER_INITIALIZED, }; @@ -51,6 +54,8 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( general_config.prover_config = Some(prover_config); chain_config.save_general_config(&general_config)?; + download_setup_key(shell, &general_config, &ecosystem_config)?; + logger::outro(MSG_PROVER_INITIALIZED); Ok(()) } @@ -83,3 +88,24 @@ fn create_gcs_bucket( local_mirror_path: None, }) } + +fn download_setup_key( + shell: &Shell, + general_config: &GeneralConfig, + ecosystem_config: &EcosystemConfig, +) -> anyhow::Result<()> { + let spinner = Spinner::new("Downloading setup key..."); + let compressor_config = general_config + .proof_compressor_config + .as_ref() + .expect(MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR) + .clone(); + let link_to_prover = get_link_to_prover(ecosystem_config); + let path = link_to_prover.join(compressor_config.universal_setup_path); + let url = compressor_config.universal_setup_download_url; + + let mut cmd = Cmd::new(cmd!(shell, "wget {url} -P {path}")); + cmd.run()?; + spinner.finish(); + Ok(()) +} diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index bf889c79d425..400e0d662400 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -207,3 +207,5 @@ pub(super) const MSG_CREATE_GCS_BUCKET_PROMPT: &str = "Do you want to create a n pub(super) const MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT: &str = "Provide the project ID:"; pub(super) const MSG_CREATE_GCS_BUCKET_NAME_PROMTP: &str = "What do you want to name the bucket?"; pub(super) const MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT: &str = "What location do you want to use?"; +pub(super) const MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR: &str = + "Proof compressor config not found"; From e780c10383ab8ed055789f70488443ea8e98324c Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Wed, 26 Jun 2024 11:59:11 +0200 Subject: [PATCH 19/40] Move MSG_DOWNLOADING_SETUP_KEY_SPINNER --- zk_toolbox/crates/zk_inception/src/commands/prover/init.rs | 6 +++--- zk_toolbox/crates/zk_inception/src/messages.rs | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 806d78ef7276..5aceaa4806fd 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -11,7 +11,7 @@ use super::{ utils::get_link_to_prover, }; use crate::messages::{ - MSG_CHAIN_NOT_FOUND_ERR, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, + MSG_CHAIN_NOT_FOUND_ERR, MSG_DOWNLOADING_SETUP_KEY_SPINNER, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, MSG_PROVER_CONFIG_NOT_FOUND_ERR, MSG_PROVER_INITIALIZED, }; @@ -94,8 +94,8 @@ fn download_setup_key( general_config: &GeneralConfig, ecosystem_config: &EcosystemConfig, ) -> anyhow::Result<()> { - let spinner = Spinner::new("Downloading setup key..."); - let compressor_config = general_config + let spinner = Spinner::new(MSG_DOWNLOADING_SETUP_KEY_SPINNER); + let compressor_config: zksync_config::configs::FriProofCompressorConfig = general_config .proof_compressor_config .as_ref() .expect(MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR) diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index 400e0d662400..c63bc6d4ef38 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -209,3 +209,4 @@ pub(super) const MSG_CREATE_GCS_BUCKET_NAME_PROMTP: &str = "What do you want to pub(super) const MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT: &str = "What location do you want to use?"; pub(super) const MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR: &str = "Proof compressor config not found"; +pub(super) const MSG_DOWNLOADING_SETUP_KEY_SPINNER: &str = "Downloading setup key..."; From 58b935ad59b893a880d1026f68e32ac964c32f87 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Wed, 26 Jun 2024 12:02:00 +0200 Subject: [PATCH 20/40] Update partial_create_gcs_bucket_config_provided --- zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index dc3037d8f9e7..fec56c20b84e 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -99,6 +99,7 @@ impl ProverInitArgs { fn partial_create_gcs_bucket_config_provided(&self) -> bool { self.create_gcs_bucket_config.bucket_name.is_some() || self.create_gcs_bucket_config.location.is_some() + || self.create_gcs_bucket_config.project_id.is_some() } fn partial_gcs_config_provided(&self) -> bool { From 27ffa50c0c31cdca0680c30564355d9b8bbbf744 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Wed, 26 Jun 2024 15:40:08 +0200 Subject: [PATCH 21/40] Add project_ids --- zk_toolbox/Cargo.lock | 16 +++++++++++++ .../src/commands/prover/args/init.rs | 24 ++++++++++++------- .../zk_inception/src/commands/prover/init.rs | 17 ++++++++++++- .../crates/zk_inception/src/messages.rs | 4 +++- 4 files changed, 50 insertions(+), 11 deletions(-) diff --git a/zk_toolbox/Cargo.lock b/zk_toolbox/Cargo.lock index 6eaec2c63128..a768b6ebbda5 100644 --- a/zk_toolbox/Cargo.lock +++ b/zk_toolbox/Cargo.lock @@ -5568,6 +5568,18 @@ dependencies = [ "vise-macros", ] +[[package]] +name = "vise-exporter" +version = "0.1.0" +source = "git+https://github.com/matter-labs/vise.git?rev=a5bb80c9ce7168663114ee30e794d6dc32159ee4#a5bb80c9ce7168663114ee30e794d6dc32159ee4" +dependencies = [ + "hyper", + "once_cell", + "tokio", + "tracing", + "vise", +] + [[package]] name = "vise-macros" version = "0.1.0" @@ -6331,6 +6343,7 @@ dependencies = [ name = "zksync_vlog" version = "0.1.0" dependencies = [ + "anyhow", "chrono", "opentelemetry", "opentelemetry-otlp", @@ -6338,9 +6351,12 @@ dependencies = [ "sentry", "serde", "serde_json", + "tokio", "tracing", "tracing-opentelemetry", "tracing-subscriber", + "vise", + "vise-exporter", ] [[package]] diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index fec56c20b84e..0e6d0b1c93bb 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -6,8 +6,8 @@ use strum_macros::EnumIter; use crate::messages::{ MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT, MSG_CREATE_GCS_BUCKET_NAME_PROMTP, - MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, MSG_CREATE_GCS_BUCKET_PROMPT, - MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, + MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT, MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, + MSG_CREATE_GCS_BUCKET_PROMPT, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, }; @@ -74,7 +74,7 @@ pub enum ProverInitArgsFinal { } impl ProverInitArgs { - pub(crate) fn fill_values_with_prompt(&self) -> ProverInitArgsFinal { + pub(crate) fn fill_values_with_prompt(&self, project_ids: Vec) -> ProverInitArgsFinal { if self.proof_store_dir.is_some() { return self.handle_file_backed_config(); } @@ -84,7 +84,7 @@ impl ProverInitArgs { } if self.partial_create_gcs_bucket_config_provided() { - return self.handle_create_gcs_bucket(); + return self.handle_create_gcs_bucket(project_ids); } let proof_store_config = @@ -92,7 +92,7 @@ impl ProverInitArgs { match proof_store_config { ProofStoreConfig::Local => self.handle_file_backed_config(), - ProofStoreConfig::GCS => self.handle_gcs_config(), + ProofStoreConfig::GCS => self.handle_gcs_config(project_ids), } } @@ -116,22 +116,28 @@ impl ProverInitArgs { ProverInitArgsFinal::FileBacked(ProofStorageFileBacked { proof_store_dir }) } - fn handle_gcs_config(&self) -> ProverInitArgsFinal { + fn handle_gcs_config(&self, project_ids: Vec) -> ProverInitArgsFinal { if !self.partial_gcs_config_provided() { if PromptConfirm::new(MSG_CREATE_GCS_BUCKET_PROMPT).ask() { - return self.handle_create_gcs_bucket(); + return self.handle_create_gcs_bucket(project_ids); } } self.ask_gcs_config() } - fn handle_create_gcs_bucket(&self) -> ProverInitArgsFinal { + fn handle_create_gcs_bucket(&self, project_ids: Vec) -> ProverInitArgsFinal { let project_id = self .create_gcs_bucket_config .project_id .clone() - .unwrap_or_else(|| Prompt::new(MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT).ask()); + .unwrap_or_else(|| { + if project_ids.is_empty() { + Prompt::new(MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT).ask() + } else { + PromptSelect::new(MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, project_ids).ask() + } + }); let bucket_name = self .create_gcs_bucket_config .bucket_name diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 5aceaa4806fd..1300ab09a6ab 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -19,7 +19,8 @@ use crate::messages::{ const PROVER_STORE_MAX_RETRIES: u16 = 10; pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<()> { - let args = args.fill_values_with_prompt(); + let project_ids = get_project_ids(shell)?; + let args = args.fill_values_with_prompt(project_ids); let ecosystem_config = EcosystemConfig::from_file(shell)?; let object_store_config = match args { @@ -109,3 +110,17 @@ fn download_setup_key( spinner.finish(); Ok(()) } + +fn get_project_ids(shell: &Shell) -> anyhow::Result> { + let mut cmd = Cmd::new(cmd!( + shell, + "gcloud projects list --format='value(projectId)'" + )); + let output = cmd.run_with_output()?; + let project_ids: Vec = String::from_utf8(output.stdout)? + .lines() + .map(|line| line.to_string()) + .collect(); + + Ok(project_ids) +} diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index c63bc6d4ef38..33bd0cf000ec 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -204,7 +204,9 @@ pub(super) const MSG_GENERAL_CONFIG_NOT_FOUND_ERR: &str = "General config not fo pub(super) const MSG_PROVER_CONFIG_NOT_FOUND_ERR: &str = "Prover config not found"; pub(super) const MSG_PROVER_INITIALIZED: &str = "Prover has been initialized successfully"; pub(super) const MSG_CREATE_GCS_BUCKET_PROMPT: &str = "Do you want to create a new GCS bucket?"; -pub(super) const MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT: &str = "Provide the project ID:"; +pub(super) const MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT: &str = "Select the project ID:"; +pub(super) const MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT: &str = + "Provide a project ID:"; pub(super) const MSG_CREATE_GCS_BUCKET_NAME_PROMTP: &str = "What do you want to name the bucket?"; pub(super) const MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT: &str = "What location do you want to use?"; pub(super) const MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR: &str = From 9b1d24fa68e188f0c4a204aba108b135bdfc40cb Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Wed, 26 Jun 2024 16:26:28 +0200 Subject: [PATCH 22/40] Add default credentials path --- .../src/commands/prover/args/init.rs | 45 ++++++++++++++----- .../zk_inception/src/commands/prover/init.rs | 3 +- .../crates/zk_inception/src/messages.rs | 2 +- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index 0e6d0b1c93bb..f354ad87bc2b 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -74,17 +74,21 @@ pub enum ProverInitArgsFinal { } impl ProverInitArgs { - pub(crate) fn fill_values_with_prompt(&self, project_ids: Vec) -> ProverInitArgsFinal { + pub(crate) fn fill_values_with_prompt( + &self, + project_ids: Vec, + home: &str, + ) -> ProverInitArgsFinal { if self.proof_store_dir.is_some() { return self.handle_file_backed_config(); } if self.partial_gcs_config_provided() { - return self.ask_gcs_config(); + return self.ask_gcs_config(home); } if self.partial_create_gcs_bucket_config_provided() { - return self.handle_create_gcs_bucket(project_ids); + return self.handle_create_gcs_bucket(project_ids, home); } let proof_store_config = @@ -92,7 +96,7 @@ impl ProverInitArgs { match proof_store_config { ProofStoreConfig::Local => self.handle_file_backed_config(), - ProofStoreConfig::GCS => self.handle_gcs_config(project_ids), + ProofStoreConfig::GCS => self.handle_gcs_config(project_ids, home), } } @@ -116,17 +120,21 @@ impl ProverInitArgs { ProverInitArgsFinal::FileBacked(ProofStorageFileBacked { proof_store_dir }) } - fn handle_gcs_config(&self, project_ids: Vec) -> ProverInitArgsFinal { + fn handle_gcs_config(&self, project_ids: Vec, home: &str) -> ProverInitArgsFinal { if !self.partial_gcs_config_provided() { if PromptConfirm::new(MSG_CREATE_GCS_BUCKET_PROMPT).ask() { - return self.handle_create_gcs_bucket(project_ids); + return self.handle_create_gcs_bucket(project_ids, home); } } - self.ask_gcs_config() + self.ask_gcs_config(home) } - fn handle_create_gcs_bucket(&self, project_ids: Vec) -> ProverInitArgsFinal { + fn handle_create_gcs_bucket( + &self, + project_ids: Vec, + home: &str, + ) -> ProverInitArgsFinal { let project_id = self .create_gcs_bucket_config .project_id @@ -152,7 +160,11 @@ impl ProverInitArgs { .clone() .proof_store_gcs_config .credentials_file - .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT).ask()); + .unwrap_or_else(|| { + Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT) + .default(&self.default_credentials_file(home)) + .ask() + }); ProverInitArgsFinal::GCSCreateBucket(ProofStorageGCSCreateBucket { bucket_name, @@ -162,7 +174,7 @@ impl ProverInitArgs { }) } - fn ask_gcs_config(&self) -> ProverInitArgsFinal { + fn ask_gcs_config(&self, home: &str) -> ProverInitArgsFinal { let bucket_base_url = self .clone() .proof_store_gcs_config @@ -172,11 +184,22 @@ impl ProverInitArgs { .clone() .proof_store_gcs_config .credentials_file - .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT).ask()); + .unwrap_or_else(|| { + Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT) + .default(&self.default_credentials_file(home)) + .ask() + }); ProverInitArgsFinal::GCS(ProofStorageGCS { bucket_base_url, credentials_file, }) } + + fn default_credentials_file(&self, home: &str) -> String { + format!( + "{}/.config/gcloud/application_default_credentials.json", + home + ) + } } diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 1300ab09a6ab..8180dd78ba64 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -20,7 +20,8 @@ const PROVER_STORE_MAX_RETRIES: u16 = 10; pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<()> { let project_ids = get_project_ids(shell)?; - let args = args.fill_values_with_prompt(project_ids); + let home = shell.var("HOME")?; + let args = args.fill_values_with_prompt(project_ids, &home); let ecosystem_config = EcosystemConfig::from_file(shell)?; let object_store_config = match args { diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index 33bd0cf000ec..4f58b08e9f3d 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -208,7 +208,7 @@ pub(super) const MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT: &str = "Select the pro pub(super) const MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT: &str = "Provide a project ID:"; pub(super) const MSG_CREATE_GCS_BUCKET_NAME_PROMTP: &str = "What do you want to name the bucket?"; -pub(super) const MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT: &str = "What location do you want to use?"; +pub(super) const MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT: &str = "What location do you want to use? Find available locations at https://cloud.google.com/storage/docs/locations"; pub(super) const MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR: &str = "Proof compressor config not found"; pub(super) const MSG_DOWNLOADING_SETUP_KEY_SPINNER: &str = "Downloading setup key..."; From a8a2c735bc482a708c768b1e8799e3e78aa35692 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Wed, 26 Jun 2024 16:52:00 +0200 Subject: [PATCH 23/40] Refactor ProverInitArgsFinal --- .../src/commands/prover/args/init.rs | 33 ++++++++++++------- .../zk_inception/src/commands/prover/init.rs | 10 +++--- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index f354ad87bc2b..2aea41e0fe3c 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -67,11 +67,15 @@ pub struct ProofStorageGCSCreateBucket { } #[derive(Debug, Clone)] -pub enum ProverInitArgsFinal { +pub enum ProofStorageConfig { FileBacked(ProofStorageFileBacked), GCS(ProofStorageGCS), GCSCreateBucket(ProofStorageGCSCreateBucket), } +#[derive(Debug, Clone)] +pub struct ProverInitArgsFinal { + pub proof_store: ProofStorageConfig, +} impl ProverInitArgs { pub(crate) fn fill_values_with_prompt( @@ -79,6 +83,15 @@ impl ProverInitArgs { project_ids: Vec, home: &str, ) -> ProverInitArgsFinal { + let proof_store = self.fill_proof_storage_values_with_prompt(project_ids, home); + ProverInitArgsFinal { proof_store } + } + + fn fill_proof_storage_values_with_prompt( + &self, + project_ids: Vec, + home: &str, + ) -> ProofStorageConfig { if self.proof_store_dir.is_some() { return self.handle_file_backed_config(); } @@ -111,16 +124,16 @@ impl ProverInitArgs { || self.proof_store_gcs_config.credentials_file.is_some() } - fn handle_file_backed_config(&self) -> ProverInitArgsFinal { + fn handle_file_backed_config(&self) -> ProofStorageConfig { let proof_store_dir = self .proof_store_dir .clone() .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_DIR_PROMPT).ask()); - ProverInitArgsFinal::FileBacked(ProofStorageFileBacked { proof_store_dir }) + ProofStorageConfig::FileBacked(ProofStorageFileBacked { proof_store_dir }) } - fn handle_gcs_config(&self, project_ids: Vec, home: &str) -> ProverInitArgsFinal { + fn handle_gcs_config(&self, project_ids: Vec, home: &str) -> ProofStorageConfig { if !self.partial_gcs_config_provided() { if PromptConfirm::new(MSG_CREATE_GCS_BUCKET_PROMPT).ask() { return self.handle_create_gcs_bucket(project_ids, home); @@ -130,11 +143,7 @@ impl ProverInitArgs { self.ask_gcs_config(home) } - fn handle_create_gcs_bucket( - &self, - project_ids: Vec, - home: &str, - ) -> ProverInitArgsFinal { + fn handle_create_gcs_bucket(&self, project_ids: Vec, home: &str) -> ProofStorageConfig { let project_id = self .create_gcs_bucket_config .project_id @@ -166,7 +175,7 @@ impl ProverInitArgs { .ask() }); - ProverInitArgsFinal::GCSCreateBucket(ProofStorageGCSCreateBucket { + ProofStorageConfig::GCSCreateBucket(ProofStorageGCSCreateBucket { bucket_name, location, project_id, @@ -174,7 +183,7 @@ impl ProverInitArgs { }) } - fn ask_gcs_config(&self, home: &str) -> ProverInitArgsFinal { + fn ask_gcs_config(&self, home: &str) -> ProofStorageConfig { let bucket_base_url = self .clone() .proof_store_gcs_config @@ -190,7 +199,7 @@ impl ProverInitArgs { .ask() }); - ProverInitArgsFinal::GCS(ProofStorageGCS { + ProofStorageConfig::GCS(ProofStorageGCS { bucket_base_url, credentials_file, }) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 8180dd78ba64..7ead54a1dd27 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -7,7 +7,7 @@ use zksync_config::{ }; use super::{ - args::init::{ProofStorageGCSCreateBucket, ProverInitArgs, ProverInitArgsFinal}, + args::init::{ProofStorageConfig, ProofStorageGCSCreateBucket, ProverInitArgs}, utils::get_link_to_prover, }; use crate::messages::{ @@ -24,15 +24,15 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( let args = args.fill_values_with_prompt(project_ids, &home); let ecosystem_config = EcosystemConfig::from_file(shell)?; - let object_store_config = match args { - ProverInitArgsFinal::FileBacked(config) => ObjectStoreConfig { + let object_store_config = match args.proof_store { + ProofStorageConfig::FileBacked(config) => ObjectStoreConfig { mode: ObjectStoreMode::FileBacked { file_backed_base_path: config.proof_store_dir, }, max_retries: PROVER_STORE_MAX_RETRIES, local_mirror_path: None, }, - ProverInitArgsFinal::GCS(config) => ObjectStoreConfig { + ProofStorageConfig::GCS(config) => ObjectStoreConfig { mode: ObjectStoreMode::GCSWithCredentialFile { bucket_base_url: config.bucket_base_url, gcs_credential_file_path: config.credentials_file, @@ -40,7 +40,7 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( max_retries: PROVER_STORE_MAX_RETRIES, local_mirror_path: None, }, - ProverInitArgsFinal::GCSCreateBucket(config) => create_gcs_bucket(shell, config)?, + ProofStorageConfig::GCSCreateBucket(config) => create_gcs_bucket(shell, config)?, }; let chain_config = ecosystem_config From d7e7ee27581ca745edba3cf5b63feefcced43fab Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Wed, 26 Jun 2024 18:02:17 +0200 Subject: [PATCH 24/40] Add setup keys configs --- .../src/commands/prover/args/init.rs | 61 ++++++++++++++++--- .../zk_inception/src/commands/prover/init.rs | 59 ++++++++++++++---- .../crates/zk_inception/src/messages.rs | 2 + 3 files changed, 102 insertions(+), 20 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index 2aea41e0fe3c..c5603358b2c2 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -7,8 +7,9 @@ use strum_macros::EnumIter; use crate::messages::{ MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT, MSG_CREATE_GCS_BUCKET_NAME_PROMTP, MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT, MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, - MSG_CREATE_GCS_BUCKET_PROMPT, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, - MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, + MSG_CREATE_GCS_BUCKET_PROMPT, MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_PROOF_STORE_CONFIG_PROMPT, + MSG_PROOF_STORE_DIR_PROMPT, MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, + MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, MSG_SETUP_KEY_PATH_PROMPT, }; #[derive(Debug, Clone, Serialize, Deserialize, Parser, Default)] @@ -17,10 +18,13 @@ pub struct ProverInitArgs { pub proof_store_dir: Option, #[clap(flatten)] #[serde(flatten)] - pub proof_store_gcs_config: ProofStoreGCSConfig, + pub proof_store_gcs_config: ProofStorageGCSTmp, #[clap(flatten)] #[serde(flatten)] - pub create_gcs_bucket_config: CreateGCSBucketConfig, + pub create_gcs_bucket_config: ProofStorageGCSCreateBucketTmp, + #[clap(flatten)] + #[serde(flatten)] + pub setup_key_config: SetupKeyConfigTmp, } #[derive(Debug, Clone, ValueEnum, EnumIter, strum_macros::Display, PartialEq, Eq)] @@ -30,7 +34,7 @@ enum ProofStoreConfig { } #[derive(Clone, Debug, Serialize, Deserialize, Parser, Default)] -pub struct ProofStoreGCSConfig { +pub struct ProofStorageGCSTmp { #[clap(long)] pub bucket_base_url: Option, #[clap(long)] @@ -38,7 +42,7 @@ pub struct ProofStoreGCSConfig { } #[derive(Debug, Clone, Serialize, Deserialize, Parser, Default)] -pub struct CreateGCSBucketConfig { +pub struct ProofStorageGCSCreateBucketTmp { #[clap(long)] pub bucket_name: Option, #[clap(long)] @@ -47,6 +51,14 @@ pub struct CreateGCSBucketConfig { pub project_id: Option, } +#[derive(Clone, Debug, Serialize, Deserialize, Parser, Default)] +pub struct SetupKeyConfigTmp { + #[clap(long)] + pub download_key: Option, + #[clap(long)] + pub setup_key_path: Option, +} + #[derive(Debug, Clone)] pub struct ProofStorageFileBacked { pub proof_store_dir: String, @@ -72,9 +84,17 @@ pub enum ProofStorageConfig { GCS(ProofStorageGCS), GCSCreateBucket(ProofStorageGCSCreateBucket), } + +#[derive(Debug, Clone)] +pub struct SetupKeyConfig { + pub download_key: bool, + pub setup_key_path: String, +} + #[derive(Debug, Clone)] pub struct ProverInitArgsFinal { pub proof_store: ProofStorageConfig, + pub setup_key_config: SetupKeyConfig, } impl ProverInitArgs { @@ -82,9 +102,14 @@ impl ProverInitArgs { &self, project_ids: Vec, home: &str, + setup_key_path: &str, ) -> ProverInitArgsFinal { let proof_store = self.fill_proof_storage_values_with_prompt(project_ids, home); - ProverInitArgsFinal { proof_store } + let setup_key_config = self.fill_setup_key_values_with_prompt(setup_key_path); + ProverInitArgsFinal { + proof_store, + setup_key_config, + } } fn fill_proof_storage_values_with_prompt( @@ -113,6 +138,28 @@ impl ProverInitArgs { } } + fn fill_setup_key_values_with_prompt(&self, setup_key_path: &str) -> SetupKeyConfig { + let download_key = self + .clone() + .setup_key_config + .download_key + .unwrap_or_else(|| PromptConfirm::new(MSG_DOWNLOAD_SETUP_KEY_PROMPT).ask()); + let setup_key_path = self + .clone() + .setup_key_config + .setup_key_path + .unwrap_or_else(|| { + Prompt::new(MSG_SETUP_KEY_PATH_PROMPT) + .default(setup_key_path) + .ask() + }); + + SetupKeyConfig { + download_key, + setup_key_path, + } + } + fn partial_create_gcs_bucket_config_provided(&self) -> bool { self.create_gcs_bucket_config.bucket_name.is_some() || self.create_gcs_bucket_config.location.is_some() diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 7ead54a1dd27..c1bc209d93b1 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -1,3 +1,5 @@ +use std::path::PathBuf; + use common::{cmd::Cmd, logger, spinner::Spinner}; use config::EcosystemConfig; use xshell::{cmd, Shell}; @@ -19,10 +21,19 @@ use crate::messages::{ const PROVER_STORE_MAX_RETRIES: u16 = 10; pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<()> { + let ecosystem_config = EcosystemConfig::from_file(shell)?; + let chain_config = ecosystem_config + .load_chain(Some(ecosystem_config.default_chain.clone())) + .expect(MSG_CHAIN_NOT_FOUND_ERR); + let mut general_config = chain_config + .get_general_config() + .expect(MSG_GENERAL_CONFIG_NOT_FOUND_ERR); + let project_ids = get_project_ids(shell)?; let home = shell.var("HOME")?; - let args = args.fill_values_with_prompt(project_ids, &home); - let ecosystem_config = EcosystemConfig::from_file(shell)?; + let setup_key_path = get_setup_key_path(&general_config, &ecosystem_config)?; + + let args = args.fill_values_with_prompt(project_ids, &home, &setup_key_path); let object_store_config = match args.proof_store { ProofStorageConfig::FileBacked(config) => ObjectStoreConfig { @@ -43,20 +54,27 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( ProofStorageConfig::GCSCreateBucket(config) => create_gcs_bucket(shell, config)?, }; - let chain_config = ecosystem_config - .load_chain(Some(ecosystem_config.default_chain.clone())) - .expect(MSG_CHAIN_NOT_FOUND_ERR); - let mut general_config = chain_config - .get_general_config() - .expect(MSG_GENERAL_CONFIG_NOT_FOUND_ERR); + if args.setup_key_config.download_key { + download_setup_key( + shell, + &general_config, + &args.setup_key_config.setup_key_path, + )?; + } + let mut prover_config = general_config .prover_config .expect(MSG_PROVER_CONFIG_NOT_FOUND_ERR); prover_config.prover_object_store = Some(object_store_config.clone()); general_config.prover_config = Some(prover_config); - chain_config.save_general_config(&general_config)?; - download_setup_key(shell, &general_config, &ecosystem_config)?; + let mut proof_compressor_config = general_config + .proof_compressor_config + .expect(MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR); + proof_compressor_config.universal_setup_path = args.setup_key_config.setup_key_path; + general_config.proof_compressor_config = Some(proof_compressor_config); + + chain_config.save_general_config(&general_config)?; logger::outro(MSG_PROVER_INITIALIZED); Ok(()) @@ -94,7 +112,7 @@ fn create_gcs_bucket( fn download_setup_key( shell: &Shell, general_config: &GeneralConfig, - ecosystem_config: &EcosystemConfig, + path: &str, ) -> anyhow::Result<()> { let spinner = Spinner::new(MSG_DOWNLOADING_SETUP_KEY_SPINNER); let compressor_config: zksync_config::configs::FriProofCompressorConfig = general_config @@ -102,8 +120,6 @@ fn download_setup_key( .as_ref() .expect(MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR) .clone(); - let link_to_prover = get_link_to_prover(ecosystem_config); - let path = link_to_prover.join(compressor_config.universal_setup_path); let url = compressor_config.universal_setup_download_url; let mut cmd = Cmd::new(cmd!(shell, "wget {url} -P {path}")); @@ -125,3 +141,20 @@ fn get_project_ids(shell: &Shell) -> anyhow::Result> { Ok(project_ids) } + +fn get_setup_key_path( + general_config: &GeneralConfig, + ecosystem_config: &EcosystemConfig, +) -> anyhow::Result { + let setup_key_path = general_config + .proof_compressor_config + .as_ref() + .expect(MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR) + .universal_setup_path + .clone(); + let link_to_prover = get_link_to_prover(ecosystem_config); + let path = link_to_prover.join(setup_key_path); + let string = path.to_str().unwrap(); + + Ok(String::from(string)) +} diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index 4f58b08e9f3d..b3c90e6f16ed 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -212,3 +212,5 @@ pub(super) const MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT: &str = "What location do pub(super) const MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR: &str = "Proof compressor config not found"; pub(super) const MSG_DOWNLOADING_SETUP_KEY_SPINNER: &str = "Downloading setup key..."; +pub(super) const MSG_DOWNLOAD_SETUP_KEY_PROMPT: &str = "Do you want to download the setup key?"; +pub(super) const MSG_SETUP_KEY_PATH_PROMPT: &str = "Provide the path to the setup key:"; From bd1269685cb186dcd155c80439bfd2edee8e377f Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 27 Jun 2024 10:12:54 +0200 Subject: [PATCH 25/40] Only check gcloud in prover --- zk_toolbox/crates/common/src/lib.rs | 3 ++- zk_toolbox/crates/common/src/prerequisites.rs | 25 +++++++++++++------ .../zk_inception/src/commands/prover/init.rs | 5 ++-- zk_toolbox/crates/zk_inception/src/main.rs | 4 +-- zk_toolbox/crates/zk_supervisor/src/main.rs | 4 +-- 5 files changed, 25 insertions(+), 16 deletions(-) diff --git a/zk_toolbox/crates/common/src/lib.rs b/zk_toolbox/crates/common/src/lib.rs index a6ada02a8fd6..cfff9602ed55 100644 --- a/zk_toolbox/crates/common/src/lib.rs +++ b/zk_toolbox/crates/common/src/lib.rs @@ -1,4 +1,5 @@ -pub use prerequisites::check_prerequisites; +pub use prerequisites::check_general_prerequisites; +pub use prerequisites::check_prover_prequisites; pub use prompt::{init_prompt_theme, Prompt, PromptConfirm, PromptSelect}; pub use term::{logger, spinner}; diff --git a/zk_toolbox/crates/common/src/prerequisites.rs b/zk_toolbox/crates/common/src/prerequisites.rs index e668417ee14d..717635a1a18f 100644 --- a/zk_toolbox/crates/common/src/prerequisites.rs +++ b/zk_toolbox/crates/common/src/prerequisites.rs @@ -2,7 +2,7 @@ use xshell::{cmd, Shell}; use crate::{cmd::Cmd, logger}; -const PREREQUISITES: [Prerequisite; 6] = [ +const PREREQUISITES: [Prerequisite; 5] = [ Prerequisite { name: "git", download_link: "https://git-scm.com/book/en/v2/Getting-Started-Installing-Git", @@ -23,10 +23,6 @@ const PREREQUISITES: [Prerequisite; 6] = [ name: "yarn", download_link: "https://yarnpkg.com/getting-started/install", }, - Prerequisite { - name: "gcloud", - download_link: "https://cloud.google.com/sdk/docs/install", - }, ]; const DOCKER_COMPOSE_PREREQUISITE: Prerequisite = Prerequisite { @@ -34,21 +30,34 @@ const DOCKER_COMPOSE_PREREQUISITE: Prerequisite = Prerequisite { download_link: "https://docs.docker.com/compose/install/", }; +const PROVER_PREREQUISITES: [Prerequisite; 1] = [Prerequisite { + name: "gcloud", + download_link: "https://cloud.google.com/sdk/docs/install", +}]; + struct Prerequisite { name: &'static str, download_link: &'static str, } -pub fn check_prerequisites(shell: &Shell) { +pub fn check_general_prerequisites(shell: &Shell) { + check_prerequisites(shell, &PREREQUISITES, true); +} + +pub fn check_prover_prequisites(shell: &Shell) { + check_prerequisites(shell, &PROVER_PREREQUISITES, false); +} + +fn check_prerequisites(shell: &Shell, prerequisites: &[Prerequisite], check_compose: bool) { let mut missing_prerequisites = vec![]; - for prerequisite in &PREREQUISITES { + for prerequisite in prerequisites { if !check_prerequisite(shell, prerequisite.name) { missing_prerequisites.push(prerequisite); } } - if !check_docker_compose_prerequisite(shell) { + if check_compose && !check_docker_compose_prerequisite(shell) { missing_prerequisites.push(&DOCKER_COMPOSE_PREREQUISITE); } diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index c1bc209d93b1..419d54f2cc47 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -1,6 +1,4 @@ -use std::path::PathBuf; - -use common::{cmd::Cmd, logger, spinner::Spinner}; +use common::{check_prover_prequisites, cmd::Cmd, logger, spinner::Spinner}; use config::EcosystemConfig; use xshell::{cmd, Shell}; use zksync_config::{ @@ -21,6 +19,7 @@ use crate::messages::{ const PROVER_STORE_MAX_RETRIES: u16 = 10; pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<()> { + check_prover_prequisites(shell); let ecosystem_config = EcosystemConfig::from_file(shell)?; let chain_config = ecosystem_config .load_chain(Some(ecosystem_config.default_chain.clone())) diff --git a/zk_toolbox/crates/zk_inception/src/main.rs b/zk_toolbox/crates/zk_inception/src/main.rs index dff9e479e01f..41612ad33d36 100644 --- a/zk_toolbox/crates/zk_inception/src/main.rs +++ b/zk_toolbox/crates/zk_inception/src/main.rs @@ -1,6 +1,6 @@ use clap::{command, Parser, Subcommand}; use common::{ - check_prerequisites, + check_general_prerequisites, config::{global_config, init_global_config, GlobalConfig}, init_prompt_theme, logger, }; @@ -75,7 +75,7 @@ async fn main() -> anyhow::Result<()> { init_global_config_inner(&shell, &inception_args.global)?; if !global_config().ignore_prerequisites { - check_prerequisites(&shell); + check_general_prerequisites(&shell); } match run_subcommand(inception_args, &shell).await { diff --git a/zk_toolbox/crates/zk_supervisor/src/main.rs b/zk_toolbox/crates/zk_supervisor/src/main.rs index ab5629465a88..da1efe8f38d5 100644 --- a/zk_toolbox/crates/zk_supervisor/src/main.rs +++ b/zk_toolbox/crates/zk_supervisor/src/main.rs @@ -1,7 +1,7 @@ use clap::{Parser, Subcommand}; use commands::database::DatabaseCommands; use common::{ - check_prerequisites, + check_general_prerequisites, config::{global_config, init_global_config, GlobalConfig}, init_prompt_theme, logger, }; @@ -62,7 +62,7 @@ async fn main() -> anyhow::Result<()> { init_global_config_inner(&shell, &args.global)?; if !global_config().ignore_prerequisites { - check_prerequisites(&shell); + check_general_prerequisites(&shell); } match run_subcommand(args, &shell).await { From ec7d44667b11c1185ef0e5cdc0e33db09f950728 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 27 Jun 2024 10:13:41 +0200 Subject: [PATCH 26/40] fmt --- zk_toolbox/crates/common/src/lib.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/zk_toolbox/crates/common/src/lib.rs b/zk_toolbox/crates/common/src/lib.rs index cfff9602ed55..e365064b81ff 100644 --- a/zk_toolbox/crates/common/src/lib.rs +++ b/zk_toolbox/crates/common/src/lib.rs @@ -1,5 +1,4 @@ -pub use prerequisites::check_general_prerequisites; -pub use prerequisites::check_prover_prequisites; +pub use prerequisites::{check_general_prerequisites, check_prover_prequisites}; pub use prompt::{init_prompt_theme, Prompt, PromptConfirm, PromptSelect}; pub use term::{logger, spinner}; From a0f5ad7c214b13cd3f0b44ee4ec966b1f2220104 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 27 Jun 2024 15:07:36 +0200 Subject: [PATCH 27/40] Remove home variable --- .../src/commands/prover/args/init.rs | 33 ++++++++----------- .../zk_inception/src/commands/prover/init.rs | 3 +- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index c5603358b2c2..bb8d18f78d85 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -97,14 +97,15 @@ pub struct ProverInitArgsFinal { pub setup_key_config: SetupKeyConfig, } +const DEFAULT_CREDENTIALS_FILE: &str = "~/.config/gcloud/application_default_credentials.json"; + impl ProverInitArgs { pub(crate) fn fill_values_with_prompt( &self, project_ids: Vec, - home: &str, setup_key_path: &str, ) -> ProverInitArgsFinal { - let proof_store = self.fill_proof_storage_values_with_prompt(project_ids, home); + let proof_store = self.fill_proof_storage_values_with_prompt(project_ids); let setup_key_config = self.fill_setup_key_values_with_prompt(setup_key_path); ProverInitArgsFinal { proof_store, @@ -115,18 +116,17 @@ impl ProverInitArgs { fn fill_proof_storage_values_with_prompt( &self, project_ids: Vec, - home: &str, ) -> ProofStorageConfig { if self.proof_store_dir.is_some() { return self.handle_file_backed_config(); } if self.partial_gcs_config_provided() { - return self.ask_gcs_config(home); + return self.ask_gcs_config(); } if self.partial_create_gcs_bucket_config_provided() { - return self.handle_create_gcs_bucket(project_ids, home); + return self.handle_create_gcs_bucket(project_ids); } let proof_store_config = @@ -134,7 +134,7 @@ impl ProverInitArgs { match proof_store_config { ProofStoreConfig::Local => self.handle_file_backed_config(), - ProofStoreConfig::GCS => self.handle_gcs_config(project_ids, home), + ProofStoreConfig::GCS => self.handle_gcs_config(project_ids), } } @@ -180,17 +180,17 @@ impl ProverInitArgs { ProofStorageConfig::FileBacked(ProofStorageFileBacked { proof_store_dir }) } - fn handle_gcs_config(&self, project_ids: Vec, home: &str) -> ProofStorageConfig { + fn handle_gcs_config(&self, project_ids: Vec) -> ProofStorageConfig { if !self.partial_gcs_config_provided() { if PromptConfirm::new(MSG_CREATE_GCS_BUCKET_PROMPT).ask() { - return self.handle_create_gcs_bucket(project_ids, home); + return self.handle_create_gcs_bucket(project_ids); } } - self.ask_gcs_config(home) + self.ask_gcs_config() } - fn handle_create_gcs_bucket(&self, project_ids: Vec, home: &str) -> ProofStorageConfig { + fn handle_create_gcs_bucket(&self, project_ids: Vec) -> ProofStorageConfig { let project_id = self .create_gcs_bucket_config .project_id @@ -218,7 +218,7 @@ impl ProverInitArgs { .credentials_file .unwrap_or_else(|| { Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT) - .default(&self.default_credentials_file(home)) + .default(DEFAULT_CREDENTIALS_FILE) .ask() }); @@ -230,7 +230,7 @@ impl ProverInitArgs { }) } - fn ask_gcs_config(&self, home: &str) -> ProofStorageConfig { + fn ask_gcs_config(&self) -> ProofStorageConfig { let bucket_base_url = self .clone() .proof_store_gcs_config @@ -242,7 +242,7 @@ impl ProverInitArgs { .credentials_file .unwrap_or_else(|| { Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT) - .default(&self.default_credentials_file(home)) + .default(DEFAULT_CREDENTIALS_FILE) .ask() }); @@ -251,11 +251,4 @@ impl ProverInitArgs { credentials_file, }) } - - fn default_credentials_file(&self, home: &str) -> String { - format!( - "{}/.config/gcloud/application_default_credentials.json", - home - ) - } } diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index d8481e345cb5..52eeeee12460 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -29,10 +29,9 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( .expect(MSG_GENERAL_CONFIG_NOT_FOUND_ERR); let project_ids = get_project_ids(shell)?; - let home = shell.var("HOME")?; let setup_key_path = get_setup_key_path(&general_config, &ecosystem_config)?; - let args = args.fill_values_with_prompt(project_ids, &home, &setup_key_path); + let args = args.fill_values_with_prompt(project_ids, &setup_key_path); let object_store_config = match args.proof_store { ProofStorageConfig::FileBacked(config) => ObjectStoreConfig { From c41d1940cb11dadfba230292eb192d47f0640f0e Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 27 Jun 2024 15:10:02 +0200 Subject: [PATCH 28/40] Add getting projects spinner --- zk_toolbox/crates/zk_inception/src/commands/prover/init.rs | 6 ++++-- zk_toolbox/crates/zk_inception/src/messages.rs | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 52eeeee12460..2c187ab292cf 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -12,8 +12,8 @@ use super::{ }; use crate::messages::{ MSG_CHAIN_NOT_FOUND_ERR, MSG_DOWNLOADING_SETUP_KEY_SPINNER, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, - MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, MSG_PROVER_CONFIG_NOT_FOUND_ERR, - MSG_PROVER_INITIALIZED, + MSG_GETTING_GCP_PROJECTS_SPINNER, MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, + MSG_PROVER_CONFIG_NOT_FOUND_ERR, MSG_PROVER_INITIALIZED, }; const PROVER_STORE_MAX_RETRIES: u16 = 10; @@ -28,7 +28,9 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( .get_zksync_general_config() .expect(MSG_GENERAL_CONFIG_NOT_FOUND_ERR); + let spinner = Spinner::new(MSG_GETTING_GCP_PROJECTS_SPINNER); let project_ids = get_project_ids(shell)?; + spinner.finish(); let setup_key_path = get_setup_key_path(&general_config, &ecosystem_config)?; let args = args.fill_values_with_prompt(project_ids, &setup_key_path); diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index c41beb2133c8..c1d0386a0de1 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -234,3 +234,4 @@ pub(super) const MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR: &str = pub(super) const MSG_DOWNLOADING_SETUP_KEY_SPINNER: &str = "Downloading setup key..."; pub(super) const MSG_DOWNLOAD_SETUP_KEY_PROMPT: &str = "Do you want to download the setup key?"; pub(super) const MSG_SETUP_KEY_PATH_PROMPT: &str = "Provide the path to the setup key:"; +pub(super) const MSG_GETTING_GCP_PROJECTS_SPINNER: &str = "Getting GCP projects..."; From 16b0ffb0052822aba95a774af81464cee05a05d6 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 27 Jun 2024 15:14:01 +0200 Subject: [PATCH 29/40] Add default proof store dir --- .../zk_inception/src/commands/prover/args/init.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index bb8d18f78d85..c5e8002bde36 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -98,6 +98,7 @@ pub struct ProverInitArgsFinal { } const DEFAULT_CREDENTIALS_FILE: &str = "~/.config/gcloud/application_default_credentials.json"; +const DEFAULT_PROOF_STORE_DIR: &str = "artifacts"; impl ProverInitArgs { pub(crate) fn fill_values_with_prompt( @@ -172,10 +173,11 @@ impl ProverInitArgs { } fn handle_file_backed_config(&self) -> ProofStorageConfig { - let proof_store_dir = self - .proof_store_dir - .clone() - .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_DIR_PROMPT).ask()); + let proof_store_dir = self.proof_store_dir.clone().unwrap_or_else(|| { + Prompt::new(MSG_PROOF_STORE_DIR_PROMPT) + .default(DEFAULT_PROOF_STORE_DIR) + .ask() + }); ProofStorageConfig::FileBacked(ProofStorageFileBacked { proof_store_dir }) } From 39bc6653914d44fa87935d05c368cd1911ef0da1 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 27 Jun 2024 16:37:40 +0200 Subject: [PATCH 30/40] Add public_object_store_config --- .../src/commands/prover/args/init.rs | 241 +++++++++++++----- .../zk_inception/src/commands/prover/init.rs | 54 ++-- 2 files changed, 210 insertions(+), 85 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index c5e8002bde36..0e07d66034fa 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -14,6 +14,7 @@ use crate::messages::{ #[derive(Debug, Clone, Serialize, Deserialize, Parser, Default)] pub struct ProverInitArgs { + // Proof store object #[clap(long)] pub proof_store_dir: Option, #[clap(flatten)] @@ -22,6 +23,19 @@ pub struct ProverInitArgs { #[clap(flatten)] #[serde(flatten)] pub create_gcs_bucket_config: ProofStorageGCSCreateBucketTmp, + + // Public store object + #[clap(long)] + pub shall_save_to_public_bucket: Option, + #[clap(long)] + pub public_store_dir: Option, + #[clap(flatten)] + #[serde(flatten)] + pub public_store_gcs_config: PublicStorageGCSTmp, + #[clap(flatten)] + #[serde(flatten)] + pub public_create_gcs_bucket_config: PublicStorageGCSCreateBucketTmp, + #[clap(flatten)] #[serde(flatten)] pub setup_key_config: SetupKeyConfigTmp, @@ -51,6 +65,24 @@ pub struct ProofStorageGCSCreateBucketTmp { pub project_id: Option, } +#[derive(Clone, Debug, Serialize, Deserialize, Parser, Default)] +pub struct PublicStorageGCSTmp { + #[clap(long)] + pub public_bucket_base_url: Option, + #[clap(long)] + pub public_credentials_file: Option, +} + +#[derive(Debug, Clone, Serialize, Deserialize, Parser, Default)] +pub struct PublicStorageGCSCreateBucketTmp { + #[clap(long)] + pub public_bucket_name: Option, + #[clap(long)] + pub public_location: Option, + #[clap(long)] + pub public_project_id: Option, +} + #[derive(Clone, Debug, Serialize, Deserialize, Parser, Default)] pub struct SetupKeyConfigTmp { #[clap(long)] @@ -94,6 +126,7 @@ pub struct SetupKeyConfig { #[derive(Debug, Clone)] pub struct ProverInitArgsFinal { pub proof_store: ProofStorageConfig, + pub public_store: Option, pub setup_key_config: SetupKeyConfig, } @@ -106,10 +139,12 @@ impl ProverInitArgs { project_ids: Vec, setup_key_path: &str, ) -> ProverInitArgsFinal { - let proof_store = self.fill_proof_storage_values_with_prompt(project_ids); + let proof_store = self.fill_proof_storage_values_with_prompt(project_ids.clone()); + let public_store = self.fill_public_storage_values_with_prompt(project_ids); let setup_key_config = self.fill_setup_key_values_with_prompt(setup_key_path); ProverInitArgsFinal { proof_store, + public_store, setup_key_config, } } @@ -119,24 +154,97 @@ impl ProverInitArgs { project_ids: Vec, ) -> ProofStorageConfig { if self.proof_store_dir.is_some() { - return self.handle_file_backed_config(); + return self.handle_file_backed_config(self.proof_store_dir.clone()); } - if self.partial_gcs_config_provided() { - return self.ask_gcs_config(); + if self.partial_gcs_config_provided( + self.proof_store_gcs_config.bucket_base_url.clone(), + self.proof_store_gcs_config.credentials_file.clone(), + ) { + return self.ask_gcs_config( + self.proof_store_gcs_config.bucket_base_url.clone(), + self.proof_store_gcs_config.credentials_file.clone(), + ); } - if self.partial_create_gcs_bucket_config_provided() { - return self.handle_create_gcs_bucket(project_ids); + if self.partial_create_gcs_bucket_config_provided( + self.create_gcs_bucket_config.bucket_name.clone(), + self.create_gcs_bucket_config.location.clone(), + self.create_gcs_bucket_config.project_id.clone(), + ) { + return self.handle_create_gcs_bucket( + project_ids, + self.create_gcs_bucket_config.project_id.clone(), + self.create_gcs_bucket_config.bucket_name.clone(), + self.create_gcs_bucket_config.location.clone(), + self.proof_store_gcs_config.credentials_file.clone(), + ); } let proof_store_config = PromptSelect::new(MSG_PROOF_STORE_CONFIG_PROMPT, ProofStoreConfig::iter()).ask(); match proof_store_config { - ProofStoreConfig::Local => self.handle_file_backed_config(), - ProofStoreConfig::GCS => self.handle_gcs_config(project_ids), + ProofStoreConfig::Local => self.handle_file_backed_config(self.proof_store_dir.clone()), + ProofStoreConfig::GCS => self.handle_gcs_config( + project_ids, + self.proof_store_gcs_config.bucket_base_url.clone(), + self.proof_store_gcs_config.credentials_file.clone(), + ), + } + } + + fn fill_public_storage_values_with_prompt( + &self, + project_ids: Vec, + ) -> Option { + let shall_save_to_public_bucket = self + .shall_save_to_public_bucket + .unwrap_or_else(|| PromptConfirm::new("Do you want to save to public bucket?").ask()); + + if !shall_save_to_public_bucket { + return None; } + + let public_store = if self.public_store_dir.is_some() { + self.handle_file_backed_config(self.public_store_dir.clone()) + } else if self.partial_gcs_config_provided( + self.public_store_gcs_config.public_bucket_base_url.clone(), + self.public_store_gcs_config.public_credentials_file.clone(), + ) { + self.ask_gcs_config( + self.public_store_gcs_config.public_bucket_base_url.clone(), + self.public_store_gcs_config.public_credentials_file.clone(), + ) + } else if self.partial_create_gcs_bucket_config_provided( + self.public_create_gcs_bucket_config + .public_bucket_name + .clone(), + self.public_create_gcs_bucket_config.public_location.clone(), + self.public_create_gcs_bucket_config + .public_project_id + .clone(), + ) { + self.handle_create_gcs_bucket( + project_ids, + self.public_create_gcs_bucket_config + .public_project_id + .clone(), + self.public_create_gcs_bucket_config + .public_bucket_name + .clone(), + self.public_create_gcs_bucket_config.public_location.clone(), + self.public_store_gcs_config.public_credentials_file.clone(), + ) + } else { + self.handle_gcs_config( + project_ids, + self.public_store_gcs_config.public_bucket_base_url.clone(), + self.public_store_gcs_config.public_credentials_file.clone(), + ) + }; + + Some(public_store) } fn fill_setup_key_values_with_prompt(&self, setup_key_path: &str) -> SetupKeyConfig { @@ -161,19 +269,25 @@ impl ProverInitArgs { } } - fn partial_create_gcs_bucket_config_provided(&self) -> bool { - self.create_gcs_bucket_config.bucket_name.is_some() - || self.create_gcs_bucket_config.location.is_some() - || self.create_gcs_bucket_config.project_id.is_some() + fn partial_create_gcs_bucket_config_provided( + &self, + bucket_name: Option, + location: Option, + project_id: Option, + ) -> bool { + bucket_name.is_some() || location.is_some() || project_id.is_some() } - fn partial_gcs_config_provided(&self) -> bool { - self.proof_store_gcs_config.bucket_base_url.is_some() - || self.proof_store_gcs_config.credentials_file.is_some() + fn partial_gcs_config_provided( + &self, + bucket_base_url: Option, + credentials_file: Option, + ) -> bool { + bucket_base_url.is_some() || credentials_file.is_some() } - fn handle_file_backed_config(&self) -> ProofStorageConfig { - let proof_store_dir = self.proof_store_dir.clone().unwrap_or_else(|| { + fn handle_file_backed_config(&self, store_dir: Option) -> ProofStorageConfig { + let proof_store_dir = store_dir.unwrap_or_else(|| { Prompt::new(MSG_PROOF_STORE_DIR_PROMPT) .default(DEFAULT_PROOF_STORE_DIR) .ask() @@ -182,47 +296,45 @@ impl ProverInitArgs { ProofStorageConfig::FileBacked(ProofStorageFileBacked { proof_store_dir }) } - fn handle_gcs_config(&self, project_ids: Vec) -> ProofStorageConfig { - if !self.partial_gcs_config_provided() { + fn handle_gcs_config( + &self, + project_ids: Vec, + bucket_base_url: Option, + credentials_file: Option, + ) -> ProofStorageConfig { + if !self.partial_gcs_config_provided(bucket_base_url.clone(), credentials_file.clone()) { if PromptConfirm::new(MSG_CREATE_GCS_BUCKET_PROMPT).ask() { - return self.handle_create_gcs_bucket(project_ids); + return self.handle_create_gcs_bucket(project_ids, None, None, None, None); } } - self.ask_gcs_config() + self.ask_gcs_config(bucket_base_url, credentials_file) } - fn handle_create_gcs_bucket(&self, project_ids: Vec) -> ProofStorageConfig { - let project_id = self - .create_gcs_bucket_config - .project_id - .clone() - .unwrap_or_else(|| { - if project_ids.is_empty() { - Prompt::new(MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT).ask() - } else { - PromptSelect::new(MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, project_ids).ask() - } - }); - let bucket_name = self - .create_gcs_bucket_config - .bucket_name - .clone() - .unwrap_or_else(|| Prompt::new(MSG_CREATE_GCS_BUCKET_NAME_PROMTP).ask()); - let location = self - .create_gcs_bucket_config - .location - .clone() - .unwrap_or_else(|| Prompt::new(MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT).ask()); - let credentials_file = self - .clone() - .proof_store_gcs_config - .credentials_file - .unwrap_or_else(|| { - Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT) - .default(DEFAULT_CREDENTIALS_FILE) - .ask() - }); + fn handle_create_gcs_bucket( + &self, + project_ids: Vec, + project_id: Option, + bucket_name: Option, + location: Option, + credentials_file: Option, + ) -> ProofStorageConfig { + let project_id = project_id.unwrap_or_else(|| { + if project_ids.is_empty() { + Prompt::new(MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT).ask() + } else { + PromptSelect::new(MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, project_ids).ask() + } + }); + let bucket_name = + bucket_name.unwrap_or_else(|| Prompt::new(MSG_CREATE_GCS_BUCKET_NAME_PROMTP).ask()); + let location = + location.unwrap_or_else(|| Prompt::new(MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT).ask()); + let credentials_file = credentials_file.unwrap_or_else(|| { + Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT) + .default(DEFAULT_CREDENTIALS_FILE) + .ask() + }); ProofStorageConfig::GCSCreateBucket(ProofStorageGCSCreateBucket { bucket_name, @@ -232,21 +344,18 @@ impl ProverInitArgs { }) } - fn ask_gcs_config(&self) -> ProofStorageConfig { - let bucket_base_url = self - .clone() - .proof_store_gcs_config - .bucket_base_url + fn ask_gcs_config( + &self, + bucket_base_url: Option, + credentials_file: Option, + ) -> ProofStorageConfig { + let bucket_base_url = bucket_base_url .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT).ask()); - let credentials_file = self - .clone() - .proof_store_gcs_config - .credentials_file - .unwrap_or_else(|| { - Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT) - .default(DEFAULT_CREDENTIALS_FILE) - .ask() - }); + let credentials_file = credentials_file.unwrap_or_else(|| { + Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT) + .default(DEFAULT_CREDENTIALS_FILE) + .ask() + }); ProofStorageConfig::GCS(ProofStorageGCS { bucket_base_url, diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 2c187ab292cf..e374b308aeb3 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -35,24 +35,8 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( let args = args.fill_values_with_prompt(project_ids, &setup_key_path); - let object_store_config = match args.proof_store { - ProofStorageConfig::FileBacked(config) => ObjectStoreConfig { - mode: ObjectStoreMode::FileBacked { - file_backed_base_path: config.proof_store_dir, - }, - max_retries: PROVER_STORE_MAX_RETRIES, - local_mirror_path: None, - }, - ProofStorageConfig::GCS(config) => ObjectStoreConfig { - mode: ObjectStoreMode::GCSWithCredentialFile { - bucket_base_url: config.bucket_base_url, - gcs_credential_file_path: config.credentials_file, - }, - max_retries: PROVER_STORE_MAX_RETRIES, - local_mirror_path: None, - }, - ProofStorageConfig::GCSCreateBucket(config) => create_gcs_bucket(shell, config)?, - }; + let proof_object_store_config = get_object_store_config(shell, Some(args.proof_store))?; + let public_object_store_config = get_object_store_config(shell, args.public_store)?; if args.setup_key_config.download_key { download_setup_key( @@ -65,7 +49,10 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( let mut prover_config = general_config .prover_config .expect(MSG_PROVER_CONFIG_NOT_FOUND_ERR); - prover_config.prover_object_store = Some(object_store_config.clone()); + prover_config.prover_object_store = proof_object_store_config.clone(); + if let Some(public_object_store_config) = public_object_store_config { + prover_config.public_object_store = Some(public_object_store_config); + } general_config.prover_config = Some(prover_config); let mut proof_compressor_config = general_config @@ -158,3 +145,32 @@ fn get_setup_key_path( Ok(String::from(string)) } + +fn get_object_store_config( + shell: &Shell, + config: Option, +) -> anyhow::Result> { + let object_store = match config { + Some(ProofStorageConfig::FileBacked(config)) => Some(ObjectStoreConfig { + mode: ObjectStoreMode::FileBacked { + file_backed_base_path: config.proof_store_dir, + }, + max_retries: PROVER_STORE_MAX_RETRIES, + local_mirror_path: None, + }), + Some(ProofStorageConfig::GCS(config)) => Some(ObjectStoreConfig { + mode: ObjectStoreMode::GCSWithCredentialFile { + bucket_base_url: config.bucket_base_url, + gcs_credential_file_path: config.credentials_file, + }, + max_retries: PROVER_STORE_MAX_RETRIES, + local_mirror_path: None, + }), + Some(ProofStorageConfig::GCSCreateBucket(config)) => { + Some(create_gcs_bucket(shell, config)?) + } + None => None, + }; + + Ok(object_store) +} From 8bbff73ad2bece575bdec07ae34cd78b996b147c Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 27 Jun 2024 16:44:48 +0200 Subject: [PATCH 31/40] Add missing prompt from public store config --- .../src/commands/prover/args/init.rs | 72 +++++++++++-------- .../crates/zk_inception/src/messages.rs | 2 + 2 files changed, 43 insertions(+), 31 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index 0e07d66034fa..08661838d630 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -1,5 +1,5 @@ use clap::{Parser, ValueEnum}; -use common::{Prompt, PromptConfirm, PromptSelect}; +use common::{logger, Prompt, PromptConfirm, PromptSelect}; use serde::{Deserialize, Serialize}; use strum::IntoEnumIterator; use strum_macros::EnumIter; @@ -7,9 +7,10 @@ use strum_macros::EnumIter; use crate::messages::{ MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT, MSG_CREATE_GCS_BUCKET_NAME_PROMTP, MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT, MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, - MSG_CREATE_GCS_BUCKET_PROMPT, MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_PROOF_STORE_CONFIG_PROMPT, - MSG_PROOF_STORE_DIR_PROMPT, MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, - MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, MSG_SETUP_KEY_PATH_PROMPT, + MSG_CREATE_GCS_BUCKET_PROMPT, MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_GETTING_PROOF_STORE_CONFIG, + MSG_GETTING_PUBLIC_STORE_CONFIG, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, + MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, + MSG_SETUP_KEY_PATH_PROMPT, }; #[derive(Debug, Clone, Serialize, Deserialize, Parser, Default)] @@ -153,6 +154,8 @@ impl ProverInitArgs { &self, project_ids: Vec, ) -> ProofStorageConfig { + logger::info(MSG_GETTING_PROOF_STORE_CONFIG); + if self.proof_store_dir.is_some() { return self.handle_file_backed_config(self.proof_store_dir.clone()); } @@ -181,10 +184,7 @@ impl ProverInitArgs { ); } - let proof_store_config = - PromptSelect::new(MSG_PROOF_STORE_CONFIG_PROMPT, ProofStoreConfig::iter()).ask(); - - match proof_store_config { + match PromptSelect::new(MSG_PROOF_STORE_CONFIG_PROMPT, ProofStoreConfig::iter()).ask() { ProofStoreConfig::Local => self.handle_file_backed_config(self.proof_store_dir.clone()), ProofStoreConfig::GCS => self.handle_gcs_config( project_ids, @@ -198,6 +198,7 @@ impl ProverInitArgs { &self, project_ids: Vec, ) -> Option { + logger::info(MSG_GETTING_PUBLIC_STORE_CONFIG); let shall_save_to_public_bucket = self .shall_save_to_public_bucket .unwrap_or_else(|| PromptConfirm::new("Do you want to save to public bucket?").ask()); @@ -206,17 +207,21 @@ impl ProverInitArgs { return None; } - let public_store = if self.public_store_dir.is_some() { - self.handle_file_backed_config(self.public_store_dir.clone()) - } else if self.partial_gcs_config_provided( + if self.public_store_dir.is_some() { + return Some(self.handle_file_backed_config(self.public_store_dir.clone())); + } + + if self.partial_gcs_config_provided( self.public_store_gcs_config.public_bucket_base_url.clone(), self.public_store_gcs_config.public_credentials_file.clone(), ) { - self.ask_gcs_config( + return Some(self.ask_gcs_config( self.public_store_gcs_config.public_bucket_base_url.clone(), self.public_store_gcs_config.public_credentials_file.clone(), - ) - } else if self.partial_create_gcs_bucket_config_provided( + )); + } + + if self.partial_create_gcs_bucket_config_provided( self.public_create_gcs_bucket_config .public_bucket_name .clone(), @@ -225,26 +230,31 @@ impl ProverInitArgs { .public_project_id .clone(), ) { - self.handle_create_gcs_bucket( - project_ids, - self.public_create_gcs_bucket_config - .public_project_id - .clone(), - self.public_create_gcs_bucket_config - .public_bucket_name - .clone(), - self.public_create_gcs_bucket_config.public_location.clone(), - self.public_store_gcs_config.public_credentials_file.clone(), - ) - } else { - self.handle_gcs_config( + return Some( + self.handle_create_gcs_bucket( + project_ids, + self.public_create_gcs_bucket_config + .public_project_id + .clone(), + self.public_create_gcs_bucket_config + .public_bucket_name + .clone(), + self.public_create_gcs_bucket_config.public_location.clone(), + self.public_store_gcs_config.public_credentials_file.clone(), + ), + ); + } + + match PromptSelect::new(MSG_PROOF_STORE_CONFIG_PROMPT, ProofStoreConfig::iter()).ask() { + ProofStoreConfig::Local => { + Some(self.handle_file_backed_config(self.public_store_dir.clone())) + } + ProofStoreConfig::GCS => Some(self.handle_gcs_config( project_ids, self.public_store_gcs_config.public_bucket_base_url.clone(), self.public_store_gcs_config.public_credentials_file.clone(), - ) - }; - - Some(public_store) + )), + } } fn fill_setup_key_values_with_prompt(&self, setup_key_path: &str) -> SetupKeyConfig { diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index c1d0386a0de1..19760eabe38c 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -235,3 +235,5 @@ pub(super) const MSG_DOWNLOADING_SETUP_KEY_SPINNER: &str = "Downloading setup ke pub(super) const MSG_DOWNLOAD_SETUP_KEY_PROMPT: &str = "Do you want to download the setup key?"; pub(super) const MSG_SETUP_KEY_PATH_PROMPT: &str = "Provide the path to the setup key:"; pub(super) const MSG_GETTING_GCP_PROJECTS_SPINNER: &str = "Getting GCP projects..."; +pub(super) const MSG_GETTING_PROOF_STORE_CONFIG: &str = "Getting proof store configuration..."; +pub(super) const MSG_GETTING_PUBLIC_STORE_CONFIG: &str = "Getting public store configuration..."; From 62146a461f6754cb23c22c60a3f6f334ce63a4dd Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Thu, 27 Jun 2024 16:49:15 +0200 Subject: [PATCH 32/40] Update shall_save_to_public_bucket --- zk_toolbox/crates/zk_inception/src/commands/prover/init.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index e374b308aeb3..0692836af7d5 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -51,7 +51,10 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( .expect(MSG_PROVER_CONFIG_NOT_FOUND_ERR); prover_config.prover_object_store = proof_object_store_config.clone(); if let Some(public_object_store_config) = public_object_store_config { + prover_config.shall_save_to_public_bucket = true; prover_config.public_object_store = Some(public_object_store_config); + } else { + prover_config.shall_save_to_public_bucket = false; } general_config.prover_config = Some(prover_config); From 3c1818e98a6984d84ca4933c050d97ce78d3c0e0 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 28 Jun 2024 10:49:26 +0200 Subject: [PATCH 33/40] Move constants --- .../src/commands/prover/args/init.rs | 21 ++++++++++--------- .../zk_inception/src/commands/prover/init.rs | 20 +++++++++--------- zk_toolbox/crates/zk_inception/src/consts.rs | 3 +++ .../crates/zk_inception/src/messages.rs | 5 +++++ 4 files changed, 29 insertions(+), 20 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index 08661838d630..ba5418d228ad 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -4,13 +4,17 @@ use serde::{Deserialize, Serialize}; use strum::IntoEnumIterator; use strum_macros::EnumIter; -use crate::messages::{ - MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT, MSG_CREATE_GCS_BUCKET_NAME_PROMTP, - MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT, MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, - MSG_CREATE_GCS_BUCKET_PROMPT, MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_GETTING_PROOF_STORE_CONFIG, - MSG_GETTING_PUBLIC_STORE_CONFIG, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, - MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, - MSG_SETUP_KEY_PATH_PROMPT, +use crate::{ + consts::{DEFAULT_CREDENTIALS_FILE, DEFAULT_PROOF_STORE_DIR}, + messages::{ + MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT, MSG_CREATE_GCS_BUCKET_NAME_PROMTP, + MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT, + MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, MSG_CREATE_GCS_BUCKET_PROMPT, + MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_GETTING_PROOF_STORE_CONFIG, + MSG_GETTING_PUBLIC_STORE_CONFIG, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, + MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, + MSG_SETUP_KEY_PATH_PROMPT, + }, }; #[derive(Debug, Clone, Serialize, Deserialize, Parser, Default)] @@ -131,9 +135,6 @@ pub struct ProverInitArgsFinal { pub setup_key_config: SetupKeyConfig, } -const DEFAULT_CREDENTIALS_FILE: &str = "~/.config/gcloud/application_default_credentials.json"; -const DEFAULT_PROOF_STORE_DIR: &str = "artifacts"; - impl ProverInitArgs { pub(crate) fn fill_values_with_prompt( &self, diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 0692836af7d5..c6f8af422adb 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -10,14 +10,16 @@ use super::{ args::init::{ProofStorageConfig, ProofStorageGCSCreateBucket, ProverInitArgs}, utils::get_link_to_prover, }; -use crate::messages::{ - MSG_CHAIN_NOT_FOUND_ERR, MSG_DOWNLOADING_SETUP_KEY_SPINNER, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, - MSG_GETTING_GCP_PROJECTS_SPINNER, MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, - MSG_PROVER_CONFIG_NOT_FOUND_ERR, MSG_PROVER_INITIALIZED, +use crate::{ + consts::PROVER_STORE_MAX_RETRIES, + messages::{ + msg_bucket_created, MSG_CHAIN_NOT_FOUND_ERR, MSG_CREATING_GCS_BUCKET_SPINNER, + MSG_DOWNLOADING_SETUP_KEY_SPINNER, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, + MSG_GETTING_GCP_PROJECTS_SPINNER, MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, + MSG_PROVER_CONFIG_NOT_FOUND_ERR, MSG_PROVER_INITIALIZED, + }, }; -const PROVER_STORE_MAX_RETRIES: u16 = 10; - pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<()> { check_prover_prequisites(shell); let ecosystem_config = EcosystemConfig::from_file(shell)?; @@ -81,13 +83,11 @@ fn create_gcs_bucket( shell, "gcloud storage buckets create gs://{bucket_name} --location={location} --project={project_id}" )); - let spinner = Spinner::new("Creating GCS bucket..."); + let spinner = Spinner::new(MSG_CREATING_GCS_BUCKET_SPINNER); cmd.run()?; spinner.finish(); - logger::info(format!( - "Bucket created successfully with url: gs://{bucket_name}" - )); + logger::info(msg_bucket_created(&bucket_name)); Ok(ObjectStoreConfig { mode: ObjectStoreMode::GCSWithCredentialFile { diff --git a/zk_toolbox/crates/zk_inception/src/consts.rs b/zk_toolbox/crates/zk_inception/src/consts.rs index 8dde9337a73f..1693ff1d2f41 100644 --- a/zk_toolbox/crates/zk_inception/src/consts.rs +++ b/zk_toolbox/crates/zk_inception/src/consts.rs @@ -3,3 +3,6 @@ pub const AMOUNT_FOR_DISTRIBUTION_TO_WALLETS: u128 = 1000000000000000000000; pub const MINIMUM_BALANCE_FOR_WALLET: u128 = 5000000000000000000; pub const SERVER_MIGRATIONS: &str = "core/lib/dal/migrations"; pub const PROVER_MIGRATIONS: &str = "prover/prover_dal/migrations"; +pub const PROVER_STORE_MAX_RETRIES: u16 = 10; +pub const DEFAULT_CREDENTIALS_FILE: &str = "~/.config/gcloud/application_default_credentials.json"; +pub const DEFAULT_PROOF_STORE_DIR: &str = "artifacts"; diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index 19760eabe38c..33746dd9dbaf 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -237,3 +237,8 @@ pub(super) const MSG_SETUP_KEY_PATH_PROMPT: &str = "Provide the path to the setu pub(super) const MSG_GETTING_GCP_PROJECTS_SPINNER: &str = "Getting GCP projects..."; pub(super) const MSG_GETTING_PROOF_STORE_CONFIG: &str = "Getting proof store configuration..."; pub(super) const MSG_GETTING_PUBLIC_STORE_CONFIG: &str = "Getting public store configuration..."; +pub(super) const MSG_CREATING_GCS_BUCKET_SPINNER: &str = "Creating GCS bucket..."; + +pub(super) fn msg_bucket_created(bucket_name: &str) -> String { + format!("Bucket created successfully with url: gs://{bucket_name}") +} From d8725dcbdc9a8d6a95c840cdccd7ec5ed1f93a7b Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 28 Jun 2024 11:05:29 +0200 Subject: [PATCH 34/40] Get project ids only when gcs is selected --- .../src/commands/prover/args/init.rs | 104 +++++++++++------- .../zk_inception/src/commands/prover/init.rs | 23 +--- 2 files changed, 70 insertions(+), 57 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index ba5418d228ad..4e81c82eb146 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -1,8 +1,9 @@ use clap::{Parser, ValueEnum}; -use common::{logger, Prompt, PromptConfirm, PromptSelect}; +use common::{cmd::Cmd, logger, spinner::Spinner, Prompt, PromptConfirm, PromptSelect}; use serde::{Deserialize, Serialize}; use strum::IntoEnumIterator; use strum_macros::EnumIter; +use xshell::{cmd, Shell}; use crate::{ consts::{DEFAULT_CREDENTIALS_FILE, DEFAULT_PROOF_STORE_DIR}, @@ -10,8 +11,9 @@ use crate::{ MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT, MSG_CREATE_GCS_BUCKET_NAME_PROMTP, MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT, MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, MSG_CREATE_GCS_BUCKET_PROMPT, - MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_GETTING_PROOF_STORE_CONFIG, - MSG_GETTING_PUBLIC_STORE_CONFIG, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, + MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_GETTING_GCP_PROJECTS_SPINNER, + MSG_GETTING_PROOF_STORE_CONFIG, MSG_GETTING_PUBLIC_STORE_CONFIG, + MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, MSG_SETUP_KEY_PATH_PROMPT, }, @@ -138,37 +140,37 @@ pub struct ProverInitArgsFinal { impl ProverInitArgs { pub(crate) fn fill_values_with_prompt( &self, - project_ids: Vec, + shell: &Shell, setup_key_path: &str, - ) -> ProverInitArgsFinal { - let proof_store = self.fill_proof_storage_values_with_prompt(project_ids.clone()); - let public_store = self.fill_public_storage_values_with_prompt(project_ids); + ) -> anyhow::Result { + let proof_store = self.fill_proof_storage_values_with_prompt(shell)?; + let public_store = self.fill_public_storage_values_with_prompt(shell)?; let setup_key_config = self.fill_setup_key_values_with_prompt(setup_key_path); - ProverInitArgsFinal { + Ok(ProverInitArgsFinal { proof_store, public_store, setup_key_config, - } + }) } fn fill_proof_storage_values_with_prompt( &self, - project_ids: Vec, - ) -> ProofStorageConfig { + shell: &Shell, + ) -> anyhow::Result { logger::info(MSG_GETTING_PROOF_STORE_CONFIG); if self.proof_store_dir.is_some() { - return self.handle_file_backed_config(self.proof_store_dir.clone()); + return Ok(self.handle_file_backed_config(self.proof_store_dir.clone())); } if self.partial_gcs_config_provided( self.proof_store_gcs_config.bucket_base_url.clone(), self.proof_store_gcs_config.credentials_file.clone(), ) { - return self.ask_gcs_config( + return Ok(self.ask_gcs_config( self.proof_store_gcs_config.bucket_base_url.clone(), self.proof_store_gcs_config.credentials_file.clone(), - ); + )); } if self.partial_create_gcs_bucket_config_provided( @@ -176,50 +178,58 @@ impl ProverInitArgs { self.create_gcs_bucket_config.location.clone(), self.create_gcs_bucket_config.project_id.clone(), ) { - return self.handle_create_gcs_bucket( + let project_ids = get_project_ids(shell)?; + return Ok(self.handle_create_gcs_bucket( project_ids, self.create_gcs_bucket_config.project_id.clone(), self.create_gcs_bucket_config.bucket_name.clone(), self.create_gcs_bucket_config.location.clone(), self.proof_store_gcs_config.credentials_file.clone(), - ); + )); } match PromptSelect::new(MSG_PROOF_STORE_CONFIG_PROMPT, ProofStoreConfig::iter()).ask() { - ProofStoreConfig::Local => self.handle_file_backed_config(self.proof_store_dir.clone()), - ProofStoreConfig::GCS => self.handle_gcs_config( - project_ids, - self.proof_store_gcs_config.bucket_base_url.clone(), - self.proof_store_gcs_config.credentials_file.clone(), - ), + ProofStoreConfig::Local => { + Ok(self.handle_file_backed_config(self.proof_store_dir.clone())) + } + ProofStoreConfig::GCS => { + let project_ids = get_project_ids(shell)?; + Ok(self.handle_gcs_config( + project_ids, + self.proof_store_gcs_config.bucket_base_url.clone(), + self.proof_store_gcs_config.credentials_file.clone(), + )) + } } } fn fill_public_storage_values_with_prompt( &self, - project_ids: Vec, - ) -> Option { + shell: &Shell, + ) -> anyhow::Result> { logger::info(MSG_GETTING_PUBLIC_STORE_CONFIG); let shall_save_to_public_bucket = self .shall_save_to_public_bucket .unwrap_or_else(|| PromptConfirm::new("Do you want to save to public bucket?").ask()); if !shall_save_to_public_bucket { - return None; + return Ok(None); } if self.public_store_dir.is_some() { - return Some(self.handle_file_backed_config(self.public_store_dir.clone())); + return Ok(Some( + self.handle_file_backed_config(self.public_store_dir.clone()), + )); } if self.partial_gcs_config_provided( self.public_store_gcs_config.public_bucket_base_url.clone(), self.public_store_gcs_config.public_credentials_file.clone(), ) { - return Some(self.ask_gcs_config( + return Ok(Some(self.ask_gcs_config( self.public_store_gcs_config.public_bucket_base_url.clone(), self.public_store_gcs_config.public_credentials_file.clone(), - )); + ))); } if self.partial_create_gcs_bucket_config_provided( @@ -231,7 +241,8 @@ impl ProverInitArgs { .public_project_id .clone(), ) { - return Some( + let project_ids = get_project_ids(shell)?; + return Ok(Some( self.handle_create_gcs_bucket( project_ids, self.public_create_gcs_bucket_config @@ -243,18 +254,21 @@ impl ProverInitArgs { self.public_create_gcs_bucket_config.public_location.clone(), self.public_store_gcs_config.public_credentials_file.clone(), ), - ); + )); } match PromptSelect::new(MSG_PROOF_STORE_CONFIG_PROMPT, ProofStoreConfig::iter()).ask() { - ProofStoreConfig::Local => { - Some(self.handle_file_backed_config(self.public_store_dir.clone())) - } - ProofStoreConfig::GCS => Some(self.handle_gcs_config( - project_ids, - self.public_store_gcs_config.public_bucket_base_url.clone(), - self.public_store_gcs_config.public_credentials_file.clone(), + ProofStoreConfig::Local => Ok(Some( + self.handle_file_backed_config(self.public_store_dir.clone()), )), + ProofStoreConfig::GCS => { + let project_ids = get_project_ids(shell)?; + Ok(Some(self.handle_gcs_config( + project_ids, + self.public_store_gcs_config.public_bucket_base_url.clone(), + self.public_store_gcs_config.public_credentials_file.clone(), + ))) + } } } @@ -374,3 +388,19 @@ impl ProverInitArgs { }) } } + +fn get_project_ids(shell: &Shell) -> anyhow::Result> { + let spinner = Spinner::new(MSG_GETTING_GCP_PROJECTS_SPINNER); + + let mut cmd = Cmd::new(cmd!( + shell, + "gcloud projects list --format='value(projectId)'" + )); + let output = cmd.run_with_output()?; + let project_ids: Vec = String::from_utf8(output.stdout)? + .lines() + .map(|line| line.to_string()) + .collect(); + spinner.finish(); + Ok(project_ids) +} diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index c6f8af422adb..33d6d80925fe 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -15,8 +15,8 @@ use crate::{ messages::{ msg_bucket_created, MSG_CHAIN_NOT_FOUND_ERR, MSG_CREATING_GCS_BUCKET_SPINNER, MSG_DOWNLOADING_SETUP_KEY_SPINNER, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, - MSG_GETTING_GCP_PROJECTS_SPINNER, MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, - MSG_PROVER_CONFIG_NOT_FOUND_ERR, MSG_PROVER_INITIALIZED, + MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, MSG_PROVER_CONFIG_NOT_FOUND_ERR, + MSG_PROVER_INITIALIZED, }, }; @@ -30,12 +30,9 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( .get_zksync_general_config() .expect(MSG_GENERAL_CONFIG_NOT_FOUND_ERR); - let spinner = Spinner::new(MSG_GETTING_GCP_PROJECTS_SPINNER); - let project_ids = get_project_ids(shell)?; - spinner.finish(); let setup_key_path = get_setup_key_path(&general_config, &ecosystem_config)?; - let args = args.fill_values_with_prompt(project_ids, &setup_key_path); + let args = args.fill_values_with_prompt(shell, &setup_key_path)?; let proof_object_store_config = get_object_store_config(shell, Some(args.proof_store))?; let public_object_store_config = get_object_store_config(shell, args.public_store)?; @@ -118,20 +115,6 @@ fn download_setup_key( Ok(()) } -fn get_project_ids(shell: &Shell) -> anyhow::Result> { - let mut cmd = Cmd::new(cmd!( - shell, - "gcloud projects list --format='value(projectId)'" - )); - let output = cmd.run_with_output()?; - let project_ids: Vec = String::from_utf8(output.stdout)? - .lines() - .map(|line| line.to_string()) - .collect(); - - Ok(project_ids) -} - fn get_setup_key_path( general_config: &GeneralConfig, ecosystem_config: &EcosystemConfig, From ee325fc7b3a1b83b79c6d31d005abbe5e02cc6f6 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 28 Jun 2024 11:11:08 +0200 Subject: [PATCH 35/40] Move gcs related functions --- .../src/commands/prover/args/init.rs | 26 ++------- .../zk_inception/src/commands/prover/gcs.rs | 55 +++++++++++++++++++ .../zk_inception/src/commands/prover/init.rs | 37 ++----------- .../zk_inception/src/commands/prover/mod.rs | 1 + 4 files changed, 66 insertions(+), 53 deletions(-) create mode 100644 zk_toolbox/crates/zk_inception/src/commands/prover/gcs.rs diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index 4e81c82eb146..ac7f873f0ade 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -1,19 +1,19 @@ use clap::{Parser, ValueEnum}; -use common::{cmd::Cmd, logger, spinner::Spinner, Prompt, PromptConfirm, PromptSelect}; +use common::{logger, Prompt, PromptConfirm, PromptSelect}; use serde::{Deserialize, Serialize}; use strum::IntoEnumIterator; use strum_macros::EnumIter; -use xshell::{cmd, Shell}; +use xshell::Shell; use crate::{ + commands::prover::gcs::get_project_ids, consts::{DEFAULT_CREDENTIALS_FILE, DEFAULT_PROOF_STORE_DIR}, messages::{ MSG_CREATE_GCS_BUCKET_LOCATION_PROMPT, MSG_CREATE_GCS_BUCKET_NAME_PROMTP, MSG_CREATE_GCS_BUCKET_PROJECT_ID_NO_PROJECTS_PROMPT, MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, MSG_CREATE_GCS_BUCKET_PROMPT, - MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_GETTING_GCP_PROJECTS_SPINNER, - MSG_GETTING_PROOF_STORE_CONFIG, MSG_GETTING_PUBLIC_STORE_CONFIG, - MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, + MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_GETTING_PROOF_STORE_CONFIG, + MSG_GETTING_PUBLIC_STORE_CONFIG, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, MSG_SETUP_KEY_PATH_PROMPT, }, @@ -388,19 +388,3 @@ impl ProverInitArgs { }) } } - -fn get_project_ids(shell: &Shell) -> anyhow::Result> { - let spinner = Spinner::new(MSG_GETTING_GCP_PROJECTS_SPINNER); - - let mut cmd = Cmd::new(cmd!( - shell, - "gcloud projects list --format='value(projectId)'" - )); - let output = cmd.run_with_output()?; - let project_ids: Vec = String::from_utf8(output.stdout)? - .lines() - .map(|line| line.to_string()) - .collect(); - spinner.finish(); - Ok(project_ids) -} diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/gcs.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/gcs.rs new file mode 100644 index 000000000000..18761c001b75 --- /dev/null +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/gcs.rs @@ -0,0 +1,55 @@ +use common::{cmd::Cmd, logger, spinner::Spinner}; +use xshell::{cmd, Shell}; +use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; + +use crate::{ + consts::PROVER_STORE_MAX_RETRIES, + messages::{ + msg_bucket_created, MSG_CREATING_GCS_BUCKET_SPINNER, MSG_GETTING_GCP_PROJECTS_SPINNER, + }, +}; + +use super::args::init::ProofStorageGCSCreateBucket; + +pub(crate) fn create_gcs_bucket( + shell: &Shell, + config: ProofStorageGCSCreateBucket, +) -> anyhow::Result { + let bucket_name = config.bucket_name; + let location = config.location; + let project_id = config.project_id; + let mut cmd = Cmd::new(cmd!( + shell, + "gcloud storage buckets create gs://{bucket_name} --location={location} --project={project_id}" + )); + let spinner = Spinner::new(MSG_CREATING_GCS_BUCKET_SPINNER); + cmd.run()?; + spinner.finish(); + + logger::info(msg_bucket_created(&bucket_name)); + + Ok(ObjectStoreConfig { + mode: ObjectStoreMode::GCSWithCredentialFile { + bucket_base_url: format!("gs://{}", bucket_name), + gcs_credential_file_path: config.credentials_file, + }, + max_retries: PROVER_STORE_MAX_RETRIES, + local_mirror_path: None, + }) +} + +pub(crate) fn get_project_ids(shell: &Shell) -> anyhow::Result> { + let spinner = Spinner::new(MSG_GETTING_GCP_PROJECTS_SPINNER); + + let mut cmd = Cmd::new(cmd!( + shell, + "gcloud projects list --format='value(projectId)'" + )); + let output = cmd.run_with_output()?; + let project_ids: Vec = String::from_utf8(output.stdout)? + .lines() + .map(|line| line.to_string()) + .collect(); + spinner.finish(); + Ok(project_ids) +} diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs index 33d6d80925fe..b24b470b6390 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/init.rs @@ -7,16 +7,16 @@ use zksync_config::{ }; use super::{ - args::init::{ProofStorageConfig, ProofStorageGCSCreateBucket, ProverInitArgs}, + args::init::{ProofStorageConfig, ProverInitArgs}, + gcs::create_gcs_bucket, utils::get_link_to_prover, }; use crate::{ consts::PROVER_STORE_MAX_RETRIES, messages::{ - msg_bucket_created, MSG_CHAIN_NOT_FOUND_ERR, MSG_CREATING_GCS_BUCKET_SPINNER, - MSG_DOWNLOADING_SETUP_KEY_SPINNER, MSG_GENERAL_CONFIG_NOT_FOUND_ERR, - MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, MSG_PROVER_CONFIG_NOT_FOUND_ERR, - MSG_PROVER_INITIALIZED, + MSG_CHAIN_NOT_FOUND_ERR, MSG_DOWNLOADING_SETUP_KEY_SPINNER, + MSG_GENERAL_CONFIG_NOT_FOUND_ERR, MSG_PROOF_COMPRESSOR_CONFIG_NOT_FOUND_ERR, + MSG_PROVER_CONFIG_NOT_FOUND_ERR, MSG_PROVER_INITIALIZED, }, }; @@ -69,33 +69,6 @@ pub(crate) async fn run(args: ProverInitArgs, shell: &Shell) -> anyhow::Result<( Ok(()) } -fn create_gcs_bucket( - shell: &Shell, - config: ProofStorageGCSCreateBucket, -) -> anyhow::Result { - let bucket_name = config.bucket_name; - let location = config.location; - let project_id = config.project_id; - let mut cmd = Cmd::new(cmd!( - shell, - "gcloud storage buckets create gs://{bucket_name} --location={location} --project={project_id}" - )); - let spinner = Spinner::new(MSG_CREATING_GCS_BUCKET_SPINNER); - cmd.run()?; - spinner.finish(); - - logger::info(msg_bucket_created(&bucket_name)); - - Ok(ObjectStoreConfig { - mode: ObjectStoreMode::GCSWithCredentialFile { - bucket_base_url: format!("gs://{}", bucket_name), - gcs_credential_file_path: config.credentials_file, - }, - max_retries: PROVER_STORE_MAX_RETRIES, - local_mirror_path: None, - }) -} - fn download_setup_key( shell: &Shell, general_config: &GeneralConfig, diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/mod.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/mod.rs index 1cc7acc4dc2f..2811e9e7f08a 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/mod.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/mod.rs @@ -2,6 +2,7 @@ use args::init::ProverInitArgs; use clap::Subcommand; use xshell::Shell; mod args; +mod gcs; mod generate_sk; mod init; mod utils; From d60fb61032074e24e784b4d2fb708fa1b81ca698 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 28 Jun 2024 11:11:39 +0200 Subject: [PATCH 36/40] fmt --- zk_toolbox/crates/zk_inception/src/commands/prover/gcs.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/gcs.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/gcs.rs index 18761c001b75..e39654a5a7b2 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/gcs.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/gcs.rs @@ -2,6 +2,7 @@ use common::{cmd::Cmd, logger, spinner::Spinner}; use xshell::{cmd, Shell}; use zksync_config::{configs::object_store::ObjectStoreMode, ObjectStoreConfig}; +use super::args::init::ProofStorageGCSCreateBucket; use crate::{ consts::PROVER_STORE_MAX_RETRIES, messages::{ @@ -9,8 +10,6 @@ use crate::{ }, }; -use super::args::init::ProofStorageGCSCreateBucket; - pub(crate) fn create_gcs_bucket( shell: &Shell, config: ProofStorageGCSCreateBucket, From fa843c335308d3aefa12b45e82fedcb4ea5da523 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 28 Jun 2024 13:00:50 +0200 Subject: [PATCH 37/40] Add MSG_SAVE_TO_PUBLIC_BUCKET_PROMPT --- .../crates/zk_inception/src/commands/prover/args/init.rs | 4 ++-- zk_toolbox/crates/zk_inception/src/messages.rs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index ac7f873f0ade..8493aeffc34c 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -15,7 +15,7 @@ use crate::{ MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_GETTING_PROOF_STORE_CONFIG, MSG_GETTING_PUBLIC_STORE_CONFIG, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, - MSG_SETUP_KEY_PATH_PROMPT, + MSG_SAVE_TO_PUBLIC_BUCKET_PROMPT, MSG_SETUP_KEY_PATH_PROMPT, }, }; @@ -210,7 +210,7 @@ impl ProverInitArgs { logger::info(MSG_GETTING_PUBLIC_STORE_CONFIG); let shall_save_to_public_bucket = self .shall_save_to_public_bucket - .unwrap_or_else(|| PromptConfirm::new("Do you want to save to public bucket?").ask()); + .unwrap_or_else(|| PromptConfirm::new(MSG_SAVE_TO_PUBLIC_BUCKET_PROMPT).ask()); if !shall_save_to_public_bucket { return Ok(None); diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index d116f2ab46dc..a6cb1bb00fcd 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -239,6 +239,7 @@ pub(super) const MSG_GETTING_GCP_PROJECTS_SPINNER: &str = "Getting GCP projects. pub(super) const MSG_GETTING_PROOF_STORE_CONFIG: &str = "Getting proof store configuration..."; pub(super) const MSG_GETTING_PUBLIC_STORE_CONFIG: &str = "Getting public store configuration..."; pub(super) const MSG_CREATING_GCS_BUCKET_SPINNER: &str = "Creating GCS bucket..."; +pub(super) const MSG_SAVE_TO_PUBLIC_BUCKET_PROMPT: &str = "Do you want to save to public bucket?"; pub(super) fn msg_bucket_created(bucket_name: &str) -> String { format!("Bucket created successfully with url: gs://{bucket_name}") From 8ef91a2f5a75e17653eaca8f3efff19073f25546 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 28 Jun 2024 15:23:53 +0200 Subject: [PATCH 38/40] Check bucket_base_url format --- .../zk_inception/src/commands/prover/args/init.rs | 11 ++++++++--- zk_toolbox/crates/zk_inception/src/messages.rs | 2 ++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs index 8493aeffc34c..db3d337cc331 100644 --- a/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs +++ b/zk_toolbox/crates/zk_inception/src/commands/prover/args/init.rs @@ -14,8 +14,9 @@ use crate::{ MSG_CREATE_GCS_BUCKET_PROJECT_ID_PROMPT, MSG_CREATE_GCS_BUCKET_PROMPT, MSG_DOWNLOAD_SETUP_KEY_PROMPT, MSG_GETTING_PROOF_STORE_CONFIG, MSG_GETTING_PUBLIC_STORE_CONFIG, MSG_PROOF_STORE_CONFIG_PROMPT, MSG_PROOF_STORE_DIR_PROMPT, - MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, - MSG_SAVE_TO_PUBLIC_BUCKET_PROMPT, MSG_SETUP_KEY_PATH_PROMPT, + MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_ERR, MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT, + MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT, MSG_SAVE_TO_PUBLIC_BUCKET_PROMPT, + MSG_SETUP_KEY_PATH_PROMPT, }, }; @@ -374,8 +375,12 @@ impl ProverInitArgs { bucket_base_url: Option, credentials_file: Option, ) -> ProofStorageConfig { - let bucket_base_url = bucket_base_url + let mut bucket_base_url = bucket_base_url .unwrap_or_else(|| Prompt::new(MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT).ask()); + while !bucket_base_url.starts_with("gs://") { + logger::error(MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_ERR); + bucket_base_url = Prompt::new(MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT).ask(); + } let credentials_file = credentials_file.unwrap_or_else(|| { Prompt::new(MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT) .default(DEFAULT_CREDENTIALS_FILE) diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index a6cb1bb00fcd..874a3c93ccf2 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -219,6 +219,8 @@ pub(super) const MSG_PROOF_STORE_DIR_PROMPT: &str = "Provide the path where you would like to store the proofs:"; pub(super) const MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT: &str = "Provide the base URL of the GCS bucket:"; +pub(super) const MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_ERR: &str = + "Bucket base URL should start with gs://"; pub(super) const MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT: &str = "Provide the path to the GCS credentials file:"; pub(super) const MSG_GENERAL_CONFIG_NOT_FOUND_ERR: &str = "General config not found"; From e80114752e0912df9386727c1c244b4ead0a26b2 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 28 Jun 2024 15:48:58 +0200 Subject: [PATCH 39/40] Update MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT --- zk_toolbox/crates/zk_inception/src/messages.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zk_toolbox/crates/zk_inception/src/messages.rs b/zk_toolbox/crates/zk_inception/src/messages.rs index 874a3c93ccf2..ed86c09fba47 100644 --- a/zk_toolbox/crates/zk_inception/src/messages.rs +++ b/zk_toolbox/crates/zk_inception/src/messages.rs @@ -218,7 +218,7 @@ pub(super) const MSG_PROOF_STORE_CONFIG_PROMPT: &str = pub(super) const MSG_PROOF_STORE_DIR_PROMPT: &str = "Provide the path where you would like to store the proofs:"; pub(super) const MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_PROMPT: &str = - "Provide the base URL of the GCS bucket:"; + "Provide the base URL of the GCS bucket (e.g., gs://bucket-name):"; pub(super) const MSG_PROOF_STORE_GCS_BUCKET_BASE_URL_ERR: &str = "Bucket base URL should start with gs://"; pub(super) const MSG_PROOF_STORE_GCS_CREDENTIALS_FILE_PROMPT: &str = From 6589f68cff0e170bb8c9afb087c817cbac79a292 Mon Sep 17 00:00:00 2001 From: matias-gonz Date: Fri, 28 Jun 2024 15:49:41 +0200 Subject: [PATCH 40/40] merge --- contracts | 2 +- zk_toolbox/Cargo.lock | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/contracts b/contracts index 8172969672cc..db9387690502 160000 --- a/contracts +++ b/contracts @@ -1 +1 @@ -Subproject commit 8172969672cc6a38542cd8f5578c74b7e30cd3b4 +Subproject commit db9387690502937de081a959b164db5a5262ce0a diff --git a/zk_toolbox/Cargo.lock b/zk_toolbox/Cargo.lock index 3c9c7972b59e..33ab5f39b2d1 100644 --- a/zk_toolbox/Cargo.lock +++ b/zk_toolbox/Cargo.lock @@ -6136,7 +6136,7 @@ dependencies = [ [[package]] name = "zksync_concurrency" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=ba7b171456e7362eada685234a91c20907b6a097#ba7b171456e7362eada685234a91c20907b6a097" dependencies = [ "anyhow", "once_cell", @@ -6160,6 +6160,7 @@ dependencies = [ "secrecy", "serde", "zksync_basic_types", + "zksync_concurrency", "zksync_consensus_utils", "zksync_crypto_primitives", ] @@ -6167,8 +6168,9 @@ dependencies = [ [[package]] name = "zksync_consensus_utils" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=ba7b171456e7362eada685234a91c20907b6a097#ba7b171456e7362eada685234a91c20907b6a097" dependencies = [ + "anyhow", "rand", "thiserror", "zksync_concurrency", @@ -6227,7 +6229,7 @@ dependencies = [ [[package]] name = "zksync_protobuf" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=ba7b171456e7362eada685234a91c20907b6a097#ba7b171456e7362eada685234a91c20907b6a097" dependencies = [ "anyhow", "bit-vec", @@ -6247,7 +6249,7 @@ dependencies = [ [[package]] name = "zksync_protobuf_build" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +source = "git+https://github.com/matter-labs/era-consensus.git?rev=ba7b171456e7362eada685234a91c20907b6a097#ba7b171456e7362eada685234a91c20907b6a097" dependencies = [ "anyhow", "heck 0.5.0",