From 686593ade3e14f790258123502ada2d9e8f87658 Mon Sep 17 00:00:00 2001 From: Nisheeth Barthwal Date: Thu, 26 Sep 2024 17:08:52 +0200 Subject: [PATCH] chore: update zksync deps (#349) * update zksync deps * update to e214dd094457f196712722e084010a7ef94ee475 * update rust version in CI * udpate contracts * clippy * enable bytecode compression * reset contracts gitmodule --- .github/workflows/checks.yaml | 4 +- .github/workflows/docs.yaml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/tests.yaml | 2 +- Cargo.lock | 2243 +++++++++++++++++++-------------- Cargo.toml | 21 +- rust-toolchain.toml | 2 +- src/bootloader_debug.rs | 12 +- src/console_log.rs | 2 +- src/deps/mod.rs | 8 +- src/deps/storage_view.rs | 2 +- src/fork.rs | 4 +- src/formatter.rs | 37 +- src/http_fork_source.rs | 18 +- src/node/debug.rs | 21 +- src/node/eth.rs | 8 +- src/node/fee_model.rs | 27 +- src/node/in_memory.rs | 58 +- src/node/in_memory_ext.rs | 4 +- src/node/storage_logs.rs | 31 +- src/resolver.rs | 10 +- src/system_contracts.rs | 2 +- src/testing.rs | 8 +- src/utils.rs | 91 +- 24 files changed, 1471 insertions(+), 1148 deletions(-) diff --git a/.github/workflows/checks.yaml b/.github/workflows/checks.yaml index 8567580a..58337b2e 100644 --- a/.github/workflows/checks.yaml +++ b/.github/workflows/checks.yaml @@ -19,7 +19,7 @@ jobs: - name: Install Rust uses: actions-rust-lang/setup-rust-toolchain@v1 with: - toolchain: nightly-2024-01-01 + toolchain: nightly-2024-08-01 components: rustfmt, clippy - uses: actions/setup-node@v3 @@ -44,7 +44,7 @@ jobs: - name: Install Rust uses: actions-rust-lang/setup-rust-toolchain@v1 with: - toolchain: nightly-2024-01-01 + toolchain: nightly-2024-08-01 - name: Build Code run: make all diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 870161b1..a1a5515a 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -33,7 +33,7 @@ jobs: - name: Install Rust uses: actions-rust-lang/setup-rust-toolchain@v1 with: - toolchain: nightly-2024-01-01 + toolchain: nightly-2024-08-01 - name: Setup Pages uses: actions/configure-pages@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4f23d664..976d2eaf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,7 +48,7 @@ jobs: - name: Install Rust uses: actions-rust-lang/setup-rust-toolchain@v1 with: - toolchain: nightly-2024-01-01 + toolchain: nightly-2024-08-01 - name: Install target run: rustup target add ${{ matrix.arch }} diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 4fa5eb8b..d1888bc6 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -24,7 +24,7 @@ jobs: - name: Install Rust uses: actions-rust-lang/setup-rust-toolchain@v1 with: - toolchain: nightly-2024-01-01 + toolchain: nightly-2024-08-01 - name: Install cargo-nextest run: cargo install cargo-nextest diff --git a/Cargo.lock b/Cargo.lock index b53089ca..76ca212a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,7 +56,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" dependencies = [ "cfg-if 1.0.0", - "getrandom 0.2.12", "once_cell", "version_check", "zerocopy", @@ -174,16 +173,27 @@ dependencies = [ ] [[package]] -name = "async-lock" -version = "3.3.0" +name = "async-stream" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy", + "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.77", +] + [[package]] name = "async-trait" version = "0.1.77" @@ -192,7 +202,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -216,14 +226,10 @@ dependencies = [ ] [[package]] -name = "atomic-write-file" -version = "0.1.2" +name = "atomic-waker" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436" -dependencies = [ - "nix", - "rand 0.8.5", -] +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "auto_impl" @@ -233,7 +239,7 @@ checksum = "823b8bb275161044e2ac7a25879cb3e2480cb403e3943022c7c769c599b756aa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -242,20 +248,46 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "aws-lc-rs" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f95446d919226d587817a7d21379e6eb099b97b45110a7f272a444ca5c54070" +dependencies = [ + "aws-lc-sys", + "mirai-annotations", + "paste", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3ddc4a5b231dd6958b140ff3151b6412b3f4321fab354f399eec8f14b06df62" +dependencies = [ + "bindgen 0.69.4", + "cc", + "cmake", + "dunce", + "fs_extra", + "libc", + "paste", +] + [[package]] name = "axum" -version = "0.6.20" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" dependencies = [ "async-trait", "axum-core", - "bitflags 1.3.2", "bytes", "futures-util", - "http", - "http-body", - "hyper", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "itoa", "matchit", "memchr", @@ -264,7 +296,7 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", - "sync_wrapper", + "sync_wrapper 1.0.1", "tower", "tower-layer", "tower-service", @@ -272,21 +304,36 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.3.4" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +checksum = "5e6b8ba012a258d63c9adfa28b9ddcf66149da6f986c5b5452e629d5ee64bf00" dependencies = [ "async-trait", "bytes", "futures-util", - "http", - "http-body", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "mime", + "pin-project-lite", "rustversion", + "sync_wrapper 1.0.1", "tower-layer", "tower-service", ] +[[package]] +name = "backon" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d67782c3f868daa71d3533538e98a8e13713231969def7536e8039606fc46bf0" +dependencies = [ + "fastrand", + "futures-core", + "pin-project", + "tokio", +] + [[package]] name = "backtrace" version = "0.3.69" @@ -354,38 +401,28 @@ dependencies = [ ] [[package]] -name = "bellman_ce" -version = "0.3.2" -source = "git+https://github.com/matter-labs/bellman?branch=dev#5520aa2274afe73d281373c92b007a2ecdebfbea" +name = "bigdecimal" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" dependencies = [ - "arrayvec 0.7.4", - "bit-vec", - "blake2s_const", - "blake2s_simd", - "byteorder", - "cfg-if 1.0.0", - "crossbeam 0.7.3", - "futures 0.3.30", - "hex", - "lazy_static", - "num_cpus", - "pairing_ce 0.28.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.6", + "num-bigint", + "num-integer", + "num-traits", "serde", - "smallvec", - "tiny-keccak 1.5.0", ] [[package]] name = "bigdecimal" -version = "0.3.1" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" +checksum = "51d712318a27c7150326677b321a5fa91b55f6d9034ffd67f20319e147d40cee" dependencies = [ + "autocfg", + "libm", "num-bigint", "num-integer", "num-traits", - "serde", ] [[package]] @@ -415,7 +452,30 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.48", + "syn 2.0.77", +] + +[[package]] +name = "bindgen" +version = "0.69.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools 0.12.1", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.77", + "which", ] [[package]] @@ -444,9 +504,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] @@ -485,23 +545,14 @@ dependencies = [ ] [[package]] -name = "blake2" +name = "blake2_ce" version = "0.10.6" -source = "git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e#1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90cef65f11dd09a6c58914148161dbf190e5dcc02c87ed2aa47b3b97d3e7ce76" 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" @@ -540,9 +591,9 @@ checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" [[package]] name = "blst" -version = "0.3.11" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94087b935a822949d3291a9989ad2b2051ea141eda0fd4e478a75f6aa3e604b" +checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" dependencies = [ "cc", "glob", @@ -552,17 +603,17 @@ dependencies = [ [[package]] name = "boojum" -version = "0.2.0" -source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#19988079852ea22576da6b09e39365e6cdc1368f" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ec2f007ff8f90cc459f03e9f30ca1065440170f013c868823646e2e48d0234" dependencies = [ "arrayvec 0.7.4", "bincode", - "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2", "const_format", "convert_case 0.6.0", - "crossbeam 0.8.4", + "crossbeam", "crypto-bigint 0.5.5", - "cs_derive", "derivative", "ethereum-types 0.14.1", "firestorm", @@ -570,15 +621,15 @@ dependencies = [ "lazy_static", "num-modular", "num_cpus", - "packed_simd", - "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", + "sha3_ce", "smallvec", "unroll", + "zksync_cs_derive", + "zksync_pairing", ] [[package]] @@ -601,7 +652,7 @@ dependencies = [ "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", "syn_derive", ] @@ -684,9 +735,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" dependencies = [ "serde", ] @@ -759,14 +810,21 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0" dependencies = [ "jobserver", "libc", + "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cexpr" version = "0.6.0" @@ -796,9 +854,9 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chrono" -version = "0.4.33" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -806,7 +864,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -821,109 +879,118 @@ dependencies = [ [[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" +version = "0.140.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf6b7cc842eadb4c250cdc6a8bc1dd97624d9f08bbe54db3e11fb23c3a72be07" dependencies = [ "derivative", "serde", - "zk_evm 1.4.0", - "zkevm_circuits 1.4.0", + "zk_evm 0.140.0", + "zkevm_circuits 0.140.3", ] [[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" +version = "0.141.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7898ffbf3cd413576b4b674fe1545a35488c67eb16bd5a4148425e42c2a2b65b" dependencies = [ "derivative", "serde", - "zk_evm 1.4.1", - "zkevm_circuits 1.4.1", + "zk_evm 0.141.0", + "zkevm_circuits 0.141.2", ] [[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" +version = "0.142.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8364ecafcc4b2c896023f8d3af952c52a500aa55f14fd268bb5d9ab07f837369" dependencies = [ "derivative", "serde", - "zk_evm 1.4.1", - "zkevm_circuits 1.4.1", + "zk_evm 0.141.0", + "zkevm_circuits 0.141.2", ] [[package]] name = "circuit_encodings" -version = "0.1.50" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.5.0#394e1c7d1aec06d2f3abd63bdc2ddf0efef5ac49" +version = "0.150.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67617688c66640c84f9b98ff26d48f7898dca4faeb45241a4f21ec333788e7b" dependencies = [ "derivative", "serde", - "zk_evm 1.5.0", - "zkevm_circuits 1.5.0", + "zk_evm 0.150.5", + "zkevm_circuits 0.150.5", ] [[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" +version = "0.133.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb959b1f8c6bbd8be711994d182e85452a26a5d2213a709290b71c8262af1331" 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)", + "zk_evm 0.133.0", + "zksync_bellman", ] [[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" +version = "0.140.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa5f22311ce609d852d7d9f4943535ea4610aeb785129ae6ff83d5201c4fb387" dependencies = [ - "bellman_ce", - "circuit_encodings 0.1.40", + "circuit_encodings 0.140.3", "derivative", "rayon", "serde", - "zk_evm 1.4.0", + "zk_evm 0.140.0", + "zksync_bellman", ] [[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" +version = "0.141.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c47c71d6ba83a8beb0af13af70beffd627f5497caf3d44c6f96363e788b07ea" dependencies = [ - "bellman_ce", - "circuit_encodings 0.1.41", + "circuit_encodings 0.141.2", "derivative", "rayon", "serde", - "zk_evm 1.4.1", + "zk_evm 0.141.0", + "zksync_bellman", ] [[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" +version = "0.142.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e264723359e6a1aad98110bdccf1ae3ad596e93e7d31da9e40f6adc07e4add54" dependencies = [ - "bellman_ce", - "circuit_encodings 0.1.42", + "circuit_encodings 0.142.2", "derivative", "rayon", "serde", - "zk_evm 1.4.1", + "zk_evm 0.141.0", + "zksync_bellman", ] [[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#394e1c7d1aec06d2f3abd63bdc2ddf0efef5ac49" +version = "0.150.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21017310971d4a051e4a52ad70eed11d1ae69defeca8314f73a3a4bad16705a9" dependencies = [ - "bellman_ce", - "circuit_encodings 0.1.50", + "circuit_encodings 0.150.5", "derivative", "rayon", "serde", + "zksync_bellman", ] [[package]] @@ -968,7 +1035,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -977,6 +1044,15 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +[[package]] +name = "cmake" +version = "0.1.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a" +dependencies = [ + "cc", +] + [[package]] name = "coins-bip32" version = "0.8.7" @@ -1045,6 +1121,16 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "compile-fmt" version = "0.1.0" @@ -1057,7 +1143,7 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ - "crossbeam-utils 0.8.19", + "crossbeam-utils", ] [[package]] @@ -1169,41 +1255,17 @@ 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.11", - "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", + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", ] [[package]] @@ -1212,18 +1274,7 @@ version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" 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]] @@ -1232,23 +1283,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]] @@ -1257,18 +1293,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]] @@ -1277,18 +1302,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]] @@ -1338,14 +1352,13 @@ dependencies = [ ] [[package]] -name = "cs_derive" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#19988079852ea22576da6b09e39365e6cdc1368f" +name = "ctor" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" dependencies = [ - "proc-macro-error", - "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] @@ -1359,16 +1372,15 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.1" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if 1.0.0", "cpufeatures", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "platforms", "rustc_version", "subtle", "zeroize", @@ -1382,7 +1394,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -1427,7 +1439,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core 0.9.9", @@ -1520,7 +1532,7 @@ checksum = "2bba3e9872d7c58ce7ef0fcf1844fcc3e23ef2a58377b50df35dd98e42a5726e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", "unicode-xid", ] @@ -1756,6 +1768,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "enum_dispatch" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "env_logger" version = "0.10.2" @@ -1789,7 +1813,7 @@ name = "era_test_node" version = "0.1.0-alpha.27" dependencies = [ "anyhow", - "bigdecimal", + "bigdecimal 0.3.1", "chrono", "clap", "colored", @@ -1799,7 +1823,7 @@ dependencies = [ "futures 0.3.30", "hex", "httptest", - "indexmap 2.2.2", + "indexmap 2.5.0", "itertools 0.10.5", "jsonrpc-core", "jsonrpc-core-client", @@ -1807,10 +1831,9 @@ dependencies = [ "jsonrpc-http-server", "lazy_static", "maplit", - "multivm", "once_cell", "openssl-sys", - "reqwest", + "reqwest 0.11.24", "rustc-hash", "serde", "serde_json", @@ -1825,6 +1848,7 @@ dependencies = [ "zksync-web3-rs", "zksync_basic_types", "zksync_contracts", + "zksync_multivm", "zksync_node_fee_model", "zksync_state", "zksync_types", @@ -2037,10 +2061,10 @@ dependencies = [ "proc-macro2", "quote", "regex", - "reqwest", + "reqwest 0.11.24", "serde", "serde_json", - "syn 2.0.48", + "syn 2.0.77", "toml 0.8.13", "walkdir", ] @@ -2058,7 +2082,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -2084,7 +2108,7 @@ dependencies = [ "serde", "serde_json", "strum 0.25.0", - "syn 2.0.48", + "syn 2.0.77", "tempfile", "thiserror", "tiny-keccak 2.0.2", @@ -2099,7 +2123,7 @@ checksum = "16d45b981f5fa769e1d0343ebc2a44cfa88c9bc312eb681b676318b40cef6fb1" dependencies = [ "chrono", "ethers-core", - "reqwest", + "reqwest 0.11.24", "semver", "serde", "serde_json", @@ -2124,7 +2148,7 @@ dependencies = [ "futures-locks", "futures-util", "instant", - "reqwest", + "reqwest 0.11.24", "serde", "serde_json", "thiserror", @@ -2151,12 +2175,12 @@ dependencies = [ "futures-timer", "futures-util", "hashers", - "http", + "http 0.2.11", "instant", "jsonwebtoken", "once_cell", "pin-project", - "reqwest", + "reqwest 0.11.24", "serde", "serde_json", "thiserror", @@ -2219,36 +2243,20 @@ dependencies = [ "tokio", "tracing", "walkdir", - "yansi", + "yansi 0.5.1", ] [[package]] name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "event-listener" -version = "4.0.3" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", "pin-project-lite", ] -[[package]] -name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - [[package]] name = "eyre" version = "0.6.12" @@ -2292,27 +2300,11 @@ 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.6" @@ -2434,6 +2426,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + [[package]] name = "fuchsia-cprng" version = "0.1.1" @@ -2536,7 +2534,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -2657,7 +2655,7 @@ dependencies = [ "futures-core", "futures-sink", "gloo-utils", - "http", + "http 0.2.11", "js-sys", "pin-project", "serde", @@ -2726,8 +2724,27 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", - "indexmap 2.2.2", + "http 0.2.11", + "indexmap 2.5.0", + "slab", + "tokio", + "tokio-util 0.7.10", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.5.0", "slab", "tokio", "tokio-util 0.7.10", @@ -2745,9 +2762,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash 0.8.7", "allocator-api2", @@ -2764,11 +2781,11 @@ dependencies = [ [[package]] name = "hashlink" -version = "0.8.4" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -2776,9 +2793,6 @@ name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -dependencies = [ - "unicode-segmentation", -] [[package]] name = "heck" @@ -2848,13 +2862,47 @@ dependencies = [ ] [[package]] -name = "http-body" -version = "0.4.6" +name = "http" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ "bytes", - "http", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.11", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", "pin-project-lite", ] @@ -2878,11 +2926,11 @@ checksum = "c8b44a11846bda8c9fe9194f9924db7132c34635c7ce020f180f6c5d46d2308f" dependencies = [ "bstr 0.2.17", "bytes", - "crossbeam-channel 0.5.11", + "crossbeam-channel", "form_urlencoded", "futures 0.3.30", - "http", - "hyper", + "http 0.2.11", + "hyper 0.14.28", "log", "once_cell", "regex", @@ -2908,9 +2956,9 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.24", + "http 0.2.11", + "http-body 0.4.6", "httparse", "httpdate", "itoa", @@ -2922,6 +2970,27 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-rustls" version = "0.24.2" @@ -2929,25 +2998,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http", - "hyper", - "log", + "http 0.2.11", + "hyper 0.14.28", "rustls 0.21.10", - "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", ] +[[package]] +name = "hyper-rustls" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "log", + "rustls 0.23.13", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", +] + [[package]] name = "hyper-timeout" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" dependencies = [ - "hyper", + "hyper 1.4.1", + "hyper-util", "pin-project-lite", "tokio", - "tokio-io-timeout", + "tower-service", ] [[package]] @@ -2957,10 +3043,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper", + "hyper 0.14.28", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "native-tls", "tokio", "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", ] [[package]] @@ -3076,12 +3197,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -3161,11 +3282,31 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +[[package]] +name = "jni" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "jobserver" -version = "0.1.27" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] @@ -3233,7 +3374,7 @@ version = "18.0.0" source = "git+https://github.com/matter-labs/jsonrpc.git?branch=master#12c53e3e20c09c2fb9966a4ef1b0ea63de172540" dependencies = [ "futures 0.3.30", - "hyper", + "hyper 0.14.28", "jsonrpc-core", "jsonrpc-server-utils", "log", @@ -3275,9 +3416,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.21.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9579d0ca9fb30da026bac2f0f7d9576ec93489aeb7cd4971dd5b4617d82c79b2" +checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -3293,41 +3434,44 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.21.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9f9ed46590a8d5681975f126e22531698211b926129a40a2db47cbca429220" +checksum = "08163edd8bcc466c33d79e10f695cdc98c00d1e6ddfb95cec41b6b0279dd5432" dependencies = [ + "base64 0.22.1", "futures-channel", "futures-util", "gloo-net", - "http", + "http 1.1.0", "jsonrpsee-core", "pin-project", - "rustls-native-certs 0.7.0", + "rustls 0.23.13", "rustls-pki-types", + "rustls-platform-verifier", "soketto", "thiserror", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls 0.26.0", "tokio-util 0.7.10", "tracing", "url", - "webpki-roots 0.26.1", ] [[package]] name = "jsonrpsee-core" -version = "0.21.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "776d009e2f591b78c038e0d053a796f94575d66ca4e77dd84bfc5e81419e436c" +checksum = "79712302e737d23ca0daa178e752c9334846b08321d439fd89af9a384f8c830b" dependencies = [ "anyhow", - "async-lock", "async-trait", "beef", + "bytes", "futures-timer", "futures-util", - "hyper", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "jsonrpsee-types", "parking_lot 0.12.1", "pin-project", @@ -3344,15 +3488,20 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.21.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b7de9f3219d95985eb77fd03194d7c1b56c19bce1abfcc9d07462574b15572" +checksum = "2d90064e04fb9d7282b1c71044ea94d0bbc6eff5621c66f1a0bce9e9de7cf3ac" dependencies = [ "async-trait", - "hyper", - "hyper-rustls", + "base64 0.22.1", + "http-body 1.0.1", + "hyper 1.4.1", + "hyper-rustls 0.27.3", + "hyper-util", "jsonrpsee-core", "jsonrpsee-types", + "rustls 0.23.13", + "rustls-platform-verifier", "serde", "serde_json", "thiserror", @@ -3364,26 +3513,30 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.21.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d94b7505034e2737e688e1153bf81e6f93ad296695c43958d6da2e4321f0a990" +checksum = "7895f186d5921065d96e16bd795e5ca89ac8356ec423fafc6e3d7cf8ec11aee4" dependencies = [ - "heck 0.4.1", - "proc-macro-crate 2.0.0", + "heck 0.5.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "jsonrpsee-server" -version = "0.21.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc7c6d1a2c58f6135810284a390d9f823d0f508db74cd914d8237802de80f98" +checksum = "654afab2e92e5d88ebd8a39d6074483f3f2bfdf91c5ac57fe285e7127cdd4f51" dependencies = [ + "anyhow", "futures-util", - "http", - "hyper", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "jsonrpsee-core", "jsonrpsee-types", "pin-project", @@ -3401,12 +3554,12 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.21.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3266dfb045c9174b24c77c2dfe0084914bb23a6b2597d70c9dc6018392e1cd1b" +checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af" dependencies = [ - "anyhow", "beef", + "http 1.1.0", "serde", "serde_json", "thiserror", @@ -3414,9 +3567,9 @@ dependencies = [ [[package]] name = "jsonrpsee-wasm-client" -version = "0.21.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30f36d27503d0efc0355c1630b74ecfb367050847bf7241a0ed75fab6dfa96c0" +checksum = "4727ac037f834c6f04c0912cada7532dbddb54e92fbc64e33d6cb8c24af313c9" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -3425,11 +3578,11 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.21.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "073c077471e89c4b511fa88b3df9a0f0abdf4a0a2e6683dd2ab36893af87bb2d" +checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e" dependencies = [ - "http", + "http 1.1.0", "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", @@ -3515,11 +3668,11 @@ checksum = "3f35c735096c0293d313e8f2a641627472b83d01b937177fe76e5e2708d31e0d" [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.5.2", + "spin 0.9.8", ] [[package]] @@ -3556,7 +3709,7 @@ version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "libc", "redox_syscall 0.4.1", ] @@ -3567,7 +3720,7 @@ version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ - "bindgen", + "bindgen 0.65.1", "bzip2-sys", "cc", "glob", @@ -3579,9 +3732,9 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.27.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" dependencies = [ "cc", "pkg-config", @@ -3599,26 +3752,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "linkme" -version = "0.3.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b53ad6a33de58864705954edb5ad5d571a010f9e296865ed43dc72a5621b430" -dependencies = [ - "linkme-impl", -] - -[[package]] -name = "linkme-impl" -version = "0.3.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e542a18c94a9b6fcc7adb090fa3ba6b79ee220a16404f325672729f32a66ff" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "linux-raw-sys" version = "0.4.13" @@ -3661,7 +3794,7 @@ dependencies = [ "proc-macro2", "quote", "regex-syntax 0.6.29", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -3710,12 +3843,6 @@ 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" @@ -3732,15 +3859,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" @@ -3761,7 +3879,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -3776,8 +3894,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" dependencies = [ - "crossbeam-channel 0.5.11", - "crossbeam-utils 0.8.19", + "crossbeam-channel", + "crossbeam-utils", "dashmap", "skeptic", "smallvec", @@ -3811,42 +3929,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mirai-annotations" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" + [[package]] name = "multimap" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" -[[package]] -name = "multivm" -version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" -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.11" @@ -3882,17 +3976,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" -[[package]] -name = "nix" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" -dependencies = [ - "bitflags 2.4.2", - "cfg-if 1.0.0", - "libc", -] - [[package]] name = "nom" version = "7.1.3" @@ -4063,7 +4146,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -4072,10 +4155,10 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -4139,7 +4222,7 @@ version = "0.10.63" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "cfg-if 1.0.0", "foreign-types", "libc", @@ -4156,7 +4239,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -4189,43 +4272,58 @@ dependencies = [ [[package]] name = "opentelemetry" -version = "0.20.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9591d937bc0e6d2feb6f71a559540ab300ea49955229c347a517a28d27784c54" +checksum = "4c365a63eec4f55b7efeceb724f1336f26a9cf3427b70e59e2cd2a5b947fba96" dependencies = [ - "opentelemetry_api", - "opentelemetry_sdk", + "futures-core", + "futures-sink", + "js-sys", + "once_cell", + "pin-project-lite", + "thiserror", +] + +[[package]] +name = "opentelemetry-appender-tracing" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84de945cb3a6f1e0d6317cbd998bbd0519ab00f4b790db67e0ff4fdcf7cedb6" +dependencies = [ + "opentelemetry", + "tracing", + "tracing-core", + "tracing-subscriber", ] [[package]] name = "opentelemetry-http" -version = "0.9.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7594ec0e11d8e33faf03530a4c49af7064ebba81c1480e01be67d90b356508b" +checksum = "ad31e9de44ee3538fb9d64fe3376c1362f406162434609e79aea2a41a0af78ab" dependencies = [ "async-trait", "bytes", - "http", - "opentelemetry_api", - "reqwest", + "http 1.1.0", + "opentelemetry", + "reqwest 0.12.7", ] [[package]] name = "opentelemetry-otlp" -version = "0.13.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e5e5a5c4135864099f3faafbe939eb4d7f9b80ebf68a8448da961b32a7c1275" +checksum = "6b925a602ffb916fb7421276b86756027b37ee708f9dce2dbdcc51739f07e727" dependencies = [ "async-trait", "futures-core", - "http", + "http 1.1.0", + "opentelemetry", "opentelemetry-http", "opentelemetry-proto", - "opentelemetry-semantic-conventions", - "opentelemetry_api", "opentelemetry_sdk", - "prost 0.11.9", - "reqwest", + "prost 0.13.3", + "reqwest 0.12.7", "thiserror", "tokio", "tonic", @@ -4233,58 +4331,37 @@ dependencies = [ [[package]] name = "opentelemetry-proto" -version = "0.3.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e3f814aa9f8c905d0ee4bde026afd3b2577a97c10e1699912e3e44f0c4cbeb" +checksum = "30ee9f20bff9c984511a02f082dc8ede839e4a9bf15cc2487c8d6fea5ad850d9" dependencies = [ - "opentelemetry_api", + "opentelemetry", "opentelemetry_sdk", - "prost 0.11.9", + "prost 0.13.3", "tonic", ] [[package]] name = "opentelemetry-semantic-conventions" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73c9f9340ad135068800e7f1b24e9e09ed9e7143f5bf8518ded3d3ec69789269" -dependencies = [ - "opentelemetry", -] - -[[package]] -name = "opentelemetry_api" -version = "0.20.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a81f725323db1b1206ca3da8bb19874bbd3f57c3bcd59471bfb04525b265b9b" -dependencies = [ - "futures-channel", - "futures-util", - "indexmap 1.9.3", - "js-sys", - "once_cell", - "pin-project-lite", - "thiserror", - "urlencoding", -] +checksum = "1cefe0543875379e47eb5f1e68ff83f45cc41366a92dfd0d073d513bf68e9a05" [[package]] name = "opentelemetry_sdk" -version = "0.20.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa8e705a0612d48139799fcbaba0d4a90f06277153e43dd2bdc16c6f0edd8026" +checksum = "692eac490ec80f24a17828d49b40b60f5aeaccdfe6a503f939713afd22bc28df" dependencies = [ "async-trait", - "crossbeam-channel 0.5.11", "futures-channel", "futures-executor", "futures-util", + "glob", "once_cell", - "opentelemetry_api", - "ordered-float 3.9.2", + "opentelemetry", "percent-encoding", "rand 0.8.5", - "regex", "serde_json", "thiserror", "tokio", @@ -4306,15 +4383,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "ordered-float" -version = "3.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" -dependencies = [ - "num-traits", -] - [[package]] name = "os_info" version = "3.7.0" @@ -4345,77 +4413,30 @@ dependencies = [ ] [[package]] -name = "packed_simd" -version = "0.3.9" +name = "parity-scale-codec" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f9f08af0c877571712e2e3e686ad79efad9657dbf0f7c3c8ba943ff6c38932d" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" dependencies = [ - "cfg-if 1.0.0", - "num-traits", + "arrayvec 0.7.4", + "bitvec 0.20.4", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive 2.3.1", + "serde", ] [[package]] -name = "pairing_ce" -version = "0.28.5" +name = "parity-scale-codec" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db007b21259660d025918e653508f03050bf23fb96a88601f9936329faadc597" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" 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 = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" -dependencies = [ - "arrayvec 0.7.4", - "bitvec 0.20.4", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive 2.3.1", - "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", - "bitvec 1.0.1", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive 3.6.9", + "arrayvec 0.7.4", + "bitvec 1.0.1", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive 3.6.9", "serde", ] @@ -4579,7 +4600,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.2.2", + "indexmap 2.5.0", ] [[package]] @@ -4622,7 +4643,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -4660,7 +4681,7 @@ checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -4712,12 +4733,6 @@ version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" -[[package]] -name = "platforms" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" - [[package]] name = "powerfmt" version = "0.2.0" @@ -4736,6 +4751,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "pretty_assertions" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +dependencies = [ + "diff", + "yansi 1.0.1", +] + [[package]] name = "prettyplease" version = "0.2.16" @@ -4743,7 +4768,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ "proc-macro2", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -4810,6 +4835,15 @@ dependencies = [ "toml_edit 0.20.2", ] +[[package]] +name = "proc-macro-crate" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +dependencies = [ + "toml_edit 0.22.22", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -4836,9 +4870,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -4863,7 +4897,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -4872,7 +4906,7 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "lazy_static", "num-traits", "rand 0.8.5", @@ -4884,22 +4918,22 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.9" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", - "prost-derive 0.11.9", + "prost-derive 0.12.3", ] [[package]] name = "prost" -version = "0.12.3" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" +checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" dependencies = [ "bytes", - "prost-derive 0.12.3", + "prost-derive 0.13.3", ] [[package]] @@ -4919,35 +4953,35 @@ dependencies = [ "prost 0.12.3", "prost-types", "regex", - "syn 2.0.48", + "syn 2.0.77", "tempfile", "which", ] [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools 0.10.5", + "itertools 0.11.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "prost-derive" -version = "0.12.3" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" +checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -5028,7 +5062,7 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "memchr", "unicase", ] @@ -5173,9 +5207,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.8.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -5187,8 +5221,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", + "crossbeam-deque", + "crossbeam-utils", ] [[package]] @@ -5308,12 +5342,12 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-rustls", - "hyper-tls", + "h2 0.3.24", + "http 0.2.11", + "http-body 0.4.6", + "hyper 0.14.28", + "hyper-rustls 0.24.2", + "hyper-tls 0.5.0", "ipnet", "js-sys", "log", @@ -5327,8 +5361,8 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", - "system-configuration", + "sync_wrapper 0.1.2", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tokio-rustls 0.24.1", @@ -5341,6 +5375,50 @@ dependencies = [ "winreg", ] +[[package]] +name = "reqwest" +version = "0.12.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" +dependencies = [ + "base64 0.22.1", + "bytes", + "encoding_rs", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-rustls 0.27.3", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 2.1.2", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "system-configuration 0.6.1", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-registry", +] + [[package]] name = "rfc6979" version = "0.3.1" @@ -5536,7 +5614,7 @@ version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", @@ -5557,30 +5635,20 @@ dependencies = [ [[package]] name = "rustls" -version = "0.22.4" +version = "0.23.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" dependencies = [ + "aws-lc-rs", "log", + "once_cell", "ring 0.17.7", "rustls-pki-types", - "rustls-webpki 0.102.3", + "rustls-webpki 0.102.8", "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" @@ -5619,6 +5687,33 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +[[package]] +name = "rustls-platform-verifier" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" +dependencies = [ + "core-foundation", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.13", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki 0.102.8", + "security-framework", + "security-framework-sys", + "webpki-roots 0.26.1", + "winapi", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.101.7" @@ -5631,10 +5726,11 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.3" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ + "aws-lc-rs", "ring 0.17.7", "rustls-pki-types", "untrusted 0.9.0", @@ -5794,22 +5890,23 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.2" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", + "num-bigint", "security-framework-sys", ] [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" dependencies = [ "core-foundation-sys", "libc", @@ -5844,7 +5941,7 @@ checksum = "6ce4b57f1b521f674df7a1d200be8ff5d74e3712020ee25b553146657b5377d5" dependencies = [ "httpdate", "native-tls", - "reqwest", + "reqwest 0.11.24", "sentry-backtrace", "sentry-contexts", "sentry-core", @@ -5965,7 +6062,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ - "ordered-float 2.10.1", + "ordered-float", "serde", ] @@ -5977,7 +6074,7 @@ checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -5993,9 +6090,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -6018,6 +6115,7 @@ version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" dependencies = [ + "hex", "serde", "serde_with_macros", ] @@ -6040,26 +6138,13 @@ version = "0.9.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f" dependencies = [ - "indexmap 2.2.2", + "indexmap 2.5.0", "itoa", "ryu", "serde", "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" @@ -6086,8 +6171,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" -source = "git+https://github.com/RustCrypto/hashes.git?rev=1731ced4a116d61ba9dc6ee6d0f38fb8102e357a#1731ced4a116d61ba9dc6ee6d0f38fb8102e357a" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -6095,10 +6181,10 @@ dependencies = [ ] [[package]] -name = "sha2" -version = "0.10.8" +name = "sha2_ce" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "eca2daa77078f4ddff27e75c4bf59e4c2697525f56dbb3c842d34a5d1f2b04a2" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -6119,18 +6205,19 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.6" -source = "git+https://github.com/RustCrypto/hashes.git?rev=7a187e934c1f6c68e4b4e5cf37541b7a0d64d303#7a187e934c1f6c68e4b4e5cf37541b7a0d64d303" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ "digest 0.10.7", "keccak", ] [[package]] -name = "sha3" -version = "0.10.8" +name = "sha3_ce" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "34c9a08202c50378d8a07a5f458193a5f542d2828ac6640263dbc0c2533ea25e" dependencies = [ "digest 0.10.7", "keccak", @@ -6249,18 +6336,18 @@ dependencies = [ [[package]] name = "soketto" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" dependencies = [ - "base64 0.13.1", + "base64 0.22.1", "bytes", "futures 0.3.30", - "http", + "http 1.1.0", "httparse", "log", "rand 0.8.5", - "sha-1", + "sha1", ] [[package]] @@ -6325,9 +6412,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.7.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf" +checksum = "93334716a037193fac19df402f8571269c84a00852f6a7066b5d2616dcd64d3e" dependencies = [ "sqlx-core", "sqlx-macros", @@ -6338,29 +6425,28 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.7.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd" +checksum = "d4d8060b456358185f7d50c55d9b5066ad956956fddec42ee2e8567134a8936e" dependencies = [ - "ahash 0.8.7", "atoi", - "bigdecimal", + "bigdecimal 0.4.5", "byteorder", "bytes", "chrono", "crc", - "crossbeam-queue 0.3.11", - "dotenvy", + "crossbeam-queue", "either", - "event-listener 2.5.3", + "event-listener", "futures-channel", "futures-core", "futures-intrusive", "futures-io", "futures-util", + "hashbrown 0.14.5", "hashlink", "hex", - "indexmap 2.2.2", + "indexmap 2.5.0", "ipnetwork", "log", "memchr", @@ -6383,27 +6469,26 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.7.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5" +checksum = "cac0692bcc9de3b073e8d747391827297e075c7710ff6276d9f7a1f3d58c6657" dependencies = [ "proc-macro2", "quote", "sqlx-core", "sqlx-macros-core", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "sqlx-macros-core" -version = "0.7.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0bd4519486723648186a08785143599760f7cc81c52334a55d6a83ea1e20841" +checksum = "1804e8a7c7865599c9c79be146dc8a9fd8cc86935fa641d3ea58e5f0688abaa5" dependencies = [ - "atomic-write-file", "dotenvy", "either", - "heck 0.4.1", + "heck 0.5.0", "hex", "once_cell", "proc-macro2", @@ -6415,7 +6500,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 1.0.109", + "syn 2.0.77", "tempfile", "tokio", "url", @@ -6423,14 +6508,14 @@ dependencies = [ [[package]] name = "sqlx-mysql" -version = "0.7.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4" +checksum = "64bb4714269afa44aef2755150a0fc19d756fb580a67db8885608cf02f47d06a" dependencies = [ "atoi", - "base64 0.21.7", - "bigdecimal", - "bitflags 2.4.2", + "base64 0.22.1", + "bigdecimal 0.4.5", + "bitflags 2.6.0", "byteorder", "bytes", "chrono", @@ -6468,14 +6553,14 @@ dependencies = [ [[package]] name = "sqlx-postgres" -version = "0.7.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24" +checksum = "6fa91a732d854c5d7726349bb4bb879bb9478993ceb764247660aee25f67c2f8" dependencies = [ "atoi", - "base64 0.21.7", - "bigdecimal", - "bitflags 2.4.2", + "base64 0.22.1", + "bigdecimal 0.4.5", + "bitflags 2.6.0", "byteorder", "chrono", "crc", @@ -6500,7 +6585,6 @@ dependencies = [ "rust_decimal", "serde", "serde_json", - "sha1", "sha2 0.10.8", "smallvec", "sqlx-core", @@ -6512,9 +6596,9 @@ dependencies = [ [[package]] name = "sqlx-sqlite" -version = "0.7.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "210976b7d948c7ba9fced8ca835b11cbb2d677c59c79de41ac0d397e14547490" +checksum = "d5b2cf34a45953bfd3daaf3db0f7a7878ab9b7a6b91b422d24a7a9e4c857b680" dependencies = [ "atoi", "chrono", @@ -6528,10 +6612,10 @@ dependencies = [ "log", "percent-encoding", "serde", + "serde_urlencoded", "sqlx-core", "tracing", "url", - "urlencoding", ] [[package]] @@ -6578,46 +6662,46 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strum" -version = "0.24.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" dependencies = [ - "strum_macros 0.24.3", + "strum_macros 0.25.3", ] [[package]] name = "strum" -version = "0.25.0" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros 0.25.3", + "strum_macros 0.26.4", ] [[package]] name = "strum_macros" -version = "0.24.3" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ "heck 0.4.1", "proc-macro2", "quote", "rustversion", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "strum_macros" -version = "0.25.3" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -6636,7 +6720,7 @@ dependencies = [ "fs2", "hex", "once_cell", - "reqwest", + "reqwest 0.11.24", "semver", "serde", "serde_json", @@ -6659,9 +6743,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -6677,7 +6761,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -6686,6 +6770,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + [[package]] name = "system-configuration" version = "0.5.1" @@ -6694,7 +6787,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -6707,6 +6811,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tagptr" version = "0.2.0" @@ -6731,14 +6845,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.10.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if 1.0.0", "fastrand", + "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -6778,7 +6893,7 @@ checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -6802,9 +6917,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", @@ -6825,9 +6940,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ "num-conv", "time-core", @@ -6886,24 +7001,14 @@ dependencies = [ ] [[package]] -name = "tokio-io-timeout" -version = "1.2.0" +name = "tokio-macros" +version = "2.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" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -6928,11 +7033,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.22.4", + "rustls 0.23.13", "rustls-pki-types", "tokio", ] @@ -6946,6 +7051,7 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", + "tokio-util 0.7.10", ] [[package]] @@ -7010,14 +7116,14 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.13", + "toml_edit 0.22.22", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -7028,7 +7134,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.2", + "indexmap 2.5.0", "toml_datetime", "winnow 0.5.37", ] @@ -7039,44 +7145,46 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ - "indexmap 2.2.2", + "indexmap 2.5.0", "toml_datetime", "winnow 0.5.37", ] [[package]] name = "toml_edit" -version = "0.22.13" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.2.2", + "indexmap 2.5.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.9", + "winnow 0.6.19", ] [[package]] name = "tonic" -version = "0.9.2" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +checksum = "c6f6ba989e4b2c58ae83d862d3a3e27690b6e3ae630d0deb59f3697f32aa88ad" dependencies = [ + "async-stream", "async-trait", "axum", - "base64 0.21.7", + "base64 0.22.1", "bytes", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", "hyper-timeout", + "hyper-util", "percent-encoding", "pin-project", - "prost 0.11.9", + "prost 0.13.3", + "socket2", "tokio", "tokio-stream", "tower", @@ -7137,7 +7245,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -7160,17 +7268,6 @@ dependencies = [ "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" @@ -7184,18 +7281,20 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.21.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75327c6b667828ddc28f5e3f169036cb793c3f588d83bf0f262a7f062ffed3c8" +checksum = "a9784ed4da7d921bc8df6963f8c80a0e4ce34ba6ba76668acadd3edbd985ff3b" dependencies = [ + "js-sys", "once_cell", "opentelemetry", "opentelemetry_sdk", "smallvec", "tracing", "tracing-core", - "tracing-log 0.1.4", + "tracing-log", "tracing-subscriber", + "web-time", ] [[package]] @@ -7226,7 +7325,7 @@ dependencies = [ "time", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-serde", ] @@ -7251,7 +7350,7 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http", + "http 0.2.11", "httparse", "log", "rand 0.8.5", @@ -7402,12 +7501,6 @@ dependencies = [ "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" @@ -7459,42 +7552,40 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "vise" -version = "0.1.0" -source = "git+https://github.com/matter-labs/vise.git?rev=a5bb80c9ce7168663114ee30e794d6dc32159ee4#a5bb80c9ce7168663114ee30e794d6dc32159ee4" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ade36f3548b1524396f4de7b36f4f210c8a01dfab568eb2bff466af64eb6e5" dependencies = [ "compile-fmt", + "ctor", "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" +name = "vise-exporter" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "671d3b894d5d0849f0a597f56bf071f42d4f2a1cbcf2f78ca21f870ab7c0cc2b" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", + "hyper 0.14.28", + "once_cell", + "tokio", + "tracing", + "vise", ] [[package]] -name = "vlog" -version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +name = "vise-macros" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a511871dc5de990a3b2a0e715facfbc5da848c0c0395597a1415029fb7c250a" dependencies = [ - "chrono", - "opentelemetry", - "opentelemetry-otlp", - "opentelemetry-semantic-conventions", - "sentry", - "serde", - "serde_json", - "tracing", - "tracing-opentelemetry", - "tracing-subscriber", + "proc-macro2", + "quote", + "syn 2.0.77", ] [[package]] @@ -7549,7 +7640,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", "wasm-bindgen-shared", ] @@ -7583,7 +7674,7 @@ checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7604,6 +7695,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webpki-roots" version = "0.25.4" @@ -7674,7 +7775,37 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", ] [[package]] @@ -7692,7 +7823,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -7712,17 +7852,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -7733,9 +7874,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -7745,9 +7886,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -7757,9 +7898,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -7769,9 +7916,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -7781,9 +7928,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -7793,9 +7940,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -7805,9 +7952,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -7820,9 +7967,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.9" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6" +checksum = "c52ac009d615e79296318c1bcce2d422aaca15ad08515e344feeda07df67a587" dependencies = [ "memchr", ] @@ -7877,6 +8024,12 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +[[package]] +name = "yansi" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" + [[package]] name = "zerocopy" version = "0.7.32" @@ -7894,7 +8047,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -7914,7 +8067,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] @@ -7928,7 +8081,7 @@ dependencies = [ "bzip2", "constant_time_eq", "crc32fast", - "crossbeam-utils 0.8.19", + "crossbeam-utils", "flate2", "hmac", "pbkdf2 0.11.0", @@ -7939,40 +8092,27 @@ dependencies = [ [[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" +version = "0.131.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2b83ee7887fb29fda57c6b26a0f64c9b211459d718f8a26310f962e69f0b764" dependencies = [ - "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", + "blake2_ce", "k256 0.11.6", "lazy_static", "num", "serde", "serde_json", - "sha2 0.10.6", - "sha3 0.10.6", + "sha2_ce", + "sha3_ce", "static_assertions", - "zkevm_opcode_defs 1.3.1", + "zkevm_opcode_defs 0.131.0", ] [[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" +version = "0.133.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9af08e9284686a1b0c89ec4931eb915ac0729367f1247abd06164874fe738106" dependencies = [ "anyhow", "lazy_static", @@ -7980,14 +8120,15 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions 0.1.0", - "zkevm_opcode_defs 1.3.2", + "zk_evm_abstractions 0.140.0", + "zkevm_opcode_defs 0.132.0", ] [[package]] name = "zk_evm" -version = "1.4.0" -source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.4.0#dd76fc5badf2c05278a21b38015a7798fe2fe358" +version = "0.140.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349bb8320d12578537658792df708f43c52e6330f0df071f812cb93b04ade962" dependencies = [ "anyhow", "lazy_static", @@ -7995,14 +8136,15 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions 0.1.0", - "zkevm_opcode_defs 1.3.2", + "zk_evm_abstractions 0.140.0", + "zkevm_opcode_defs 0.132.0", ] [[package]] name = "zk_evm" -version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.4.1#6250dbf64b2d14ced87a127735da559f27a432d5" +version = "0.141.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8886ba5989b952b7b76096469eeb6fdfaf3369770e9e22a6f67dc4b7d65f9243" dependencies = [ "anyhow", "lazy_static", @@ -8010,14 +8152,15 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions 1.4.1", - "zkevm_opcode_defs 1.4.1", + "zk_evm_abstractions 0.141.0", + "zkevm_opcode_defs 0.141.0", ] [[package]] name = "zk_evm" -version = "1.5.0" -source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.5.0#6119ce908ab714f2f99804794e725b97298a6b11" +version = "0.150.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6e69931f24db5cf333b714721e8d80ff88bfdb7da8c3dc7882612ffddb8d27" dependencies = [ "anyhow", "lazy_static", @@ -8025,54 +8168,57 @@ dependencies = [ "serde", "serde_json", "static_assertions", - "zk_evm_abstractions 1.5.0", + "zk_evm_abstractions 0.150.5", ] [[package]] name = "zk_evm_abstractions" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zk_evm_abstractions.git#32dd320953841aa78579d9da08abbc70bcaed175" +version = "0.140.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be696258861eba4e6625a5665084b2266720bb67f4ba69819469700ac5c6a401" dependencies = [ "anyhow", "num_enum 0.6.1", "serde", "static_assertions", - "zkevm_opcode_defs 1.3.2", + "zkevm_opcode_defs 0.132.0", ] [[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" +version = "0.141.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "637a3cb6cb475bb238bee3e450763205d36fe6c92dc1b23300655927915baf03" dependencies = [ "anyhow", "num_enum 0.6.1", "serde", "static_assertions", - "zkevm_opcode_defs 1.4.1", + "zkevm_opcode_defs 0.141.0", ] [[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" +version = "0.150.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6b0720261ab55490fe3a96e96de30d5d7b277940b52ea7f52dbf564eb1748" dependencies = [ "anyhow", "num_enum 0.6.1", "serde", "static_assertions", - "zkevm_opcode_defs 1.5.0", + "zkevm_opcode_defs 0.150.5", ] [[package]] name = "zkevm_circuits" -version = "1.4.0" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.0#fb3e2574b5c890342518fc930c145443f039a105" +version = "0.140.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c365c801e0c6eda83fbd153df45575172beb406bfb663d386f9154b4325eda" dependencies = [ "arrayvec 0.7.4", "bincode", "boojum", - "cs_derive", "derivative", "hex", "itertools 0.10.5", @@ -8082,18 +8228,19 @@ dependencies = [ "serde", "serde_json", "smallvec", - "zkevm_opcode_defs 1.3.2", + "zkevm_opcode_defs 0.132.0", + "zksync_cs_derive", ] [[package]] name = "zkevm_circuits" -version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1#8bf24543ffc5bafab34182388394e887ecb37d17" +version = "0.141.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ccd0352e122a4e6f0046d2163b7e692e627b23fc3264faa77331a21b65833fd" dependencies = [ "arrayvec 0.7.4", "bincode", "boojum", - "cs_derive", "derivative", "hex", "itertools 0.10.5", @@ -8103,17 +8250,18 @@ dependencies = [ "serde", "serde_json", "smallvec", - "zkevm_opcode_defs 1.4.1", + "zkevm_opcode_defs 0.141.0", + "zksync_cs_derive", ] [[package]] name = "zkevm_circuits" -version = "1.5.0" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.5.0#c9d3ca5dba6d1125da02c48987a01f0f0f1744e3" +version = "0.150.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784fa7cfb51e17c5ced112bca43da30b3468b2347b7af0427ad9638759fb140e" dependencies = [ "arrayvec 0.7.4", "boojum", - "cs_derive", "derivative", "hex", "itertools 0.10.5", @@ -8122,13 +8270,15 @@ dependencies = [ "seq-macro", "serde", "smallvec", - "zkevm_opcode_defs 1.5.0", + "zkevm_opcode_defs 0.150.5", + "zksync_cs_derive", ] [[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" +version = "0.131.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49e0154bd4ae8202c96c52b29dd44f944bfd08c1c233fef843744463964de957" dependencies = [ "bitflags 1.3.2", "ethereum-types 0.14.1", @@ -8138,25 +8288,27 @@ dependencies = [ [[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" +version = "0.132.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0769f7b27d8fb06e715da3290c575cac5d04d10a557faef180e847afce50ac4" dependencies = [ - "bitflags 2.4.2", - "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", + "bitflags 2.6.0", + "blake2", "ethereum-types 0.14.1", "k256 0.11.6", "lazy_static", - "sha2 0.10.6", - "sha3 0.10.6", + "sha2_ce", + "sha3_ce", ] [[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" +version = "0.141.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6be7bd5f0e0b61211f544147289640b4712715589d7f2fe5229d92a7a3ac64c0" dependencies = [ - "bitflags 2.4.2", - "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 2.6.0", + "blake2", "ethereum-types 0.14.1", "k256 0.13.3", "lazy_static", @@ -8164,13 +8316,30 @@ dependencies = [ "sha3 0.10.8", ] +[[package]] +name = "zkevm_opcode_defs" +version = "0.150.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79055eae1b6c1ab80793ed9d77d2964c9c896afa4b5dfed278cf58cd10acfe8f" +dependencies = [ + "bitflags 2.6.0", + "blake2", + "ethereum-types 0.14.1", + "k256 0.13.3", + "lazy_static", + "p256", + "serde", + "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#109d9f734804a8b9dc0531c0b576e2a0f55a40de" dependencies = [ - "bitflags 2.4.2", - "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 2.6.0", + "blake2", "ethereum-types 0.14.1", "k256 0.13.3", "lazy_static", @@ -8204,7 +8373,7 @@ dependencies = [ [[package]] name = "zksync_basic_types" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", "chrono", @@ -8214,16 +8383,40 @@ dependencies = [ "serde", "serde_json", "serde_with", - "strum 0.24.1", + "strum 0.26.3", "thiserror", "tiny-keccak 2.0.2", "url", ] +[[package]] +name = "zksync_bellman" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffa03efe9bdb137a4b36b97d1a74237e18c9ae42b755163d903a9d48c1a5d80" +dependencies = [ + "arrayvec 0.7.4", + "bit-vec", + "blake2s_simd", + "byteorder", + "cfg-if 1.0.0", + "crossbeam", + "futures 0.3.30", + "hex", + "lazy_static", + "num_cpus", + "rand 0.4.6", + "serde", + "smallvec", + "tiny-keccak 1.5.0", + "zksync_pairing", +] + [[package]] name = "zksync_concurrency" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1c8cf6c689ab5922b52d81b775cd2d9cffbfc8fb8da65985e11b06546dfb3bf" dependencies = [ "anyhow", "once_cell", @@ -8241,30 +8434,34 @@ dependencies = [ [[package]] name = "zksync_config" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", "rand 0.8.5", "secrecy", "serde", + "url", "zksync_basic_types", + "zksync_concurrency", "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" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7baced4e811015038322dad10239f2d631d9e339e8d6b7b6e6b146bee30f41" dependencies = [ "anyhow", "blst", "ed25519-dalek", + "elliptic-curve 0.13.8", "ff_ce", "hex", + "k256 0.13.3", "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", @@ -8275,8 +8472,9 @@ dependencies = [ [[package]] name = "zksync_consensus_roles" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aab4ddf62f6001903c5fe9f65afb1bdc42464928c9d1c6ce52e4d7e9944f5dc" dependencies = [ "anyhow", "bit-vec", @@ -8296,8 +8494,9 @@ dependencies = [ [[package]] name = "zksync_consensus_storage" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b9dbcb923fa201af03f49f70c11a923b416915d2ddf8b2de3a2e861f22898a4" dependencies = [ "anyhow", "async-trait", @@ -8307,6 +8506,7 @@ dependencies = [ "tracing", "vise", "zksync_concurrency", + "zksync_consensus_crypto", "zksync_consensus_roles", "zksync_protobuf", "zksync_protobuf_build", @@ -8314,9 +8514,11 @@ dependencies = [ [[package]] name = "zksync_consensus_utils" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e69dffc0fbc7c096548c997f5ca157a490b34b3d49fd524fa3d51840f7fb22" dependencies = [ + "anyhow", "rand 0.8.5", "thiserror", "zksync_concurrency", @@ -8325,7 +8527,7 @@ dependencies = [ [[package]] name = "zksync_contracts" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "envy", "ethabi 18.0.0", @@ -8336,43 +8538,43 @@ dependencies = [ "zksync_utils", ] -[[package]] -name = "zksync_crypto" -version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" -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" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", + "blake2", "hex", "rand 0.8.5", "secp256k1", "serde", "serde_json", + "sha2 0.10.8", "thiserror", "zksync_basic_types", "zksync_utils", ] +[[package]] +name = "zksync_cs_derive" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5939e2df4288c263c706ff18ac718e984149223ad4289d6d957d767dcfc04c81" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "zksync_dal" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", - "bigdecimal", + "bigdecimal 0.4.5", "bincode", "chrono", "hex", @@ -8382,11 +8584,12 @@ dependencies = [ "serde", "serde_json", "sqlx", - "strum 0.24.1", + "strum 0.26.3", "thiserror", "tokio", "tracing", "vise", + "zksync_concurrency", "zksync_consensus_roles", "zksync_consensus_storage", "zksync_contracts", @@ -8396,12 +8599,13 @@ dependencies = [ "zksync_system_constants", "zksync_types", "zksync_utils", + "zksync_vm_interface", ] [[package]] name = "zksync_db_connection" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", "rand 0.8.5", @@ -8413,13 +8617,12 @@ dependencies = [ "tracing", "vise", "zksync_basic_types", - "zksync_health_check", ] [[package]] name = "zksync_eth_client" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "async-trait", "jsonrpsee", @@ -8437,7 +8640,7 @@ dependencies = [ [[package]] name = "zksync_eth_signer" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "async-trait", "rlp", @@ -8446,37 +8649,81 @@ dependencies = [ ] [[package]] -name = "zksync_health_check" -version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +name = "zksync_ff" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9524b06780b5e164e84b38840c7c428c739f051f35af6efc4d1285f629ceb88e" dependencies = [ - "async-trait", - "futures 0.3.30", + "byteorder", + "hex", + "rand 0.4.6", "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "vise", + "zksync_ff_derive", +] + +[[package]] +name = "zksync_ff_derive" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f91e58e75d65877f09f83bc3dca8f054847ae7ec4f3e64bfa610a557edd8e8e" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", + "proc-macro2", + "quote", + "serde", + "syn 1.0.109", ] [[package]] name = "zksync_mini_merkle_tree" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "once_cell", "zksync_basic_types", - "zksync_crypto", + "zksync_crypto_primitives", +] + +[[package]] +name = "zksync_multivm" +version = "0.1.0" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" +dependencies = [ + "anyhow", + "circuit_sequencer_api 0.133.1", + "circuit_sequencer_api 0.140.3", + "circuit_sequencer_api 0.141.2", + "circuit_sequencer_api 0.142.2", + "circuit_sequencer_api 0.150.5", + "hex", + "itertools 0.10.5", + "once_cell", + "thiserror", + "tracing", + "vise", + "zk_evm 0.131.0-rc.2", + "zk_evm 0.133.0", + "zk_evm 0.140.0", + "zk_evm 0.141.0", + "zk_evm 0.150.5", + "zksync_contracts", + "zksync_system_constants", + "zksync_types", + "zksync_utils", + "zksync_vm2", + "zksync_vm_interface", ] [[package]] name = "zksync_node_fee_model" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", "async-trait", + "bigdecimal 0.4.5", "tokio", "tracing", "vise", @@ -8488,10 +8735,24 @@ dependencies = [ "zksync_web3_decl", ] +[[package]] +name = "zksync_pairing" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8412ae5574472fa567a097e183f9a01974b99dd0b5da3bfa1bbe6c57c579aa2" +dependencies = [ + "byteorder", + "cfg-if 1.0.0", + "rand 0.4.6", + "serde", + "zksync_ff", +] + [[package]] name = "zksync_protobuf" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df5467dfe2f845ca1fd6ceec623bbd32187589793d3c4023dcd2f5172369d198" dependencies = [ "anyhow", "bit-vec", @@ -8510,8 +8771,9 @@ dependencies = [ [[package]] name = "zksync_protobuf_build" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-consensus.git?rev=3e6f101ee4124308c4c974caaa259d524549b0c6#3e6f101ee4124308c4c974caaa259d524549b0c6" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d35280660b11be2a4ebdf531184eb729acebfdc3368d27176ec104f8bf9c5f" dependencies = [ "anyhow", "heck 0.5.0", @@ -8521,13 +8783,13 @@ dependencies = [ "prost-reflect", "protox", "quote", - "syn 2.0.48", + "syn 2.0.77", ] [[package]] name = "zksync_shared_metrics" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "rustc_version", "tracing", @@ -8539,10 +8801,11 @@ dependencies = [ [[package]] name = "zksync_state" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", "async-trait", + "backon", "chrono", "itertools 0.10.5", "mini-moka", @@ -8555,12 +8818,13 @@ dependencies = [ "zksync_storage", "zksync_types", "zksync_utils", + "zksync_vm_interface", ] [[package]] name = "zksync_storage" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "num_cpus", "once_cell", @@ -8573,7 +8837,7 @@ dependencies = [ [[package]] name = "zksync_system_constants" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "once_cell", "zksync_basic_types", @@ -8583,10 +8847,11 @@ dependencies = [ [[package]] name = "zksync_types" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", - "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "bigdecimal 0.4.5", + "blake2", "chrono", "derive_more 1.0.0-beta.6", "hex", @@ -8599,8 +8864,10 @@ dependencies = [ "secp256k1", "serde", "serde_json", - "strum 0.24.1", + "serde_with", + "strum 0.26.3", "thiserror", + "tracing", "zksync_basic_types", "zksync_config", "zksync_contracts", @@ -8615,30 +8882,92 @@ dependencies = [ [[package]] name = "zksync_utils" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", - "bigdecimal", + "bigdecimal 0.4.5", "futures 0.3.30", "hex", - "itertools 0.10.5", "num", "once_cell", - "reqwest", + "reqwest 0.12.7", "serde", "serde_json", "thiserror", "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 0.133.0", "zksync_basic_types", + "zksync_vlog", +] + +[[package]] +name = "zksync_vlog" +version = "0.1.0" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" +dependencies = [ + "anyhow", + "chrono", + "opentelemetry", + "opentelemetry-appender-tracing", + "opentelemetry-otlp", + "opentelemetry-semantic-conventions", + "opentelemetry_sdk", + "sentry", + "serde", + "serde_json", + "thiserror", + "time", + "tokio", + "tracing", + "tracing-opentelemetry", + "tracing-subscriber", + "url", + "vise", + "vise-exporter", +] + +[[package]] +name = "zksync_vm2" +version = "0.1.0" +source = "git+https://github.com/matter-labs/vm2.git?rev=74577d9be13b1bff9d1a712389731f669b179e47#74577d9be13b1bff9d1a712389731f669b179e47" +dependencies = [ + "enum_dispatch", + "primitive-types 0.12.2", + "zk_evm_abstractions 0.150.5", + "zkevm_opcode_defs 0.150.5", + "zksync_vm2_interface", +] + +[[package]] +name = "zksync_vm2_interface" +version = "0.1.0" +source = "git+https://github.com/matter-labs/vm2.git?rev=74577d9be13b1bff9d1a712389731f669b179e47#74577d9be13b1bff9d1a712389731f669b179e47" +dependencies = [ + "primitive-types 0.12.2", +] + +[[package]] +name = "zksync_vm_interface" +version = "0.1.0" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" +dependencies = [ + "anyhow", + "async-trait", + "hex", + "pretty_assertions", + "serde", + "thiserror", + "tracing", + "zksync_contracts", + "zksync_system_constants", + "zksync_types", ] [[package]] name = "zksync_web3_decl" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=0d51cd6f3e65eef1bda981fe96f3026d8e12156d#0d51cd6f3e65eef1bda981fe96f3026d8e12156d" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=e214dd094457f196712722e084010a7ef94ee475#e214dd094457f196712722e084010a7ef94ee475" dependencies = [ "anyhow", "async-trait", @@ -8646,6 +8975,7 @@ dependencies = [ "jsonrpsee", "pin-project-lite", "rlp", + "rustls 0.23.13", "serde", "serde_json", "thiserror", @@ -8684,8 +9014,3 @@ dependencies = [ "cc", "pkg-config", ] - -[[patch.unused]] -name = "sha3" -version = "0.10.6" -source = "git+https://github.com/RustCrypto/hashes?tag=sha3-v0.10.6#7a187e934c1f6c68e4b4e5cf37541b7a0d64d303" diff --git a/Cargo.toml b/Cargo.toml index f37a7c96..65fdca76 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,14 +12,14 @@ publish = false # We don't want to pub [dependencies] zkevm_opcode_defs = { git = "https://github.com/matter-labs/era-zkevm_opcode_defs.git", branch = "v1.5.0" } -zksync_basic_types = { git = "https://github.com/matter-labs/zksync-era.git", rev = "0d51cd6f3e65eef1bda981fe96f3026d8e12156d" } -zksync_node_fee_model = { git = "https://github.com/matter-labs/zksync-era.git", rev = "0d51cd6f3e65eef1bda981fe96f3026d8e12156d" } -multivm = { git = "https://github.com/matter-labs/zksync-era.git", rev = "0d51cd6f3e65eef1bda981fe96f3026d8e12156d" } -zksync_contracts = { git = "https://github.com/matter-labs/zksync-era.git", rev = "0d51cd6f3e65eef1bda981fe96f3026d8e12156d" } -zksync_types = { git = "https://github.com/matter-labs/zksync-era.git", rev = "0d51cd6f3e65eef1bda981fe96f3026d8e12156d" } -zksync_utils = { git = "https://github.com/matter-labs/zksync-era.git", rev = "0d51cd6f3e65eef1bda981fe96f3026d8e12156d" } -zksync_state = { git = "https://github.com/matter-labs/zksync-era.git", rev = "0d51cd6f3e65eef1bda981fe96f3026d8e12156d" } -zksync_web3_decl = { git = "https://github.com/matter-labs/zksync-era.git", rev = "0d51cd6f3e65eef1bda981fe96f3026d8e12156d", features = [ +zksync_basic_types = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e214dd094457f196712722e084010a7ef94ee475" } +zksync_node_fee_model = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e214dd094457f196712722e084010a7ef94ee475" } +zksync_multivm = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e214dd094457f196712722e084010a7ef94ee475" } +zksync_contracts = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e214dd094457f196712722e084010a7ef94ee475" } +zksync_types = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e214dd094457f196712722e084010a7ef94ee475" } +zksync_utils = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e214dd094457f196712722e084010a7ef94ee475" } +zksync_state = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e214dd094457f196712722e084010a7ef94ee475" } +zksync_web3_decl = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e214dd094457f196712722e084010a7ef94ee475", features = [ "server", ] } sha3 = "0.10.6" @@ -59,7 +59,7 @@ itertools = "0.10.5" rustc-hash = "1.1.0" indexmap = "2.0.1" chrono = { version = "0.4.31", default-features = false } -time = "0.3.30" +time = "0.3.36" toml = "0.8.13" [dev-dependencies] @@ -69,8 +69,5 @@ maplit = "1.0.2" zksync-web3-rs = "0.1.1" ethers = { version = "2.0.4", features = ["rustls"] } -[patch.crates-io] -sha3 = { git = "https://github.com/RustCrypto/hashes", tag = "sha3-v0.10.6" } - [profile.dev] debug = 0 diff --git a/rust-toolchain.toml b/rust-toolchain.toml index d07be424..9d2c847f 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "nightly-2024-01-01" +channel = "nightly-2024-08-01" components = ["rustfmt", "clippy"] \ No newline at end of file diff --git a/src/bootloader_debug.rs b/src/bootloader_debug.rs index f090761e..5aef27a7 100644 --- a/src/bootloader_debug.rs +++ b/src/bootloader_debug.rs @@ -1,13 +1,15 @@ -use multivm::interface::{dyn_tracers::vm_1_5_0::DynTracer, tracer::VmExecutionStopReason}; use std::sync::Arc; +use zksync_multivm::{ + interface::tracer::VmExecutionStopReason, tracers::dynamic::vm_1_5_0::DynTracer, +}; -use multivm::vm_latest::{ +use once_cell::sync::OnceCell; +use zksync_basic_types::U256; +use zksync_multivm::vm_latest::{ constants::BOOTLOADER_HEAP_PAGE, BootloaderState, HistoryMode, SimpleMemory, VmTracer, ZkSyncVmState, }; -use once_cell::sync::OnceCell; -use zksync_basic_types::U256; -use zksync_state::WriteStorage; +use zksync_state::interface::WriteStorage; /// Magic value that we put in bootloader.yul at the beginning of the debug section - to detect that /// debugger was enabled. diff --git a/src/console_log.rs b/src/console_log.rs index b6ef9bfc..f3514a4c 100644 --- a/src/console_log.rs +++ b/src/console_log.rs @@ -4,7 +4,7 @@ use colored::Colorize; use ethabi::param_type::Reader; use ethabi::{Function, Param, StateMutability}; use itertools::Itertools; -use zksync_types::vm_trace::Call; +use zksync_multivm::interface::Call; use zksync_types::H160; /// ConsoleLogHandler is responsible for printing the logs, that are created when contract calls 'console.log' method. diff --git a/src/deps/mod.rs b/src/deps/mod.rs index 0ce904a5..060ee37a 100644 --- a/src/deps/mod.rs +++ b/src/deps/mod.rs @@ -1,11 +1,11 @@ use std::collections::HashMap; pub mod system_contracts; use zksync_types::{ - get_code_key, get_system_context_init_logs, L2ChainId, StorageKey, StorageLog, StorageLogKind, - StorageValue, H256, + get_code_key, get_system_context_init_logs, L2ChainId, StorageKey, StorageLog, StorageValue, + H256, }; pub mod storage_view; -use zksync_state::ReadStorage; +use zksync_state::interface::ReadStorage; /// In-memory storage. #[derive(Debug, Default, Clone, PartialEq)] @@ -32,7 +32,7 @@ impl InMemoryStorage { StorageLog::new_write_log(deployer_code_key, bytecode_hasher(&contract.bytecode)) }) .chain(system_context_init_log) - .filter_map(|log| (log.kind == StorageLogKind::Write).then_some((log.key, log.value))) + .filter_map(|log| (log.is_write()).then_some((log.key, log.value))) .collect(); let factory_deps = contracts diff --git a/src/deps/storage_view.rs b/src/deps/storage_view.rs index 88abf140..ae950652 100644 --- a/src/deps/storage_view.rs +++ b/src/deps/storage_view.rs @@ -1,6 +1,6 @@ use std::{cell::RefCell, collections::HashMap, fmt, rc::Rc}; -use zksync_state::{ReadStorage, WriteStorage}; +use zksync_state::interface::{ReadStorage, WriteStorage}; use zksync_types::{StorageKey, StorageValue, H256}; /// `StorageView` is a buffer for `StorageLog`s between storage and transaction execution code. diff --git a/src/fork.rs b/src/fork.rs index 9bc65f38..71d30c63 100644 --- a/src/fork.rs +++ b/src/fork.rs @@ -28,7 +28,7 @@ use zksync_types::{ ProtocolVersionId, StorageKey, }; -use zksync_state::ReadStorage; +use zksync_state::interface::ReadStorage; use zksync_utils::{bytecode::hash_bytecode, h256_to_u256}; use zksync_web3_decl::{ @@ -723,7 +723,7 @@ impl ForkDetails { #[cfg(test)] mod tests { use zksync_basic_types::{AccountTreeId, L1BatchNumber, H256}; - use zksync_state::ReadStorage; + use zksync_state::interface::ReadStorage; use zksync_types::{api::TransactionVariant, StorageKey}; use crate::config::cache::CacheConfig; diff --git a/src/formatter.rs b/src/formatter.rs index 56b8dd4f..3db81f4c 100644 --- a/src/formatter.rs +++ b/src/formatter.rs @@ -10,8 +10,8 @@ use std::str; use crate::fork::block_on; use zksync_basic_types::H160; -use multivm::interface::VmExecutionResultAndLogs; -use zksync_types::{vm_trace::Call, StorageLogQuery, StorageLogQueryType, VmEvent}; +use zksync_multivm::interface::{Call, VmEvent, VmExecutionResultAndLogs}; +use zksync_types::StorageLogWithPreviousValue; use lazy_static::lazy_static; @@ -261,29 +261,24 @@ impl PubdataBytesInfo { } } -pub fn print_logs(log_query: &StorageLogQuery, pubdata_bytes: Option) { +pub fn print_logs( + log_query: &StorageLogWithPreviousValue, + pubdata_bytes: Option, +) { let separator = "─".repeat(82); - tracing::info!("{:<15} {:?}", "Type:", log_query.log_type); + tracing::info!("{:<15} {:?}", "Kind:", log_query.log.kind); tracing::info!( "{:<15} {}", "Address:", - address_to_human_readable(log_query.log_query.address) - .unwrap_or(format!("{}", log_query.log_query.address)) + address_to_human_readable(*log_query.log.key.address()) + .unwrap_or(format!("{}", log_query.log.key.address())) ); - tracing::info!("{:<15} {:#066x}", "Key:", log_query.log_query.key); + tracing::info!("{:<15} {:#066x}", "Key:", log_query.log.key.key()); - tracing::info!( - "{:<15} {:#066x}", - "Read Value:", - log_query.log_query.read_value - ); + tracing::info!("{:<15} {:#066x}", "Read Value:", log_query.previous_value,); - if log_query.log_type != StorageLogQueryType::Read { - tracing::info!( - "{:<15} {:#066x}", - "Written Value:", - log_query.log_query.written_value - ); + if log_query.log.is_write() { + tracing::info!("{:<15} {:#066x}", "Written Value:", log_query.log.value); } if let Some(pubdata_bytes) = pubdata_bytes { tracing::info!("{:<15} {:}", "Pubdata bytes:", pubdata_bytes); @@ -304,8 +299,8 @@ pub fn print_vm_details(result: &VmExecutionResultAndLogs) { ); tracing::info!("Contracts Used: {}", result.statistics.contracts_used); match &result.result { - multivm::interface::ExecutionResult::Success { .. } => {} - multivm::interface::ExecutionResult::Revert { output } => { + zksync_multivm::interface::ExecutionResult::Success { .. } => {} + zksync_multivm::interface::ExecutionResult::Revert { output } => { tracing::info!(""); tracing::info!( "{}", @@ -316,7 +311,7 @@ pub fn print_vm_details(result: &VmExecutionResultAndLogs) { .on_red() ); } - multivm::interface::ExecutionResult::Halt { reason } => { + zksync_multivm::interface::ExecutionResult::Halt { reason } => { tracing::info!(""); tracing::info!("{}", format!("\n[!] Halt Reason: {}", reason).on_red()); } diff --git a/src/http_fork_source.rs b/src/http_fork_source.rs index 16a9685b..18ccfbce 100644 --- a/src/http_fork_source.rs +++ b/src/http_fork_source.rs @@ -87,7 +87,7 @@ impl ForkSource for HttpForkSource { let client = self.create_client(); block_on(async move { client.get_transaction_by_hash(hash).await }) - .map(|maybe_transaction| { + .inspect(|maybe_transaction| { if let Some(transaction) = &maybe_transaction { self.cache .write() @@ -99,7 +99,6 @@ impl ForkSource for HttpForkSource { ) }); } - maybe_transaction }) .wrap_err("fork http client failed") } @@ -133,7 +132,7 @@ impl ForkSource for HttpForkSource { let client = self.create_client(); block_on(async move { client.get_raw_block_transactions(block_number).await }) .wrap_err("fork http client failed") - .map(|transactions| { + .inspect(|transactions| { if !transactions.is_empty() { self.cache .write() @@ -147,7 +146,6 @@ impl ForkSource for HttpForkSource { ) }); } - transactions }) } @@ -167,7 +165,7 @@ impl ForkSource for HttpForkSource { let client = self.create_client(); block_on(async move { client.get_block_by_hash(hash, full_transactions).await }) - .map(|block| { + .inspect(|block| { if let Some(block) = &block { self.cache .write() @@ -179,7 +177,6 @@ impl ForkSource for HttpForkSource { ) }); } - block }) .wrap_err("fork http client failed") } @@ -211,7 +208,7 @@ impl ForkSource for HttpForkSource { .get_block_by_number(block_number, full_transactions) .await }) - .map(|block| { + .inspect(|block| { if let Some(block) = &block { self.cache .write() @@ -225,7 +222,6 @@ impl ForkSource for HttpForkSource { ) }); } - block }) .wrap_err("fork http client failed") } @@ -313,7 +309,7 @@ impl ForkSource for HttpForkSource { let client = self.create_client(); block_on(async move { client.get_bridge_contracts().await }) - .map(|bridge_addresses| { + .inspect(|bridge_addresses| { self.cache .write() .map(|mut guard| guard.set_bridge_addresses(bridge_addresses.clone())) @@ -323,7 +319,6 @@ impl ForkSource for HttpForkSource { err ) }); - bridge_addresses }) .wrap_err("fork http client failed") } @@ -342,7 +337,7 @@ impl ForkSource for HttpForkSource { let client = self.create_client(); block_on(async move { client.get_confirmed_tokens(from, limit).await }) - .map(|confirmed_tokens| { + .inspect(|confirmed_tokens| { self.cache .write() .map(|mut guard| { @@ -354,7 +349,6 @@ impl ForkSource for HttpForkSource { err ) }); - confirmed_tokens }) .wrap_err("fork http client failed") } diff --git a/src/node/debug.rs b/src/node/debug.rs index 47b0680b..443443ea 100644 --- a/src/node/debug.rs +++ b/src/node/debug.rs @@ -2,10 +2,10 @@ use itertools::Itertools; use once_cell::sync::OnceCell; use std::sync::Arc; -use multivm::interface::VmInterface; -use multivm::tracers::CallTracer; -use multivm::vm_latest::HistoryDisabled; -use multivm::vm_latest::{constants::ETH_CALL_GAS_LIMIT, ToTracerPointer, Vm}; +use zksync_multivm::interface::{VmFactory, VmInterface}; +use zksync_multivm::tracers::CallTracer; +use zksync_multivm::vm_latest::HistoryDisabled; +use zksync_multivm::vm_latest::{constants::ETH_CALL_GAS_LIMIT, ToTracerPointer, Vm}; use zksync_basic_types::H256; use zksync_types::{ @@ -165,7 +165,7 @@ impl DebugNames return Err(into_jsrpc_error(error)); } }; - let execution_mode = multivm::interface::TxExecutionMode::EthCall; + let execution_mode = zksync_multivm::interface::TxExecutionMode::EthCall; let storage = StorageView::new(&inner.fork_storage).into_rc_ptr(); let bootloader_code = inner.system_contracts.contracts_for_l2_call(); @@ -195,7 +195,10 @@ impl DebugNames let call_tracer_result = Arc::new(OnceCell::default()); let tracer = CallTracer::new(call_tracer_result.clone()).into_tracer_pointer(); - let tx_result = vm.inspect(tracer.into(), multivm::interface::VmExecutionMode::OneTx); + let tx_result = vm.inspect( + &mut tracer.into(), + zksync_multivm::interface::VmExecutionMode::OneTx, + ); let call_traces = if only_top { vec![] } else { @@ -298,7 +301,7 @@ mod tests { let func = HumanReadableParser::parse_function("calculate(uint)").unwrap(); let calldata = func.encode_input(&[Token::Uint(U256::from(42))]).unwrap(); let request = CallRequestBuilder::default() - .to(primary_deployed_address) + .to(Some(primary_deployed_address)) .data(calldata.clone().into()) .gas(80_000_000.into()) .build(); @@ -348,7 +351,7 @@ mod tests { let func = HumanReadableParser::parse_function("calculate(uint)").unwrap(); let calldata = func.encode_input(&[Token::Uint(U256::from(42))]).unwrap(); let request = CallRequestBuilder::default() - .to(primary_deployed_address) + .to(Some(primary_deployed_address)) .data(calldata.into()) .gas(80_000_000.into()) .build(); @@ -383,7 +386,7 @@ mod tests { // trace a call to the primary contract let request = CallRequestBuilder::default() - .to(primary_deployed_address) + .to(Some(primary_deployed_address)) .data(short_signature("shouldRevert()", &[]).into()) .gas(80_000_000.into()) .build(); diff --git a/src/node/eth.rs b/src/node/eth.rs index 8a094b23..30995480 100644 --- a/src/node/eth.rs +++ b/src/node/eth.rs @@ -3,12 +3,12 @@ use std::collections::HashSet; use colored::Colorize; use futures::FutureExt; use itertools::Itertools; -use multivm::interface::{ExecutionResult, TxExecutionMode}; -use multivm::vm_latest::constants::ETH_CALL_GAS_LIMIT; use zksync_basic_types::{ web3::{self, Bytes}, AccountTreeId, Address, H160, H256, U256, U64, }; +use zksync_multivm::interface::{ExecutionResult, TxExecutionMode}; +use zksync_multivm::vm_latest::constants::ETH_CALL_GAS_LIMIT; use zksync_types::{ api::{Block, BlockIdVariant, BlockNumber, TransactionVariant}, fee::Fee, @@ -517,7 +517,7 @@ impl EthNamespa block_number: Some(U64::from(info.miniblock_number)), transaction_index: Some(U64::from(0)), from: Some(info.tx.initiator_account()), - to: Some(info.tx.recipient_account()), + to: info.tx.recipient_account(), value: info.tx.execute.value, gas_price: Some(U256::from(0)), gas: Default::default(), @@ -1369,6 +1369,8 @@ impl EthNamespa base_fee_per_gas, gas_used_ratio, reward, + base_fee_per_blob_gas: Default::default(), + blob_gas_used_ratio: Default::default(), }) }) } diff --git a/src/node/fee_model.rs b/src/node/fee_model.rs index 3aca807b..1f03bfcb 100644 --- a/src/node/fee_model.rs +++ b/src/node/fee_model.rs @@ -34,14 +34,14 @@ impl TestNodeFeeInputProvider { match fee_params { FeeParams::V1(_) => todo!(), FeeParams::V2(fee_params) => Self { - l1_gas_price: fee_params.l1_gas_price, - l1_pubdata_price: fee_params.l1_pubdata_price, - l2_gas_price: fee_params.config.minimal_l2_gas_price, - compute_overhead_part: fee_params.config.compute_overhead_part, - pubdata_overhead_part: fee_params.config.pubdata_overhead_part, - batch_overhead_l1_gas: fee_params.config.batch_overhead_l1_gas, - max_gas_per_batch: fee_params.config.max_gas_per_batch, - max_pubdata_per_batch: fee_params.config.max_pubdata_per_batch, + l1_gas_price: fee_params.l1_gas_price(), + l1_pubdata_price: fee_params.l1_pubdata_price(), + l2_gas_price: fee_params.config().minimal_l2_gas_price, + compute_overhead_part: fee_params.config().compute_overhead_part, + pubdata_overhead_part: fee_params.config().pubdata_overhead_part, + batch_overhead_l1_gas: fee_params.config().batch_overhead_l1_gas, + max_gas_per_batch: fee_params.config().max_gas_per_batch, + max_pubdata_per_batch: fee_params.config().max_pubdata_per_batch, estimate_gas_price_scale_factor, estimate_gas_scale_factor, }, @@ -108,11 +108,12 @@ impl TestNodeFeeInputProvider { impl BatchFeeModelInputProvider for TestNodeFeeInputProvider { fn get_fee_model_params(&self) -> FeeParams { // TODO: consider using old fee model for the olds blocks, when forking - FeeParams::V2(FeeParamsV2 { - config: self.get_fee_model_config(), - l1_gas_price: self.l1_gas_price, - l1_pubdata_price: self.l1_pubdata_price, - }) + FeeParams::V2(FeeParamsV2::new( + self.get_fee_model_config(), + self.l1_gas_price, + self.l1_pubdata_price, + Default::default(), + )) } } diff --git a/src/node/in_memory.rs b/src/node/in_memory.rs index 5f86a127..653f2111 100644 --- a/src/node/in_memory.rs +++ b/src/node/in_memory.rs @@ -26,15 +26,21 @@ use std::{ sync::{Arc, RwLock}, }; -use multivm::{ +use std::convert::TryInto; +use zksync_basic_types::{ + web3::keccak256, web3::Bytes, AccountTreeId, Address, L1BatchNumber, L2BlockNumber, H160, H256, + U256, U64, +}; +use zksync_contracts::BaseSystemContracts; +use zksync_multivm::{ interface::{ - ExecutionResult, L1BatchEnv, L2BlockEnv, SystemEnv, TxExecutionMode, VmExecutionMode, - VmExecutionResultAndLogs, VmInterface, + Call, ExecutionResult, L1BatchEnv, L2Block, L2BlockEnv, SystemEnv, TxExecutionMode, + VmExecutionMode, VmExecutionResultAndLogs, VmFactory, VmInterface, VmInterfaceExt, }, - vm_latest::{constants::BATCH_COMPUTATIONAL_GAS_LIMIT, L2Block}, + vm_latest::constants::BATCH_COMPUTATIONAL_GAS_LIMIT, VmVersion, }; -use multivm::{ +use zksync_multivm::{ tracers::CallTracer, utils::{ adjust_pubdata_price_for_tx, derive_base_fee_and_gas_per_pubdata, derive_overhead, @@ -47,14 +53,8 @@ use multivm::{ ToTracerPointer, TracerPointer, Vm, }, }; -use std::convert::TryInto; -use zksync_basic_types::{ - web3::keccak256, web3::Bytes, AccountTreeId, Address, L1BatchNumber, L2BlockNumber, H160, H256, - U256, U64, -}; -use zksync_contracts::BaseSystemContracts; use zksync_node_fee_model::BatchFeeModelInputProvider; -use zksync_state::{ReadStorage, StoragePtr, WriteStorage}; +use zksync_state::interface::{ReadStorage, StoragePtr, WriteStorage}; use zksync_types::{ api::{Block, DebugCall, Log, TransactionReceipt, TransactionVariant}, block::{unpack_block_info, L2BlockHasher}, @@ -63,10 +63,8 @@ use zksync_types::{ get_code_key, get_nonce_key, l2::{L2Tx, TransactionType}, utils::{decompose_full_nonce, nonces_to_full_nonce, storage_key_for_eth_balance}, - vm_trace::Call, - PackedEthSignature, StorageKey, StorageLogQueryType, StorageValue, Transaction, - ACCOUNT_CODE_STORAGE_ADDRESS, MAX_L2_TX_GAS_LIMIT, SYSTEM_CONTEXT_ADDRESS, - SYSTEM_CONTEXT_BLOCK_INFO_POSITION, + PackedEthSignature, StorageKey, StorageValue, Transaction, ACCOUNT_CODE_STORAGE_ADDRESS, + MAX_L2_TX_GAS_LIMIT, SYSTEM_CONTEXT_ADDRESS, SYSTEM_CONTEXT_BLOCK_INFO_POSITION, }; use zksync_utils::{bytecode::hash_bytecode, h256_to_account_address, h256_to_u256, u256_to_h256}; use zksync_web3_decl::error::Web3Error; @@ -121,6 +119,7 @@ pub struct TxExecutionInfo { // Batch number where transaction was executed. pub batch_number: u32, pub miniblock_number: u64, + #[allow(unused)] pub result: VmExecutionResultAndLogs, } @@ -291,7 +290,7 @@ impl InMemoryNodeInner { let (last_l1_block_num, last_l1_block_ts) = load_last_l1_batch(storage.clone()) .map(|(num, ts)| (num as u32, ts)) .unwrap_or_else(|| (self.current_batch, self.current_timestamp)); - let last_l2_block = load_last_l2_block(storage.clone()).unwrap_or_else(|| L2Block { + let last_l2_block = load_last_l2_block(&storage).unwrap_or_else(|| L2Block { number: self.current_miniblock as u32, hash: L2BlockHasher::legacy_hash(L2BlockNumber(self.current_miniblock as u32)), timestamp: self.current_timestamp, @@ -860,10 +859,8 @@ pub struct InMemoryNode { fn contract_address_from_tx_result(execution_result: &VmExecutionResultAndLogs) -> Option { for query in execution_result.logs.storage_logs.iter().rev() { - if query.log_type == StorageLogQueryType::InitialWrite - && query.log_query.address == ACCOUNT_CODE_STORAGE_ADDRESS - { - return Some(h256_to_account_address(&u256_to_h256(query.log_query.key))); + if query.log.is_write() && query.log.key.address() == &ACCOUNT_CODE_STORAGE_ADDRESS { + return Some(h256_to_account_address(query.log.key.key())); } } None @@ -1041,7 +1038,7 @@ impl InMemoryNode { let custom_tracer = CallTracer::new(call_tracer_result.clone()).into_tracer_pointer(); - let tx_result = vm.inspect(custom_tracer.into(), VmExecutionMode::OneTx); + let tx_result = vm.inspect(&mut custom_tracer.into(), VmExecutionMode::OneTx); let call_traces = Arc::try_unwrap(call_tracer_result) .unwrap() @@ -1311,7 +1308,7 @@ impl InMemoryNode { l2_tx: L2Tx, execution_mode: TxExecutionMode, mut tracers: Vec< - TracerPointer>, multivm::vm_latest::HistoryDisabled>, + TracerPointer>, zksync_multivm::vm_latest::HistoryDisabled>, >, execute_bootloader: bool, ) -> Result { @@ -1345,8 +1342,6 @@ impl InMemoryNode { let tx: Transaction = l2_tx.clone().into(); - vm.push_transaction(tx.clone()); - let call_tracer_result = Arc::new(OnceCell::default()); let bootloader_debug_result = Arc::new(OnceCell::default()); @@ -1358,7 +1353,10 @@ impl InMemoryNode { .into_tracer_pointer(), ); - let tx_result = vm.inspect(tracers.into(), VmExecutionMode::OneTx); + let (compressed_bytecodes, tx_result) = + vm.inspect_transaction_with_bytecode_compression(&mut tracers.into(), tx.clone(), true); + let compressed_bytecodes = + compressed_bytecodes.map_err(|err| format!("failed compressing bytecodes: {err:?}"))?; let call_traces = call_tracer_result.get().unwrap(); @@ -1472,7 +1470,7 @@ impl InMemoryNode { }; let mut bytecodes = HashMap::new(); - for b in vm.get_last_tx_compressed_bytecodes().iter() { + for b in compressed_bytecodes.iter() { let hashcode = match bytecode_to_factory_dep(b.original.clone()) { Ok(hc) => hc, Err(error) => { @@ -1570,6 +1568,7 @@ impl InMemoryNode { transaction_log_index: Some(U256::from(log_idx)), log_type: None, removed: Some(false), + block_timestamp: Some(block.timestamp.as_u64().into()), }, block.number, ); @@ -1582,7 +1581,7 @@ impl InMemoryNode { l1_batch_tx_index: None, l1_batch_number: block.l1_batch_number, from: l2_tx.initiator_account(), - to: Some(l2_tx.recipient_account()), + to: l2_tx.recipient_account(), root: H256::zero(), cumulative_gas_used: Default::default(), gas_used: Some(l2_tx.common_data.fee.gas_limit - result.refunds.gas_refunded), @@ -1605,6 +1604,7 @@ impl InMemoryNode { transaction_log_index: Some(U256::from(log_idx)), log_type: None, removed: Some(false), + block_timestamp: Some(block.timestamp.as_u64().into()), }) .collect(), l2_to_l1_logs: vec![], @@ -1944,7 +1944,7 @@ mod tests { ); let mut tx = L2Tx::new_signed( - deployed_address, + Some(deployed_address), hex::decode("bbf55335").unwrap(), // keccak selector for "transact_retrieve1()" Nonce(1), Fee { diff --git a/src/node/in_memory_ext.rs b/src/node/in_memory_ext.rs index 59cd612e..0a793246 100644 --- a/src/node/in_memory_ext.rs +++ b/src/node/in_memory_ext.rs @@ -398,7 +398,7 @@ mod tests { use std::str::FromStr; use std::sync::{Arc, RwLock}; use zksync_basic_types::{Nonce, H256}; - use zksync_state::ReadStorage; + use zksync_state::interface::ReadStorage; use zksync_types::{api::BlockNumber, fee::Fee, l2::L2Tx, PackedEthSignature}; #[tokio::test] @@ -563,7 +563,7 @@ mod tests { // construct a tx let mut tx = L2Tx::new( - Address::random(), + Some(Address::random()), vec![], Nonce(0), Fee { diff --git a/src/node/storage_logs.rs b/src/node/storage_logs.rs index 4a256812..bd784d6a 100644 --- a/src/node/storage_logs.rs +++ b/src/node/storage_logs.rs @@ -3,17 +3,17 @@ use std::collections::HashMap; use crate::formatter::{self, PubdataBytesInfo}; use crate::config::node::ShowStorageLogs; -use multivm::vm_latest::VmExecutionResultAndLogs; -use zksync_basic_types::AccountTreeId; +use zksync_multivm::interface::VmExecutionResultAndLogs; use zksync_types::{ utils::storage_key_for_eth_balance, writes::{ compression::compress_with_best_strategy, BYTES_PER_DERIVED_KEY, BYTES_PER_ENUMERATION_INDEX, }, - StorageKey, StorageLogQuery, StorageLogQueryType, BOOTLOADER_ADDRESS, SYSTEM_CONTEXT_ADDRESS, + StorageKey, BOOTLOADER_ADDRESS, SYSTEM_CONTEXT_ADDRESS, }; -use zksync_utils::u256_to_h256; +use zksync_types::{StorageLogKind, StorageLogWithPreviousValue}; +use zksync_utils::h256_to_u256; fn is_storage_key_free(key: &StorageKey) -> bool { key.address() == &SYSTEM_CONTEXT_ADDRESS @@ -22,24 +22,21 @@ fn is_storage_key_free(key: &StorageKey) -> bool { fn compute_and_update_pubdata_cost( cost_paid: &mut HashMap, - log_query: &StorageLogQuery, + log_query: &StorageLogWithPreviousValue, ) -> PubdataBytesInfo { - let storage_key = StorageKey::new( - AccountTreeId::new(log_query.log_query.address), - u256_to_h256(log_query.log_query.key), - ); + let storage_key = log_query.log.key; if is_storage_key_free(&storage_key) { PubdataBytesInfo::FreeSlot } else { // how many bytes it takes after compression. let compressed_value_size = compress_with_best_strategy( - log_query.log_query.read_value, - log_query.log_query.written_value, + h256_to_u256(log_query.previous_value), + h256_to_u256(log_query.log.value), ) .len() as u32; - let final_pubdata_cost = if log_query.log_type == StorageLogQueryType::InitialWrite { + let final_pubdata_cost = if log_query.log.kind == StorageLogKind::InitialWrite { (BYTES_PER_DERIVED_KEY as u32) + compressed_value_size } else { (BYTES_PER_ENUMERATION_INDEX as u32) + compressed_value_size @@ -74,8 +71,8 @@ pub fn print_storage_logs_details( for log_query in &result.logs.storage_logs { let pubdata_bytes_info = if matches!( - log_query.log_type, - StorageLogQueryType::RepeatedWrite | StorageLogQueryType::InitialWrite + log_query.log.kind, + StorageLogKind::RepeatedWrite | StorageLogKind::InitialWrite ) { Some(compute_and_update_pubdata_cost(&mut cost_paid, log_query)) } else { @@ -85,8 +82,8 @@ pub fn print_storage_logs_details( match show_storage_logs { ShowStorageLogs::Write => { if matches!( - log_query.log_type, - StorageLogQueryType::RepeatedWrite | StorageLogQueryType::InitialWrite + log_query.log.kind, + StorageLogKind::RepeatedWrite | StorageLogKind::InitialWrite ) { formatter::print_logs(log_query, pubdata_bytes_info); } @@ -102,7 +99,7 @@ pub fn print_storage_logs_details( } } ShowStorageLogs::Read => { - if log_query.log_type == StorageLogQueryType::Read { + if log_query.log.kind == StorageLogKind::Read { formatter::print_logs(log_query, pubdata_bytes_info); } } diff --git a/src/resolver.rs b/src/resolver.rs index 6db63897..fc98c634 100644 --- a/src/resolver.rs +++ b/src/resolver.rs @@ -80,15 +80,13 @@ impl SignEthClient { .get(url) .send() .await - .map_err(|err| { - self.on_reqwest_err(&err); - err + .inspect_err(|err| { + self.on_reqwest_err(err); })? .text() .await - .map_err(|err| { - self.on_reqwest_err(&err); - err + .inspect_err(|err| { + self.on_reqwest_err(err); }) } diff --git a/src/system_contracts.rs b/src/system_contracts.rs index b344f340..823c4d81 100644 --- a/src/system_contracts.rs +++ b/src/system_contracts.rs @@ -1,9 +1,9 @@ -use multivm::interface::TxExecutionMode; use serde::Deserialize; use zksync_contracts::{ read_sys_contract_bytecode, read_zbin_bytecode, BaseSystemContracts, ContractLanguage, SystemContractCode, }; +use zksync_multivm::interface::TxExecutionMode; use zksync_types::system_contracts::get_system_smart_contracts; use zksync_utils::{bytecode::hash_bytecode, bytes_to_be_words}; diff --git a/src/testing.rs b/src/testing.rs index c153a161..da9f9970 100644 --- a/src/testing.rs +++ b/src/testing.rs @@ -18,9 +18,9 @@ use httptest::{ Expectation, Server, }; use itertools::Itertools; -use multivm::interface::{ExecutionResult, VmExecutionResultAndLogs}; use std::str::FromStr; use zksync_basic_types::{AccountTreeId, L1BatchNumber, L2BlockNumber, H160, U64}; +use zksync_multivm::interface::{ExecutionResult, VmExecutionResultAndLogs}; use zksync_types::api::{ BlockDetailsBase, BlockIdVariant, BlockStatus, BridgeAddresses, DebugCall, DebugCallType, Log, }; @@ -436,7 +436,7 @@ impl TransactionBuilder { pub fn build(&mut self) -> L2Tx { let mut tx = L2Tx::new_signed( - Address::random(), + Some(Address::random()), vec![], Nonce(0), Fee { @@ -537,7 +537,7 @@ pub fn deploy_contract( .expect("failed encoding function data"); let mut tx = L2Tx::new_signed( - zksync_types::CONTRACT_DEPLOYER_ADDRESS, + Some(zksync_types::CONTRACT_DEPLOYER_ADDRESS), data.to_vec(), nonce, Fee { @@ -563,6 +563,7 @@ pub fn deploy_contract( #[derive(Debug, Default, Clone)] pub struct LogBuilder { block_number: U64, + block_timestamp: U64, address: Option, topics: Option>, } @@ -606,6 +607,7 @@ impl LogBuilder { transaction_log_index: Default::default(), log_type: Default::default(), removed: Some(false), + block_timestamp: Some(self.block_timestamp), } } } diff --git a/src/utils.rs b/src/utils.rs index 876c0fde..f9bba0da 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,4 +1,3 @@ -use std::collections::HashMap; use std::convert::TryInto; use std::fmt; use std::pin::Pin; @@ -7,18 +6,19 @@ use anyhow::anyhow; use chrono::{DateTime, Utc}; use futures::Future; use jsonrpc_core::{Error, ErrorCode}; -use multivm::interface::{ExecutionResult, VmExecutionResultAndLogs, VmInterface}; -use multivm::vm_latest::HistoryDisabled; -use multivm::vm_latest::Vm; use zkevm_opcode_defs::utils::bytecode_to_code_hash; use zksync_basic_types::{H256, U256, U64}; -use zksync_state::WriteStorage; +use zksync_multivm::interface::{ + Call, CallType, ExecutionResult, VmExecutionResultAndLogs, VmFactory, VmInterfaceExt, +}; +use zksync_multivm::vm_latest::HistoryDisabled; +use zksync_multivm::vm_latest::Vm; +use zksync_state::interface::WriteStorage; use zksync_types::api::{BlockNumber, DebugCall, DebugCallType}; use zksync_types::l2::L2Tx; -use zksync_types::vm_trace::Call; +use zksync_types::web3::Bytes; use zksync_types::CONTRACT_DEPLOYER_ADDRESS; use zksync_utils::bytes_to_be_words; -use zksync_utils::u256_to_h256; use zksync_web3_decl::error::Web3Error; use crate::deps::storage_view::StorageView; @@ -101,7 +101,7 @@ pub fn mine_empty_blocks( // build and insert new blocks for i in 0..num_blocks { // roll the vm - let (keys, bytecodes, block_ctx) = { + let (keys, block_ctx) = { let storage = StorageView::new(&node.fork_storage).into_rc_ptr(); // system_contract.contracts_for_l2_call() will give playground contracts @@ -116,40 +116,22 @@ pub fn mine_empty_blocks( // init vm let system_env = node.create_system_env( bootloader_code.clone(), - multivm::interface::TxExecutionMode::VerifyExecute, + zksync_multivm::interface::TxExecutionMode::VerifyExecute, ); let mut vm: Vm<_, HistoryDisabled> = Vm::new(batch_env, system_env, storage.clone()); - vm.execute(multivm::interface::VmExecutionMode::Bootloader); + vm.execute(zksync_multivm::interface::VmExecutionMode::Bootloader); - let mut bytecodes = HashMap::new(); - for b in vm.get_last_tx_compressed_bytecodes().iter() { - let hashcode = bytecode_to_factory_dep(b.original.clone())?; - bytecodes.insert(hashcode.0, hashcode.1); - } + // we should not have any bytecodes let modified_keys = storage.borrow().modified_storage_keys().clone(); - (modified_keys, bytecodes, block_ctx) + (modified_keys, block_ctx) }; for (key, value) in keys.iter() { node.fork_storage.set_value(*key, *value); } - // Write all the factory deps. - for (hash, code) in bytecodes.iter() { - node.fork_storage.store_factory_dep( - u256_to_h256(*hash), - code.iter() - .flat_map(|entry| { - let mut bytes = vec![0u8; 32]; - entry.to_big_endian(&mut bytes); - bytes.to_vec() - }) - .collect(), - ) - } - let block = create_empty_block( block_ctx.miniblock, block_ctx.timestamp, @@ -184,6 +166,7 @@ pub fn to_real_block_number(block_number: BlockNumber, latest_block_number: U64) BlockNumber::Finalized | BlockNumber::Pending | BlockNumber::Committed + | BlockNumber::L1Committed | BlockNumber::Latest => latest_block_number, BlockNumber::Earliest => U64::zero(), BlockNumber::Number(n) => n, @@ -209,7 +192,11 @@ pub fn create_debug_output( result: &VmExecutionResultAndLogs, traces: Vec, ) -> Result { - let calltype = if l2_tx.recipient_account() == CONTRACT_DEPLOYER_ADDRESS { + let calltype = if l2_tx + .recipient_account() + .map(|addr| addr == CONTRACT_DEPLOYER_ADDRESS) + .unwrap_or_default() + { DebugCallType::Create } else { DebugCallType::Call @@ -220,26 +207,30 @@ pub fn create_debug_output( output: output.clone().into(), r#type: calltype, from: l2_tx.initiator_account(), - to: l2_tx.recipient_account(), + to: l2_tx + .recipient_account() + .expect("must have recipient address"), gas: l2_tx.common_data.fee.gas_limit, value: l2_tx.execute.value, input: l2_tx.execute.calldata().into(), error: None, revert_reason: None, - calls: traces.into_iter().map(Into::into).collect(), + calls: traces.into_iter().map(call_to_debug_call).collect(), }), ExecutionResult::Revert { output } => Ok(DebugCall { gas_used: result.statistics.gas_used.into(), output: Default::default(), r#type: calltype, from: l2_tx.initiator_account(), - to: l2_tx.recipient_account(), + to: l2_tx + .recipient_account() + .expect("must have recipient address"), gas: l2_tx.common_data.fee.gas_limit, value: l2_tx.execute.value, input: l2_tx.execute.calldata().into(), error: None, revert_reason: Some(output.to_string()), - calls: traces.into_iter().map(Into::into).collect(), + calls: traces.into_iter().map(call_to_debug_call).collect(), }), ExecutionResult::Halt { reason } => Err(Web3Error::SubmitTransactionError( reason.to_string(), @@ -248,6 +239,28 @@ pub fn create_debug_output( } } +fn call_to_debug_call(value: Call) -> DebugCall { + let calls = value.calls.into_iter().map(call_to_debug_call).collect(); + let debug_type = match value.r#type { + CallType::Call(_) => DebugCallType::Call, + CallType::Create => DebugCallType::Create, + CallType::NearCall => unreachable!("We have to filter our near calls before"), + }; + DebugCall { + r#type: debug_type, + from: value.from, + to: value.to, + gas: U256::from(value.gas), + gas_used: U256::from(value.gas_used), + value: value.value, + output: Bytes::from(value.output.clone()), + input: Bytes::from(value.input.clone()), + error: value.error.clone(), + revert_reason: value.revert_reason, + calls, + } +} + /// Converts a timestamp in milliseconds since epoch to a [DateTime] in UTC. pub fn utc_datetime_from_epoch_ms(millis: u64) -> DateTime { let secs = millis / 1000; @@ -330,13 +343,7 @@ mod tests { #[test] fn test_utc_datetime_from_epoch_ms() { let actual = utc_datetime_from_epoch_ms(1623931200000); - assert_eq!( - DateTime::::from_naive_utc_and_offset( - chrono::NaiveDateTime::from_timestamp_opt(1623931200, 0).unwrap(), - Utc - ), - actual - ); + assert_eq!(DateTime::from_timestamp(1623931200, 0).unwrap(), actual); } #[test]