diff --git a/Cargo.lock b/Cargo.lock index e65312c3..34de36ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,7 +58,7 @@ dependencies = [ "http", "httparse", "httpdate", - "itoa 1.0.6", + "itoa", "language-tags", "local-channel", "mime", @@ -70,17 +70,17 @@ dependencies = [ "tokio", "tokio-util 0.7.8", "tracing", - "zstd 0.12.3+zstd.1.5.2", + "zstd", ] [[package]] name = "actix-macros" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6" +checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ - "quote 1.0.28", - "syn 1.0.109", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -120,7 +120,7 @@ dependencies = [ "futures-util", "mio 0.8.8", "num_cpus", - "socket2", + "socket2 0.4.9", "tokio", "tracing", ] @@ -171,7 +171,7 @@ dependencies = [ "futures-core", "futures-util", "http", - "itoa 1.0.6", + "itoa", "language-tags", "log", "mime", @@ -182,8 +182,8 @@ dependencies = [ "serde_json", "serde_urlencoded", "smallvec", - "socket2", - "time 0.3.22", + "socket2 0.4.9", + "time 0.3.25", "url", ] @@ -194,8 +194,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2262160a7ae29e3415554a3f1fc04c764b1540c116aa524683208078b7a75bc9" dependencies = [ "actix-router", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -212,9 +212,9 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" dependencies = [ "gimli", ] @@ -293,18 +293,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" -dependencies = [ - "memchr", -] - -[[package]] -name = "aho-corasick" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" dependencies = [ "memchr", ] @@ -384,24 +375,24 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" dependencies = [ - "windows-sys 0.48.0", + "windows-sys", ] [[package]] name = "anstyle-wincon" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "arr_macro" @@ -420,7 +411,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0609c78bd572f4edc74310dfb63a01f5609d53fa8b4dd7c4d98aef3b3e8d72d1" dependencies = [ "proc-macro-hack", - "quote 1.0.28", + "quote 1.0.33", "syn 1.0.109", ] @@ -451,17 +442,11 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - [[package]] name = "async-compression" -version = "0.3.15" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +checksum = "62b74f44609f0f91493e3082d3734d98497e094777144380ea4db9f9905dd5b6" dependencies = [ "brotli", "flate2", @@ -469,15 +454,15 @@ dependencies = [ "memchr", "pin-project-lite", "tokio", - "zstd 0.11.2+zstd.1.5.2", - "zstd-safe 5.0.2+zstd.1.5.2", + "zstd", + "zstd-safe", ] [[package]] name = "async-lock" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ "event-listener", ] @@ -499,20 +484,20 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] name = "async-trait" -version = "0.1.68" +version = "0.1.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -550,13 +535,61 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "axum" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +dependencies = [ + "async-trait", + "axum-core", + "bitflags 1.3.2", + "bytes 1.4.0", + "futures-util", + "http", + "http-body", + "hyper", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "sync_wrapper", + "tokio", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +dependencies = [ + "async-trait", + "bytes 1.4.0", + "futures-util", + "http", + "http-body", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + [[package]] name = "backon" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c1a6197b2120bb2185a267f6515038558b019e92b832bb0320e96d66268dcf9" dependencies = [ - "fastrand", + "fastrand 1.9.0", "futures-core", "pin-project", "tokio", @@ -564,15 +597,15 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" dependencies = [ "addr2line", "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide 0.6.2", + "miniz_oxide", "object", "rustc-demangle", ] @@ -589,12 +622,6 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" -[[package]] -name = "base64" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" - [[package]] name = "base64" version = "0.21.2" @@ -641,9 +668,9 @@ dependencies = [ [[package]] name = "bigdecimal" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc403c26e6b03005522e6e8053384c4e881dfe5b2bf041c0c2c49be33d64a539" +checksum = "d1e50562e37200edf7c6c43e54a08e64a5553bfb59d9c297d5572512aa517256" dependencies = [ "num-bigint 0.3.3", "num-integer", @@ -673,12 +700,12 @@ dependencies = [ "lazycell", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "regex", "rustc-hash", "shlex", - "syn 2.0.22", + "syn 2.0.29", ] [[package]] @@ -698,9 +725,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.2" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbe3c979c178231552ecba20214a8272df4e09f232a87aef4320cf06539aded" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" [[package]] name = "bitvec" @@ -708,10 +735,22 @@ version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" dependencies = [ - "funty", - "radium", + "funty 1.1.0", + "radium 0.6.2", + "tap", + "wyz 0.2.0", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty 2.0.0", + "radium 0.7.0", "tap", - "wyz", + "wyz 0.5.1", ] [[package]] @@ -845,9 +884,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5" +checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" dependencies = [ "memchr", "serde", @@ -952,11 +991,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -1042,9 +1082,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.8" +version = "4.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9394150f5b4273a1763355bd1c2ec54cc5a2593f790587bcd6b2c947cfa9211" +checksum = "03aef18ddf7d879c15ce20f04826ef8418101c7e528014c3eeea13321047dca3" dependencies = [ "clap_builder", "clap_derive", @@ -1053,27 +1093,26 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.3.8" +version = "4.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a78fbdd3cc2914ddf37ba444114bc7765bbdcb55ec9cbe6fa054f0137400717" +checksum = "f8ce6fffb678c9b80a70b6b6de0aad31df727623a70fd9a842c30cd573e2fa98" dependencies = [ "anstream", "anstyle", - "bitflags 1.3.2", "clap_lex", "strsim 0.10.0", ] [[package]] name = "clap_derive" -version = "4.3.2" +version = "4.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -1094,9 +1133,9 @@ dependencies = [ [[package]] name = "codegen" version = "0.1.0" -source = "git+https://github.com/matter-labs/solidity_plonk_verifier.git?branch=dev#cad8d38f631691a6b456eb4eb7b410fd129ca006" +source = "git+https://github.com/matter-labs/solidity_plonk_verifier.git?branch=dev#07954802c13fb087efb5874c2ce521f843d614fd" dependencies = [ - "ethereum-types", + "ethereum-types 0.14.1", "franklin-crypto", "handlebars", "hex", @@ -1124,13 +1163,13 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "colored" -version = "2.0.0" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" +checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6" dependencies = [ - "atty", + "is-terminal", "lazy_static", - "winapi 0.3.9", + "windows-sys", ] [[package]] @@ -1151,9 +1190,9 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "const-oid" -version = "0.9.2" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "constant_time_eq" @@ -1183,7 +1222,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb" dependencies = [ "percent-encoding", - "time 0.3.22", + "time 0.3.25", "version_check", ] @@ -1205,9 +1244,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] @@ -1433,24 +1472,14 @@ dependencies = [ "subtle", ] -[[package]] -name = "crypto-mac" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" -dependencies = [ - "generic-array 0.14.7", - "subtle", -] - [[package]] name = "cs_derive" version = "0.1.0" source = "git+https://github.com/matter-labs/era-sync_vm.git?branch=v1.3.3#22d9d3a2018df8d4ac4bc0b0ada61c191d0cee30" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "serde", "syn 1.0.109", ] @@ -1471,7 +1500,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a011bbe2c35ce9c1f143b7af6f94f29a167beb4cd1d29e6740ce836f723120e" dependencies = [ "nix", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] @@ -1492,8 +1521,8 @@ checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "strsim 0.10.0", "syn 1.0.109", ] @@ -1505,18 +1534,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" dependencies = [ "darling_core", - "quote 1.0.28", + "quote 1.0.33", "syn 1.0.109", ] [[package]] name = "dashmap" -version = "5.4.0" +version = "5.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +checksum = "edd72493923899c6f10c641bdbdeddc7183d6396641d99c1a0d1597f37f92e28" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.12.3", + "hashbrown 0.14.0", "lock_api", "once_cell", "parking_lot_core 0.9.8", @@ -1549,18 +1578,27 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ - "const-oid 0.9.2", + "const-oid 0.9.5", "zeroize", ] +[[package]] +name = "deranged" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +dependencies = [ + "serde", +] + [[package]] name = "derivative" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -1571,8 +1609,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case 0.4.0", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "rustc_version", "syn 1.0.109", ] @@ -1608,9 +1646,9 @@ dependencies = [ [[package]] name = "dirs" -version = "3.0.2" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" +checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" dependencies = [ "dirs-sys", ] @@ -1646,9 +1684,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" dependencies = [ "serde", ] @@ -1682,6 +1720,19 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "env_logger" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + [[package]] name = "env_logger" version = "0.10.0" @@ -1706,9 +1757,9 @@ dependencies = [ [[package]] name = "equivalent" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "era_test_node" @@ -1716,9 +1767,9 @@ version = "0.1.0" dependencies = [ "anyhow", "bigdecimal", - "clap 4.3.8", + "clap 4.3.23", "colored", - "ethabi", + "ethabi 16.0.0", "eyre", "futures 0.3.28", "hex", @@ -1748,13 +1799,13 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] @@ -1782,7 +1833,7 @@ version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c98847055d934070b90e806e12d3936b787d0a115068981c1d8dfd5dfef5a5" dependencies = [ - "ethereum-types", + "ethereum-types 0.12.1", "hex", "serde", "serde_json", @@ -1791,6 +1842,23 @@ dependencies = [ "uint", ] +[[package]] +name = "ethabi" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" +dependencies = [ + "ethereum-types 0.14.1", + "hex", + "once_cell", + "regex", + "serde", + "serde_json", + "sha3 0.10.6", + "thiserror", + "uint", +] + [[package]] name = "ethbloom" version = "0.11.1" @@ -1798,9 +1866,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfb684ac8fa8f6c5759f788862bb22ec6fe3cb392f6bfd08e3c64b603661e3f8" dependencies = [ "crunchy", - "fixed-hash", + "fixed-hash 0.7.0", + "impl-rlp", + "impl-serde 0.3.2", + "tiny-keccak 2.0.2", +] + +[[package]] +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +dependencies = [ + "crunchy", + "fixed-hash 0.8.0", "impl-rlp", - "impl-serde", + "impl-serde 0.4.0", "tiny-keccak 2.0.2", ] @@ -1810,11 +1891,25 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05136f7057fe789f06e6d41d07b34e6f70d8c86e5693b60f97aaa6553553bdaf" dependencies = [ - "ethbloom", - "fixed-hash", + "ethbloom 0.11.1", + "fixed-hash 0.7.0", + "impl-rlp", + "impl-serde 0.3.2", + "primitive-types 0.10.1", + "uint", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom 0.13.0", + "fixed-hash 0.8.0", "impl-rlp", - "impl-serde", - "primitive-types", + "impl-serde 0.4.0", + "primitive-types 0.12.1", "uint", ] @@ -1849,6 +1944,12 @@ dependencies = [ "instant", ] +[[package]] +name = "fastrand" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" + [[package]] name = "ff" version = "0.12.1" @@ -1881,8 +1982,8 @@ dependencies = [ "num-bigint 0.4.3", "num-integer", "num-traits", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "serde", "syn 1.0.109", ] @@ -1911,6 +2012,18 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + [[package]] name = "fixedbitset" version = "0.4.2" @@ -1919,12 +2032,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" dependencies = [ "crc32fast", - "miniz_oxide 0.7.1", + "miniz_oxide", ] [[package]] @@ -2015,6 +2128,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futures" version = "0.1.31" @@ -2087,9 +2206,9 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -2188,11 +2307,11 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" +checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" dependencies = [ - "aho-corasick 0.7.20", + "aho-corasick", "bstr", "fnv", "log", @@ -2201,14 +2320,15 @@ dependencies = [ [[package]] name = "gloo-net" -version = "0.2.6" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9902a044653b26b99f7e3693a42f171312d9be8b26b5697bd1e43ad1f8a35e10" +checksum = "a66b4e3c7d9ed8d315fd6b97c8b1f74a7c6ecbbc2320e65ae7ed38b7068cc620" dependencies = [ "futures-channel", "futures-core", "futures-sink", "gloo-utils", + "http", "js-sys", "pin-project", "serde", @@ -2260,7 +2380,7 @@ dependencies = [ "serde", "serde_json", "thiserror", - "time 0.3.22", + "time 0.3.25", "tokio", "tracing", "urlencoding", @@ -2301,7 +2421,7 @@ dependencies = [ "serde_json", "sha2 0.10.6", "thiserror", - "time 0.3.22", + "time 0.3.25", "tokio", "tracing", "url", @@ -2346,9 +2466,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" dependencies = [ "bytes 1.4.0", "fnv", @@ -2459,30 +2579,24 @@ name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ - "libc", + "unicode-segmentation", ] [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ "libc", ] [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex" @@ -2491,22 +2605,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] -name = "hmac" -version = "0.10.1" +name = "hkdf" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" +checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" dependencies = [ - "crypto-mac 0.10.1", - "digest 0.9.0", + "hmac 0.12.1", ] [[package]] name = "hmac" -version = "0.11.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" dependencies = [ - "crypto-mac 0.11.1", + "crypto-mac 0.10.1", "digest 0.9.0", ] @@ -2525,7 +2638,7 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys", ] [[package]] @@ -2547,7 +2660,7 @@ checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes 1.4.0", "fnv", - "itoa 1.0.6", + "itoa", ] [[package]] @@ -2563,9 +2676,9 @@ dependencies = [ [[package]] name = "http-range-header" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" @@ -2575,9 +2688,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" @@ -2587,9 +2700,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.26" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes 1.4.0", "futures-channel", @@ -2600,9 +2713,9 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 1.0.6", + "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -2611,10 +2724,11 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0646026eb1b3eea4cd9ba47912ea5ce9cc07713d105b1a14698f4e6433d348b7" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" dependencies = [ + "futures-util", "http", "hyper", "log", @@ -2680,32 +2794,30 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.2.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] [[package]] -name = "idna" -version = "0.4.0" +name = "impl-codec" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "parity-scale-codec 2.3.1", ] [[package]] name = "impl-codec" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.6.4", ] [[package]] @@ -2726,14 +2838,23 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + [[package]] name = "impl-trait-for-tuples" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -2772,17 +2893,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "iovec" version = "0.1.4" @@ -2794,9 +2904,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.7.2" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "ipnetwork" @@ -2816,14 +2926,13 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", + "hermit-abi 0.3.2", "rustix", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] @@ -2837,15 +2946,9 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" @@ -2923,8 +3026,8 @@ version = "18.0.0" source = "git+https://github.com/matter-labs/jsonrpc.git?branch=master#12c53e3e20c09c2fb9966a4ef1b0ea63de172540" dependencies = [ "proc-macro-crate 0.1.5", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -2990,9 +3093,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1822d18e4384a5e79d94dc9e4d1239cfa9fad24e55b44d2efeff5b394c9fece4" +checksum = "e5f3783308bddc49d0218307f66a09330c106fbd792c58bac5c8dc294fdd0f98" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -3007,9 +3110,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11aa5766d5c430b89cb26a99b88f3245eb91534be8126102cea9e45ee3891b22" +checksum = "abc5630e4fa0096f00ec7b44d520701fda4504170cb85e22dca603ae5d7ad0d7" dependencies = [ "futures-channel", "futures-util", @@ -3024,14 +3127,14 @@ dependencies = [ "tokio-rustls", "tokio-util 0.7.8", "tracing", - "webpki-roots 0.23.1", + "webpki-roots 0.24.0", ] [[package]] name = "jsonrpsee-core" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c6832a55f662b5a6ecc844db24b8b9c387453f923de863062c60ce33d62b81" +checksum = "5aaa4c4d5fb801dcc316d81f76422db259809037a86b3194ae538dd026b05ed7" dependencies = [ "anyhow", "async-lock", @@ -3057,9 +3160,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1705c65069729e3dccff6fd91ee431d5d31cabcf00ce68a62a2c6435ac713af9" +checksum = "aa7165efcbfbc951d180162ff28fe91b657ed81925e37a35e4a396ce12109f96" dependencies = [ "async-trait", "hyper", @@ -3076,22 +3179,22 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6027ac0b197ce9543097d02a290f550ce1d9432bf301524b013053c0b75cc94" +checksum = "21dc12b1d4f16a86e8c522823c4fab219c88c03eb7c924ec0501a64bf12e058b" dependencies = [ "heck 0.4.1", "proc-macro-crate 1.3.1", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] [[package]] name = "jsonrpsee-server" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f06661d1a6b6e5b85469dc9c29acfbb9b3bb613797a6fd10a3ebb8a70754057" +checksum = "6e79d78cfd5abd8394da10753723093c3ff64391602941c9c4b1d80a3414fd53" dependencies = [ "futures-util", "hyper", @@ -3109,9 +3212,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5bf6c75ce2a4217421154adfc65a24d2b46e77286e59bba5d9fa6544ccc8f4" +checksum = "00aa7cc87bc42e04e26c8ac3e7186142f7fd2949c763d9b6a7e64a69672d8fb2" dependencies = [ "anyhow", "beef", @@ -3123,9 +3226,9 @@ dependencies = [ [[package]] name = "jsonrpsee-wasm-client" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34e6ea7c6d862e60f8baebd946c037b70c6808a4e4e31e792a4029184e3ce13a" +checksum = "0fe953c2801356f214d3f4051f786b3d11134512a46763ee8c39a9e3fa2cc1c0" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -3134,9 +3237,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a64b2589680ba1ad7863f279cd2d5083c1dc0a7c0ea959d22924553050f8ab9f" +checksum = "5c71b2597ec1c958c6d5bc94bb61b44d74eb28e69dc421731ab0035706f13882" dependencies = [ "http", "jsonrpsee-client-transport", @@ -3218,9 +3321,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.146" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "libloading" @@ -3240,9 +3343,9 @@ checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" [[package]] name = "librocksdb-sys" -version = "0.6.3+6.28.2" +version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "184ce2a189a817be2731070775ad053b6804a340fee05c6686d711db27455917" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ "bindgen", "bzip2-sys", @@ -3254,9 +3357,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.9" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" dependencies = [ "cc", "pkg-config", @@ -3265,9 +3368,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "local-channel" @@ -3299,9 +3402,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "mach" @@ -3324,14 +3427,14 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "regex-automata", + "regex-automata 0.1.10", ] [[package]] -name = "matches" -version = "0.1.10" +name = "matchit" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +checksum = "ed1202b2a6f884ae56f04cff409ab315c5ce26b5e58d7412e484f01fd52f52ef" [[package]] name = "maybe-uninit" @@ -3341,13 +3444,11 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" [[package]] name = "md-5" -version = "0.9.1" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15" +checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "opaque-debug 0.3.0", + "digest 0.10.7", ] [[package]] @@ -3410,8 +3511,8 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731f8ecebd9f3a4aa847dfe75455e4757a45da40a7793d2f0b1f9b6ed18b23f3" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -3450,9 +3551,9 @@ dependencies = [ [[package]] name = "mini-moka" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "452ebc1428a585e31e637b928b76355ef2fd72d765b2530d72fe475e514cd1eb" +checksum = "23e0b72e7c9042467008b10279fc732326bd605459ae03bda88825909dd19b56" dependencies = [ "crossbeam-channel 0.5.8", "crossbeam-utils 0.8.16", @@ -3469,15 +3570,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.7.1" @@ -3515,7 +3607,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] @@ -3548,6 +3640,21 @@ 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=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" +dependencies = [ + "vlog", + "vm", + "vm_m5", + "vm_m6", + "zksync_contracts", + "zksync_state", + "zksync_types", + "zksync_utils", +] + [[package]] name = "native-tls" version = "0.2.11" @@ -3643,12 +3750,12 @@ dependencies = [ [[package]] name = "num" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ "num-bigint 0.4.3", - "num-complex 0.4.3", + "num-complex 0.4.4", "num-integer", "num-iter", "num-rational 0.4.1", @@ -3681,9 +3788,9 @@ dependencies = [ [[package]] name = "num-bigint-dig" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" dependencies = [ "byteorder", "lazy_static", @@ -3708,9 +3815,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ "num-traits", ] @@ -3732,8 +3839,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -3785,9 +3892,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg 1.1.0", "libm", @@ -3795,19 +3902,40 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.2", "libc", ] +[[package]] +name = "num_enum" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", +] + [[package]] name = "object" -version = "0.30.4" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" dependencies = [ "memchr", ] @@ -3832,9 +3960,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.55" +version = "0.10.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e" dependencies = [ "bitflags 1.3.2", "cfg-if 1.0.0", @@ -3851,9 +3979,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -3864,9 +3992,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.90" +version = "0.9.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac" dependencies = [ "cc", "libc", @@ -3976,7 +4104,7 @@ dependencies = [ "aes-ctr", "block-modes", "digest 0.9.0", - "ethereum-types", + "ethereum-types 0.12.1", "hmac 0.10.1", "lazy_static", "pbkdf2 0.7.5", @@ -3997,10 +4125,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" dependencies = [ "arrayvec 0.7.4", - "bitvec", + "bitvec 0.20.4", "byte-slice-cast", "impl-trait-for-tuples", - "parity-scale-codec-derive", + "parity-scale-codec-derive 2.3.1", + "serde", +] + +[[package]] +name = "parity-scale-codec" +version = "3.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8e946cc0cc711189c0b0249fb8b599cbeeab9784d83c415719368bb8d4ac64" +dependencies = [ + "arrayvec 0.7.4", + "bitvec 1.0.1", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive 3.6.4", "serde", ] @@ -4011,8 +4153,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 1.0.109", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a296c3079b5fefbc499e1de58dc26c09b1b9a5952d26694ee89f04a43ebbb3e" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -4094,9 +4248,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pbkdf2" @@ -4152,9 +4306,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9" +checksum = "1acb4a4365a13f749a93f1a094a7805e5cfa0955373a9de860d962eaa3a5fe5a" dependencies = [ "thiserror", "ucd-trie", @@ -4162,9 +4316,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b" +checksum = "666d00490d4ac815001da55838c500eafb0320019bbaa44444137c48b443a853" dependencies = [ "pest", "pest_generator", @@ -4172,22 +4326,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190" +checksum = "68ca01446f50dbda87c1786af8770d535423fa8a53aec03b8f4e3d7eb10e0929" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] name = "pest_meta" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0" +checksum = "56af0a30af74d0445c0bf6d9d051c979b516a1a5af790d251daee76005420a48" dependencies = [ "once_cell", "pest", @@ -4196,39 +4350,39 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 1.9.3", + "indexmap 2.0.0", ] [[package]] name = "pin-project" -version = "1.1.0" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.0" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" [[package]] name = "pin-utils" @@ -4280,14 +4434,14 @@ version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e30165d31df606f5726b090ec7592c308a0eaf61721ff64c9a3018e344a8753e" dependencies = [ - "portable-atomic 1.3.3", + "portable-atomic 1.4.2", ] [[package]] name = "portable-atomic" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794" +checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" [[package]] name = "ppv-lite86" @@ -4297,12 +4451,12 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "prettyplease" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9825a04601d60621feed79c4e6b56d65db77cdca55cef43b46b0de1096d1c282" +checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" dependencies = [ - "proc-macro2 1.0.63", - "syn 2.0.22", + "proc-macro2 1.0.66", + "syn 2.0.29", ] [[package]] @@ -4311,10 +4465,23 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" dependencies = [ - "fixed-hash", - "impl-codec", + "fixed-hash 0.7.0", + "impl-codec 0.5.1", "impl-rlp", - "impl-serde", + "impl-serde 0.3.2", + "uint", +] + +[[package]] +name = "primitive-types" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" +dependencies = [ + "fixed-hash 0.8.0", + "impl-codec 0.6.0", + "impl-rlp", + "impl-serde 0.4.0", "uint", ] @@ -4334,7 +4501,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit 0.19.11", + "toml_edit 0.19.14", ] [[package]] @@ -4344,8 +4511,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", "version_check", ] @@ -4356,8 +4523,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "version_check", ] @@ -4378,9 +4545,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -4388,13 +4555,12 @@ dependencies = [ [[package]] name = "prometheus_exporter" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "metrics", "metrics-exporter-prometheus", "tokio", "vlog", - "zksync_config", ] [[package]] @@ -4435,8 +4601,8 @@ checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -4504,11 +4670,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ - "proc-macro2 1.0.63", + "proc-macro2 1.0.66", ] [[package]] @@ -4517,6 +4683,12 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.4.6" @@ -4778,13 +4950,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.8.4" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" dependencies = [ - "aho-corasick 1.0.2", + "aho-corasick", "memchr", - "regex-syntax 0.7.2", + "regex-automata 0.3.6", + "regex-syntax 0.7.4", ] [[package]] @@ -4796,6 +4969,17 @@ dependencies = [ "regex-syntax 0.6.29", ] +[[package]] +name = "regex-automata" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.7.4", +] + [[package]] name = "regex-syntax" version = "0.6.29" @@ -4804,15 +4988,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "reqwest" -version = "0.11.18" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +checksum = "20b9b67e2ca7dd9e9f9285b759de30ff538aab981abaaf7bc9bd90b84a0126c3" dependencies = [ "base64 0.21.2", "bytes 1.4.0", @@ -4849,7 +5033,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.22.6", + "webpki-roots 0.25.2", "winreg", ] @@ -4922,9 +5106,9 @@ dependencies = [ [[package]] name = "rocksdb" -version = "0.18.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "620f4129485ff1a7128d184bc687470c21c7951b64779ebc9cfdad3dcd920290" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" dependencies = [ "libc", "librocksdb-sys", @@ -4985,23 +5169,22 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.20" +version = "0.38.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" +checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "errno", - "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] name = "rustls" -version = "0.21.2" +version = "0.21.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e32ca28af694bc1bbf399c33a516dbdf1c90090b8ab23c2bc24f834aa2247f5f" +checksum = "1d1feddffcfcc0b33f5c6ce9a29e341e4cd59c3f78e7ee45f4a40c038b1d6cbb" dependencies = [ "log", "ring", @@ -5023,18 +5206,18 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ "base64 0.21.2", ] [[package]] name = "rustls-webpki" -version = "0.100.1" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" +checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d" dependencies = [ "ring", "untrusted", @@ -5042,15 +5225,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "salsa20" @@ -5072,18 +5255,18 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys 0.42.0", + "windows-sys", ] [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scrypt" @@ -5132,16 +5315,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d03ceae636d0fed5bae6a7f4f664354c5f4fcedf6eef053fef17e49f837d0a" dependencies = [ "rand 0.6.5", - "secp256k1-sys", + "secp256k1-sys 0.4.2", ] [[package]] name = "secp256k1" -version = "0.21.3" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" +checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ - "secp256k1-sys", + "secp256k1-sys 0.8.1", ] [[package]] @@ -5153,11 +5336,20 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" +dependencies = [ + "cc", +] + [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -5168,9 +5360,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -5178,9 +5370,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" dependencies = [ "serde", ] @@ -5294,43 +5486,52 @@ dependencies = [ "serde", "serde_json", "thiserror", - "time 0.3.22", + "time 0.3.25", "url", "uuid", ] [[package]] name = "serde" -version = "1.0.164" +version = "1.0.185" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +checksum = "be9b6f69f1dfd54c3b568ffa45c310d6973a5e5148fd40cf515acaf38cf5bc31" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.164" +version = "1.0.185" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" +checksum = "dc59dfdcbad1437773485e0367fea4b090a2e0a16d9ffc46af47764536a298ec" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] name = "serde_json" -version = "1.0.99" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" +checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" dependencies = [ - "indexmap 2.0.0", - "itoa 1.0.6", + "itoa", "ryu", "serde", ] +[[package]] +name = "serde_path_to_error" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" +dependencies = [ + "itoa", + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -5338,7 +5539,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.6", + "itoa", "ryu", "serde", ] @@ -5349,6 +5550,7 @@ version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" dependencies = [ + "base64 0.13.1", "serde", "serde_with_macros", ] @@ -5360,8 +5562,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" dependencies = [ "darling", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -5390,6 +5592,17 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sha-1" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" +dependencies = [ + "cfg-if 1.0.0", + "cpufeatures", + "digest 0.10.7", +] + [[package]] name = "sha1" version = "0.10.5" @@ -5490,7 +5703,7 @@ dependencies = [ "num-bigint 0.4.3", "num-traits", "thiserror", - "time 0.3.22", + "time 0.3.25", ] [[package]] @@ -5516,18 +5729,18 @@ checksum = "68a406c1882ed7f29cd5e248c9848a80e7cb6ae0fea82346d2746f2f941c07e1" [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg 1.1.0", ] [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "socket2" @@ -5539,6 +5752,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys", +] + [[package]] name = "soketto" version = "0.7.1" @@ -5600,9 +5823,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.5.9" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7911b0031a0247af40095838002999c7a52fba29d9739e93326e71a5a1bc9d43" +checksum = "551873805652ba0d912fec5bbb0f8b4cdd96baf8e2ebf5970e5671092966019b" dependencies = [ "sqlx-core", "sqlx-macros", @@ -5610,9 +5833,9 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.5.9" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aec89bfaca8f7737439bad16d52b07f1ccd0730520d3bf6ae9d069fe4b641fb1" +checksum = "e48c61941ccf5ddcada342cd59e3e5173b007c509e1e8e990dafc830294d9dc5" dependencies = [ "ahash 0.7.6", "atoi", @@ -5623,34 +5846,34 @@ dependencies = [ "bytes 1.4.0", "chrono", "crc", - "crossbeam-channel 0.5.8", "crossbeam-queue 0.3.8", - "crossbeam-utils 0.8.16", "dirs", "either", + "event-listener", "futures-channel", "futures-core", "futures-intrusive", "futures-util", "hashlink", "hex", - "hmac 0.11.0", + "hkdf", + "hmac 0.12.1", "indexmap 1.9.3", "ipnetwork", - "itoa 0.4.8", + "itoa", "libc", "log", "md-5", "memchr", "num-bigint 0.3.3", "once_cell", - "parking_lot 0.11.2", + "paste", "percent-encoding", "rand 0.8.5", "serde", "serde_json", - "sha-1 0.9.8", - "sha2 0.9.9", + "sha-1 0.10.1", + "sha2 0.10.6", "smallvec", "sqlformat", "sqlx-rt", @@ -5663,20 +5886,20 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.5.9" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "584866c833511b1a152e87a7ee20dee2739746f60c858b3c5209150bc4b466f5" +checksum = "bc0fba2b0cae21fc00fe6046f8baa4c7fcb49e379f0f592b04696607f69ed2e1" dependencies = [ "dotenv", "either", - "heck 0.3.3", + "heck 0.4.1", "hex", "once_cell", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "serde", "serde_json", - "sha2 0.9.9", + "sha2 0.10.6", "sqlx-core", "sqlx-rt", "syn 1.0.109", @@ -5703,9 +5926,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "stringprep" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" +checksum = "db3737bde7edce97102e0e2b15365bf7a20bfdb5f60f4f9e8d7004258a51a8da" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -5742,8 +5965,8 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -5763,8 +5986,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "rustversion", "syn 1.0.109", ] @@ -5792,19 +6015,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.22" +version = "2.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616" +checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "unicode-ident", ] @@ -5830,10 +6053,16 @@ dependencies = [ "sha2 0.10.6", "sha3 0.10.6", "smallvec", - "zk_evm", - "zkevm_opcode_defs", + "zk_evm 1.3.3", + "zkevm_opcode_defs 1.3.2", ] +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + [[package]] name = "tagptr" version = "0.2.0" @@ -5848,16 +6077,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.6.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ - "autocfg 1.1.0", "cfg-if 1.0.0", - "fastrand", + "fastrand 2.0.0", "redox_syscall 0.3.5", "rustix", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] @@ -5875,8 +6103,8 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9601d162c1d77e62c1ea0bc8116cd1caf143ce3af947536c3c9052a1677fe0c" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", + "proc-macro2 1.0.66", + "quote 1.0.33", "syn 1.0.109", ] @@ -5891,22 +6119,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -5919,6 +6147,26 @@ dependencies = [ "once_cell", ] +[[package]] +name = "tikv-jemalloc-sys" +version = "0.5.4+5.3.0-patched" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "tikv-jemallocator" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca" +dependencies = [ + "libc", + "tikv-jemalloc-sys", +] + [[package]] name = "time" version = "0.1.43" @@ -5931,11 +6179,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.22" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" dependencies = [ - "itoa 1.0.6", + "deranged", + "itoa", "serde", "time-core", "time-macros", @@ -5949,9 +6198,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -5991,11 +6240,11 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.28.2" +version = "1.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" +checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" dependencies = [ - "autocfg 1.1.0", + "backtrace", "bytes 1.4.0", "libc", "mio 0.8.8", @@ -6003,9 +6252,9 @@ dependencies = [ "parking_lot 0.12.1", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.5.3", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys", ] [[package]] @@ -6024,9 +6273,9 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -6117,9 +6366,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.19.11" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ "indexmap 2.0.0", "toml_datetime", @@ -6163,9 +6412,9 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757" dependencies = [ - "proc-macro2 1.0.63", + "proc-macro2 1.0.66", "prost-build", - "quote 1.0.28", + "quote 1.0.33", "syn 1.0.109", ] @@ -6192,13 +6441,13 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8bd22a874a2d0b70452d5597b12c537331d49060824a95f49f108994f94aa4c" +checksum = "55ae70283aba8d2a8b411c695c437fe25b8b5e44e23e780662002fc72fb47a82" dependencies = [ "async-compression", - "base64 0.20.0", - "bitflags 2.3.2", + "base64 0.21.2", + "bitflags 2.4.0", "bytes 1.4.0", "futures-core", "futures-util", @@ -6251,9 +6500,9 @@ version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", ] [[package]] @@ -6326,7 +6575,7 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", - "time 0.3.22", + "time 0.3.25", "tracing", "tracing-core", "tracing-log", @@ -6353,9 +6602,9 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "ucd-trie" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" [[package]] name = "uint" @@ -6380,9 +6629,9 @@ dependencies = [ [[package]] name = "unicase" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" dependencies = [ "version_check", ] @@ -6395,9 +6644,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -6458,16 +6707,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" dependencies = [ "form_urlencoded", - "idna 0.4.0", + "idna", "percent-encoding", "serde", ] [[package]] name = "urlencoding" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "utf8parse" @@ -6477,9 +6726,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.3.4" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa2982af2eec27de306107c027578ff7f423d65f7250e40ce0fea8f45248b81" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" dependencies = [ "getrandom 0.2.10", "serde", @@ -6512,7 +6761,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "vlog" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "chrono", "opentelemetry", @@ -6528,26 +6777,70 @@ dependencies = [ [[package]] name = "vm" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "anyhow", - "ethabi", + "ethabi 18.0.0", "hex", "itertools", "metrics", "once_cell", "thiserror", "vlog", - "zk_evm", - "zkevm-assembly", + "zk_evm 1.3.3", + "zkevm-assembly 1.3.2", "zksync_config", "zksync_contracts", - "zksync_eth_signer", "zksync_state", "zksync_types", "zksync_utils", ] +[[package]] +name = "vm_m5" +version = "0.1.0" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" +dependencies = [ + "hex", + "itertools", + "metrics", + "once_cell", + "thiserror", + "tracing", + "vlog", + "zk_evm 1.3.1", + "zksync_config", + "zksync_contracts", + "zksync_crypto", + "zksync_state", + "zksync_storage", + "zksync_types", + "zksync_utils", +] + +[[package]] +name = "vm_m6" +version = "0.1.0" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" +dependencies = [ + "hex", + "itertools", + "metrics", + "once_cell", + "thiserror", + "tracing", + "vlog", + "zk_evm 1.3.1", + "zkevm-assembly 1.3.1", + "zksync_config", + "zksync_contracts", + "zksync_crypto", + "zksync_state", + "zksync_storage", + "zksync_types", + "zksync_utils", +] + [[package]] name = "walkdir" version = "2.3.3" @@ -6604,9 +6897,9 @@ dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", "wasm-bindgen-shared", ] @@ -6628,7 +6921,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.28", + "quote 1.0.33", "wasm-bindgen-macro-support", ] @@ -6638,9 +6931,9 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.28", - "syn 2.0.22", + "proc-macro2 1.0.66", + "quote 1.0.33", + "syn 2.0.29", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6653,9 +6946,9 @@ checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasm-streams" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" +checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" dependencies = [ "futures-util", "js-sys", @@ -6676,21 +6969,21 @@ dependencies = [ [[package]] name = "web3" -version = "0.18.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44f258e254752d210b84fe117b31f1e3cc9cbf04c0d747eb7f8cf7cf5e370f6d" +checksum = "5388522c899d1e1c96a4c307e3797e0f697ba7c77dd8e0e625ecba9dd0342937" dependencies = [ "arrayvec 0.7.4", - "base64 0.13.1", + "base64 0.21.2", "bytes 1.4.0", "derive_more", - "ethabi", - "ethereum-types", + "ethabi 18.0.0", + "ethereum-types 0.14.1", "futures 0.3.28", "futures-timer", "headers", "hex", - "idna 0.2.3", + "idna", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "log", "once_cell", @@ -6698,40 +6991,27 @@ dependencies = [ "pin-project", "reqwest", "rlp", - "secp256k1 0.21.3", + "secp256k1 0.27.0", "serde", "serde_json", "tiny-keccak 2.0.2", "url", ] -[[package]] -name = "webpki" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888" dependencies = [ - "webpki", + "rustls-webpki", ] [[package]] name = "webpki-roots" -version = "0.23.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" -dependencies = [ - "rustls-webpki", -] +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "which" @@ -6746,9 +7026,9 @@ dependencies = [ [[package]] name = "whoami" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c70234412ca409cc04e864e89523cb0fc37f5e1344ebed5a3ebf4192b6b9f68" +checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50" dependencies = [ "wasm-bindgen", "web-sys", @@ -6806,21 +7086,6 @@ dependencies = [ "windows-targets", ] -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -6832,119 +7097,78 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_x86_64_gnu" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.4.7" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" +checksum = "d09770118a7eb1ccaf4a594a221334119a44a814fcb0d31c5b85e83e97227a97" dependencies = [ "memchr", ] [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi 0.3.9", + "cfg-if 1.0.0", + "windows-sys", ] [[package]] @@ -6963,12 +7187,38 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + [[package]] name = "zeroize" version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +[[package]] +name = "zk_evm" +version = "1.3.1" +source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.3.1#877ba31cc1d82316fd924e8d83a9f5f1a77b1b9a" +dependencies = [ + "blake2 0.10.6", + "k256", + "lazy_static", + "num 0.4.1", + "serde", + "serde_json", + "sha2 0.10.6", + "sha3 0.10.6", + "static_assertions", + "zkevm_opcode_defs 1.3.1", +] + [[package]] name = "zk_evm" version = "1.3.3" @@ -6976,12 +7226,12 @@ source = "git+https://github.com/matter-labs/era-zk_evm.git?branch=v1.3.3#c08a85 dependencies = [ "anyhow", "lazy_static", - "num 0.4.0", + "num 0.4.1", "serde", "serde_json", "static_assertions", "zk_evm_abstractions", - "zkevm_opcode_defs", + "zkevm_opcode_defs 1.3.2", ] [[package]] @@ -6992,37 +7242,66 @@ dependencies = [ "anyhow", "serde", "static_assertions", - "zkevm_opcode_defs", + "zkevm_opcode_defs 1.3.2", +] + +[[package]] +name = "zkevm-assembly" +version = "1.3.1" +source = "git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.3.1#dabbb07e84dd886ee90dde2b5dde0acbf9b0123a" +dependencies = [ + "env_logger 0.9.3", + "hex", + "lazy_static", + "log", + "nom", + "num-bigint 0.4.3", + "num-traits", + "sha3 0.10.6", + "smallvec", + "structopt", + "thiserror", + "zkevm_opcode_defs 1.3.1", ] [[package]] name = "zkevm-assembly" version = "1.3.2" -source = "git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.3.2#8a339104582d175627feba2bc4f176304b67b943" +source = "git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.3.2#edc364e59a2eea9c4b1d4ce79f15d0b7c6b55b98" dependencies = [ - "env_logger", + "env_logger 0.9.3", "hex", "lazy_static", "log", "nom", "num-bigint 0.4.3", "num-traits", - "regex", "sha3 0.10.6", "smallvec", "structopt", "thiserror", - "zkevm_opcode_defs", + "zkevm_opcode_defs 1.3.2", +] + +[[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#e33a7cc625bf40c42e41a730005dbc6fe8025279" +dependencies = [ + "bitflags 1.3.2", + "ethereum-types 0.14.1", + "lazy_static", + "sha2 0.10.6", ] [[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#2f69c6975a272e8c31d2d82c136a4ea81df25115" +source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.3.2#2147cca9dce12749149739f6c750f66c2c43a055" dependencies = [ - "bitflags 2.3.2", + "bitflags 2.4.0", "blake2 0.10.6", - "ethereum-types", + "ethereum-types 0.14.1", "k256", "lazy_static", "sha2 0.10.6", @@ -7039,7 +7318,7 @@ dependencies = [ "codegen 0.2.0", "crossbeam 0.8.2", "derivative", - "env_logger", + "env_logger 0.10.0", "hex", "num-bigint 0.4.3", "num-integer", @@ -7052,14 +7331,14 @@ dependencies = [ "sync_vm", "test-log", "tracing", - "zk_evm", - "zkevm-assembly", + "zk_evm 1.3.3", + "zkevm-assembly 1.3.2", ] [[package]] name = "zksync_basic_types" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "serde", "web3", @@ -7068,15 +7347,13 @@ dependencies = [ [[package]] name = "zksync_circuit_breaker" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ - "assert_matches", "async-trait", "backon", "convert_case 0.6.0", "futures 0.3.28", "hex", - "serde", "serde_json", "thiserror", "tokio", @@ -7085,14 +7362,12 @@ dependencies = [ "zksync_dal", "zksync_eth_client", "zksync_types", - "zksync_utils", - "zksync_verification_key_generator_and_server", ] [[package]] name = "zksync_config" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "bigdecimal", "envy", @@ -7109,9 +7384,9 @@ dependencies = [ [[package]] name = "zksync_contracts" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ - "ethabi", + "ethabi 18.0.0", "hex", "once_cell", "serde", @@ -7122,22 +7397,22 @@ dependencies = [ [[package]] name = "zksync_core" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "actix-cors", "actix-rt", "actix-web", "anyhow", "async-trait", + "axum", "bigdecimal", "bitflags 1.3.2", "chrono", - "clap 4.3.8", + "clap 4.3.23", "ctrlc", "futures 0.3.28", "governor", "hex", - "hyper", "itertools", "jsonrpc-core 18.0.0 (git+https://github.com/matter-labs/jsonrpc.git?branch=master)", "jsonrpc-core-client", @@ -7146,6 +7421,7 @@ dependencies = [ "jsonrpc-pubsub", "jsonrpc-ws-server", "metrics", + "multivm", "num 0.3.1", "prometheus_exporter", "rand 0.8.5", @@ -7153,6 +7429,7 @@ dependencies = [ "serde", "serde_json", "thiserror", + "tikv-jemallocator", "tokio", "tower", "tower-http", @@ -7183,13 +7460,12 @@ dependencies = [ [[package]] name = "zksync_crypto" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "base64 0.13.1", "blake2 0.10.6", "hex", "once_cell", - "rand 0.4.6", "serde", "sha2 0.9.9", "thiserror", @@ -7199,7 +7475,7 @@ dependencies = [ [[package]] name = "zksync_dal" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "anyhow", "bigdecimal", @@ -7209,6 +7485,7 @@ dependencies = [ "metrics", "num 0.3.1", "once_cell", + "serde", "serde_json", "sqlx", "strum", @@ -7225,14 +7502,13 @@ dependencies = [ [[package]] name = "zksync_eth_client" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "anyhow", "async-trait", "hex", "jsonrpc-core 18.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "metrics", - "parity-crypto", "serde", "thiserror", "tokio", @@ -7246,7 +7522,7 @@ dependencies = [ [[package]] name = "zksync_eth_signer" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "async-trait", "hex", @@ -7254,7 +7530,7 @@ dependencies = [ "parity-crypto", "reqwest", "rlp", - "secp256k1 0.21.3", + "secp256k1 0.27.0", "serde", "serde_derive", "serde_json", @@ -7265,15 +7541,19 @@ dependencies = [ [[package]] name = "zksync_health_check" version = "0.1.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "async-trait", + "futures 0.3.28", + "serde", + "serde_json", + "tokio", ] [[package]] name = "zksync_mempool" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "metrics", "vlog", @@ -7283,7 +7563,7 @@ dependencies = [ [[package]] name = "zksync_merkle_tree" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "leb128", "metrics", @@ -7299,7 +7579,7 @@ dependencies = [ [[package]] name = "zksync_mini_merkle_tree" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "once_cell", "zksync_basic_types", @@ -7309,7 +7589,7 @@ dependencies = [ [[package]] name = "zksync_object_store" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "async-trait", "bincode", @@ -7326,14 +7606,16 @@ dependencies = [ [[package]] name = "zksync_prover_utils" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ + "async-trait", "ctrlc", "futures 0.3.28", "metrics", "regex", "reqwest", "tokio", + "toml_edit 0.14.4", "vlog", "zksync_config", "zksync_utils", @@ -7342,19 +7624,18 @@ dependencies = [ [[package]] name = "zksync_queued_job_processor" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "async-trait", "tokio", "vlog", - "zksync_dal", "zksync_utils", ] [[package]] name = "zksync_state" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "metrics", "mini-moka", @@ -7368,7 +7649,7 @@ dependencies = [ [[package]] name = "zksync_storage" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "metrics", "num_cpus", @@ -7379,14 +7660,15 @@ dependencies = [ [[package]] name = "zksync_types" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ - "bigdecimal", "blake2 0.10.6", "chrono", "codegen 0.1.0", + "ethereum-types 0.12.1", "metrics", "num 0.3.1", + "num_enum", "once_cell", "parity-crypto", "rlp", @@ -7395,8 +7677,7 @@ dependencies = [ "serde_with", "strum", "thiserror", - "zk_evm", - "zkevm-assembly", + "zk_evm 1.3.3", "zkevm_test_harness", "zksync_basic_types", "zksync_config", @@ -7408,7 +7689,7 @@ dependencies = [ [[package]] name = "zksync_utils" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "anyhow", "bigdecimal", @@ -7423,31 +7704,32 @@ dependencies = [ "thiserror", "tokio", "vlog", - "zk_evm", + "zk_evm 1.3.3", "zksync_basic_types", ] [[package]] name = "zksync_verification_key_generator_and_server" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "bincode", "circuit_testing", "ff_ce", "hex", "itertools", + "once_cell", "serde_json", "structopt", - "toml_edit 0.14.4", "vlog", + "zksync_prover_utils", "zksync_types", ] [[package]] name = "zksync_web3_decl" version = "1.0.0" -source = "git+https://github.com/matter-labs/zksync-era.git?rev=e575ec101fe88627ab541a52464ab5025c16e6b4#e575ec101fe88627ab541a52464ab5025c16e6b4" +source = "git+https://github.com/matter-labs/zksync-era.git?rev=a98e454221da7d6ecad9b317cf44b0786e819659#a98e454221da7d6ecad9b317cf44b0786e819659" dependencies = [ "bigdecimal", "chrono", @@ -7462,37 +7744,18 @@ dependencies = [ [[package]] name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe 5.0.2+zstd.1.5.2", -] - -[[package]] -name = "zstd" -version = "0.12.3+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806" -dependencies = [ - "zstd-safe 6.0.5+zstd.1.5.4", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" dependencies = [ - "libc", - "zstd-sys", + "zstd-safe", ] [[package]] name = "zstd-safe" -version = "6.0.5+zstd.1.5.4" +version = "6.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" dependencies = [ "libc", "zstd-sys", diff --git a/Cargo.toml b/Cargo.toml index 7f02d923..0817de94 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,15 +11,15 @@ categories = ["cryptography"] publish = false # We don't want to publish our binaries. [dependencies] -zksync_basic_types = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e575ec101fe88627ab541a52464ab5025c16e6b4" } -zksync_core = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e575ec101fe88627ab541a52464ab5025c16e6b4" } -vm = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e575ec101fe88627ab541a52464ab5025c16e6b4" } -vlog = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e575ec101fe88627ab541a52464ab5025c16e6b4" } -zksync_contracts = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e575ec101fe88627ab541a52464ab5025c16e6b4" } -zksync_types = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e575ec101fe88627ab541a52464ab5025c16e6b4" } -zksync_utils = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e575ec101fe88627ab541a52464ab5025c16e6b4" } -zksync_state = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e575ec101fe88627ab541a52464ab5025c16e6b4" } -zksync_web3_decl = { git = "https://github.com/matter-labs/zksync-era.git", rev = "e575ec101fe88627ab541a52464ab5025c16e6b4" } +zksync_basic_types = { git = "https://github.com/matter-labs/zksync-era.git", rev = "a98e454221da7d6ecad9b317cf44b0786e819659" } +zksync_core = { git = "https://github.com/matter-labs/zksync-era.git", rev = "a98e454221da7d6ecad9b317cf44b0786e819659" } +vm = { git = "https://github.com/matter-labs/zksync-era.git", rev = "a98e454221da7d6ecad9b317cf44b0786e819659" } +vlog = { git = "https://github.com/matter-labs/zksync-era.git", rev = "a98e454221da7d6ecad9b317cf44b0786e819659" } +zksync_contracts = { git = "https://github.com/matter-labs/zksync-era.git", rev = "a98e454221da7d6ecad9b317cf44b0786e819659" } +zksync_types = { git = "https://github.com/matter-labs/zksync-era.git", rev = "a98e454221da7d6ecad9b317cf44b0786e819659" } +zksync_utils = { git = "https://github.com/matter-labs/zksync-era.git", rev = "a98e454221da7d6ecad9b317cf44b0786e819659" } +zksync_state = { git = "https://github.com/matter-labs/zksync-era.git", rev = "a98e454221da7d6ecad9b317cf44b0786e819659" } +zksync_web3_decl = { git = "https://github.com/matter-labs/zksync-era.git", rev = "a98e454221da7d6ecad9b317cf44b0786e819659" } anyhow = "1.0" tokio = { version = "1", features = ["time", "rt"] } diff --git a/src/configuration_api.rs b/src/configuration_api.rs index 2afcb404..e3ab9ac9 100644 --- a/src/configuration_api.rs +++ b/src/configuration_api.rs @@ -8,14 +8,14 @@ use jsonrpc_derive::rpc; // Workspace uses // Local uses -use crate::{node::InMemoryNodeInner, ShowCalls, ShowStorageLogs, ShowVMDetails}; +use crate::{node::InMemoryNodeInner, node::ShowCalls, node::ShowStorageLogs, node::ShowVMDetails}; -pub struct ConfigurationApiNamespace { - node: Arc>, +pub struct ConfigurationApiNamespace { + node: Arc>>, } -impl ConfigurationApiNamespace { - pub fn new(node: Arc>) -> Self { +impl ConfigurationApiNamespace { + pub fn new(node: Arc>>) -> Self { Self { node } } } @@ -70,7 +70,9 @@ pub trait ConfigurationApiNamespaceT { fn config_set_resolve_hashes(&self, value: bool) -> Result; } -impl ConfigurationApiNamespaceT for ConfigurationApiNamespace { +impl ConfigurationApiNamespaceT + for ConfigurationApiNamespace +{ fn config_get_show_calls(&self) -> Result { let reader = self.node.read().unwrap(); Ok(reader.show_calls.to_string()) diff --git a/src/console_log.rs b/src/console_log.rs index ddb9c465..c56fc62c 100644 --- a/src/console_log.rs +++ b/src/console_log.rs @@ -68,6 +68,6 @@ impl ConsoleLogHandler { tokens.iter().map(|t| format!("{}", t)).join(" ") }) }); - println!("{}", message.to_string().cyan()); + println!("{}", message.cyan()); } } diff --git a/src/fork.rs b/src/fork.rs index 12c81178..9e7d3ba3 100644 --- a/src/fork.rs +++ b/src/fork.rs @@ -11,10 +11,10 @@ use std::{ }; use tokio::runtime::Builder; -use zksync_basic_types::{L1BatchNumber, L2ChainId, MiniblockNumber, H256, U64}; +use zksync_basic_types::{Address, L1BatchNumber, L2ChainId, MiniblockNumber, H256, U256, U64}; use zksync_types::{ - api::{BlockIdVariant, BlockNumber}, + api::{BlockIdVariant, BlockNumber, Transaction}, l2::L2Tx, StorageKey, }; @@ -25,9 +25,9 @@ use zksync_utils::{bytecode::hash_bytecode, h256_to_u256}; use zksync_web3_decl::{jsonrpsee::http_client::HttpClient, namespaces::EthNamespaceClient}; use zksync_web3_decl::{jsonrpsee::http_client::HttpClientBuilder, namespaces::ZksNamespaceClient}; -use crate::deps::InMemoryStorage; use crate::deps::ReadStorage as RS; use crate::node::TEST_NODE_NETWORK_ID; +use crate::{deps::InMemoryStorage, http_fork_source::HttpForkSource}; pub fn block_on(future: F) -> F::Output where @@ -46,14 +46,15 @@ where /// In memory storage, that allows 'forking' from other network. /// If forking is enabled, it reads missing data from remote location. +/// S - is a struct that is used for source of the fork. #[derive(Debug)] -pub struct ForkStorage { - pub inner: Arc>, +pub struct ForkStorage { + pub inner: Arc>>, pub chain_id: L2ChainId, } #[derive(Debug)] -pub struct ForkStorageInner { +pub struct ForkStorageInner { // Underlying local storage pub raw_storage: InMemoryStorage, // Cache of data that was read from remote location. @@ -62,11 +63,11 @@ pub struct ForkStorageInner { pub factory_dep_cache: HashMap>>, // If set - it hold the necessary information on where to fetch the data. // If not set - it will simply read from underlying storage. - pub fork: Option, + pub fork: Option>, } -impl ForkStorage { - pub fn new(fork: Option, dev_use_local_contracts: bool) -> Self { +impl ForkStorage { + pub fn new(fork: Option>, dev_use_local_contracts: bool) -> Self { let chain_id = fork .as_ref() .and_then(|d| d.overwrite_chain_id) @@ -100,23 +101,19 @@ impl ForkStorage { if let Some(value) = mutator.value_read_cache.get(key) { return *value; } - let fork_ = (*fork).clone(); + let l2_miniblock = fork.l2_miniblock; let key_ = *key; - let client = fork.create_client(); - - let result = block_on(async move { - client - .get_storage_at( - *key_.account().address(), - h256_to_u256(*key_.key()), - Some(BlockIdVariant::BlockNumber(BlockNumber::Number(U64::from( - fork_.l2_miniblock, - )))), - ) - .await - }) - .unwrap(); + let result = fork + .fork_source + .get_storage_at( + *key_.account().address(), + h256_to_u256(*key_.key()), + Some(BlockIdVariant::BlockNumber(BlockNumber::Number(U64::from( + l2_miniblock, + )))), + ) + .unwrap(); mutator.value_read_cache.insert(*key, result); result @@ -136,8 +133,7 @@ impl ForkStorage { return value.clone(); } - let client = fork.create_client(); - let result = block_on(async move { client.get_bytecode_by_hash(hash).await }).unwrap(); + let result = fork.fork_source.get_bytecode_by_hash(hash).unwrap(); mutator.factory_dep_cache.insert(hash, result.clone()); result } else { @@ -146,7 +142,7 @@ impl ForkStorage { } } -impl ReadStorage for ForkStorage { +impl ReadStorage for ForkStorage { fn is_write_initial(&mut self, key: &StorageKey) -> bool { let mut mutator = self.inner.write().unwrap(); mutator.raw_storage.is_write_initial(key) @@ -161,7 +157,7 @@ impl ReadStorage for ForkStorage { } } -impl ReadStorage for &ForkStorage { +impl ReadStorage for &ForkStorage { fn read_value(&mut self, key: &StorageKey) -> zksync_types::StorageValue { self.read_value_internal(key) } @@ -176,7 +172,7 @@ impl ReadStorage for &ForkStorage { } } -impl ForkStorage { +impl ForkStorage { pub fn set_value(&mut self, key: StorageKey, value: zksync_types::StorageValue) { let mut mutator = self.inner.write().unwrap(); mutator.raw_storage.set_value(key, value) @@ -187,11 +183,36 @@ impl ForkStorage { } } +/// Trait that provides necessary data when +/// forking a remote chain. +/// The method signatures are similar to methods from ETHNamespace and ZKNamespace. +pub trait ForkSource { + /// Returns the Storage value at a given index for given address. + fn get_storage_at( + &self, + address: Address, + idx: U256, + block: Option, + ) -> eyre::Result; + + /// Returns the bytecode stored under this hash (if available). + fn get_bytecode_by_hash(&self, hash: H256) -> eyre::Result>>; + /// Returns the transaction for a given hash. + fn get_transaction_by_hash(&self, hash: H256) -> eyre::Result>; + + /// Gets all transactions that belong to a given miniblock. + fn get_raw_block_transactions( + &self, + block_number: MiniblockNumber, + ) -> eyre::Result>; +} + /// Holds the information about the original chain. +/// "S" is the implementation of the ForkSource. #[derive(Debug, Clone)] -pub struct ForkDetails { - // URL to the server. - pub fork_url: String, +pub struct ForkDetails { + // Source of the fork data (for example HTTPForkSoruce) + pub fork_source: S, // Block number at which we forked (the next block to create is l1_block + 1) pub l1_block: L1BatchNumber, pub l2_miniblock: u64, @@ -200,7 +221,7 @@ pub struct ForkDetails { pub l1_gas_price: u64, } -impl ForkDetails { +impl ForkDetails { pub async fn from_url_and_miniblock_and_chain( url: &str, client: HttpClient, @@ -217,19 +238,20 @@ impl ForkDetails { println!( "Creating fork from {:?} L1 block: {:?} L2 block: {:?} with timestamp {:?} and L1 gas price {:?}", - url, l1_batch_number, miniblock, block_details.timestamp, block_details.l1_gas_price, + url, l1_batch_number, miniblock, block_details.base.timestamp, block_details.base.l1_gas_price, ); ForkDetails { - fork_url: url.to_owned(), + fork_source: HttpForkSource { + fork_url: url.to_owned(), + }, l1_block: l1_batch_number, - block_timestamp: block_details.timestamp, + block_timestamp: block_details.base.timestamp, l2_miniblock: miniblock, overwrite_chain_id: chain_id, - l1_gas_price: block_details.l1_gas_price, + l1_gas_price: block_details.base.l1_gas_price, } } - /// Create a fork from a given network at a given height. pub async fn from_network(fork: &str, fork_at: Option) -> Self { let (url, client) = Self::fork_to_url_and_client(fork); @@ -253,7 +275,9 @@ impl ForkDetails { Self::from_url_and_miniblock_and_chain(url, client, l2_miniblock, overwrite_chain_id).await } +} +impl ForkDetails { /// Return URL and HTTP client for a given fork name. pub fn fork_to_url_and_client(fork: &str) -> (&str, HttpClient) { let url = match fork { @@ -271,18 +295,19 @@ impl ForkDetails { /// Returns transactions that are in the same L2 miniblock as replay_tx, but were executed before it. pub async fn get_earlier_transactions_in_same_block(&self, replay_tx: H256) -> Vec { - let client = self.create_client(); - - let tx_details = client + let tx_details = self + .fork_source .get_transaction_by_hash(replay_tx) - .await .unwrap() .unwrap(); let miniblock = MiniblockNumber(tx_details.block_number.unwrap().as_u32()); // And we're fetching all the transactions from this miniblock. - let block_transactions: Vec = - client.get_raw_block_transactions(miniblock).await.unwrap(); + let block_transactions = self + .fork_source + .get_raw_block_transactions(miniblock) + .unwrap(); + let mut tx_to_apply = Vec::new(); for tx in block_transactions { @@ -299,10 +324,4 @@ impl ForkDetails { replay_tx, miniblock ); } - - pub fn create_client(&self) -> HttpClient { - HttpClientBuilder::default() - .build(self.fork_url.clone()) - .expect("Unable to create a client for fork") - } } diff --git a/src/formatter.rs b/src/formatter.rs index a907c7e3..d6beb68d 100644 --- a/src/formatter.rs +++ b/src/formatter.rs @@ -1,5 +1,5 @@ //! Helper methods to display transaction data in more human readable way. -use crate::{resolver, ShowCalls}; +use crate::{node::ShowCalls, resolver}; use colored::Colorize; use serde::Deserialize; @@ -136,7 +136,7 @@ pub fn print_call(call: &Call, padding: usize, show_calls: &ShowCalls, resolve_h call.r#type, address_to_human_readable(call.to) .map(|x| format!("{:<52}", x)) - .unwrap_or(format!("{:<52}", format!("{:?}", call.to).bold()).to_string()), + .unwrap_or(format!("{:<52}", format!("{:?}", call.to).bold())), function_signature, call.revert_reason .as_ref() diff --git a/src/http_fork_source.rs b/src/http_fork_source.rs new file mode 100644 index 00000000..d71f0eb1 --- /dev/null +++ b/src/http_fork_source.rs @@ -0,0 +1,62 @@ +use eyre::Context; +use zksync_web3_decl::{ + jsonrpsee::http_client::{HttpClient, HttpClientBuilder}, + namespaces::{EthNamespaceClient, ZksNamespaceClient}, +}; + +use crate::fork::{block_on, ForkSource}; + +#[derive(Debug)] +/// Fork source that gets the data via HTTP requests. +pub struct HttpForkSource { + /// URL for the network to fork. + pub fork_url: String, +} + +impl HttpForkSource { + pub fn create_client(&self) -> HttpClient { + HttpClientBuilder::default() + .build(self.fork_url.clone()) + .unwrap_or_else(|_| panic!("Unable to create a client for fork: {}", self.fork_url)) + } +} + +impl ForkSource for HttpForkSource { + fn get_storage_at( + &self, + address: zksync_basic_types::Address, + idx: zksync_basic_types::U256, + block: Option, + ) -> eyre::Result { + let client = self.create_client(); + block_on(async move { client.get_storage_at(address, idx, block).await }) + .wrap_err("fork http client failed") + } + + fn get_bytecode_by_hash( + &self, + hash: zksync_basic_types::H256, + ) -> eyre::Result>> { + let client = self.create_client(); + block_on(async move { client.get_bytecode_by_hash(hash).await }) + .wrap_err("fork http client failed") + } + + fn get_transaction_by_hash( + &self, + hash: zksync_basic_types::H256, + ) -> eyre::Result> { + let client = self.create_client(); + block_on(async move { client.get_transaction_by_hash(hash).await }) + .wrap_err("fork http client failed") + } + + fn get_raw_block_transactions( + &self, + block_number: zksync_basic_types::MiniblockNumber, + ) -> eyre::Result> { + let client = self.create_client(); + block_on(async move { client.get_raw_block_transactions(block_number).await }) + .wrap_err("fork http client failed") + } +} diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 00000000..1796fa15 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,10 @@ +pub mod configuration_api; +pub mod console_log; +pub mod deps; +pub mod fork; +pub mod formatter; +pub mod http_fork_source; +pub mod node; +pub mod resolver; +pub mod utils; +pub mod zks; diff --git a/src/main.rs b/src/main.rs index c5b62766..b860430f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -42,9 +42,11 @@ //! //! Contributions to improve `era-test-node` are welcome. Please refer to the contribution guidelines for more details. +use crate::node::{ShowStorageLogs, ShowVMDetails}; use clap::{Parser, Subcommand}; use configuration_api::ConfigurationApiNamespaceT; -use fork::ForkDetails; +use fork::{ForkDetails, ForkSource}; +use node::ShowCalls; use zks::ZkMockNamespaceImpl; mod configuration_api; @@ -52,12 +54,12 @@ mod console_log; mod deps; mod fork; mod formatter; +mod http_fork_source; mod node; mod resolver; mod utils; mod zks; -use core::fmt::Display; use node::InMemoryNode; use zksync_core::api_server::web3::namespaces::NetNamespace; @@ -127,12 +129,14 @@ pub const RICH_WALLETS: [(&str, &str); 10] = [ ), ]; -async fn build_json_http( +async fn build_json_http< + S: std::marker::Sync + std::marker::Send + 'static + ForkSource + std::fmt::Debug, +>( addr: SocketAddr, - node: InMemoryNode, + node: InMemoryNode, net: NetNamespace, - config_api: ConfigurationApiNamespace, - zks: ZkMockNamespaceImpl, + config_api: ConfigurationApiNamespace, + zks: ZkMockNamespaceImpl, ) -> tokio::task::JoinHandle<()> { let (sender, recv) = oneshot::channel::<()>(); @@ -194,86 +198,6 @@ struct Cli { dev_use_local_contracts: bool, } -#[derive(Debug, Parser, Clone, clap::ValueEnum, PartialEq, Eq)] -pub enum ShowCalls { - None, - User, - System, - All, -} - -impl FromStr for ShowCalls { - type Err = (); - - fn from_str(s: &str) -> Result { - match s.to_lowercase().as_ref() { - "none" => Ok(ShowCalls::None), - "user" => Ok(ShowCalls::User), - "system" => Ok(ShowCalls::System), - "all" => Ok(ShowCalls::All), - _ => Err(()), - } - } -} - -impl Display for ShowCalls { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { - write!(f, "{:?}", self) - } -} - -#[derive(Debug, Parser, Clone, clap::ValueEnum, PartialEq, Eq)] -pub enum ShowStorageLogs { - None, - Read, - Write, - All, -} - -impl FromStr for ShowStorageLogs { - type Err = (); - - fn from_str(s: &str) -> Result { - match s.to_lowercase().as_ref() { - "none" => Ok(ShowStorageLogs::None), - "read" => Ok(ShowStorageLogs::Read), - "write" => Ok(ShowStorageLogs::Write), - "all" => Ok(ShowStorageLogs::All), - _ => Err(()), - } - } -} - -impl Display for ShowStorageLogs { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { - write!(f, "{:?}", self) - } -} - -#[derive(Debug, Parser, Clone, clap::ValueEnum, PartialEq, Eq)] -pub enum ShowVMDetails { - None, - All, -} - -impl FromStr for ShowVMDetails { - type Err = (); - - fn from_str(s: &str) -> Result { - match s.to_lowercase().as_ref() { - "none" => Ok(ShowVMDetails::None), - "all" => Ok(ShowVMDetails::All), - _ => Err(()), - } - } -} - -impl Display for ShowVMDetails { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { - write!(f, "{:?}", self) - } -} - #[derive(Debug, Subcommand)] enum Command { /// Starts a new empty local network. diff --git a/src/node.rs b/src/node.rs index 832aae20..6227ec4a 100644 --- a/src/node.rs +++ b/src/node.rs @@ -2,20 +2,22 @@ use crate::{ console_log::ConsoleLogHandler, deps::system_contracts::bytecode_from_slice, - fork::{ForkDetails, ForkStorage}, + fork::{ForkDetails, ForkSource, ForkStorage}, formatter, utils::{adjust_l1_gas_price_for_tx, derive_gas_estimation_overhead, IntoBoxedFuture}, - ShowCalls, ShowStorageLogs, ShowVMDetails, }; +use clap::Parser; use colored::Colorize; +use core::fmt::Display; use futures::FutureExt; use jsonrpc_core::BoxFuture; use std::{ cmp::{self}, collections::HashMap, - convert::TryInto, + str::FromStr, sync::{Arc, RwLock}, }; + use vm::{ utils::{BLOCK_GAS_LIMIT, ETH_CALL_GAS_LIMIT}, vm::VmTxExecutionResult, @@ -39,7 +41,7 @@ use zksync_types::{ fee::Fee, get_code_key, get_nonce_key, l2::L2Tx, - transaction_request::{l2_tx_from_call_req, TransactionRequest}, + transaction_request::TransactionRequest, tx::tx_execution_info::TxExecutionStatus, utils::{ decompose_full_nonce, nonces_to_full_nonce, storage_key_for_eth_balance, @@ -58,7 +60,7 @@ use zksync_utils::{ }; use zksync_web3_decl::{ error::Web3Error, - types::{Filter, FilterChanges}, + types::{FeeHistory, Filter, FilterChanges}, }; /// Max possible size of an ABI encoded tx (in bytes). @@ -98,8 +100,98 @@ pub struct TxExecutionInfo { pub result: VmTxExecutionResult, } +#[derive(Debug, clap::Parser, Clone, clap::ValueEnum, PartialEq, Eq)] +pub enum ShowCalls { + None, + User, + System, + All, +} + +impl FromStr for ShowCalls { + type Err = String; + + fn from_str(s: &str) -> Result { + match s.to_lowercase().as_ref() { + "none" => Ok(ShowCalls::None), + "user" => Ok(ShowCalls::User), + "system" => Ok(ShowCalls::System), + "all" => Ok(ShowCalls::All), + _ => Err(format!( + "Unknown ShowCalls value {} - expected one of none|user|system|all.", + s + )), + } + } +} + +impl Display for ShowCalls { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { + write!(f, "{:?}", self) + } +} + +#[derive(Debug, Parser, Clone, clap::ValueEnum, PartialEq, Eq)] +pub enum ShowStorageLogs { + None, + Read, + Write, + All, +} + +impl FromStr for ShowStorageLogs { + type Err = String; + + fn from_str(s: &str) -> Result { + match s.to_lowercase().as_ref() { + "none" => Ok(ShowStorageLogs::None), + "read" => Ok(ShowStorageLogs::Read), + "write" => Ok(ShowStorageLogs::Write), + "all" => Ok(ShowStorageLogs::All), + _ => Err(format!( + "Unknown ShowStorageLogs value {} - expected one of none|read|write|all.", + s + )), + } + } +} + +impl Display for ShowStorageLogs { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { + write!(f, "{:?}", self) + } +} + +#[derive(Debug, Parser, Clone, clap::ValueEnum, PartialEq, Eq)] +pub enum ShowVMDetails { + None, + All, +} + +impl FromStr for ShowVMDetails { + type Err = String; + + fn from_str(s: &str) -> Result { + match s.to_lowercase().as_ref() { + "none" => Ok(ShowVMDetails::None), + "all" => Ok(ShowVMDetails::All), + _ => Err(format!( + "Unknown ShowVMDetails value {} - expected one of none|all.", + s + )), + } + } +} + +impl Display for ShowVMDetails { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { + write!(f, "{:?}", self) + } +} + /// Helper struct for InMemoryNode. -pub struct InMemoryNodeInner { +/// S - is the Source of the Fork. +pub struct InMemoryNodeInner { /// Timestamp, batch number and miniblock number that will be used by the next block. pub current_timestamp: u64, pub current_batch: u32, @@ -110,7 +202,7 @@ pub struct InMemoryNodeInner { // Map from batch number to information about the block. pub blocks: HashMap, // Underlying storage - pub fork_storage: ForkStorage, + pub fork_storage: ForkStorage, // Debug level information. pub show_calls: ShowCalls, // Displays storage logs. @@ -133,7 +225,7 @@ type L2TxResult = ( HashMap>, ); -impl InMemoryNodeInner { +impl InMemoryNodeInner { fn create_block_context(&self) -> BlockContext { BlockContext { block_number: self.current_batch, @@ -164,7 +256,7 @@ impl InMemoryNodeInner { &self, req: zksync_types::transaction_request::CallRequest, ) -> jsonrpc_core::Result { - let mut l2_tx = match l2_tx_from_call_req(req, MAX_TX_SIZE) { + let mut l2_tx = match L2Tx::from_request(req.into(), MAX_TX_SIZE) { Ok(tx) => tx, Err(e) => { let error = Web3Error::SerializationError(e); @@ -289,23 +381,20 @@ impl InMemoryNodeInner { match estimate_gas_result { Err(tx_revert_reason) => { - println!("{}", format!("Unable to estimate gas for the request with our suggested gas limit of {}. The transaction is most likely unexecutable. Breakdown of estimation:", suggested_gas_limit + overhead).to_string().red()); + println!("{}", format!("Unable to estimate gas for the request with our suggested gas limit of {}. The transaction is most likely unexecutable. Breakdown of estimation:", suggested_gas_limit + overhead).red()); println!( "{}", format!( "\tEstimated transaction body gas cost: {}", tx_body_gas_limit ) - .to_string() .red() ); println!( "{}", - format!("\tGas for pubdata: {}", gas_for_bytecodes_pubdata) - .to_string() - .red() + format!("\tGas for pubdata: {}", gas_for_bytecodes_pubdata).red() ); - println!("{}", format!("\tOverhead: {}", overhead).to_string().red()); + println!("{}", format!("\tOverhead: {}", overhead).red()); let message = tx_revert_reason.to_string(); let data = match tx_revert_reason { TxRevertReason::EthCall(vm_revert_reason) => vm_revert_reason.encoded_data(), @@ -334,16 +423,13 @@ impl InMemoryNodeInner { "\tEstimated transaction body gas cost: {}", tx_body_gas_limit ) - .to_string() .red() ); println!( "{}", - format!("\tGas for pubdata: {}", gas_for_bytecodes_pubdata) - .to_string() - .red() + format!("\tGas for pubdata: {}", gas_for_bytecodes_pubdata).red() ); - println!("{}", format!("\tOverhead: {}", overhead).to_string().red()); + println!("{}", format!("\tOverhead: {}", overhead).red()); return Err(into_jsrpc_error(Web3Error::SubmitTransactionError( "exceeds block gas limit".into(), Default::default(), @@ -371,7 +457,7 @@ impl InMemoryNodeInner { l1_gas_price: u64, base_fee: u64, mut block_context: BlockContext, - fork_storage: &ForkStorage, + fork_storage: &ForkStorage, bootloader_code: &BaseSystemContracts, ) -> Result { let tx: Transaction = l2_tx.clone().into(); @@ -413,7 +499,7 @@ impl InMemoryNodeInner { base_fee, }; - let block_properties = InMemoryNodeInner::create_block_properties(bootloader_code); + let block_properties = InMemoryNodeInner::::create_block_properties(bootloader_code); let execution_mode = TxExecutionMode::EstimateFee { missed_storage_invocation_limit: 1000000, @@ -457,8 +543,8 @@ fn not_implemented( /// In-memory node, that can be used for local & unit testing. /// It also supports the option of forking testnet/mainnet. /// All contents are removed when object is destroyed. -pub struct InMemoryNode { - inner: Arc>, +pub struct InMemoryNode { + inner: Arc>>, } fn bsc_load_with_bootloader( @@ -542,22 +628,22 @@ fn contract_address_from_tx_result(execution_result: &VmTxExecutionResult) -> Op None } -impl Default for InMemoryNode { +impl Default for InMemoryNode { fn default() -> Self { InMemoryNode::new( None, - crate::ShowCalls::None, - crate::ShowStorageLogs::None, - crate::ShowVMDetails::None, + crate::node::ShowCalls::None, + ShowStorageLogs::None, + ShowVMDetails::None, false, false, ) } } -impl InMemoryNode { +impl InMemoryNode { pub fn new( - fork: Option, + fork: Option>, show_calls: ShowCalls, show_storage_logs: ShowStorageLogs, show_vm_details: ShowVMDetails, @@ -592,7 +678,7 @@ impl InMemoryNode { } } - pub fn get_inner(&self) -> Arc> { + pub fn get_inner(&self) -> Arc>> { self.inner.clone() } @@ -648,7 +734,7 @@ impl InMemoryNode { let bootloader_code = &inner.playground_contracts; let block_context = inner.create_block_context(); - let block_properties = InMemoryNodeInner::create_block_properties(bootloader_code); + let block_properties = InMemoryNodeInner::::create_block_properties(bootloader_code); // init vm let mut vm = init_vm_inner( @@ -708,7 +794,7 @@ impl InMemoryNode { }; let block_context = inner.create_block_context(); - let block_properties = InMemoryNodeInner::create_block_properties(bootloader_code); + let block_properties = InMemoryNodeInner::::create_block_properties(bootloader_code); let block = BlockInfo { batch_number: block_context.block_number, @@ -873,7 +959,7 @@ impl InMemoryNode { } } -impl EthNamespaceT for InMemoryNode { +impl EthNamespaceT for InMemoryNode { /// Returns the chain ID of the node. fn chain_id(&self) -> jsonrpc_core::BoxFuture> { match self.inner.read() { @@ -897,7 +983,7 @@ impl EthNamespaceT for InMemoryNode { req: zksync_types::transaction_request::CallRequest, _block: Option, ) -> jsonrpc_core::BoxFuture> { - match l2_tx_from_call_req(req, MAX_TX_SIZE) { + match L2Tx::from_request(req.into(), MAX_TX_SIZE) { Ok(mut tx) => { tx.common_data.fee.gas_limit = ETH_CALL_GAS_LIMIT.into(); let result = self.run_l2_call(tx); @@ -938,8 +1024,9 @@ impl EthNamespaceT for InMemoryNode { .into_boxed_future(), }, Err(e) => { - let error = - Web3Error::InvalidTransactionData(ethabi::Error::InvalidName(e)); + let error = Web3Error::InvalidTransactionData( + zksync_types::ethabi::Error::InvalidName(e), + ); Err(into_jsrpc_error(error)).into_boxed_future() } } @@ -1205,16 +1292,15 @@ impl EthNamespaceT for InMemoryNode { } }; - let (tx_req, hash) = - match TransactionRequest::from_bytes(&tx_bytes.0, chain_id.0, MAX_TX_SIZE) { - Ok(result) => result, - Err(e) => { - return futures::future::err(into_jsrpc_error(Web3Error::SerializationError(e))) - .boxed() - } - }; + let (tx_req, hash) = match TransactionRequest::from_bytes(&tx_bytes.0, chain_id.0) { + Ok(result) => result, + Err(e) => { + return futures::future::err(into_jsrpc_error(Web3Error::SerializationError(e))) + .boxed() + } + }; - let mut l2_tx: L2Tx = match tx_req.try_into() { + let mut l2_tx: L2Tx = match L2Tx::from_request(tx_req, MAX_TX_SIZE) { Ok(tx) => tx, Err(e) => { return futures::future::err(into_jsrpc_error(Web3Error::SerializationError(e))) @@ -1346,6 +1432,7 @@ impl EthNamespaceT for InMemoryNode { zksync_types::l2::TransactionType::EIP1559Transaction => 2, zksync_types::l2::TransactionType::EIP712Transaction => 113, zksync_types::l2::TransactionType::PriorityOpTransaction => 255, + zksync_types::l2::TransactionType::ProtocolUpgradeTransaction => 254, }; Some(tx_type.into()) }, @@ -1541,10 +1628,12 @@ impl EthNamespaceT for InMemoryNode { not_implemented("mining") } - fn send_transaction( + fn fee_history( &self, - _transaction_request: zksync_types::web3::types::TransactionRequest, - ) -> jsonrpc_core::BoxFuture> { - not_implemented("send_transaction") + _block_count: U64, + _newest_block: zksync_types::api::BlockNumber, + _reward_percentiles: Vec, + ) -> jsonrpc_core::BoxFuture> { + not_implemented("fee history") } } diff --git a/src/zks.rs b/src/zks.rs index 1ec96cc2..cb49e54a 100644 --- a/src/zks.rs +++ b/src/zks.rs @@ -6,20 +6,23 @@ use zksync_basic_types::{MiniblockNumber, U256}; use zksync_core::api_server::web3::backend_jsonrpc::{ error::into_jsrpc_error, namespaces::zks::ZksNamespaceT, }; -use zksync_types::{api::BridgeAddresses, fee::Fee}; +use zksync_types::{ + api::{BridgeAddresses, ProtocolVersion}, + fee::Fee, +}; use zksync_web3_decl::error::Web3Error; -use crate::{node::InMemoryNodeInner, utils::IntoBoxedFuture}; +use crate::{fork::ForkSource, node::InMemoryNodeInner, utils::IntoBoxedFuture}; use colored::Colorize; /// Mock implementation of ZksNamespace - used only in the test node. -pub struct ZkMockNamespaceImpl { - node: Arc>, +pub struct ZkMockNamespaceImpl { + node: Arc>>, } -impl ZkMockNamespaceImpl { +impl ZkMockNamespaceImpl { /// Creates a new `Zks` instance with the given `node`. - pub fn new(node: Arc>) -> Self { + pub fn new(node: Arc>>) -> Self { Self { node } } } @@ -29,7 +32,9 @@ macro_rules! not_implemented { Box::pin(async move { Err(jsonrpc_core::Error::method_not_found()) }) }; } -impl ZksNamespaceT for ZkMockNamespaceImpl { +impl ZksNamespaceT + for ZkMockNamespaceImpl +{ /// Estimates the gas fee data required for a given call request. /// /// # Arguments @@ -131,9 +136,7 @@ impl ZksNamespaceT for ZkMockNamespaceImpl { address => { println!( "{}", - format!("Token price requested for unknown address {:?}", address) - .to_string() - .red() + format!("Token price requested for unknown address {:?}", address).red() ); futures::future::err(into_jsrpc_error(Web3Error::InternalError)).boxed() } @@ -178,9 +181,8 @@ impl ZksNamespaceT for ZkMockNamespaceImpl { fn get_block_details( &self, _block_number: zksync_basic_types::MiniblockNumber, - ) -> jsonrpc_core::BoxFuture< - jsonrpc_core::Result>, - > { + ) -> jsonrpc_core::BoxFuture>> + { not_implemented!() } @@ -193,13 +195,6 @@ impl ZksNamespaceT for ZkMockNamespaceImpl { not_implemented!() } - fn set_known_bytecode( - &self, - _bytecode: zksync_basic_types::Bytes, - ) -> jsonrpc_core::BoxFuture> { - not_implemented!() - } - fn get_transaction_details( &self, _hash: zksync_basic_types::H256, @@ -211,9 +206,8 @@ impl ZksNamespaceT for ZkMockNamespaceImpl { fn get_l1_batch_details( &self, _batch: zksync_basic_types::L1BatchNumber, - ) -> jsonrpc_core::BoxFuture< - jsonrpc_core::Result>, - > { + ) -> jsonrpc_core::BoxFuture>> + { not_implemented!() } @@ -229,13 +223,21 @@ impl ZksNamespaceT for ZkMockNamespaceImpl { ) -> jsonrpc_core::BoxFuture> { not_implemented!() } + + fn get_protocol_version( + &self, + _version_id: Option, + ) -> jsonrpc_core::BoxFuture>> { + not_implemented!() + } } #[cfg(test)] mod tests { use std::str::FromStr; - use crate::node::InMemoryNode; + use crate::node::ShowCalls; + use crate::{http_fork_source::HttpForkSource, node::InMemoryNode}; use super::*; use zksync_basic_types::Address; @@ -243,7 +245,7 @@ mod tests { #[tokio::test] async fn test_estimate_fee() { - let node = InMemoryNode::default(); + let node = InMemoryNode::::default(); let namespace = ZkMockNamespaceImpl::new(node.get_inner()); let mock_request = CallRequest { @@ -280,7 +282,7 @@ mod tests { #[tokio::test] async fn test_get_token_price_given_eth_should_return_price() { // Arrange - let node = InMemoryNode::default(); + let node = InMemoryNode::::default(); let namespace = ZkMockNamespaceImpl::new(node.get_inner()); let mock_address = Address::from_str("0x0000000000000000000000000000000000000000") @@ -296,11 +298,11 @@ mod tests { #[tokio::test] async fn test_get_token_price_given_capitalized_link_address_should_return_price() { // Arrange - let node = InMemoryNode::new( + let node = InMemoryNode::::new( None, - crate::ShowCalls::None, - crate::ShowStorageLogs::None, - crate::ShowVMDetails::None, + ShowCalls::None, + crate::node::ShowStorageLogs::None, + crate::node::ShowVMDetails::None, false, false, ); @@ -319,7 +321,7 @@ mod tests { #[tokio::test] async fn test_get_token_price_given_unknown_address_should_return_error() { // Arrange - let node = InMemoryNode::default(); + let node = InMemoryNode::::default(); let namespace = ZkMockNamespaceImpl::new(node.get_inner()); let mock_address = Address::from_str("0x0000000000000000000000000000000000000042")