From 53131fbead85f06d56f509880778763663699174 Mon Sep 17 00:00:00 2001 From: sveitser Date: Thu, 19 Dec 2024 11:48:26 +0100 Subject: [PATCH 01/13] WIP: hotshot 0.5.83 - Make rustc happy. - Still contains some todo!. - `cargo check` passes - `cargo check --tests` fails, needs a fix in query service --- Cargo.lock | 505 +++++++++++++++++++++-------- Cargo.toml | 24 ++ builder/src/non_permissioned.rs | 2 + marketplace-builder/src/builder.rs | 21 +- sequencer/src/persistence/fs.rs | 2 +- sequencer/src/persistence/sql.rs | 8 +- sequencer/src/proposal_fetcher.rs | 8 +- types/src/v0/mod.rs | 2 + types/src/v0/traits.rs | 36 +- 9 files changed, 452 insertions(+), 156 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f27bb55bb..d845137bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -116,6 +116,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -903,19 +904,6 @@ dependencies = [ "rustc_version 0.4.1", ] -[[package]] -name = "asynchronous-codec" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568" -dependencies = [ - "bytes 1.8.0", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite 0.2.15", -] - [[package]] name = "asynchronous-codec" version = "0.7.0" @@ -938,6 +926,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "atomic" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994" +dependencies = [ + "bytemuck", +] + [[package]] name = "atomic-waker" version = "1.1.2" @@ -1267,7 +1264,7 @@ dependencies = [ "hotshot", "hotshot-builder-api", "hotshot-builder-core", - "hotshot-events-service", + "hotshot-events-service 0.1.56", "hotshot-state-prover", "hotshot-types", "jf-signature 0.2.0", @@ -1320,6 +1317,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "bytemuck" +version = "1.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "byteorder" version = "1.5.0" @@ -1718,6 +1735,17 @@ dependencies = [ "vbs", ] +[[package]] +name = "coarsetime" +version = "0.1.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4252bf230cb600c19826a575b31c8c9c84c6f11acfab6dfcad2e941b10b6f8e2" +dependencies = [ + "libc", + "wasix", + "wasm-bindgen", +] + [[package]] name = "coins-bip32" version = "0.8.7" @@ -3991,8 +4019,8 @@ dependencies = [ [[package]] name = "hotshot" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-broadcast", @@ -4035,7 +4063,7 @@ dependencies = [ [[package]] name = "hotshot-builder-api" version = "0.1.7" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "async-trait", "clap", @@ -4053,14 +4081,17 @@ dependencies = [ [[package]] name = "hotshot-builder-core" -version = "0.1.57" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core?tag=0.1.57#cf9d2cbf154809a31bcf2dccc1218ee9c6875f1e" +version = "0.1.58" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core//?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" dependencies = [ "anyhow", "async-broadcast", "async-lock 3.4.0", "async-trait", + "atomic", "bincode", + "bytemuck", + "coarsetime", "committable", "derive_more 1.0.0", "futures", @@ -4069,6 +4100,7 @@ dependencies = [ "hotshot-types", "lru 0.12.5", "marketplace-builder-shared", + "once_cell", "serde", "sha2 0.10.8", "tagged-base64", @@ -4099,7 +4131,7 @@ dependencies = [ "jf-pcs", "jf-plonk", "jf-utils", - "libp2p", + "libp2p 0.53.2", "num-bigint", "num-traits", "rand 0.8.5", @@ -4133,10 +4165,37 @@ dependencies = [ "vbs", ] +[[package]] +name = "hotshot-events-service" +version = "0.1.57" +source = "git+https://github.com/EspressoSystems/hotshot-events-service//?branch=ma%2Fhotshot-0.5.83#89b06b6007e88fd20bfc855d3f400b8fa045f379" +dependencies = [ + "async-broadcast", + "async-lock 2.8.0", + "async-trait", + "clap", + "derivative", + "derive_more 0.99.18", + "either", + "futures", + "hotshot-types", + "libp2p-identity", + "rand 0.8.5", + "serde", + "snafu 0.8.5", + "tagged-base64", + "tide-disco", + "tokio", + "toml 0.8.19", + "tracing", + "tracing-test", + "vbs", +] + [[package]] name = "hotshot-example-types" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4160,8 +4219,8 @@ dependencies = [ [[package]] name = "hotshot-fakeapi" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4178,8 +4237,8 @@ dependencies = [ [[package]] name = "hotshot-macros" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "derive_builder", "proc-macro2", @@ -4189,8 +4248,8 @@ dependencies = [ [[package]] name = "hotshot-orchestrator" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4267,8 +4326,8 @@ dependencies = [ [[package]] name = "hotshot-stake-table" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "ark-bn254", "ark-ed-on-bn254", @@ -4329,8 +4388,8 @@ dependencies = [ [[package]] name = "hotshot-task" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "async-broadcast", "async-trait", @@ -4342,8 +4401,8 @@ dependencies = [ [[package]] name = "hotshot-task-impls" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-broadcast", @@ -4376,8 +4435,8 @@ dependencies = [ [[package]] name = "hotshot-testing" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-broadcast", @@ -4418,7 +4477,7 @@ dependencies = [ [[package]] name = "hotshot-types" version = "0.1.11" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "ark-bn254", @@ -5568,20 +5627,44 @@ dependencies = [ "futures-timer", "getrandom 0.2.15", "instant", - "libp2p-allow-block-list", + "libp2p-allow-block-list 0.3.0", + "libp2p-connection-limits 0.3.1", + "libp2p-core 0.41.3", + "libp2p-gossipsub 0.46.1", + "libp2p-identity", + "libp2p-kad 0.45.3", + "libp2p-swarm 0.44.2", + "multiaddr", + "pin-project", + "rw-stream-sink", + "thiserror 1.0.69", +] + +[[package]] +name = "libp2p" +version = "0.54.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbbe80f9c7e00526cd6b838075b9c171919404a4732cb2fa8ece0a093223bfc4" +dependencies = [ + "bytes 1.8.0", + "either", + "futures", + "futures-timer", + "getrandom 0.2.15", + "libp2p-allow-block-list 0.4.0", "libp2p-autonat", - "libp2p-connection-limits", - "libp2p-core", + "libp2p-connection-limits 0.4.0", + "libp2p-core 0.42.0", "libp2p-dns", - "libp2p-gossipsub", + "libp2p-gossipsub 0.47.0", "libp2p-identify", "libp2p-identity", - "libp2p-kad", + "libp2p-kad 0.46.2", "libp2p-mdns", "libp2p-metrics", "libp2p-quic", "libp2p-request-response", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "libp2p-tcp", "libp2p-upnp", "multiaddr", @@ -5596,31 +5679,49 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "107b238b794cb83ab53b74ad5dcf7cca3200899b72fe662840cfb52f5b0a32e6" dependencies = [ - "libp2p-core", + "libp2p-core 0.41.3", + "libp2p-identity", + "libp2p-swarm 0.44.2", + "void", +] + +[[package]] +name = "libp2p-allow-block-list" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1027ccf8d70320ed77e984f273bc8ce952f623762cb9bf2d126df73caef8041" +dependencies = [ + "libp2p-core 0.42.0", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "void", ] [[package]] name = "libp2p-autonat" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95151726170e41b591735bf95c42b888fe4aa14f65216a9fbf0edcc04510586" +checksum = "a083675f189803d0682a2726131628e808144911dad076858bfbe30b13065499" dependencies = [ "async-trait", - "asynchronous-codec 0.6.2", + "asynchronous-codec", + "bytes 1.8.0", + "either", "futures", + "futures-bounded", "futures-timer", - "instant", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "libp2p-request-response", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "quick-protobuf", - "quick-protobuf-codec 0.2.0", + "quick-protobuf-codec", "rand 0.8.5", + "rand_core 0.6.4", + "thiserror 1.0.69", "tracing", + "void", + "web-time", ] [[package]] @@ -5629,9 +5730,21 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7cd50a78ccfada14de94cbacd3ce4b0138157f376870f13d3a8422cd075b4fd" dependencies = [ - "libp2p-core", + "libp2p-core 0.41.3", + "libp2p-identity", + "libp2p-swarm 0.44.2", + "void", +] + +[[package]] +name = "libp2p-connection-limits" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d003540ee8baef0d254f7b6bfd79bac3ddf774662ca0abf69186d517ef82ad8" +dependencies = [ + "libp2p-core 0.42.0", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "void", ] @@ -5664,16 +5777,45 @@ dependencies = [ "web-time", ] +[[package]] +name = "libp2p-core" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a61f26c83ed111104cd820fe9bc3aaabbac5f1652a1d213ed6e900b7918a1298" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "libp2p-identity", + "multiaddr", + "multihash", + "multistream-select", + "once_cell", + "parking_lot", + "pin-project", + "quick-protobuf", + "rand 0.8.5", + "rw-stream-sink", + "serde", + "smallvec", + "thiserror 1.0.69", + "tracing", + "unsigned-varint 0.8.0", + "void", + "web-time", +] + [[package]] name = "libp2p-dns" -version = "0.41.1" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d17cbcf7160ff35c3e8e560de4a068fe9d6cb777ea72840e48eb76ff9576c4b6" +checksum = "97f37f30d5c7275db282ecd86e54f29dd2176bd3ac656f06abf43bedb21eb8bd" dependencies = [ "async-trait", "futures", "hickory-resolver", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "parking_lot", "smallvec", @@ -5686,7 +5828,7 @@ version = "0.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d665144a616dadebdc5fff186b1233488cdcd8bfb1223218ff084b6d052c94f7" dependencies = [ - "asynchronous-codec 0.7.0", + "asynchronous-codec", "base64 0.21.7", "byteorder", "bytes 1.8.0", @@ -5697,12 +5839,12 @@ dependencies = [ "getrandom 0.2.15", "hex_fmt", "instant", - "libp2p-core", + "libp2p-core 0.41.3", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.44.2", "prometheus-client", "quick-protobuf", - "quick-protobuf-codec 0.3.1", + "quick-protobuf-codec", "rand 0.8.5", "regex", "serde", @@ -5712,23 +5854,55 @@ dependencies = [ "void", ] +[[package]] +name = "libp2p-gossipsub" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4e830fdf24ac8c444c12415903174d506e1e077fbe3875c404a78c5935a8543" +dependencies = [ + "asynchronous-codec", + "base64 0.22.1", + "byteorder", + "bytes 1.8.0", + "either", + "fnv", + "futures", + "futures-ticker", + "getrandom 0.2.15", + "hex_fmt", + "libp2p-core 0.42.0", + "libp2p-identity", + "libp2p-swarm 0.45.1", + "prometheus-client", + "quick-protobuf", + "quick-protobuf-codec", + "rand 0.8.5", + "regex", + "serde", + "sha2 0.10.8", + "smallvec", + "tracing", + "void", + "web-time", +] + [[package]] name = "libp2p-identify" -version = "0.44.2" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5d635ebea5ca0c3c3e77d414ae9b67eccf2a822be06091b9c1a0d13029a1e2f" +checksum = "1711b004a273be4f30202778856368683bd9a83c4c7dcc8f848847606831a4e3" dependencies = [ - "asynchronous-codec 0.7.0", + "asynchronous-codec", "either", "futures", "futures-bounded", "futures-timer", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "lru 0.12.5", "quick-protobuf", - "quick-protobuf-codec 0.3.1", + "quick-protobuf-codec", "smallvec", "thiserror 1.0.69", "tracing", @@ -5763,7 +5937,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cc5767727d062c4eac74dd812c998f0e488008e82cce9c33b463d38423f9ad2" dependencies = [ "arrayvec", - "asynchronous-codec 0.7.0", + "asynchronous-codec", "bytes 1.8.0", "either", "fnv", @@ -5771,11 +5945,40 @@ dependencies = [ "futures-bounded", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.41.3", + "libp2p-identity", + "libp2p-swarm 0.44.2", + "quick-protobuf", + "quick-protobuf-codec", + "rand 0.8.5", + "serde", + "sha2 0.10.8", + "smallvec", + "thiserror 1.0.69", + "tracing", + "uint", + "void", +] + +[[package]] +name = "libp2p-kad" +version = "0.46.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced237d0bd84bbebb7c2cad4c073160dacb4fe40534963c32ed6d4c6bb7702a3" +dependencies = [ + "arrayvec", + "asynchronous-codec", + "bytes 1.8.0", + "either", + "fnv", + "futures", + "futures-bounded", + "futures-timer", + "libp2p-core 0.42.0", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "quick-protobuf", - "quick-protobuf-codec 0.3.1", + "quick-protobuf-codec", "rand 0.8.5", "serde", "sha2 0.10.8", @@ -5784,21 +5987,22 @@ dependencies = [ "tracing", "uint", "void", + "web-time", ] [[package]] name = "libp2p-mdns" -version = "0.45.1" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49007d9a339b3e1d7eeebc4d67c05dbf23d300b7d091193ec2d3f26802d7faf2" +checksum = "14b8546b6644032565eb29046b42744aee1e9f261ed99671b2c93fb140dba417" dependencies = [ "data-encoding", "futures", "hickory-proto", "if-watch", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "rand 0.8.5", "smallvec", "socket2 0.5.7", @@ -5809,26 +6013,26 @@ dependencies = [ [[package]] name = "libp2p-metrics" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdac91ae4f291046a3b2660c039a2830c931f84df2ee227989af92f7692d3357" +checksum = "77ebafa94a717c8442d8db8d3ae5d1c6a15e30f2d347e0cd31d057ca72e42566" dependencies = [ "futures", - "instant", - "libp2p-core", - "libp2p-gossipsub", + "libp2p-core 0.42.0", + "libp2p-gossipsub 0.47.0", "libp2p-identify", "libp2p-identity", - "libp2p-kad", - "libp2p-swarm", + "libp2p-kad 0.46.2", + "libp2p-swarm 0.45.1", "pin-project", "prometheus-client", + "web-time", ] [[package]] name = "libp2p-networking" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-trait", @@ -5841,7 +6045,7 @@ dependencies = [ "futures", "hotshot-types", "lazy_static", - "libp2p", + "libp2p 0.54.1", "libp2p-identity", "libp2p-swarm-derive", "pin-project", @@ -5854,15 +6058,15 @@ dependencies = [ [[package]] name = "libp2p-quic" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c67296ad4e092e23f92aea3d2bdb6f24eab79c0929ed816dfb460ea2f4567d2b" +checksum = "46352ac5cd040c70e88e7ff8257a2ae2f891a4076abad2c439584a31c15fd24e" dependencies = [ "bytes 1.8.0", "futures", "futures-timer", "if-watch", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "libp2p-tls", "parking_lot", @@ -5878,24 +6082,24 @@ dependencies = [ [[package]] name = "libp2p-request-response" -version = "0.26.3" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c314fe28368da5e3a262553fb0ad575c1c8934c461e10de10265551478163836" +checksum = "1356c9e376a94a75ae830c42cdaea3d4fe1290ba409a22c809033d1b7dcab0a6" dependencies = [ "async-trait", "cbor4ii", "futures", "futures-bounded", "futures-timer", - "instant", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "rand 0.8.5", "serde", "smallvec", "tracing", "void", + "web-time", ] [[package]] @@ -5909,7 +6113,28 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.41.3", + "libp2p-identity", + "lru 0.12.5", + "multistream-select", + "once_cell", + "rand 0.8.5", + "smallvec", + "tracing", + "void", +] + +[[package]] +name = "libp2p-swarm" +version = "0.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7dd6741793d2c1fb2088f67f82cf07261f25272ebe3c0b0c311e0c6b50e851a" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "libp2p-core 0.42.0", "libp2p-identity", "libp2p-swarm-derive", "lru 0.12.5", @@ -5920,13 +6145,14 @@ dependencies = [ "tokio", "tracing", "void", + "web-time", ] [[package]] name = "libp2p-swarm-derive" -version = "0.34.2" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5daceb9dd908417b6dfcfe8e94098bc4aac54500c282e78120b885dadc09b999" +checksum = "206e0aa0ebe004d778d79fb0966aa0de996c19894e2c0605ba2f8524dd4443d8" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -5936,15 +6162,15 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2460fc2748919adff99ecbc1aab296e4579e41f374fb164149bd2c9e529d4c" +checksum = "ad964f312c59dcfcac840acd8c555de8403e295d39edf96f5240048b5fcaa314" dependencies = [ "futures", "futures-timer", "if-watch", "libc", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "socket2 0.5.7", "tokio", @@ -5953,13 +6179,13 @@ dependencies = [ [[package]] name = "libp2p-tls" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b7b831e55ce2aa6c354e6861a85fdd4dd0a2b97d5e276fabac0e4810a71776" +checksum = "47b23dddc2b9c355f73c1e36eb0c3ae86f7dc964a3715f0731cfad352db4d847" dependencies = [ "futures", "futures-rustls", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "rcgen 0.11.3", "ring 0.17.8", @@ -5972,15 +6198,15 @@ dependencies = [ [[package]] name = "libp2p-upnp" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccf04b0e3ff3de52d07d5fd6c3b061d0e7f908ffc683c32d9638caedce86fc8" +checksum = "01bf2d1b772bd3abca049214a3304615e6a36fa6ffc742bdd1ba774486200b8f" dependencies = [ "futures", "futures-timer", "igd-next", - "libp2p-core", - "libp2p-swarm", + "libp2p-core 0.42.0", + "libp2p-swarm 0.45.1", "tokio", "tracing", "void", @@ -6185,7 +6411,7 @@ dependencies = [ "futures", "hotshot", "hotshot-builder-api", - "hotshot-events-service", + "hotshot-events-service 0.1.56", "hotshot-orchestrator", "hotshot-query-service", "hotshot-stake-table", @@ -6210,8 +6436,8 @@ dependencies = [ [[package]] name = "marketplace-builder-core" -version = "0.1.57" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core?tag=0.1.57#cf9d2cbf154809a31bcf2dccc1218ee9c6875f1e" +version = "0.1.58" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core//?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" dependencies = [ "anyhow", "async-broadcast", @@ -6223,7 +6449,6 @@ dependencies = [ "hotshot", "hotshot-builder-api", "hotshot-types", - "lru 0.12.5", "marketplace-builder-shared", "sha2 0.10.8", "tagged-base64", @@ -6236,8 +6461,8 @@ dependencies = [ [[package]] name = "marketplace-builder-shared" -version = "0.1.57" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core?tag=0.1.57#cf9d2cbf154809a31bcf2dccc1218ee9c6875f1e" +version = "0.1.58" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core//?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" dependencies = [ "anyhow", "async-broadcast", @@ -6252,16 +6477,20 @@ dependencies = [ "hex", "hotshot", "hotshot-builder-api", - "hotshot-events-service", + "hotshot-events-service 0.1.57", "hotshot-example-types", "hotshot-task-impls", "hotshot-testing", "hotshot-types", "jf-vid", "nonempty-collections", + "once_cell", + "quick_cache", "rand 0.8.5", "serde", + "sha2 0.10.8", "surf-disco", + "thiserror 2.0.3", "tokio", "tracing", "tracing-subscriber 0.3.18", @@ -6283,7 +6512,7 @@ dependencies = [ "espresso-types", "futures", "hotshot", - "hotshot-events-service", + "hotshot-events-service 0.1.56", "hotshot-query-service", "hotshot-types", "marketplace-solver", @@ -7562,7 +7791,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.87", @@ -7620,28 +7849,27 @@ dependencies = [ [[package]] name = "quick-protobuf-codec" -version = "0.2.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" +checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" dependencies = [ - "asynchronous-codec 0.6.2", + "asynchronous-codec", "bytes 1.8.0", "quick-protobuf", "thiserror 1.0.69", - "unsigned-varint 0.7.2", + "unsigned-varint 0.8.0", ] [[package]] -name = "quick-protobuf-codec" -version = "0.3.1" +name = "quick_cache" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" +checksum = "7d7c94f8935a9df96bb6380e8592c70edf497a643f94bd23b2f76b399385dbf4" dependencies = [ - "asynchronous-codec 0.7.0", - "bytes 1.8.0", - "quick-protobuf", - "thiserror 1.0.69", - "unsigned-varint 0.8.0", + "ahash 0.8.11", + "equivalent", + "hashbrown 0.14.5", + "parking_lot", ] [[package]] @@ -8636,7 +8864,7 @@ dependencies = [ "futures", "hotshot", "hotshot-contract-adapter", - "hotshot-events-service", + "hotshot-events-service 0.1.56", "hotshot-example-types", "hotshot-orchestrator", "hotshot-query-service", @@ -8651,7 +8879,7 @@ dependencies = [ "jf-rescue", "jf-signature 0.2.0", "jf-vid", - "libp2p", + "libp2p 0.53.2", "libp2p-networking", "marketplace-builder-core", "marketplace-builder-shared", @@ -9097,7 +9325,7 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03c3c6b7927ffe7ecaa769ee0e3994da3b8cafc8f444578982c83ecb161af917" dependencies = [ - "heck 0.5.0", + "heck 0.4.1", "proc-macro2", "quote", "syn 2.0.87", @@ -10644,10 +10872,6 @@ name = "unsigned-varint" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" -dependencies = [ - "asynchronous-codec 0.6.2", - "bytes 1.8.0", -] [[package]] name = "unsigned-varint" @@ -10721,8 +10945,8 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "utils" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "tracing", ] @@ -10906,6 +11130,15 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" +[[package]] +name = "wasix" +version = "0.12.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fbb4ef9bbca0c1170e0b00dd28abc9e3b68669821600cad1caaed606583c6d" +dependencies = [ + "wasi 0.11.0+wasi-snapshot-preview1", +] + [[package]] name = "wasm-bindgen" version = "0.2.95" diff --git a/Cargo.toml b/Cargo.toml index 630d32d08..23cbe53fb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -168,3 +168,27 @@ opt-level = 3 opt-level = 3 [profile.test.package.diff-test-hotshot] opt-level = 3 + +[patch.'https://github.com/EspressoSystems/hotshot.git'] +hotshot = { git = 'https://github.com/EspressoSystems/HotShot//', branch = 'bump/0.5.83' } +hotshot-builder-api = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } +hotshot-orchestrator ={ git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } +hotshot-stake-table = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } +hotshot-task = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } +hotshot-task-impls = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } +hotshot-testing = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } +hotshot-types ={ git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } +libp2p-networking = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } +hotshot-example-types = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } +utils = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } + +[patch.'https://github.com/EspressoSystems/marketplace-builder-core.git'] +marketplace-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core//", branch = "ma/hotshot-0.5.83" } +marketplace-builder-shared = { git = "https://github.com/EspressoSystems/marketplace-builder-core//", branch = "ma/hotshot-0.5.83" } +hotshot-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core//", branch = "ma/hotshot-0.5.83" } + +[patch.'https://github.com/EspressoSystems/hotshot-events-service.git'] +hotshot-events-service = { git = "https://github.com/EspressoSystems/hotshot-events-service//", branch = "ma/hotshot-0.5.83" } + +# patch +# https://github.com/rust-lang/cargo/issues/5478 diff --git a/builder/src/non_permissioned.rs b/builder/src/non_permissioned.rs index e07509d6d..83b751bb8 100644 --- a/builder/src/non_permissioned.rs +++ b/builder/src/non_permissioned.rs @@ -145,6 +145,8 @@ impl BuilderConfig { vid_commitment, leaf_commit: fake_commitment(), builder_commitment, + tx_count: todo!(), + last_nonempty_view: todo!(), }, decide_receiver, da_receiver, diff --git a/marketplace-builder/src/builder.rs b/marketplace-builder/src/builder.rs index f0daf5e31..5f42783ca 100644 --- a/marketplace-builder/src/builder.rs +++ b/marketplace-builder/src/builder.rs @@ -1,4 +1,4 @@ -use std::{collections::HashSet, num::NonZeroUsize, time::Duration}; +use std::{arch::global_asm, collections::HashSet, num::NonZeroUsize, time::Duration}; use anyhow::Context; use async_broadcast::{ @@ -169,15 +169,16 @@ impl BuilderConfig { }; // create the global state - let global_state: Arc> = GlobalState::new( - (builder_key_pair.fee_account(), builder_key_pair), - api_timeout, - maximize_txns_count_timeout_duration, - Duration::from_secs(60), - tx_channel_capacity.get(), - base_fee.as_u64().expect("Base fee too high"), - hooks, - ); + // let global_state: Arc> = GlobalState::new( + // (builder_key_pair.fee_account(), builder_key_pair), + // api_timeout, + // maximize_txns_count_timeout_duration, + // Duration::from_secs(60), + // tx_channel_capacity.get(), + // base_fee.as_u64().expect("Base fee too high"), + // hooks, + // ); + let global_state = todo!(); Self::start_service( Arc::clone(&global_state), diff --git a/sequencer/src/persistence/fs.rs b/sequencer/src/persistence/fs.rs index 43e5541aa..b0c65815d 100644 --- a/sequencer/src/persistence/fs.rs +++ b/sequencer/src/persistence/fs.rs @@ -313,7 +313,7 @@ impl Inner { let info = LeafInfo { leaf: leaf.into(), - vid_share, + vid_share: vid_share.map(Into::into), // Note: the following fields are not used in Decide event processing, and should be // removed. For now, we just default them. diff --git a/sequencer/src/persistence/sql.rs b/sequencer/src/persistence/sql.rs index 61c624355..ec64b2e6d 100644 --- a/sequencer/src/persistence/sql.rs +++ b/sequencer/src/persistence/sql.rs @@ -746,7 +746,7 @@ impl Persistence { LeafInfo { leaf: leaf.into(), - vid_share, + vid_share: vid_share.map(Into::into), // Note: the following fields are not used in Decide event processing, and // should be removed. For now, we just default them. state: Default::default(), @@ -1508,6 +1508,7 @@ mod test { use futures::stream::TryStreamExt; use hotshot_example_types::node_types::TestVersions; use hotshot_types::{ + data::EpochNumber, drb::{INITIAL_DRB_RESULT, INITIAL_DRB_SEED_INPUT}, simple_certificate::QuorumCertificate, traits::{block_contents::vid_commitment, signature_key::SignatureKey, EncodeBytes}, @@ -1540,6 +1541,7 @@ mod test { view_change_evidence: None, drb_seed: INITIAL_DRB_SEED_INPUT, drb_result: INITIAL_DRB_RESULT, + next_epoch_justify_qc: None, }, signature, _pd: Default::default(), @@ -1629,6 +1631,7 @@ mod test { view_change_evidence: None, drb_seed: INITIAL_DRB_SEED_INPUT, drb_result: INITIAL_DRB_RESULT, + next_epoch_justify_qc: None, }; let quorum_proposal_signature = BLSPubKey::sign(&privkey, &bincode::serialize(&quorum_proposal).unwrap()) @@ -1646,6 +1649,7 @@ mod test { encoded_transactions: leaf_payload_bytes_arc, metadata: leaf_payload.ns_table().clone(), view_number: ViewNumber::new(0), + epoch: EpochNumber::new(1), }, signature: block_payload_signature, _pd: Default::default(), @@ -1753,6 +1757,7 @@ mod test { view_change_evidence: None, drb_seed: INITIAL_DRB_SEED_INPUT, drb_result: INITIAL_DRB_RESULT, + next_epoch_justify_qc: None, }; let quorum_proposal_signature = BLSPubKey::sign(&privkey, &bincode::serialize(&quorum_proposal).unwrap()) @@ -1770,6 +1775,7 @@ mod test { encoded_transactions: leaf_payload_bytes_arc.clone(), metadata: leaf_payload.ns_table().clone(), view_number: data_view, + epoch: EpochNumber::new(1), }, signature: block_payload_signature, _pd: Default::default(), diff --git a/sequencer/src/proposal_fetcher.rs b/sequencer/src/proposal_fetcher.rs index 5c753ece8..48b7ba6a2 100644 --- a/sequencer/src/proposal_fetcher.rs +++ b/sequencer/src/proposal_fetcher.rs @@ -10,7 +10,7 @@ use espresso_types::{parse_duration, v0::traits::SequencerPersistence, PubKey, V use futures::stream::StreamExt; use hotshot::types::EventType; use hotshot_types::{ - data::{EpochNumber, Leaf2, ViewNumber}, + data::{Leaf2, ViewNumber}, traits::{ metrics::{Counter, Gauge, Metrics}, network::ConnectedNetwork, @@ -190,11 +190,7 @@ where } } - let future = - self.consensus - .read() - .await - .request_proposal(view, EpochNumber::genesis(), leaf)?; + let future = self.consensus.read().await.request_proposal(view, leaf)?; let proposal = timeout(self.cfg.fetch_timeout, future) .await .context("timed out fetching proposal")? diff --git a/types/src/v0/mod.rs b/types/src/v0/mod.rs index da643b268..32e361a03 100644 --- a/types/src/v0/mod.rs +++ b/types/src/v0/mod.rs @@ -143,6 +143,8 @@ impl NodeType for SeqTypes { type Membership = EpochCommittees; type BuilderSignatureKey = FeeAccount; type AuctionResult = SolverAuctionResults; + // TODO this associated constant will be removed to make it configurable + const EPOCH_HEIGHT: u64 = 42; } #[derive(Clone, Default, Debug, Copy)] diff --git a/types/src/v0/traits.rs b/types/src/v0/traits.rs index 17b33ad7a..4728c644e 100644 --- a/types/src/v0/traits.rs +++ b/types/src/v0/traits.rs @@ -10,11 +10,14 @@ use hotshot::{types::EventType, HotShotInitializer}; use hotshot_types::{ consensus::CommitmentMap, data::{ - DaProposal, EpochNumber, QuorumProposal, QuorumProposal2, VidDisperseShare, ViewNumber, + DaProposal, DaProposal2, EpochNumber, QuorumProposal, QuorumProposal2, VidDisperseShare, + VidDisperseShare2, ViewNumber, }, event::{HotShotAction, LeafInfo}, message::{convert_proposal, Proposal}, - simple_certificate::{QuorumCertificate, QuorumCertificate2, UpgradeCertificate}, + simple_certificate::{ + NextEpochQuorumCertificate2, QuorumCertificate, QuorumCertificate2, UpgradeCertificate, + }, traits::{ node_implementation::{ConsensusTime, Versions}, storage::Storage, @@ -493,6 +496,9 @@ pub trait SequencerPersistence: Sized + Send + Sync + Clone + 'static { ViewNumber::genesis() } }; + + // TODO load from storage + let next_epoch_high_qc = None; let (leaf, high_qc, anchor_view) = match self .load_anchor_leaf() .await @@ -581,6 +587,7 @@ pub trait SequencerPersistence: Sized + Send + Sync + Clone + 'static { highest_voted_view, saved_proposals, high_qc, + next_epoch_high_qc, upgrade_certificate, undecided_leaves.into_values().collect(), undecided_state, @@ -726,6 +733,14 @@ impl Storage for Arc

{ (**self).append_vid(proposal).await } + async fn append_vid2( + &self, + proposal: &Proposal>, + ) -> anyhow::Result<()> { + let proposal_1 = convert_proposal(proposal.clone()); + (**self).append_vid(&proposal_1).await + } + async fn append_da( &self, proposal: &Proposal>, @@ -734,6 +749,15 @@ impl Storage for Arc

{ (**self).append_da(proposal, vid_commit).await } + async fn append_da2( + &self, + proposal: &Proposal>, + vid_commit: ::Commit, + ) -> anyhow::Result<()> { + let proposal_1 = convert_proposal(proposal.clone()); + (**self).append_da(&proposal_1, vid_commit).await + } + async fn record_action(&self, view: ViewNumber, action: HotShotAction) -> anyhow::Result<()> { (**self).record_action(view, action).await } @@ -809,6 +833,14 @@ impl Storage for Arc

{ .migrate_consensus(migrate_leaf, migrate_proposal) .await } + + async fn update_next_epoch_high_qc2( + &self, + _high_qc: NextEpochQuorumCertificate2, + ) -> anyhow::Result<()> { + // TODO + Ok(()) + } } /// Data that can be deserialized from a subslice of namespace payload bytes. From 721698a80317bf568ef39474e108ebee3c77a40e Mon Sep 17 00:00:00 2001 From: sveitser Date: Thu, 19 Dec 2024 13:47:02 +0100 Subject: [PATCH 02/13] Update hotshot-query-service Tests also compile now (with some holes in builder initialization) --- Cargo.lock | 8 ++--- Cargo.toml | 3 ++ sequencer/src/api.rs | 4 +++ sequencer/src/genesis.rs | 2 +- sequencer/src/lib.rs | 21 +++++------ sequencer/src/message_compat_tests.rs | 51 ++++++++++++++++----------- sequencer/src/persistence.rs | 8 ++++- 7 files changed, 61 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d845137bf..c5f5494f9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4271,8 +4271,8 @@ dependencies = [ [[package]] name = "hotshot-query-service" -version = "0.1.75" -source = "git+https://github.com/EspressoSystems/hotshot-query-service?tag=v0.1.75#dffefa160f441a663723a67bc54efedb11a88b02" +version = "0.1.76" +source = "git+https://github.com/EspressoSystems/hotshot-query-service//?branch=ma%2Fhotshot-0.5.83#77ad27d40201a8483ca6ad3af9040adf859d5607" dependencies = [ "anyhow", "ark-serialize", @@ -7791,7 +7791,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.12.1", "proc-macro2", "quote", "syn 2.0.87", @@ -9325,7 +9325,7 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03c3c6b7927ffe7ecaa769ee0e3994da3b8cafc8f444578982c83ecb161af917" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.87", diff --git a/Cargo.toml b/Cargo.toml index 23cbe53fb..76611f833 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -190,5 +190,8 @@ hotshot-builder-core = { git = "https://github.com/EspressoSystems/marketplace-b [patch.'https://github.com/EspressoSystems/hotshot-events-service.git'] hotshot-events-service = { git = "https://github.com/EspressoSystems/hotshot-events-service//", branch = "ma/hotshot-0.5.83" } +[patch.'https://github.com/EspressoSystems/hotshot-query-service'] +hotshot-query-service = { git = "https://github.com/EspressoSystems/hotshot-query-service//", branch = "ma/hotshot-0.5.83" } + # patch # https://github.com/rust-lang/cargo/issues/5478 diff --git a/sequencer/src/api.rs b/sequencer/src/api.rs index 4335752bd..9aa18ae99 100644 --- a/sequencer/src/api.rs +++ b/sequencer/src/api.rs @@ -1061,6 +1061,7 @@ mod api_tests { use hotshot_query_service::availability::{ AvailabilityDataSource, BlockQueryData, VidCommonQueryData, }; + use hotshot_types::data::EpochNumber; use hotshot_types::drb::{INITIAL_DRB_RESULT, INITIAL_DRB_SEED_INPUT}; use hotshot_types::{ data::{DaProposal, QuorumProposal2, VidDisperseShare}, @@ -1261,6 +1262,7 @@ mod api_tests { view_change_evidence: None, drb_seed: INITIAL_DRB_SEED_INPUT, drb_result: INITIAL_DRB_RESULT, + next_epoch_justify_qc: None, }; let mut qc = QuorumCertificate::genesis::( &ValidatedState::default(), @@ -1313,6 +1315,7 @@ mod api_tests { encoded_transactions: payload_bytes_arc.clone(), metadata: payload.ns_table().clone(), view_number: leaf.view_number(), + epoch: EpochNumber::new(1), }; let da_proposal = Proposal { data: da_proposal_inner, @@ -1468,6 +1471,7 @@ mod api_tests { view_change_evidence: None, drb_seed: INITIAL_DRB_SEED_INPUT, drb_result: INITIAL_DRB_RESULT, + next_epoch_justify_qc: None, }; let leaf = Leaf2::from_quorum_proposal(&qp); diff --git a/sequencer/src/genesis.rs b/sequencer/src/genesis.rs index 17224f1e9..2f3b13010 100644 --- a/sequencer/src/genesis.rs +++ b/sequencer/src/genesis.rs @@ -60,7 +60,7 @@ pub struct Genesis { pub header: GenesisHeader, #[serde(rename = "upgrade", with = "upgrade_ser")] #[serde(default)] - pub upgrades: BTreeMap, + pub upgrades: BTreeMap, } impl Genesis { diff --git a/sequencer/src/lib.rs b/sequencer/src/lib.rs index 04d745483..0dc3fbbb9 100644 --- a/sequencer/src/lib.rs +++ b/sequencer/src/lib.rs @@ -637,18 +637,19 @@ pub mod testing { .parse() .expect("Failed to parse builder URL"); - let hooks = NoHooks(PhantomData); + // let hooks = NoHooks(PhantomData); // create the global state - let global_state: Arc>> = GlobalState::new( - (builder_key_pair.fee_account(), builder_key_pair), - Duration::from_secs(60), - Duration::from_millis(100), - Duration::from_secs(60), - BUILDER_CHANNEL_CAPACITY_FOR_TEST, - 10, - hooks, - ); + // let global_state: Arc>> = GlobalState::new( + // (builder_key_pair.fee_account(), builder_key_pair), + // Duration::from_secs(60), + // Duration::from_millis(100), + // Duration::from_secs(60), + // BUILDER_CHANNEL_CAPACITY_FOR_TEST, + // 10, + // hooks, + // ); + let global_state: Arc>> = todo!(); // create the proxy global state it will server the builder apis let app = Arc::clone(&global_state) diff --git a/sequencer/src/message_compat_tests.rs b/sequencer/src/message_compat_tests.rs index fe9bf3810..137879172 100755 --- a/sequencer/src/message_compat_tests.rs +++ b/sequencer/src/message_compat_tests.rs @@ -28,14 +28,10 @@ use hotshot_types::{ SequencingMessage, }, simple_certificate::{ - DaCertificate, QuorumCertificate, TimeoutCertificate, UpgradeCertificate, - ViewSyncCommitCertificate2, ViewSyncFinalizeCertificate2, ViewSyncPreCommitCertificate2, - }, - simple_vote::{ - DaData, DaVote, QuorumData, QuorumVote, TimeoutData, TimeoutVote, UpgradeProposalData, - UpgradeVote, ViewSyncCommitData, ViewSyncCommitVote, ViewSyncFinalizeData, - ViewSyncFinalizeVote, ViewSyncPreCommitData, ViewSyncPreCommitVote, + DaCertificate, QuorumCertificate, UpgradeCertificate, ViewSyncCommitCertificate2, + ViewSyncFinalizeCertificate2, ViewSyncPreCommitCertificate2, }, + simple_vote::{DaData, DaVote, QuorumData, QuorumVote, UpgradeProposalData, UpgradeVote}, traits::{ node_implementation::ConsensusTime, signature_key::SignatureKey, BlockPayload, EncodeBytes, }, @@ -53,7 +49,15 @@ use vbs::{ async fn test_message_compat(_ver: Ver) { use espresso_types::{EpochCommittees, Leaf, Payload, SeqTypes, Transaction}; use hotshot_example_types::node_types::TestVersions; - use hotshot_types::PeerConfig; + use hotshot_types::{ + simple_certificate::TimeoutCertificate2, + simple_vote::{ + TimeoutData2, TimeoutVote2, ViewSyncCommitData2, ViewSyncCommitVote2, + ViewSyncFinalizeData2, ViewSyncFinalizeVote2, ViewSyncPreCommitData2, + ViewSyncPreCommitVote2, + }, + PeerConfig, + }; let (sender, priv_key) = PubKey::generated_from_seed_indexed(Default::default(), 0); let signature = PubKey::sign(&priv_key, &[]).unwrap(); @@ -82,20 +86,24 @@ async fn test_message_compat(_ver: Ver) { ) .await .unwrap(); - let view_sync_pre_commit_data = ViewSyncPreCommitData { + let view_sync_pre_commit_data = ViewSyncPreCommitData2 { relay: 0, round: ViewNumber::genesis(), + epoch: EpochNumber::genesis(), }; - let view_sync_commit_data = ViewSyncCommitData { + let view_sync_commit_data = ViewSyncCommitData2 { relay: 0, round: ViewNumber::genesis(), + epoch: EpochNumber::genesis(), }; - let view_sync_finalize_data = ViewSyncFinalizeData { + let view_sync_finalize_data = ViewSyncFinalizeData2 { relay: 0, round: ViewNumber::genesis(), + epoch: EpochNumber::genesis(), }; - let timeout_data = TimeoutData { + let timeout_data = TimeoutData2 { view: ViewNumber::genesis(), + epoch: EpochNumber::genesis(), }; let da_data = DaData { payload_commit: block_header.payload_commitment(), @@ -118,7 +126,7 @@ async fn test_message_compat(_ver: Ver) { Default::default(), Default::default(), )), - proposal_certificate: Some(ViewChangeEvidence::Timeout(TimeoutCertificate::new( + proposal_certificate: Some(ViewChangeEvidence::Timeout(TimeoutCertificate2::new( timeout_data.clone(), timeout_data.commit(), ViewNumber::genesis(), @@ -136,43 +144,43 @@ async fn test_message_compat(_ver: Ver) { }, view_number: ViewNumber::genesis(), }), - GeneralConsensusMessage::ViewSyncPreCommitVote(ViewSyncPreCommitVote { + GeneralConsensusMessage::ViewSyncPreCommitVote2(ViewSyncPreCommitVote2 { signature: (sender, signature.clone()), data: view_sync_pre_commit_data.clone(), view_number: ViewNumber::genesis(), }), - GeneralConsensusMessage::ViewSyncCommitVote(ViewSyncCommitVote { + GeneralConsensusMessage::ViewSyncCommitVote2(ViewSyncCommitVote2 { signature: (sender, signature.clone()), data: view_sync_commit_data.clone(), view_number: ViewNumber::genesis(), }), - GeneralConsensusMessage::ViewSyncFinalizeVote(ViewSyncFinalizeVote { + GeneralConsensusMessage::ViewSyncFinalizeVote2(ViewSyncFinalizeVote2 { signature: (sender, signature.clone()), data: view_sync_finalize_data.clone(), view_number: ViewNumber::genesis(), }), - GeneralConsensusMessage::ViewSyncPreCommitCertificate(ViewSyncPreCommitCertificate2::new( + GeneralConsensusMessage::ViewSyncPreCommitCertificate2(ViewSyncPreCommitCertificate2::new( view_sync_pre_commit_data.clone(), view_sync_pre_commit_data.commit(), ViewNumber::genesis(), Default::default(), Default::default(), )), - GeneralConsensusMessage::ViewSyncCommitCertificate(ViewSyncCommitCertificate2::new( + GeneralConsensusMessage::ViewSyncCommitCertificate2(ViewSyncCommitCertificate2::new( view_sync_commit_data.clone(), view_sync_commit_data.commit(), ViewNumber::genesis(), Default::default(), Default::default(), )), - GeneralConsensusMessage::ViewSyncFinalizeCertificate(ViewSyncFinalizeCertificate2::new( + GeneralConsensusMessage::ViewSyncFinalizeCertificate2(ViewSyncFinalizeCertificate2::new( view_sync_finalize_data.clone(), view_sync_finalize_data.commit(), ViewNumber::genesis(), Default::default(), Default::default(), )), - GeneralConsensusMessage::TimeoutVote(TimeoutVote { + GeneralConsensusMessage::TimeoutVote2(TimeoutVote2 { signature: (sender, signature.clone()), data: timeout_data, view_number: ViewNumber::genesis(), @@ -181,6 +189,7 @@ async fn test_message_compat(_ver: Ver) { data: UpgradeProposal { upgrade_proposal: upgrade_data.clone(), view_number: ViewNumber::genesis(), + epoch: EpochNumber::genesis(), }, signature: signature.clone(), _pd: Default::default(), @@ -197,6 +206,7 @@ async fn test_message_compat(_ver: Ver) { encoded_transactions: payload.encode(), metadata, view_number: ViewNumber::genesis(), + epoch: EpochNumber::genesis(), }, signature: signature.clone(), _pd: Default::default(), @@ -219,6 +229,7 @@ async fn test_message_compat(_ver: Ver) { vid_scheme(1).disperse(payload.encode()).unwrap(), &membership, EpochNumber::genesis(), + Some(EpochNumber::new(1)), )) .remove(0), signature: signature.clone(), diff --git a/sequencer/src/persistence.rs b/sequencer/src/persistence.rs index c70592019..a93b51e22 100644 --- a/sequencer/src/persistence.rs +++ b/sequencer/src/persistence.rs @@ -55,7 +55,7 @@ mod persistence_tests { use hotshot::types::{BLSPubKey, SignatureKey}; use hotshot_example_types::node_types::TestVersions; use hotshot_types::{ - data::{DaProposal, QuorumProposal2, VidDisperseShare, ViewNumber}, + data::{DaProposal, EpochNumber, QuorumProposal2, VidDisperseShare, ViewNumber}, drb::{INITIAL_DRB_RESULT, INITIAL_DRB_SEED_INPUT}, event::{EventType, HotShotAction, LeafInfo}, message::Proposal, @@ -197,6 +197,7 @@ mod persistence_tests { view_change_evidence: None, drb_seed: INITIAL_DRB_SEED_INPUT, drb_result: INITIAL_DRB_RESULT, + next_epoch_justify_qc: None, }, signature, _pd: Default::default(), @@ -248,6 +249,7 @@ mod persistence_tests { encoded_transactions: leaf_payload_bytes_arc.clone(), metadata: leaf_payload.ns_table().clone(), view_number: ViewNumber::new(0), + epoch: EpochNumber::new(1), }; let da_proposal = Proposal { @@ -610,6 +612,7 @@ mod persistence_tests { view_change_evidence: None, drb_seed: INITIAL_DRB_SEED_INPUT, drb_result: INITIAL_DRB_RESULT, + next_epoch_justify_qc: None, }; let mut qc = QuorumCertificate::genesis::( &ValidatedState::default(), @@ -625,6 +628,7 @@ mod persistence_tests { encoded_transactions: leaf_payload_bytes_arc.clone(), metadata: leaf_payload.ns_table().clone(), view_number: ViewNumber::new(0), + epoch: EpochNumber::new(1), }, signature: block_payload_signature, _pd: Default::default(), @@ -796,6 +800,7 @@ mod persistence_tests { view_change_evidence: None, drb_seed: INITIAL_DRB_SEED_INPUT, drb_result: INITIAL_DRB_RESULT, + next_epoch_justify_qc: None, }; let quorum_proposal_signature = BLSPubKey::sign(&privkey, &bincode::serialize(&quorum_proposal).unwrap()) @@ -813,6 +818,7 @@ mod persistence_tests { encoded_transactions: leaf_payload_bytes_arc, metadata: leaf_payload.ns_table().clone(), view_number: ViewNumber::new(0), + epoch: EpochNumber::new(1), }, signature: block_payload_signature, _pd: Default::default(), From 87e146bc28170b17c3e776ce4df03bc5862ff547 Mon Sep 17 00:00:00 2001 From: sveitser Date: Thu, 19 Dec 2024 14:12:10 +0100 Subject: [PATCH 03/13] fix double space --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 76611f833..28f03c152 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -178,7 +178,7 @@ hotshot-task = { git = 'https://github.com/EspressoSystems/hotshot//', branch = hotshot-task-impls = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } hotshot-testing = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } hotshot-types ={ git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } -libp2p-networking = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } +libp2p-networking = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } hotshot-example-types = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } utils = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } From 1e2fd09c800c98c0a67f6870006e7a2b859d6a71 Mon Sep 17 00:00:00 2001 From: Artemii Gerasimovich Date: Thu, 19 Dec 2024 15:05:04 +0100 Subject: [PATCH 04/13] Builder changes --- builder/src/non_permissioned.rs | 4 ++-- marketplace-builder/src/builder.rs | 35 +++++++++++++++--------------- sequencer/src/lib.rs | 34 ++++++++++++++++------------- 3 files changed, 39 insertions(+), 34 deletions(-) diff --git a/builder/src/non_permissioned.rs b/builder/src/non_permissioned.rs index 83b751bb8..e26e0d30e 100644 --- a/builder/src/non_permissioned.rs +++ b/builder/src/non_permissioned.rs @@ -145,8 +145,8 @@ impl BuilderConfig { vid_commitment, leaf_commit: fake_commitment(), builder_commitment, - tx_count: todo!(), - last_nonempty_view: todo!(), + tx_count: 0, + last_nonempty_view: None, }, decide_receiver, da_receiver, diff --git a/marketplace-builder/src/builder.rs b/marketplace-builder/src/builder.rs index 5f42783ca..914fb4105 100644 --- a/marketplace-builder/src/builder.rs +++ b/marketplace-builder/src/builder.rs @@ -36,8 +36,10 @@ use hotshot_types::{ }, utils::BuilderCommitment, }; -use marketplace_builder_core::service::{GlobalState, ProxyGlobalState}; -use marketplace_builder_core::{hooks::BuilderHooks, service::EventServiceStream}; +use marketplace_builder_core::{ + hooks::BuilderHooks, + service::{EventServiceStream, GlobalState, ProxyGlobalState}, +}; use marketplace_builder_shared::block::ParentBlockReferences; use marketplace_solver::SolverError; use sequencer::{catchup::StatePeers, L1Params, NetworkParams, SequencerApiVersion}; @@ -105,11 +107,8 @@ impl BuilderConfig { // spawn the builder service tracing::info!("Running builder against hotshot events API at {events_api_url}",); - let stream = marketplace_builder_core::service::EventServiceStream::< - SeqTypes, - SequencerApiVersion, - >::connect(events_api_url) - .await?; + let stream = + EventServiceStream::::connect(events_api_url).await?; spawn(async move { let res = global_state.start_event_loop(stream).await; @@ -169,16 +168,18 @@ impl BuilderConfig { }; // create the global state - // let global_state: Arc> = GlobalState::new( - // (builder_key_pair.fee_account(), builder_key_pair), - // api_timeout, - // maximize_txns_count_timeout_duration, - // Duration::from_secs(60), - // tx_channel_capacity.get(), - // base_fee.as_u64().expect("Base fee too high"), - // hooks, - // ); - let global_state = todo!(); + let global_state = GlobalState::new( + marketplace_builder_core::service::BuilderConfig { + builder_keys: (builder_key_pair.fee_account(), builder_key_pair), + api_timeout, + tx_capture_timeout: maximize_txns_count_timeout_duration, + txn_garbage_collect_duration: Duration::from_secs(60), + txn_channel_capacity: tx_channel_capacity.get(), + tx_status_cache_capacity: 81920, + base_fee: base_fee.as_u64().expect("Base fee too high"), + }, + hooks, + ); Self::start_service( Arc::clone(&global_state), diff --git a/sequencer/src/lib.rs b/sequencer/src/lib.rs index 0dc3fbbb9..5c0214e2b 100644 --- a/sequencer/src/lib.rs +++ b/sequencer/src/lib.rs @@ -593,7 +593,10 @@ pub mod testing { traits::{block_contents::BlockHeader, metrics::NoMetrics, stake_table::StakeTableScheme}, HotShotConfig, PeerConfig, }; - use marketplace_builder_core::{hooks::NoHooks, service::GlobalState}; + use marketplace_builder_core::{ + hooks::NoHooks, + service::{BuilderConfig, GlobalState}, + }; use portpicker::pick_unused_port; use tokio::spawn; @@ -637,21 +640,21 @@ pub mod testing { .parse() .expect("Failed to parse builder URL"); - // let hooks = NoHooks(PhantomData); - // create the global state - // let global_state: Arc>> = GlobalState::new( - // (builder_key_pair.fee_account(), builder_key_pair), - // Duration::from_secs(60), - // Duration::from_millis(100), - // Duration::from_secs(60), - // BUILDER_CHANNEL_CAPACITY_FOR_TEST, - // 10, - // hooks, - // ); - let global_state: Arc>> = todo!(); - - // create the proxy global state it will server the builder apis + let global_state = GlobalState::new( + BuilderConfig { + builder_keys: (builder_key_pair.fee_account(), builder_key_pair), + api_timeout: Duration::from_secs(60), + tx_capture_timeout: Duration::from_millis(100), + txn_garbage_collect_duration: Duration::from_secs(60), + txn_channel_capacity: BUILDER_CHANNEL_CAPACITY_FOR_TEST, + tx_status_cache_capacity: 81920, + base_fee: 10, + }, + NoHooks(PhantomData), + ); + + // Create and spawn the tide-disco app to serve the builder APIs let app = Arc::clone(&global_state) .into_app() .expect("Failed to create builder tide-disco app"); @@ -665,6 +668,7 @@ pub mod testing { ), ); + // Pass on the builder task to be injected in the testing harness ( Box::new(MarketplaceBuilderImplementation { global_state }), url, From 60f1427ec6c9c9d57f24d4fb279f9c254443c202 Mon Sep 17 00:00:00 2001 From: sveitser Date: Thu, 19 Dec 2024 15:22:53 +0100 Subject: [PATCH 05/13] cargo: remove patch Since we have a crate that depends on the main workspace now the cargo patches don't affect it and compilation fails as a result. --- Cargo.lock | 73 +++---- Cargo.toml | 56 ++--- sequencer-sqlite/Cargo.lock | 393 ++++++++++++++++++++++++------------ 3 files changed, 302 insertions(+), 220 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c5f5494f9..bcd471543 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1264,7 +1264,7 @@ dependencies = [ "hotshot", "hotshot-builder-api", "hotshot-builder-core", - "hotshot-events-service 0.1.56", + "hotshot-events-service", "hotshot-state-prover", "hotshot-types", "jf-signature 0.2.0", @@ -4020,7 +4020,7 @@ dependencies = [ [[package]] name = "hotshot" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-broadcast", @@ -4063,7 +4063,7 @@ dependencies = [ [[package]] name = "hotshot-builder-api" version = "0.1.7" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "async-trait", "clap", @@ -4082,7 +4082,7 @@ dependencies = [ [[package]] name = "hotshot-builder-core" version = "0.1.58" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core//?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" dependencies = [ "anyhow", "async-broadcast", @@ -4138,37 +4138,10 @@ dependencies = [ "serde", ] -[[package]] -name = "hotshot-events-service" -version = "0.1.56" -source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?tag=0.1.56#c8046e6debb533c6abf431866ccf1d3787338982" -dependencies = [ - "async-broadcast", - "async-lock 2.8.0", - "async-trait", - "clap", - "derivative", - "derive_more 0.99.18", - "either", - "futures", - "hotshot-types", - "libp2p-identity", - "rand 0.8.5", - "serde", - "snafu 0.8.5", - "tagged-base64", - "tide-disco", - "tokio", - "toml 0.8.19", - "tracing", - "tracing-test", - "vbs", -] - [[package]] name = "hotshot-events-service" version = "0.1.57" -source = "git+https://github.com/EspressoSystems/hotshot-events-service//?branch=ma%2Fhotshot-0.5.83#89b06b6007e88fd20bfc855d3f400b8fa045f379" +source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?branch=ma%2Fhotshot-0.5.83#89b06b6007e88fd20bfc855d3f400b8fa045f379" dependencies = [ "async-broadcast", "async-lock 2.8.0", @@ -4195,7 +4168,7 @@ dependencies = [ [[package]] name = "hotshot-example-types" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4220,7 +4193,7 @@ dependencies = [ [[package]] name = "hotshot-fakeapi" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4238,7 +4211,7 @@ dependencies = [ [[package]] name = "hotshot-macros" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "derive_builder", "proc-macro2", @@ -4249,7 +4222,7 @@ dependencies = [ [[package]] name = "hotshot-orchestrator" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4272,7 +4245,7 @@ dependencies = [ [[package]] name = "hotshot-query-service" version = "0.1.76" -source = "git+https://github.com/EspressoSystems/hotshot-query-service//?branch=ma%2Fhotshot-0.5.83#77ad27d40201a8483ca6ad3af9040adf859d5607" +source = "git+https://github.com/EspressoSystems/hotshot-query-service?branch=ma%2Fhotshot-0.5.83#77ad27d40201a8483ca6ad3af9040adf859d5607" dependencies = [ "anyhow", "ark-serialize", @@ -4327,7 +4300,7 @@ dependencies = [ [[package]] name = "hotshot-stake-table" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "ark-bn254", "ark-ed-on-bn254", @@ -4389,7 +4362,7 @@ dependencies = [ [[package]] name = "hotshot-task" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "async-broadcast", "async-trait", @@ -4402,7 +4375,7 @@ dependencies = [ [[package]] name = "hotshot-task-impls" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-broadcast", @@ -4436,7 +4409,7 @@ dependencies = [ [[package]] name = "hotshot-testing" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-broadcast", @@ -4477,7 +4450,7 @@ dependencies = [ [[package]] name = "hotshot-types" version = "0.1.11" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "ark-bn254", @@ -6032,7 +6005,7 @@ dependencies = [ [[package]] name = "libp2p-networking" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-trait", @@ -6411,7 +6384,7 @@ dependencies = [ "futures", "hotshot", "hotshot-builder-api", - "hotshot-events-service 0.1.56", + "hotshot-events-service", "hotshot-orchestrator", "hotshot-query-service", "hotshot-stake-table", @@ -6437,7 +6410,7 @@ dependencies = [ [[package]] name = "marketplace-builder-core" version = "0.1.58" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core//?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" dependencies = [ "anyhow", "async-broadcast", @@ -6462,7 +6435,7 @@ dependencies = [ [[package]] name = "marketplace-builder-shared" version = "0.1.58" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core//?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" dependencies = [ "anyhow", "async-broadcast", @@ -6477,7 +6450,7 @@ dependencies = [ "hex", "hotshot", "hotshot-builder-api", - "hotshot-events-service 0.1.57", + "hotshot-events-service", "hotshot-example-types", "hotshot-task-impls", "hotshot-testing", @@ -6512,7 +6485,7 @@ dependencies = [ "espresso-types", "futures", "hotshot", - "hotshot-events-service 0.1.56", + "hotshot-events-service", "hotshot-query-service", "hotshot-types", "marketplace-solver", @@ -8864,7 +8837,7 @@ dependencies = [ "futures", "hotshot", "hotshot-contract-adapter", - "hotshot-events-service 0.1.56", + "hotshot-events-service", "hotshot-example-types", "hotshot-orchestrator", "hotshot-query-service", @@ -10946,7 +10919,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "utils" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/HotShot//?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "tracing", ] diff --git a/Cargo.toml b/Cargo.toml index 28f03c152..b32e1fa98 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -64,24 +64,24 @@ tokio = { version = "1", default-features = false, features = [ "sync", ] } -hotshot = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.82" } +hotshot = { git = "https://github.com/EspressoSystems/hotshot", branch = "bump/0.5.83" } # Hotshot imports -hotshot-builder-api = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.82" } -hotshot-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core", tag = "0.1.57" } -marketplace-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core", tag = "0.1.57" } -marketplace-builder-shared = { git = "https://github.com/EspressoSystems/marketplace-builder-core", tag = "0.1.57" } -hotshot-events-service = { git = "https://github.com/EspressoSystems/hotshot-events-service.git", tag = "0.1.56" } -hotshot-orchestrator = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.82" } -hotshot-query-service = { git = "https://github.com/EspressoSystems/hotshot-query-service", tag = "v0.1.75" } -hotshot-stake-table = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.82" } +hotshot-builder-api = { git = "https://github.com/EspressoSystems/hotshot", branch = "bump/0.5.83" } +hotshot-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core", branch = "ma/hotshot-0.5.83" } +marketplace-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core", branch = "ma/hotshot-0.5.83" } +marketplace-builder-shared = { git = "https://github.com/EspressoSystems/marketplace-builder-core", branch = "ma/hotshot-0.5.83" } +hotshot-events-service = { git = "https://github.com/EspressoSystems/hotshot-events-service.git", branch = "ma/hotshot-0.5.83" } +hotshot-orchestrator = { git = "https://github.com/EspressoSystems/hotshot", branch = "bump/0.5.83" } +hotshot-query-service = { git = "https://github.com/EspressoSystems/hotshot-query-service", branch = "ma/hotshot-0.5.83" } +hotshot-stake-table = { git = "https://github.com/EspressoSystems/hotshot", branch = "bump/0.5.83" } hotshot-state-prover = { version = "0.1.0", path = "hotshot-state-prover" } -hotshot-task = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.82" } -hotshot-testing = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.82" } -hotshot-types = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.82" } -libp2p-networking = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.82" } +hotshot-task = { git = "https://github.com/EspressoSystems/hotshot", branch = "bump/0.5.83" } +hotshot-testing = { git = "https://github.com/EspressoSystems/hotshot", branch = "bump/0.5.83" } +hotshot-types = { git = "https://github.com/EspressoSystems/hotshot", branch = "bump/0.5.83" } +libp2p-networking = { git = "https://github.com/EspressoSystems/hotshot", branch = "bump/0.5.83" } hotshot-contract-adapter = { version = "0.1.0", path = "contracts/rust/adapter" } # Temporary, used to pull in the mock auction results provider -hotshot-example-types = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.82" } +hotshot-example-types = { git = "https://github.com/EspressoSystems/hotshot", branch = "bump/0.5.83" } # Push CDN imports cdn-broker = { git = "https://github.com/EspressoSystems/Push-CDN", tag = "0.5.1-upgrade", package = "cdn-broker" } @@ -164,34 +164,6 @@ opt-level = 0 opt-level = 0 [profile.test.package.hotshot-state-prover] opt-level = 3 -[profile.test.package.gen-vk-contract] -opt-level = 3 -[profile.test.package.diff-test-hotshot] -opt-level = 3 - -[patch.'https://github.com/EspressoSystems/hotshot.git'] -hotshot = { git = 'https://github.com/EspressoSystems/HotShot//', branch = 'bump/0.5.83' } -hotshot-builder-api = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } -hotshot-orchestrator ={ git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } -hotshot-stake-table = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } -hotshot-task = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } -hotshot-task-impls = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } -hotshot-testing = { git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } -hotshot-types ={ git = 'https://github.com/EspressoSystems/hotshot//', branch = 'bump/0.5.83' } -libp2p-networking = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } -hotshot-example-types = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } -utils = { git = "https://github.com/EspressoSystems/hotshot//", branch = 'bump/0.5.83' } - -[patch.'https://github.com/EspressoSystems/marketplace-builder-core.git'] -marketplace-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core//", branch = "ma/hotshot-0.5.83" } -marketplace-builder-shared = { git = "https://github.com/EspressoSystems/marketplace-builder-core//", branch = "ma/hotshot-0.5.83" } -hotshot-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core//", branch = "ma/hotshot-0.5.83" } - -[patch.'https://github.com/EspressoSystems/hotshot-events-service.git'] -hotshot-events-service = { git = "https://github.com/EspressoSystems/hotshot-events-service//", branch = "ma/hotshot-0.5.83" } - -[patch.'https://github.com/EspressoSystems/hotshot-query-service'] -hotshot-query-service = { git = "https://github.com/EspressoSystems/hotshot-query-service//", branch = "ma/hotshot-0.5.83" } # patch # https://github.com/rust-lang/cargo/issues/5478 diff --git a/sequencer-sqlite/Cargo.lock b/sequencer-sqlite/Cargo.lock index 530d9bd19..ae809443d 100644 --- a/sequencer-sqlite/Cargo.lock +++ b/sequencer-sqlite/Cargo.lock @@ -897,19 +897,6 @@ dependencies = [ "rustc_version 0.4.1", ] -[[package]] -name = "asynchronous-codec" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568" -dependencies = [ - "bytes 1.9.0", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite 0.2.15", -] - [[package]] name = "asynchronous-codec" version = "0.7.0" @@ -3897,8 +3884,8 @@ dependencies = [ [[package]] name = "hotshot" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-broadcast", @@ -3941,7 +3928,7 @@ dependencies = [ [[package]] name = "hotshot-builder-api" version = "0.1.7" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "async-trait", "clap", @@ -3977,7 +3964,7 @@ dependencies = [ "jf-pcs", "jf-plonk", "jf-utils", - "libp2p", + "libp2p 0.53.2", "num-bigint", "num-traits", "serde", @@ -3985,8 +3972,8 @@ dependencies = [ [[package]] name = "hotshot-events-service" -version = "0.1.56" -source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?tag=0.1.56#c8046e6debb533c6abf431866ccf1d3787338982" +version = "0.1.57" +source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?branch=ma%2Fhotshot-0.5.83#89b06b6007e88fd20bfc855d3f400b8fa045f379" dependencies = [ "async-broadcast", "async-lock 2.8.0", @@ -4012,8 +3999,8 @@ dependencies = [ [[package]] name = "hotshot-example-types" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4037,8 +4024,8 @@ dependencies = [ [[package]] name = "hotshot-fakeapi" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4055,8 +4042,8 @@ dependencies = [ [[package]] name = "hotshot-macros" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "derive_builder", "proc-macro2", @@ -4066,8 +4053,8 @@ dependencies = [ [[package]] name = "hotshot-orchestrator" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4089,8 +4076,8 @@ dependencies = [ [[package]] name = "hotshot-query-service" -version = "0.1.75" -source = "git+https://github.com/EspressoSystems/hotshot-query-service?tag=v0.1.75#dffefa160f441a663723a67bc54efedb11a88b02" +version = "0.1.76" +source = "git+https://github.com/EspressoSystems/hotshot-query-service?branch=ma%2Fhotshot-0.5.83#77ad27d40201a8483ca6ad3af9040adf859d5607" dependencies = [ "anyhow", "ark-serialize", @@ -4138,8 +4125,8 @@ dependencies = [ [[package]] name = "hotshot-stake-table" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "ark-bn254", "ark-ed-on-bn254", @@ -4200,8 +4187,8 @@ dependencies = [ [[package]] name = "hotshot-task" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "async-broadcast", "async-trait", @@ -4213,8 +4200,8 @@ dependencies = [ [[package]] name = "hotshot-task-impls" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-broadcast", @@ -4247,8 +4234,8 @@ dependencies = [ [[package]] name = "hotshot-testing" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-broadcast", @@ -4289,7 +4276,7 @@ dependencies = [ [[package]] name = "hotshot-types" version = "0.1.11" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "ark-bn254", @@ -5444,20 +5431,44 @@ dependencies = [ "futures-timer", "getrandom 0.2.15", "instant", - "libp2p-allow-block-list", + "libp2p-allow-block-list 0.3.0", + "libp2p-connection-limits 0.3.1", + "libp2p-core 0.41.3", + "libp2p-gossipsub 0.46.1", + "libp2p-identity", + "libp2p-kad 0.45.3", + "libp2p-swarm 0.44.2", + "multiaddr", + "pin-project", + "rw-stream-sink", + "thiserror 1.0.69", +] + +[[package]] +name = "libp2p" +version = "0.54.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbbe80f9c7e00526cd6b838075b9c171919404a4732cb2fa8ece0a093223bfc4" +dependencies = [ + "bytes 1.9.0", + "either", + "futures", + "futures-timer", + "getrandom 0.2.15", + "libp2p-allow-block-list 0.4.0", "libp2p-autonat", - "libp2p-connection-limits", - "libp2p-core", + "libp2p-connection-limits 0.4.0", + "libp2p-core 0.42.0", "libp2p-dns", - "libp2p-gossipsub", + "libp2p-gossipsub 0.47.0", "libp2p-identify", "libp2p-identity", - "libp2p-kad", + "libp2p-kad 0.46.2", "libp2p-mdns", "libp2p-metrics", "libp2p-quic", "libp2p-request-response", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "libp2p-tcp", "libp2p-upnp", "multiaddr", @@ -5472,31 +5483,49 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "107b238b794cb83ab53b74ad5dcf7cca3200899b72fe662840cfb52f5b0a32e6" dependencies = [ - "libp2p-core", + "libp2p-core 0.41.3", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.44.2", + "void", +] + +[[package]] +name = "libp2p-allow-block-list" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1027ccf8d70320ed77e984f273bc8ce952f623762cb9bf2d126df73caef8041" +dependencies = [ + "libp2p-core 0.42.0", + "libp2p-identity", + "libp2p-swarm 0.45.1", "void", ] [[package]] name = "libp2p-autonat" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95151726170e41b591735bf95c42b888fe4aa14f65216a9fbf0edcc04510586" +checksum = "a083675f189803d0682a2726131628e808144911dad076858bfbe30b13065499" dependencies = [ "async-trait", - "asynchronous-codec 0.6.2", + "asynchronous-codec", + "bytes 1.9.0", + "either", "futures", + "futures-bounded", "futures-timer", - "instant", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "libp2p-request-response", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "quick-protobuf", - "quick-protobuf-codec 0.2.0", + "quick-protobuf-codec", "rand 0.8.5", + "rand_core 0.6.4", + "thiserror 1.0.69", "tracing", + "void", + "web-time", ] [[package]] @@ -5505,9 +5534,21 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7cd50a78ccfada14de94cbacd3ce4b0138157f376870f13d3a8422cd075b4fd" dependencies = [ - "libp2p-core", + "libp2p-core 0.41.3", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.44.2", + "void", +] + +[[package]] +name = "libp2p-connection-limits" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d003540ee8baef0d254f7b6bfd79bac3ddf774662ca0abf69186d517ef82ad8" +dependencies = [ + "libp2p-core 0.42.0", + "libp2p-identity", + "libp2p-swarm 0.45.1", "void", ] @@ -5540,16 +5581,45 @@ dependencies = [ "web-time", ] +[[package]] +name = "libp2p-core" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a61f26c83ed111104cd820fe9bc3aaabbac5f1652a1d213ed6e900b7918a1298" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "libp2p-identity", + "multiaddr", + "multihash", + "multistream-select", + "once_cell", + "parking_lot", + "pin-project", + "quick-protobuf", + "rand 0.8.5", + "rw-stream-sink", + "serde", + "smallvec", + "thiserror 1.0.69", + "tracing", + "unsigned-varint 0.8.0", + "void", + "web-time", +] + [[package]] name = "libp2p-dns" -version = "0.41.1" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d17cbcf7160ff35c3e8e560de4a068fe9d6cb777ea72840e48eb76ff9576c4b6" +checksum = "97f37f30d5c7275db282ecd86e54f29dd2176bd3ac656f06abf43bedb21eb8bd" dependencies = [ "async-trait", "futures", "hickory-resolver", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "parking_lot", "smallvec", @@ -5562,7 +5632,7 @@ version = "0.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d665144a616dadebdc5fff186b1233488cdcd8bfb1223218ff084b6d052c94f7" dependencies = [ - "asynchronous-codec 0.7.0", + "asynchronous-codec", "base64 0.21.7", "byteorder", "bytes 1.9.0", @@ -5573,12 +5643,12 @@ dependencies = [ "getrandom 0.2.15", "hex_fmt", "instant", - "libp2p-core", + "libp2p-core 0.41.3", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.44.2", "prometheus-client", "quick-protobuf", - "quick-protobuf-codec 0.3.1", + "quick-protobuf-codec", "rand 0.8.5", "regex", "serde", @@ -5588,23 +5658,55 @@ dependencies = [ "void", ] +[[package]] +name = "libp2p-gossipsub" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4e830fdf24ac8c444c12415903174d506e1e077fbe3875c404a78c5935a8543" +dependencies = [ + "asynchronous-codec", + "base64 0.22.1", + "byteorder", + "bytes 1.9.0", + "either", + "fnv", + "futures", + "futures-ticker", + "getrandom 0.2.15", + "hex_fmt", + "libp2p-core 0.42.0", + "libp2p-identity", + "libp2p-swarm 0.45.1", + "prometheus-client", + "quick-protobuf", + "quick-protobuf-codec", + "rand 0.8.5", + "regex", + "serde", + "sha2 0.10.8", + "smallvec", + "tracing", + "void", + "web-time", +] + [[package]] name = "libp2p-identify" -version = "0.44.2" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5d635ebea5ca0c3c3e77d414ae9b67eccf2a822be06091b9c1a0d13029a1e2f" +checksum = "1711b004a273be4f30202778856368683bd9a83c4c7dcc8f848847606831a4e3" dependencies = [ - "asynchronous-codec 0.7.0", + "asynchronous-codec", "either", "futures", "futures-bounded", "futures-timer", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "lru 0.12.5", "quick-protobuf", - "quick-protobuf-codec 0.3.1", + "quick-protobuf-codec", "smallvec", "thiserror 1.0.69", "tracing", @@ -5639,7 +5741,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cc5767727d062c4eac74dd812c998f0e488008e82cce9c33b463d38423f9ad2" dependencies = [ "arrayvec", - "asynchronous-codec 0.7.0", + "asynchronous-codec", "bytes 1.9.0", "either", "fnv", @@ -5647,11 +5749,11 @@ dependencies = [ "futures-bounded", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.41.3", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.44.2", "quick-protobuf", - "quick-protobuf-codec 0.3.1", + "quick-protobuf-codec", "rand 0.8.5", "serde", "sha2 0.10.8", @@ -5662,19 +5764,49 @@ dependencies = [ "void", ] +[[package]] +name = "libp2p-kad" +version = "0.46.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced237d0bd84bbebb7c2cad4c073160dacb4fe40534963c32ed6d4c6bb7702a3" +dependencies = [ + "arrayvec", + "asynchronous-codec", + "bytes 1.9.0", + "either", + "fnv", + "futures", + "futures-bounded", + "futures-timer", + "libp2p-core 0.42.0", + "libp2p-identity", + "libp2p-swarm 0.45.1", + "quick-protobuf", + "quick-protobuf-codec", + "rand 0.8.5", + "serde", + "sha2 0.10.8", + "smallvec", + "thiserror 1.0.69", + "tracing", + "uint", + "void", + "web-time", +] + [[package]] name = "libp2p-mdns" -version = "0.45.1" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49007d9a339b3e1d7eeebc4d67c05dbf23d300b7d091193ec2d3f26802d7faf2" +checksum = "14b8546b6644032565eb29046b42744aee1e9f261ed99671b2c93fb140dba417" dependencies = [ "data-encoding", "futures", "hickory-proto", "if-watch", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "rand 0.8.5", "smallvec", "socket2 0.5.8", @@ -5685,26 +5817,26 @@ dependencies = [ [[package]] name = "libp2p-metrics" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdac91ae4f291046a3b2660c039a2830c931f84df2ee227989af92f7692d3357" +checksum = "77ebafa94a717c8442d8db8d3ae5d1c6a15e30f2d347e0cd31d057ca72e42566" dependencies = [ "futures", - "instant", - "libp2p-core", - "libp2p-gossipsub", + "libp2p-core 0.42.0", + "libp2p-gossipsub 0.47.0", "libp2p-identify", "libp2p-identity", - "libp2p-kad", - "libp2p-swarm", + "libp2p-kad 0.46.2", + "libp2p-swarm 0.45.1", "pin-project", "prometheus-client", + "web-time", ] [[package]] name = "libp2p-networking" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "anyhow", "async-trait", @@ -5717,7 +5849,7 @@ dependencies = [ "futures", "hotshot-types", "lazy_static", - "libp2p", + "libp2p 0.54.1", "libp2p-identity", "libp2p-swarm-derive", "pin-project", @@ -5730,15 +5862,15 @@ dependencies = [ [[package]] name = "libp2p-quic" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c67296ad4e092e23f92aea3d2bdb6f24eab79c0929ed816dfb460ea2f4567d2b" +checksum = "46352ac5cd040c70e88e7ff8257a2ae2f891a4076abad2c439584a31c15fd24e" dependencies = [ "bytes 1.9.0", "futures", "futures-timer", "if-watch", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "libp2p-tls", "parking_lot", @@ -5754,24 +5886,24 @@ dependencies = [ [[package]] name = "libp2p-request-response" -version = "0.26.3" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c314fe28368da5e3a262553fb0ad575c1c8934c461e10de10265551478163836" +checksum = "1356c9e376a94a75ae830c42cdaea3d4fe1290ba409a22c809033d1b7dcab0a6" dependencies = [ "async-trait", "cbor4ii", "futures", "futures-bounded", "futures-timer", - "instant", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.45.1", "rand 0.8.5", "serde", "smallvec", "tracing", "void", + "web-time", ] [[package]] @@ -5785,7 +5917,28 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.41.3", + "libp2p-identity", + "lru 0.12.5", + "multistream-select", + "once_cell", + "rand 0.8.5", + "smallvec", + "tracing", + "void", +] + +[[package]] +name = "libp2p-swarm" +version = "0.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7dd6741793d2c1fb2088f67f82cf07261f25272ebe3c0b0c311e0c6b50e851a" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "libp2p-core 0.42.0", "libp2p-identity", "libp2p-swarm-derive", "lru 0.12.5", @@ -5796,13 +5949,14 @@ dependencies = [ "tokio", "tracing", "void", + "web-time", ] [[package]] name = "libp2p-swarm-derive" -version = "0.34.2" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5daceb9dd908417b6dfcfe8e94098bc4aac54500c282e78120b885dadc09b999" +checksum = "206e0aa0ebe004d778d79fb0966aa0de996c19894e2c0605ba2f8524dd4443d8" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -5812,15 +5966,15 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2460fc2748919adff99ecbc1aab296e4579e41f374fb164149bd2c9e529d4c" +checksum = "ad964f312c59dcfcac840acd8c555de8403e295d39edf96f5240048b5fcaa314" dependencies = [ "futures", "futures-timer", "if-watch", "libc", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "socket2 0.5.8", "tokio", @@ -5829,13 +5983,13 @@ dependencies = [ [[package]] name = "libp2p-tls" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b7b831e55ce2aa6c354e6861a85fdd4dd0a2b97d5e276fabac0e4810a71776" +checksum = "47b23dddc2b9c355f73c1e36eb0c3ae86f7dc964a3715f0731cfad352db4d847" dependencies = [ "futures", "futures-rustls", - "libp2p-core", + "libp2p-core 0.42.0", "libp2p-identity", "rcgen 0.11.3", "ring 0.17.8", @@ -5848,15 +6002,15 @@ dependencies = [ [[package]] name = "libp2p-upnp" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccf04b0e3ff3de52d07d5fd6c3b061d0e7f908ffc683c32d9638caedce86fc8" +checksum = "01bf2d1b772bd3abca049214a3304615e6a36fa6ffc742bdd1ba774486200b8f" dependencies = [ "futures", "futures-timer", "igd-next", - "libp2p-core", - "libp2p-swarm", + "libp2p-core 0.42.0", + "libp2p-swarm 0.45.1", "tokio", "tracing", "void", @@ -7331,26 +7485,13 @@ dependencies = [ "byteorder", ] -[[package]] -name = "quick-protobuf-codec" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" -dependencies = [ - "asynchronous-codec 0.6.2", - "bytes 1.9.0", - "quick-protobuf", - "thiserror 1.0.69", - "unsigned-varint 0.7.2", -] - [[package]] name = "quick-protobuf-codec" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" dependencies = [ - "asynchronous-codec 0.7.0", + "asynchronous-codec", "bytes 1.9.0", "quick-protobuf", "thiserror 1.0.69", @@ -8370,7 +8511,7 @@ dependencies = [ "jf-rescue", "jf-signature 0.2.0", "jf-vid", - "libp2p", + "libp2p 0.53.2", "libp2p-networking", "marketplace-solver", "num_enum", @@ -10329,10 +10470,6 @@ name = "unsigned-varint" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" -dependencies = [ - "asynchronous-codec 0.6.2", - "bytes 1.9.0", -] [[package]] name = "unsigned-varint" @@ -10406,8 +10543,8 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "utils" -version = "0.5.79" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.82#ecfd22a4b3d20b7cf89282b172f178ab2ebf81a4" +version = "0.5.83" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" dependencies = [ "tracing", ] From 88aca4f0f0c2258ce76ebb0662fd5230105aa7e1 Mon Sep 17 00:00:00 2001 From: tbro Date: Thu, 19 Dec 2024 17:36:20 -0300 Subject: [PATCH 06/13] add `--keep-going` to lint --- .github/workflows/lint.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 31067da01..66fb4aeca 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -33,7 +33,11 @@ jobs: run: cargo fmt -- --check - name: Check (embedded-db) - run: cargo clippy --workspace --features "embedded-db testing" --all-targets -- -D warnings + run: | + cargo clippy --workspace --features "embedded-db testing" --all-targets --keep-going \ + -- -D warnings - name: Check (postgres) - run: cargo clippy --workspace --features testing --all-targets -- -D warnings + run: | + cargo clippy --workspace --features testing --all-targets --keep-going \ + -- -D warnings From 6bf306017c498d98a28d99c367b7a34b8980fa9f Mon Sep 17 00:00:00 2001 From: tbro Date: Thu, 19 Dec 2024 17:49:54 -0300 Subject: [PATCH 07/13] Pull in updates from hotshot Run `cargo update` and add some fixes for recent updates. We need `add_epoch_root()` on `Memberships` trait to fix this. --- Cargo.lock | 1096 +++++++++++++++-------------- sequencer/src/api.rs | 1 - sequencer/src/lib.rs | 2 +- types/src/v0/impls/stake_table.rs | 72 +- 4 files changed, 566 insertions(+), 605 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bcd471543..76f232785 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,19 +14,13 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.21.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "adler2" version = "2.0.0" @@ -133,9 +127,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "android-tzdata" @@ -203,9 +197,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" [[package]] name = "arbitrary" @@ -481,7 +475,7 @@ dependencies = [ "rand 0.8.5", "sha2 0.10.8", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "ureq", ] @@ -536,7 +530,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror 1.0.69", - "time 0.3.36", + "time 0.3.37", ] [[package]] @@ -547,7 +541,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "synstructure", ] @@ -559,7 +553,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -631,7 +625,7 @@ checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" dependencies = [ "async-task", "concurrent-queue", - "fastrand 2.2.0", + "fastrand 2.3.0", "futures-lite 2.5.0", "slab", ] @@ -702,7 +696,7 @@ dependencies = [ "futures-lite 2.5.0", "parking", "polling 3.7.4", - "rustix 0.38.39", + "rustix 0.38.42", "slab", "tracing", "windows-sys 0.59.0", @@ -761,7 +755,7 @@ dependencies = [ "cfg-if", "event-listener 5.3.1", "futures-lite 2.5.0", - "rustix 0.38.39", + "rustix 0.38.42", "tracing", ] @@ -777,7 +771,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.39", + "rustix 0.38.42", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -844,7 +838,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -874,7 +868,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -910,7 +904,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a860072022177f903e59730004fb5dc13db9275b79bb2aef7ba8ce831956c233" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures-sink", "futures-util", "memchr", @@ -973,7 +967,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -990,7 +984,7 @@ checksum = "edf3ee19dbc0a46d740f6f0926bde8c50f02bdbc7b536842da28f6ac56513a8b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -1002,11 +996,11 @@ dependencies = [ "async-trait", "axum-core", "bitflags 1.3.2", - "bytes 1.8.0", + "bytes 1.9.0", "futures-util", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.31", + "hyper 0.14.32", "itoa", "matchit", "memchr", @@ -1028,7 +1022,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" dependencies = [ "async-trait", - "bytes 1.8.0", + "bytes 1.9.0", "futures-util", "http 0.2.12", "http-body 0.4.6", @@ -1049,19 +1043,28 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "backon" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5289ec98f68f28dd809fd601059e6aa908bb8f6108620930828283d4ee23d7" +dependencies = [ + "fastrand 2.3.0", +] + [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.4", + "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -1185,9 +1188,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.4" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" +checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e" dependencies = [ "arrayref", "arrayvec", @@ -1334,7 +1337,7 @@ checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -1351,9 +1354,9 @@ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" [[package]] name = "bytes" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" dependencies = [ "serde", ] @@ -1414,9 +1417,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -1429,7 +1432,7 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.24", "serde", "serde_json", "thiserror 1.0.69", @@ -1456,9 +1459,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.37" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf" +checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" dependencies = [ "jobserver", "libc", @@ -1485,7 +1488,7 @@ dependencies = [ "rkyv", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -1508,7 +1511,7 @@ dependencies = [ "rkyv", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -1524,7 +1527,7 @@ dependencies = [ "rand 0.8.5", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -1537,7 +1540,7 @@ dependencies = [ "jf-signature 0.1.0", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -1550,7 +1553,7 @@ dependencies = [ "jf-signature 0.2.0", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -1576,12 +1579,12 @@ dependencies = [ "rcgen 0.13.1", "redis", "rkyv", - "rustls 0.23.18", + "rustls 0.23.20", "rustls-pki-types", "sqlx", "thiserror 1.0.69", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls 0.26.1", "tracing", "url", "warp", @@ -1611,12 +1614,12 @@ dependencies = [ "rcgen 0.13.1", "redis", "rkyv", - "rustls 0.23.18", + "rustls 0.23.20", "rustls-pki-types", "sqlx", "thiserror 1.0.69", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls 0.26.1", "tracing", "url", "warp", @@ -1636,9 +1639,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1676,9 +1679,9 @@ checksum = "b67261db007b5f4cf8cba393c1a5c511a5cc072339ce16e12aeba1d7b9b77946" [[package]] name = "clap" -version = "4.5.20" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" dependencies = [ "clap_builder", "clap_derive", @@ -1686,9 +1689,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" dependencies = [ "anstream", "anstyle", @@ -1705,14 +1708,14 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "cld" @@ -1810,7 +1813,7 @@ version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures-core", "memchr", "pin-project-lite 0.2.15", @@ -1899,14 +1902,14 @@ dependencies = [ "tonic", "tracing", "tracing-core", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] name = "const-hex" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" dependencies = [ "cfg-if", "cpufeatures", @@ -2026,9 +2029,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -2071,18 +2074,18 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -2099,18 +2102,18 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" @@ -2163,9 +2166,9 @@ dependencies = [ [[package]] name = "csv" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" +checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" dependencies = [ "csv-core", "itoa", @@ -2211,7 +2214,7 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "socket2 0.5.7", + "socket2 0.5.8", "windows-sys 0.52.0", ] @@ -2255,29 +2258,28 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "custom_debug" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e715bf0e503e909c7076c052e39dd215202e8edeb32f1c194fd630c314d256" +checksum = "2da7d1ad9567b3e11e877f1d7a0fa0360f04162f94965fc4448fbed41a65298e" dependencies = [ "custom_debug_derive", ] [[package]] name = "custom_debug_derive" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f731440b39c73910e253cb465ec1fac97732b3c7af215639881ec0c2a38f4f69" +checksum = "a707ceda8652f6c7624f2be725652e9524c815bf3b9d55a0b2320be2303f9c11" dependencies = [ "darling", - "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "synstructure", ] @@ -2302,7 +2304,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2313,7 +2315,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2364,7 +2366,7 @@ checksum = "bc2323e10c92e1cf4d86e11538512e6dc03ceb586842970b6332af3d4046a046" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2421,7 +2423,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2442,7 +2444,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2452,7 +2454,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2465,7 +2467,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2486,7 +2488,7 @@ dependencies = [ "convert_case 0.6.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "unicode-xid", ] @@ -2617,7 +2619,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2769,7 +2771,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" dependencies = [ "base64 0.21.7", - "bytes 1.8.0", + "bytes 1.9.0", "hex", "k256", "log", @@ -2789,7 +2791,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -2810,12 +2812,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2891,7 +2893,7 @@ dependencies = [ "tagged-base64", "thiserror 1.0.69", "tide-disco", - "time 0.3.36", + "time 0.3.37", "tokio", "tracing", "url", @@ -3045,7 +3047,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "syn 2.0.87", + "syn 2.0.90", "toml 0.8.19", "walkdir", ] @@ -3063,7 +3065,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -3073,7 +3075,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" dependencies = [ "arrayvec", - "bytes 1.8.0", + "bytes 1.9.0", "cargo_metadata", "chrono", "const-hex", @@ -3089,7 +3091,7 @@ dependencies = [ "serde", "serde_json", "strum", - "syn 2.0.87", + "syn 2.0.90", "tempfile", "thiserror 1.0.69", "tiny-keccak", @@ -3106,7 +3108,7 @@ dependencies = [ "ethers-core", "ethers-solc", "reqwest 0.11.27", - "semver 1.0.23", + "semver 1.0.24", "serde", "serde_json", "thiserror 1.0.69", @@ -3149,7 +3151,7 @@ dependencies = [ "async-trait", "auto_impl", "base64 0.21.7", - "bytes 1.8.0", + "bytes 1.9.0", "const-hex", "enr", "ethers-core", @@ -3216,7 +3218,7 @@ dependencies = [ "path-slash", "rayon", "regex", - "semver 1.0.23", + "semver 1.0.24", "serde", "serde_json", "solang-parser", @@ -3248,9 +3250,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ "event-listener 5.3.1", "pin-project-lite 0.2.15", @@ -3283,9 +3285,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "ff" @@ -3323,12 +3325,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.34" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", - "miniz_oxide 0.8.0", + "miniz_oxide", ] [[package]] @@ -3506,7 +3508,7 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ - "fastrand 2.2.0", + "fastrand 2.3.0", "futures-core", "futures-io", "parking", @@ -3531,7 +3533,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -3541,7 +3543,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f2f12607f92c69b12ed746fabf9ca4f5c482cba46679c1a75b874ed7c26adb" dependencies = [ "futures-io", - "rustls 0.23.18", + "rustls 0.23.20", "rustls-pki-types", ] @@ -3648,8 +3650,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -3664,9 +3668,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" @@ -3715,13 +3719,13 @@ version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "fnv", "futures-core", "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.6.0", + "indexmap 2.7.0", "slab", "tokio", "tokio-util", @@ -3730,17 +3734,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ "atomic-waker", - "bytes 1.8.0", + "bytes 1.9.0", "fnv", "futures-core", "futures-sink", - "http 1.1.0", - "indexmap 2.6.0", + "http 1.2.0", + "indexmap 2.7.0", "slab", "tokio", "tokio-util", @@ -3777,9 +3781,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.1" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ "allocator-api2", "equivalent", @@ -3833,7 +3837,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ "base64 0.21.7", - "bytes 1.8.0", + "bytes 1.9.0", "headers-core", "http 0.2.12", "httpdate", @@ -3894,9 +3898,9 @@ checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" [[package]] name = "hickory-proto" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512" +checksum = "447afdcdb8afb9d0a852af6dc65d9b285ce720ed7a59e42a8bf2e931c67bc1b5" dependencies = [ "async-trait", "cfg-if", @@ -3905,11 +3909,11 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna 0.4.0", + "idna", "ipnet", "once_cell", "rand 0.8.5", - "socket2 0.5.7", + "socket2 0.5.8", "thiserror 1.0.69", "tinyvec", "tokio", @@ -3919,9 +3923,9 @@ dependencies = [ [[package]] name = "hickory-resolver" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28757f23aa75c98f254cf0405e6d8c25b831b32921b050a66692427679b1f243" +checksum = "0a2e2aba9c389ce5267d31cf1e4dace82390ae276b0b364ea55630b1fa1b44b4" dependencies = [ "cfg-if", "futures-util", @@ -3999,11 +4003,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4020,7 +4024,7 @@ dependencies = [ [[package]] name = "hotshot" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-broadcast", @@ -4051,10 +4055,10 @@ dependencies = [ "rand 0.8.5", "serde", "sha2 0.10.8", - "time 0.3.36", + "time 0.3.37", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "url", "utils", "vbs", @@ -4063,7 +4067,7 @@ dependencies = [ [[package]] name = "hotshot-builder-api" version = "0.1.7" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "async-trait", "clap", @@ -4073,7 +4077,7 @@ dependencies = [ "hotshot-types", "serde", "tagged-base64", - "thiserror 2.0.3", + "thiserror 2.0.8", "tide-disco", "toml 0.8.19", "vbs", @@ -4107,7 +4111,7 @@ dependencies = [ "tide-disco", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "vbs", ] @@ -4168,7 +4172,7 @@ dependencies = [ [[package]] name = "hotshot-example-types" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4183,8 +4187,8 @@ dependencies = [ "serde", "sha2 0.10.8", "sha3", - "thiserror 2.0.3", - "time 0.3.36", + "thiserror 2.0.8", + "time 0.3.37", "tokio", "url", "vbs", @@ -4193,7 +4197,7 @@ dependencies = [ [[package]] name = "hotshot-fakeapi" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4211,18 +4215,18 @@ dependencies = [ [[package]] name = "hotshot-macros" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "derive_builder", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "hotshot-orchestrator" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4285,11 +4289,11 @@ dependencies = [ "tagged-base64", "tempfile", "tide-disco", - "time 0.3.36", + "time 0.3.37", "tokio", "toml 0.8.19", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "trait-variant", "typenum", "url", @@ -4300,7 +4304,7 @@ dependencies = [ [[package]] name = "hotshot-stake-table" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "ark-bn254", "ark-ed-on-bn254", @@ -4351,7 +4355,7 @@ dependencies = [ "serde", "surf-disco", "tide-disco", - "time 0.3.36", + "time 0.3.37", "tokio", "toml 0.8.19", "tracing", @@ -4362,7 +4366,7 @@ dependencies = [ [[package]] name = "hotshot-task" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "async-broadcast", "async-trait", @@ -4375,7 +4379,7 @@ dependencies = [ [[package]] name = "hotshot-task-impls" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-broadcast", @@ -4396,8 +4400,8 @@ dependencies = [ "sha2 0.10.8", "surf-disco", "tagged-base64", - "thiserror 2.0.3", - "time 0.3.36", + "thiserror 2.0.8", + "time 0.3.37", "tokio", "tracing", "url", @@ -4409,7 +4413,7 @@ dependencies = [ [[package]] name = "hotshot-testing" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-broadcast", @@ -4438,7 +4442,7 @@ dependencies = [ "serde", "sha2 0.10.8", "tagged-base64", - "thiserror 2.0.3", + "thiserror 2.0.8", "tide-disco", "tokio", "tracing", @@ -4450,7 +4454,7 @@ dependencies = [ [[package]] name = "hotshot-types" version = "0.1.11" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "ark-bn254", @@ -4490,8 +4494,8 @@ dependencies = [ "serde_json", "sha2 0.10.8", "tagged-base64", - "thiserror 2.0.3", - "time 0.3.36", + "thiserror 2.0.8", + "time 0.3.37", "tokio", "toml 0.8.19", "tracing", @@ -4508,18 +4512,18 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "fnv", "itoa", ] [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "fnv", "itoa", ] @@ -4530,7 +4534,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "http 0.2.12", "pin-project-lite 0.2.15", ] @@ -4541,8 +4545,8 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ - "bytes 1.8.0", - "http 1.1.0", + "bytes 1.9.0", + "http 1.2.0", ] [[package]] @@ -4551,9 +4555,9 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "pin-project-lite 0.2.15", ] @@ -4614,11 +4618,11 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.31" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures-channel", "futures-core", "futures-util", @@ -4629,7 +4633,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite 0.2.15", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", "tower-service", "tracing", @@ -4638,15 +4642,15 @@ dependencies = [ [[package]] name = "hyper" -version = "1.5.0" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures-channel", "futures-util", - "h2 0.4.6", - "http 1.1.0", + "h2 0.4.7", + "http 1.2.0", "http-body 1.0.1", "httparse", "itoa", @@ -4664,7 +4668,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper 0.14.31", + "hyper 0.14.32", "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", @@ -4672,18 +4676,18 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "f6884a48c6826ec44f524c7456b163cebe9e55a18d7b5e307cb4f100371cc767" dependencies = [ "futures-util", - "http 1.1.0", - "hyper 1.5.0", + "http 1.2.0", + "hyper 1.5.2", "hyper-util", - "rustls 0.23.18", + "rustls 0.23.20", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls 0.26.1", "tower-service", ] @@ -4693,7 +4697,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper 0.14.31", + "hyper 0.14.32", "pin-project-lite 0.2.15", "tokio", "tokio-io-timeout", @@ -4705,9 +4709,9 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "http-body-util", - "hyper 1.5.0", + "hyper 1.5.2", "hyper-util", "native-tls", "tokio", @@ -4721,14 +4725,14 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures-channel", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", - "hyper 1.5.0", + "hyper 1.5.2", "pin-project-lite 0.2.15", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", "tower-service", "tracing", @@ -4745,7 +4749,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -4872,7 +4876,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -4881,16 +4885,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "1.0.3" @@ -4924,9 +4918,9 @@ dependencies = [ [[package]] name = "if-watch" -version = "3.2.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" +checksum = "cdf9d64cfcf380606e64f9a0bcf493616b65331199f984151a6fa11a7b3cde38" dependencies = [ "async-io 2.4.0", "core-foundation", @@ -4935,8 +4929,12 @@ dependencies = [ "if-addrs", "ipnet", "log", + "netlink-packet-core", + "netlink-packet-route", + "netlink-proto", + "netlink-sys", "rtnetlink", - "system-configuration 0.5.1", + "system-configuration 0.6.1", "tokio", "windows", ] @@ -4949,10 +4947,10 @@ checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" dependencies = [ "async-trait", "attohttpc", - "bytes 1.8.0", + "bytes 1.9.0", "futures", "http 0.2.12", - "hyper 0.14.31", + "hyper 0.14.32", "log", "rand 0.8.5", "tokio", @@ -4989,13 +4987,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.90", ] [[package]] @@ -5036,12 +5034,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "serde", ] @@ -5066,7 +5064,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", ] [[package]] @@ -5095,7 +5093,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.7", + "socket2 0.5.8", "widestring", "windows-sys 0.48.0", "winreg", @@ -5183,9 +5181,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jf-commitment" @@ -5453,10 +5451,11 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -5554,7 +5553,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" dependencies = [ - "regex-automata 0.4.8", + "regex-automata 0.4.9", ] [[package]] @@ -5568,9 +5567,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.162" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libm" @@ -5594,7 +5593,7 @@ version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "681fb3f183edfbedd7a57d32ebe5dcdc0b9f94061185acf3c30249349cc6fc99" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "either", "futures", "futures-timer", @@ -5619,7 +5618,7 @@ version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbbe80f9c7e00526cd6b838075b9c171919404a4732cb2fa8ece0a093223bfc4" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "either", "futures", "futures-timer", @@ -5678,7 +5677,7 @@ checksum = "a083675f189803d0682a2726131628e808144911dad076858bfbe30b13065499" dependencies = [ "async-trait", "asynchronous-codec", - "bytes 1.8.0", + "bytes 1.9.0", "either", "futures", "futures-bounded", @@ -5804,7 +5803,7 @@ dependencies = [ "asynchronous-codec", "base64 0.21.7", "byteorder", - "bytes 1.8.0", + "bytes 1.9.0", "either", "fnv", "futures", @@ -5836,7 +5835,7 @@ dependencies = [ "asynchronous-codec", "base64 0.22.1", "byteorder", - "bytes 1.8.0", + "bytes 1.9.0", "either", "fnv", "futures", @@ -5884,9 +5883,9 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" +checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" dependencies = [ "asn1_der", "bs58", @@ -5911,7 +5910,7 @@ checksum = "5cc5767727d062c4eac74dd812c998f0e488008e82cce9c33b463d38423f9ad2" dependencies = [ "arrayvec", "asynchronous-codec", - "bytes 1.8.0", + "bytes 1.9.0", "either", "fnv", "futures", @@ -5941,7 +5940,7 @@ checksum = "ced237d0bd84bbebb7c2cad4c073160dacb4fe40534963c32ed6d4c6bb7702a3" dependencies = [ "arrayvec", "asynchronous-codec", - "bytes 1.8.0", + "bytes 1.9.0", "either", "fnv", "futures", @@ -5978,7 +5977,7 @@ dependencies = [ "libp2p-swarm 0.45.1", "rand 0.8.5", "smallvec", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", "tracing", "void", @@ -6005,9 +6004,10 @@ dependencies = [ [[package]] name = "libp2p-networking" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", + "async-lock 3.4.0", "async-trait", "bincode", "blake3", @@ -6026,7 +6026,7 @@ dependencies = [ "serde", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -6035,7 +6035,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46352ac5cd040c70e88e7ff8257a2ae2f891a4076abad2c439584a31c15fd24e" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures", "futures-timer", "if-watch", @@ -6046,8 +6046,8 @@ dependencies = [ "quinn", "rand 0.8.5", "ring 0.17.8", - "rustls 0.23.18", - "socket2 0.5.7", + "rustls 0.23.20", + "socket2 0.5.8", "thiserror 1.0.69", "tokio", "tracing", @@ -6130,7 +6130,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -6145,7 +6145,7 @@ dependencies = [ "libc", "libp2p-core 0.42.0", "libp2p-identity", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", "tracing", ] @@ -6162,7 +6162,7 @@ dependencies = [ "libp2p-identity", "rcgen 0.11.3", "ring 0.17.8", - "rustls 0.23.18", + "rustls 0.23.20", "rustls-webpki 0.101.7", "thiserror 1.0.69", "x509-parser", @@ -6286,9 +6286,9 @@ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "litemap" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "local-ip-address" @@ -6346,7 +6346,7 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.1", + "hashbrown 0.15.2", ] [[package]] @@ -6428,7 +6428,7 @@ dependencies = [ "tide-disco", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "vbs", ] @@ -6463,10 +6463,10 @@ dependencies = [ "serde", "sha2 0.10.8", "surf-disco", - "thiserror 2.0.3", + "thiserror 2.0.8", "tokio", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "url", "vbs", "vec1", @@ -6543,7 +6543,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -6621,29 +6621,19 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - -[[package]] -name = "miniz_oxide" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi 0.3.9", "libc", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", @@ -6687,9 +6677,9 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.2" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc41f430805af9d1cf4adae4ed2149c759b877b01d909a1f40256188d09345d2" +checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" dependencies = [ "core2", "serde", @@ -6702,7 +6692,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures", "log", "pin-project", @@ -6754,21 +6744,20 @@ dependencies = [ [[package]] name = "netlink-packet-core" -version = "0.4.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297" +checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" dependencies = [ "anyhow", "byteorder", - "libc", "netlink-packet-utils", ] [[package]] name = "netlink-packet-route" -version = "0.12.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" +checksum = "053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66" dependencies = [ "anyhow", "bitflags 1.3.2", @@ -6792,11 +6781,11 @@ dependencies = [ [[package]] name = "netlink-proto" -version = "0.10.0" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" +checksum = "86b33524dc0968bfad349684447bfce6db937a9ac3332a1fe60c0c5a5ce63f21" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures", "log", "netlink-packet-core", @@ -6807,11 +6796,11 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307" +checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures", "libc", "log", @@ -6826,9 +6815,9 @@ checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" [[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 1.3.2", "cfg-if", @@ -6858,7 +6847,7 @@ dependencies = [ "serde_json", "surf-disco", "tide-disco", - "time 0.3.36", + "time 0.3.37", "tokio", "toml 0.8.19", "tracing", @@ -7017,7 +7006,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -7031,9 +7020,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "memchr", ] @@ -7067,7 +7056,7 @@ checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" dependencies = [ "arrayvec", "auto_impl", - "bytes 1.8.0", + "bytes 1.9.0", "ethereum-types", "open-fastrlp-derive", ] @@ -7078,7 +7067,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "proc-macro2", "quote", "syn 1.0.109", @@ -7107,7 +7096,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -7230,9 +7219,9 @@ checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" [[package]] name = "pathdiff" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pbkdf2" @@ -7292,20 +7281,20 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 1.0.69", + "thiserror 2.0.8", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" +checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e" dependencies = [ "pest", "pest_generator", @@ -7313,22 +7302,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" +checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "pest_meta" -version = "2.7.14" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" +checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea" dependencies = [ "once_cell", "pest", @@ -7342,7 +7331,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.6.0", + "indexmap 2.7.0", ] [[package]] @@ -7385,7 +7374,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -7423,7 +7412,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -7457,7 +7446,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand 2.2.0", + "fastrand 2.3.0", "futures-io", ] @@ -7514,7 +7503,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite 0.2.15", - "rustix 0.38.39", + "rustix 0.38.42", "tracing", "windows-sys 0.59.0", ] @@ -7547,7 +7536,7 @@ checksum = "acda0ebdebc28befa84bee35e651e4c5f09073d668c7aed4cf7e23c3cda84b23" dependencies = [ "base64 0.22.1", "byteorder", - "bytes 1.8.0", + "bytes 1.9.0", "fallible-iterator", "hmac 0.12.1", "md-5", @@ -7563,7 +7552,7 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f66ea23a2d0e5734297357705193335e0a957696f34bed2f2faefacb2fec336f" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "fallible-iterator", "postgres-protocol", ] @@ -7606,7 +7595,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -7631,7 +7620,7 @@ checksum = "714c75db297bc88a63783ffc6ab9f830698a6705aa0201416931759ef4c8183d" dependencies = [ "autocfg", "equivalent", - "indexmap 2.6.0", + "indexmap 2.7.0", ] [[package]] @@ -7674,9 +7663,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -7716,7 +7705,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -7733,9 +7722,9 @@ dependencies = [ [[package]] name = "proptest" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bitflags 2.6.0", "lazy_static", @@ -7753,7 +7742,7 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "prost-derive", ] @@ -7767,7 +7756,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -7827,7 +7816,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" dependencies = [ "asynchronous-codec", - "bytes 1.8.0", + "bytes 1.9.0", "quick-protobuf", "thiserror 1.0.69", "unsigned-varint 0.8.0", @@ -7847,50 +7836,53 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures-io", "pin-project-lite 0.2.15", "quinn-proto", "quinn-udp", "rustc-hash", - "rustls 0.23.18", - "socket2 0.5.7", - "thiserror 1.0.69", + "rustls 0.23.20", + "socket2 0.5.8", + "thiserror 2.0.8", "tokio", "tracing", ] [[package]] name = "quinn-proto" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", + "getrandom 0.2.15", "rand 0.8.5", "ring 0.17.8", "rustc-hash", - "rustls 0.23.18", + "rustls 0.23.20", + "rustls-pki-types", "slab", - "thiserror 1.0.69", + "thiserror 2.0.8", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.7" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.5.7", + "socket2 0.5.8", "tracing", "windows-sys 0.59.0", ] @@ -8028,7 +8020,7 @@ checksum = "52c4f3084aa3bc7dfbba4eff4fab2a54db4324965d8872ab933565e6fbd83bc6" dependencies = [ "pem 3.0.4", "ring 0.16.20", - "time 0.3.36", + "time 0.3.37", "yasna", ] @@ -8041,39 +8033,40 @@ dependencies = [ "pem 3.0.4", "ring 0.17.8", "rustls-pki-types", - "time 0.3.36", + "time 0.3.37", "x509-parser", "yasna", ] [[package]] name = "redis" -version = "0.27.5" +version = "0.27.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cccf17a692ce51b86564334614d72dcae1def0fd5ecebc9f02956da74352b5" +checksum = "09d8f99a4090c89cc489a94833c901ead69bfbf3877b4867d5482e321ee875bc" dependencies = [ "arc-swap", "async-trait", - "bytes 1.8.0", + "backon", + "bytes 1.9.0", "combine", "futures", "futures-util", + "itertools 0.13.0", "itoa", "num-bigint", "percent-encoding", "pin-project-lite 0.2.15", "ryu", "tokio", - "tokio-retry2", "tokio-util", "url", ] [[package]] name = "redox_syscall" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ "bitflags 2.6.0", ] @@ -8112,7 +8105,7 @@ dependencies = [ "serde", "siphasher 1.0.1", "thiserror 1.0.69", - "time 0.3.36", + "time 0.3.37", "tokio", "tokio-postgres", "toml 0.8.19", @@ -8131,7 +8124,7 @@ dependencies = [ "quote", "refinery-core", "regex", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -8142,7 +8135,7 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.8", + "regex-automata 0.4.9", "regex-syntax 0.8.5", ] @@ -8157,9 +8150,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -8194,14 +8187,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "base64 0.21.7", - "bytes 1.8.0", + "bytes 1.9.0", "encoding_rs", "futures-core", "futures-util", "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.31", + "hyper 0.14.32", "hyper-rustls 0.24.2", "ipnet", "js-sys", @@ -8235,16 +8228,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "base64 0.22.1", - "bytes 1.8.0", + "bytes 1.9.0", "encoding_rs", "futures-core", "futures-util", - "h2 0.4.6", - "http 1.1.0", + "h2 0.4.7", + "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.5.0", - "hyper-rustls 0.27.3", + "hyper 1.5.2", + "hyper-rustls 0.27.4", "hyper-tls", "hyper-util", "ipnet", @@ -8259,7 +8252,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", + "sync_wrapper 1.0.2", "system-configuration 0.6.1", "tokio", "tokio-native-tls", @@ -8338,7 +8331,7 @@ checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" dependencies = [ "bitvec", "bytecheck", - "bytes 1.8.0", + "bytes 1.9.0", "hashbrown 0.12.3", "ptr_meta", "rend", @@ -8365,7 +8358,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "rlp-derive", "rustc-hex", ] @@ -8411,9 +8404,9 @@ dependencies = [ [[package]] name = "rsa" -version = "0.9.6" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" +checksum = "47c75d7c5c6b673e58bf54d8544a9f432e3a925b0e80f7cd3602ab5c50c55519" dependencies = [ "const-oid", "digest 0.10.7", @@ -8431,14 +8424,17 @@ dependencies = [ [[package]] name = "rtnetlink" -version = "0.10.1" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0" +checksum = "7a552eb82d19f38c3beed3f786bd23aa434ceb9ac43ab44419ca6d67a7e186c0" dependencies = [ "futures", "log", + "netlink-packet-core", "netlink-packet-route", + "netlink-packet-utils", "netlink-proto", + "netlink-sys", "nix", "thiserror 1.0.69", "tokio", @@ -8462,9 +8458,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" [[package]] name = "rustc-hex" @@ -8487,7 +8483,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.24", ] [[package]] @@ -8515,15 +8511,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.39" +version = "0.38.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee" +checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" dependencies = [ "bitflags 2.6.0", "errno", "libc", "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -8553,9 +8549,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.18" +version = "0.23.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9cc1d47e243d655ace55ed38201c19ae02c148ae56412ab8750e8f0166ab7f" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" dependencies = [ "log", "once_cell", @@ -8586,9 +8582,12 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" @@ -8654,9 +8653,9 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aa7ffc1c0ef49b0452c6e2986abf2b07743320641ffd5fc63d552458e3b779b" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "cfg-if", "derive_more 1.0.0", @@ -8666,21 +8665,21 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46385cc24172cf615450267463f937c10072516359b3ff1cb24228a4a08bf951" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "schannel" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ "windows-sys 0.59.0", ] @@ -8764,9 +8763,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +checksum = "1863fd3768cd83c56a7f60faa4dc0d403f1b6df0a38c3c25f44b7894e45370d5" dependencies = [ "core-foundation-sys", "libc", @@ -8783,9 +8782,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" dependencies = [ "serde", ] @@ -8879,12 +8878,12 @@ dependencies = [ "tagged-base64", "tempfile", "tide-disco", - "time 0.3.36", + "time 0.3.37", "todo_by", "tokio", "toml 0.8.19", "tracing", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "url", "vbs", "vec1", @@ -8922,22 +8921,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.214" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" +checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" dependencies = [ "serde_derive", ] [[package]] name = "serde-inline-default" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3acbd21cb24261fc36f595b38d3b34d0ff4e31a6b42edd6a43387d27c5787c8" +checksum = "59fb1bedd774187d304179493b0d3c41fbe97b04b14305363f68d2bdf5e47cb9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -8951,13 +8950,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.214" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" +checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -8971,9 +8970,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", "memchr", @@ -9023,12 +9022,12 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.6.0", + "indexmap 2.7.0", "serde", "serde_derive", "serde_json", "serde_with_macros", - "time 0.3.36", + "time 0.3.37", ] [[package]] @@ -9040,7 +9039,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -9196,7 +9195,7 @@ dependencies = [ "num-bigint", "num-traits", "thiserror 1.0.69", - "time 0.3.36", + "time 0.3.37", ] [[package]] @@ -9301,7 +9300,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -9316,9 +9315,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -9355,9 +9354,9 @@ dependencies = [ [[package]] name = "spin_sleep" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64bd7227d85bfd1b8df51e0d83da36d9baaee85eb75730386ef8e3ab6f2a2ea3" +checksum = "4196b31c8c1dc443543be4f4d0e827657fbf2b87387e5c8f229b14f1c046718a" dependencies = [ "windows-sys 0.59.0", ] @@ -9413,7 +9412,7 @@ dependencies = [ "atoi", "bit-vec", "byteorder", - "bytes 1.8.0", + "bytes 1.9.0", "crc", "crossbeam-queue", "either", @@ -9426,7 +9425,7 @@ dependencies = [ "hashbrown 0.14.5", "hashlink 0.9.1", "hex", - "indexmap 2.6.0", + "indexmap 2.7.0", "log", "memchr", "native-tls", @@ -9439,7 +9438,7 @@ dependencies = [ "smallvec", "sqlformat", "thiserror 1.0.69", - "time 0.3.36", + "time 0.3.37", "tokio", "tokio-stream", "tracing", @@ -9456,7 +9455,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -9479,7 +9478,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.87", + "syn 2.0.90", "tempfile", "tokio", "url", @@ -9495,7 +9494,7 @@ dependencies = [ "base64 0.22.1", "bitflags 2.6.0", "byteorder", - "bytes 1.8.0", + "bytes 1.9.0", "crc", "digest 0.10.7", "dotenvy", @@ -9523,7 +9522,7 @@ dependencies = [ "sqlx-core", "stringprep", "thiserror 1.0.69", - "time 0.3.36", + "time 0.3.37", "tracing", "whoami", ] @@ -9563,7 +9562,7 @@ dependencies = [ "sqlx-core", "stringprep", "thiserror 1.0.69", - "time 0.3.36", + "time 0.3.37", "tracing", "whoami", ] @@ -9587,7 +9586,7 @@ dependencies = [ "serde", "serde_urlencoded", "sqlx-core", - "time 0.3.36", + "time 0.3.37", "tracing", "url", ] @@ -9711,7 +9710,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -9851,7 +9850,7 @@ dependencies = [ "hex", "once_cell", "reqwest 0.11.27", - "semver 1.0.23", + "semver 1.0.24", "serde", "serde_json", "sha2 0.10.8", @@ -9873,9 +9872,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.87" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -9890,9 +9889,9 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" dependencies = [ "futures-core", ] @@ -9905,7 +9904,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -9989,9 +9988,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", - "fastrand 2.2.0", + "fastrand 2.3.0", "once_cell", - "rustix 0.38.39", + "rustix 0.38.42", "windows-sys 0.59.0", ] @@ -10033,11 +10032,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.3" +version = "2.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +checksum = "08f5383f3e0071702bf93ab5ee99b52d26936be9dedd9413067cbdcddcb6141a" dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl 2.0.8", ] [[package]] @@ -10048,18 +10047,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "thiserror-impl" -version = "2.0.3" +version = "2.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +checksum = "f2f357fcec90b3caef6623a099691be676d033b40a058ac95d2a6ade6fa0c943" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -10121,7 +10120,7 @@ dependencies = [ "edit-distance", "futures", "futures-util", - "http 1.1.0", + "http 1.2.0", "include_dir", "itertools 0.12.1", "lazy_static", @@ -10134,7 +10133,7 @@ dependencies = [ "rand 0.8.5", "reqwest 0.12.9", "routefinder", - "semver 1.0.23", + "semver 1.0.24", "serde", "serde_json", "serde_with", @@ -10152,7 +10151,7 @@ dependencies = [ "tracing-distributed", "tracing-futures", "tracing-log", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "url", "vbs", ] @@ -10192,9 +10191,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", @@ -10204,7 +10203,7 @@ dependencies = [ "powerfmt", "serde", "time-core", - "time-macros 0.2.18", + "time-macros 0.2.19", ] [[package]] @@ -10225,9 +10224,9 @@ dependencies = [ [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ "num-conv", "time-core", @@ -10290,23 +10289,23 @@ dependencies = [ "chrono", "proc-macro2", "quote", - "semver 1.0.23", - "syn 2.0.87", + "semver 1.0.24", + "syn 2.0.90", ] [[package]] name = "tokio" -version = "1.41.1" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", - "bytes 1.8.0", + "bytes 1.9.0", "libc", "mio", "parking_lot", "pin-project-lite 0.2.15", - "socket2 0.5.7", + "socket2 0.5.8", "tokio-macros", "tracing", "windows-sys 0.52.0", @@ -10330,7 +10329,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -10351,7 +10350,7 @@ checksum = "3b5d3742945bc7d7f210693b0c58ae542c6fd47b17adbbda0885f3dcb34a6bdb" dependencies = [ "async-trait", "byteorder", - "bytes 1.8.0", + "bytes 1.9.0", "fallible-iterator", "futures-channel", "futures-util", @@ -10363,23 +10362,12 @@ dependencies = [ "postgres-protocol", "postgres-types", "rand 0.8.5", - "socket2 0.5.7", + "socket2 0.5.8", "tokio", "tokio-util", "whoami", ] -[[package]] -name = "tokio-retry2" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903934dba1c4c2f2e9cb460ef10b5695e0b0ecad3bf9ee7c8675e540c5e8b2d1" -dependencies = [ - "pin-project", - "rand 0.8.5", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.24.1" @@ -10392,20 +10380,19 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ - "rustls 0.23.18", - "rustls-pki-types", + "rustls 0.23.20", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite 0.2.15", @@ -10429,11 +10416,11 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures-core", "futures-sink", "pin-project-lite 0.2.15", @@ -10479,7 +10466,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.0", "serde", "serde_spanned", "toml_datetime", @@ -10492,7 +10479,7 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.0", "serde", "serde_spanned", "toml_datetime", @@ -10509,11 +10496,11 @@ dependencies = [ "async-trait", "axum", "base64 0.21.7", - "bytes 1.8.0", + "bytes 1.9.0", "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.31", + "hyper 0.14.32", "hyper-timeout", "percent-encoding", "pin-project", @@ -10560,9 +10547,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite 0.2.15", @@ -10572,20 +10559,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -10600,7 +10587,7 @@ dependencies = [ "itertools 0.9.0", "tracing", "tracing-core", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -10626,9 +10613,9 @@ dependencies = [ [[package]] name = "tracing-serde" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" dependencies = [ "serde", "tracing-core", @@ -10645,9 +10632,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -10671,7 +10658,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "557b891436fe0d5e0e363427fc7f217abf9ccd510d5136549847bdcbcd011d68" dependencies = [ "tracing-core", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "tracing-test-macro", ] @@ -10682,7 +10669,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" dependencies = [ "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -10693,7 +10680,7 @@ checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -10710,7 +10697,7 @@ checksum = "5fe8dada8c1a3aeca77d6b51a4f1314e0f4b8e438b7b1b71e3ddaca8080e4093" dependencies = [ "base64 0.13.1", "byteorder", - "bytes 1.8.0", + "bytes 1.9.0", "http 0.2.12", "httparse", "input_buffer", @@ -10730,7 +10717,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" dependencies = [ "byteorder", - "bytes 1.8.0", + "bytes 1.9.0", "data-encoding", "http 0.2.12", "httparse", @@ -10787,15 +10774,15 @@ checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" [[package]] name = "unicode-bidi" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-normalization" @@ -10866,28 +10853,28 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.10.1" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" +checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d" dependencies = [ "base64 0.22.1", "flate2", "log", "once_cell", - "rustls 0.23.18", + "rustls 0.23.20", "rustls-pki-types", "url", - "webpki-roots 0.26.6", + "webpki-roots 0.26.7", ] [[package]] name = "url" -version = "2.5.3" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", - "idna 1.0.3", + "idna", "percent-encoding", "serde", ] @@ -10919,7 +10906,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "utils" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "tracing", ] @@ -11018,7 +11005,7 @@ dependencies = [ "anyhow", "cfg-if", "rustversion", - "time 0.3.36", + "time 0.3.37", ] [[package]] @@ -11064,12 +11051,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c" dependencies = [ - "bytes 1.8.0", + "bytes 1.9.0", "futures-channel", "futures-util", "headers", "http 0.2.12", - "hyper 0.14.31", + "hyper 0.14.32", "log", "mime", "mime_guess", @@ -11114,9 +11101,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ "cfg-if", "once_cell", @@ -11127,36 +11114,36 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -11164,28 +11151,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" dependencies = [ "js-sys", "wasm-bindgen", @@ -11228,9 +11215,9 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.6" +version = "0.26.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" dependencies = [ "rustls-pki-types", ] @@ -11285,21 +11272,31 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.51.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +checksum = "efc5cf48f83140dcaab716eeaea345f9e93d0018fb81162753a3f76c3397b538" dependencies = [ - "windows-core", - "windows-targets 0.48.5", + "windows-core 0.53.0", + "windows-targets 0.52.6", ] [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dcc5b895a6377f1ab9fa55acedab1fd5ac0db66ad1e6c7f47e28a22e446a5dd" +dependencies = [ + "windows-result 0.1.2", + "windows-targets 0.52.6", ] [[package]] @@ -11308,11 +11305,20 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-strings", "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -11328,7 +11334,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-targets 0.52.6", ] @@ -11563,14 +11569,14 @@ dependencies = [ "ring 0.17.8", "rusticata-macros", "thiserror 1.0.69", - "time 0.3.36", + "time 0.3.37", ] [[package]] name = "xml-rs" -version = "0.8.23" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af310deaae937e48a26602b730250b4949e125f468f11e6990be3e5304ddd96f" +checksum = "ea8b391c9a790b496184c29f7f93b9ed5b16abb306c05415b68bcc16e4d06432" [[package]] name = "xmltree" @@ -11610,14 +11616,14 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.36", + "time 0.3.37", ] [[package]] name = "yoke" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" dependencies = [ "serde", "stable_deref_trait", @@ -11627,13 +11633,13 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "synstructure", ] @@ -11655,27 +11661,27 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] name = "zerofrom" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", "synstructure", ] @@ -11696,7 +11702,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -11718,7 +11724,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.90", ] [[package]] @@ -11737,7 +11743,7 @@ dependencies = [ "hmac 0.12.1", "pbkdf2 0.11.0", "sha1 0.10.6", - "time 0.3.36", + "time 0.3.37", "zstd", ] diff --git a/sequencer/src/api.rs b/sequencer/src/api.rs index 9aa18ae99..bcc3a7a9c 100644 --- a/sequencer/src/api.rs +++ b/sequencer/src/api.rs @@ -186,7 +186,6 @@ impl, V: Versions, P: SequencerPersistence> } else { self.consensus().await.read().await.cur_epoch().await }; - ::Membership::stake_table( &self.consensus().await.read().await.memberships, epoch, diff --git a/sequencer/src/lib.rs b/sequencer/src/lib.rs index 5c0214e2b..07359392b 100644 --- a/sequencer/src/lib.rs +++ b/sequencer/src/lib.rs @@ -490,7 +490,7 @@ pub async fn init_node( let network = { let p2p_network = Libp2pNetwork::from_config( network_config.clone(), - membership.clone(), + Arc::new(RwLock::new(membership.clone())), gossip_config, request_response_config, libp2p_bind_address, diff --git a/types/src/v0/impls/stake_table.rs b/types/src/v0/impls/stake_table.rs index aaf947f39..9c36a20e6 100644 --- a/types/src/v0/impls/stake_table.rs +++ b/types/src/v0/impls/stake_table.rs @@ -92,7 +92,7 @@ impl StakeTables { /// Type to describe DA and Stake memberships pub struct EpochCommittees { /// Holds Stake table and da stake - state: Arc>>, + state: HashMap, /// Number of blocks in an epoch _epoch_size: u64, @@ -174,15 +174,13 @@ impl EpochCommittees { .filter(|entry| entry.stake() > U256::zero()) .collect(); - let mut state = self.state.write().unwrap(); - let committee = Committee { eligible_leaders, indexed_stake_table, indexed_da_members, }; - state.insert(epoch, committee.clone()); + self.state.insert(epoch, committee.clone()); committee } // We need a constructor to match our concrete type. @@ -239,7 +237,7 @@ impl EpochCommittees { map.insert(Epoch::genesis() + 1u64, members); Self { - state: Arc::new(RwLock::new(map)), + state: map, _epoch_size: epoch_size, l1_client: instance_state.l1_client.clone(), } @@ -305,15 +303,17 @@ impl Membership for EpochCommittees { map.insert(Epoch::genesis() + 1u64, members); Self { - state: Arc::new(RwLock::new(map)), + state: map, _epoch_size: 12, l1_client: L1Client::http(Url::from_str("http:://ab.b").unwrap()), } } /// Get the stake table for the current view + // TODO awaiting addition of `add_epoch_root` to Memberships trait + // which we need to avoid `&mut self`. fn stake_table(&self, epoch: Epoch) -> Vec> { - if let Some(st) = self.state.read().unwrap().get(&epoch) { + if let Some(st) = self.state.get(&epoch) { st.indexed_stake_table.clone().into_values().collect() } else { self.update_stake_table(epoch, self.l1_client.stake_table(&epoch)) @@ -324,7 +324,7 @@ impl Membership for EpochCommittees { } /// Get the stake table for the current view fn da_stake_table(&self, epoch: Epoch) -> Vec> { - if let Some(sc) = self.state.read().unwrap().get(&epoch) { + if let Some(sc) = self.state.get(&epoch) { sc.indexed_da_members.clone().into_values().collect() } else { self.update_stake_table(epoch, self.l1_client.stake_table(&epoch)) @@ -340,7 +340,7 @@ impl Membership for EpochCommittees { _view_number: ::View, epoch: Epoch, ) -> BTreeSet { - if let Some(sc) = self.state.read().unwrap().get(&epoch) { + if let Some(sc) = self.state.get(&epoch) { sc.indexed_stake_table.clone().into_keys().collect() } else { self.update_stake_table(epoch, self.l1_client.stake_table(&epoch)) @@ -356,7 +356,7 @@ impl Membership for EpochCommittees { _view_number: ::View, epoch: Epoch, ) -> BTreeSet { - if let Some(sc) = self.state.read().unwrap().get(&epoch) { + if let Some(sc) = self.state.get(&epoch) { sc.indexed_da_members.clone().into_keys().collect() } else { self.update_stake_table(epoch, self.l1_client.stake_table(&epoch)) @@ -373,8 +373,6 @@ impl Membership for EpochCommittees { epoch: Epoch, ) -> BTreeSet { self.state - .read() - .unwrap() .get(&epoch) .unwrap() .eligible_leaders @@ -387,8 +385,6 @@ impl Membership for EpochCommittees { fn stake(&self, pub_key: &PubKey, epoch: Epoch) -> Option> { // Only return the stake if it is above zero self.state - .read() - .unwrap() .get(&epoch) .and_then(|h| h.indexed_stake_table.get(pub_key).cloned()) } @@ -397,8 +393,6 @@ impl Membership for EpochCommittees { fn da_stake(&self, pub_key: &PubKey, epoch: Epoch) -> Option> { // Only return the stake if it is above zero self.state - .read() - .unwrap() .get(&epoch) .and_then(|h| h.indexed_da_members.get(pub_key).cloned()) } @@ -406,8 +400,6 @@ impl Membership for EpochCommittees { /// Check if a node has stake in the committee fn has_stake(&self, pub_key: &PubKey, epoch: Epoch) -> bool { self.state - .read() - .unwrap() .get(&epoch) .and_then(|h| h.indexed_stake_table.get(pub_key)) .map_or(false, |x| x.stake() > U256::zero()) @@ -416,8 +408,6 @@ impl Membership for EpochCommittees { /// Check if a node has stake in the committee fn has_da_stake(&self, pub_key: &PubKey, epoch: Epoch) -> bool { self.state - .read() - .unwrap() .get(&epoch) .and_then(|h| h.indexed_da_members.get(pub_key)) .map_or(false, |x| x.stake() > U256::zero()) @@ -431,8 +421,6 @@ impl Membership for EpochCommittees { ) -> Result { let leaders = self .state - .read() - .unwrap() .get(&epoch) .ok_or(LeaderLookupError)? .eligible_leaders @@ -446,8 +434,6 @@ impl Membership for EpochCommittees { /// Get the total number of nodes in the committee fn total_nodes(&self, epoch: Epoch) -> usize { self.state - .read() - .unwrap() .get(&epoch) .map(|sc| sc.indexed_stake_table.len()) .unwrap_or_default() @@ -456,8 +442,6 @@ impl Membership for EpochCommittees { /// Get the total number of DA nodes in the committee fn da_total_nodes(&self, epoch: Epoch) -> usize { self.state - .read() - .unwrap() .get(&epoch) .map(|sc: &Committee| sc.indexed_da_members.len()) .unwrap_or_default() @@ -465,54 +449,26 @@ impl Membership for EpochCommittees { /// Get the voting success threshold for the committee fn success_threshold(&self, epoch: Epoch) -> NonZeroU64 { - let quorum = self - .state - .read() - .unwrap() - .get(&epoch) - .unwrap() - .indexed_stake_table - .clone(); + let quorum = self.state.get(&epoch).unwrap().indexed_stake_table.clone(); NonZeroU64::new(((quorum.len() as u64 * 2) / 3) + 1).unwrap() } /// Get the voting success threshold for the committee fn da_success_threshold(&self, epoch: Epoch) -> NonZeroU64 { - let da = self - .state - .read() - .unwrap() - .get(&epoch) - .unwrap() - .indexed_da_members - .clone(); + let da = self.state.get(&epoch).unwrap().indexed_da_members.clone(); NonZeroU64::new(((da.len() as u64 * 2) / 3) + 1).unwrap() } /// Get the voting failure threshold for the committee fn failure_threshold(&self, epoch: Epoch) -> NonZeroU64 { - let quorum = self - .state - .read() - .unwrap() - .get(&epoch) - .unwrap() - .indexed_stake_table - .clone(); + let quorum = self.state.get(&epoch).unwrap().indexed_stake_table.clone(); NonZeroU64::new(((quorum.len() as u64) / 3) + 1).unwrap() } /// Get the voting upgrade threshold for the committee fn upgrade_threshold(&self, epoch: Epoch) -> NonZeroU64 { - let quorum = self - .state - .read() - .unwrap() - .get(&epoch) - .unwrap() - .indexed_stake_table - .clone(); + let quorum = self.state.get(&epoch).unwrap().indexed_stake_table.clone(); NonZeroU64::new(max( (quorum.len() as u64 * 9) / 10, From 1c47fda8fe1d25698476066fdf74bad3153f88f0 Mon Sep 17 00:00:00 2001 From: tbro Date: Thu, 19 Dec 2024 18:17:38 -0300 Subject: [PATCH 08/13] fix compile errors for the `Memberships` trait update --- sequencer/src/api.rs | 13 +++++++++---- sequencer/src/context.rs | 2 +- sequencer/src/lib.rs | 2 +- types/src/v0/impls/stake_table.rs | 24 +++++------------------- 4 files changed, 16 insertions(+), 25 deletions(-) diff --git a/sequencer/src/api.rs b/sequencer/src/api.rs index bcc3a7a9c..586623269 100644 --- a/sequencer/src/api.rs +++ b/sequencer/src/api.rs @@ -186,10 +186,15 @@ impl, V: Versions, P: SequencerPersistence> } else { self.consensus().await.read().await.cur_epoch().await }; - ::Membership::stake_table( - &self.consensus().await.read().await.memberships, - epoch, - ) + + self.consensus() + .await + .read() + .await + .memberships + .read() + .await + .stake_table(epoch) } } diff --git a/sequencer/src/context.rs b/sequencer/src/context.rs index 1149f4ba4..b56c0b6eb 100644 --- a/sequencer/src/context.rs +++ b/sequencer/src/context.rs @@ -130,7 +130,7 @@ impl, P: SequencerPersistence, V: Versions> Sequence validator_config.private_key.clone(), instance_state.node_id, config.clone(), - membership, + Arc::new(async_lock::RwLock::new(membership)), network.clone(), initializer, ConsensusMetricsValue::new(metrics), diff --git a/sequencer/src/lib.rs b/sequencer/src/lib.rs index 07359392b..e3f7141b8 100644 --- a/sequencer/src/lib.rs +++ b/sequencer/src/lib.rs @@ -490,7 +490,7 @@ pub async fn init_node( let network = { let p2p_network = Libp2pNetwork::from_config( network_config.clone(), - Arc::new(RwLock::new(membership.clone())), + Arc::new(async_lock::RwLock::new(membership.clone())), gossip_config, request_response_config, libp2p_bind_address, diff --git a/types/src/v0/impls/stake_table.rs b/types/src/v0/impls/stake_table.rs index 9c36a20e6..31d456534 100644 --- a/types/src/v0/impls/stake_table.rs +++ b/types/src/v0/impls/stake_table.rs @@ -148,7 +148,7 @@ impl EpochCommittees { /// to be called before calling `self.stake()` so that /// `Self.stake_table` only needs to be updated once in a given /// life-cycle but may be read from many times. - fn update_stake_table(&self, epoch: EpochNumber, st: StakeTables) -> Committee { + fn update_stake_table(&mut self, epoch: EpochNumber, st: StakeTables) -> Committee { // This works because `get_stake_table` is fetching *all* // update events and building the table for us. We will need // more subtlety when start fetching only the events since last update. @@ -310,16 +310,11 @@ impl Membership for EpochCommittees { } /// Get the stake table for the current view - // TODO awaiting addition of `add_epoch_root` to Memberships trait - // which we need to avoid `&mut self`. fn stake_table(&self, epoch: Epoch) -> Vec> { if let Some(st) = self.state.get(&epoch) { st.indexed_stake_table.clone().into_values().collect() } else { - self.update_stake_table(epoch, self.l1_client.stake_table(&epoch)) - .indexed_stake_table - .into_values() - .collect() + vec![] } } /// Get the stake table for the current view @@ -327,10 +322,7 @@ impl Membership for EpochCommittees { if let Some(sc) = self.state.get(&epoch) { sc.indexed_da_members.clone().into_values().collect() } else { - self.update_stake_table(epoch, self.l1_client.stake_table(&epoch)) - .indexed_da_members - .into_values() - .collect() + vec![] } } @@ -343,10 +335,7 @@ impl Membership for EpochCommittees { if let Some(sc) = self.state.get(&epoch) { sc.indexed_stake_table.clone().into_keys().collect() } else { - self.update_stake_table(epoch, self.l1_client.stake_table(&epoch)) - .indexed_stake_table - .into_keys() - .collect() + BTreeSet::new() } } @@ -359,10 +348,7 @@ impl Membership for EpochCommittees { if let Some(sc) = self.state.get(&epoch) { sc.indexed_da_members.clone().into_keys().collect() } else { - self.update_stake_table(epoch, self.l1_client.stake_table(&epoch)) - .indexed_da_members - .into_keys() - .collect() + BTreeSet::new() } } From 0fa1f3f69e65e21c2c1461658f96702db47d7b0f Mon Sep 17 00:00:00 2001 From: imabdulbasit Date: Fri, 20 Dec 2024 18:25:13 +0500 Subject: [PATCH 09/13] store next epoch qc --- .../postgres/V402__next_epoch_qc.sql | 5 ++ .../migrations/sqlite/V203__next_epoch_qc.sql | 4 ++ sequencer/src/persistence.rs | 71 +++++++++++++++++-- sequencer/src/persistence/fs.rs | 43 ++++++++++- sequencer/src/persistence/no_storage.rs | 15 +++- sequencer/src/persistence/sql.rs | 38 +++++++++- types/src/v0/traits.rs | 20 ++++-- 7 files changed, 183 insertions(+), 13 deletions(-) create mode 100644 sequencer/api/migrations/postgres/V402__next_epoch_qc.sql create mode 100644 sequencer/api/migrations/sqlite/V203__next_epoch_qc.sql diff --git a/sequencer/api/migrations/postgres/V402__next_epoch_qc.sql b/sequencer/api/migrations/postgres/V402__next_epoch_qc.sql new file mode 100644 index 000000000..3995e6881 --- /dev/null +++ b/sequencer/api/migrations/postgres/V402__next_epoch_qc.sql @@ -0,0 +1,5 @@ +CREATE TABLE next_epoch_quorum_certificate ( + id bool PRIMARY KEY DEFAULT true, + data BYTEA +); +REVOKE DELETE, TRUNCATE ON next_epoch_quorum_certificate FROM public; diff --git a/sequencer/api/migrations/sqlite/V203__next_epoch_qc.sql b/sequencer/api/migrations/sqlite/V203__next_epoch_qc.sql new file mode 100644 index 000000000..debf4b2f9 --- /dev/null +++ b/sequencer/api/migrations/sqlite/V203__next_epoch_qc.sql @@ -0,0 +1,4 @@ +CREATE TABLE next_epoch_quorum_certificate ( + id bool PRIMARY KEY DEFAULT true, + data BLOB +); \ No newline at end of file diff --git a/sequencer/src/persistence.rs b/sequencer/src/persistence.rs index a93b51e22..67d515566 100644 --- a/sequencer/src/persistence.rs +++ b/sequencer/src/persistence.rs @@ -43,11 +43,11 @@ mod testing { #[cfg(test)] #[espresso_macros::generic_tests] mod persistence_tests { - use std::collections::BTreeMap; + use std::{collections::BTreeMap, marker::PhantomData}; use anyhow::bail; use async_lock::RwLock; - use committable::Committable; + use committable::{Commitment, Committable}; use espresso_types::{ traits::{EventConsumer, NullEventConsumer, PersistenceOptions}, Event, Leaf, Leaf2, NodeState, PubKey, SeqTypes, ValidatedState, @@ -58,9 +58,9 @@ mod persistence_tests { data::{DaProposal, EpochNumber, QuorumProposal2, VidDisperseShare, ViewNumber}, drb::{INITIAL_DRB_RESULT, INITIAL_DRB_SEED_INPUT}, event::{EventType, HotShotAction, LeafInfo}, - message::Proposal, - simple_certificate::{QuorumCertificate, UpgradeCertificate}, - simple_vote::UpgradeProposalData, + message::{Proposal, UpgradeLock}, + simple_certificate::{NextEpochQuorumCertificate2, QuorumCertificate, UpgradeCertificate}, + simple_vote::{NextEpochQuorumData2, QuorumData2, UpgradeProposalData, VersionedVoteData}, traits::{block_contents::vid_commitment, node_implementation::ConsensusTime, EncodeBytes}, vid::vid_scheme, }; @@ -560,6 +560,67 @@ mod persistence_tests { assert_eq!(view_number, new_view_number_for_certificate); } + #[tokio::test(flavor = "multi_thread")] + pub async fn test_next_epoch_quorum_certificate() { + setup_test(); + + let tmp = P::tmp_storage().await; + let storage = P::connect(&tmp).await; + + // test that next epoch qc2 does not exist + assert_eq!( + storage.load_next_epoch_quorum_certificate().await.unwrap(), + None + ); + + let upgrade_lock = UpgradeLock::::new(); + + let genesis_view = ViewNumber::genesis(); + + let data: NextEpochQuorumData2 = QuorumData2 { + leaf_commit: Leaf2::genesis(&ValidatedState::default(), &NodeState::default()) + .await + .commit(), + epoch: EpochNumber::new(1), + } + .into(); + + let versioned_data = + VersionedVoteData::new_infallible(data.clone(), genesis_view, &upgrade_lock).await; + + let bytes: [u8; 32] = versioned_data.commit().into(); + + let next_epoch_qc = NextEpochQuorumCertificate2::new( + data, + Commitment::from_raw(bytes), + genesis_view, + None, + PhantomData, + ); + + let res = storage + .store_next_epoch_quorum_certificate(next_epoch_qc.clone()) + .await; + assert!(res.is_ok()); + + let res = storage.load_next_epoch_quorum_certificate().await.unwrap(); + let view_number = res.unwrap().view_number; + assert_eq!(view_number, ViewNumber::genesis()); + + let new_view_number_for_qc = ViewNumber::new(50); + let mut new_qc = next_epoch_qc.clone(); + new_qc.view_number = new_view_number_for_qc; + + let res = storage + .store_next_epoch_quorum_certificate(new_qc.clone()) + .await; + assert!(res.is_ok()); + + let res = storage.load_next_epoch_quorum_certificate().await.unwrap(); + let view_number = res.unwrap().view_number; + assert_eq!(view_number, new_view_number_for_qc); + } + #[tokio::test(flavor = "multi_thread")] pub async fn test_decide_with_failing_event_consumer() { #[derive(Clone, Copy, Debug)] diff --git a/sequencer/src/persistence/fs.rs b/sequencer/src/persistence/fs.rs index b0c65815d..b31bf4ba3 100644 --- a/sequencer/src/persistence/fs.rs +++ b/sequencer/src/persistence/fs.rs @@ -11,7 +11,9 @@ use hotshot_types::{ data::{DaProposal, QuorumProposal, QuorumProposal2, VidDisperseShare}, event::{Event, EventType, HotShotAction, LeafInfo}, message::{convert_proposal, Proposal}, - simple_certificate::{QuorumCertificate, QuorumCertificate2, UpgradeCertificate}, + simple_certificate::{ + NextEpochQuorumCertificate2, QuorumCertificate, QuorumCertificate2, UpgradeCertificate, + }, traits::{ block_contents::{BlockHeader, BlockPayload}, node_implementation::ConsensusTime, @@ -166,6 +168,10 @@ impl Inner { self.path.join("upgrade_certificate") } + fn next_epoch_qc(&self) -> PathBuf { + self.path.join("next_epoch_quorum_certificate") + } + /// Overwrite a file if a condition is met. /// /// The file at `path`, if it exists, is opened in read mode and passed to `pred`. If `pred` @@ -841,6 +847,41 @@ impl SequencerPersistence for Persistence { ) } + async fn store_next_epoch_quorum_certificate( + &self, + high_qc: NextEpochQuorumCertificate2, + ) -> anyhow::Result<()> { + let mut inner = self.inner.write().await; + let path = &inner.next_epoch_qc(); + + inner.replace( + path, + |_| { + // Always overwrite the previous file. + Ok(true) + }, + |mut file| { + let bytes = bincode::serialize(&high_qc).context("serializing next epoch qc")?; + file.write_all(&bytes)?; + Ok(()) + }, + ) + } + + async fn load_next_epoch_quorum_certificate( + &self, + ) -> anyhow::Result>> { + let inner = self.inner.read().await; + let path = inner.next_epoch_qc(); + if !path.is_file() { + return Ok(None); + } + let bytes = fs::read(&path).context("read")?; + Ok(Some( + bincode::deserialize(&bytes).context("deserialize next epoch qc")?, + )) + } + async fn migrate_consensus( &self, _migrate_leaf: fn(Leaf) -> Leaf2, diff --git a/sequencer/src/persistence/no_storage.rs b/sequencer/src/persistence/no_storage.rs index e80e89205..697fa8bbd 100644 --- a/sequencer/src/persistence/no_storage.rs +++ b/sequencer/src/persistence/no_storage.rs @@ -12,7 +12,7 @@ use hotshot_types::{ data::{DaProposal, QuorumProposal, QuorumProposal2, VidDisperseShare}, event::{Event, EventType, HotShotAction, LeafInfo}, message::Proposal, - simple_certificate::{QuorumCertificate2, UpgradeCertificate}, + simple_certificate::{NextEpochQuorumCertificate2, QuorumCertificate2, UpgradeCertificate}, utils::View, vid::VidSchemeType, }; @@ -170,4 +170,17 @@ impl SequencerPersistence for NoStorage { ) -> anyhow::Result<()> { Ok(()) } + + async fn store_next_epoch_quorum_certificate( + &self, + _high_qc: NextEpochQuorumCertificate2, + ) -> anyhow::Result<()> { + Ok(()) + } + + async fn load_next_epoch_quorum_certificate( + &self, + ) -> anyhow::Result>> { + Ok(None) + } } diff --git a/sequencer/src/persistence/sql.rs b/sequencer/src/persistence/sql.rs index ec64b2e6d..4348b72e7 100644 --- a/sequencer/src/persistence/sql.rs +++ b/sequencer/src/persistence/sql.rs @@ -32,7 +32,9 @@ use hotshot_types::{ data::{DaProposal, QuorumProposal, QuorumProposal2, VidDisperseShare}, event::{Event, EventType, HotShotAction, LeafInfo}, message::{convert_proposal, Proposal}, - simple_certificate::{QuorumCertificate, QuorumCertificate2, UpgradeCertificate}, + simple_certificate::{ + NextEpochQuorumCertificate2, QuorumCertificate, QuorumCertificate2, UpgradeCertificate, + }, traits::{ block_contents::{BlockHeader, BlockPayload}, node_implementation::ConsensusTime, @@ -1308,6 +1310,40 @@ impl SequencerPersistence for Persistence { // TODO: https://github.com/EspressoSystems/espresso-sequencer/issues/2357 Ok(()) } + + async fn store_next_epoch_quorum_certificate( + &self, + high_qc: NextEpochQuorumCertificate2, + ) -> anyhow::Result<()> { + let qc2_bytes = bincode::serialize(&high_qc).context("serializing next epoch qc")?; + let mut tx = self.db.write().await?; + tx.upsert( + "next_epoch_quorum_certificate", + ["id", "data"], + ["id"], + [(true, qc2_bytes)], + ) + .await?; + tx.commit().await + } + + async fn load_next_epoch_quorum_certificate( + &self, + ) -> anyhow::Result>> { + let result = self + .db + .read() + .await? + .fetch_optional("SELECT * FROM next_epoch_quorum_certificate where id = true") + .await?; + + result + .map(|row| { + let bytes: Vec = row.get("data"); + anyhow::Result::<_>::Ok(bincode::deserialize(&bytes)?) + }) + .transpose() + } } #[async_trait] diff --git a/types/src/v0/traits.rs b/types/src/v0/traits.rs index 4728c644e..749f1e6cb 100644 --- a/types/src/v0/traits.rs +++ b/types/src/v0/traits.rs @@ -497,8 +497,10 @@ pub trait SequencerPersistence: Sized + Send + Sync + Clone + 'static { } }; - // TODO load from storage - let next_epoch_high_qc = None; + let next_epoch_high_qc = self + .load_next_epoch_quorum_certificate() + .await + .context("loading next epoch qc")?; let (leaf, high_qc, anchor_view) = match self .load_anchor_leaf() .await @@ -697,6 +699,15 @@ pub trait SequencerPersistence: Sized + Send + Sync + Clone + 'static { None => Ok(ViewNumber::genesis()), } } + + async fn store_next_epoch_quorum_certificate( + &self, + high_qc: NextEpochQuorumCertificate2, + ) -> anyhow::Result<()>; + + async fn load_next_epoch_quorum_certificate( + &self, + ) -> anyhow::Result>>; } #[async_trait] @@ -836,10 +847,9 @@ impl Storage for Arc

{ async fn update_next_epoch_high_qc2( &self, - _high_qc: NextEpochQuorumCertificate2, + high_qc: NextEpochQuorumCertificate2, ) -> anyhow::Result<()> { - // TODO - Ok(()) + (**self).store_next_epoch_quorum_certificate(high_qc).await } } From b9338c22af7146ef8077c1873ba0af34c615bd1c Mon Sep 17 00:00:00 2001 From: imabdulbasit Date: Fri, 20 Dec 2024 18:55:55 +0500 Subject: [PATCH 10/13] update query service --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 76f232785..a29a22949 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4249,7 +4249,7 @@ dependencies = [ [[package]] name = "hotshot-query-service" version = "0.1.76" -source = "git+https://github.com/EspressoSystems/hotshot-query-service?branch=ma%2Fhotshot-0.5.83#77ad27d40201a8483ca6ad3af9040adf859d5607" +source = "git+https://github.com/EspressoSystems/hotshot-query-service?branch=ma%2Fhotshot-0.5.83#b6337c1a68949734d7a38acce8ea6b282379c443" dependencies = [ "anyhow", "ark-serialize", From 688aedc2f6cab3cadf5a65e123bfb8404ed3d721 Mon Sep 17 00:00:00 2001 From: sveitser Date: Fri, 20 Dec 2024 15:10:21 +0100 Subject: [PATCH 11/13] Update hotshot-* dependencies --- Cargo.lock | 12 ++++++------ sequencer-sqlite/Cargo.lock | 33 +++++++++++++++++---------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a29a22949..a7e094f35 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4086,7 +4086,7 @@ dependencies = [ [[package]] name = "hotshot-builder-core" version = "0.1.58" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core?branch=ma%2Fhotshot-0.5.83#b128b5764e5d6e245beeaa42e9db1981f7aab732" dependencies = [ "anyhow", "async-broadcast", @@ -4145,7 +4145,7 @@ dependencies = [ [[package]] name = "hotshot-events-service" version = "0.1.57" -source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?branch=ma%2Fhotshot-0.5.83#89b06b6007e88fd20bfc855d3f400b8fa045f379" +source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?branch=ma%2Fhotshot-0.5.83#6c60698c3df4ca2788c3352740535c6965d24fe1" dependencies = [ "async-broadcast", "async-lock 2.8.0", @@ -6410,7 +6410,7 @@ dependencies = [ [[package]] name = "marketplace-builder-core" version = "0.1.58" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core?branch=ma%2Fhotshot-0.5.83#b128b5764e5d6e245beeaa42e9db1981f7aab732" dependencies = [ "anyhow", "async-broadcast", @@ -6435,7 +6435,7 @@ dependencies = [ [[package]] name = "marketplace-builder-shared" version = "0.1.58" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core?branch=ma%2Fhotshot-0.5.83#8b6361e251840bb601f7af893b9bd868797c6362" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core?branch=ma%2Fhotshot-0.5.83#b128b5764e5d6e245beeaa42e9db1981f7aab732" dependencies = [ "anyhow", "async-broadcast", @@ -7753,7 +7753,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.90", @@ -9297,7 +9297,7 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03c3c6b7927ffe7ecaa769ee0e3994da3b8cafc8f444578982c83ecb161af917" dependencies = [ - "heck 0.5.0", + "heck 0.4.1", "proc-macro2", "quote", "syn 2.0.90", diff --git a/sequencer-sqlite/Cargo.lock b/sequencer-sqlite/Cargo.lock index ae809443d..7d7ab4ad4 100644 --- a/sequencer-sqlite/Cargo.lock +++ b/sequencer-sqlite/Cargo.lock @@ -3885,7 +3885,7 @@ dependencies = [ [[package]] name = "hotshot" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-broadcast", @@ -3928,7 +3928,7 @@ dependencies = [ [[package]] name = "hotshot-builder-api" version = "0.1.7" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "async-trait", "clap", @@ -3973,7 +3973,7 @@ dependencies = [ [[package]] name = "hotshot-events-service" version = "0.1.57" -source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?branch=ma%2Fhotshot-0.5.83#89b06b6007e88fd20bfc855d3f400b8fa045f379" +source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?branch=ma%2Fhotshot-0.5.83#6c60698c3df4ca2788c3352740535c6965d24fe1" dependencies = [ "async-broadcast", "async-lock 2.8.0", @@ -4000,7 +4000,7 @@ dependencies = [ [[package]] name = "hotshot-example-types" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4025,7 +4025,7 @@ dependencies = [ [[package]] name = "hotshot-fakeapi" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4043,7 +4043,7 @@ dependencies = [ [[package]] name = "hotshot-macros" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "derive_builder", "proc-macro2", @@ -4054,7 +4054,7 @@ dependencies = [ [[package]] name = "hotshot-orchestrator" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-lock 3.4.0", @@ -4077,7 +4077,7 @@ dependencies = [ [[package]] name = "hotshot-query-service" version = "0.1.76" -source = "git+https://github.com/EspressoSystems/hotshot-query-service?branch=ma%2Fhotshot-0.5.83#77ad27d40201a8483ca6ad3af9040adf859d5607" +source = "git+https://github.com/EspressoSystems/hotshot-query-service?branch=ma%2Fhotshot-0.5.83#b6337c1a68949734d7a38acce8ea6b282379c443" dependencies = [ "anyhow", "ark-serialize", @@ -4126,7 +4126,7 @@ dependencies = [ [[package]] name = "hotshot-stake-table" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "ark-bn254", "ark-ed-on-bn254", @@ -4188,7 +4188,7 @@ dependencies = [ [[package]] name = "hotshot-task" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "async-broadcast", "async-trait", @@ -4201,7 +4201,7 @@ dependencies = [ [[package]] name = "hotshot-task-impls" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-broadcast", @@ -4235,7 +4235,7 @@ dependencies = [ [[package]] name = "hotshot-testing" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "async-broadcast", @@ -4276,7 +4276,7 @@ dependencies = [ [[package]] name = "hotshot-types" version = "0.1.11" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", "ark-bn254", @@ -5836,9 +5836,10 @@ dependencies = [ [[package]] name = "libp2p-networking" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "anyhow", + "async-lock 3.4.0", "async-trait", "bincode", "blake3", @@ -7429,7 +7430,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.90", @@ -10544,7 +10545,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "utils" version = "0.5.83" -source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#f9bf48ebf53a5fa934614a13f4cbb3069c1e0fda" +source = "git+https://github.com/EspressoSystems/hotshot?branch=bump%2F0.5.83#bd6781ccf26c67935e14f3d16273aa452982f0ba" dependencies = [ "tracing", ] From 9385491e690ab7794c1d07b16b598d9a9a83cd5e Mon Sep 17 00:00:00 2001 From: sveitser Date: Fri, 20 Dec 2024 15:22:30 +0100 Subject: [PATCH 12/13] Fix rust compilation --- sequencer/src/message_compat_tests.rs | 31 ++++++++++++++++++--------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/sequencer/src/message_compat_tests.rs b/sequencer/src/message_compat_tests.rs index 137879172..f023ac84a 100755 --- a/sequencer/src/message_compat_tests.rs +++ b/sequencer/src/message_compat_tests.rs @@ -47,6 +47,9 @@ use vbs::{ #[cfg(feature = "testing")] async fn test_message_compat(_ver: Ver) { + use std::sync::Arc; + + use async_lock::RwLock; use espresso_types::{EpochCommittees, Leaf, Payload, SeqTypes, Transaction}; use hotshot_example_types::node_types::TestVersions; use hotshot_types::{ @@ -62,8 +65,12 @@ async fn test_message_compat(_ver: Ver) { let (sender, priv_key) = PubKey::generated_from_seed_indexed(Default::default(), 0); let signature = PubKey::sign(&priv_key, &[]).unwrap(); let committee = vec![PeerConfig::default()]; /* one committee member, necessary to generate a VID share */ - let membership = - EpochCommittees::new_stake(committee.clone(), committee, &NodeState::default(), 10); + let membership = Arc::new(RwLock::new(EpochCommittees::new_stake( + committee.clone(), + committee, + &NodeState::default(), + 10, + ))); let upgrade_data = UpgradeProposalData { old_version: Version { major: 0, minor: 1 }, new_version: Version { major: 1, minor: 0 }, @@ -112,7 +119,7 @@ async fn test_message_compat(_ver: Ver) { let consensus_messages = [ GeneralConsensusMessage::Proposal(Proposal { data: QuorumProposal { - block_header, + block_header: block_header.clone(), view_number: ViewNumber::genesis(), justify_qc: QuorumCertificate::genesis::( &ValidatedState::default(), @@ -224,13 +231,17 @@ async fn test_message_compat(_ver: Ver) { Default::default(), )), DaConsensusMessage::VidDisperseMsg(Proposal { - data: VidDisperseShare::from_vid_disperse(VidDisperse::from_membership( - ViewNumber::genesis(), - vid_scheme(1).disperse(payload.encode()).unwrap(), - &membership, - EpochNumber::genesis(), - Some(EpochNumber::new(1)), - )) + data: VidDisperseShare::from_vid_disperse( + VidDisperse::from_membership( + ViewNumber::genesis(), + vid_scheme(1).disperse(payload.encode()).unwrap(), + &membership, + EpochNumber::genesis(), + EpochNumber::new(1), + Some(block_header.payload_commitment()), + ) + .await, + ) .remove(0), signature: signature.clone(), _pd: Default::default(), From 4eaf8f6561fddec6994c3801d621706876cec429 Mon Sep 17 00:00:00 2001 From: sveitser Date: Fri, 20 Dec 2024 16:54:23 +0100 Subject: [PATCH 13/13] cargo fmt --- sequencer/src/bin/update-permissioned-stake-table.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sequencer/src/bin/update-permissioned-stake-table.rs b/sequencer/src/bin/update-permissioned-stake-table.rs index 9849516da..b95a64244 100644 --- a/sequencer/src/bin/update-permissioned-stake-table.rs +++ b/sequencer/src/bin/update-permissioned-stake-table.rs @@ -2,7 +2,10 @@ use anyhow::Result; use clap::Parser; use espresso_types::parse_duration; use ethers::types::Address; -use sequencer_utils::{logging, stake_table::{update_stake_table, PermissionedStakeTableUpdate}}; +use sequencer_utils::{ + logging, + stake_table::{update_stake_table, PermissionedStakeTableUpdate}, +}; use std::{path::PathBuf, time::Duration}; use url::Url; @@ -89,7 +92,6 @@ async fn main() -> Result<()> { opts.logging.init(); let update = PermissionedStakeTableUpdate::from_toml_file(&opts.update_toml_path)?; - update_stake_table( opts.rpc_url, opts.l1_polling_interval,