From 97656a86949be93c0dedb967626d9395117b6574 Mon Sep 17 00:00:00 2001 From: Lucas B Date: Thu, 16 Nov 2023 14:58:24 -0600 Subject: [PATCH 01/22] wip --- Cargo.lock | 2981 +++++++++++++++++++------------- Cargo.toml | 64 +- block_engine/Cargo.toml | 24 +- core/Cargo.toml | 40 +- jito-protos/Cargo.toml | 14 +- jito-protos/src/convert.rs | 18 +- packet_blaster/Cargo.toml | 32 +- relayer/Cargo.toml | 44 +- rpc/Cargo.toml | 12 +- rust-toolchain.toml | 2 + transaction-relayer/Cargo.toml | 61 +- web/Cargo.toml | 16 +- 12 files changed, 2012 insertions(+), 1296 deletions(-) create mode 100644 rust-toolchain.toml diff --git a/Cargo.lock b/Cargo.lock index 5143736f..1098f325 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,6 +12,15 @@ dependencies = [ "regex", ] +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + [[package]] name = "adler" version = "1.0.2" @@ -34,7 +43,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ "cfg-if 1.0.0", - "cipher 0.3.0", + "cipher", "cpufeatures", "opaque-debug", ] @@ -47,7 +56,7 @@ checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc" dependencies = [ "aead", "aes", - "cipher 0.3.0", + "cipher", "ctr", "polyval", "subtle", @@ -60,9 +69,22 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +dependencies = [ + "cfg-if 1.0.0", + "getrandom 0.2.10", "once_cell", "version_check", + "zerocopy", ] [[package]] @@ -104,6 +126,12 @@ dependencies = [ "alloc-no-stdlib", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -183,6 +211,123 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +[[package]] +name = "ark-bn254" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", + "itertools", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "digest 0.10.7", + "itertools", + "num-bigint 0.4.4", + "num-traits", + "paste", + "rustc_version", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint 0.4.4", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "digest 0.10.7", + "num-bigint 0.4.4", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + [[package]] name = "arrayref" version = "0.3.7" @@ -191,9 +336,9 @@ checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "ascii" @@ -214,7 +359,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.21", + "time", ] [[package]] @@ -223,8 +368,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", "synstructure", ] @@ -235,8 +380,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", ] @@ -246,11 +391,22 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + [[package]] name = "async-compression" -version = "0.3.15" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +checksum = "f658e2baef915ba0f26f1f7c42bfb8e12f532a01f449a090ded75ae7a07e9ba2" dependencies = [ "brotli", "flate2", @@ -286,20 +442,20 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] name = "async-trait" -version = "0.1.68" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -342,7 +498,7 @@ checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43" dependencies = [ "async-trait", "axum-core 0.2.9", - "bitflags", + "bitflags 1.3.2", "bytes", "futures-util", "http", @@ -352,7 +508,7 @@ dependencies = [ "matchit 0.5.0", "memchr", "mime", - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", "pin-project-lite", "serde", "serde_json", @@ -373,7 +529,7 @@ checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" dependencies = [ "async-trait", "axum-core 0.3.4", - "bitflags", + "bitflags 1.3.2", "bytes", "futures-util", "http", @@ -383,7 +539,7 @@ dependencies = [ "matchit 0.7.0", "memchr", "mime", - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", "pin-project-lite", "rustversion", "serde", @@ -433,13 +589,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ "futures-core", - "getrandom 0.2.9", + "getrandom 0.2.10", "instant", "pin-project-lite", "rand 0.8.5", "tokio", ] +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if 1.0.0", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + [[package]] name = "base64" version = "0.12.3" @@ -454,9 +625,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" @@ -475,22 +646,23 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.64.0" +version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cexpr", "clang-sys", "lazy_static", "lazycell", "peeking_take_while", - "proc-macro2 1.0.58", - "quote 1.0.27", + "prettyplease 0.2.15", + "proc-macro2", + "quote", "regex", "rustc-hash", "shlex", - "syn 1.0.109", + "syn 2.0.39", ] [[package]] @@ -499,6 +671,15 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +dependencies = [ + "serde", +] + [[package]] name = "bitmaps" version = "2.1.0" @@ -510,16 +691,16 @@ dependencies = [ [[package]] name = "blake3" -version = "1.3.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if 1.0.0", "constant_time_eq", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -553,20 +734,43 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" dependencies = [ - "borsh-derive", + "borsh-derive 0.9.3", "hashbrown 0.11.2", ] +[[package]] +name = "borsh" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" +dependencies = [ + "borsh-derive 0.10.3", + "hashbrown 0.13.2", +] + [[package]] name = "borsh-derive" version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", + "borsh-derive-internal 0.9.3", + "borsh-schema-derive-internal 0.9.3", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" +dependencies = [ + "borsh-derive-internal 0.10.3", + "borsh-schema-derive-internal 0.10.3", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.58", + "proc-macro2", "syn 1.0.109", ] @@ -576,8 +780,19 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" +dependencies = [ + "proc-macro2", + "quote", "syn 1.0.109", ] @@ -587,8 +802,19 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" +dependencies = [ + "proc-macro2", + "quote", "syn 1.0.109", ] @@ -647,9 +873,9 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" dependencies = [ "bytemuck_derive", ] @@ -660,9 +886,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -673,9 +899,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "bzip2" @@ -724,9 +950,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e10ca87c81aaa3a949dbbe2b5e6c2c45dbc94ba4897e45ea31ff9ec5087be3dc" dependencies = [ "cached_proc_macro_types", - "darling", - "proc-macro2 1.0.58", - "quote 1.0.27", + "darling 0.14.4", + "proc-macro2", + "quote", "syn 1.0.109", ] @@ -748,11 +974,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]] @@ -778,25 +1005,24 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.24" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "serde", - "time 0.1.45", "wasm-bindgen", - "winapi 0.3.9", + "windows-targets 0.48.0", ] [[package]] name = "chrono-humanize" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32dce1ea1988dbdf9f9815ff11425828523bd2a134ec0805d2ac8af26ee6096e" +checksum = "799627e6b4d27827a814e837b9d8a504832086081806d45b1afa34dc982b023b" dependencies = [ "chrono", ] @@ -810,16 +1036,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - [[package]] name = "clang-sys" version = "1.6.1" @@ -839,7 +1055,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim 0.8.0", "textwrap 0.11.0", "unicode-width", @@ -853,9 +1069,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", - "bitflags", + "bitflags 1.3.2", "clap_lex 0.2.4", - "indexmap", + "indexmap 1.9.3", "once_cell", "strsim 0.10.0", "termcolor", @@ -881,7 +1097,7 @@ checksum = "914c8c79fb560f238ef6429439a30023c862f7a28e688c58f7203f12b29970bd" dependencies = [ "anstream", "anstyle", - "bitflags", + "bitflags 1.3.2", "clap_lex 0.4.1", "strsim 0.10.0", ] @@ -892,10 +1108,10 @@ version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" dependencies = [ - "heck 0.4.1", - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "heck", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -932,17 +1148,26 @@ dependencies = [ "unreachable", ] +[[package]] +name = "concurrent-queue" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "console" -version = "0.15.5" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] @@ -973,9 +1198,9 @@ checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" [[package]] name = "constant_time_eq" -version = "0.2.5" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "convert_case" @@ -1104,7 +1329,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "cipher 0.3.0", + "cipher", ] [[package]] @@ -1127,8 +1352,18 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.14.4", + "darling_macro 0.14.4", +] + +[[package]] +name = "darling" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +dependencies = [ + "darling_core 0.20.3", + "darling_macro 0.20.3", ] [[package]] @@ -1139,23 +1374,48 @@ checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "strsim 0.10.0", "syn 1.0.109", ] +[[package]] +name = "darling_core" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 2.0.39", +] + [[package]] name = "darling_macro" version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ - "darling_core", - "quote 1.0.27", + "darling_core 0.14.4", + "quote", "syn 1.0.109", ] +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core 0.20.3", + "quote", + "syn 2.0.39", +] + [[package]] name = "dashmap" version = "4.0.2" @@ -1204,7 +1464,7 @@ dependencies = [ "asn1-rs", "displaydoc", "nom", - "num-bigint 0.4.3", + "num-bigint 0.4.4", "num-traits", "rusticata-macros", ] @@ -1215,6 +1475,17 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -1222,8 +1493,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "rustc_version", "syn 1.0.109", ] @@ -1251,9 +1522,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", "crypto-common", @@ -1296,32 +1567,32 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] -name = "dlopen" -version = "0.1.8" +name = "dlopen2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e80ad39f814a9abe68583cd50a2d45c8a67561c3361ab8da240587dda80937" +checksum = "09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa" dependencies = [ - "dlopen_derive", - "lazy_static", + "dlopen2_derive", "libc", + "once_cell", "winapi 0.3.9", ] [[package]] -name = "dlopen_derive" -version = "0.1.4" +name = "dlopen2_derive" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f236d9e1b1fbd81cea0f9cbdc8dcc7e8ebcd80e6659cd7cb2ad5f6c05946c581" +checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" dependencies = [ - "libc", - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -1362,14 +1633,14 @@ dependencies = [ "derivation-path", "ed25519-dalek", "hmac 0.12.1", - "sha2 0.10.6", + "sha2 0.10.8", ] [[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" [[package]] name = "encode_unicode" @@ -1388,34 +1659,22 @@ dependencies = [ [[package]] name = "enum-iterator" -version = "0.8.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2953d1df47ac0eb70086ccabf0275aa8da8591a28bd358ee2b52bd9f9e3ff9e9" +checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689" dependencies = [ "enum-iterator-derive", ] [[package]] name = "enum-iterator-derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8958699f9359f0b04e691a13850d48b7de329138023876d07cbd024c2c820598" -dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 1.0.109", -] - -[[package]] -name = "enum_dispatch" -version = "0.3.11" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2" +checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ - "once_cell", - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -1431,6 +1690,12 @@ dependencies = [ "termcolor", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "errno" version = "0.3.1" @@ -1454,16 +1719,17 @@ dependencies = [ [[package]] name = "etcd-client" -version = "0.8.2" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bfae4cb9cd8c3c2a552d45e155cafd079f385a3b9421b9a010878f44531f1e" +checksum = "f4b0ea5ef6dc2388a4b1669fa32097249bc03a15417b97cb75e38afb309e4a89" dependencies = [ "http", - "prost 0.9.0", + "prost 0.11.9", "tokio", "tokio-stream", - "tonic 0.6.2", - "tonic-build 0.6.2", + "tonic 0.9.2", + "tonic-build 0.9.2", + "tower", "tower-service", ] @@ -1484,12 +1750,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "feature-probe" @@ -1517,9 +1780,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -1548,13 +1811,19 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", ] +[[package]] +name = "fs-err" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" + [[package]] name = "fs_extra" version = "1.3.0" @@ -1622,9 +1891,9 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -1658,15 +1927,6 @@ dependencies = [ "slab", ] -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -1703,9 +1963,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -1715,7 +1975,13 @@ dependencies = [ ] [[package]] -name = "glob" +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[package]] +name = "glob" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" @@ -1748,7 +2014,7 @@ dependencies = [ "serde_json", "simpl", "smpl_jwt", - "time 0.3.21", + "time", "tokio", ] @@ -1775,7 +2041,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 1.9.3", "slab", "tokio", "tokio-util 0.7.2", @@ -1797,7 +2063,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" dependencies = [ - "ahash", + "ahash 0.7.6", ] [[package]] @@ -1806,7 +2072,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash", + "ahash 0.7.6", ] [[package]] @@ -1814,6 +2080,15 @@ name = "hashbrown" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.6", +] + +[[package]] +name = "hashbrown" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" [[package]] name = "headers" @@ -1822,7 +2097,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" dependencies = [ "base64 0.13.1", - "bitflags", + "bitflags 1.3.2", "bytes", "headers-core", "http", @@ -1840,15 +2115,6 @@ dependencies = [ "http", ] -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "heck" version = "0.4.1" @@ -1864,15 +2130,6 @@ dependencies = [ "libc", ] -[[package]] -name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.1" @@ -1901,7 +2158,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -1974,9 +2231,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", "futures-channel", @@ -1989,7 +2246,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -2016,15 +2273,16 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.2" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ + "futures-util", "http", "hyper", - "rustls 0.20.8", + "rustls", "tokio", - "tokio-rustls 0.23.4", + "tokio-rustls", ] [[package]] @@ -2094,9 +2352,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -2138,28 +2396,30 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", - "rayon", ] [[package]] -name = "indicatif" -version = "0.16.2" +name = "indexmap" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ - "console", - "lazy_static", - "number_prefix", - "regex", + "equivalent", + "hashbrown 0.14.2", + "rayon", ] [[package]] -name = "inout" -version = "0.1.3" +name = "indicatif" +version = "0.17.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" dependencies = [ - "generic-array", + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", ] [[package]] @@ -2196,7 +2456,7 @@ checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ "hermit-abi 0.3.1", "io-lifetimes", - "rustix", + "rustix 0.37.19", "windows-sys 0.48.0", ] @@ -2223,14 +2483,14 @@ dependencies = [ "dashmap 5.4.0", "jito-protos", "log", - "prost-types 0.11.9", + "prost-types 0.12.1", "solana-metrics", "solana-perf", "solana-sdk", "thiserror", "tokio", "tokio-stream", - "tonic 0.9.2", + "tonic 0.10.2", ] [[package]] @@ -2259,39 +2519,17 @@ dependencies = [ "tokio-stream", ] -[[package]] -name = "jito-packet-blaster" -version = "0.1.0" -dependencies = [ - "bincode", - "clap 4.2.7", - "env_logger", - "futures-util", - "itertools", - "log", - "once_cell", - "quinn 0.9.3", - "rustls 0.20.8", - "solana-client", - "solana-net-utils", - "solana-perf", - "solana-sdk", - "solana-streamer", - "thiserror", - "tokio", -] - [[package]] name = "jito-protos" version = "0.1.0" dependencies = [ "bytes", - "prost 0.11.9", - "prost-types 0.11.9", + "prost 0.12.1", + "prost-types 0.12.1", "solana-perf", "solana-sdk", - "tonic 0.9.2", - "tonic-build 0.9.2", + "tonic 0.10.2", + "tonic-build 0.10.2", ] [[package]] @@ -2308,10 +2546,10 @@ dependencies = [ "keyed_priority_queue", "log", "openssl", - "prost-types 0.11.9", + "prost-types 0.12.1", "rand 0.8.5", "serde", - "sha2 0.10.6", + "sha2 0.10.8", "solana-client", "solana-metrics", "solana-perf", @@ -2319,7 +2557,7 @@ dependencies = [ "thiserror", "tokio", "tokio-stream", - "tonic 0.9.2", + "tonic 0.10.2", ] [[package]] @@ -2357,7 +2595,6 @@ dependencies = [ "crossbeam-channel", "dashmap 5.4.0", "env_logger", - "h2", "hostname", "itertools", "jito-block-engine", @@ -2369,7 +2606,7 @@ dependencies = [ "jwt", "log", "openssl", - "prost-types 0.11.9", + "prost-types 0.12.1", "reqwest", "solana-address-lookup-table-program", "solana-client", @@ -2382,7 +2619,7 @@ dependencies = [ "tikv-jemallocator", "tokio", "tokio-stream", - "tonic 0.9.2", + "tonic 0.10.2", ] [[package]] @@ -2396,9 +2633,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.63" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] @@ -2462,8 +2699,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b939a78fa820cdfcb7ee7484466746a7377760970f6f9c6fe19f9edcc8a38d2" dependencies = [ "proc-macro-crate 0.1.5", - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", ] @@ -2524,12 +2761,12 @@ checksum = "6204285f77fe7d9784db3fdc449ecce1a0114927a51d5a41c4c7a292011c015f" dependencies = [ "base64 0.13.1", "crypto-common", - "digest 0.10.6", + "digest 0.10.7", "hmac 0.12.1", "openssl", "serde", "serde_json", - "sha2 0.10.6", + "sha2 0.10.8", ] [[package]] @@ -2557,7 +2794,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d63b6407b66fc81fc539dccf3ddecb669f393c5101b6a2be3976c95099a06e8" dependencies = [ - "indexmap", + "indexmap 1.9.3", ] [[package]] @@ -2574,9 +2811,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.144" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libloading" @@ -2596,9 +2833,9 @@ checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" [[package]] name = "librocksdb-sys" -version = "0.8.3+7.4.4" +version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557b255ff04123fcc176162f56ed0c9cd42d8f357cf55b3fabeb60f7413741b3" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ "bindgen", "bzip2-sys", @@ -2606,6 +2843,7 @@ dependencies = [ "glob", "libc", "libz-sys", + "lz4-sys", ] [[package]] @@ -2668,10 +2906,15 @@ dependencies = [ ] [[package]] -name = "linked-hash-map" -version = "0.5.6" +name = "light-poseidon" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +checksum = "a5b439809cdfc0d86ecc7317f1724df13dfa665df48991b79e90e689411451f7" +dependencies = [ + "ark-bn254", + "ark-ff", + "thiserror", +] [[package]] name = "linux-raw-sys" @@ -2679,6 +2922,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" +[[package]] +name = "linux-raw-sys" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" + [[package]] name = "lock_api" version = "0.4.9" @@ -2691,12 +2940,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if 1.0.0", -] +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "lru" @@ -2753,9 +2999,9 @@ checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memmap2" @@ -2768,9 +3014,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ "autocfg", ] @@ -2784,6 +3030,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + [[package]] name = "merlin" version = "3.0.0" @@ -2825,24 +3080,13 @@ dependencies = [ [[package]] name = "mio" -version = "0.7.14" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", - "log", - "miow", - "ntapi", - "winapi 0.3.9", -] - -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi 0.3.9", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", ] [[package]] @@ -2861,8 +3105,8 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", ] @@ -2903,14 +3147,15 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.3" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "libc", - "memoffset 0.6.5", + "memoffset 0.7.1", + "pin-utils", ] [[package]] @@ -2923,15 +3168,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "ntapi" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "num" version = "0.2.1" @@ -2959,9 +3195,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", @@ -2984,11 +3220,22 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", ] +[[package]] +name = "num-derive" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "num-integer" version = "0.1.45" @@ -3024,42 +3271,63 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] [[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.1", "libc", ] [[package]] name = "num_enum" -version = "0.5.11" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive 0.6.1", +] + +[[package]] +name = "num_enum" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" dependencies = [ - "num_enum_derive", + "num_enum_derive 0.7.1", ] [[package]] name = "num_enum_derive" -version = "0.5.11" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -3068,6 +3336,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +[[package]] +name = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + [[package]] name = "oid-registry" version = "0.6.1" @@ -3079,9 +3356,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.1" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "opaque-debug" @@ -3095,7 +3372,7 @@ version = "0.10.52" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "foreign-types", "libc", @@ -3110,9 +3387,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -3167,8 +3444,8 @@ checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" dependencies = [ "Inflector", "proc-macro-error", - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", ] @@ -3220,6 +3497,12 @@ dependencies = [ "windows-sys 0.45.0", ] +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + [[package]] name = "pbkdf2" version = "0.4.0" @@ -3235,7 +3518,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -3261,9 +3544,9 @@ checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "percentage" @@ -3302,9 +3585,9 @@ checksum = "6c435bf1076437b851ebc8edc3a18442796b30f1728ffea6262d59bbe28b077e" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -3315,7 +3598,7 @@ checksum = "745a452f8eb71e39ffd8ee32b3c5f51d03845f99786fa9b68db6ff509c505411" dependencies = [ "once_cell", "pest", - "sha2 0.10.6", + "sha2 0.10.8", ] [[package]] @@ -3325,7 +3608,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 1.9.3", ] [[package]] @@ -3343,16 +3626,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -3395,6 +3678,12 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -3407,10 +3696,20 @@ version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" dependencies = [ - "proc-macro2 1.0.58", + "proc-macro2", "syn 1.0.109", ] +[[package]] +name = "prettyplease" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +dependencies = [ + "proc-macro2", + "syn 2.0.39", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -3437,8 +3736,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", "version_check", ] @@ -3449,134 +3748,126 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "version_check", ] [[package]] name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid 0.1.0", -] - -[[package]] -name = "proc-macro2" -version = "1.0.58" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa1fb82fc0c281dd9671101b66b771ebbe1eaf967b96ac8740dcba4b70005ca8" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] [[package]] name = "prost" -version = "0.9.0" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ "bytes", - "prost-derive 0.9.0", + "prost-derive 0.11.9", ] [[package]] name = "prost" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" dependencies = [ "bytes", - "prost-derive 0.11.9", + "prost-derive 0.12.1", ] [[package]] name = "prost-build" -version = "0.9.0" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", - "heck 0.3.3", + "heck", "itertools", "lazy_static", "log", "multimap", "petgraph", - "prost 0.9.0", - "prost-types 0.9.0", + "prettyplease 0.1.25", + "prost 0.11.9", + "prost-types 0.11.9", "regex", + "syn 1.0.109", "tempfile", "which", ] [[package]] name = "prost-build" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", - "heck 0.4.1", + "heck", "itertools", - "lazy_static", "log", "multimap", + "once_cell", "petgraph", - "prettyplease", - "prost 0.11.9", - "prost-types 0.11.9", + "prettyplease 0.2.15", + "prost 0.12.1", + "prost-types 0.12.1", "regex", - "syn 1.0.109", + "syn 2.0.39", "tempfile", "which", ] [[package]] name = "prost-derive" -version = "0.9.0" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", ] [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] name = "prost-types" -version = "0.9.0" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ - "bytes", - "prost 0.9.0", + "prost 0.11.9", ] [[package]] name = "prost-types" -version = "0.11.9" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ - "prost 0.11.9", + "prost 0.12.1", ] [[package]] @@ -3594,137 +3885,84 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e" dependencies = [ - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", ] [[package]] -name = "quinn" -version = "0.8.5" +name = "qualifier_attr" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b435e71d9bfa0d8889927231970c51fb89c58fa63bffcab117c9c7a41e5ef8f" +checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "fxhash", - "quinn-proto 0.8.4", - "quinn-udp 0.1.4", - "rustls 0.20.8", - "thiserror", - "tokio", - "tracing", - "webpki 0.22.0", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] name = "quinn" -version = "0.9.3" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445cbfe2382fa023c4f2f3c7e1c95c03dcc1df2bf23cebcb2b13e1402c4394d1" +checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" dependencies = [ "bytes", "pin-project-lite", - "quinn-proto 0.9.3", - "quinn-udp 0.3.2", + "quinn-proto", + "quinn-udp", "rustc-hash", - "rustls 0.20.8", + "rustls", "thiserror", "tokio", "tracing", - "webpki 0.22.0", ] [[package]] name = "quinn-proto" -version = "0.8.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fce546b9688f767a57530652488420d419a8b1f44a478b451c3d1ab6d992a55" +checksum = "2c78e758510582acc40acb90458401172d41f1016f8c9dde89e49677afb7eec1" dependencies = [ "bytes", - "fxhash", "rand 0.8.5", - "ring", - "rustls 0.20.8", + "ring 0.16.20", + "rustc-hash", + "rustls", "rustls-native-certs", - "rustls-pemfile 0.2.1", "slab", "thiserror", "tinyvec", "tracing", - "webpki 0.22.0", ] [[package]] -name = "quinn-proto" -version = "0.9.3" +name = "quinn-udp" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c" +checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" dependencies = [ "bytes", - "rand 0.8.5", - "ring", - "rustc-hash", - "rustls 0.20.8", - "rustls-native-certs", - "slab", - "thiserror", - "tinyvec", + "libc", + "socket2 0.5.5", "tracing", - "webpki 0.22.0", + "windows-sys 0.48.0", ] [[package]] -name = "quinn-udp" -version = "0.1.4" +name = "quote" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07946277141531aea269befd949ed16b2c85a780ba1043244eda0969e538e54" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ - "futures-util", - "libc", - "quinn-proto 0.8.4", - "socket2", - "tokio", - "tracing", + "proc-macro2", ] [[package]] -name = "quinn-udp" -version = "0.3.2" +name = "rand" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ - "libc", - "quinn-proto 0.9.3", - "socket2", - "tracing", - "windows-sys 0.42.0", -] - -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2 0.4.30", -] - -[[package]] -name = "quote" -version = "1.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" -dependencies = [ - "proc-macro2 1.0.58", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", + "getrandom 0.1.16", "libc", "rand_chacha 0.2.2", "rand_core 0.5.1", @@ -3777,7 +4015,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", ] [[package]] @@ -3822,13 +4060,13 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.9.3" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", - "ring", - "time 0.3.21", + "ring 0.16.20", + "time", "yasna", ] @@ -3838,16 +4076,16 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -3856,7 +4094,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", "redox_syscall 0.2.16", "thiserror", ] @@ -3878,9 +4116,21 @@ dependencies = [ [[package]] name = "regex" -version = "1.8.1" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick 1.0.1", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick 1.0.1", "memchr", @@ -3889,18 +4139,18 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.17" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ "async-compression", - "base64 0.21.0", + "base64 0.21.5", "bytes", "encoding_rs", "futures-core", @@ -3917,23 +4167,24 @@ dependencies = [ "mime", "native-tls", "once_cell", - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", "pin-project-lite", - "rustls 0.20.8", - "rustls-pemfile 1.0.2", + "rustls", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", + "system-configuration", "tokio", "tokio-native-tls", - "tokio-rustls 0.23.4", + "tokio-rustls", "tokio-util 0.7.2", "tower-service", - "url 2.3.1", + "url 2.4.1", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.22.6", + "webpki-roots 0.25.2", "winreg", ] @@ -3947,30 +4198,62 @@ dependencies = [ "libc", "once_cell", "spin 0.5.2", - "untrusted", + "untrusted 0.7.1", "web-sys", "winapi 0.3.9", ] +[[package]] +name = "ring" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +dependencies = [ + "cc", + "getrandom 0.2.10", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.48.0", +] + [[package]] name = "rocksdb" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" dependencies = [ "libc", "librocksdb-sys", ] +[[package]] +name = "rolling-file" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8395b4f860856b740f20a296ea2cd4d823e81a2658cf05ef61be22916026a906" +dependencies = [ + "chrono", +] + [[package]] name = "rpassword" -version = "6.0.1" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf099a1888612545b683d2661a1940089f6c2e5a8e38979b2159da876bfd956" +checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" +dependencies = [ + "libc", + "rtoolbox", + "winapi 0.3.9", +] + +[[package]] +name = "rtoolbox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" dependencies = [ "libc", - "serde", - "serde_json", "winapi 0.3.9", ] @@ -4010,96 +4293,75 @@ version = "0.37.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", "io-lifetimes", "libc", - "linux-raw-sys", + "linux-raw-sys 0.3.7", "windows-sys 0.48.0", ] [[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64 0.13.1", - "log", - "ring", - "sct 0.6.1", - "webpki 0.21.4", -] - -[[package]] -name = "rustls" -version = "0.20.8" +name = "rustix" +version = "0.38.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" dependencies = [ - "log", - "ring", - "sct 0.7.0", - "webpki 0.22.0", + "bitflags 2.4.1", + "errno", + "libc", + "linux-raw-sys 0.4.10", + "windows-sys 0.48.0", ] [[package]] name = "rustls" -version = "0.21.1" +version = "0.21.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e" +checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" dependencies = [ "log", - "ring", + "ring 0.17.5", "rustls-webpki", - "sct 0.7.0", + "sct", ] [[package]] name = "rustls-native-certs" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.2", + "rustls-pemfile", "schannel", "security-framework", ] -[[package]] -name = "rustls-pemfile" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" -dependencies = [ - "base64 0.13.1", -] - [[package]] name = "rustls-pemfile" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ - "base64 0.21.0", + "base64 0.21.5", ] [[package]] name = "rustls-webpki" -version = "0.100.1" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring", - "untrusted", + "ring 0.17.5", + "untrusted 0.9.0", ] [[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" @@ -4127,9 +4389,9 @@ dependencies = [ [[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 = "scroll" @@ -4146,29 +4408,19 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", ] -[[package]] -name = "sct" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "sct" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ - "ring", - "untrusted", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -4177,7 +4429,7 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca2855b3715770894e67cbfa3df957790aa0c9edc3bf06efa1a84d77fa0839d1" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -4196,44 +4448,44 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" [[package]] name = "serde" -version = "1.0.163" +version = "1.0.190" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" +checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.9" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.163" +version = "1.0.190" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" +checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] name = "serde_json" -version = "1.0.96" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -4252,16 +4504,39 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +dependencies = [ + "serde", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +dependencies = [ + "darling 0.20.3", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "serde_yaml" -version = "0.8.26" +version = "0.9.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" +checksum = "3cc7a1570e38322cfe4154732e5110f887ea57e22b76f4bfd32b5bdd3368666c" dependencies = [ - "indexmap", + "indexmap 2.1.0", + "itoa", "ryu", "serde", - "yaml-rust", + "unsafe-libyaml", ] [[package]] @@ -4277,17 +4552,6 @@ dependencies = [ "opaque-debug", ] -[[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.6", -] - [[package]] name = "sha1" version = "0.10.5" @@ -4296,7 +4560,7 @@ checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -4314,13 +4578,13 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -4341,7 +4605,7 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "keccak", ] @@ -4378,6 +4642,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a30f10c911c0355f80f1c2faa8096efc4a58cdf8590b954d5b395efa071c711" +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "sized-chunks" version = "0.6.5" @@ -4416,7 +4686,7 @@ dependencies = [ "serde_derive", "serde_json", "simpl", - "time 0.3.21", + "time", ] [[package]] @@ -4429,6 +4699,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "socket2" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "soketto" version = "0.7.1" @@ -4441,17 +4721,17 @@ dependencies = [ "httparse", "log", "rand 0.8.5", - "sha-1 0.9.8", + "sha-1", ] [[package]] name = "solana-account-decoder" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05a799348a70a5885cf428f1921e851cec204b58de1aeb0ca4409b5973d6d59d" +checksum = "5010de925850388b045a6d88e88f62944906f4f436ff48436b110f543f254ad6" dependencies = [ "Inflector", - "base64 0.13.1", + "base64 0.21.5", "bincode", "bs58", "bv", @@ -4459,26 +4739,84 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "solana-address-lookup-table-program", "solana-config-program", "solana-sdk", - "solana-vote-program", "spl-token", "spl-token-2022", + "spl-token-metadata-interface", "thiserror", "zstd", ] +[[package]] +name = "solana-accounts-db" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ecbff13efcef9bbce8f2019eb25a9837ec04dd921d7d938ce8170799522646" +dependencies = [ + "arrayref", + "bincode", + "blake3", + "bv", + "bytemuck", + "byteorder", + "bzip2", + "crossbeam-channel", + "dashmap 4.0.2", + "flate2", + "fnv", + "fs-err", + "im", + "index_list", + "itertools", + "lazy_static", + "log", + "lz4", + "memmap2", + "modular-bitfield", + "num-derive 0.3.3", + "num-traits", + "num_cpus", + "num_enum 0.6.1", + "ouroboros", + "percentage", + "qualifier_attr", + "rand 0.8.5", + "rayon", + "regex", + "rustc_version", + "serde", + "serde_derive", + "solana-bucket-map", + "solana-config-program", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-measure", + "solana-metrics", + "solana-program-runtime", + "solana-rayon-threadlimit", + "solana-sdk", + "solana-stake-program", + "solana-system-program", + "solana-vote-program", + "static_assertions", + "strum", + "strum_macros", + "tar", + "tempfile", + "thiserror", +] + [[package]] name = "solana-address-lookup-table-program" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef5f98a080611a417da791853ca245ea7f58efefd4b5d9c5239e82693a65697" +checksum = "f4d2c97d290e3c040c95e264202aa6c92ce3f80dcedf4df08df0b6322611e141" dependencies = [ "bincode", "bytemuck", "log", - "num-derive", + "num-derive 0.3.3", "num-traits", "rustc_version", "serde", @@ -4492,14 +4830,14 @@ dependencies = [ [[package]] name = "solana-bloom" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa74c8e005e2f7593227f138ba2d27fcda7e7d6e0d58892826d092f752620809" +checksum = "d06404dab52b137a223300db2b0551d1e53dc9b92e6caede50414806fc648d8b" dependencies = [ "bv", "fnv", "log", - "rand 0.7.3", + "rand 0.8.5", "rayon", "rustc_version", "serde", @@ -4511,16 +4849,16 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025c1ff6e5d33de0e7a360b47b46240c6972b10125d2946b6239fbd84e7edca3" +checksum = "1daf55a458b1d53321bb445a9300acaf53ce92be23160e5d8c9a03a551cd97f1" dependencies = [ "bincode", "byteorder", "libsecp256k1", "log", + "scopeguard", "solana-measure", - "solana-metrics", "solana-program-runtime", "solana-sdk", "solana-zk-token-sdk", @@ -4530,14 +4868,17 @@ dependencies = [ [[package]] name = "solana-bucket-map" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fea900d00099e47ccfbcde017757bda696738b7adc9b1dcaa59955c2e488e0" +checksum = "e4d5be015d366a1a08b704246dd54902f6e928212593419a348a65ac26726014" dependencies = [ + "bv", + "bytemuck", "log", "memmap2", "modular-bitfield", - "rand 0.7.3", + "num_enum 0.6.1", + "rand 0.8.5", "solana-measure", "solana-sdk", "tempfile", @@ -4545,27 +4886,26 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43985f76c072db0412de3dcd8976bf6bc040ee10da8480fb5ba6b9455d733e6f" +checksum = "4a03569b14b9eb239fe1d19f990e3fb9b1a819a8b2fe723b40766fdd1453e974" dependencies = [ "chrono", "clap 2.34.0", "rpassword", - "solana-perf", "solana-remote-wallet", "solana-sdk", "thiserror", "tiny-bip39", "uriparse", - "url 2.3.1", + "url 2.4.1", ] [[package]] name = "solana-cli-config" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c6b277a2927981b7f4e437741a37fc457eed5da7de6317c2a89a6996fd573e1" +checksum = "edf569d8cbd0b298b17812090aed1b90552f0e5762189d22c8984f026ab9d42e" dependencies = [ "dirs-next", "lazy_static", @@ -4574,68 +4914,47 @@ dependencies = [ "serde_yaml", "solana-clap-utils", "solana-sdk", - "url 2.3.1", + "url 2.4.1", ] [[package]] name = "solana-client" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839f0ebb1c14a25da0e2118a96ed630a49e3aa524a459b7ab98b410f44abcc7" +checksum = "2faa22fced7ed238942d12f203177273f945746210cff3e465961407ac12a96b" dependencies = [ - "async-mutex", "async-trait", - "base64 0.13.1", "bincode", - "bs58", - "bytes", - "clap 2.34.0", - "crossbeam-channel", - "enum_dispatch", + "dashmap 4.0.2", "futures 0.3.28", "futures-util", - "indexmap", + "indexmap 2.1.0", "indicatif", - "itertools", - "jsonrpc-core", - "lazy_static", "log", - "quinn 0.8.5", - "quinn-proto 0.8.4", - "rand 0.7.3", - "rand_chacha 0.2.2", + "quinn", "rayon", - "reqwest", - "rustls 0.20.8", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account-decoder", - "solana-clap-utils", - "solana-faucet", + "solana-connection-cache", "solana-measure", "solana-metrics", - "solana-net-utils", + "solana-pubsub-client", + "solana-quic-client", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-rpc-client-nonce-utils", "solana-sdk", "solana-streamer", - "solana-transaction-status", - "solana-version", - "solana-vote-program", - "spl-token-2022", + "solana-thin-client", + "solana-tpu-client", + "solana-udp-client", "thiserror", "tokio", - "tokio-stream", - "tokio-tungstenite", - "tungstenite", - "url 2.3.1", ] [[package]] name = "solana-compute-budget-program" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e049f35d2a223509210eab1adb2bcc2c86bf919ab948f5e3142c9c87adcc1b97" +checksum = "b66362681e03a7fa23e58e5a67a462ba52882bf487cc7fb06d99a027a70babad" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -4643,9 +4962,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94cd8f45fddff299b73121fbf751164b7e029b3324b274b50160d787c82673d2" +checksum = "2fa1a537ec5fc4ba3c3951d2a010809721c240a2cfaab6d6da95a5f0b2f4797c" dependencies = [ "bincode", "chrono", @@ -4655,38 +4974,66 @@ dependencies = [ "solana-sdk", ] +[[package]] +name = "solana-connection-cache" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "158fe99dc9e1ee82f35aae0da416fa6b23f7e17dbbb469427d532056f713a02a" +dependencies = [ + "async-trait", + "bincode", + "crossbeam-channel", + "futures-util", + "indexmap 2.1.0", + "log", + "rand 0.8.5", + "rayon", + "rcgen", + "solana-measure", + "solana-metrics", + "solana-sdk", + "thiserror", + "tokio", +] + [[package]] name = "solana-core" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4602dcfc389a6472da3d5ee0c6ec5b1d2391fa74d40fb6dff9a089e770c2bcc9" +checksum = "16cc0da180d68024e75590e642a72fba7fb9a6c51ef300bfaed4fa0fbade4c6d" dependencies = [ - "ahash", - "base64 0.13.1", + "base64 0.21.5", "bincode", "bs58", + "bytes", "chrono", "crossbeam-channel", "dashmap 4.0.2", "eager", "etcd-client", - "fs_extra", + "futures 0.3.28", "histogram", "itertools", "lazy_static", "log", "lru", "min-max-heap", - "num_enum", - "rand 0.7.3", - "rand_chacha 0.2.2", + "num_enum 0.6.1", + "quinn", + "rand 0.8.5", + "rand_chacha 0.3.1", "rayon", + "rcgen", + "rolling-file", "rustc_version", + "rustls", "serde", + "serde_bytes", "serde_derive", - "solana-address-lookup-table-program", + "solana-accounts-db", "solana-bloom", "solana-client", + "solana-cost-model", "solana-entry", "solana-frozen-abi", "solana-frozen-abi-macro", @@ -4699,15 +5046,22 @@ dependencies = [ "solana-perf", "solana-poh", "solana-program-runtime", + "solana-quic-client", "solana-rayon-threadlimit", "solana-rpc", + "solana-rpc-client-api", "solana-runtime", "solana-sdk", "solana-send-transaction-service", "solana-streamer", + "solana-tpu-client", "solana-transaction-status", + "solana-turbine", "solana-version", + "solana-vote", "solana-vote-program", + "strum", + "strum_macros", "sys-info", "sysctl", "tempfile", @@ -4717,18 +5071,41 @@ dependencies = [ ] [[package]] -name = "solana-entry" -version = "1.14.18" +name = "solana-cost-model" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d26ee7cc1485c0cc55fc5259a239615a2d83baf540ce6adba699ed3906fc77" +checksum = "a3a196cec1784e85f3c470527bd32d9c2770beb36a96e63dd686d35890a5f092" +dependencies = [ + "lazy_static", + "log", + "rustc_version", + "solana-address-lookup-table-program", + "solana-bpf-loader-program", + "solana-compute-budget-program", + "solana-config-program", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-loader-v4-program", + "solana-metrics", + "solana-program-runtime", + "solana-sdk", + "solana-stake-program", + "solana-system-program", + "solana-vote-program", +] + +[[package]] +name = "solana-entry" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efc753989114f9cbf2722211a91a90af36776219f5023a1f27368f9837617e3f" dependencies = [ "bincode", "crossbeam-channel", - "dlopen", - "dlopen_derive", + "dlopen2", "lazy_static", "log", - "rand 0.7.3", + "rand 0.8.5", "rayon", "serde", "solana-measure", @@ -4741,9 +5118,9 @@ dependencies = [ [[package]] name = "solana-faucet" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4b7f4d15cb628a7f89e570a18914551211a5f1da81352dffd93881b191986a" +checksum = "4d43c1b2839272c344fc6124bb6a9488b26d56430bc7265cadda114c91f4ea77" dependencies = [ "bincode", "byteorder", @@ -4765,33 +5142,29 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc7245b88e5bcedc9096d7c7ffd8cf6769987b151e381e8a3561939898d9e495" +checksum = "80447a64ba88aff4ab1fe70c646b9a0ee65f190aa2977b1e7360066445f8ed34" dependencies = [ - "ahash", + "ahash 0.8.6", "blake3", - "block-buffer 0.9.0", + "block-buffer 0.10.4", "bs58", "bv", "byteorder", "cc", "either", "generic-array", - "getrandom 0.1.16", - "hashbrown 0.12.3", "im", "lazy_static", "log", "memmap2", - "once_cell", - "rand_core 0.6.4", "rustc_version", "serde", "serde_bytes", "serde_derive", "serde_json", - "sha2 0.10.6", + "sha2 0.10.8", "solana-frozen-abi-macro", "subtle", "thiserror", @@ -4799,21 +5172,21 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "546f204604da1d6958e412f4d3bc8cad34de6a81dc379fac07e53a29e224bcf0" +checksum = "c28b7325d40b3b3fef0db6917972e8121bec05fa2b59904212b25478c85924cd" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "rustc_version", - "syn 1.0.109", + "syn 2.0.39", ] [[package]] name = "solana-geyser-plugin-interface" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5399d6b663fab6037622b13f52f03d3e5fa480da991b412554c23355d0e3cc6f" +checksum = "8621cb833793d8b276be8247099bbdad5453cde36b557f7613467b0ed7f14944" dependencies = [ "log", "solana-sdk", @@ -4823,17 +5196,22 @@ dependencies = [ [[package]] name = "solana-geyser-plugin-manager" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "708f95ddf1823e404842bb1d2de668fa0046cf96d486b7b7ce8f0d74be459c9c" +checksum = "c8b1e946354dc8c3ded1f01418640cc5c2b1bcec0cc6224b55a36b0f863d42e5" dependencies = [ "bs58", "crossbeam-channel", "json5", + "jsonrpc-core", + "jsonrpc-server-utils", "libloading", "log", "serde_json", + "solana-accounts-db", + "solana-entry", "solana-geyser-plugin-interface", + "solana-ledger", "solana-measure", "solana-metrics", "solana-rpc", @@ -4845,25 +5223,26 @@ dependencies = [ [[package]] name = "solana-gossip" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ef4f85effe0a570c046cb679b4ca5624ebc447aabb0f3fc713a34d1a7ac791" +checksum = "deb2c31ff7b8131fbe71cf5917b3ba865a6c04a91c9f8868f853c1f2e98cca61" dependencies = [ + "assert_matches", "bincode", "bv", "clap 2.34.0", "crossbeam-channel", "flate2", - "indexmap", + "indexmap 2.1.0", "itertools", "log", "lru", - "matches", "num-traits", - "rand 0.7.3", - "rand_chacha 0.2.2", + "rand 0.8.5", + "rand_chacha 0.3.1", "rayon", "rustc_version", + "rustversion", "serde", "serde_bytes", "serde_derive", @@ -4883,20 +5262,24 @@ dependencies = [ "solana-runtime", "solana-sdk", "solana-streamer", + "solana-thin-client", + "solana-tpu-client", "solana-version", + "solana-vote", "solana-vote-program", + "static_assertions", "thiserror", ] [[package]] name = "solana-ledger" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44395dc68f6dc1a72c52867127bf36f868bbc4b95c567aff7fe40d027311b706" +checksum = "3f21cd14c5e2dfc0dea5c0b65fadd7f6f45137b0b7f79e19d4bd2ad295e82060" dependencies = [ "assert_matches", "bincode", - "bitflags", + "bitflags 2.4.1", "byteorder", "chrono", "chrono-humanize", @@ -4910,19 +5293,22 @@ dependencies = [ "log", "lru", "num_cpus", - "num_enum", + "num_enum 0.6.1", "prost 0.11.9", - "rand 0.7.3", - "rand_chacha 0.2.2", + "rand 0.8.5", + "rand_chacha 0.3.1", "rayon", "reed-solomon-erasure", "rocksdb", "rustc_version", + "scopeguard", "serde", "serde_bytes", - "sha2 0.10.6", + "sha2 0.10.8", "solana-account-decoder", + "solana-accounts-db", "solana-bpf-loader-program", + "solana-cost-model", "solana-entry", "solana-frozen-abi", "solana-frozen-abi-macro", @@ -4937,10 +5323,13 @@ dependencies = [ "solana-storage-bigtable", "solana-storage-proto", "solana-transaction-status", + "solana-vote", "solana-vote-program", "spl-token", "spl-token-2022", "static_assertions", + "strum", + "strum_macros", "tempfile", "thiserror", "tokio", @@ -4948,11 +5337,24 @@ dependencies = [ "trees", ] +[[package]] +name = "solana-loader-v4-program" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8826372b48a43e34466b64b98777050842d561b201715425bd0e315c34e78f12" +dependencies = [ + "log", + "solana-measure", + "solana-program-runtime", + "solana-sdk", + "solana_rbpf", +] + [[package]] name = "solana-logger" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12090fa9b638f374492c86c62b79e0e82479e3632ced02a33ff560ffdce72e04" +checksum = "5a224a0a87196c940472515838630e0ed6a49f97ea0d01d9dbeed0bb57390447" dependencies = [ "env_logger", "lazy_static", @@ -4961,9 +5363,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c98a872ae83f2e7c00846108f98a18f7f40265b2cd86b2d44369c33d9b7fb8f1" +checksum = "dbf3d86eec20d13830a3c692e1428570d1e02dca750812ef58532dbda062e79b" dependencies = [ "log", "solana-sdk", @@ -4971,20 +5373,19 @@ dependencies = [ [[package]] name = "solana-merkle-tree" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a12f6fb1f362032579f2e164a37ea8ea4f07366725e0a41bb1ef3af2023794" +checksum = "2bb42de198ebc953f43dfe2508dccb33d40837ba1eddab05a8de123a2f8057cb" dependencies = [ "fast-math", - "matches", "solana-program", ] [[package]] name = "solana-metrics" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7557878951c7defed6e4daf34e9334d8ea85b82c9a1b2d5cc50d069fd9191db9" +checksum = "80b9e646b0d429c661500f3acc1a52adb292157a2f57fc855b298b437f07c9de" dependencies = [ "crossbeam-channel", "gethostname", @@ -4992,51 +5393,54 @@ dependencies = [ "log", "reqwest", "solana-sdk", + "thiserror", ] [[package]] name = "solana-net-utils" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7684c80c774275783bb754aa07e2e18f2064551a78cda5e54e12f44c85f3803d" +checksum = "ca9b8bfb1876bc5386873f129dcd27fe08da8cd2f2d94c40351c5411cece365f" dependencies = [ "bincode", "clap 3.2.25", "crossbeam-channel", "log", "nix", - "rand 0.7.3", + "rand 0.8.5", "serde", "serde_derive", - "socket2", + "socket2 0.5.5", "solana-logger", "solana-sdk", "solana-version", "tokio", - "url 2.3.1", + "url 2.4.1", ] [[package]] name = "solana-perf" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2db417718e96fd2473025d4f2afb975dd295e9f7bd479cd3a0bcea20da38088" +checksum = "5e3f15738555e4262181bcbcc6d2b7ac60693b6514556d5d44b791ee7b517a2e" dependencies = [ - "ahash", + "ahash 0.8.6", "bincode", "bv", "caps", "curve25519-dalek", - "dlopen", - "dlopen_derive", + "dlopen2", "fnv", "lazy_static", "libc", "log", "nix", - "rand 0.7.3", + "rand 0.8.5", "rayon", + "rustc_version", "serde", + "solana-frozen-abi", + "solana-frozen-abi-macro", "solana-metrics", "solana-rayon-threadlimit", "solana-sdk", @@ -5045,9 +5449,9 @@ dependencies = [ [[package]] name = "solana-poh" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2d99f89ca5c5ac80103fb3cdbac5b6b6acfbb9c4d4749c7fcecf19efbf98d29" +checksum = "abc337ee9422282034c4104ec4c23e7c06c7afa92c9c36f9140971f112a913be" dependencies = [ "core_affinity", "crossbeam-channel", @@ -5058,22 +5462,25 @@ dependencies = [ "solana-metrics", "solana-runtime", "solana-sdk", - "solana-sys-tuner", "thiserror", ] [[package]] name = "solana-program" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e7df881407995597cf32299df06cc8ac3d7fc4cd53e69e95964832beca48c3" +checksum = "a1fe4a811ec2c4b0c3773e5661ecfaff81f822c9e18866097caeba6be9338dab" dependencies = [ - "base64 0.13.1", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "base64 0.21.5", "bincode", - "bitflags", + "bitflags 2.4.1", "blake3", - "borsh", - "borsh-derive", + "borsh 0.10.3", + "borsh 0.9.3", "bs58", "bv", "bytemuck", @@ -5081,26 +5488,27 @@ dependencies = [ "console_error_panic_hook", "console_log", "curve25519-dalek", - "getrandom 0.2.9", + "getrandom 0.2.10", "itertools", "js-sys", "lazy_static", "libc", "libsecp256k1", + "light-poseidon", "log", - "memoffset 0.6.5", - "num-derive", + "memoffset 0.9.0", + "num-bigint 0.4.4", + "num-derive 0.3.3", "num-traits", "parking_lot 0.12.1", - "rand 0.7.3", - "rand_chacha 0.2.2", + "rand 0.8.5", "rustc_version", "rustversion", "serde", "serde_bytes", "serde_derive", "serde_json", - "sha2 0.10.6", + "sha2 0.10.8", "sha3 0.10.8", "solana-frozen-abi", "solana-frozen-abi-macro", @@ -5113,21 +5521,21 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1ad7f8f71d46673e2b68edb902856516795dd6b9d2322fa4e9edcd6cf0caac" +checksum = "41841bee09d81bed82ffebe1fb7fdebe3003d0fca5f3a6d03e3cb01ac5aed979" dependencies = [ - "base64 0.13.1", + "base64 0.21.5", "bincode", "eager", "enum-iterator", "itertools", "libc", - "libloading", "log", - "num-derive", + "num-derive 0.3.3", "num-traits", - "rand 0.7.3", + "percentage", + "rand 0.8.5", "rustc_version", "serde", "solana-frozen-abi", @@ -5135,14 +5543,67 @@ dependencies = [ "solana-measure", "solana-metrics", "solana-sdk", + "solana_rbpf", + "thiserror", +] + +[[package]] +name = "solana-pubsub-client" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18b8dd7a4139b47c0e364356890c8d80e7e6fa61d7e7932b9aeb034858001da0" +dependencies = [ + "crossbeam-channel", + "futures-util", + "log", + "reqwest", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-rpc-client-api", + "solana-sdk", + "thiserror", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tungstenite", + "url 2.4.1", +] + +[[package]] +name = "solana-quic-client" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec167e0a89e276beb3537cb1f8062eeee1c8c7450fcdd97bb146b9ca452028" +dependencies = [ + "async-mutex", + "async-trait", + "futures 0.3.28", + "itertools", + "lazy_static", + "log", + "quinn", + "quinn-proto", + "rcgen", + "rustls", + "solana-connection-cache", + "solana-measure", + "solana-metrics", + "solana-net-utils", + "solana-rpc-client-api", + "solana-sdk", + "solana-streamer", "thiserror", + "tokio", ] [[package]] name = "solana-rayon-threadlimit" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccad09c8fbcb13ba7a1aca9d6337bf439593e1ea104d7ba9519d6d09c89da63c" +checksum = "c1bfe12ceef4ba1c66c01528d3a420dc71bfebc2822ff7176e5e02229704efdd" dependencies = [ "lazy_static", "num_cpus", @@ -5150,14 +5611,14 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a34ea5c66161b5f6a2085804bd0364bcdfdd584cfdb7237f88b6c3255199601" +checksum = "cf6c9306ca3911cbca5918b9c8644494db18454388b2b586b9f3cf9a319f5a8a" dependencies = [ "console", "dialoguer", "log", - "num-derive", + "num-derive 0.3.3", "num-traits", "parking_lot 0.12.1", "qstring", @@ -5169,11 +5630,11 @@ dependencies = [ [[package]] name = "solana-rpc" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbd4e6e01db7022da075e604ffc8dfc984527c475c1d808fd9b0c4cba753c9f" +checksum = "177854db0603584de09dae5f226bc6fe9ecd7e07068e8f0ec94923b1dc73e2ed" dependencies = [ - "base64 0.13.1", + "base64 0.21.5", "bincode", "bs58", "crossbeam-channel", @@ -5193,6 +5654,7 @@ dependencies = [ "serde_json", "soketto", "solana-account-decoder", + "solana-accounts-db", "solana-client", "solana-entry", "solana-faucet", @@ -5203,14 +5665,17 @@ dependencies = [ "solana-perf", "solana-poh", "solana-rayon-threadlimit", + "solana-rpc-client-api", "solana-runtime", "solana-sdk", "solana-send-transaction-service", "solana-stake-program", "solana-storage-bigtable", "solana-streamer", + "solana-tpu-client", "solana-transaction-status", "solana-version", + "solana-vote", "solana-vote-program", "spl-token", "spl-token-2022", @@ -5220,13 +5685,75 @@ dependencies = [ "tokio-util 0.6.10", ] +[[package]] +name = "solana-rpc-client" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16bfac7d8a3cb4ac6136779537e985ee8097ed424f2778cfabdcd5ca3fc44961" +dependencies = [ + "async-trait", + "base64 0.21.5", + "bincode", + "bs58", + "indicatif", + "log", + "reqwest", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-rpc-client-api", + "solana-sdk", + "solana-transaction-status", + "solana-version", + "solana-vote-program", + "tokio", +] + +[[package]] +name = "solana-rpc-client-api" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72e281e7ce2d2f7775973de6f8901baf7688ed3b38b93215fc417efeade0a858" +dependencies = [ + "base64 0.21.5", + "bs58", + "jsonrpc-core", + "reqwest", + "semver", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-sdk", + "solana-transaction-status", + "solana-version", + "spl-token-2022", + "thiserror", +] + +[[package]] +name = "solana-rpc-client-nonce-utils" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2146bced7672bef5f288bb33923c39688ff64c085e7e189843eeb2a1570d402" +dependencies = [ + "clap 2.34.0", + "solana-clap-utils", + "solana-rpc-client", + "solana-sdk", + "thiserror", +] + [[package]] name = "solana-runtime" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04528c39dace2ee513d2c0fa849e02a54581470634fe9ec0699354f35c29409d" +checksum = "1945e0a18ab88b6329fe34f931244374b7c03610fe8bcc17aade84e1d29c0d4e" dependencies = [ "arrayref", + "base64 0.21.5", "bincode", "blake3", "bv", @@ -5238,6 +5765,7 @@ dependencies = [ "dir-diff", "flate2", "fnv", + "fs-err", "im", "index_list", "itertools", @@ -5246,32 +5774,46 @@ dependencies = [ "lru", "lz4", "memmap2", - "num-derive", + "modular-bitfield", + "num-derive 0.3.3", "num-traits", "num_cpus", - "once_cell", + "num_enum 0.6.1", "ouroboros", - "rand 0.7.3", + "percentage", + "qualifier_attr", + "rand 0.8.5", "rayon", "regex", "rustc_version", "serde", "serde_derive", + "serde_json", + "siphasher", + "solana-accounts-db", "solana-address-lookup-table-program", + "solana-bpf-loader-program", "solana-bucket-map", "solana-compute-budget-program", "solana-config-program", + "solana-cost-model", "solana-frozen-abi", "solana-frozen-abi-macro", + "solana-loader-v4-program", "solana-measure", "solana-metrics", + "solana-perf", "solana-program-runtime", "solana-rayon-threadlimit", "solana-sdk", "solana-stake-program", + "solana-system-program", + "solana-version", + "solana-vote", "solana-vote-program", "solana-zk-token-proof-program", "solana-zk-token-sdk", + "static_assertions", "strum", "strum_macros", "symlink", @@ -5283,21 +5825,21 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bdc5c047bf29730ad00e2c9ef92d396877c836633177089a00b7311e6eb3ead" +checksum = "9c79894240bad61135a9ec86cd7709dcbc9e69eec8ebcc0b4066bccde6615600" dependencies = [ "assert_matches", - "base64 0.13.1", + "base64 0.21.5", "bincode", - "bitflags", - "borsh", + "bitflags 2.4.1", + "borsh 0.10.3", "bs58", "bytemuck", "byteorder", "chrono", "derivation-path", - "digest 0.10.6", + "digest 0.10.7", "ed25519-dalek", "ed25519-dalek-bip32", "generic-array", @@ -5308,19 +5850,22 @@ dependencies = [ "libsecp256k1", "log", "memmap2", - "num-derive", + "num-derive 0.3.3", "num-traits", + "num_enum 0.6.1", "pbkdf2 0.11.0", "qstring", + "qualifier_attr", "rand 0.7.3", - "rand_chacha 0.2.2", + "rand 0.8.5", "rustc_version", "rustversion", "serde", "serde_bytes", "serde_derive", "serde_json", - "sha2 0.10.6", + "serde_with", + "sha2 0.10.8", "sha3 0.10.8", "solana-frozen-abi", "solana-frozen-abi-macro", @@ -5334,22 +5879,22 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43cff60ba1f94594f1de7baf649bf781383e806e834e26607ff8857a9452cd3c" +checksum = "97dce8e347d73bcd9a6fe0b37bf830a20d0a4913ac58046c79959d5e15bbbed3" dependencies = [ "bs58", - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "rustversion", - "syn 1.0.109", + "syn 2.0.39", ] [[package]] name = "solana-send-transaction-service" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626f605b0f5601a6cc7d7390bbe7248bf624e130dacd4c18ea8f7e3d5eca390d" +checksum = "a815ff06737272675dd6c3e5c8fd02143f6a2c2948ee2ac3be94c86f610a5cca" dependencies = [ "crossbeam-channel", "log", @@ -5358,36 +5903,29 @@ dependencies = [ "solana-metrics", "solana-runtime", "solana-sdk", + "solana-tpu-client", ] [[package]] name = "solana-stake-program" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d12cac4413492df0e92b7caa99db81f1e81ee2ca103b97cae215cb7189d3ec7" +checksum = "7b2e33782ffd904081e6953e8d8e26ef6f23e4944ec6be223ec52ad76ffcee4c" dependencies = [ "bincode", "log", - "num-derive", - "num-traits", "rustc_version", - "serde", - "serde_derive", "solana-config-program", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-metrics", "solana-program-runtime", "solana-sdk", "solana-vote-program", - "thiserror", ] [[package]] name = "solana-storage-bigtable" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c9a1f6309c7311cfa67e029a819233db7e0ce907d587aceaa197f7dc41a9d1" +checksum = "6cd2663bf2faa1d470c7cc5b34d8212624a93ba4d85270d410db1df25f55bb68" dependencies = [ "backoff", "bincode", @@ -5413,15 +5951,15 @@ dependencies = [ "solana-transaction-status", "thiserror", "tokio", - "tonic 0.8.3", + "tonic 0.9.2", "zstd", ] [[package]] name = "solana-storage-proto" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f0d0179e1093110c521ba5cc9a0c6ecd8beb1dcb19679fa727990256595f994" +checksum = "07d646589e84f450a468634374b227a0167e0af47ce5625064c2c0de45bfb798" dependencies = [ "bincode", "bs58", @@ -5431,19 +5969,21 @@ dependencies = [ "solana-account-decoder", "solana-sdk", "solana-transaction-status", - "tonic-build 0.8.4", + "tonic-build 0.9.2", ] [[package]] name = "solana-streamer" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "753f510e0e145e70238fc597571e2bb5f2871dc022b04e869024b5dcf1fd82c3" +checksum = "0ef6ad3550bfa2b19a34ded8e0bc48afa6329f4b035bbbb47e9cd4eea2f43b77" dependencies = [ + "async-channel", + "bytes", "crossbeam-channel", "futures-util", "histogram", - "indexmap", + "indexmap 2.1.0", "itertools", "libc", "log", @@ -5451,10 +5991,11 @@ dependencies = [ "pem", "percentage", "pkcs8", - "quinn 0.8.5", - "rand 0.7.3", + "quinn", + "quinn-proto", + "rand 0.8.5", "rcgen", - "rustls 0.20.8", + "rustls", "solana-metrics", "solana-perf", "solana-sdk", @@ -5464,32 +6005,68 @@ dependencies = [ ] [[package]] -name = "solana-sys-tuner" -version = "1.14.18" +name = "solana-system-program" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de9cb38b089d0a56cfb9437181304a35b42284b8171d410edbc067b26bf40e" +checksum = "7c23412726972c4e79103814467c31f220edeae567f02dd6c1e38ce1190bb26f" dependencies = [ - "clap 2.34.0", - "libc", + "bincode", "log", - "nix", - "solana-logger", - "solana-version", - "sysctl", - "unix_socket2", - "users", + "serde", + "serde_derive", + "solana-program-runtime", + "solana-sdk", +] + +[[package]] +name = "solana-thin-client" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c37f63a745ce69c82492f9e5f64065931cc04f089c85f9fc8405d4157e5e1faa" +dependencies = [ + "bincode", + "log", + "rayon", + "solana-connection-cache", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-sdk", +] + +[[package]] +name = "solana-tpu-client" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe0dd91049e3b36a123b8e06366def07c8e7b94ad3e2054acc2c21c2d64592ec" +dependencies = [ + "async-trait", + "bincode", + "futures-util", + "indexmap 2.1.0", + "indicatif", + "log", + "rayon", + "solana-connection-cache", + "solana-measure", + "solana-metrics", + "solana-pubsub-client", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-sdk", + "thiserror", + "tokio", ] [[package]] name = "solana-transaction-status" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6a451415da98f850d5777df18d588d7504393106aea295b642cd243115ed77" +checksum = "4e143ce053b0fe641f320c463c822c199d5b6849b0d844be009b8e7d6ecebf8e" dependencies = [ "Inflector", - "base64 0.13.1", + "base64 0.21.5", "bincode", - "borsh", + "borsh 0.10.3", "bs58", "lazy_static", "log", @@ -5497,11 +6074,7 @@ dependencies = [ "serde_derive", "serde_json", "solana-account-decoder", - "solana-address-lookup-table-program", - "solana-measure", - "solana-metrics", "solana-sdk", - "solana-vote-program", "spl-associated-token-account", "spl-memo", "spl-token", @@ -5509,11 +6082,63 @@ dependencies = [ "thiserror", ] +[[package]] +name = "solana-turbine" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bfc7b0b599dbb23897b8c56b525cc9a08eee34c3f6246701a4ab0a854ff823" +dependencies = [ + "bincode", + "bytes", + "crossbeam-channel", + "futures 0.3.28", + "itertools", + "log", + "lru", + "quinn", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rayon", + "rcgen", + "rustls", + "solana-entry", + "solana-gossip", + "solana-ledger", + "solana-measure", + "solana-metrics", + "solana-perf", + "solana-poh", + "solana-quic-client", + "solana-rayon-threadlimit", + "solana-rpc", + "solana-rpc-client-api", + "solana-runtime", + "solana-sdk", + "solana-streamer", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-udp-client" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5adc5098bc0bed377909856ea645ce0129189b202e4dc39d900ee6a8f5bcc78" +dependencies = [ + "async-trait", + "solana-connection-cache", + "solana-net-utils", + "solana-sdk", + "solana-streamer", + "thiserror", + "tokio", +] + [[package]] name = "solana-version" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a3d9aa0a819a22f5befc7e8df5413259621b5d20be0a5a210d1fb41a083a09b" +checksum = "7d49400028b385d830fde8ec073c372394197bb493236442670117516db4b4a1" dependencies = [ "log", "rustc_version", @@ -5525,15 +6150,34 @@ dependencies = [ "solana-sdk", ] +[[package]] +name = "solana-vote" +version = "1.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a53e7274d60a1787d37f2557f9b4a196c847405aaa6d1f9dd69e300b40e82dd3" +dependencies = [ + "crossbeam-channel", + "itertools", + "log", + "rustc_version", + "serde", + "serde_derive", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-sdk", + "solana-vote-program", + "thiserror", +] + [[package]] name = "solana-vote-program" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb0bb49cc1490ce16133368f4a04e0671f856d481f95416f03f08fede7d993ba" +checksum = "af002db2bc89bfdc199d641929449d932248c38d2b39cb875f307aa4c4ff60bc" dependencies = [ "bincode", "log", - "num-derive", + "num-derive 0.3.3", "num-traits", "rustc_version", "serde", @@ -5541,6 +6185,7 @@ dependencies = [ "solana-frozen-abi", "solana-frozen-abi-macro", "solana-metrics", + "solana-program", "solana-program-runtime", "solana-sdk", "thiserror", @@ -5548,13 +6193,12 @@ dependencies = [ [[package]] name = "solana-zk-token-proof-program" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9f1fd63cbd19d05b61c8416f00ca8f8f9c61340b292166e76b19743aed93579" +checksum = "ba0a33d0293176572a5786dfaf0429173463173228f58a4f6856bca8a19641af" dependencies = [ "bytemuck", - "getrandom 0.1.16", - "num-derive", + "num-derive 0.3.3", "num-traits", "solana-program-runtime", "solana-sdk", @@ -5563,23 +6207,21 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.14.18" +version = "1.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a679b4dabee8d23a7bfa657440c892a88420191da11352313ab83f986826a7" +checksum = "e48f33d2ce508c9e70aa7d2f1948f3a9df56ee66423252785c608b4023e0c01a" dependencies = [ "aes-gcm-siv", - "arrayref", - "base64 0.13.1", + "base64 0.21.5", "bincode", "bytemuck", "byteorder", - "cipher 0.4.4", "curve25519-dalek", "getrandom 0.1.16", "itertools", "lazy_static", "merlin", - "num-derive", + "num-derive 0.3.3", "num-traits", "rand 0.7.3", "serde", @@ -5594,9 +6236,9 @@ dependencies = [ [[package]] name = "solana_rbpf" -version = "0.2.31" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80a28c5dfe7e8af38daa39d6561c8e8b9ed7a2f900951ebe7362ad6348d36c73" +checksum = "3d457cc2ba742c120492a64b7fa60e22c575e891f6b55039f4d736568fb112a3" dependencies = [ "byteorder", "combine", @@ -5608,88 +6250,223 @@ dependencies = [ "rustc-demangle", "scroll", "thiserror", + "winapi 0.3.9", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "spl-associated-token-account" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "385e31c29981488f2820b2022d8e731aae3b02e6e18e2fd854e4c9a94dc44fc3" +dependencies = [ + "assert_matches", + "borsh 0.10.3", + "num-derive 0.4.1", + "num-traits", + "solana-program", + "spl-token", + "spl-token-2022", + "thiserror", +] + +[[package]] +name = "spl-discriminator" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cce5d563b58ef1bb2cdbbfe0dfb9ffdc24903b10ae6a4df2d8f425ece375033f" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fadbefec4f3c678215ca72bd71862697bb06b41fd77c0088902dd3203354387b" +dependencies = [ + "quote", + "spl-discriminator-syn", + "syn 2.0.39", ] [[package]] -name = "spin" -version = "0.5.2" +name = "spl-discriminator-syn" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +checksum = "0e5f2044ca42c8938d54d1255ce599c79a1ffd86b677dfab695caa20f9ffc3f2" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.39", + "thiserror", +] [[package]] -name = "spin" -version = "0.9.8" +name = "spl-memo" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "f0f180b03318c3dbab3ef4e1e4d46d5211ae3c780940dd0a28695aba4b59a75a" +dependencies = [ + "solana-program", +] [[package]] -name = "spki" -version = "0.5.4" +name = "spl-pod" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "2881dddfca792737c0706fa0175345ab282b1b0879c7d877bad129645737c079" dependencies = [ - "base64ct", - "der", + "borsh 0.10.3", + "bytemuck", + "solana-program", + "solana-zk-token-sdk", + "spl-program-error", ] [[package]] -name = "spl-associated-token-account" -version = "1.1.3" +name = "spl-program-error" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978dba3bcbe88d0c2c58366c254d9ea41c5f73357e72fc0bdee4d6b5fc99c8f4" +checksum = "249e0318493b6bcf27ae9902600566c689b7dfba9f1bdff5893e92253374e78c" dependencies = [ - "assert_matches", - "borsh", - "num-derive", + "num-derive 0.4.1", "num-traits", "solana-program", - "spl-token", - "spl-token-2022", + "spl-program-error-derive", "thiserror", ] [[package]] -name = "spl-memo" -version = "3.0.1" +name = "spl-program-error-derive" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5269c8e868da17b6552ef35a51355a017bd8e0eae269c201fef830d35fa52c" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.39", +] + +[[package]] +name = "spl-tlv-account-resolution" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" +checksum = "062e148d3eab7b165582757453632ffeef490c02c86a48bfdb4988f63eefb3b9" dependencies = [ + "bytemuck", "solana-program", + "spl-discriminator", + "spl-pod", + "spl-program-error", + "spl-type-length-value", ] [[package]] name = "spl-token" -version = "3.5.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" +checksum = "08459ba1b8f7c1020b4582c4edf0f5c7511a5e099a7a97570c9698d4f2337060" dependencies = [ "arrayref", "bytemuck", - "num-derive", + "num-derive 0.3.3", "num-traits", - "num_enum", + "num_enum 0.6.1", "solana-program", "thiserror", ] [[package]] name = "spl-token-2022" -version = "0.6.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0043b590232c400bad5ee9eb983ced003d15163c4c5d56b090ac6d9a57457b47" +checksum = "e4abf34a65ba420584a0c35f3903f8d727d1f13ababbdc3f714c6b065a686e86" dependencies = [ "arrayref", "bytemuck", - "num-derive", + "num-derive 0.4.1", "num-traits", - "num_enum", + "num_enum 0.7.1", "solana-program", "solana-zk-token-sdk", "spl-memo", + "spl-pod", "spl-token", + "spl-token-metadata-interface", + "spl-transfer-hook-interface", + "spl-type-length-value", "thiserror", ] +[[package]] +name = "spl-token-metadata-interface" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c16ce3ba6979645fb7627aa1e435576172dd63088dc7848cb09aa331fa1fe4f" +dependencies = [ + "borsh 0.10.3", + "solana-program", + "spl-discriminator", + "spl-pod", + "spl-program-error", + "spl-type-length-value", +] + +[[package]] +name = "spl-transfer-hook-interface" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051d31803f873cabe71aec3c1b849f35248beae5d19a347d93a5c9cccc5d5a9b" +dependencies = [ + "arrayref", + "bytemuck", + "solana-program", + "spl-discriminator", + "spl-pod", + "spl-program-error", + "spl-tlv-account-resolution", + "spl-type-length-value", +] + +[[package]] +name = "spl-type-length-value" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a468e6f6371f9c69aae760186ea9f1a01c2908351b06a5e0026d21cfc4d7ecac" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator", + "spl-pod", + "spl-program-error", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -5734,9 +6511,9 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck 0.4.1", - "proc-macro2 1.0.58", - "quote 1.0.27", + "heck", + "proc-macro2", + "quote", "rustversion", "syn 1.0.109", ] @@ -5753,36 +6530,25 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", -] - [[package]] name = "syn" version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.16" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "unicode-ident", ] @@ -5798,10 +6564,10 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", + "proc-macro2", + "quote", "syn 1.0.109", - "unicode-xid 0.2.4", + "unicode-xid", ] [[package]] @@ -5820,18 +6586,39 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "225e483f02d0ad107168dc57381a8a40c3aeea6abe47f37506931f861643cfa8" dependencies = [ - "bitflags", + "bitflags 1.3.2", "byteorder", "libc", "thiserror", "walkdir", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tar" -version = "0.4.38" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" dependencies = [ "filetime", "libc", @@ -5840,15 +6627,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.5.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if 1.0.0", "fastrand", - "redox_syscall 0.3.5", - "rustix", - "windows-sys 0.45.0", + "redox_syscall 0.4.1", + "rustix 0.38.21", + "windows-sys 0.48.0", ] [[package]] @@ -5877,22 +6664,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -5915,17 +6702,6 @@ dependencies = [ "tikv-jemalloc-sys", ] -[[package]] -name = "time" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi 0.3.9", -] - [[package]] name = "time" version = "0.3.21" @@ -5989,22 +6765,21 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.14.1" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d0183f6f6001549ab68f8c7585093bb732beefbcf6d23a10b9b95c73a1dd49" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ - "autocfg", + "backtrace", "bytes", "libc", - "memchr", "mio", "num_cpus", - "once_cell", - "parking_lot 0.11.2", + "parking_lot 0.12.1", "pin-project-lite", "signal-hook-registry", + "socket2 0.5.5", "tokio-macros", - "winapi 0.3.9", + "windows-sys 0.48.0", ] [[package]] @@ -6019,13 +6794,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -6040,41 +6815,19 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" -dependencies = [ - "rustls 0.19.1", - "tokio", - "webpki 0.21.4", -] - -[[package]] -name = "tokio-rustls" -version = "0.23.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" -dependencies = [ - "rustls 0.20.8", - "tokio", - "webpki 0.22.0", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0d409377ff5b1e3ca6437aa86c1eb7d40c134bfec254e44c830defa92669db5" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.1", + "rustls", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.12" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" dependencies = [ "futures-core", "pin-project-lite", @@ -6083,18 +6836,17 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.17.2" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f714dd15bead90401d77e04243611caec13726c2408afd5b31901dfcdcb3b181" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", "log", - "rustls 0.20.8", + "rustls", "tokio", - "tokio-rustls 0.23.4", + "tokio-rustls", "tungstenite", - "webpki 0.22.0", - "webpki-roots 0.22.6", + "webpki-roots 0.25.2", ] [[package]] @@ -6147,53 +6899,21 @@ version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" dependencies = [ - "indexmap", + "indexmap 1.9.3", "toml_datetime", "winnow", ] [[package]] name = "tonic" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08f4649d10a70ffa3522ca559031285d8e421d727ac85c60825761818f5d0a" -dependencies = [ - "async-stream", - "async-trait", - "base64 0.13.1", - "bytes", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-timeout", - "percent-encoding 2.2.0", - "pin-project", - "prost 0.9.0", - "prost-derive 0.9.0", - "tokio", - "tokio-rustls 0.22.0", - "tokio-stream", - "tokio-util 0.6.10", - "tower", - "tower-layer", - "tower-service", - "tracing", - "tracing-futures", -] - -[[package]] -name = "tonic" -version = "0.8.3" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb" +checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" dependencies = [ "async-stream", "async-trait", "axum 0.6.18", - "base64 0.13.1", + "base64 0.21.5", "bytes", "futures-core", "futures-util", @@ -6202,91 +6922,75 @@ dependencies = [ "http-body", "hyper", "hyper-timeout", - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", "pin-project", "prost 0.11.9", - "prost-derive 0.11.9", - "rustls-pemfile 1.0.2", + "rustls-pemfile", "tokio", - "tokio-rustls 0.23.4", + "tokio-rustls", "tokio-stream", - "tokio-util 0.7.2", "tower", "tower-layer", "tower-service", "tracing", - "tracing-futures", ] [[package]] name = "tonic" -version = "0.9.2" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" dependencies = [ "async-stream", "async-trait", "axum 0.6.18", - "base64 0.21.0", + "base64 0.21.5", "bytes", - "futures-core", - "futures-util", "h2", "http", "http-body", "hyper", "hyper-timeout", - "percent-encoding 2.2.0", + "percent-encoding 2.3.0", "pin-project", - "prost 0.11.9", + "prost 0.12.1", + "rustls", "rustls-native-certs", - "rustls-pemfile 1.0.2", + "rustls-pemfile", "tokio", - "tokio-rustls 0.24.0", + "tokio-rustls", "tokio-stream", "tower", "tower-layer", "tower-service", "tracing", - "webpki-roots 0.23.0", -] - -[[package]] -name = "tonic-build" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9403f1bafde247186684b230dc6f38b5cd514584e8bec1dd32514be4745fa757" -dependencies = [ - "proc-macro2 1.0.58", - "prost-build 0.9.0", - "quote 1.0.27", - "syn 1.0.109", + "webpki-roots 0.25.2", ] [[package]] name = "tonic-build" -version = "0.8.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" +checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07" dependencies = [ - "prettyplease", - "proc-macro2 1.0.58", + "prettyplease 0.1.25", + "proc-macro2", "prost-build 0.11.9", - "quote 1.0.27", + "quote", "syn 1.0.109", ] [[package]] name = "tonic-build" -version = "0.9.2" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07" +checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" dependencies = [ - "prettyplease", - "proc-macro2 1.0.58", - "prost-build 0.11.9", - "quote 1.0.27", - "syn 1.0.109", + "prettyplease 0.2.15", + "proc-macro2", + "prost-build 0.12.1", + "quote", + "syn 2.0.39", ] [[package]] @@ -6297,7 +7001,7 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", - "indexmap", + "indexmap 1.9.3", "pin-project", "pin-project-lite", "rand 0.8.5", @@ -6315,7 +7019,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" dependencies = [ - "bitflags", + "bitflags 1.3.2", "bytes", "futures-core", "futures-util", @@ -6359,9 +7063,9 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -6373,16 +7077,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "trees" version = "0.4.2" @@ -6397,24 +7091,23 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "tungstenite" -version = "0.17.3" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" dependencies = [ - "base64 0.13.1", "byteorder", "bytes", + "data-encoding", "http", "httparse", "log", "rand 0.8.5", - "rustls 0.20.8", - "sha-1 0.10.1", + "rustls", + "sha1", "thiserror", - "url 2.3.1", + "url 2.4.1", "utf-8", - "webpki 0.22.0", - "webpki-roots 0.22.6", + "webpki-roots 0.24.0", ] [[package]] @@ -6459,24 +7152,12 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-segmentation" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" - [[package]] name = "unicode-width" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" - [[package]] name = "unicode-xid" version = "0.2.4" @@ -6493,15 +7174,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "unix_socket2" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b57c6eace16c00eccb98a28e85db3370eab0685bdd5e13831d59e2bcb49a1d8a" -dependencies = [ - "libc", -] - [[package]] name = "unreachable" version = "1.0.0" @@ -6511,12 +7183,24 @@ dependencies = [ "void", ] +[[package]] +name = "unsafe-libyaml" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" + [[package]] name = "untrusted" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "uriparse" version = "0.6.4" @@ -6540,23 +7224,13 @@ dependencies = [ [[package]] name = "url" -version = "2.3.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", - "idna 0.3.0", - "percent-encoding 2.2.0", -] - -[[package]] -name = "users" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4227e95324a443c9fcb06e03d4d85e91aabe9a5a02aa818688b6918b6af486" -dependencies = [ - "libc", - "log", + "idna 0.4.0", + "percent-encoding 2.3.0", ] [[package]] @@ -6621,12 +7295,6 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -6635,9 +7303,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.86" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -6645,16 +7313,16 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.86" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", "wasm-bindgen-shared", ] @@ -6672,32 +7340,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.86" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ - "quote 1.0.27", + "quote", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.86" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.86" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "web-sys" @@ -6709,43 +7377,20 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring", - "untrusted", -] - -[[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 0.22.0", + "rustls-webpki", ] [[package]] name = "webpki-roots" -version = "0.23.0" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa54963694b65584e170cf5dc46aeb4dcaa5584e652ff5f3952e56d66aff0125" -dependencies = [ - "rustls-webpki", -] +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "which" @@ -6968,11 +7613,12 @@ dependencies = [ [[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 0.48.0", ] [[package]] @@ -6990,34 +7636,45 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.21", + "time", ] [[package]] name = "xattr" -version = "0.2.3" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" dependencies = [ "libc", ] [[package]] -name = "yaml-rust" -version = "0.4.5" +name = "yasna" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +dependencies = [ + "time", +] + +[[package]] +name = "zerocopy" +version = "0.7.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557" dependencies = [ - "linked-hash-map", + "zerocopy-derive", ] [[package]] -name = "yasna" -version = "0.5.2" +name = "zerocopy-derive" +version = "0.7.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b" dependencies = [ - "time 0.3.21", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -7035,9 +7692,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.58", - "quote 1.0.27", - "syn 2.0.16", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 88fcdf52..388a4ece 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,16 +3,74 @@ members = [ "block_engine", "core", "jito-protos", - "packet_blaster", +# "packet_blaster", "relayer", "rpc", "transaction-relayer", "web" ] -[profile.release] +[workspace.dependencies] +axum = "0.5.17" +bincode = "1.3.3" +bytes = "1.4.0" +cached = "0.42.0" +chrono = "0.4.24" +clap = { version = "4", features = ["derive", "env"] } +crossbeam-channel = "0.5.8" +dashmap = "5.4.0" +ed25519-dalek = "1.0.1" +env_logger = "0.9" +futures-util = "0.3" +histogram = "0.6.9" +hostname = "0.3" +itertools = "0.10.5" +jito-block-engine = { path = "block_engine" } +jito-core = { path = "core" } +jito-protos = { path = "jito-protos" } +jito-relayer = { path = "relayer" } +jito-relayer-web = { path = "web" } +jito-rpc = { path = "rpc" } +jwt = { version = "0.16.0", features = ["openssl"] } +keyed_priority_queue = "0.4.1" +lazy_static = "1.4.0" +log = "0.4.17" +once_cell = "1" +openssl = "0.10.51" +prost = "0.12.1" +prost-types = "0.12.1" +quinn = "0.9" +rand = "0.8.5" +rayon = "1.7.0" +reqwest = "0.11.16" +rustls = { version = "0.20", features = ["dangerous_configuration"] } +serde = { version = "1.0.160", features = ["derive"] } +serde_json = "1.0.96" +sha2 = "0.10.6" +solana-address-lookup-table-program = "1.16.18" +solana-client = "1.16.18" +solana-core = "1.16.18" +solana-gossip = "1.16.18" +solana-measure = "1.16.18" +solana-metrics = "1.16.18" +solana-net-utils = "1.16.18" +solana-perf = "1.16.18" +solana-program = "1.16.18" +solana-rayon-threadlimit = "1.16.18" +solana-runtime = "1.16.18" +solana-sdk = "1.16.18" +solana-streamer = "1.16.18" +thiserror = "1.0.40" +tikv-jemallocator = { version = "0.5", features = ["profiling"] } +tokio = { version = "1.33.0", features = ["rt-multi-thread"] } +tokio-stream = "0.1.12" +tonic = { version = "0.10.2", features = ["tls", "tls-roots", "tls-webpki-roots"] } +tonic-build = "0.10.2" +tower = { version = "0.4.1", features = ["limit"] } + +#[profile.release] # thin has minimal overhead vs none (default): https://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html -lto = "thin" +#lto = "thin" # enable debug symbols for profiling the heap using jeprof # example: jeprof --web target/release/jito-transaction-relayer jeprof.3085546.9823.i24.heap diff --git a/block_engine/Cargo.toml b/block_engine/Cargo.toml index 02f5c237..0bf509cf 100644 --- a/block_engine/Cargo.toml +++ b/block_engine/Cargo.toml @@ -8,15 +8,15 @@ edition = "2021" publish = false [dependencies] -cached = "0.42.0" -dashmap = "5.4.0" -jito-protos = { path = "../jito-protos" } -log = "0.4.17" -prost-types = "0.11.9" -solana-metrics = "=1.14.18" -solana-perf = "=1.14.18" -solana-sdk = "=1.14.18" -thiserror = "1.0.40" -tokio = { version = "~1.14.1", features = ["rt-multi-thread"] } -tokio-stream = "0.1.12" -tonic = { version = "0.9.2", features = ["tls", "tls-roots", "tls-webpki-roots"] } +cached = { workspace = true } +dashmap = { workspace = true } +jito-protos = { workspace = true } +log = { workspace = true } +prost-types = { workspace = true } +solana-metrics = { workspace = true } +solana-perf = { workspace = true } +solana-sdk = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true } +tokio-stream = { workspace = true } +tonic = { workspace = true } diff --git a/core/Cargo.toml b/core/Cargo.toml index 29ae32a5..c7cf8a23 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -8,23 +8,23 @@ edition = "2021" publish = false [dependencies] -bincode = "1.3.3" -crossbeam-channel = "0.5.8" -dashmap = "5.4.0" -jito-rpc = { path = "../rpc" } -lazy_static = "1.4.0" -log = "0.4.17" -rayon = "1.7.0" -solana-client = "=1.14.18" -solana-core = "=1.14.18" -solana-gossip = "=1.14.18" -solana-measure = "=1.14.18" -solana-metrics = "=1.14.18" -solana-perf = "=1.14.18" -solana-rayon-threadlimit = "=1.14.18" -solana-runtime = "=1.14.18" -solana-sdk = "=1.14.18" -solana-streamer = "=1.14.18" -thiserror = "1.0.40" -tokio = { version = "~1.14.1", features = ["rt-multi-thread"] } -tokio-stream = "0.1.12" +bincode = { workspace = true } +crossbeam-channel = { workspace = true } +dashmap = { workspace = true } +jito-rpc = { workspace = true } +lazy_static = { workspace = true } +log = { workspace = true } +rayon = { workspace = true } +solana-client = { workspace = true } +solana-core = { workspace = true } +solana-gossip = { workspace = true } +solana-measure = { workspace = true } +solana-metrics = { workspace = true } +solana-perf = { workspace = true } +solana-rayon-threadlimit = { workspace = true } +solana-runtime = { workspace = true } +solana-sdk = { workspace = true } +solana-streamer = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true } +tokio-stream = { workspace = true } diff --git a/jito-protos/Cargo.toml b/jito-protos/Cargo.toml index 210e2917..e221325b 100644 --- a/jito-protos/Cargo.toml +++ b/jito-protos/Cargo.toml @@ -5,12 +5,12 @@ edition = "2021" publish = false [dependencies] -bytes = "1.4.0" -prost = "0.11.9" -prost-types = "0.11.9" -solana-perf = "=1.14.18" -solana-sdk = "=1.14.18" -tonic = "0.9.2" +bytes = { workspace = true } +prost = { workspace = true } +prost-types = { workspace = true } +solana-perf = { workspace = true } +solana-sdk = { workspace = true } +tonic = { workspace = true } [build-dependencies] -tonic-build = "0.9.2" +tonic-build = { workspace = true } diff --git a/jito-protos/src/convert.rs b/jito-protos/src/convert.rs index 711b579e..f2dcb991 100644 --- a/jito-protos/src/convert.rs +++ b/jito-protos/src/convert.rs @@ -6,17 +6,17 @@ pub fn packet_to_proto_packet(p: &Packet) -> Option { Some(ProtoPacket { data: p.data(..)?.to_vec(), meta: Some(ProtoMeta { - size: p.meta.size as u64, - addr: p.meta.addr.to_string(), - port: p.meta.port as u32, + size: p.meta().size as u64, + addr: p.meta().addr.to_string(), + port: p.meta().port as u32, flags: Some(ProtoPacketFlags { - discard: p.meta.discard(), - forwarded: p.meta.forwarded(), - repair: p.meta.repair(), - simple_vote_tx: p.meta.is_simple_vote_tx(), - tracer_packet: p.meta.is_tracer_packet(), + discard: p.meta().discard(), + forwarded: p.meta().forwarded(), + repair: p.meta().repair(), + simple_vote_tx: p.meta().is_simple_vote_tx(), + tracer_packet: p.meta().is_tracer_packet(), }), - sender_stake: p.meta.sender_stake, + sender_stake: 0, }), }) } diff --git a/packet_blaster/Cargo.toml b/packet_blaster/Cargo.toml index 409587fd..da0b2122 100644 --- a/packet_blaster/Cargo.toml +++ b/packet_blaster/Cargo.toml @@ -4,19 +4,19 @@ version = "0.1.0" edition = "2021" [dependencies] -bincode = "1.3.3" -clap = { version = "4", features = ["derive", "env"] } -env_logger = "0.9" -futures-util = "0.3" -itertools = "0.10" -log = "0.4.17" -once_cell = "1" -quinn = "0.9" -rustls = { version = "0.20", features = ["dangerous_configuration"] } -solana-client = "=1.14.18" -solana-net-utils = "=1.14.18" -solana-perf = "=1.14.18" -solana-sdk = "=1.14.18" -solana-streamer = "=1.14.18" -thiserror = "1.0" -tokio = { version = "~1.14.1", features = ["rt-multi-thread"] } +bincode = { workspace = true } +clap = { workspace = true } +env_logger = { workspace = true } +futures-util ={ workspace = true } +itertools ={ workspace = true } +log ={ workspace = true } +once_cell ={ workspace = true } +quinn = { workspace = true } +rustls = { workspace = true } +solana-client = { workspace = true } +solana-net-utils = { workspace = true } +solana-perf = { workspace = true } +solana-sdk = { workspace = true } +solana-streamer = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true } diff --git a/relayer/Cargo.toml b/relayer/Cargo.toml index 25ea11c6..b777160a 100644 --- a/relayer/Cargo.toml +++ b/relayer/Cargo.toml @@ -8,25 +8,25 @@ edition = "2021" publish = false [dependencies] -chrono = "0.4.24" -crossbeam-channel = "0.5.8" -ed25519-dalek = "1.0.1" -histogram = "0.6.9" -jito-protos = { path = "../jito-protos" } -jito-rpc = { path = "../rpc" } -jwt = { version = "0.16.0", features = ["openssl"] } -keyed_priority_queue = "0.4.1" -log = "0.4.17" -openssl = "0.10.51" -prost-types = "0.11.9" -rand = "0.8.5" -serde = "1.0.160" -sha2 = "0.10.6" -solana-client = "=1.14.18" -solana-metrics = "=1.14.18" -solana-perf = "=1.14.18" -solana-sdk = "=1.14.18" -thiserror = "1.0.40" -tokio = { version = "~1.14.1" } -tokio-stream = "0.1.12" -tonic = "0.9.2" +chrono = { workspace = true } +crossbeam-channel = { workspace = true } +ed25519-dalek = { workspace = true } +histogram = { workspace = true } +jito-protos = { workspace = true } +jito-rpc = { workspace = true } +jwt = { workspace = true } +keyed_priority_queue = { workspace = true } +log = { workspace = true } +openssl = { workspace = true } +prost-types = { workspace = true } +rand = { workspace = true } +serde = { workspace = true } +sha2 = { workspace = true } +solana-client = { workspace = true } +solana-metrics = { workspace = true } +solana-perf = { workspace = true } +solana-sdk = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true } +tokio-stream = { workspace = true } +tonic = { workspace = true } diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index dce571b5..63dd086d 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -8,9 +8,9 @@ edition = "2021" publish = false [dependencies] -crossbeam-channel = "0.5.8" -dashmap = "5" -log = "0.4.17" -solana-client = "=1.14.18" -solana-metrics = "=1.14.18" -solana-sdk = "=1.14.18" +crossbeam-channel = { workspace = true } +dashmap = { workspace = true } +log = { workspace = true } +solana-client = { workspace = true } +solana-metrics = { workspace = true } +solana-sdk = { workspace = true } diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 00000000..8142c301 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +channel = "1.73.0" diff --git a/transaction-relayer/Cargo.toml b/transaction-relayer/Cargo.toml index eb4909a2..ff1edf34 100644 --- a/transaction-relayer/Cargo.toml +++ b/transaction-relayer/Cargo.toml @@ -8,34 +8,33 @@ edition = "2021" publish = false [dependencies] -bincode = "1.3.3" -clap = { version = "4", features = ["derive", "env"] } -crossbeam-channel = "0.5.8" -dashmap = "5.4.0" -env_logger = "0.9" -h2 = "=0.3.18" # CVE-2023-26964 -hostname = "0.3" -itertools = "0.10.5" -jito-block-engine = { path = "../block_engine" } -jito-core = { path = "../core" } -jito-protos = { path = "../jito-protos" } -jito-relayer = { path = "../relayer" } -jito-relayer-web = { path = "../web" } -jito-rpc = { path = "../rpc" } -jwt = { version = "0.16.0", features = ["openssl"] } -log = "0.4.17" -openssl = "0.10.51" -prost-types = "0.11.9" -reqwest = "0.11.16" -solana-address-lookup-table-program = "=1.14.18" -solana-client = "=1.14.18" -solana-core = "=1.14.18" -solana-metrics = "=1.14.18" -solana-net-utils = "=1.14.18" -solana-perf = "=1.14.18" -solana-program = "=1.14.18" -solana-sdk = "=1.14.18" -tikv-jemallocator = { version = "0.5", features = ["profiling"] } -tokio = { version = "~1.14.1", features = ["rt-multi-thread"] } -tokio-stream = "0.1.12" -tonic = "0.9.2" +bincode = { workspace = true } +clap = { workspace = true } +crossbeam-channel = { workspace = true } +dashmap = { workspace = true } +env_logger = { workspace = true } +hostname = { workspace = true } +itertools = { workspace = true } +jito-block-engine = { workspace = true } +jito-core = { workspace = true } +jito-protos = { workspace = true } +jito-relayer = { workspace = true } +jito-relayer-web = { workspace = true } +jito-rpc = { workspace = true } +jwt = { workspace = true } +log = { workspace = true } +openssl = { workspace = true } +prost-types = { workspace = true } +reqwest = { workspace = true } +solana-address-lookup-table-program = { workspace = true } +solana-client = { workspace = true } +solana-core = { workspace = true } +solana-metrics = { workspace = true } +solana-net-utils = { workspace = true } +solana-perf = { workspace = true } +solana-program = { workspace = true } +solana-sdk = { workspace = true } +tikv-jemallocator = { workspace = true } +tokio = { workspace = true } +tokio-stream = { workspace = true } +tonic = { workspace = true } diff --git a/web/Cargo.toml b/web/Cargo.toml index ff4e1f65..d73f162a 100644 --- a/web/Cargo.toml +++ b/web/Cargo.toml @@ -8,11 +8,11 @@ edition = "2021" publish = false [dependencies] -axum = "0.5.17" -jito-relayer = { path = "../relayer" } -log = "0.4.17" -serde = { version = "1.0.160", features = ["derive"] } -serde_json = "1.0.96" -solana-sdk = "=1.14.18" -tokio = "~1.14.0" -tower = { version = "0.4.1", features = ["limit"] } +axum = { workspace = true } +jito-relayer = { workspace = true } +log = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +solana-sdk = { workspace = true } +tokio = { workspace = true } +tower = { workspace = true } From 7f84d90ec6cdc256ae48f9aefb91975765c409fe Mon Sep 17 00:00:00 2001 From: Lucas B Date: Tue, 21 Nov 2023 21:47:47 -0600 Subject: [PATCH 02/22] done --- Cargo.lock | 1165 +++++++++++----------- Cargo.toml | 29 +- block_engine/Cargo.toml | 2 + block_engine/src/block_engine.rs | 73 +- core/src/fetch_stage.rs | 2 +- core/src/lib.rs | 2 +- core/src/{ofac_stage.rs => ofac.rs} | 277 +---- core/src/staked_nodes_updater_service.rs | 70 +- core/src/tpu.rs | 118 +-- relayer/Cargo.toml | 3 + relayer/src/relayer.rs | 47 +- transaction-relayer/src/forwarder.rs | 50 +- transaction-relayer/src/main.rs | 7 +- 13 files changed, 753 insertions(+), 1092 deletions(-) rename core/src/{ofac_stage.rs => ofac.rs} (54%) diff --git a/Cargo.lock b/Cargo.lock index 1098f325..7f6207b8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -65,11 +65,11 @@ dependencies = [ [[package]] name = "ahash" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.11", "once_cell", "version_check", ] @@ -81,7 +81,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ "cfg-if 1.0.0", - "getrandom 0.2.10", + "getrandom 0.2.11", "once_cell", "version_check", "zerocopy", @@ -89,18 +89,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.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -152,30 +143,29 @@ dependencies = [ [[package]] name = "anstream" -version = "0.3.2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is-terminal", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" dependencies = [ "utf8parse", ] @@ -191,9 +181,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.1" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" dependencies = [ "anstyle", "windows-sys 0.48.0", @@ -201,9 +191,9 @@ dependencies = [ [[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 = "arc-swap" @@ -234,7 +224,7 @@ dependencies = [ "ark-std", "derivative", "hashbrown 0.13.2", - "itertools", + "itertools 0.10.5", "num-traits", "zeroize", ] @@ -251,7 +241,7 @@ dependencies = [ "ark-std", "derivative", "digest 0.10.7", - "itertools", + "itertools 0.10.5", "num-bigint 0.4.4", "num-traits", "paste", @@ -404,9 +394,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f658e2baef915ba0f26f1f7c42bfb8e12f532a01f449a090ded75ae7a07e9ba2" +checksum = "bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5" dependencies = [ "brotli", "flate2", @@ -523,9 +513,9 @@ dependencies = [ [[package]] name = "axum" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" +checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" dependencies = [ "async-trait", "axum-core 0.3.4", @@ -536,7 +526,7 @@ dependencies = [ "http-body", "hyper", "itoa", - "matchit 0.7.0", + "matchit 0.7.3", "memchr", "mime", "percent-encoding 2.3.0", @@ -589,7 +579,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" dependencies = [ "futures-core", - "getrandom 0.2.10", + "getrandom 0.2.11", "instant", "pin-project-lite", "rand 0.8.5", @@ -820,9 +810,9 @@ dependencies = [ [[package]] name = "brotli" -version = "3.3.4" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -831,9 +821,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "2.3.4" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -847,9 +837,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "1.4.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09" +checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" dependencies = [ "memchr", "serde", @@ -857,9 +847,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.12.2" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "bv" @@ -882,9 +872,9 @@ dependencies = [ [[package]] name = "bytemuck_derive" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" dependencies = [ "proc-macro2", "quote", @@ -893,9 +883,9 @@ dependencies = [ [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" @@ -934,7 +924,7 @@ dependencies = [ "async_once", "cached_proc_macro", "cached_proc_macro_types", - "futures 0.3.28", + "futures 0.3.29", "hashbrown 0.13.2", "instant", "lazy_static", @@ -1015,7 +1005,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.48.0", + "windows-targets 0.48.5", ] [[package]] @@ -1080,33 +1070,31 @@ dependencies = [ [[package]] name = "clap" -version = "4.2.7" +version = "4.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d21f9bf1b425d2968943631ec91202fe5e837264063503708b83013f8fc938" +checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" dependencies = [ "clap_builder", "clap_derive", - "once_cell", ] [[package]] name = "clap_builder" -version = "4.2.7" +version = "4.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914c8c79fb560f238ef6429439a30023c862f7a28e688c58f7203f12b29970bd" +checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" dependencies = [ "anstream", "anstyle", - "bitflags 1.3.2", - "clap_lex 0.4.1", + "clap_lex 0.6.0", "strsim 0.10.0", ] [[package]] name = "clap_derive" -version = "4.2.0" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ "heck", "proc-macro2", @@ -1125,9 +1113,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.4.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "colorchoice" @@ -1238,9 +1226,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.7" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] @@ -1277,22 +1265,22 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.14" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ "autocfg", "cfg-if 1.0.0", "crossbeam-utils", - "memoffset 0.8.0", + "memoffset 0.9.0", "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.15" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" dependencies = [ "cfg-if 1.0.0", ] @@ -1429,22 +1417,22 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.4.0" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.12.3", + "hashbrown 0.14.2", "lock_api", "once_cell", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.9", ] [[package]] name = "data-encoding" -version = "2.3.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "der" @@ -1469,6 +1457,15 @@ dependencies = [ "rusticata-macros", ] +[[package]] +name = "deranged" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] + [[package]] name = "derivation-path" version = "0.2.0" @@ -1650,9 +1647,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.32" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ "cfg-if 1.0.0", ] @@ -1698,25 +1695,14 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" dependencies = [ - "errno-dragonfly", "libc", "windows-sys 0.48.0", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "etcd-client" version = "0.11.1" @@ -1762,13 +1748,13 @@ checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" [[package]] name = "filetime" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.3.5", "windows-sys 0.48.0", ] @@ -1820,9 +1806,12 @@ dependencies = [ [[package]] name = "fs-err" -version = "2.9.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] [[package]] name = "fs_extra" @@ -1838,9 +1827,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" dependencies = [ "futures-channel", "futures-core", @@ -1853,9 +1842,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", "futures-sink", @@ -1863,15 +1852,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" dependencies = [ "futures-core", "futures-task", @@ -1881,15 +1870,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", @@ -1898,21 +1887,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures 0.1.31", "futures-channel", @@ -1963,9 +1952,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -1988,11 +1977,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", @@ -2006,7 +1995,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8af59a261bcf42f45d1b261232847b9b850ba0a1419d6100698246fb66e9240" dependencies = [ "arc-swap", - "futures 0.3.28", + "futures 0.3.29", "log", "reqwest", "serde", @@ -2031,9 +2020,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.18" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" +checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" dependencies = [ "bytes", "fnv", @@ -2041,10 +2030,10 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 1.9.3", + "indexmap 2.1.0", "slab", "tokio", - "tokio-util 0.7.2", + "tokio-util 0.7.10", "tracing", ] @@ -2063,7 +2052,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" dependencies = [ - "ahash 0.7.6", + "ahash 0.7.7", ] [[package]] @@ -2072,7 +2061,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash 0.7.6", + "ahash 0.7.7", ] [[package]] @@ -2092,12 +2081,11 @@ checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" [[package]] name = "headers" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" +checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.13.1", - "bitflags 1.3.2", + "base64 0.21.5", "bytes", "headers-core", "http", @@ -2132,9 +2120,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "histogram" @@ -2172,6 +2160,15 @@ dependencies = [ "hmac 0.8.1", ] +[[package]] +name = "home" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +dependencies = [ + "windows-sys 0.48.0", +] + [[package]] name = "hostname" version = "0.3.1" @@ -2185,9 +2182,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes", "fnv", @@ -2207,9 +2204,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" @@ -2219,9 +2216,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" @@ -2246,7 +2243,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -2260,7 +2257,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca815a891b24fdfb243fa3239c86154392b0953ee584aa1a2a1f66d20cbe75cc" dependencies = [ "bytes", - "futures 0.3.28", + "futures 0.3.29", "headers", "http", "hyper", @@ -2312,16 +2309,16 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.56" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] @@ -2384,9 +2381,9 @@ dependencies = [ [[package]] name = "index_list" -version = "0.2.7" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9d968042a4902e08810946fc7cd5851eb75e80301342305af755ca06cb82ce" +checksum = "70891286cb8e844fdfcf1178b47569699f9e20b5ecc4b45a6240a64771444638" [[package]] name = "indexmap" @@ -2431,59 +2428,47 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "io-lifetimes" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" -version = "2.7.2" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] -name = "is-terminal" -version = "0.4.7" +name = "itertools" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix 0.37.19", - "windows-sys 0.48.0", + "either", ] [[package]] name = "itertools" -version = "0.10.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" dependencies = [ "either", ] [[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 = "jito-block-engine" version = "0.1.0" dependencies = [ "cached", - "dashmap 5.4.0", + "dashmap 5.5.3", + "jito-core", "jito-protos", "log", - "prost-types 0.12.1", + "prost-types 0.12.3", + "solana-core", "solana-metrics", "solana-perf", "solana-sdk", @@ -2499,7 +2484,7 @@ version = "0.1.0" dependencies = [ "bincode", "crossbeam-channel", - "dashmap 5.4.0", + "dashmap 5.5.3", "jito-rpc", "lazy_static", "log", @@ -2524,8 +2509,8 @@ name = "jito-protos" version = "0.1.0" dependencies = [ "bytes", - "prost 0.12.1", - "prost-types 0.12.1", + "prost 0.12.3", + "prost-types 0.12.3", "solana-perf", "solana-sdk", "tonic 0.10.2", @@ -2538,19 +2523,22 @@ version = "0.1.0" dependencies = [ "chrono", "crossbeam-channel", + "dashmap 5.5.3", "ed25519-dalek", "histogram", + "jito-core", "jito-protos", "jito-rpc", "jwt", "keyed_priority_queue", "log", "openssl", - "prost-types 0.12.1", + "prost-types 0.12.3", "rand 0.8.5", "serde", "sha2 0.10.8", "solana-client", + "solana-core", "solana-metrics", "solana-perf", "solana-sdk", @@ -2579,7 +2567,7 @@ name = "jito-rpc" version = "0.1.0" dependencies = [ "crossbeam-channel", - "dashmap 5.4.0", + "dashmap 5.5.3", "log", "solana-client", "solana-metrics", @@ -2591,12 +2579,12 @@ name = "jito-transaction-relayer" version = "0.1.0" dependencies = [ "bincode", - "clap 4.2.7", + "clap 4.4.8", "crossbeam-channel", - "dashmap 5.4.0", + "dashmap 5.5.3", "env_logger", "hostname", - "itertools", + "itertools 0.10.5", "jito-block-engine", "jito-core", "jito-protos", @@ -2606,7 +2594,7 @@ dependencies = [ "jwt", "log", "openssl", - "prost-types 0.12.1", + "prost-types 0.12.3", "reqwest", "solana-address-lookup-table-program", "solana-client", @@ -2624,9 +2612,9 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" dependencies = [ "libc", ] @@ -2658,7 +2646,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a" dependencies = [ "derive_more", - "futures 0.3.28", + "futures 0.3.29", "jsonrpc-core", "jsonrpc-pubsub", "log", @@ -2673,7 +2661,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "futures 0.3.28", + "futures 0.3.29", "futures-executor", "futures-util", "log", @@ -2688,7 +2676,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0" dependencies = [ - "futures 0.3.28", + "futures 0.3.29", "jsonrpc-client-transports", ] @@ -2710,7 +2698,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1dea6e07251d9ce6a552abfb5d7ad6bc290a4596c8dcc3d795fae2bbdc1f3ff" dependencies = [ - "futures 0.3.28", + "futures 0.3.29", "hyper", "jsonrpc-core", "jsonrpc-server-utils", @@ -2726,7 +2714,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011" dependencies = [ - "futures 0.3.28", + "futures 0.3.29", "jsonrpc-core", "lazy_static", "log", @@ -2742,7 +2730,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa4fdea130485b572c39a460d50888beb00afb3e35de23ccd7fad8ff19f0e0d4" dependencies = [ "bytes", - "futures 0.3.28", + "futures 0.3.29", "globset", "jsonrpc-core", "lazy_static", @@ -2790,11 +2778,11 @@ dependencies = [ [[package]] name = "keyed_priority_queue" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d63b6407b66fc81fc539dccf3ddecb669f393c5101b6a2be3976c95099a06e8" +checksum = "4ee7893dab2e44ae5f9d0173f26ff4aa327c10b01b06a72b52dd9405b628640d" dependencies = [ - "indexmap 1.9.3", + "indexmap 2.1.0", ] [[package]] @@ -2827,9 +2815,20 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.4.1", +] [[package]] name = "librocksdb-sys" @@ -2896,9 +2895,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", @@ -2918,21 +2917,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.3.7" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" - -[[package]] -name = "linux-raw-sys" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -2993,9 +2986,9 @@ checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb" [[package]] name = "matchit" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "memchr" @@ -3021,15 +3014,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.0" @@ -3136,9 +3120,9 @@ dependencies = [ [[package]] name = "net2" -version = "0.2.38" +version = "0.2.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631" +checksum = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac" dependencies = [ "cfg-if 0.1.10", "libc", @@ -3284,7 +3268,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.3", "libc", ] @@ -3324,7 +3308,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", "syn 2.0.39", @@ -3368,11 +3352,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.52" +version = "0.10.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" +checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "cfg-if 1.0.0", "foreign-types", "libc", @@ -3400,18 +3384,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.25.3+1.1.1t" +version = "300.1.6+3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924757a6a226bf60da5f7dd0311a34d2b52283dd82ddeb103208ddc66362f80c" +checksum = "439fac53e092cd7442a3660c85dde4643ab3b5bd39040912388dcdabf6b88085" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.87" +version = "0.9.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" +checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" dependencies = [ "cc", "libc", @@ -3422,9 +3406,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.5.0" +version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" [[package]] name = "ouroboros" @@ -3467,7 +3451,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.9", ] [[package]] @@ -3486,15 +3470,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.4.1", "smallvec", - "windows-sys 0.45.0", + "windows-targets 0.48.5", ] [[package]] @@ -3559,19 +3543,20 @@ dependencies = [ [[package]] name = "pest" -version = "2.6.0" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e68e84bfb01f0507134eac1e9b410a12ba379d064eab48c50ba4ce329a527b70" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" dependencies = [ + "memchr", "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.6.0" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b79d4c71c865a25a4322296122e3924d30bc8ee0834c8bfc8b95f7f054afbfb" +checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" dependencies = [ "pest", "pest_generator", @@ -3579,9 +3564,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.6.0" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c435bf1076437b851ebc8edc3a18442796b30f1728ffea6262d59bbe28b077e" +checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" dependencies = [ "pest", "pest_meta", @@ -3592,9 +3577,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.6.0" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745a452f8eb71e39ffd8ee32b3c5f51d03845f99786fa9b68db6ff509c505411" +checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" dependencies = [ "once_cell", "pest", @@ -3603,28 +3588,28 @@ 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.1.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", "quote", @@ -3684,6 +3669,12 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b" +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -3726,7 +3717,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", ] [[package]] @@ -3774,12 +3774,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", - "prost-derive 0.12.1", + "prost-derive 0.12.3", ] [[package]] @@ -3790,7 +3790,7 @@ checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck", - "itertools", + "itertools 0.10.5", "lazy_static", "log", "multimap", @@ -3806,20 +3806,20 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" +checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" dependencies = [ "bytes", "heck", - "itertools", + "itertools 0.11.0", "log", "multimap", "once_cell", "petgraph", "prettyplease 0.2.15", - "prost 0.12.1", - "prost-types 0.12.1", + "prost 0.12.3", + "prost-types 0.12.3", "regex", "syn 2.0.39", "tempfile", @@ -3833,7 +3833,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "syn 1.0.109", @@ -3841,12 +3841,12 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.39", @@ -3863,11 +3863,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" +checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" dependencies = [ - "prost 0.12.1", + "prost 0.12.3", ] [[package]] @@ -3918,9 +3918,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c78e758510582acc40acb90458401172d41f1016f8c9dde89e49677afb7eec1" +checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" dependencies = [ "bytes", "rand 0.8.5", @@ -4015,7 +4015,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.11", ] [[package]] @@ -4038,9 +4038,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ "either", "rayon-core", @@ -4048,14 +4048,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -4079,6 +4077,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -4090,12 +4097,12 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom 0.2.10", - "redox_syscall 0.2.16", + "getrandom 0.2.11", + "libredox", "thiserror", ] @@ -4120,7 +4127,7 @@ version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ - "aho-corasick 1.0.1", + "aho-corasick", "memchr", "regex-automata", "regex-syntax", @@ -4132,7 +4139,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ - "aho-corasick 1.0.1", + "aho-corasick", "memchr", "regex-syntax", ] @@ -4178,7 +4185,7 @@ dependencies = [ "tokio", "tokio-native-tls", "tokio-rustls", - "tokio-util 0.7.2", + "tokio-util 0.7.10", "tower-service", "url 2.4.1", "wasm-bindgen", @@ -4210,7 +4217,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" dependencies = [ "cc", - "getrandom 0.2.10", + "getrandom 0.2.11", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -4238,23 +4245,23 @@ dependencies = [ [[package]] name = "rpassword" -version = "7.2.0" +version = "7.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" +checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" dependencies = [ "libc", "rtoolbox", - "winapi 0.3.9", + "windows-sys 0.48.0", ] [[package]] name = "rtoolbox" -version = "0.0.1" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" +checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" dependencies = [ "libc", - "winapi 0.3.9", + "windows-sys 0.48.0", ] [[package]] @@ -4289,36 +4296,22 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.7", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustix" -version = "0.38.21" +version = "0.38.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" +checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" dependencies = [ "bitflags 2.4.1", "errno", "libc", - "linux-raw-sys 0.4.10", + "linux-raw-sys", "windows-sys 0.48.0", ] [[package]] name = "rustls" -version = "0.21.8" +version = "0.21.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" +checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" dependencies = [ "log", "ring 0.17.5", @@ -4340,9 +4333,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ "base64 0.21.5", ] @@ -4365,9 +4358,9 @@ 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 = "same-file" @@ -4380,11 +4373,11 @@ 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 0.48.0", ] [[package]] @@ -4404,30 +4397,30 @@ dependencies = [ [[package]] name = "scroll_derive" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" +checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.39", ] [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.5", + "untrusted 0.9.0", ] [[package]] name = "security-framework" -version = "2.9.0" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2855b3715770894e67cbfa3df957790aa0c9edc3bf06efa1a84d77fa0839d1" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -4438,9 +4431,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", @@ -4454,9 +4447,9 @@ checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" [[package]] name = "serde" -version = "1.0.190" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" dependencies = [ "serde_derive", ] @@ -4472,9 +4465,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.190" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", @@ -4554,9 +4547,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -4617,9 +4610,9 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" [[package]] name = "shlex" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" [[package]] name = "signal-hook-registry" @@ -4660,18 +4653,18 @@ dependencies = [ [[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", ] [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "smpl_jwt" @@ -4691,9 +4684,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi 0.3.9", @@ -4717,7 +4710,7 @@ checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64 0.13.1", "bytes", - "futures 0.3.28", + "futures 0.3.29", "httparse", "log", "rand 0.8.5", @@ -4726,9 +4719,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5010de925850388b045a6d88e88f62944906f4f436ff48436b110f543f254ad6" +checksum = "df7138257d4e2cdc6349a6385825a51d20ab1a458661df7ca1d31e3436165a40" dependencies = [ "Inflector", "base64 0.21.5", @@ -4750,9 +4743,9 @@ dependencies = [ [[package]] name = "solana-accounts-db" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ecbff13efcef9bbce8f2019eb25a9837ec04dd921d7d938ce8170799522646" +checksum = "5ac9a43038ed52dd4a99f6343a0216fb8ce2a4ae205d92f377caaf65e3d437e1" dependencies = [ "arrayref", "bincode", @@ -4768,7 +4761,7 @@ dependencies = [ "fs-err", "im", "index_list", - "itertools", + "itertools 0.10.5", "lazy_static", "log", "lz4", @@ -4809,9 +4802,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4d2c97d290e3c040c95e264202aa6c92ce3f80dcedf4df08df0b6322611e141" +checksum = "0209bbb9e62330a4850ede86fc5e808a7e78d235963f60732041f96fe911e9f3" dependencies = [ "bincode", "bytemuck", @@ -4830,9 +4823,9 @@ dependencies = [ [[package]] name = "solana-bloom" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06404dab52b137a223300db2b0551d1e53dc9b92e6caede50414806fc648d8b" +checksum = "45a78fe0987a18034757063830f9ecc94ab05f670dbb8bc8ce84b147ed194e79" dependencies = [ "bv", "fnv", @@ -4849,9 +4842,9 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1daf55a458b1d53321bb445a9300acaf53ce92be23160e5d8c9a03a551cd97f1" +checksum = "536313ac32a79e301773fc06259a13f1992f68d65929464d503a60f749be8629" dependencies = [ "bincode", "byteorder", @@ -4868,9 +4861,9 @@ dependencies = [ [[package]] name = "solana-bucket-map" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4d5be015d366a1a08b704246dd54902f6e928212593419a348a65ac26726014" +checksum = "0b28fc5aa5b11f644b1b3852649c91c68de2d15779743542621847c9889dd5b2" dependencies = [ "bv", "bytemuck", @@ -4886,9 +4879,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a03569b14b9eb239fe1d19f990e3fb9b1a819a8b2fe723b40766fdd1453e974" +checksum = "a438d68cf354e0eb57e565569c735ddcd65414b1ff37c624329714be603aae76" dependencies = [ "chrono", "clap 2.34.0", @@ -4903,9 +4896,9 @@ dependencies = [ [[package]] name = "solana-cli-config" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edf569d8cbd0b298b17812090aed1b90552f0e5762189d22c8984f026ab9d42e" +checksum = "d674b29028c750bca5af55d8c5497f7eb0d55940d548418e9c7d3d3cbea2f7d7" dependencies = [ "dirs-next", "lazy_static", @@ -4919,14 +4912,14 @@ dependencies = [ [[package]] name = "solana-client" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2faa22fced7ed238942d12f203177273f945746210cff3e465961407ac12a96b" +checksum = "ca40e627a0eb0ecd2e194279f4a5f636414f6d7623095583822ecef5980e61fa" dependencies = [ "async-trait", "bincode", "dashmap 4.0.2", - "futures 0.3.28", + "futures 0.3.29", "futures-util", "indexmap 2.1.0", "indicatif", @@ -4952,9 +4945,9 @@ dependencies = [ [[package]] name = "solana-compute-budget-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66362681e03a7fa23e58e5a67a462ba52882bf487cc7fb06d99a027a70babad" +checksum = "b05fb9ef78a41b04d34f948e43397bafe9dc8258772babdd02332eb36883f558" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -4962,9 +4955,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fa1a537ec5fc4ba3c3951d2a010809721c240a2cfaab6d6da95a5f0b2f4797c" +checksum = "46661da639413c3e78f2658ce17faf2090d77a67800eafe7cc46645710f05bb4" dependencies = [ "bincode", "chrono", @@ -4976,9 +4969,9 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158fe99dc9e1ee82f35aae0da416fa6b23f7e17dbbb469427d532056f713a02a" +checksum = "10572a990a087daed7909a8b8e2436cd2e2d810903cc73efdcd31a36f80ad402" dependencies = [ "async-trait", "bincode", @@ -4998,9 +4991,9 @@ dependencies = [ [[package]] name = "solana-core" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16cc0da180d68024e75590e642a72fba7fb9a6c51ef300bfaed4fa0fbade4c6d" +checksum = "11aa4c8445a309d914fb4b4c295cb32f25ae718cb6b88fa9aa9fe49335bfdf19" dependencies = [ "base64 0.21.5", "bincode", @@ -5011,9 +5004,9 @@ dependencies = [ "dashmap 4.0.2", "eager", "etcd-client", - "futures 0.3.28", + "futures 0.3.29", "histogram", - "itertools", + "itertools 0.10.5", "lazy_static", "log", "lru", @@ -5072,9 +5065,9 @@ dependencies = [ [[package]] name = "solana-cost-model" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3a196cec1784e85f3c470527bd32d9c2770beb36a96e63dd686d35890a5f092" +checksum = "56c977874c3dc053064212f153b840392d82e62a4fea79d9e196e6ed6a37e712" dependencies = [ "lazy_static", "log", @@ -5096,9 +5089,9 @@ dependencies = [ [[package]] name = "solana-entry" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efc753989114f9cbf2722211a91a90af36776219f5023a1f27368f9837617e3f" +checksum = "cf02df461b89c19f8dbd04666520779001ab91899774694c657e67fa50856d7d" dependencies = [ "bincode", "crossbeam-channel", @@ -5118,9 +5111,9 @@ dependencies = [ [[package]] name = "solana-faucet" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d43c1b2839272c344fc6124bb6a9488b26d56430bc7265cadda114c91f4ea77" +checksum = "fcab1525acd38e43a8e9082c5a8299b5b72ed75303326ebaba8a1ac55ab1830f" dependencies = [ "bincode", "byteorder", @@ -5142,9 +5135,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80447a64ba88aff4ab1fe70c646b9a0ee65f190aa2977b1e7360066445f8ed34" +checksum = "06e33cbcaa4fb22729560b1f5078d809a81a7d54e8b4a0d8c0484cc419d1fc2f" dependencies = [ "ahash 0.8.6", "blake3", @@ -5172,9 +5165,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28b7325d40b3b3fef0db6917972e8121bec05fa2b59904212b25478c85924cd" +checksum = "29b21f4329e2ee2d0a3f948ba300407b8bf2055308ccc0c9afb2eca44cb1a322" dependencies = [ "proc-macro2", "quote", @@ -5184,9 +5177,9 @@ dependencies = [ [[package]] name = "solana-geyser-plugin-interface" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621cb833793d8b276be8247099bbdad5453cde36b557f7613467b0ed7f14944" +checksum = "d40b760f0792c1d0195af3857e86c05ce276ce0aa90467010076a28f85e82df2" dependencies = [ "log", "solana-sdk", @@ -5196,9 +5189,9 @@ dependencies = [ [[package]] name = "solana-geyser-plugin-manager" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8b1e946354dc8c3ded1f01418640cc5c2b1bcec0cc6224b55a36b0f863d42e5" +checksum = "26f401b00104cbd03fe2800ca34fb9c180e2a3c987c7998c8a1d0702cf338133" dependencies = [ "bs58", "crossbeam-channel", @@ -5223,9 +5216,9 @@ dependencies = [ [[package]] name = "solana-gossip" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb2c31ff7b8131fbe71cf5917b3ba865a6c04a91c9f8868f853c1f2e98cca61" +checksum = "59134fc223a90072897c42a2491cfc7c746cf0a49b9eab187acbceb00f671625" dependencies = [ "assert_matches", "bincode", @@ -5234,7 +5227,7 @@ dependencies = [ "crossbeam-channel", "flate2", "indexmap 2.1.0", - "itertools", + "itertools 0.10.5", "log", "lru", "num-traits", @@ -5273,9 +5266,9 @@ dependencies = [ [[package]] name = "solana-ledger" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f21cd14c5e2dfc0dea5c0b65fadd7f6f45137b0b7f79e19d4bd2ad295e82060" +checksum = "a5b86c8d38c991a7e0d5d28248facc23aaf9e114296f05eba41e79d9ace5d118" dependencies = [ "assert_matches", "bincode", @@ -5286,8 +5279,8 @@ dependencies = [ "crossbeam-channel", "dashmap 4.0.2", "fs_extra", - "futures 0.3.28", - "itertools", + "futures 0.3.29", + "itertools 0.10.5", "lazy_static", "libc", "log", @@ -5339,9 +5332,9 @@ dependencies = [ [[package]] name = "solana-loader-v4-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8826372b48a43e34466b64b98777050842d561b201715425bd0e315c34e78f12" +checksum = "828d31d6d4f4559299410a1057e2a52617018e6d4754089941d6ccbba825c2f0" dependencies = [ "log", "solana-measure", @@ -5352,9 +5345,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a224a0a87196c940472515838630e0ed6a49f97ea0d01d9dbeed0bb57390447" +checksum = "cf2142caa78bdc817e6f6b2a3d36a1d4e0338429b127c5fd4c184925c5e13991" dependencies = [ "env_logger", "lazy_static", @@ -5363,9 +5356,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf3d86eec20d13830a3c692e1428570d1e02dca750812ef58532dbda062e79b" +checksum = "b58887fd41f5de288397729d9f1875ba1fa7accf10a07e15df7179b39a38bd5f" dependencies = [ "log", "solana-sdk", @@ -5373,9 +5366,9 @@ dependencies = [ [[package]] name = "solana-merkle-tree" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb42de198ebc953f43dfe2508dccb33d40837ba1eddab05a8de123a2f8057cb" +checksum = "7d316c635b5807bec0cfea39f19787b4d5b7a45492758e20416411be02749e65" dependencies = [ "fast-math", "solana-program", @@ -5383,9 +5376,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b9e646b0d429c661500f3acc1a52adb292157a2f57fc855b298b437f07c9de" +checksum = "b4bfaebf0b74b9b7eb49bffd9517a0bad107eaa5bc40156b9fffa2ae49ef20d7" dependencies = [ "crossbeam-channel", "gethostname", @@ -5398,9 +5391,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca9b8bfb1876bc5386873f129dcd27fe08da8cd2f2d94c40351c5411cece365f" +checksum = "63992924212096f9806e4a64f212186412dd38e179f76f7d98505476e404e4c5" dependencies = [ "bincode", "clap 3.2.25", @@ -5420,9 +5413,9 @@ dependencies = [ [[package]] name = "solana-perf" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e3f15738555e4262181bcbcc6d2b7ac60693b6514556d5d44b791ee7b517a2e" +checksum = "9ba6b7178ef92f0778e6a83b3df7478c2988c193d3086666fd0dcc6686cc3202" dependencies = [ "ahash 0.8.6", "bincode", @@ -5449,9 +5442,9 @@ dependencies = [ [[package]] name = "solana-poh" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abc337ee9422282034c4104ec4c23e7c06c7afa92c9c36f9140971f112a913be" +checksum = "3b83491298b2e794fed7d7576847227521ca44e45cb8343a5404d8cb74023056" dependencies = [ "core_affinity", "crossbeam-channel", @@ -5467,9 +5460,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1fe4a811ec2c4b0c3773e5661ecfaff81f822c9e18866097caeba6be9338dab" +checksum = "71109871717258d6138b8e344e54958c768f14fe35153a963bd817b1c142fa79" dependencies = [ "ark-bn254", "ark-ec", @@ -5488,8 +5481,8 @@ dependencies = [ "console_error_panic_hook", "console_log", "curve25519-dalek", - "getrandom 0.2.10", - "itertools", + "getrandom 0.2.11", + "itertools 0.10.5", "js-sys", "lazy_static", "libc", @@ -5521,15 +5514,15 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41841bee09d81bed82ffebe1fb7fdebe3003d0fca5f3a6d03e3cb01ac5aed979" +checksum = "4a9218a980dd08e26c7663b2ce584046f754f65b468a7429543c9ac48e9ffeef" dependencies = [ "base64 0.21.5", "bincode", "eager", "enum-iterator", - "itertools", + "itertools 0.10.5", "libc", "log", "num-derive 0.3.3", @@ -5549,9 +5542,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18b8dd7a4139b47c0e364356890c8d80e7e6fa61d7e7932b9aeb034858001da0" +checksum = "9ea47d1cd7eec32567c2dbcb1882aaa5882d1fb78383aab3363b847a60409210" dependencies = [ "crossbeam-channel", "futures-util", @@ -5574,14 +5567,14 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec167e0a89e276beb3537cb1f8062eeee1c8c7450fcdd97bb146b9ca452028" +checksum = "8954617a09b28ab0955e207788b5d8638dcfc763e2cd617d977e9147517b682d" dependencies = [ "async-mutex", "async-trait", - "futures 0.3.28", - "itertools", + "futures 0.3.29", + "itertools 0.10.5", "lazy_static", "log", "quinn", @@ -5601,9 +5594,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1bfe12ceef4ba1c66c01528d3a420dc71bfebc2822ff7176e5e02229704efdd" +checksum = "91f84e78a2db79215c3d990c8d26ddcb9aed3af0a1cdd361816b67acaf64a979" dependencies = [ "lazy_static", "num_cpus", @@ -5611,9 +5604,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf6c9306ca3911cbca5918b9c8644494db18454388b2b586b9f3cf9a319f5a8a" +checksum = "bdd33ec995f43a813d5e3598f6d713eea754900f32db6c7a5966e78c074b039a" dependencies = [ "console", "dialoguer", @@ -5630,16 +5623,16 @@ dependencies = [ [[package]] name = "solana-rpc" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177854db0603584de09dae5f226bc6fe9ecd7e07068e8f0ec94923b1dc73e2ed" +checksum = "18a789c3326a58ec42eef950c6015fd2b46c93e1271151d6a377d62bdc894a22" dependencies = [ "base64 0.21.5", "bincode", "bs58", "crossbeam-channel", "dashmap 4.0.2", - "itertools", + "itertools 0.10.5", "jsonrpc-core", "jsonrpc-core-client", "jsonrpc-derive", @@ -5687,9 +5680,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16bfac7d8a3cb4ac6136779537e985ee8097ed424f2778cfabdcd5ca3fc44961" +checksum = "0c2b5de95f647b2019adeb6624c75df343d659ee85256e7996adddb64400df75" dependencies = [ "async-trait", "base64 0.21.5", @@ -5713,9 +5706,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e281e7ce2d2f7775973de6f8901baf7688ed3b38b93215fc417efeade0a858" +checksum = "8f29f7871d826499cd1a021c3257f7bcc409a6b71e9f6e7064c9b1d8c698ec78" dependencies = [ "base64 0.21.5", "bs58", @@ -5735,9 +5728,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2146bced7672bef5f288bb33923c39688ff64c085e7e189843eeb2a1570d402" +checksum = "c0c4b897989a5e30830c0d2d22a33980d6f6a4156fc4a63d52d6e99feb44c836" dependencies = [ "clap 2.34.0", "solana-clap-utils", @@ -5748,9 +5741,9 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1945e0a18ab88b6329fe34f931244374b7c03610fe8bcc17aade84e1d29c0d4e" +checksum = "ba5766627c68b40e71afe3de08195b7b5a78c4ed848c74e5e3e85995d97aef9b" dependencies = [ "arrayref", "base64 0.21.5", @@ -5768,7 +5761,7 @@ dependencies = [ "fs-err", "im", "index_list", - "itertools", + "itertools 0.10.5", "lazy_static", "log", "lru", @@ -5825,9 +5818,9 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c79894240bad61135a9ec86cd7709dcbc9e69eec8ebcc0b4066bccde6615600" +checksum = "fa9856edf27de2d32b91dc4faf08852e2231cc6b127337d71b34c43f248bf832" dependencies = [ "assert_matches", "base64 0.21.5", @@ -5844,7 +5837,7 @@ dependencies = [ "ed25519-dalek-bip32", "generic-array", "hmac 0.12.1", - "itertools", + "itertools 0.10.5", "js-sys", "lazy_static", "libsecp256k1", @@ -5879,9 +5872,9 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97dce8e347d73bcd9a6fe0b37bf830a20d0a4913ac58046c79959d5e15bbbed3" +checksum = "7cce3b1aceaaf92c82d9ea3e7326d1c7dce4dd7bc45421be8d3834f275ab464f" dependencies = [ "bs58", "proc-macro2", @@ -5892,9 +5885,9 @@ dependencies = [ [[package]] name = "solana-send-transaction-service" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a815ff06737272675dd6c3e5c8fd02143f6a2c2948ee2ac3be94c86f610a5cca" +checksum = "3e0053a052abc9ce4a7a2bcec61a9edb798c2aaf38b0e6dd308039aa0f0bb1d1" dependencies = [ "crossbeam-channel", "log", @@ -5908,9 +5901,9 @@ dependencies = [ [[package]] name = "solana-stake-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2e33782ffd904081e6953e8d8e26ef6f23e4944ec6be223ec52ad76ffcee4c" +checksum = "419cdb62addd653c76d3d3ef3ce9e6cb4d491c2d6f59680afb0d108b34d59260" dependencies = [ "bincode", "log", @@ -5923,9 +5916,9 @@ dependencies = [ [[package]] name = "solana-storage-bigtable" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cd2663bf2faa1d470c7cc5b34d8212624a93ba4d85270d410db1df25f55bb68" +checksum = "121321650f0050302f45ea856b5c75bf4fa8be613346e541ff6ceb23a7319461" dependencies = [ "backoff", "bincode", @@ -5933,7 +5926,7 @@ dependencies = [ "bzip2", "enum-iterator", "flate2", - "futures 0.3.28", + "futures 0.3.29", "goauth", "http", "hyper", @@ -5957,9 +5950,9 @@ dependencies = [ [[package]] name = "solana-storage-proto" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07d646589e84f450a468634374b227a0167e0af47ce5625064c2c0de45bfb798" +checksum = "46401851ff4116763ee2f5707eb363330f22e587fa160497c21500510b3a6c20" dependencies = [ "bincode", "bs58", @@ -5974,9 +5967,9 @@ dependencies = [ [[package]] name = "solana-streamer" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef6ad3550bfa2b19a34ded8e0bc48afa6329f4b035bbbb47e9cd4eea2f43b77" +checksum = "9e3371a51b49a2d7bd55ea345c5c67122282e34b2ed744e7062e4acf94075e75" dependencies = [ "async-channel", "bytes", @@ -5984,7 +5977,7 @@ dependencies = [ "futures-util", "histogram", "indexmap 2.1.0", - "itertools", + "itertools 0.10.5", "libc", "log", "nix", @@ -6006,9 +5999,9 @@ dependencies = [ [[package]] name = "solana-system-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c23412726972c4e79103814467c31f220edeae567f02dd6c1e38ce1190bb26f" +checksum = "c0f1b312f1f3638e76b1150f4a019f310711cfe5387364821db61ef1ad215e2e" dependencies = [ "bincode", "log", @@ -6020,9 +6013,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c37f63a745ce69c82492f9e5f64065931cc04f089c85f9fc8405d4157e5e1faa" +checksum = "7b524e0bdae28ef6d3890a6e046a9492e19347e2497c6418eb5dc2e0f25ee7bf" dependencies = [ "bincode", "log", @@ -6035,9 +6028,9 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0dd91049e3b36a123b8e06366def07c8e7b94ad3e2054acc2c21c2d64592ec" +checksum = "ec71f775779f1be75e2a341d4de2b0732dc314904c0b7a6c73abcbbe456032d1" dependencies = [ "async-trait", "bincode", @@ -6059,9 +6052,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e143ce053b0fe641f320c463c822c199d5b6849b0d844be009b8e7d6ecebf8e" +checksum = "4a0b68e5d2103184b34ed047e7424c564459fcf0ddad1e6b74eaefd44f341626" dependencies = [ "Inflector", "base64 0.21.5", @@ -6084,15 +6077,15 @@ dependencies = [ [[package]] name = "solana-turbine" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96bfc7b0b599dbb23897b8c56b525cc9a08eee34c3f6246701a4ab0a854ff823" +checksum = "bafffda6f035657ff09527d94eda24f396af99ea9e5b806fa7f72f9f04777ff9" dependencies = [ "bincode", "bytes", "crossbeam-channel", - "futures 0.3.28", - "itertools", + "futures 0.3.29", + "itertools 0.10.5", "log", "lru", "quinn", @@ -6121,9 +6114,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5adc5098bc0bed377909856ea645ce0129189b202e4dc39d900ee6a8f5bcc78" +checksum = "58f7f914502ccf4b4336bab86b6ce104344489917001c46cbb9c3367d18635f4" dependencies = [ "async-trait", "solana-connection-cache", @@ -6136,9 +6129,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d49400028b385d830fde8ec073c372394197bb493236442670117516db4b4a1" +checksum = "bc97ed56e360a52a800126d2bfb7cf1f2bf3b30fc3d8f15988f4560ddba58c2a" dependencies = [ "log", "rustc_version", @@ -6152,12 +6145,12 @@ dependencies = [ [[package]] name = "solana-vote" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53e7274d60a1787d37f2557f9b4a196c847405aaa6d1f9dd69e300b40e82dd3" +checksum = "30cce9071d89159a0c6bf1e66a481ae948b0e13d43e5f0147d6dd30fea0998e7" dependencies = [ "crossbeam-channel", - "itertools", + "itertools 0.10.5", "log", "rustc_version", "serde", @@ -6171,9 +6164,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af002db2bc89bfdc199d641929449d932248c38d2b39cb875f307aa4c4ff60bc" +checksum = "1a04868ec04dd8fac5ed4100a11b9ac616e0f5230a6678118bac685b85fecc1e" dependencies = [ "bincode", "log", @@ -6193,9 +6186,9 @@ dependencies = [ [[package]] name = "solana-zk-token-proof-program" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba0a33d0293176572a5786dfaf0429173463173228f58a4f6856bca8a19641af" +checksum = "53c122ae88f9aac95fb387c16c7cec90ce9963d9db17c667dd654ae344f58bad" dependencies = [ "bytemuck", "num-derive 0.3.3", @@ -6207,9 +6200,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.17.4" +version = "1.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48f33d2ce508c9e70aa7d2f1948f3a9df56ee66423252785c608b4023e0c01a" +checksum = "ac110323e0eaf7b2d1764ab35efbb8c17d40fbcfaecbd0829c025e357a6318f6" dependencies = [ "aes-gcm-siv", "base64 0.21.5", @@ -6218,7 +6211,7 @@ dependencies = [ "byteorder", "curve25519-dalek", "getrandom 0.1.16", - "itertools", + "itertools 0.10.5", "lazy_static", "merlin", "num-derive 0.3.3", @@ -6634,15 +6627,15 @@ dependencies = [ "cfg-if 1.0.0", "fastrand", "redox_syscall 0.4.1", - "rustix 0.38.21", + "rustix", "windows-sys 0.48.0", ] [[package]] name = "termcolor" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" dependencies = [ "winapi-util", ] @@ -6684,9 +6677,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.3+5.3.0-patched" +version = "0.5.4+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" dependencies = [ "cc", "libc", @@ -6694,9 +6687,9 @@ dependencies = [ [[package]] name = "tikv-jemallocator" -version = "0.5.0" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20612db8a13a6c06d57ec83953694185a367e16945f66565e8028d2c0bd76979" +checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca" dependencies = [ "libc", "tikv-jemalloc-sys", @@ -6704,11 +6697,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.21" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ + "deranged", "itoa", + "powerfmt", "serde", "time-core", "time-macros", @@ -6716,15 +6711,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ "time-core", ] @@ -6765,9 +6760,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.33.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes", @@ -6794,9 +6789,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", @@ -6866,9 +6861,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.2" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f988a1a1adc2fb21f9c12aa96441da33a1728193ae0b95d2be22dbd17fcb4e5c" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -6889,17 +6884,28 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.1" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] name = "toml_edit" -version = "0.19.8" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 1.9.3", + "indexmap 2.1.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", "toml_datetime", "winnow", ] @@ -6912,7 +6918,7 @@ checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" dependencies = [ "async-stream", "async-trait", - "axum 0.6.18", + "axum 0.6.20", "base64 0.21.5", "bytes", "futures-core", @@ -6943,7 +6949,7 @@ checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" dependencies = [ "async-stream", "async-trait", - "axum 0.6.18", + "axum 0.6.20", "base64 0.21.5", "bytes", "h2", @@ -6953,7 +6959,7 @@ dependencies = [ "hyper-timeout", "percent-encoding 2.3.0", "pin-project", - "prost 0.12.1", + "prost 0.12.3", "rustls", "rustls-native-certs", "rustls-pemfile", @@ -6988,7 +6994,7 @@ checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" dependencies = [ "prettyplease 0.2.15", "proc-macro2", - "prost-build 0.12.1", + "prost-build 0.12.3", "quote", "syn 2.0.39", ] @@ -7007,7 +7013,7 @@ dependencies = [ "rand 0.8.5", "slab", "tokio", - "tokio-util 0.7.2", + "tokio-util 0.7.10", "tower-layer", "tower-service", "tracing", @@ -7046,11 +7052,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if 1.0.0", "log", "pin-project-lite", "tracing-attributes", @@ -7059,9 +7064,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.24" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", @@ -7070,9 +7075,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", ] @@ -7112,21 +7117,21 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[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 = "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", ] @@ -7139,9 +7144,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.8" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -7154,9 +7159,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode-xid" @@ -7271,9 +7276,9 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "walkdir" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -7281,11 +7286,10 @@ dependencies = [ [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -7328,9 +7332,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.36" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e" +checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -7369,9 +7373,9 @@ checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "web-sys" -version = "0.3.63" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" dependencies = [ "js-sys", "wasm-bindgen", @@ -7394,13 +7398,14 @@ checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "which" -version = "4.4.0" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" dependencies = [ "either", - "libc", + "home", "once_cell", + "rustix", ] [[package]] @@ -7433,9 +7438,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi 0.3.9", ] @@ -7447,27 +7452,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows-core" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" 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", + "windows-targets 0.48.5", ] [[package]] @@ -7485,7 +7475,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.48.5", ] [[package]] @@ -7505,17 +7495,17 @@ 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 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] @@ -7526,9 +7516,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" @@ -7538,9 +7528,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" @@ -7550,9 +7540,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" @@ -7562,9 +7552,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[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" @@ -7574,9 +7564,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" @@ -7586,9 +7576,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" @@ -7598,15 +7588,15 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.4.6" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" dependencies = [ "memchr", ] @@ -7659,18 +7649,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.25" +version = "0.7.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557" +checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.25" +version = "0.7.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b" +checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" dependencies = [ "proc-macro2", "quote", @@ -7718,11 +7708,10 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index 388a4ece..c4228d79 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,7 @@ members = [ "transaction-relayer", "web" ] +resolver = "1" [workspace.dependencies] axum = "0.5.17" @@ -47,22 +48,22 @@ rustls = { version = "0.20", features = ["dangerous_configuration"] } serde = { version = "1.0.160", features = ["derive"] } serde_json = "1.0.96" sha2 = "0.10.6" -solana-address-lookup-table-program = "1.16.18" -solana-client = "1.16.18" -solana-core = "1.16.18" -solana-gossip = "1.16.18" -solana-measure = "1.16.18" -solana-metrics = "1.16.18" -solana-net-utils = "1.16.18" -solana-perf = "1.16.18" -solana-program = "1.16.18" -solana-rayon-threadlimit = "1.16.18" -solana-runtime = "1.16.18" -solana-sdk = "1.16.18" -solana-streamer = "1.16.18" +solana-address-lookup-table-program = "1.17.5" +solana-client = "1.17.5" +solana-core = "1.17.5" +solana-gossip = "1.17.5" +solana-measure = "1.17.5" +solana-metrics = "1.17.5" +solana-net-utils = "1.17.5" +solana-perf = "1.17.5" +solana-program = "1.17.5" +solana-rayon-threadlimit = "1.17.5" +solana-runtime = "1.17.5" +solana-sdk = "1.17.5" +solana-streamer = "1.17.5" thiserror = "1.0.40" tikv-jemallocator = { version = "0.5", features = ["profiling"] } -tokio = { version = "1.33.0", features = ["rt-multi-thread"] } +tokio = { version = "1.29.1", features = ["full"] } tokio-stream = "0.1.12" tonic = { version = "0.10.2", features = ["tls", "tls-roots", "tls-webpki-roots"] } tonic-build = "0.10.2" diff --git a/block_engine/Cargo.toml b/block_engine/Cargo.toml index 0bf509cf..1a5d9675 100644 --- a/block_engine/Cargo.toml +++ b/block_engine/Cargo.toml @@ -10,9 +10,11 @@ publish = false [dependencies] cached = { workspace = true } dashmap = { workspace = true } +jito-core = { workspace = true } jito-protos = { workspace = true } log = { workspace = true } prost-types = { workspace = true } +solana-core = { workspace = true } solana-metrics = { workspace = true } solana-perf = { workspace = true } solana-sdk = { workspace = true } diff --git a/block_engine/src/block_engine.rs b/block_engine/src/block_engine.rs index 6dc6d38a..22680a11 100644 --- a/block_engine/src/block_engine.rs +++ b/block_engine/src/block_engine.rs @@ -1,3 +1,4 @@ +use std::collections::HashSet; use std::{ str::FromStr, sync::{ @@ -11,6 +12,7 @@ use std::{ use cached::{Cached, TimedCache}; use dashmap::DashMap; +use jito_core::ofac::is_tx_ofac_related; use jito_protos::{ auth::{ auth_service_client::AuthServiceClient, GenerateAuthChallengeRequest, @@ -23,16 +25,16 @@ use jito_protos::{ PacketBatchUpdate, ProgramsOfInterestRequest, ProgramsOfInterestUpdate, }, convert::packet_to_proto_packet, - packet::{Packet as ProtoPacket, PacketBatch as ProtoPacketBatch}, + packet::PacketBatch as ProtoPacketBatch, shared::{Header, Heartbeat}, }; use log::{error, *}; use prost_types::Timestamp; +use solana_core::banking_trace::BankingPacketBatch; use solana_metrics::{datapoint_error, datapoint_info}; -use solana_perf::packet::PacketBatch; +use solana_sdk::address_lookup_table::AddressLookupTableAccount; use solana_sdk::{ - address_lookup_table_account::AddressLookupTableAccount, pubkey::Pubkey, signature::Signer, - signer::keypair::Keypair, transaction::VersionedTransaction, + pubkey::Pubkey, signature::Signer, signer::keypair::Keypair, transaction::VersionedTransaction, }; use thiserror::Error; use tokio::{ @@ -75,7 +77,7 @@ impl Interceptor for AuthInterceptor { } pub struct BlockEnginePackets { - pub packet_batches: Vec, + pub banking_packet_batch: BankingPacketBatch, pub stamp: SystemTime, pub expiration: u32, } @@ -109,6 +111,7 @@ impl BlockEngineRelayerHandler { aoi_cache_ttl_s: u64, address_lookup_table_cache: Arc>, is_connected_to_block_engine: &Arc, + ofac_addresses: HashSet, ) -> BlockEngineRelayerHandler { let is_connected_to_block_engine = is_connected_to_block_engine.clone(); let block_engine_forwarder = Builder::new() @@ -126,6 +129,7 @@ impl BlockEngineRelayerHandler { aoi_cache_ttl_s, &address_lookup_table_cache, &is_connected_to_block_engine, + &ofac_addresses, ) .await; is_connected_to_block_engine.store(false, Ordering::Relaxed); @@ -215,6 +219,7 @@ impl BlockEngineRelayerHandler { aoi_cache_ttl_s: u64, address_lookup_table_cache: &Arc>, is_connected_to_block_engine: &Arc, + ofac_addresses: &HashSet, ) -> BlockEngineResult<()> { let mut auth_endpoint = Endpoint::from_str(auth_service_url).expect("valid auth url"); if auth_service_url.contains("https") { @@ -279,6 +284,7 @@ impl BlockEngineRelayerHandler { aoi_cache_ttl_s, address_lookup_table_cache, is_connected_to_block_engine, + ofac_addresses, ) .await } @@ -300,6 +306,7 @@ impl BlockEngineRelayerHandler { aoi_cache_ttl_s: u64, address_lookup_table_cache: &Arc>, is_connected_to_block_engine: &Arc, + ofac_addresses: &HashSet, ) -> BlockEngineResult<()> { let subscribe_aoi_stream = client .subscribe_accounts_of_interest(AccountsOfInterestRequest {}) @@ -331,6 +338,7 @@ impl BlockEngineRelayerHandler { aoi_cache_ttl_s, address_lookup_table_cache, is_connected_to_block_engine, + ofac_addresses, ) .await } @@ -349,6 +357,7 @@ impl BlockEngineRelayerHandler { aoi_cache_ttl_s: u64, address_lookup_table_cache: &Arc>, is_connected_to_block_engine: &Arc, + ofac_addresses: &HashSet, ) -> BlockEngineResult<()> { let mut aoi_stream = subscribe_aoi_stream.into_inner(); let mut poi_stream = subscribe_poi_stream.into_inner(); @@ -413,8 +422,9 @@ impl BlockEngineRelayerHandler { .ok_or_else(|| BlockEngineError::BlockEngineFailure("block engine packet receiver disconnected".to_string()))?; let now = Instant::now(); - block_engine_stats.increment_num_packets_received(block_engine_batches.packet_batches.iter().map(|b|b.len() as u64).sum::()); - let filtered_packets = Self::filter_packets(block_engine_batches, &mut accounts_of_interest, &mut programs_of_interest, address_lookup_table_cache); + + block_engine_stats.increment_num_packets_received(1); // TODO (LB) + let filtered_packets = Self::filter_packets(block_engine_batches, &mut accounts_of_interest, &mut programs_of_interest, address_lookup_table_cache, ofac_addresses); block_engine_stats.increment_packet_filter_elapsed_us(now.elapsed().as_micros() as u64); if let Some(filtered_packets) = filtered_packets { @@ -616,33 +626,32 @@ impl BlockEngineRelayerHandler { accounts_of_interest: &mut TimedCache, programs_of_interest: &mut TimedCache, address_lookup_table_cache: &DashMap, + ofac_addresses: &HashSet, ) -> Option { - let filtered_packets: Vec = block_engine_batches - .packet_batches - .into_iter() - .flat_map(|b| { - b.iter() - .filter_map(|p| { - let tx: VersionedTransaction = p.deserialize_slice(..).ok()?; - - let is_forwardable = - is_aoi_in_static_keys(&tx, accounts_of_interest, programs_of_interest) - || is_aoi_in_lookup_table( - &tx, - accounts_of_interest, - programs_of_interest, - address_lookup_table_cache, - ); - - if is_forwardable { - Some(packet_to_proto_packet(p)?) - } else { - None + let mut filtered_packets = Vec::new(); + + for batch in &block_engine_batches.banking_packet_batch.0 { + for packet in batch { + if packet.meta().discard() { + continue; + } + if let Ok(tx) = packet.deserialize_slice::(..) { + if !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) + && (is_aoi_in_static_keys(&tx, accounts_of_interest, programs_of_interest) + || is_aoi_in_lookup_table( + &tx, + accounts_of_interest, + programs_of_interest, + address_lookup_table_cache, + )) + { + if let Some(packet) = packet_to_proto_packet(packet) { + filtered_packets.push(packet) } - }) - .collect::>() - }) - .collect::>(); + } + } + } + } if !filtered_packets.is_empty() { Some(ExpiringPacketBatch { diff --git a/core/src/fetch_stage.rs b/core/src/fetch_stage.rs index 611a7773..332a0eff 100644 --- a/core/src/fetch_stage.rs +++ b/core/src/fetch_stage.rs @@ -94,7 +94,7 @@ impl FetchStage { tpu_sender: &PacketBatchSender, ) -> FetchStageResult<()> { let mark_forwarded = |packet: &mut Packet| { - packet.meta.flags |= PacketFlags::FORWARDED; + packet.meta_mut().flags |= PacketFlags::FORWARDED; }; let mut packet_batch = tpu_forwards_receiver.recv()?; diff --git a/core/src/lib.rs b/core/src/lib.rs index 14773a56..c0615ad6 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -12,7 +12,7 @@ use std::{ use log::*; mod fetch_stage; -mod ofac_stage; +pub mod ofac; mod staked_nodes_updater_service; pub mod tpu; diff --git a/core/src/ofac_stage.rs b/core/src/ofac.rs similarity index 54% rename from core/src/ofac_stage.rs rename to core/src/ofac.rs index 707b5e3d..796a1925 100644 --- a/core/src/ofac_stage.rs +++ b/core/src/ofac.rs @@ -1,114 +1,11 @@ -use std::{ - collections::HashSet, - sync::Arc, - thread, - thread::{Builder, JoinHandle}, -}; +use std::collections::HashSet; -use crossbeam_channel::{Receiver, Sender}; use dashmap::DashMap; -use log::warn; -use solana_core::banking_stage::BankingPacketBatch; -use solana_perf::packet::PacketBatch; -use solana_sdk::{ - address_lookup_table_account::AddressLookupTableAccount, pubkey::Pubkey, - transaction::VersionedTransaction, -}; - -pub struct OfacStage { - ofac_thread: JoinHandle<()>, -} - -impl OfacStage { - pub fn new( - verified_receiver: Receiver, - ofac_sender: Sender, - ofac_addresses: &HashSet, - address_lookup_table_cache: &Arc>, - ) -> OfacStage { - let ofac_thread = if ofac_addresses.is_empty() { - Self::spawn_passthrough(verified_receiver, ofac_sender) - } else { - Self::spawn_ofac_thread( - verified_receiver, - ofac_sender, - ofac_addresses, - address_lookup_table_cache, - ) - }; - OfacStage { ofac_thread } - } - - pub fn join(self) -> thread::Result<()> { - self.ofac_thread.join() - } - - fn spawn_passthrough( - verified_receiver: Receiver, - ofac_sender: Sender, - ) -> JoinHandle<()> { - Builder::new() - .name("ofac_stage".into()) - .spawn(move || { - while let Ok(packets) = verified_receiver.recv() { - if ofac_sender.send(packets).is_err() { - warn!("ofac_sender send error, returning early"); - return; - } - } - warn!("verified_receiver receive error, returning early"); - }) - .unwrap() - } - - fn spawn_ofac_thread( - verified_receiver: Receiver, - ofac_sender: Sender, - ofac_addresses: &HashSet, - address_lookup_table_cache: &Arc>, - ) -> JoinHandle<()> { - let address_lookup_table_cache = address_lookup_table_cache.clone(); - let ofac_addresses = ofac_addresses.clone(); - Builder::new() - .name("ofac_stage".into()) - .spawn(move || { - while let Ok(mut packets) = verified_receiver.recv() { - packets.0.iter_mut().for_each(|packet_batch| { - discard_ofac_packets( - packet_batch, - &ofac_addresses, - &address_lookup_table_cache, - ); - }); - - if ofac_sender.send(packets).is_err() { - warn!("ofac_sender send error, returning early"); - return; - } - } - }) - .unwrap() - } -} - -/// Discards packets that mention any OFAC related transactions -fn discard_ofac_packets( - packet_batch: &mut PacketBatch, - ofac_addresses: &HashSet, - address_lookup_table_cache: &DashMap, -) { - for p in packet_batch.iter_mut().filter(|p| !p.meta.discard()) { - let tx: bincode::Result = p.deserialize_slice(..); - if let Ok(tx) = tx { - if is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) { - p.meta.set_discard(true); - } - } - } -} +use solana_sdk::address_lookup_table::AddressLookupTableAccount; +use solana_sdk::{pubkey::Pubkey, transaction::VersionedTransaction}; /// Returns true if transaction is ofac-related, false if not -fn is_tx_ofac_related( +pub fn is_tx_ofac_related( tx: &VersionedTransaction, ofac_addresses: &HashSet, address_lookup_table_cache: &DashMap, @@ -173,9 +70,8 @@ mod tests { transaction::{Transaction, VersionedTransaction}, }; - use crate::ofac_stage::{ - discard_ofac_packets, is_ofac_address_in_lookup_table, is_ofac_address_in_static_keys, - OfacStage, + use crate::ofac::{ + is_ofac_address_in_lookup_table, is_ofac_address_in_static_keys, is_tx_ofac_related, }; #[test] @@ -402,160 +298,15 @@ mod tests { let ofac_tx = VersionedTransaction::from(ofac_tx); let ofac_packet = Packet::from_data(None, &ofac_tx).expect("can create packet"); - let mut packet_batch = PacketBatch::new(vec![random_packet, ofac_packet]); - discard_ofac_packets( - &mut packet_batch, - &ofac_addresses, - &address_lookup_table_cache, - ); - - assert_eq!(packet_batch.len(), 2); - assert!(!packet_batch[0].meta.discard()); - assert!(packet_batch[1].meta.discard()); - } - - #[test] - fn test_ofac_stage_ofac_tx() { - let ofac_pubkey = Pubkey::new_unique(); - let ofac_addresses: HashSet = HashSet::from_iter([ofac_pubkey]); - - let address_lookup_table_cache = Arc::new(DashMap::new()); - - let payer = Keypair::new(); - - let random_tx = Transaction::new_signed_with_payer( - &[Instruction::new_with_bytes( - Pubkey::new_unique(), - &[0], - vec![AccountMeta { - pubkey: ofac_pubkey, - is_signer: false, - is_writable: false, - }], - )], - Some(&payer.pubkey()), - &[&payer], - Hash::default(), - ); - let random_tx = VersionedTransaction::from(random_tx); - let random_packet = Packet::from_data(None, &random_tx).expect("can create packet"); - - let (tx_sender, tx_receiver) = unbounded(); - let (ofac_sender, ofac_receiver) = unbounded(); - - let ofac_stage = OfacStage::new( - tx_receiver, - ofac_sender, - &ofac_addresses, - &address_lookup_table_cache, - ); - - tx_sender - .send((vec![PacketBatch::new(vec![random_packet])], None)) - .unwrap(); - - let packets = ofac_receiver.recv_timeout(Duration::from_secs(1)).unwrap(); - assert_eq!(packets.0.len(), 1); - assert_eq!(packets.0[0].len(), 1); - assert!(packets.0[0][0].meta.discard()); - - drop(tx_sender); - ofac_stage.join().unwrap(); - } - - #[test] - fn test_ofac_stage_non_ofac_tx() { - let ofac_pubkey = Pubkey::new_unique(); - let ofac_addresses: HashSet = HashSet::from_iter([ofac_pubkey]); - - let address_lookup_table_cache = Arc::new(DashMap::new()); - - let payer = Keypair::new(); - - let random_tx = Transaction::new_signed_with_payer( - &[Instruction::new_with_bytes( - Pubkey::new_unique(), - &[0], - vec![AccountMeta { - pubkey: Pubkey::new_unique(), - is_signer: false, - is_writable: false, - }], - )], - Some(&payer.pubkey()), - &[&payer], - Hash::default(), - ); - let random_tx = VersionedTransaction::from(random_tx); - let random_packet = Packet::from_data(None, &random_tx).expect("can create packet"); - - let (tx_sender, tx_receiver) = unbounded(); - let (ofac_sender, ofac_receiver) = unbounded(); - - let ofac_stage = OfacStage::new( - tx_receiver, - ofac_sender, + assert!(!is_tx_ofac_related( + &random_packet.deserialize_slice(..).unwrap(), &ofac_addresses, - &address_lookup_table_cache, - ); - - tx_sender - .send((vec![PacketBatch::new(vec![random_packet])], None)) - .unwrap(); - - let packets = ofac_receiver.recv_timeout(Duration::from_secs(1)).unwrap(); - assert_eq!(packets.0.len(), 1); - assert_eq!(packets.0[0].len(), 1); - assert!(!packets.0[0][0].meta.discard()); - - drop(tx_sender); - ofac_stage.join().unwrap(); - } - - #[test] - fn test_ofac_stage_passthrough() { - let ofac_addresses: HashSet = HashSet::new(); - let address_lookup_table_cache = Arc::new(DashMap::new()); - - let payer = Keypair::new(); - - let random_tx = Transaction::new_signed_with_payer( - &[Instruction::new_with_bytes( - Pubkey::new_unique(), - &[0], - vec![AccountMeta { - pubkey: Pubkey::new_unique(), - is_signer: false, - is_writable: false, - }], - )], - Some(&payer.pubkey()), - &[&payer], - Hash::default(), - ); - let random_tx = VersionedTransaction::from(random_tx); - let random_packet = Packet::from_data(None, &random_tx).expect("can create packet"); - - let (tx_sender, tx_receiver) = unbounded(); - let (ofac_sender, ofac_receiver) = unbounded(); - - let ofac_stage = OfacStage::new( - tx_receiver, - ofac_sender, + &address_lookup_table_cache + )); + assert!(is_tx_ofac_related( + &ofac_packet.deserialize_slice(..).unwrap(), &ofac_addresses, - &address_lookup_table_cache, - ); - - tx_sender - .send((vec![PacketBatch::new(vec![random_packet])], None)) - .unwrap(); - - let packets = ofac_receiver.recv_timeout(Duration::from_secs(1)).unwrap(); - assert_eq!(packets.0.len(), 1); - assert_eq!(packets.0[0].len(), 1); - assert!(!packets.0[0][0].meta.discard()); - - drop(tx_sender); - ofac_stage.join().unwrap(); + &address_lookup_table_cache + )); } } diff --git a/core/src/staked_nodes_updater_service.rs b/core/src/staked_nodes_updater_service.rs index 78c72d2e..81892738 100644 --- a/core/src/staked_nodes_updater_service.rs +++ b/core/src/staked_nodes_updater_service.rs @@ -1,6 +1,5 @@ use std::{ collections::HashMap, - net::IpAddr, str::FromStr, sync::{ atomic::{AtomicBool, Ordering}, @@ -11,7 +10,7 @@ use std::{ }; use jito_rpc::load_balancer::LoadBalancer; -use solana_client::{client_error, rpc_response::RpcContactInfo}; +use solana_client::client_error; use solana_sdk::pubkey::Pubkey; use solana_streamer::streamer::StakedNodes; @@ -32,20 +31,14 @@ impl StakedNodesUpdaterService { .spawn(move || { let mut last_stakes = Instant::now(); while !exit.load(Ordering::Relaxed) { - let mut new_ip_to_stake = HashMap::new(); - let mut total_stake = 0; - let mut new_pubkey_stake_map: HashMap = HashMap::new(); + let mut stake_map = Arc::new(HashMap::new()); if let Ok(true) = Self::try_refresh_ip_to_stake( &mut last_stakes, - &mut new_ip_to_stake, - &mut new_pubkey_stake_map, - &mut total_stake, + &mut stake_map, &rpc_load_balancer, ) { - let mut shared = shared_staked_nodes.write().unwrap(); - shared.total_stake = total_stake; - shared.ip_stake_map = new_ip_to_stake; - shared.pubkey_stake_map = new_pubkey_stake_map; + let shared = StakedNodes::new(stake_map, HashMap::default()); + *shared_staked_nodes.write().unwrap() = shared; } } }) @@ -56,49 +49,26 @@ impl StakedNodesUpdaterService { fn try_refresh_ip_to_stake( last_stakes: &mut Instant, - ip_to_stake: &mut HashMap, - pubkey_stake_map: &mut HashMap, - total_stake: &mut u64, + pubkey_stake_map: &mut Arc>, rpc_load_balancer: &Arc, ) -> client_error::Result { if last_stakes.elapsed() > IP_TO_STAKE_REFRESH_DURATION { let client = rpc_load_balancer.rpc_client(); let vote_accounts = client.get_vote_accounts()?; - let cluster_info: HashMap = client - .get_cluster_nodes()? - .into_iter() - .map(|contact_info| (contact_info.pubkey.to_string(), contact_info)) - .collect(); - *total_stake = vote_accounts - .current - .iter() - .chain(vote_accounts.delinquent.iter()) - .map(|acc| acc.activated_stake) - .sum(); - *ip_to_stake = vote_accounts - .current - .iter() - .chain(vote_accounts.delinquent.iter()) - .filter_map( - |vote_account| match cluster_info.get(&vote_account.node_pubkey) { - None => None, - Some(node_info) => { - Some((node_info.gossip?.ip(), vote_account.activated_stake)) - } - }, - ) - .collect(); - *pubkey_stake_map = vote_accounts - .current - .iter() - .chain(vote_accounts.delinquent.iter()) - .filter_map(|vote_account| { - Some(( - Pubkey::from_str(&vote_account.node_pubkey).ok()?, - vote_account.activated_stake, - )) - }) - .collect(); + + *pubkey_stake_map = Arc::new( + vote_accounts + .current + .iter() + .chain(vote_accounts.delinquent.iter()) + .filter_map(|vote_account| { + Some(( + Pubkey::from_str(&vote_account.node_pubkey).ok()?, + vote_account.activated_stake, + )) + }) + .collect(), + ); *last_stakes = Instant::now(); Ok(true) diff --git a/core/src/tpu.rs b/core/src/tpu.rs index a3d51f1d..f86081d3 100644 --- a/core/src/tpu.rs +++ b/core/src/tpu.rs @@ -2,38 +2,26 @@ //! multi-stage transaction processing pipeline in software. use std::{ - collections::HashSet, net::{IpAddr, UdpSocket}, - sync::{ - atomic::{AtomicBool, Ordering}, - Arc, RwLock, - }, + sync::{atomic::AtomicBool, Arc, RwLock}, thread, - thread::{sleep, Builder, JoinHandle}, + thread::JoinHandle, time::Duration, }; use crossbeam_channel::Receiver; -use dashmap::DashMap; use jito_rpc::load_balancer::LoadBalancer; -use solana_core::{ - banking_stage::BankingPacketBatch, find_packet_sender_stake_stage::FindPacketSenderStakeStage, - sigverify::TransactionSigVerifier, sigverify_stage::SigVerifyStage, -}; -use solana_metrics::datapoint_info; -use solana_perf::packet::PacketBatch; -use solana_sdk::{ - address_lookup_table_account::AddressLookupTableAccount, pubkey::Pubkey, signature::Keypair, -}; +use solana_core::banking_trace::{BankingPacketBatch, BankingTracer}; +use solana_core::tpu::MAX_QUIC_CONNECTIONS_PER_PEER; +use solana_core::{sigverify::TransactionSigVerifier, sigverify_stage::SigVerifyStage}; +use solana_sdk::signature::Keypair; +use solana_streamer::nonblocking::quic::DEFAULT_WAIT_FOR_CHUNK_TIMEOUT; use solana_streamer::{ - quic::{spawn_server, StreamStats, MAX_STAKED_CONNECTIONS}, + quic::{spawn_server, MAX_STAKED_CONNECTIONS}, streamer::StakedNodes, }; -use crate::{ - fetch_stage::FetchStage, ofac_stage::OfacStage, - staked_nodes_updater_service::StakedNodesUpdaterService, -}; +use crate::{fetch_stage::FetchStage, staked_nodes_updater_service::StakedNodesUpdaterService}; pub const DEFAULT_TPU_COALESCE_MS: u64 = 5; @@ -49,10 +37,8 @@ pub struct TpuSockets { pub struct Tpu { fetch_stage: FetchStage, staked_nodes_updater_service: StakedNodesUpdaterService, - find_packet_sender_stake_stage: FindPacketSenderStakeStage, sigverify_stage: SigVerifyStage, thread_handles: Vec>, - ofac_stage: OfacStage, } impl Tpu { @@ -65,8 +51,6 @@ impl Tpu { tpu_ip: &IpAddr, tpu_fwd_ip: &IpAddr, rpc_load_balancer: &Arc, - ofac_addresses: &HashSet, - address_lookup_table_cache: &Arc>, max_unstaked_quic_connections: usize, ) -> (Self, Receiver) { let TpuSockets { @@ -87,119 +71,67 @@ impl Tpu { // receiver tracked as fetch_stage-channel_stats.tpu_forwards_receiver_len let (tpu_forwards_sender, tpu_forwards_receiver) = crossbeam_channel::bounded(Tpu::TPU_QUEUE_CAPACITY); - let stats = Arc::new(StreamStats::default()); - let tpu_quic_t = spawn_server( + let (_, tpu_quic_t) = spawn_server( + "quic_streamer_tpu", transactions_quic_sockets, keypair, *tpu_ip, tpu_sender.clone(), exit.clone(), - MAX_QUIC_CONNECTIONS_PER_IP, + MAX_QUIC_CONNECTIONS_PER_PEER, staked_nodes.clone(), MAX_STAKED_CONNECTIONS, max_unstaked_quic_connections, - stats.clone(), + DEFAULT_WAIT_FOR_CHUNK_TIMEOUT, + Duration::from_millis(DEFAULT_TPU_COALESCE_MS), ) .unwrap(); - let tpu_forwards_quic_t = spawn_server( + let (_, tpu_forwards_quic_t) = spawn_server( + "quic_streamer_tpu_forwards", transactions_forwards_quic_sockets, keypair, *tpu_fwd_ip, tpu_forwards_sender, exit.clone(), - MAX_QUIC_CONNECTIONS_PER_IP, + MAX_QUIC_CONNECTIONS_PER_PEER, staked_nodes.clone(), MAX_STAKED_CONNECTIONS.saturating_add(max_unstaked_quic_connections), 0, // Prevent unstaked nodes from forwarding transactions - stats, + DEFAULT_WAIT_FOR_CHUNK_TIMEOUT, + Duration::from_millis(DEFAULT_TPU_COALESCE_MS), ) .unwrap(); let fetch_stage = FetchStage::new(tpu_forwards_receiver, tpu_sender, exit.clone()); - // receiver tracked in tpu-channel_stats.find_packet_sender_stake_receiver_len - let (find_packet_sender_stake_sender, find_packet_sender_stake_receiver) = - crossbeam_channel::bounded(Self::TPU_QUEUE_CAPACITY); - let find_packet_sender_stake_stage = FindPacketSenderStakeStage::new( - tpu_receiver, - find_packet_sender_stake_sender, - staked_nodes, - "tpu_find_packet_sender_stake-stats", - ); - - let metrics_t = - Self::start_metrics_thread(exit.clone(), find_packet_sender_stake_receiver.clone()); - - // receiver tracked as forwarder_metrics.verified_receiver_len - let (verified_sender, verified_receiver) = - crossbeam_channel::bounded(Self::TPU_QUEUE_CAPACITY); + let (banking_packet_sender, banking_packet_receiver) = + BankingTracer::new_disabled().create_channel_non_vote(); let sigverify_stage = SigVerifyStage::new( - find_packet_sender_stake_receiver, - TransactionSigVerifier::new(verified_sender), + tpu_receiver, + TransactionSigVerifier::new(banking_packet_sender), "tpu-verifier", ); - let (ofac_sender, ofac_receiver) = crossbeam_channel::bounded(Self::TPU_QUEUE_CAPACITY); - let ofac_stage = OfacStage::new( - verified_receiver, - ofac_sender, - ofac_addresses, - address_lookup_table_cache, - ); - ( Tpu { fetch_stage, staked_nodes_updater_service, - find_packet_sender_stake_stage, sigverify_stage, - thread_handles: vec![tpu_quic_t, tpu_forwards_quic_t, metrics_t], - ofac_stage, + thread_handles: vec![tpu_quic_t, tpu_forwards_quic_t], }, - ofac_receiver, + banking_packet_receiver, ) } - // channel consumed by solana code, receiver tracked in tpu-channel_stats.find_packet_sender_stake_receiver_len - fn start_metrics_thread( - exit: Arc, - find_packet_sender_stake_receiver: Receiver>, - ) -> JoinHandle<()> { - Builder::new() - .name("tpu_metrics_thread".to_string()) - .spawn(move || { - let metrics_interval = Duration::from_secs(1); - while !exit.load(Ordering::Relaxed) { - datapoint_info!( - "tpu-channel_stats", - ( - "find_packet_sender_stake_receiver_len", - find_packet_sender_stake_receiver.len(), - i64 - ), - ( - "find_packet_sender_stake_receiver_capacity", - find_packet_sender_stake_receiver.capacity().unwrap(), - i64 - ), - ); - sleep(metrics_interval); - } - }) - .unwrap() - } - pub fn join(self) -> thread::Result<()> { self.fetch_stage.join()?; self.staked_nodes_updater_service.join()?; - self.find_packet_sender_stake_stage.join()?; self.sigverify_stage.join()?; for t in self.thread_handles { t.join()? } - self.ofac_stage.join()?; Ok(()) } } diff --git a/relayer/Cargo.toml b/relayer/Cargo.toml index b777160a..5c3250dc 100644 --- a/relayer/Cargo.toml +++ b/relayer/Cargo.toml @@ -10,8 +10,10 @@ publish = false [dependencies] chrono = { workspace = true } crossbeam-channel = { workspace = true } +dashmap = { workspace = true } ed25519-dalek = { workspace = true } histogram = { workspace = true } +jito-core = { workspace = true } jito-protos = { workspace = true } jito-rpc = { workspace = true } jwt = { workspace = true } @@ -23,6 +25,7 @@ rand = { workspace = true } serde = { workspace = true } sha2 = { workspace = true } solana-client = { workspace = true } +solana-core = { workspace = true } solana-metrics = { workspace = true } solana-perf = { workspace = true } solana-sdk = { workspace = true } diff --git a/relayer/src/relayer.rs b/relayer/src/relayer.rs index 5e9b4ba1..56850fe3 100644 --- a/relayer/src/relayer.rs +++ b/relayer/src/relayer.rs @@ -1,3 +1,4 @@ +use std::collections::HashSet; use std::{ collections::{hash_map::Entry, HashMap}, net::IpAddr, @@ -11,7 +12,9 @@ use std::{ }; use crossbeam_channel::{bounded, Receiver, RecvError, Sender}; +use dashmap::DashMap; use histogram::Histogram; +use jito_core::ofac::is_tx_ofac_related; use jito_protos::{ convert::packet_to_proto_packet, packet::PacketBatch as ProtoPacketBatch, @@ -24,8 +27,10 @@ use jito_protos::{ use jito_rpc::load_balancer::LoadBalancer; use log::*; use prost_types::Timestamp; +use solana_core::banking_trace::BankingPacketBatch; use solana_metrics::datapoint_info; -use solana_perf::packet::PacketBatch; +use solana_sdk::address_lookup_table::AddressLookupTableAccount; +use solana_sdk::transaction::VersionedTransaction; use solana_sdk::{ clock::{Slot, NUM_CONSECUTIVE_LEADER_SLOTS}, pubkey::Pubkey, @@ -353,7 +358,7 @@ impl RelayerMetrics { pub struct RelayerPacketBatches { pub stamp: Instant, - pub batches: Vec, + pub banking_packet_batch: BankingPacketBatch, } pub enum Subscription { @@ -422,6 +427,8 @@ impl RelayerImpl { tpu_fwd_port: u16, health_state: Arc>, exit: Arc, + ofac_addresses: HashSet, + address_lookup_table_cache: Arc>, ) -> Self { const LEADER_LOOKAHEAD: u64 = 2; @@ -446,6 +453,8 @@ impl RelayerImpl { health_state, exit, &packet_subscriptions, + ofac_addresses, + address_lookup_table_cache, ); warn!("RelayerImpl thread exited with result {res:?}") }) @@ -479,6 +488,8 @@ impl RelayerImpl { packet_subscriptions: &Arc< RwLock>>>, >, + ofac_addresses: HashSet, + address_lookup_table_cache: Arc>, ) -> RelayerResult<()> { let mut highest_slot = Slot::default(); @@ -500,7 +511,7 @@ impl RelayerImpl { }, recv(delay_packet_receiver) -> maybe_packet_batches => { let start = Instant::now(); - let failed_forwards = Self::forward_packets(maybe_packet_batches, &packet_subscriptions, &leader_schedule_cache, &highest_slot, &leader_lookahead, &mut relayer_metrics)?; + let failed_forwards = Self::forward_packets(maybe_packet_batches, &packet_subscriptions, &leader_schedule_cache, &highest_slot, &leader_lookahead, &mut relayer_metrics, &ofac_addresses, &address_lookup_table_cache)?; Self::drop_connections(failed_forwards, &packet_subscriptions, &mut relayer_metrics); let _ = relayer_metrics.crossbeam_delay_packet_receiver_processing_us.increment(start.elapsed().as_micros() as u64); }, @@ -623,6 +634,8 @@ impl RelayerImpl { highest_slot: &u64, leader_lookahead: &u64, relayer_metrics: &mut RelayerMetrics, + ofac_addresses: &HashSet, + address_lookup_table_cache: &Arc>, ) -> RelayerResult> { let packet_batches = maybe_packet_batches?; @@ -635,14 +648,34 @@ impl RelayerImpl { .collect(); let slot_leaders = leader_schedule_cache.leaders_for_slots(&slots); - let proto_packet_batches: Vec = packet_batches - .batches + // remove discards + check for OFAC before forwarding + let packets: Vec<_> = packet_batches + .banking_packet_batch + .0 .iter() - .map(|b| ProtoPacketBatch { - packets: b.iter().filter_map(packet_to_proto_packet).collect(), + .flat_map(|batch| { + batch + .iter() + .filter(|p| !p.meta().discard()) + .filter_map(|packet| { + let tx: VersionedTransaction = packet.deserialize_slice(..).ok()?; + if !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) { + Some(packet) + } else { + None + } + }) + .filter_map(packet_to_proto_packet) }) .collect(); + let mut proto_packet_batches = Vec::new(); + for packet_chunk in packets.chunks(4) { + proto_packet_batches.push(ProtoPacketBatch { + packets: packet_chunk.to_vec(), + }); + } + let l_subscriptions = subscriptions.read().unwrap(); let mut failed_forwards = Vec::new(); diff --git a/transaction-relayer/src/forwarder.rs b/transaction-relayer/src/forwarder.rs index 3cac0f05..0390be7d 100644 --- a/transaction-relayer/src/forwarder.rs +++ b/transaction-relayer/src/forwarder.rs @@ -11,9 +11,8 @@ use std::{ use crossbeam_channel::{Receiver, RecvTimeoutError, Sender}; use jito_block_engine::block_engine::BlockEnginePackets; use jito_relayer::relayer::RelayerPacketBatches; -use solana_core::banking_stage::BankingPacketBatch; +use solana_core::banking_trace::BankingPacketBatch; use solana_metrics::datapoint_info; -use solana_perf::packet::PacketBatch; use tokio::sync::mpsc::error::TrySendError; pub const BLOCK_ENGINE_FORWARDER_QUEUE_CAPACITY: usize = 5_000; @@ -41,7 +40,8 @@ pub fn start_forward_and_delay_thread( Builder::new() .name(format!("forwarder_thread_{thread_id}")) .spawn(move || { - let mut buffered_packet_batches = VecDeque::with_capacity(100_000); + let mut buffered_packet_batches: VecDeque = + VecDeque::with_capacity(100_000); let metrics_interval = Duration::from_secs(1); let mut forwarder_metrics = ForwarderMetrics::new( @@ -65,45 +65,18 @@ pub fn start_forward_and_delay_thread( match verified_receiver.recv_timeout(SLEEP_DURATION) { Ok(banking_packet_batch) => { - let packet_batches = banking_packet_batch.0; - - let total_packets: u64 = - packet_batches.iter().map(|b| b.len() as u64).sum(); - - let packet_batches: Vec = packet_batches - .into_iter() - .map(|b| { - PacketBatch::new( - b.iter() - .filter(|p| !p.meta.discard()) - .cloned() - .collect(), - ) - }) - .collect(); - let instant = Instant::now(); let system_time = SystemTime::now(); - - let num_packets_received = - packet_batches.iter().map(|b| b.len() as u64).sum::(); - let num_batches_received = packet_batches.len() as u64; - - forwarder_metrics.num_packets_received += total_packets; - forwarder_metrics.num_packets_filtered += - total_packets - num_packets_received; - forwarder_metrics.num_batches_received += num_batches_received; - // try_send because the block engine receiver only drains when it's connected // and we don't want to OOM on packet_receiver match block_engine_sender.try_send(BlockEnginePackets { - packet_batches: packet_batches.clone(), + banking_packet_batch: banking_packet_batch.clone(), stamp: system_time, expiration: packet_delay_ms, }) { Ok(_) => { - forwarder_metrics.num_be_packets_forwarded += - num_packets_received; + forwarder_metrics.num_be_packets_forwarded += 1; + // TODO (LB) } Err(TrySendError::Closed(_)) => { panic!( @@ -112,14 +85,14 @@ pub fn start_forward_and_delay_thread( } Err(TrySendError::Full(_)) => { // block engine most likely not connected - forwarder_metrics.num_be_packets_dropped += - num_packets_received; + forwarder_metrics.num_be_packets_dropped += 1; // TODO (LB) forwarder_metrics.num_be_sender_full += 1; + // TODO (LB) } } buffered_packet_batches.push_back(RelayerPacketBatches { stamp: instant, - batches: packet_batches, + banking_packet_batch, }); } Err(RecvTimeoutError::Timeout) => {} @@ -134,10 +107,7 @@ pub fn start_forward_and_delay_thread( } let batch = buffered_packet_batches.pop_front().unwrap(); - let num_packets = - batch.batches.iter().map(|b| b.len() as u64).sum::(); - forwarder_metrics.num_relayer_packets_forwarded += num_packets; - + forwarder_metrics.num_relayer_packets_forwarded += 1; // TODO (LB) delay_packet_sender .send(batch) .expect("exiting forwarding delayed packets"); diff --git a/transaction-relayer/src/main.rs b/transaction-relayer/src/main.rs index c975afa2..dfdda92a 100644 --- a/transaction-relayer/src/main.rs +++ b/transaction-relayer/src/main.rs @@ -329,8 +329,6 @@ fn main() { &sockets.tpu_ip, &sockets.tpu_fwd_ip, &rpc_load_balancer, - &ofac_addresses, - &address_lookup_table_cache, args.max_unstaked_quic_connections, ); @@ -364,8 +362,9 @@ fn main() { keypair, exit.clone(), args.aoi_cache_ttl_secs, - address_lookup_table_cache, + address_lookup_table_cache.clone(), &is_connected_to_block_engine, + ofac_addresses.clone(), ); // receiver tracked as relayer_metrics.slot_receiver_len @@ -389,6 +388,8 @@ fn main() { args.tpu_fwd_port, health_manager.handle(), exit.clone(), + ofac_addresses, + address_lookup_table_cache, ); let priv_key = fs::read(&args.signing_key_pem_path).unwrap_or_else(|_| { From cca9a93fa810dd78a34e94a1c20d2ee312480891 Mon Sep 17 00:00:00 2001 From: Lucas B Date: Tue, 21 Nov 2023 21:49:14 -0600 Subject: [PATCH 03/22] fmt --- Cargo.toml | 2 +- block_engine/src/block_engine.rs | 6 +++--- core/src/ofac.rs | 6 ++++-- core/src/tpu.rs | 11 +++++++---- packet_blaster/Cargo.toml | 8 ++++---- packet_blaster/src/main.rs | 1 - relayer/src/relayer.rs | 7 +++---- 7 files changed, 22 insertions(+), 19 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index c4228d79..0bee96a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = [ "block_engine", "core", "jito-protos", -# "packet_blaster", +# "packet_blaster", // TODO (LB): fix "relayer", "rpc", "transaction-relayer", diff --git a/block_engine/src/block_engine.rs b/block_engine/src/block_engine.rs index 22680a11..004759cb 100644 --- a/block_engine/src/block_engine.rs +++ b/block_engine/src/block_engine.rs @@ -1,5 +1,5 @@ -use std::collections::HashSet; use std::{ + collections::HashSet, str::FromStr, sync::{ atomic::{AtomicBool, Ordering}, @@ -32,9 +32,9 @@ use log::{error, *}; use prost_types::Timestamp; use solana_core::banking_trace::BankingPacketBatch; use solana_metrics::{datapoint_error, datapoint_info}; -use solana_sdk::address_lookup_table::AddressLookupTableAccount; use solana_sdk::{ - pubkey::Pubkey, signature::Signer, signer::keypair::Keypair, transaction::VersionedTransaction, + address_lookup_table::AddressLookupTableAccount, pubkey::Pubkey, signature::Signer, + signer::keypair::Keypair, transaction::VersionedTransaction, }; use thiserror::Error; use tokio::{ diff --git a/core/src/ofac.rs b/core/src/ofac.rs index 796a1925..92fcded3 100644 --- a/core/src/ofac.rs +++ b/core/src/ofac.rs @@ -1,8 +1,10 @@ use std::collections::HashSet; use dashmap::DashMap; -use solana_sdk::address_lookup_table::AddressLookupTableAccount; -use solana_sdk::{pubkey::Pubkey, transaction::VersionedTransaction}; +use solana_sdk::{ + address_lookup_table::AddressLookupTableAccount, pubkey::Pubkey, + transaction::VersionedTransaction, +}; /// Returns true if transaction is ofac-related, false if not pub fn is_tx_ofac_related( diff --git a/core/src/tpu.rs b/core/src/tpu.rs index f86081d3..b13019aa 100644 --- a/core/src/tpu.rs +++ b/core/src/tpu.rs @@ -11,12 +11,15 @@ use std::{ use crossbeam_channel::Receiver; use jito_rpc::load_balancer::LoadBalancer; -use solana_core::banking_trace::{BankingPacketBatch, BankingTracer}; -use solana_core::tpu::MAX_QUIC_CONNECTIONS_PER_PEER; -use solana_core::{sigverify::TransactionSigVerifier, sigverify_stage::SigVerifyStage}; +use solana_core::{ + banking_trace::{BankingPacketBatch, BankingTracer}, + sigverify::TransactionSigVerifier, + sigverify_stage::SigVerifyStage, + tpu::MAX_QUIC_CONNECTIONS_PER_PEER, +}; use solana_sdk::signature::Keypair; -use solana_streamer::nonblocking::quic::DEFAULT_WAIT_FOR_CHUNK_TIMEOUT; use solana_streamer::{ + nonblocking::quic::DEFAULT_WAIT_FOR_CHUNK_TIMEOUT, quic::{spawn_server, MAX_STAKED_CONNECTIONS}, streamer::StakedNodes, }; diff --git a/packet_blaster/Cargo.toml b/packet_blaster/Cargo.toml index da0b2122..b07f61ff 100644 --- a/packet_blaster/Cargo.toml +++ b/packet_blaster/Cargo.toml @@ -7,10 +7,10 @@ edition = "2021" bincode = { workspace = true } clap = { workspace = true } env_logger = { workspace = true } -futures-util ={ workspace = true } -itertools ={ workspace = true } -log ={ workspace = true } -once_cell ={ workspace = true } +futures-util = { workspace = true } +itertools = { workspace = true } +log = { workspace = true } +once_cell = { workspace = true } quinn = { workspace = true } rustls = { workspace = true } solana-client = { workspace = true } diff --git a/packet_blaster/src/main.rs b/packet_blaster/src/main.rs index e03b2964..32c9c41e 100644 --- a/packet_blaster/src/main.rs +++ b/packet_blaster/src/main.rs @@ -17,7 +17,6 @@ use log::*; use once_cell::sync::Lazy; use solana_client::{ client_error::{ClientError, ClientErrorKind}, - connection_cache::ConnectionCacheStats, nonblocking::quic_client::QuicLazyInitializedEndpoint, quic_client::QuicTpuConnection, rpc_client::RpcClient, diff --git a/relayer/src/relayer.rs b/relayer/src/relayer.rs index 56850fe3..0473420b 100644 --- a/relayer/src/relayer.rs +++ b/relayer/src/relayer.rs @@ -1,6 +1,5 @@ -use std::collections::HashSet; use std::{ - collections::{hash_map::Entry, HashMap}, + collections::{hash_map::Entry, HashMap, HashSet}, net::IpAddr, sync::{ atomic::{AtomicBool, Ordering}, @@ -29,12 +28,12 @@ use log::*; use prost_types::Timestamp; use solana_core::banking_trace::BankingPacketBatch; use solana_metrics::datapoint_info; -use solana_sdk::address_lookup_table::AddressLookupTableAccount; -use solana_sdk::transaction::VersionedTransaction; use solana_sdk::{ + address_lookup_table::AddressLookupTableAccount, clock::{Slot, NUM_CONSECUTIVE_LEADER_SLOTS}, pubkey::Pubkey, saturating_add_assign, + transaction::VersionedTransaction, }; use thiserror::Error; use tokio::sync::mpsc::{channel, error::TrySendError, Sender as TokioSender}; From eeafd57d62d4f989d976f2c3416854b2018dc270 Mon Sep 17 00:00:00 2001 From: Lucas B Date: Wed, 22 Nov 2023 10:11:05 -0600 Subject: [PATCH 04/22] fix metrics --- Cargo.toml | 4 ++-- block_engine/src/block_engine.rs | 5 ++++- transaction-relayer/src/forwarder.rs | 21 ++++++++++++++++----- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0bee96a6..37cc3934 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -69,9 +69,9 @@ tonic = { version = "0.10.2", features = ["tls", "tls-roots", "tls-webpki-roots" tonic-build = "0.10.2" tower = { version = "0.4.1", features = ["limit"] } -#[profile.release] +[profile.release] # thin has minimal overhead vs none (default): https://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html -#lto = "thin" +lto = "thin" # enable debug symbols for profiling the heap using jeprof # example: jeprof --web target/release/jito-transaction-relayer jeprof.3085546.9823.i24.heap diff --git a/block_engine/src/block_engine.rs b/block_engine/src/block_engine.rs index 004759cb..c109e01c 100644 --- a/block_engine/src/block_engine.rs +++ b/block_engine/src/block_engine.rs @@ -423,7 +423,10 @@ impl BlockEngineRelayerHandler { let now = Instant::now(); - block_engine_stats.increment_num_packets_received(1); // TODO (LB) + // note: this contains discarded packets too + let num_packets: u64 = block_engine_batches.banking_packet_batch.0.iter().map(|b|b.len() as u64).sum::(); + block_engine_stats.increment_num_packets_received(num_packets); + let filtered_packets = Self::filter_packets(block_engine_batches, &mut accounts_of_interest, &mut programs_of_interest, address_lookup_table_cache, ofac_addresses); block_engine_stats.increment_packet_filter_elapsed_us(now.elapsed().as_micros() as u64); diff --git a/transaction-relayer/src/forwarder.rs b/transaction-relayer/src/forwarder.rs index 0390be7d..ba061745 100644 --- a/transaction-relayer/src/forwarder.rs +++ b/transaction-relayer/src/forwarder.rs @@ -67,6 +67,12 @@ pub fn start_forward_and_delay_thread( Ok(banking_packet_batch) => { let instant = Instant::now(); let system_time = SystemTime::now(); + let num_packets = banking_packet_batch + .0 + .iter() + .map(|b| b.len() as u64) + .sum::(); + // try_send because the block engine receiver only drains when it's connected // and we don't want to OOM on packet_receiver match block_engine_sender.try_send(BlockEnginePackets { @@ -75,8 +81,7 @@ pub fn start_forward_and_delay_thread( expiration: packet_delay_ms, }) { Ok(_) => { - forwarder_metrics.num_be_packets_forwarded += 1; - // TODO (LB) + forwarder_metrics.num_be_packets_forwarded += num_packets; } Err(TrySendError::Closed(_)) => { panic!( @@ -85,9 +90,8 @@ pub fn start_forward_and_delay_thread( } Err(TrySendError::Full(_)) => { // block engine most likely not connected - forwarder_metrics.num_be_packets_dropped += 1; // TODO (LB) + forwarder_metrics.num_be_packets_dropped += num_packets; forwarder_metrics.num_be_sender_full += 1; - // TODO (LB) } } buffered_packet_batches.push_back(RelayerPacketBatches { @@ -107,7 +111,14 @@ pub fn start_forward_and_delay_thread( } let batch = buffered_packet_batches.pop_front().unwrap(); - forwarder_metrics.num_relayer_packets_forwarded += 1; // TODO (LB) + let num_packets = batch + .banking_packet_batch + .0 + .iter() + .map(|b| b.len() as u64) + .sum::(); + + forwarder_metrics.num_relayer_packets_forwarded += num_packets; delay_packet_sender .send(batch) .expect("exiting forwarding delayed packets"); From 1f8562142ed44f07d54311684ac3a609602cd8fe Mon Sep 17 00:00:00 2001 From: Lucas B Date: Wed, 22 Nov 2023 10:26:42 -0600 Subject: [PATCH 05/22] fix unbounded channel --- transaction-relayer/src/forwarder.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/transaction-relayer/src/forwarder.rs b/transaction-relayer/src/forwarder.rs index ba061745..680788cf 100644 --- a/transaction-relayer/src/forwarder.rs +++ b/transaction-relayer/src/forwarder.rs @@ -46,7 +46,7 @@ pub fn start_forward_and_delay_thread( let metrics_interval = Duration::from_secs(1); let mut forwarder_metrics = ForwarderMetrics::new( buffered_packet_batches.capacity(), - verified_receiver.capacity().unwrap(), + verified_receiver.capacity().unwrap_or_default(), // TODO (LB): unbounded channel now, remove metric block_engine_sender.capacity(), ); let mut last_metrics_upload = Instant::now(); @@ -57,7 +57,7 @@ pub fn start_forward_and_delay_thread( forwarder_metrics = ForwarderMetrics::new( buffered_packet_batches.capacity(), - verified_receiver.capacity().unwrap(), + verified_receiver.capacity().unwrap_or_default(), // TODO (LB): unbounded channel now, remove metric block_engine_sender.capacity(), ); last_metrics_upload = Instant::now(); From d10ecc8c58806cde7fa87634673a2ec85ad381d3 Mon Sep 17 00:00:00 2001 From: Lucas B Date: Wed, 22 Nov 2023 10:32:08 -0600 Subject: [PATCH 06/22] finish filling out metrics --- transaction-relayer/src/forwarder.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/transaction-relayer/src/forwarder.rs b/transaction-relayer/src/forwarder.rs index 680788cf..df1481b0 100644 --- a/transaction-relayer/src/forwarder.rs +++ b/transaction-relayer/src/forwarder.rs @@ -72,6 +72,8 @@ pub fn start_forward_and_delay_thread( .iter() .map(|b| b.len() as u64) .sum::(); + forwarder_metrics.num_batches_received += 1; + forwarder_metrics.num_packets_received += 1; // try_send because the block engine receiver only drains when it's connected // and we don't want to OOM on packet_receiver @@ -140,7 +142,6 @@ pub fn start_forward_and_delay_thread( struct ForwarderMetrics { pub num_batches_received: u64, pub num_packets_received: u64, - pub num_packets_filtered: u64, pub num_be_packets_forwarded: u64, pub num_be_packets_dropped: u64, @@ -166,7 +167,6 @@ impl ForwarderMetrics { ForwarderMetrics { num_batches_received: 0, num_packets_received: 0, - num_packets_filtered: 0, num_be_packets_forwarded: 0, num_be_packets_dropped: 0, num_be_sender_full: 0, @@ -209,7 +209,6 @@ impl ForwarderMetrics { ("delay", delay, i64), ("num_batches_received", self.num_batches_received, i64), ("num_packets_received", self.num_packets_received, i64), - ("num_packets_filtered", self.num_packets_filtered, i64), // Relayer -> Block Engine Metrics ( "num_be_packets_forwarded", From 44bf1dccf6e2c434873d5838e5f7fa200d17eec6 Mon Sep 17 00:00:00 2001 From: Lucas B Date: Wed, 22 Nov 2023 15:08:33 -0600 Subject: [PATCH 07/22] sleep longer --- core/src/staked_nodes_updater_service.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/staked_nodes_updater_service.rs b/core/src/staked_nodes_updater_service.rs index 81892738..5fb4178c 100644 --- a/core/src/staked_nodes_updater_service.rs +++ b/core/src/staked_nodes_updater_service.rs @@ -73,7 +73,7 @@ impl StakedNodesUpdaterService { *last_stakes = Instant::now(); Ok(true) } else { - sleep(Duration::from_millis(1)); + sleep(Duration::from_secs(1)); Ok(false) } } From df9215f0b3f99285fc018b34262b2bb37a557a18 Mon Sep 17 00:00:00 2001 From: Lucas B Date: Sat, 25 Nov 2023 11:30:42 -0600 Subject: [PATCH 08/22] move leaderschedule stuff outside packet fwd --- relayer/src/relayer.rs | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/relayer/src/relayer.rs b/relayer/src/relayer.rs index 0473420b..d77029c1 100644 --- a/relayer/src/relayer.rs +++ b/relayer/src/relayer.rs @@ -501,16 +501,25 @@ impl RelayerImpl { delay_packet_receiver.capacity().unwrap(), ); + let mut slot_leaders = HashSet::new(); + while !exit.load(Ordering::Relaxed) { crossbeam_channel::select! { recv(slot_receiver) -> maybe_slot => { let start = Instant::now(); + Self::update_highest_slot(maybe_slot, &mut highest_slot, &mut relayer_metrics)?; + + let slots: Vec<_> = (highest_slot + ..highest_slot + leader_lookahead * NUM_CONSECUTIVE_LEADER_SLOTS) + .collect(); + slot_leaders = leader_schedule_cache.leaders_for_slots(&slots); + let _ = relayer_metrics.crossbeam_slot_receiver_processing_us.increment(start.elapsed().as_micros() as u64); }, recv(delay_packet_receiver) -> maybe_packet_batches => { let start = Instant::now(); - let failed_forwards = Self::forward_packets(maybe_packet_batches, &packet_subscriptions, &leader_schedule_cache, &highest_slot, &leader_lookahead, &mut relayer_metrics, &ofac_addresses, &address_lookup_table_cache)?; + let failed_forwards = Self::forward_packets(maybe_packet_batches, &packet_subscriptions, &slot_leaders, &mut relayer_metrics, &ofac_addresses, &address_lookup_table_cache)?; Self::drop_connections(failed_forwards, &packet_subscriptions, &mut relayer_metrics); let _ = relayer_metrics.crossbeam_delay_packet_receiver_processing_us.increment(start.elapsed().as_micros() as u64); }, @@ -629,9 +638,7 @@ impl RelayerImpl { subscriptions: &Arc< RwLock>>>, >, - leader_schedule_cache: &LeaderScheduleUpdatingHandle, - highest_slot: &u64, - leader_lookahead: &u64, + slot_leaders: &HashSet, relayer_metrics: &mut RelayerMetrics, ofac_addresses: &HashSet, address_lookup_table_cache: &Arc>, @@ -642,11 +649,6 @@ impl RelayerImpl { .packet_latencies_us .increment(packet_batches.stamp.elapsed().as_micros() as u64); - let slots: Vec<_> = (*highest_slot - ..highest_slot + leader_lookahead * NUM_CONSECUTIVE_LEADER_SLOTS) - .collect(); - let slot_leaders = leader_schedule_cache.leaders_for_slots(&slots); - // remove discards + check for OFAC before forwarding let packets: Vec<_> = packet_batches .banking_packet_batch @@ -679,7 +681,7 @@ impl RelayerImpl { let mut failed_forwards = Vec::new(); for pubkey in slot_leaders { - if let Some(sender) = l_subscriptions.get(&pubkey) { + if let Some(sender) = l_subscriptions.get(pubkey) { for batch in &proto_packet_batches { // NOTE: this is important to avoid divide-by-0 inside the validator if packets // get routed to sigverify under the assumption theres > 0 packets in the batch @@ -696,16 +698,16 @@ impl RelayerImpl { })) { Ok(_) => { relayer_metrics - .increment_packets_forwarded(&pubkey, batch.packets.len() as u64); + .increment_packets_forwarded(pubkey, batch.packets.len() as u64); } Err(TrySendError::Full(_)) => { error!("packet channel is full for pubkey: {:?}", pubkey); relayer_metrics - .increment_packets_dropped(&pubkey, batch.packets.len() as u64); + .increment_packets_dropped(pubkey, batch.packets.len() as u64); } Err(TrySendError::Closed(_)) => { error!("channel is closed for pubkey: {:?}", pubkey); - failed_forwards.push(pubkey); + failed_forwards.push(*pubkey); break; } } From 19eef25fcd689502480c44b64b25021a4a5afa0e Mon Sep 17 00:00:00 2001 From: Lucas B Date: Sat, 25 Nov 2023 11:35:32 -0600 Subject: [PATCH 09/22] fasttrack ofac filter --- block_engine/src/block_engine.rs | 24 +++++++++++++++++------- relayer/src/relayer.rs | 13 +++++++++---- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/block_engine/src/block_engine.rs b/block_engine/src/block_engine.rs index c109e01c..0f060aed 100644 --- a/block_engine/src/block_engine.rs +++ b/block_engine/src/block_engine.rs @@ -638,20 +638,30 @@ impl BlockEngineRelayerHandler { if packet.meta().discard() { continue; } - if let Ok(tx) = packet.deserialize_slice::(..) { - if !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) - && (is_aoi_in_static_keys(&tx, accounts_of_interest, programs_of_interest) - || is_aoi_in_lookup_table( + + if !ofac_addresses.is_empty() { + if let Ok(tx) = packet.deserialize_slice::(..) { + if !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) + && (is_aoi_in_static_keys( + &tx, + accounts_of_interest, + programs_of_interest, + ) || is_aoi_in_lookup_table( &tx, accounts_of_interest, programs_of_interest, address_lookup_table_cache, )) - { - if let Some(packet) = packet_to_proto_packet(packet) { - filtered_packets.push(packet) + { + if let Some(packet) = packet_to_proto_packet(packet) { + filtered_packets.push(packet) + } } } + } else { + if let Some(packet) = packet_to_proto_packet(packet) { + filtered_packets.push(packet) + } } } } diff --git a/relayer/src/relayer.rs b/relayer/src/relayer.rs index d77029c1..96ad34ae 100644 --- a/relayer/src/relayer.rs +++ b/relayer/src/relayer.rs @@ -659,11 +659,16 @@ impl RelayerImpl { .iter() .filter(|p| !p.meta().discard()) .filter_map(|packet| { - let tx: VersionedTransaction = packet.deserialize_slice(..).ok()?; - if !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) { - Some(packet) + if !ofac_addresses.is_empty() { + let tx: VersionedTransaction = packet.deserialize_slice(..).ok()?; + if !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) + { + Some(packet) + } else { + None + } } else { - None + Some(packet) } }) .filter_map(packet_to_proto_packet) From d8e651e4cbe979f730078b2b26d44723317d94c6 Mon Sep 17 00:00:00 2001 From: Lucas B Date: Sat, 25 Nov 2023 11:58:43 -0600 Subject: [PATCH 10/22] pr feedback --- relayer/src/relayer.rs | 3 ++- transaction-relayer/src/forwarder.rs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/relayer/src/relayer.rs b/relayer/src/relayer.rs index 96ad34ae..b8eb4a31 100644 --- a/relayer/src/relayer.rs +++ b/relayer/src/relayer.rs @@ -675,7 +675,8 @@ impl RelayerImpl { }) .collect(); - let mut proto_packet_batches = Vec::new(); + // TODO (LB): non-constant the 4 + let mut proto_packet_batches = Vec::with_capacity(packets.len() / 4); for packet_chunk in packets.chunks(4) { proto_packet_batches.push(ProtoPacketBatch { packets: packet_chunk.to_vec(), diff --git a/transaction-relayer/src/forwarder.rs b/transaction-relayer/src/forwarder.rs index df1481b0..e9d334b6 100644 --- a/transaction-relayer/src/forwarder.rs +++ b/transaction-relayer/src/forwarder.rs @@ -73,7 +73,7 @@ pub fn start_forward_and_delay_thread( .map(|b| b.len() as u64) .sum::(); forwarder_metrics.num_batches_received += 1; - forwarder_metrics.num_packets_received += 1; + forwarder_metrics.num_packets_received += num_packets; // try_send because the block engine receiver only drains when it's connected // and we don't want to OOM on packet_receiver From 495ea37189aeba54cdb11bc3334cb4e0c1e7ddc7 Mon Sep 17 00:00:00 2001 From: Lucas B Date: Tue, 28 Nov 2023 15:12:49 -0600 Subject: [PATCH 11/22] make sure filtering packetes --- block_engine/src/block_engine.rs | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/block_engine/src/block_engine.rs b/block_engine/src/block_engine.rs index 0f060aed..76e6f79a 100644 --- a/block_engine/src/block_engine.rs +++ b/block_engine/src/block_engine.rs @@ -639,29 +639,33 @@ impl BlockEngineRelayerHandler { continue; } - if !ofac_addresses.is_empty() { - if let Ok(tx) = packet.deserialize_slice::(..) { - if !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) - && (is_aoi_in_static_keys( + if let Ok(tx) = packet.deserialize_slice::(..) { + if ofac_addresses.is_empty() + && (is_aoi_in_static_keys(&tx, accounts_of_interest, programs_of_interest) + || is_aoi_in_lookup_table( &tx, accounts_of_interest, programs_of_interest, - ) || is_aoi_in_lookup_table( + address_lookup_table_cache, + )) + { + if let Some(packet) = packet_to_proto_packet(packet) { + filtered_packets.push(packet) + } + } else if !ofac_addresses.is_empty() + && (is_aoi_in_static_keys(&tx, accounts_of_interest, programs_of_interest) + || is_aoi_in_lookup_table( &tx, accounts_of_interest, programs_of_interest, address_lookup_table_cache, )) - { - if let Some(packet) = packet_to_proto_packet(packet) { - filtered_packets.push(packet) - } + && !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) + { + if let Some(packet) = packet_to_proto_packet(packet) { + filtered_packets.push(packet) } } - } else { - if let Some(packet) = packet_to_proto_packet(packet) { - filtered_packets.push(packet) - } } } } From 267f399cc0549bd3bcf2b854a8750114b93bed8d Mon Sep 17 00:00:00 2001 From: Lucas B Date: Tue, 28 Nov 2023 15:18:45 -0600 Subject: [PATCH 12/22] adjust packet batch size --- relayer/src/relayer.rs | 12 ++++++++---- transaction-relayer/src/main.rs | 5 +++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/relayer/src/relayer.rs b/relayer/src/relayer.rs index b8eb4a31..3205eb85 100644 --- a/relayer/src/relayer.rs +++ b/relayer/src/relayer.rs @@ -428,6 +428,7 @@ impl RelayerImpl { exit: Arc, ofac_addresses: HashSet, address_lookup_table_cache: Arc>, + validator_packet_batch_size: usize, ) -> Self { const LEADER_LOOKAHEAD: u64 = 2; @@ -454,6 +455,7 @@ impl RelayerImpl { &packet_subscriptions, ofac_addresses, address_lookup_table_cache, + validator_packet_batch_size, ); warn!("RelayerImpl thread exited with result {res:?}") }) @@ -489,6 +491,7 @@ impl RelayerImpl { >, ofac_addresses: HashSet, address_lookup_table_cache: Arc>, + validator_packet_batch_size: usize, ) -> RelayerResult<()> { let mut highest_slot = Slot::default(); @@ -519,7 +522,7 @@ impl RelayerImpl { }, recv(delay_packet_receiver) -> maybe_packet_batches => { let start = Instant::now(); - let failed_forwards = Self::forward_packets(maybe_packet_batches, &packet_subscriptions, &slot_leaders, &mut relayer_metrics, &ofac_addresses, &address_lookup_table_cache)?; + let failed_forwards = Self::forward_packets(maybe_packet_batches, &packet_subscriptions, &slot_leaders, &mut relayer_metrics, &ofac_addresses, &address_lookup_table_cache, validator_packet_batch_size)?; Self::drop_connections(failed_forwards, &packet_subscriptions, &mut relayer_metrics); let _ = relayer_metrics.crossbeam_delay_packet_receiver_processing_us.increment(start.elapsed().as_micros() as u64); }, @@ -642,6 +645,7 @@ impl RelayerImpl { relayer_metrics: &mut RelayerMetrics, ofac_addresses: &HashSet, address_lookup_table_cache: &Arc>, + validator_packet_batch_size: usize, ) -> RelayerResult> { let packet_batches = maybe_packet_batches?; @@ -675,9 +679,9 @@ impl RelayerImpl { }) .collect(); - // TODO (LB): non-constant the 4 - let mut proto_packet_batches = Vec::with_capacity(packets.len() / 4); - for packet_chunk in packets.chunks(4) { + let mut proto_packet_batches = + Vec::with_capacity(packets.len() / validator_packet_batch_size); + for packet_chunk in packets.chunks(validator_packet_batch_size) { proto_packet_batches.push(ProtoPacketBatch { packets: packet_chunk.to_vec(), }); diff --git a/transaction-relayer/src/main.rs b/transaction-relayer/src/main.rs index dfdda92a..687602fe 100644 --- a/transaction-relayer/src/main.rs +++ b/transaction-relayer/src/main.rs @@ -201,6 +201,10 @@ struct Args { /// Max unstaked connections for the QUIC server #[arg(long, env, default_value_t = 500)] max_unstaked_quic_connections: usize, + + /// Number of packets to send in each packet batch to the validator + #[arg(long, env, default_value_t = 4)] + validator_packet_batch_size: usize, } #[derive(Debug)] @@ -390,6 +394,7 @@ fn main() { exit.clone(), ofac_addresses, address_lookup_table_cache, + args.validator_packet_batch_size, ); let priv_key = fs::read(&args.signing_key_pem_path).unwrap_or_else(|_| { From ebab7835927eeb715d157ba75e8a4f74a8028574 Mon Sep 17 00:00:00 2001 From: Lucas B Date: Tue, 28 Nov 2023 15:25:42 -0600 Subject: [PATCH 13/22] update cargo --- .github/actions/setup-rust/action.yaml | 6 +++--- .github/workflows/clean_code.yaml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup-rust/action.yaml b/.github/actions/setup-rust/action.yaml index 6929852a..901c4b4d 100644 --- a/.github/actions/setup-rust/action.yaml +++ b/.github/actions/setup-rust/action.yaml @@ -52,9 +52,9 @@ runs: - name: Install cargo dependencies run: | - rustup install nightly-2023-04-19 - rustup component add rustfmt --toolchain nightly-2023-04-19-x86_64-unknown-linux-gnu - rustup component add clippy --toolchain nightly-2023-04-19-x86_64-unknown-linux-gnu + rustup install nightly-2023-10-05-x86_64-unknown-linux-gnu + rustup component add rustfmt --toolchain nightly-2023-10-05-x86_64-unknown-linux-gnu + rustup component add clippy --toolchain nightly-2023-10-05-x86_64-unknown-linux-gnu cargo install cargo-udeps --locked cargo install cargo-sort shell: bash diff --git a/.github/workflows/clean_code.yaml b/.github/workflows/clean_code.yaml index f13d7b95..3e439c48 100644 --- a/.github/workflows/clean_code.yaml +++ b/.github/workflows/clean_code.yaml @@ -16,7 +16,7 @@ jobs: caller-workflow-name: clippy_and_udeps_check - name: cargo clippy - run: cargo +nightly-2023-04-19-x86_64-unknown-linux-gnu clippy --all-targets + run: cargo +nightly-2023-10-05-x86_64-unknown-linux-gnu clippy --all-targets - name: cargo udeps - run: cargo +nightly-2023-04-19-x86_64-unknown-linux-gnu udeps --locked + run: cargo +nightly-2023-10-05-x86_64-unknown-linux-gnu udeps --locked From 4f04ca53dd3021a856652a98c91977cc966dc884 Mon Sep 17 00:00:00 2001 From: Jed <4679729+jedleggett@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:17:04 -0600 Subject: [PATCH 14/22] fix docker build --- Dockerfile | 2 +- f | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3a3995b5..6faceb4f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,5 +37,5 @@ RUN apt-get -qq update && apt-get -qq -y install ca-certificates libssl1.1 && rm WORKDIR /app COPY --from=builder /home/root/app/jito-transaction-relayer ./ -COPY --from=builder /home/root/app/jito-packet-blaster ./ +# COPY --from=builder /home/root/app/jito-packet-blaster ./ ENTRYPOINT ./jito-transaction-relayer diff --git a/f b/f index 3c6736e2..58d98f71 100755 --- a/f +++ b/f @@ -19,5 +19,5 @@ docker container create --name temp jitolabs/jito-transaction-relayer mkdir -p "$SCRIPT_DIR"/docker-output # Outputs the binaries docker container cp temp:/app/jito-transaction-relayer "$SCRIPT_DIR"/docker-output -docker container cp temp:/app/jito-packet-blaster "$SCRIPT_DIR"/docker-output +# docker container cp temp:/app/jito-packet-blaster "$SCRIPT_DIR"/docker-output docker rm temp From cca8b283851cbc669e677d260f3ed68c9c32d014 Mon Sep 17 00:00:00 2001 From: Jed <4679729+jedleggett@users.noreply.github.com> Date: Mon, 18 Dec 2023 09:29:35 -0600 Subject: [PATCH 15/22] update ci --- .github/actions/setup-rust/action.yaml | 6 +++--- .github/workflows/clean_code.yaml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup-rust/action.yaml b/.github/actions/setup-rust/action.yaml index 901c4b4d..747999b8 100644 --- a/.github/actions/setup-rust/action.yaml +++ b/.github/actions/setup-rust/action.yaml @@ -52,9 +52,9 @@ runs: - name: Install cargo dependencies run: | - rustup install nightly-2023-10-05-x86_64-unknown-linux-gnu - rustup component add rustfmt --toolchain nightly-2023-10-05-x86_64-unknown-linux-gnu - rustup component add clippy --toolchain nightly-2023-10-05-x86_64-unknown-linux-gnu + rustup install nightly-2023-12-17-x86_64-unknown-linux-gnu + rustup component add rustfmt --toolchain nightly-2023-12-17-x86_64-unknown-linux-gnu + rustup component add clippy --toolchain nightly-2023-12-17-x86_64-unknown-linux-gnu cargo install cargo-udeps --locked cargo install cargo-sort shell: bash diff --git a/.github/workflows/clean_code.yaml b/.github/workflows/clean_code.yaml index 3e439c48..a726c165 100644 --- a/.github/workflows/clean_code.yaml +++ b/.github/workflows/clean_code.yaml @@ -16,7 +16,7 @@ jobs: caller-workflow-name: clippy_and_udeps_check - name: cargo clippy - run: cargo +nightly-2023-10-05-x86_64-unknown-linux-gnu clippy --all-targets + run: cargo +nightly-2023-12-17-x86_64-unknown-linux-gnu clippy --all-targets - name: cargo udeps - run: cargo +nightly-2023-10-05-x86_64-unknown-linux-gnu udeps --locked + run: cargo +nightly-2023-12-17-x86_64-unknown-linux-gnu udeps --locked From 2f03d6bfca6f6df5600fb44f5e8ddeb79b3e4c06 Mon Sep 17 00:00:00 2001 From: Jed <4679729+jedleggett@users.noreply.github.com> Date: Mon, 18 Dec 2023 10:01:33 -0600 Subject: [PATCH 16/22] wip --- .github/actions/setup-rust/action.yaml | 6 +++--- .github/workflows/clean_code.yaml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup-rust/action.yaml b/.github/actions/setup-rust/action.yaml index 747999b8..3dc1dbbc 100644 --- a/.github/actions/setup-rust/action.yaml +++ b/.github/actions/setup-rust/action.yaml @@ -52,9 +52,9 @@ runs: - name: Install cargo dependencies run: | - rustup install nightly-2023-12-17-x86_64-unknown-linux-gnu - rustup component add rustfmt --toolchain nightly-2023-12-17-x86_64-unknown-linux-gnu - rustup component add clippy --toolchain nightly-2023-12-17-x86_64-unknown-linux-gnu + rustup install 1.73.0-x86_64-unknown-linux-gnu + rustup component add rustfmt --toolchain 1.73.0-x86_64-unknown-linux-gnu + rustup component add clippy --toolchain 1.73.0-x86_64-unknown-linux-gnu cargo install cargo-udeps --locked cargo install cargo-sort shell: bash diff --git a/.github/workflows/clean_code.yaml b/.github/workflows/clean_code.yaml index a726c165..bc196ae2 100644 --- a/.github/workflows/clean_code.yaml +++ b/.github/workflows/clean_code.yaml @@ -16,7 +16,7 @@ jobs: caller-workflow-name: clippy_and_udeps_check - name: cargo clippy - run: cargo +nightly-2023-12-17-x86_64-unknown-linux-gnu clippy --all-targets + run: cargo +1.73.0-x86_64-unknown-linux-gnu clippy --all-targets - name: cargo udeps - run: cargo +nightly-2023-12-17-x86_64-unknown-linux-gnu udeps --locked + run: cargo +1.73.0-x86_64-unknown-linux-gnu udeps --locked From 01039783c2371e3c17ec512ba485d7426c309d9b Mon Sep 17 00:00:00 2001 From: Jed <4679729+jedleggett@users.noreply.github.com> Date: Tue, 19 Dec 2023 16:42:59 -0600 Subject: [PATCH 17/22] fix clippy --- block_engine/src/block_engine.rs | 25 +++++++++++++------------ relayer/src/relayer.rs | 10 +++++----- transaction-relayer/src/main.rs | 4 ++-- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/block_engine/src/block_engine.rs b/block_engine/src/block_engine.rs index 76e6f79a..b8af8d0d 100644 --- a/block_engine/src/block_engine.rs +++ b/block_engine/src/block_engine.rs @@ -640,28 +640,29 @@ impl BlockEngineRelayerHandler { } if let Ok(tx) = packet.deserialize_slice::(..) { - if ofac_addresses.is_empty() - && (is_aoi_in_static_keys(&tx, accounts_of_interest, programs_of_interest) + let is_forwardable = if ofac_addresses.is_empty() { + is_aoi_in_static_keys(&tx, accounts_of_interest, programs_of_interest) || is_aoi_in_lookup_table( &tx, accounts_of_interest, programs_of_interest, address_lookup_table_cache, - )) - { - if let Some(packet) = packet_to_proto_packet(packet) { - filtered_packets.push(packet) - } - } else if !ofac_addresses.is_empty() - && (is_aoi_in_static_keys(&tx, accounts_of_interest, programs_of_interest) - || is_aoi_in_lookup_table( + ) + } else { + !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) + && (is_aoi_in_static_keys( + &tx, + accounts_of_interest, + programs_of_interest, + ) || is_aoi_in_lookup_table( &tx, accounts_of_interest, programs_of_interest, address_lookup_table_cache, )) - && !is_tx_ofac_related(&tx, ofac_addresses, address_lookup_table_cache) - { + }; + + if is_forwardable { if let Some(packet) = packet_to_proto_packet(packet) { filtered_packets.push(packet) } diff --git a/relayer/src/relayer.rs b/relayer/src/relayer.rs index 3205eb85..e46f3beb 100644 --- a/relayer/src/relayer.rs +++ b/relayer/src/relayer.rs @@ -522,13 +522,13 @@ impl RelayerImpl { }, recv(delay_packet_receiver) -> maybe_packet_batches => { let start = Instant::now(); - let failed_forwards = Self::forward_packets(maybe_packet_batches, &packet_subscriptions, &slot_leaders, &mut relayer_metrics, &ofac_addresses, &address_lookup_table_cache, validator_packet_batch_size)?; - Self::drop_connections(failed_forwards, &packet_subscriptions, &mut relayer_metrics); + let failed_forwards = Self::forward_packets(maybe_packet_batches, packet_subscriptions, &slot_leaders, &mut relayer_metrics, &ofac_addresses, &address_lookup_table_cache, validator_packet_batch_size)?; + Self::drop_connections(failed_forwards, packet_subscriptions, &mut relayer_metrics); let _ = relayer_metrics.crossbeam_delay_packet_receiver_processing_us.increment(start.elapsed().as_micros() as u64); }, recv(subscription_receiver) -> maybe_subscription => { let start = Instant::now(); - Self::handle_subscription(maybe_subscription, &packet_subscriptions, &mut relayer_metrics)?; + Self::handle_subscription(maybe_subscription, packet_subscriptions, &mut relayer_metrics)?; let _ = relayer_metrics.crossbeam_subscription_receiver_processing_us.increment(start.elapsed().as_micros() as u64); } recv(heartbeat_tick) -> time_generated => { @@ -541,13 +541,13 @@ impl RelayerImpl { let pubkeys_to_drop = match *health_state.read().unwrap() { HealthState::Healthy => { Self::handle_heartbeat( - &packet_subscriptions, + packet_subscriptions, &mut relayer_metrics, ) }, HealthState::Unhealthy => packet_subscriptions.read().unwrap().keys().cloned().collect(), }; - Self::drop_connections(pubkeys_to_drop, &packet_subscriptions, &mut relayer_metrics); + Self::drop_connections(pubkeys_to_drop, packet_subscriptions, &mut relayer_metrics); let _ = relayer_metrics.crossbeam_heartbeat_tick_processing_us.increment(start.elapsed().as_micros() as u64); } recv(metrics_tick) -> time_generated => { diff --git a/transaction-relayer/src/main.rs b/transaction-relayer/src/main.rs index 687602fe..1766be78 100644 --- a/transaction-relayer/src/main.rs +++ b/transaction-relayer/src/main.rs @@ -304,7 +304,7 @@ fn main() { let servers: Vec<(String, String)> = args .rpc_servers .into_iter() - .zip(args.websocket_servers.into_iter()) + .zip(args.websocket_servers) .collect(); let ofac_addresses: HashSet = args @@ -420,7 +420,7 @@ fn main() { }); let validator_store = match args.allowed_validators { - Some(pubkeys) => ValidatorStore::UserDefined(HashSet::from_iter(pubkeys.into_iter())), + Some(pubkeys) => ValidatorStore::UserDefined(HashSet::from_iter(pubkeys)), None => ValidatorStore::LeaderSchedule(leader_cache.handle()), }; From 913de5b7fe996363ea964b29664dd047f8f85bbe Mon Sep 17 00:00:00 2001 From: Jed <4679729+jedleggett@users.noreply.github.com> Date: Wed, 20 Dec 2023 15:57:52 -0600 Subject: [PATCH 18/22] fix udeps --- .github/workflows/clean_code.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/clean_code.yaml b/.github/workflows/clean_code.yaml index bc196ae2..1f8f5397 100644 --- a/.github/workflows/clean_code.yaml +++ b/.github/workflows/clean_code.yaml @@ -19,4 +19,4 @@ jobs: run: cargo +1.73.0-x86_64-unknown-linux-gnu clippy --all-targets - name: cargo udeps - run: cargo +1.73.0-x86_64-unknown-linux-gnu udeps --locked + run: cargo +nightly udeps --locked From fb19f2170a4db6fbbabaa00adc750bf8c5f25bf0 Mon Sep 17 00:00:00 2001 From: Jed <4679729+jedleggett@users.noreply.github.com> Date: Wed, 20 Dec 2023 16:34:07 -0600 Subject: [PATCH 19/22] fix ci --- .github/actions/setup-rust/action.yaml | 6 +++--- .github/workflows/clean_code.yaml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup-rust/action.yaml b/.github/actions/setup-rust/action.yaml index 3dc1dbbc..b1654f1d 100644 --- a/.github/actions/setup-rust/action.yaml +++ b/.github/actions/setup-rust/action.yaml @@ -52,9 +52,9 @@ runs: - name: Install cargo dependencies run: | - rustup install 1.73.0-x86_64-unknown-linux-gnu - rustup component add rustfmt --toolchain 1.73.0-x86_64-unknown-linux-gnu - rustup component add clippy --toolchain 1.73.0-x86_64-unknown-linux-gnu + rustup install nightly-2023-12-05 + rustup component add rustfmt --toolchain nightly-2023-12-05-x86_64-unknown-linux-gnu + rustup component add clippy --toolchain nightly-2023-12-05-x86_64-unknown-linux-gnu cargo install cargo-udeps --locked cargo install cargo-sort shell: bash diff --git a/.github/workflows/clean_code.yaml b/.github/workflows/clean_code.yaml index 1f8f5397..46716af6 100644 --- a/.github/workflows/clean_code.yaml +++ b/.github/workflows/clean_code.yaml @@ -16,7 +16,7 @@ jobs: caller-workflow-name: clippy_and_udeps_check - name: cargo clippy - run: cargo +1.73.0-x86_64-unknown-linux-gnu clippy --all-targets + run: cargo +nightly-2023-12-05-x86_64-unknown-linux-gnu clippy --all-targets - name: cargo udeps - run: cargo +nightly udeps --locked + run: cargo +nightly-2023-12-05-x86_64-unknown-linux-gnu udeps --locked From 17c5aa9ecadd21e5d895b1d9dbf7d5108d2dc26a Mon Sep 17 00:00:00 2001 From: Jed <4679729+jedleggett@users.noreply.github.com> Date: Wed, 20 Dec 2023 16:49:12 -0600 Subject: [PATCH 20/22] wip --- .github/actions/setup-rust/action.yaml | 6 +++--- .github/workflows/clean_code.yaml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup-rust/action.yaml b/.github/actions/setup-rust/action.yaml index b1654f1d..b1ae31bf 100644 --- a/.github/actions/setup-rust/action.yaml +++ b/.github/actions/setup-rust/action.yaml @@ -52,9 +52,9 @@ runs: - name: Install cargo dependencies run: | - rustup install nightly-2023-12-05 - rustup component add rustfmt --toolchain nightly-2023-12-05-x86_64-unknown-linux-gnu - rustup component add clippy --toolchain nightly-2023-12-05-x86_64-unknown-linux-gnu + rustup install nightly-2023-10-05 --component clippy --component rustfmt + rustup component add rustfmt --toolchain nightly-2023-10-05-x86_64-unknown-linux-gnu + rustup component add clippy --toolchain nightly-2023-10-05-x86_64-unknown-linux-gnu cargo install cargo-udeps --locked cargo install cargo-sort shell: bash diff --git a/.github/workflows/clean_code.yaml b/.github/workflows/clean_code.yaml index 46716af6..3e439c48 100644 --- a/.github/workflows/clean_code.yaml +++ b/.github/workflows/clean_code.yaml @@ -16,7 +16,7 @@ jobs: caller-workflow-name: clippy_and_udeps_check - name: cargo clippy - run: cargo +nightly-2023-12-05-x86_64-unknown-linux-gnu clippy --all-targets + run: cargo +nightly-2023-10-05-x86_64-unknown-linux-gnu clippy --all-targets - name: cargo udeps - run: cargo +nightly-2023-12-05-x86_64-unknown-linux-gnu udeps --locked + run: cargo +nightly-2023-10-05-x86_64-unknown-linux-gnu udeps --locked From 4dd4985a0905afccce143fc779d7231368490d92 Mon Sep 17 00:00:00 2001 From: Jed <4679729+jedleggett@users.noreply.github.com> Date: Wed, 20 Dec 2023 23:10:29 -0600 Subject: [PATCH 21/22] fucking ci --- .github/actions/setup-rust/action.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/setup-rust/action.yaml b/.github/actions/setup-rust/action.yaml index b1ae31bf..8b15b571 100644 --- a/.github/actions/setup-rust/action.yaml +++ b/.github/actions/setup-rust/action.yaml @@ -52,7 +52,7 @@ runs: - name: Install cargo dependencies run: | - rustup install nightly-2023-10-05 --component clippy --component rustfmt + rustup install nightly-2023-10-05 rustup component add rustfmt --toolchain nightly-2023-10-05-x86_64-unknown-linux-gnu rustup component add clippy --toolchain nightly-2023-10-05-x86_64-unknown-linux-gnu cargo install cargo-udeps --locked @@ -63,6 +63,6 @@ runs: run: | rustc --version; cargo --version; - cargo clippy --version; - cargo fmt --version; + cargo +nightly-2023-10-05-x86_64-unknown-linux-gnu clippy --version; + cargo +nightly-2023-10-05-x86_64-unknown-linux-gnu fmt --version; shell: bash From feb13316af98173dabd75fa0f44347188d8d38d7 Mon Sep 17 00:00:00 2001 From: Jed <4679729+jedleggett@users.noreply.github.com> Date: Thu, 21 Dec 2023 01:20:45 -0600 Subject: [PATCH 22/22] size hint --- block_engine/src/block_engine.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/block_engine/src/block_engine.rs b/block_engine/src/block_engine.rs index b8af8d0d..719c4bf7 100644 --- a/block_engine/src/block_engine.rs +++ b/block_engine/src/block_engine.rs @@ -427,7 +427,7 @@ impl BlockEngineRelayerHandler { let num_packets: u64 = block_engine_batches.banking_packet_batch.0.iter().map(|b|b.len() as u64).sum::(); block_engine_stats.increment_num_packets_received(num_packets); - let filtered_packets = Self::filter_packets(block_engine_batches, &mut accounts_of_interest, &mut programs_of_interest, address_lookup_table_cache, ofac_addresses); + let filtered_packets = Self::filter_packets(block_engine_batches, num_packets, &mut accounts_of_interest, &mut programs_of_interest, address_lookup_table_cache, ofac_addresses); block_engine_stats.increment_packet_filter_elapsed_us(now.elapsed().as_micros() as u64); if let Some(filtered_packets) = filtered_packets { @@ -626,12 +626,13 @@ impl BlockEngineRelayerHandler { /// Filters out packets that aren't on list of interest fn filter_packets( block_engine_batches: BlockEnginePackets, + num_packets: u64, accounts_of_interest: &mut TimedCache, programs_of_interest: &mut TimedCache, address_lookup_table_cache: &DashMap, ofac_addresses: &HashSet, ) -> Option { - let mut filtered_packets = Vec::new(); + let mut filtered_packets = Vec::with_capacity(num_packets as usize); for batch in &block_engine_batches.banking_packet_batch.0 { for packet in batch {