From 55ed33d2d120e04f7adb528b0e8e2939fa2b802a Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Tue, 30 Sep 2025 19:29:51 -0400 Subject: [PATCH 1/3] Update to a version of Substrate which no longer cites our fork of `substrate-bip39` --- Cargo.lock | 224 ++++++++++++++++++++++++++++------------------------- deny.toml | 1 - 2 files changed, 118 insertions(+), 107 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 48360d40..bc6b5235 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2741,7 +2741,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", ] @@ -2764,7 +2764,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-support", "frame-support-procedural", @@ -2789,7 +2789,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-support", "frame-system", @@ -2818,7 +2818,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "bitflags 1.3.2", "environmental", @@ -2851,7 +2851,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "Inflector", "cfg-expr", @@ -2869,7 +2869,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.3.1", @@ -2881,7 +2881,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "proc-macro2", "quote", @@ -2891,7 +2891,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "cfg-if", "frame-support", @@ -2910,7 +2910,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "sp-api", @@ -2919,7 +2919,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-support", "parity-scale-codec", @@ -5582,7 +5582,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-support", "frame-system", @@ -5596,7 +5596,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5620,7 +5620,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5643,7 +5643,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-support", "frame-system", @@ -5664,7 +5664,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5682,7 +5682,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-support", "frame-system", @@ -5698,7 +5698,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5714,7 +5714,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5826,6 +5826,17 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" +[[package]] +name = "password-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core", + "subtle", +] + [[package]] name = "pasta_curves" version = "0.5.1" @@ -5862,6 +5873,7 @@ checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", "hmac", + "password-hash", ] [[package]] @@ -6900,7 +6912,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "log", "sp-core", @@ -6911,7 +6923,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "futures", @@ -6939,7 +6951,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "futures", "futures-timer", @@ -6962,7 +6974,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6977,7 +6989,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -6996,7 +7008,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", @@ -7007,7 +7019,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "array-bytes", "chrono", @@ -7046,7 +7058,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "fnv", "futures", @@ -7071,7 +7083,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "hash-db", "kvdb", @@ -7097,7 +7109,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "futures", @@ -7122,7 +7134,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "fork-tree", @@ -7158,7 +7170,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "fork-tree", "parity-scale-codec", @@ -7171,7 +7183,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "ahash", "array-bytes", @@ -7212,7 +7224,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "futures", @@ -7235,7 +7247,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -7257,7 +7269,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob 4.1.0-dev", @@ -7269,7 +7281,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "anyhow", "cfg-if", @@ -7286,7 +7298,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "anstyle", "futures", @@ -7302,7 +7314,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "array-bytes", "parking_lot 0.12.3", @@ -7316,7 +7328,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "array-bytes", "async-channel", @@ -7358,7 +7370,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-channel", "cid", @@ -7378,7 +7390,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -7395,7 +7407,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "ahash", "futures", @@ -7414,7 +7426,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "array-bytes", "async-channel", @@ -7435,7 +7447,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "array-bytes", "async-channel", @@ -7469,7 +7481,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "array-bytes", "futures", @@ -7487,7 +7499,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "bytes", "fnv", @@ -7518,7 +7530,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -7527,7 +7539,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "futures", "jsonrpsee", @@ -7557,7 +7569,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -7576,7 +7588,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "http 0.2.12", "jsonrpsee", @@ -7591,7 +7603,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "array-bytes", "futures", @@ -7617,7 +7629,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "directories", @@ -7680,7 +7692,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "log", "parity-scale-codec", @@ -7691,7 +7703,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "futures", "libc", @@ -7710,7 +7722,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "chrono", "futures", @@ -7729,7 +7741,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "anstyle", "chrono", @@ -7757,7 +7769,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", @@ -7768,7 +7780,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "futures", @@ -7794,7 +7806,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "futures", @@ -7810,7 +7822,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-channel", "futures", @@ -9039,7 +9051,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "hash-db", "log", @@ -9060,7 +9072,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "Inflector", "blake2", @@ -9074,7 +9086,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "23.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9087,7 +9099,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "16.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "integer-sqrt", "num-traits", @@ -9101,7 +9113,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9113,7 +9125,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "sp-api", "sp-inherents", @@ -9124,7 +9136,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "futures", "log", @@ -9142,7 +9154,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "futures", @@ -9156,7 +9168,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "parity-scale-codec", @@ -9175,7 +9187,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "finality-grandpa", "log", @@ -9193,7 +9205,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9205,7 +9217,7 @@ dependencies = [ [[package]] name = "sp-core" version = "21.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -9248,7 +9260,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "9.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "blake2b_simd", "byteorder", @@ -9260,7 +9272,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "9.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "quote", "sp-core-hashing", @@ -9270,7 +9282,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -9279,7 +9291,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "8.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "proc-macro2", "quote", @@ -9289,7 +9301,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.19.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "environmental", "parity-scale-codec", @@ -9300,7 +9312,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9314,7 +9326,7 @@ dependencies = [ [[package]] name = "sp-io" version = "23.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "bytes", "ed25519", @@ -9336,7 +9348,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "24.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "lazy_static", "sp-core", @@ -9347,7 +9359,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.27.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -9359,7 +9371,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "thiserror 1.0.64", "zstd 0.12.4", @@ -9377,7 +9389,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.1.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -9388,7 +9400,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "sp-api", "sp-core", @@ -9398,7 +9410,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "8.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "backtrace", "lazy_static", @@ -9408,7 +9420,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -9418,7 +9430,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "24.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "either", "hash256-std-hasher", @@ -9440,7 +9452,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "17.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -9458,7 +9470,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "11.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "Inflector", "proc-macro-crate 1.3.1", @@ -9470,7 +9482,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9485,7 +9497,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9499,7 +9511,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.28.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "hash-db", "log", @@ -9520,12 +9532,12 @@ dependencies = [ [[package]] name = "sp-std" version = "8.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" [[package]] name = "sp-storage" version = "13.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9538,7 +9550,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "async-trait", "parity-scale-codec", @@ -9551,7 +9563,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "10.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "sp-std", @@ -9563,7 +9575,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "sp-api", "sp-runtime", @@ -9572,7 +9584,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "22.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "ahash", "hash-db", @@ -9595,7 +9607,7 @@ dependencies = [ [[package]] name = "sp-version" version = "22.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9612,7 +9624,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "8.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -9623,7 +9635,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "14.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -9636,7 +9648,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "20.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9830,8 +9842,8 @@ dependencies = [ [[package]] name = "substrate-bip39" -version = "0.4.5" -source = "git+https://github.com/serai-dex/substrate-bip39#efb58a5263b8585b2d0ef17ed3c989e1ca09294e" +version = "0.4.7" +source = "git+https://github.com/paritytech/polkadot-sdk#ed4eebb461069f65fda4a88d44ee811dd8c010e3" dependencies = [ "hmac", "pbkdf2", @@ -9843,12 +9855,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -9867,7 +9879,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#8587cd89bec74f789d4e23fdf776508a0ed5db6f" +source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" dependencies = [ "hyper 0.14.30", "log", diff --git a/deny.toml b/deny.toml index f997a732..1a35c1b6 100644 --- a/deny.toml +++ b/deny.toml @@ -104,7 +104,6 @@ allow-registry = ["https://github.com/rust-lang/crates.io-index"] allow-git = [ "https://github.com/rust-lang-nursery/lazy-static.rs", "https://github.com/monero-oxide/monero-oxide", - "https://github.com/serai-dex/substrate-bip39", "https://github.com/serai-dex/substrate", "https://github.com/serai-dex/patch-polkadot-sdk", ] From 7d49366373b61a54334ac0976d055805b271f31a Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Sun, 5 Oct 2025 10:58:08 -0400 Subject: [PATCH 2/3] Move `develop` to `patch-polkadot-sdk` (#678) * Update `build-dependencies` CI action * Update `develop` to `patch-polkadot-sdk` Allows us to finally remove the old `serai-dex/substrate` repository _and_ should have CI pass without issue on `develop` again. The changes made here should be trivial and maintain all prior behavior/functionality. The most notable are to `chain_spec.rs`, in order to still use a SCALE-encoded `GenesisConfig` (avoiding `serde_json`). * CI fixes * Add `/usr/local/opt/llvm/lib` to paths on macOS hosts * Attempt to use `LD_LIBRARY_PATH` in macOS GitHub CI * Use `libp2p 0.56` in `serai-node` * Correct Windows build dependencies * Correct `llvm/lib` path on macOS * Correct how macOS 13 and 14 have different homebrew paths * Use `sw_vers` instead of `uname` on macOS Yields the macOS version instead of the kernel's version. * Replace hard-coded path with the intended env variable to fix macOS 13 * Add `libclang-dev` as dependency to the Debian Dockerfile * Set the `CODE` storage slot * Update to a version of substrate without `wasmtimer` Turns out `wasmtimer` is WASM only. This should restore the node's functioning on non-WASM environments. * Restore `clang` as a dependency due to the Debian Dockerfile as we require a C++ compiler * Move from Debian bookworm to trixie * Restore `chain_getBlockBin` to the RPC * Always generate a new key for the P2P network * Mention every account on-chain before they publish a transaction `CheckNonce` required accounts have a provider in order to even have their nonce considered. This shims that by claiming every account has a provider at the start of a block, if it signs a transaction. The actual execution could presumably diverge between block building (which sets the provider before each transaction) and execution (which sets the providers at the start of the block). It doesn't diverge in our current configuration and it won't be propagated to `next` (which doesn't use `CheckNonce`). Also uses explicit indexes for the `serai_abi::{Call, Event}` `enum`s. * Adopt `patch-polkadot-sdk` with fixed peering * Manually insert the authority discovery key into the keystore I did try pulling in `pallet-authority-discovery` for this, updating `SessionKeys`, but that was insufficient for whatever reason. * Update to latest `substrate-wasm-builder` * Fix timeline for incrementing providers e1671dd71b219bf7439c28f1c5bdf988b1e00ff5 incremented the providers for every single transaction's sender before execution, noting the solution was fragile but it worked for us at this time. It did not work for us at this time. The new solution replaces `inc_providers` with direct access to the `Account` `StorageMap` to increment the providers, achieving the desired goal, _without_ emitting an event (which is ordered, and the disparate order between building and execution was causing mismatches of the state root). This solution is also fragile and may also be insufficient. None of this code exists anymore on `next` however. It just has to work sufficiently for now. * clippy --- .github/actions/build-dependencies/action.yml | 15 +- .github/workflows/lint.yml | 2 +- Cargo.lock | 6098 +++++++++-------- Cargo.toml | 23 +- common/db/Cargo.toml | 2 +- coordinator/Cargo.toml | 6 +- coordinator/src/cosign_evaluator.rs | 4 +- coordinator/src/main.rs | 15 +- coordinator/src/tests/tributary/chain.rs | 4 +- coordinator/src/tests/tributary/dkg.rs | 5 +- coordinator/src/tributary/handle.rs | 4 +- coordinator/src/tributary/signing_protocol.rs | 2 +- coordinator/tributary/tendermint/src/lib.rs | 2 + deny.toml | 76 +- networks/ethereum/src/crypto.rs | 2 + networks/ethereum/src/tests/crypto.rs | 2 + networks/ethereum/src/tests/mod.rs | 2 + orchestration/src/main.rs | 6 +- orchestration/src/mimalloc.rs | 2 +- patches/is-terminal/Cargo.toml | 14 - patches/is-terminal/src/lib.rs | 1 - patches/parking_lot/Cargo.toml | 17 - patches/parking_lot/src/lib.rs | 1 - patches/parking_lot_core/Cargo.toml | 17 - patches/parking_lot_core/src/lib.rs | 1 - patches/rocksdb/Cargo.toml | 26 - patches/rocksdb/src/lib.rs | 1 - patches/tiny-bip39/Cargo.toml | 24 - patches/tiny-bip39/src/lib.rs | 1 - patches/zstd/Cargo.toml | 17 - patches/zstd/src/lib.rs | 1 - processor/Cargo.toml | 2 +- processor/messages/src/lib.rs | 2 + processor/src/networks/ethereum.rs | 2 + processor/src/slash_report_signer.rs | 2 +- processor/src/tests/cosigner.rs | 2 +- processor/src/tests/key_gen.rs | 2 +- substrate/abi/Cargo.toml | 14 +- substrate/abi/src/babe.rs | 8 +- substrate/abi/src/coins.rs | 8 +- substrate/abi/src/dex.rs | 8 +- substrate/abi/src/economic_security.rs | 4 +- substrate/abi/src/genesis_liquidity.rs | 8 +- substrate/abi/src/grandpa.rs | 12 +- substrate/abi/src/in_instructions.rs | 8 +- substrate/abi/src/lib.rs | 45 +- substrate/abi/src/liquidity_tokens.rs | 8 +- substrate/abi/src/signals.rs | 8 +- substrate/abi/src/system.rs | 12 +- substrate/abi/src/timestamp.rs | 4 +- substrate/abi/src/tx.rs | 77 +- substrate/abi/src/validator_sets.rs | 8 +- substrate/client/Cargo.toml | 6 +- substrate/client/src/lib.rs | 2 + substrate/client/src/serai/mod.rs | 4 +- .../client/tests/common/genesis_liquidity.rs | 4 +- .../client/tests/common/validator_sets.rs | 7 +- substrate/client/tests/validator_sets.rs | 2 +- substrate/coins/pallet/Cargo.toml | 17 +- substrate/coins/pallet/src/lib.rs | 19 +- substrate/coins/pallet/src/mock.rs | 35 +- substrate/coins/primitives/Cargo.toml | 5 +- substrate/coins/primitives/src/lib.rs | 10 +- substrate/dex/pallet/Cargo.toml | 20 +- substrate/dex/pallet/src/lib.rs | 5 +- substrate/dex/pallet/src/mock.rs | 34 +- substrate/economic-security/pallet/Cargo.toml | 8 +- substrate/economic-security/pallet/src/lib.rs | 4 +- substrate/emissions/pallet/Cargo.toml | 14 +- substrate/emissions/pallet/src/lib.rs | 3 +- substrate/genesis-liquidity/pallet/Cargo.toml | 14 +- substrate/genesis-liquidity/pallet/src/lib.rs | 1 - .../genesis-liquidity/primitives/Cargo.toml | 6 +- .../genesis-liquidity/primitives/src/lib.rs | 11 +- substrate/in-instructions/pallet/Cargo.toml | 18 +- substrate/in-instructions/pallet/src/lib.rs | 1 - .../in-instructions/primitives/Cargo.toml | 8 +- .../in-instructions/primitives/src/lib.rs | 22 +- .../primitives/src/shorthand.rs | 5 +- substrate/node/Cargo.toml | 62 +- substrate/node/src/chain_spec.rs | 179 +- substrate/node/src/command.rs | 23 +- substrate/node/src/keystore.rs | 25 +- substrate/node/src/rpc.rs | 69 +- substrate/node/src/service.rs | 116 +- substrate/primitives/Cargo.toml | 15 +- substrate/primitives/src/account.rs | 19 +- substrate/primitives/src/amount.rs | 14 +- substrate/primitives/src/balance.rs | 11 +- substrate/primitives/src/block.rs | 19 +- substrate/primitives/src/lib.rs | 7 +- substrate/primitives/src/networks.rs | 20 +- substrate/runtime/Cargo.toml | 56 +- substrate/runtime/src/abi.rs | 1 + substrate/runtime/src/lib.rs | 145 +- substrate/signals/pallet/Cargo.toml | 12 +- substrate/signals/pallet/src/lib.rs | 12 +- substrate/signals/primitives/Cargo.toml | 2 - substrate/signals/primitives/src/lib.rs | 8 +- substrate/validator-sets/pallet/Cargo.toml | 30 +- substrate/validator-sets/pallet/src/lib.rs | 39 +- .../validator-sets/primitives/Cargo.toml | 7 +- .../validator-sets/primitives/src/lib.rs | 27 +- tests/coordinator/src/lib.rs | 14 +- tests/coordinator/src/tests/batch.rs | 13 +- tests/coordinator/src/tests/key_gen.rs | 7 +- tests/processor/src/networks.rs | 2 + 107 files changed, 4253 insertions(+), 3623 deletions(-) delete mode 100644 patches/is-terminal/Cargo.toml delete mode 100644 patches/is-terminal/src/lib.rs delete mode 100644 patches/parking_lot/Cargo.toml delete mode 100644 patches/parking_lot/src/lib.rs delete mode 100644 patches/parking_lot_core/Cargo.toml delete mode 100644 patches/parking_lot_core/src/lib.rs delete mode 100644 patches/rocksdb/Cargo.toml delete mode 100644 patches/rocksdb/src/lib.rs delete mode 100644 patches/tiny-bip39/Cargo.toml delete mode 100644 patches/tiny-bip39/src/lib.rs delete mode 100644 patches/zstd/Cargo.toml delete mode 100644 patches/zstd/src/lib.rs diff --git a/.github/actions/build-dependencies/action.yml b/.github/actions/build-dependencies/action.yml index bfc02a4c..bd7ca5c7 100644 --- a/.github/actions/build-dependencies/action.yml +++ b/.github/actions/build-dependencies/action.yml @@ -7,6 +7,10 @@ runs: - name: Remove unused packages shell: bash run: | + # Ensure the repositories are synced + sudo apt update -y + + # Actually perform the removals sudo apt remove -y "*powershell*" "*nuget*" "*bazel*" "*ansible*" "*terraform*" "*heroku*" "*aws*" azure-cli sudo apt remove -y "*nodejs*" "*npm*" "*yarn*" "*java*" "*kotlin*" "*golang*" "*swift*" "*julia*" "*fortran*" "*android*" sudo apt remove -y "*apache2*" "*nginx*" "*firefox*" "*chromium*" "*chrome*" "*edge*" @@ -14,8 +18,9 @@ runs: sudo apt remove -y --allow-remove-essential -f shim-signed *python3* # This removal command requires the prior removals due to unmet dependencies otherwise sudo apt remove -y "*qemu*" "*sql*" "*texinfo*" "*imagemagick*" + # Reinstall python3 as a general dependency of a functional operating system - sudo apt install python3 + sudo apt install -y python3 --fix-missing if: runner.os == 'Linux' - name: Remove unused packages @@ -33,11 +38,15 @@ runs: shell: bash run: | if [ "$RUNNER_OS" == "Linux" ]; then - sudo apt install -y ca-certificates protobuf-compiler + sudo apt install -y ca-certificates protobuf-compiler libclang-dev elif [ "$RUNNER_OS" == "Windows" ]; then choco install protoc elif [ "$RUNNER_OS" == "macOS" ]; then - brew install protobuf + brew install protobuf llvm + HOMEBREW_ROOT_PATH=/opt/homebrew # macOS 14+ + if [ $(sw_vers -productVersion | awk -F "." '{ print $1 }') = "13" ]; then HOMEBREW_ROOT_PATH=/usr/local; fi # macOS 13 + ls $HOMEBREW_ROOT_PATH/opt/llvm/lib | grep "libclang.dylib" # Make sure this installed `libclang` + echo "DYLD_LIBRARY_PATH=$HOMEBREW_ROOT_PATH/opt/llvm/lib:$DYLD_LIBRARY_PATH" >> "$GITHUB_ENV" fi - name: Install solc diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fd63493c..2c9161e9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -52,7 +52,7 @@ jobs: key: rust-advisory-db - name: Install cargo deny - run: cargo +1.89 install cargo-deny --version =0.18.3 + run: cargo +1.89 install cargo-deny --version =0.18.4 - name: Run cargo deny run: cargo deny -L error --all-features check --hide-inclusion-graph diff --git a/Cargo.lock b/Cargo.lock index bc6b5235..1d9754ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,15 +12,6 @@ dependencies = [ "regex", ] -[[package]] -name = "addr2line" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" -dependencies = [ - "gimli 0.27.3", -] - [[package]] name = "addr2line" version = "0.24.2" @@ -31,10 +22,19 @@ dependencies = [ ] [[package]] -name = "adler2" -version = "2.0.0" +name = "addr2line" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" +dependencies = [ + "gimli 0.32.3", +] + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" @@ -73,12 +73,12 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom", + "getrandom 0.3.3", "once_cell", "version_check", "zerocopy", @@ -95,18 +95,19 @@ 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 = "alloy-chains" -version = "0.1.36" +version = "0.1.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94c225801d42099570d0674701dddd4142f0ef715282aeb5985042e2ec962df7" +checksum = "28e2652684758b0d9b389d248b209ed9fd9989ef489a550265fe4bb8454fe7eb" dependencies = [ + "alloy-primitives", "num_enum", - "strum 0.26.3", + "strum 0.27.2", ] [[package]] @@ -127,9 +128,9 @@ dependencies = [ [[package]] name = "alloy-core" -version = "0.8.5" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce854562e7cafd5049189d0268d6e5cba05fe6c9cb7c6f8126a79b94800629c" +checksum = "9d8bcce99ad10fe02640cfaec1c6bc809b837c783c1d52906aa5af66e2a196f6" dependencies = [ "alloy-primitives", ] @@ -188,9 +189,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.5" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a438d4486b5d525df3b3004188f9d5cd1d65cd30ecc41e5a3ccef6f6342e8af9" +checksum = "fe6beff64ad0aa6ad1019a3db26fef565aefeb011736150ab73ed3366c3cfd1b" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -207,7 +208,7 @@ dependencies = [ "alloy-sol-types", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 1.0.69", "tracing", ] @@ -229,7 +230,7 @@ dependencies = [ "async-trait", "auto_impl", "futures-utils-wasm", - "thiserror 1.0.64", + "thiserror 1.0.69", ] [[package]] @@ -254,36 +255,36 @@ dependencies = [ "alloy-genesis", "alloy-primitives", "k256", - "rand", + "rand 0.8.5", "serde_json", "tempfile", - "thiserror 1.0.64", + "thiserror 1.0.69", "tracing", "url", ] [[package]] name = "alloy-primitives" -version = "0.8.5" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260d3ff3bff0bb84599f032a2f2c6828180b0ea0cd41fdaf44f39cef3ba41861" +checksum = "8c77490fe91a0ce933a1f219029521f20fc28c2c0ca95d53fa4da9c00b8d9d4e" dependencies = [ "alloy-rlp", "bytes", "cfg-if", "const-hex", - "derive_more 1.0.0", - "hashbrown 0.14.5", - "hex-literal", - "indexmap 2.5.0", + "derive_more 2.0.1", + "foldhash", + "hashbrown 0.15.5", + "indexmap 2.11.4", "itoa", "k256", "keccak-asm", "paste", "proptest", - "rand", + "rand 0.8.5", "ruint", - "rustc-hash 2.0.0", + "rustc-hash 2.1.1", "serde", "sha3", "tiny-keccak", @@ -315,16 +316,16 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "tracing", ] [[package]] name = "alloy-rlp" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26154390b1d205a4a7ac7352aa2eb4f81f391399d4e2f546fb81a2f8bb383f62" +checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -333,13 +334,13 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" +checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -358,7 +359,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower 0.5.1", + "tower 0.5.2", "tracing", ] @@ -403,7 +404,7 @@ dependencies = [ "auto_impl", "elliptic-curve", "k256", - "thiserror 1.0.64", + "thiserror 1.0.69", ] [[package]] @@ -414,74 +415,75 @@ dependencies = [ "alloy-transport", "serde_json", "simple-request", - "tower 0.5.1", + "tower 0.5.2", ] [[package]] name = "alloy-sol-macro" -version = "0.8.5" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68e7f6e8fe5b443f82b3f1e15abfa191128f71569148428e49449d01f6f49e8b" +checksum = "e10ae8e9a91d328ae954c22542415303919aabe976fe7a92eb06db1b68fd59f2" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.8.5" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b96ce28d2fde09abb6135f410c41fad670a3a770b6776869bd852f1df102e6f" +checksum = "83ad5da86c127751bc607c174d6c9fe9b85ef0889a9ca0c641735d77d4f98f26" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.5.0", + "indexmap 2.11.4", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.8.5" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "906746396a8296537745711630d9185746c0b50c033d5e9d18b0a6eba3d53f90" +checksum = "ba3d30f0d3f9ba3b7686f3ff1de9ee312647aac705604417a2f40c604f409a9e" dependencies = [ "alloy-json-abi", "const-hex", "dunce", "heck 0.5.0", + "macro-string", "proc-macro2", "quote", "serde_json", - "syn 2.0.87", + "syn 2.0.106", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.6" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbd3548d5262867c2c4be6223fe4f2583e21ade0ca1c307fd23bc7f28fca479e" +checksum = "6d162f8524adfdfb0e4bd0505c734c985f3e2474eb022af32eef0d52a4f3935c" dependencies = [ "serde", - "winnow 0.6.20", + "winnow", ] [[package]] name = "alloy-sol-types" -version = "0.8.5" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86a533ce22525969661b25dfe296c112d35eb6861f188fd284f8bd4bb3842ae" +checksum = "d43d5e60466a440230c07761aa67671d4719d46f43be8ea6e7ed334d8db4a9ab" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -501,9 +503,9 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", - "tower 0.5.1", + "tower 0.5.2", "tracing", "url", ] @@ -518,12 +520,6 @@ dependencies = [ "url", ] -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_system_properties" version = "0.1.5" @@ -533,20 +529,11 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -559,43 +546,44 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.89" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "approx" @@ -608,9 +596,9 @@ dependencies = [ [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" [[package]] name = "ark-ff" @@ -723,7 +711,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -733,14 +721,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] name = "array-bytes" -version = "6.2.3" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5dde061bd34119e902bbb2d9b90c5692635cf59fb91d582c2b68043f1b8293" +checksum = "ede2733fdd21c8fde19f3d16cebc409666f2fc2b623a22c5078a6775708db5de" [[package]] name = "arrayref" @@ -760,13 +748,29 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", + "asn1-rs-derive 0.4.0", + "asn1-rs-impl 0.1.0", "displaydoc", "nom", "num-traits", "rusticata-macros", - "thiserror 1.0.64", + "thiserror 1.0.69", + "time", +] + +[[package]] +name = "asn1-rs" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60" +dependencies = [ + "asn1-rs-derive 0.6.0", + "asn1-rs-impl 0.2.0", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror 2.0.16", "time", ] @@ -779,7 +783,19 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", + "synstructure 0.13.2", ] [[package]] @@ -794,23 +810,35 @@ dependencies = [ ] [[package]] -name = "async-channel" -version = "1.9.0" +name = "asn1-rs-impl" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "async-channel" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" dependencies = [ "concurrent-queue", - "event-listener 2.5.3", + "event-listener-strategy", "futures-core", + "pin-project-lite", ] [[package]] name = "async-io" -version = "2.3.4" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" dependencies = [ - "async-lock", + "autocfg", "cfg-if", "concurrent-queue", "futures-io", @@ -819,17 +847,16 @@ dependencies = [ "polling", "rustix", "slab", - "tracing", - "windows-sys 0.59.0", + "windows-sys 0.61.0", ] [[package]] name = "async-lock" -version = "3.4.0" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" dependencies = [ - "event-listener 5.3.1", + "event-listener", "event-listener-strategy", "pin-project-lite", ] @@ -853,18 +880,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "async-trait" -version = "0.1.83" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -880,6 +907,25 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "asynchronous-codec" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a860072022177f903e59730004fb5dc13db9275b79bb2aef7ba8ce831956c233" +dependencies = [ + "bytes", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "attohttpc" version = "0.24.1" @@ -892,33 +938,45 @@ dependencies = [ ] [[package]] -name = "auto_impl" -version = "1.2.0" +name = "attohttpc" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "16e2cdb6d5ed835199484bb92bb8b3edd526effe995c61732580439c1a67e2e9" +dependencies = [ + "base64 0.22.1", + "http 1.3.1", + "log", + "url", +] + +[[package]] +name = "auto_impl" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line 0.24.2", "cfg-if", "libc", "miniz_oxide", - "object 0.36.5", + "object 0.36.7", "rustc-demangle", "windows-targets 0.52.6", ] @@ -941,8 +999,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c8d66485a3a2ea485c1913c4572ce0256067a5377ac8c75c4960e1cda98605f" dependencies = [ - "bitcoin-internals", - "bitcoin_hashes", + "bitcoin-internals 0.3.0", + "bitcoin_hashes 0.14.0", ] [[package]] @@ -965,9 +1023,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bech32" @@ -975,77 +1033,63 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" -[[package]] -name = "beef" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" -dependencies = [ - "serde", -] - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bindgen" -version = "0.69.4" +version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.4", "cexpr", "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", + "itertools 0.10.5", "proc-macro2", "quote", "regex", - "rustc-hash 1.1.0", + "rustc-hash 2.1.1", "shlex", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "bit-set" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.6.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitcoin" -version = "0.32.3" +version = "0.32.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0032b0e8ead7074cda7fc4f034409607e3f03a6f71d66ade8a307f79b4d99e73" +checksum = "0fda569d741b895131a88ee5589a467e73e9c4718e958ac9308e4f7dc44b6945" dependencies = [ "base58ck", "bech32", - "bitcoin-internals", + "bitcoin-internals 0.3.0", "bitcoin-io", "bitcoin-units", - "bitcoin_hashes", - "hex-conservative", + "bitcoin_hashes 0.14.0", + "hex-conservative 0.2.1", "hex_lit", "secp256k1", "serde", ] +[[package]] +name = "bitcoin-internals" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" + [[package]] name = "bitcoin-internals" version = "0.3.0" @@ -1057,9 +1101,9 @@ dependencies = [ [[package]] name = "bitcoin-io" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "340e09e8399c7bd8912f495af6aa58bea0c9214773417ffaa8f6460f93aaee56" +checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" [[package]] name = "bitcoin-serai" @@ -1069,14 +1113,14 @@ dependencies = [ "hex", "k256", "modular-frost", - "rand_core", + "rand_core 0.6.4", "secp256k1", "serde", "serde_json", "simple-request", "std-shims", "subtle", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "zeroize", ] @@ -1087,10 +1131,20 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5285c8bcaa25876d07f37e3d30c303f2609179716e11d688f51e8f1fe70063e2" dependencies = [ - "bitcoin-internals", + "bitcoin-internals 0.3.0", "serde", ] +[[package]] +name = "bitcoin_hashes" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" +dependencies = [ + "bitcoin-internals 0.2.0", + "hex-conservative 0.1.2", +] + [[package]] name = "bitcoin_hashes" version = "0.14.0" @@ -1098,7 +1152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" dependencies = [ "bitcoin-io", - "hex-conservative", + "hex-conservative 0.2.1", "serde", ] @@ -1110,9 +1164,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "bitvec" @@ -1137,48 +1191,15 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" dependencies = [ "arrayref", "arrayvec", "constant_time_eq", ] -[[package]] -name = "blake2s_simd" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array 0.14.7", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -1206,15 +1227,15 @@ dependencies = [ "ff", "group", "pairing", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] name = "blst" -version = "0.3.13" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" +checksum = "dcdb4c7013139a150f9fc55d123186dbfaba0d912817466282c73ac49e71fb45" dependencies = [ "cc", "glob", @@ -1234,9 +1255,9 @@ dependencies = [ "futures-core", "futures-util", "hex", - "http 1.1.0", + "http 1.3.1", "http-body-util", - "hyper 1.4.1", + "hyper 1.7.0", "hyper-named-pipe", "hyper-util", "hyperlocal", @@ -1247,7 +1268,7 @@ dependencies = [ "serde_json", "serde_repr", "serde_urlencoded", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "tokio-util", "tower-service", @@ -1268,9 +1289,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.0" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe5b10e214954177fb1dc9fbd20a1a2608fe99e6c832033bdc7cea287a20d77" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ "borsh-derive", "cfg_aliases", @@ -1278,23 +1299,22 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ "once_cell", - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.87", - "syn_derive", + "syn 2.0.106", ] [[package]] name = "bounded-collections" -version = "0.1.9" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca548b6163b872067dc5eb82fd130c56881435e30367d2073594a3d9744120dd" +checksum = "64ad8a0bed7827f0b07a5d23cec2e58cc02038a99e4ca81616cb2bb2025f804d" dependencies = [ "log", "parity-scale-codec", @@ -1311,42 +1331,26 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "bstr" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "build-helper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f" -dependencies = [ - "semver 0.6.0", -] - [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +dependencies = [ + "allocator-api2", +] [[package]] name = "byte-slice-cast" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "bytemuck" -version = "1.18.0" +version = "1.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" [[package]] name = "byteorder" @@ -1356,21 +1360,20 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.2" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" dependencies = [ "serde", ] [[package]] name = "bzip2-sys" -version = "0.1.11+1.0.8" +version = "0.1.13+1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" dependencies = [ "cc", - "libc", "pkg-config", ] @@ -1391,18 +1394,18 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "e1de8bc0aa9e9385ceb3bf0c152e3a9b9544f6c4a912c8ae504e80c1f0368603" dependencies = [ - "serde", + "serde_core", ] [[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", ] @@ -1415,17 +1418,17 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.27", "serde", "serde_json", - "thiserror 1.0.64", + "thiserror 1.0.69", ] [[package]] name = "cc" -version = "1.1.28" +version = "1.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" +checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" dependencies = [ "jobserver", "libc", @@ -1443,24 +1446,24 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.8" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +checksum = "1a2c5f3bf25ec225351aa1c8e230d04d880d3bd89dea133537dafad4ae291e5c" dependencies = [ "smallvec", ] [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cfg_aliases" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chacha20" @@ -1488,30 +1491,16 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.6", -] - -[[package]] -name = "cid" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd94671561e36e4e7de75f753f577edafb0e7c05d6e4547229fdf7938fbcd2c3" -dependencies = [ - "core2", - "multibase", - "multihash 0.18.1", - "serde", - "unsigned-varint", + "windows-link 0.2.0", ] [[package]] @@ -1535,7 +1524,7 @@ dependencies = [ "flexible-transcript", "group", "hex", - "rand_core", + "rand_core 0.6.4", "std-shims", "subtle", "zeroize", @@ -1551,7 +1540,7 @@ dependencies = [ "hex", "k256", "p256", - "rand_core", + "rand_core 0.6.4", "sha2", "zeroize", ] @@ -1564,14 +1553,13 @@ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", - "libloading", ] [[package]] name = "clap" -version = "4.5.19" +version = "4.5.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615" +checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae" dependencies = [ "clap_builder", "clap_derive", @@ -1579,49 +1567,49 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.19" +version = "4.5.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b" +checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9" dependencies = [ "anstream", "anstyle", "clap_lex", "strsim", + "terminal_size", ] [[package]] name = "clap_derive" -version = "4.5.18" +version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] -name = "codespan-reporting" -version = "0.11.1" +name = "cobs" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" dependencies = [ - "termcolor", - "unicode-width 0.1.14", + "thiserror 2.0.16", ] [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "concurrent-queue" @@ -1634,28 +1622,27 @@ dependencies = [ [[package]] name = "console" -version = "0.15.11" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" +checksum = "b430743a6eb14e9764d4260d4c0d8123087d504eeb9c48f2b2a5e810dd369df4" dependencies = [ "encode_unicode", "libc", "once_cell", - "unicode-width 0.2.1", - "windows-sys 0.59.0", + "unicode-width", + "windows-sys 0.61.0", ] [[package]] name = "const-hex" -version = "1.13.1" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" +checksum = "b6407bff74dea37e0fa3dc1c1c974e5d46405f0c987bf9997a0762adce71eda6" dependencies = [ "cfg-if", "cpufeatures", - "hex", "proptest", - "serde", + "serde_core", ] [[package]] @@ -1679,11 +1666,31 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.16", "once_cell", "tiny-keccak", ] +[[package]] +name = "const_format" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "constant_time_eq" version = "0.3.1" @@ -1700,6 +1707,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -1715,92 +1732,123 @@ dependencies = [ "memchr", ] -[[package]] -name = "cpp_demangle" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f" -dependencies = [ - "cfg-if", -] - [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] -name = "cranelift-bforest" -version = "0.99.2" +name = "cranelift-assembler-x64" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a91a1ccf6fb772808742db2f51e2179f25b1ec559cbe39ea080c72ff61caf8f" +checksum = "81a2690ac71eccd7d461d890cf27e0e2315f607cae33962bfd830ddaabf47c14" +dependencies = [ + "cranelift-assembler-x64-meta", +] + +[[package]] +name = "cranelift-assembler-x64-meta" +version = "0.124.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b5bce8e2b3df5842dd46c75c1ea2be08605d15eef736ef26b643fe4879baa1d" +dependencies = [ + "cranelift-srcgen", +] + +[[package]] +name = "cranelift-bforest" +version = "0.124.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4547729bf44512baeb3c32b51f72e35848b285ed2c47ccf66e0c4e456e33fd28" dependencies = [ "cranelift-entity", ] [[package]] -name = "cranelift-codegen" -version = "0.99.2" +name = "cranelift-bitset" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169db1a457791bff4fd1fc585bb5cc515609647e0420a7d5c98d7700c59c2d00" +checksum = "b18af34e43a5e32680668790536479b02815827c2a23b4653eca302854c6dfd3" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "cranelift-codegen" +version = "0.124.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8441e97c85a48e7e9611fb57c592f28e39800fd944f0b2ad773fe15e7f7c5b3" dependencies = [ "bumpalo", + "cranelift-assembler-x64", "cranelift-bforest", + "cranelift-bitset", "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-control", "cranelift-entity", "cranelift-isle", - "gimli 0.27.3", - "hashbrown 0.13.2", + "gimli 0.32.3", + "hashbrown 0.15.5", "log", + "pulley-interpreter", "regalloc2", + "rustc-hash 2.1.1", + "serde", "smallvec", "target-lexicon", + "wasmtime-internal-math", ] [[package]] name = "cranelift-codegen-meta" -version = "0.99.2" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3486b93751ef19e6d6eef66d2c0e83ed3d2ba01da1919ed2747f2f7bd8ba3419" +checksum = "4488710ada4f13b6a70a3870eab717768ce7fe3030d544b856e1c32189ca1e75" dependencies = [ + "cranelift-assembler-x64-meta", "cranelift-codegen-shared", + "cranelift-srcgen", + "heck 0.5.0", + "pulley-interpreter", ] [[package]] name = "cranelift-codegen-shared" -version = "0.99.2" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86a1205ab18e7cd25dc4eca5246e56b506ced3feb8d95a8d776195e48d2cd4ef" +checksum = "e0b76e4f4aeb6ce69a166046a8d26452e5b43568df1ebdc17c7e4ad278b380e4" [[package]] name = "cranelift-control" -version = "0.99.2" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b108cae0f724ddfdec1871a0dc193a607e0c2d960f083cfefaae8ccf655eff2" +checksum = "a015955e26dd19cdf9fbbb88ec57468877f82f0cbf2858da5dcd7222a0fc5bc8" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.99.2" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "720444006240622798665bfc6aa8178e2eed556da342fda62f659c5267c3c659" +checksum = "defcb55924447ab5b45e1587c1f23a239e1933d21257687a5d4adc5be8ea217c" dependencies = [ + "cranelift-bitset", "serde", + "serde_derive", ] [[package]] name = "cranelift-frontend" -version = "0.99.2" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7a94c4c5508b7407e125af9d5320694b7423322e59a4ac0d07919ae254347ca" +checksum = "ddb2862d5f1bbfd3be73afb02f5bc4267195f050cb33b01c609b0d95b3584b44" dependencies = [ "cranelift-codegen", "log", @@ -1810,15 +1858,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.99.2" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef1f888d0845dcd6be4d625b91d9d8308f3d95bed5c5d4072ce38e1917faa505" +checksum = "e9b52d2ad05a86c4dd84e87ad0d40e4db9406bec671450fe223321abef377cfa" [[package]] name = "cranelift-native" -version = "0.99.2" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ad5966da08f1e96a3ae63be49966a85c9b249fa465f8cf1b66469a82b1004a0" +checksum = "ec4a23e24afffe8001617af9720eda68c296a4bc618b5de54dbb15b0d1ebcc3e" dependencies = [ "cranelift-codegen", "libc", @@ -1826,35 +1874,40 @@ dependencies = [ ] [[package]] -name = "cranelift-wasm" -version = "0.99.2" +name = "cranelift-srcgen" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8635c88b424f1d232436f683a301143b36953cd98fc6f86f7bac862dfeb6f5" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "itertools 0.10.5", - "log", - "smallvec", - "wasmparser", - "wasmtime-types", -] +checksum = "14f99257b0c0c5c9cf9b1a8a57a52d88da92a8eca892264770b8fdc971bc1fee" [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] [[package]] -name = "crossbeam-deque" -version = "0.8.5" +name = "critical-section" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -1871,15 +1924,15 @@ dependencies = [ [[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" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -1888,7 +1941,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", - "rand_core", + "rand_core 0.6.4", "serdect", "subtle", "zeroize", @@ -1901,7 +1954,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.7", - "rand_core", + "rand_core 0.6.4", "typenum", ] @@ -1926,7 +1979,7 @@ dependencies = [ "digest 0.10.7", "fiat-crypto", "group", - "rand_core", + "rand_core 0.6.4", "rustc_version 0.4.1", "subtle", "zeroize", @@ -1940,51 +1993,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", -] - -[[package]] -name = "cxx" -version = "1.0.128" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ccead7d199d584d139148b04b4a368d1ec7556a1d9ea2548febb1b9d49f9a4" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.128" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77953e99f01508f89f55c494bfa867171ef3a6c8cea03d26975368f2121a5c1" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 2.0.87", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.128" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65777e06cc48f0cb0152024c77d6cf9e4bdb4408e7b48bea993d42fa0f5b02b6" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.128" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98532a60dedaebc4848cb2cba5023337cc9ea3af16a5b062633fabfd9f18fb60" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -1999,13 +2008,48 @@ dependencies = [ "ff-group-tests", "group", "hex", - "rand_core", + "rand_core 0.6.4", "rustversion", "sha2", "subtle", "zeroize", ] +[[package]] +name = "darling" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.106", +] + +[[package]] +name = "darling_macro" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.106", +] + [[package]] name = "dashmap" version = "6.1.0" @@ -2017,20 +2061,20 @@ dependencies = [ "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.10", + "parking_lot_core", ] [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "data-encoding-macro" -version = "0.1.15" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" +checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -2038,12 +2082,12 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.13" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" +checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 1.0.109", + "syn 2.0.106", ] [[package]] @@ -2057,9 +2101,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "zeroize", @@ -2071,7 +2115,21 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs", + "asn1-rs 0.5.2", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der-parser" +version = "10.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" +dependencies = [ + "asn1-rs 0.7.1", "displaydoc", "nom", "num-bigint", @@ -2081,9 +2139,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" dependencies = [ "powerfmt", "serde", @@ -2102,24 +2160,13 @@ dependencies = [ [[package]] name = "derive-syn-parse" -version = "0.1.5" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_more" -version = "0.99.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -2128,7 +2175,16 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "derive_more-impl", + "derive_more-impl 1.0.0", +] + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl 2.0.1", ] [[package]] @@ -2139,15 +2195,21 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", "unicode-xid", ] [[package]] -name = "difflib" -version = "0.4.0" +name = "derive_more-impl" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", + "unicode-xid", +] [[package]] name = "digest" @@ -2164,7 +2226,7 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "const-oid", "crypto-common", "subtle", @@ -2179,7 +2241,7 @@ dependencies = [ "digest 0.10.7", "hex", "md-5", - "rand", + "rand 0.8.5", "sha2", ] @@ -2189,14 +2251,23 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" dependencies = [ - "dirs-sys", + "dirs-sys 0.4.1", +] + +[[package]] +name = "directories" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16f5094c54661b38d03bd7e50df373292118db60b585c08a411c6d840017fe7d" +dependencies = [ + "dirs-sys 0.5.0", ] [[package]] name = "directories-next" version = "2.0.0" dependencies = [ - "directories", + "directories 5.0.1", ] [[package]] @@ -2207,10 +2278,22 @@ checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", "option-ext", - "redox_users", + "redox_users 0.4.6", "windows-sys 0.48.0", ] +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users 0.5.2", + "windows-sys 0.61.0", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -2219,7 +2302,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -2239,7 +2322,7 @@ version = "0.6.0" dependencies = [ "ciphersuite", "dkg", - "rand_core", + "rand_core 0.6.4", "std-shims", "zeroize", ] @@ -2253,7 +2336,7 @@ dependencies = [ "dkg", "dkg-recovery", "multiexp", - "rand_core", + "rand_core 0.6.4", "std-shims", "thiserror 2.0.16", "zeroize", @@ -2270,7 +2353,7 @@ dependencies = [ "dleq", "flexible-transcript", "multiexp", - "rand_core", + "rand_core 0.6.4", "schnorr-signatures", "thiserror 2.0.16", "zeroize", @@ -2286,7 +2369,7 @@ dependencies = [ "dkg-recovery", "dleq", "flexible-transcript", - "rand_core", + "rand_core 0.6.4", "thiserror 2.0.16", "zeroize", ] @@ -2311,10 +2394,10 @@ dependencies = [ "ff", "flexible-transcript", "group", - "hex-literal", + "hex-literal 0.4.1", "k256", "multiexp", - "rand_core", + "rand_core 0.6.4", "rustversion", "thiserror 2.0.16", "zeroize", @@ -2333,12 +2416,12 @@ dependencies = [ "bytes", "dyn-clone", "futures", - "rand", + "rand 0.8.5", "secrecy", "serde", "serde_json", "strum 0.26.3", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -2351,9 +2434,9 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dtoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" +checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" [[package]] name = "dunce" @@ -2361,32 +2444,11 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" -[[package]] -name = "dyn-clonable" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" -dependencies = [ - "dyn-clonable-impl", - "dyn-clone", -] - -[[package]] -name = "dyn-clonable-impl" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "dyn-clone" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "ecdsa" @@ -2414,39 +2476,24 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ "curve25519-dalek", "ed25519", - "rand_core", + "rand_core 0.6.4", "serde", "sha2", "subtle", "zeroize", ] -[[package]] -name = "ed25519-zebra" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" -dependencies = [ - "curve25519-dalek", - "ed25519", - "hashbrown 0.14.5", - "hex", - "rand_core", - "sha2", - "zeroize", -] - [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elliptic-curve" @@ -2461,13 +2508,25 @@ dependencies = [ "generic-array 0.14.7", "group", "pkcs8", - "rand_core", + "rand_core 0.6.4", "sec1", "subtle", "tap", "zeroize", ] +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "encode_unicode" version = "1.0.0" @@ -2495,7 +2554,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -2505,10 +2564,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", - "is-terminal", "log", - "regex", - "termcolor", ] [[package]] @@ -2519,18 +2575,18 @@ checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.0", ] [[package]] @@ -2550,22 +2606,16 @@ dependencies = [ "group", "k256", "modular-frost", - "rand_core", - "thiserror 1.0.64", + "rand_core 0.6.4", + "thiserror 1.0.69", "tokio", ] [[package]] name = "event-listener" -version = "2.5.3" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "event-listener" -version = "5.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -2574,11 +2624,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "event-listener 5.3.1", + "event-listener", "pin-project-lite", ] @@ -2601,20 +2651,20 @@ dependencies = [ "fs-err", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "fallible-iterator" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fastrand" -version = "2.1.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fastrlp" @@ -2628,22 +2678,34 @@ dependencies = [ ] [[package]] -name = "fdlimit" -version = "0.2.1" +name = "fastrlp" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "fdlimit" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", + "thiserror 1.0.69", ] [[package]] name = "ff" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" dependencies = [ "bitvec", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -2657,7 +2719,7 @@ dependencies = [ "k256", "p256", "pasta_curves", - "rand_core", + "rand_core 0.6.4", "subtle", ] @@ -2667,21 +2729,11 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" -[[package]] -name = "file-per-thread-logger" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a3cc21c33af89af0930c8cae4ade5e6fdc17b5d2c97b3d2e2edb67a1cf683f3" -dependencies = [ - "env_logger", - "log", -] - [[package]] name = "finality-grandpa" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36530797b9bf31cd4ff126dcfee8170f86b00cfdcea3269d73133cc0415945c3" +checksum = "b4f8f43dc520133541781ec03a8cab158ae8b7f7169cdf22e9050aa6cf0fbdfc" dependencies = [ "either", "futures", @@ -2689,7 +2741,7 @@ dependencies = [ "log", "num-traits", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "scale-info", ] @@ -2700,16 +2752,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand", + "rand 0.8.5", "rustc-hex", "static_assertions", ] [[package]] name = "fixedbitset" -version = "0.4.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flexible-transcript" @@ -2723,48 +2775,55 @@ dependencies = [ "zeroize", ] -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -dependencies = [ - "num-traits", -] - [[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + [[package]] name = "fork-tree" -version = "3.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "13.0.1" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", ] [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] [[package]] -name = "fragile" -version = "2.0.0" +name = "forwarded-header-value" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" +checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9" +dependencies = [ + "nonempty", + "thiserror 1.0.69", +] + +[[package]] +name = "fragile" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.1" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-support", "frame-support-procedural", @@ -2773,7 +2832,6 @@ dependencies = [ "log", "parity-scale-codec", "paste", - "scale-info", "serde", "sp-api", "sp-application-crypto", @@ -2781,61 +2839,46 @@ dependencies = [ "sp-io", "sp-runtime", "sp-runtime-interface", - "sp-std", "sp-storage", "static_assertions", ] [[package]] name = "frame-executive" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.1" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-support", "frame-system", "frame-try-runtime", + "log", "parity-scale-codec", - "scale-info", "sp-core", "sp-io", "sp-runtime", - "sp-std", "sp-tracing", ] -[[package]] -name = "frame-metadata" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cf1549fba25a6fcac22785b61698317d958e96cac72a59102ea45b9ae64692" -dependencies = [ - "cfg-if", - "parity-scale-codec", - "scale-info", - "serde", -] - [[package]] name = "frame-support" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ + "array-bytes", "bitflags 1.3.2", "environmental", - "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", "log", "macro_magic", "parity-scale-codec", "paste", - "scale-info", "serde", - "smallvec", + "serde_json", "sp-api", "sp-arithmetic", "sp-core", - "sp-core-hashing-proc-macro", + "sp-crypto-hashing-proc-macro", "sp-debug-derive", "sp-inherents", "sp-io", @@ -2844,73 +2887,73 @@ dependencies = [ "sp-state-machine", "sp-std", "sp-tracing", + "sp-trie", "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "34.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse", "expander", "frame-support-procedural-tools", - "itertools 0.10.5", + "itertools 0.14.0", "macro_magic", - "proc-macro-warning", + "proc-macro-warning 1.84.1", "proc-macro2", "quote", - "syn 2.0.87", + "sp-crypto-hashing", + "syn 2.0.106", ] [[package]] name = "frame-support-procedural-tools" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "13.0.1" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "3.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "12.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "frame-system" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "cfg-if", "frame-support", "log", "parity-scale-codec", - "scale-info", "serde", "sp-core", "sp-io", "sp-runtime", - "sp-std", "sp-version", "sp-weights", ] [[package]] name = "frame-system-rpc-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "37.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", "sp-api", @@ -2918,14 +2961,12 @@ dependencies = [ [[package]] name = "frame-try-runtime" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.47.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-support", "parity-scale-codec", "sp-api", - "sp-runtime", - "sp-std", ] [[package]] @@ -2937,7 +2978,7 @@ dependencies = [ "flexible-transcript", "group", "modular-frost", - "rand_core", + "rand_core 0.6.4", "schnorr-signatures", "schnorrkel", "zeroize", @@ -2985,9 +3026,9 @@ dependencies = [ [[package]] name = "futures-bounded" -version = "0.1.0" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b07bbbe7d7e78809544c6f718d875627addc73a7c3582447abc052cd3dc67e0" +checksum = "91f328e7fb845fc832912fb6a34f40cf6d1888c92f974d1893a54e97b5ff542e" dependencies = [ "futures-timer", "futures-util", @@ -3029,9 +3070,9 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ "futures-core", "pin-project-lite", @@ -3045,7 +3086,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -3058,6 +3099,17 @@ dependencies = [ "rustls 0.21.12", ] +[[package]] +name = "futures-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f2f12607f92c69b12ed746fabf9ca4f5c482cba46679c1a75b874ed7c26adb" +dependencies = [ + "futures-io", + "rustls 0.23.32", + "rustls-pki-types", +] + [[package]] name = "futures-sink" version = "0.3.31" @@ -3126,7 +3178,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.4", "debugid", "fxhash", "serde", @@ -3135,16 +3187,16 @@ dependencies = [ [[package]] name = "generator" -version = "0.8.1" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186014d53bc231d0090ef8d6f03e0920c54d85a5ed22f4f2f74315ec56cf83fb" +checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" dependencies = [ "cc", "cfg-if", "libc", "log", "rustversion", - "windows 0.54.0", + "windows 0.58.0", ] [[package]] @@ -3160,22 +3212,38 @@ dependencies = [ [[package]] name = "generic-array" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96512db27971c2c3eece70a1e106fbe6c87760234e31e8f7e5634912fe52794a" +checksum = "e8c8444bc9d71b935156cc0ccab7f622180808af7867b1daae6547d773591703" dependencies = [ "typenum", ] [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi", + "wasi 0.11.1+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.7+wasi-0.2.4", + "wasm-bindgen", ] [[package]] @@ -3184,8 +3252,8 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "rand", - "rand_core", + "rand 0.8.5", + "rand_core 0.6.4", ] [[package]] @@ -3198,17 +3266,6 @@ dependencies = [ "polyval", ] -[[package]] -name = "gimli" -version = "0.27.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" -dependencies = [ - "fallible-iterator", - "indexmap 1.9.3", - "stable_deref_trait", -] - [[package]] name = "gimli" version = "0.31.1" @@ -3216,22 +3273,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] -name = "glob" -version = "0.3.1" +name = "gimli" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" +dependencies = [ + "fallible-iterator", + "indexmap 2.11.4", + "stable_deref_trait", +] [[package]] -name = "globset" -version = "0.4.15" +name = "glob" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "governor" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "444405bbb1a762387aa22dd569429533b54a1d8759d35d3b64cb39b0293eaa19" dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata 0.4.8", - "regex-syntax 0.8.5", + "cfg-if", + "dashmap", + "futures-sink", + "futures-timer", + "futures-util", + "getrandom 0.3.3", + "hashbrown 0.15.5", + "nonzero_ext", + "parking_lot", + "portable-atomic", + "quanta", + "rand 0.9.2", + "smallvec", + "spinning_top", + "web-time", ] [[package]] @@ -3241,15 +3319,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core", + "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" dependencies = [ "bytes", "fnv", @@ -3257,7 +3335,26 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.5.0", + "indexmap 2.11.4", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.3.1", + "indexmap 2.11.4", "slab", "tokio", "tokio-util", @@ -3290,9 +3387,6 @@ name = "hashbrown" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] [[package]] name = "hashbrown" @@ -3301,10 +3395,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", +] + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ "allocator-api2", + "equivalent", + "foldhash", "serde", ] +[[package]] +name = "hashbrown" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" + [[package]] name = "heck" version = "0.4.1" @@ -3319,18 +3429,21 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -dependencies = [ - "serde", -] + +[[package]] +name = "hex-conservative" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" [[package]] name = "hex-conservative" @@ -3347,6 +3460,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" +[[package]] +name = "hex-literal" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcaaec4551594c969335c98c903c1397853d4198408ea609190f420500f6be71" + [[package]] name = "hex_fmt" version = "0.3.0" @@ -3359,6 +3478,53 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" +[[package]] +name = "hickory-proto" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" +dependencies = [ + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner 0.6.1", + "futures-channel", + "futures-io", + "futures-util", + "idna 1.1.0", + "ipnet", + "once_cell", + "rand 0.9.2", + "ring 0.17.14", + "socket2 0.5.10", + "thiserror 2.0.16", + "tinyvec", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "hickory-resolver" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto", + "ipconfig", + "moka", + "once_cell", + "parking_lot", + "rand 0.9.2", + "resolv-conf", + "smallvec", + "thiserror 2.0.16", + "tokio", + "tracing", +] + [[package]] name = "hkdf" version = "0.12.4" @@ -3379,22 +3545,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", -] - -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -3410,9 +3565,9 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -3437,33 +3592,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http 1.3.1", ] [[package]] name = "http-body-util" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", - "futures-util", - "http 1.1.0", + "futures-core", + "http 1.3.1", "http-body 1.0.1", "pin-project-lite", ] -[[package]] -name = "http-range-header" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" - [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -3473,28 +3622,28 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "hyper" -version = "0.14.30" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.27", "http 0.2.12", "http-body 0.4.6", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -3503,19 +3652,22 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", - "http 1.1.0", + "futures-core", + "h2 0.4.12", + "http 1.3.1", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -3528,7 +3680,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73b7d8abf35697b81a825e386fc151e0d503e8cb5fcb93cc8669c376dfd6f278" dependencies = [ "hex", - "hyper 1.4.1", + "hyper 1.7.0", "hyper-util", "pin-project-lite", "tokio", @@ -3538,15 +3690,14 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", - "http 1.1.0", - "hyper 1.4.1", + "http 1.3.1", + "hyper 1.7.0", "hyper-util", - "rustls 0.23.14", + "rustls 0.23.32", "rustls-native-certs", "rustls-pki-types", "tokio", @@ -3556,18 +3707,20 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.9" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" dependencies = [ "bytes", "futures-channel", + "futures-core", "futures-util", - "http 1.1.0", + "http 1.3.1", "http-body 1.0.1", - "hyper 1.4.1", + "hyper 1.7.0", + "libc", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.6.0", "tokio", "tower-service", "tracing", @@ -3581,7 +3734,7 @@ checksum = "986c5ce3b994526b3cd75578e62554abd09f0899d6206de48b3e96ab34ccc8c7" dependencies = [ "hex", "http-body-util", - "hyper 1.4.1", + "hyper 1.7.0", "hyper-util", "pin-project-lite", "tokio", @@ -3590,16 +3743,17 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.61" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", - "windows-core 0.51.1", + "windows-core 0.58.0", ] [[package]] @@ -3611,6 +3765,12 @@ dependencies = [ "cc", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.2.3" @@ -3634,14 +3794,35 @@ dependencies = [ [[package]] name = "idna" -version = "0.5.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279259b0ac81c89d11c290495fdcfa96ea3643b7df311c138b6fe8ca5237f0f8" +dependencies = [ + "idna_mapping", "unicode-bidi", "unicode-normalization", ] +[[package]] +name = "idna_mapping" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11c13906586a4b339310541a274dd927aff6fcbb5b8e3af90634c4b31681c792" +dependencies = [ + "unicode-joining-type", +] + [[package]] name = "if-addrs" version = "0.10.2" @@ -3654,17 +3835,21 @@ 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", - "core-foundation", + "core-foundation 0.9.4", "fnv", "futures", "if-addrs", "ipnet", "log", + "netlink-packet-core", + "netlink-packet-route", + "netlink-proto", + "netlink-sys", "rtnetlink", "system-configuration", "tokio", @@ -3678,13 +3863,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" dependencies = [ "async-trait", - "attohttpc", + "attohttpc 0.24.1", "bytes", "futures", "http 0.2.12", - "hyper 0.14.30", + "hyper 0.14.32", "log", - "rand", + "rand 0.8.5", + "tokio", + "url", + "xmltree", +] + +[[package]] +name = "igd-next" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516893339c97f6011282d5825ac94fc1c7aad5cad26bdc2d0cee068c0bf97f97" +dependencies = [ + "async-trait", + "attohttpc 0.30.1", + "bytes", + "futures", + "http 1.3.1", + "http-body-util", + "hyper 1.7.0", + "hyper-util", + "log", + "rand 0.9.2", "tokio", "url", "xmltree", @@ -3700,23 +3906,43 @@ dependencies = [ ] [[package]] -name = "impl-serde" -version = "0.4.0" +name = "impl-codec" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +checksum = "2d40b9d5e17727407e55028eafc22b2dc68781786e6d7eb8a21103f5058e3a14" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-num-traits" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "803d15461ab0dcc56706adf266158acbc44ccf719bf7d0af30705f58b90a4b8c" +dependencies = [ + "integer-sqrt", + "num-traits", + "uint 0.10.0", +] + +[[package]] +name = "impl-serde" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a143eada6a1ec4aefa5049037a26a6d597bfd64f8c026d07b77133e02b7dd0b" dependencies = [ "serde", ] [[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.106", ] [[package]] @@ -3732,20 +3958,21 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.5.0" +version = "2.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.16.0", "serde", + "serde_core", ] [[package]] name = "inout" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ "block-padding", "generic-array 0.14.7", @@ -3769,6 +3996,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "io-uring" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" +dependencies = [ + "bitflags 2.9.4", + "cfg-if", + "libc", +] + [[package]] name = "ip_network" version = "0.4.1" @@ -3781,7 +4019,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.10", "widestring", "windows-sys 0.48.0", "winreg", @@ -3789,13 +4027,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" - -[[package]] -name = "is-terminal" -version = "0.4.10" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is_terminal_polyfill" @@ -3812,15 +4046,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.13.0" @@ -3831,96 +4056,130 @@ dependencies = [ ] [[package]] -name = "itoa" -version = "1.0.11" +name = "itertools" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "ittapi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b996fe614c41395cdaedf3cf408a9534851090959d90d54a535f675550b64b1" +dependencies = [ + "anyhow", + "ittapi-sys", + "log", +] + +[[package]] +name = "ittapi-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f5385394064fa2c886205dba02598013ce83d3e92d33dbdc0c52fe0e7bf4fc" +dependencies = [ + "cc", +] [[package]] name = "jobserver" -version = "0.1.32" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ + "getrandom 0.3.3", "libc", ] [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "852f13bec5eba4ba9afbeb93fd7c13fe56147f055939ae21c43a29a0ecb2702e" dependencies = [ + "once_cell", "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.16.3" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "367a292944c07385839818bb71c8d76611138e2dedb0677d035b8da21d29c78b" +checksum = "37b26c20e2178756451cfeb0661fb74c47dd5988cb7e3939de7e9241fd604d42" dependencies = [ "jsonrpsee-core", "jsonrpsee-proc-macros", "jsonrpsee-server", "jsonrpsee-types", + "tokio", "tracing", ] [[package]] name = "jsonrpsee-core" -version = "0.16.3" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5dde66c53d6dcdc8caea1874a45632ec0fcf5b437789f1e45766a1512ce803" +checksum = "456196007ca3a14db478346f58c7238028d55ee15c1df15115596e411ff27925" dependencies = [ - "anyhow", - "arrayvec", "async-trait", - "beef", - "futures-channel", + "bytes", "futures-util", - "globset", - "hyper 0.14.30", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", "jsonrpsee-types", - "parking_lot 0.12.3", - "rand", - "rustc-hash 1.1.0", + "parking_lot", + "rand 0.8.5", + "rustc-hash 2.1.1", "serde", "serde_json", - "soketto 0.7.1", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "tracing", ] [[package]] name = "jsonrpsee-proc-macros" -version = "0.16.3" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44e8ab85614a08792b9bff6c8feee23be78c98d0182d4c622c05256ab553892a" +checksum = "5e65763c942dfc9358146571911b0cd1c361c2d63e2d2305622d40d36376ca80" dependencies = [ - "heck 0.4.1", - "proc-macro-crate 1.3.1", + "heck 0.5.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.106", ] [[package]] name = "jsonrpsee-server" -version = "0.16.3" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4d945a6008c9b03db3354fb3c83ee02d2faa9f2e755ec1dfb69c3551b8f4ba" +checksum = "55e363146da18e50ad2b51a0a7925fc423137a0b1371af8235b1c231a0647328" dependencies = [ - "futures-channel", "futures-util", - "http 0.2.12", - "hyper 0.14.30", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.7.0", + "hyper-util", "jsonrpsee-core", "jsonrpsee-types", + "pin-project", + "route-recognizer", "serde", "serde_json", - "soketto 0.7.1", + "soketto", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-util", @@ -3930,16 +4189,14 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.3" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245ba8e5aa633dd1c1e4fae72bce06e71f42d34c14a2767c6b4d173b57bee5e5" +checksum = "08a8e70baf945b6b5752fc8eb38c918a48f1234daf11355e07106d963f860089" dependencies = [ - "anyhow", - "beef", + "http 1.3.1", "serde", "serde_json", - "thiserror 1.0.64", - "tracing", + "thiserror 1.0.69", ] [[package]] @@ -3991,21 +4248,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parking_lot 0.12.3", + "parking_lot", ] [[package]] name = "kvdb-rocksdb" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" +checksum = "e8beb5ce840610e5a945f0306f6e7a2d5b3e68ea3e64e9a4f081fa4ee5aa6525" dependencies = [ "kvdb", "num_cpus", - "parking_lot 0.12.3", + "parking_lot", "regex", - "rocksdb 0.21.0", - "smallvec", + "rocksdb", ] [[package]] @@ -4017,38 +4273,22 @@ dependencies = [ ] [[package]] -name = "lazycell" -version = "1.3.0" +name = "leb128fmt" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "leb128" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.159" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" - -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libm" -version = "0.2.8" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libp2p" @@ -4060,32 +4300,62 @@ dependencies = [ "either", "futures", "futures-timer", - "getrandom", + "getrandom 0.2.16", "instant", - "libp2p-allow-block-list", - "libp2p-connection-limits", - "libp2p-core", - "libp2p-dns", + "libp2p-allow-block-list 0.2.0", + "libp2p-connection-limits 0.2.1", + "libp2p-core 0.40.1", + "libp2p-dns 0.40.1", "libp2p-gossipsub", + "libp2p-identity", + "libp2p-mdns 0.44.0", + "libp2p-metrics 0.13.1", + "libp2p-noise 0.43.2", + "libp2p-quic 0.9.3", + "libp2p-request-response 0.25.3", + "libp2p-swarm 0.43.7", + "libp2p-tcp 0.40.1", + "libp2p-upnp 0.1.1", + "libp2p-yamux 0.44.1", + "multiaddr 0.18.2", + "pin-project", + "rw-stream-sink", + "thiserror 1.0.69", +] + +[[package]] +name = "libp2p" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce71348bf5838e46449ae240631117b487073d5f347c06d434caddcb91dceb5a" +dependencies = [ + "bytes", + "either", + "futures", + "futures-timer", + "getrandom 0.2.16", + "libp2p-allow-block-list 0.6.0", + "libp2p-connection-limits 0.6.0", + "libp2p-core 0.43.1", + "libp2p-dns 0.44.0", "libp2p-identify", "libp2p-identity", "libp2p-kad", - "libp2p-mdns", - "libp2p-metrics", - "libp2p-noise", + "libp2p-mdns 0.48.0", + "libp2p-metrics 0.17.0", + "libp2p-noise 0.46.1", "libp2p-ping", - "libp2p-quic", - "libp2p-request-response", - "libp2p-swarm", - "libp2p-tcp", - "libp2p-upnp", - "libp2p-wasm-ext", + "libp2p-quic 0.13.0", + "libp2p-request-response 0.29.0", + "libp2p-swarm 0.47.0", + "libp2p-tcp 0.44.0", + "libp2p-upnp 0.5.0", "libp2p-websocket", - "libp2p-yamux", - "multiaddr", + "libp2p-yamux 0.47.0", + "multiaddr 0.18.2", "pin-project", "rw-stream-sink", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] @@ -4094,24 +4364,46 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55b46558c5c0bf99d3e2a1a38fd54ff5476ca66dd1737b12466a1824dd219311" dependencies = [ - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.43.7", "void", ] +[[package]] +name = "libp2p-allow-block-list" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d16ccf824ee859ca83df301e1c0205270206223fd4b1f2e512a693e1912a8f4a" +dependencies = [ + "libp2p-core 0.43.1", + "libp2p-identity", + "libp2p-swarm 0.47.0", +] + [[package]] name = "libp2p-connection-limits" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" dependencies = [ - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.43.7", "void", ] +[[package]] +name = "libp2p-connection-limits" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18b8b607cf3bfa2f8c57db9c7d8569a315d5cc0a282e6bfd5ebfc0a9840b2a0" +dependencies = [ + "libp2p-core 0.43.1", + "libp2p-identity", + "libp2p-swarm 0.47.0", +] + [[package]] name = "libp2p-core" version = "0.40.1" @@ -4125,21 +4417,46 @@ dependencies = [ "instant", "libp2p-identity", "log", - "multiaddr", - "multihash 0.19.1", + "multiaddr 0.18.2", + "multihash 0.19.3", "multistream-select", "once_cell", - "parking_lot 0.12.3", + "parking_lot", "pin-project", "quick-protobuf", - "rand", + "rand 0.8.5", "rw-stream-sink", "smallvec", - "thiserror 1.0.64", - "unsigned-varint", + "thiserror 1.0.69", + "unsigned-varint 0.7.2", "void", ] +[[package]] +name = "libp2p-core" +version = "0.43.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d28e2d2def7c344170f5c6450c0dbe3dfef655610dbfde2f6ac28a527abbe36" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "libp2p-identity", + "multiaddr 0.18.2", + "multihash 0.19.3", + "multistream-select", + "parking_lot", + "pin-project", + "quick-protobuf", + "rand 0.8.5", + "rw-stream-sink", + "thiserror 2.0.16", + "tracing", + "unsigned-varint 0.8.0", + "web-time", +] + [[package]] name = "libp2p-dns" version = "0.40.1" @@ -4148,21 +4465,37 @@ checksum = "e6a18db73084b4da2871438f6239fef35190b05023de7656e877c18a00541a3b" dependencies = [ "async-trait", "futures", - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", "log", - "parking_lot 0.12.3", + "parking_lot", "smallvec", "trust-dns-resolver", ] +[[package]] +name = "libp2p-dns" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b770c1c8476736ca98c578cba4b505104ff8e842c2876b528925f9766379f9a" +dependencies = [ + "async-trait", + "futures", + "hickory-resolver", + "libp2p-core 0.43.1", + "libp2p-identity", + "parking_lot", + "smallvec", + "tracing", +] + [[package]] name = "libp2p-gossipsub" version = "0.45.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1f9624e2a843b655f1c1b8262b8d5de6f309413fca4d66f01bb0662429f84dc" dependencies = [ - "asynchronous-codec", + "asynchronous-codec 0.6.2", "base64 0.21.7", "byteorder", "bytes", @@ -4170,92 +4503,88 @@ dependencies = [ "fnv", "futures", "futures-ticker", - "getrandom", + "getrandom 0.2.16", "hex_fmt", "instant", - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.43.7", "log", - "prometheus-client", + "prometheus-client 0.21.2", "quick-protobuf", - "quick-protobuf-codec", - "rand", + "quick-protobuf-codec 0.2.0", + "rand 0.8.5", "regex", "sha2", "smallvec", - "unsigned-varint", + "unsigned-varint 0.7.2", "void", ] [[package]] name = "libp2p-identify" -version = "0.43.1" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a96638a0a176bec0a4bcaebc1afa8cf909b114477209d7456ade52c61cd9cd" +checksum = "8ab792a8b68fdef443a62155b01970c81c3aadab5e659621b063ef252a8e65e8" dependencies = [ - "asynchronous-codec", + "asynchronous-codec 0.7.0", "either", "futures", "futures-bounded", "futures-timer", - "libp2p-core", + "libp2p-core 0.43.1", "libp2p-identity", - "libp2p-swarm", - "log", - "lru", + "libp2p-swarm 0.47.0", "quick-protobuf", - "quick-protobuf-codec", + "quick-protobuf-codec 0.3.1", "smallvec", - "thiserror 1.0.64", - "void", + "thiserror 2.0.16", + "tracing", ] [[package]] name = "libp2p-identity" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" +checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" dependencies = [ "bs58", "ed25519-dalek", "hkdf", - "multihash 0.19.1", + "multihash 0.19.3", "quick-protobuf", - "rand", + "rand 0.8.5", "sha2", - "thiserror 1.0.64", + "thiserror 2.0.16", "tracing", "zeroize", ] [[package]] name = "libp2p-kad" -version = "0.44.6" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ea178dabba6dde6ffc260a8e0452ccdc8f79becf544946692fff9d412fc29d" +checksum = "13d3fd632a5872ec804d37e7413ceea20588f69d027a0fa3c46f82574f4dee60" dependencies = [ - "arrayvec", - "asynchronous-codec", + "asynchronous-codec 0.7.0", "bytes", "either", "fnv", "futures", + "futures-bounded", "futures-timer", - "instant", - "libp2p-core", + "libp2p-core 0.43.1", "libp2p-identity", - "libp2p-swarm", - "log", + "libp2p-swarm 0.47.0", "quick-protobuf", - "quick-protobuf-codec", - "rand", + "quick-protobuf-codec 0.3.1", + "rand 0.8.5", "sha2", "smallvec", - "thiserror 1.0.64", - "uint", - "unsigned-varint", - "void", + "thiserror 2.0.16", + "tracing", + "uint 0.10.0", + "web-time", ] [[package]] @@ -4267,18 +4596,37 @@ dependencies = [ "data-encoding", "futures", "if-watch", - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.43.7", "log", - "rand", + "rand 0.8.5", "smallvec", - "socket2 0.5.7", + "socket2 0.5.10", "tokio", "trust-dns-proto 0.22.0", "void", ] +[[package]] +name = "libp2p-mdns" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c66872d0f1ffcded2788683f76931be1c52e27f343edb93bc6d0bcd8887be443" +dependencies = [ + "futures", + "hickory-proto", + "if-watch", + "libp2p-core 0.43.1", + "libp2p-identity", + "libp2p-swarm 0.47.0", + "rand 0.8.5", + "smallvec", + "socket2 0.5.10", + "tokio", + "tracing", +] + [[package]] name = "libp2p-metrics" version = "0.13.1" @@ -4286,15 +4634,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "239ba7d28f8d0b5d77760dc6619c05c7e88e74ec8fbbe97f856f20a56745e620" dependencies = [ "instant", - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-gossipsub", + "libp2p-identity", + "libp2p-swarm 0.43.7", + "once_cell", + "prometheus-client 0.21.2", +] + +[[package]] +name = "libp2p-metrics" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "805a555148522cb3414493a5153451910cb1a146c53ffbf4385708349baf62b7" +dependencies = [ + "futures", + "libp2p-core 0.43.1", "libp2p-identify", "libp2p-identity", "libp2p-kad", "libp2p-ping", - "libp2p-swarm", - "once_cell", - "prometheus-client", + "libp2p-swarm 0.47.0", + "pin-project", + "prometheus-client 0.23.1", + "web-time", ] [[package]] @@ -4306,38 +4669,59 @@ dependencies = [ "bytes", "curve25519-dalek", "futures", - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", "log", - "multiaddr", - "multihash 0.19.1", + "multiaddr 0.18.2", + "multihash 0.19.3", "once_cell", "quick-protobuf", - "rand", + "rand 0.8.5", "sha2", "snow", "static_assertions", - "thiserror 1.0.64", + "thiserror 1.0.69", + "x25519-dalek", + "zeroize", +] + +[[package]] +name = "libp2p-noise" +version = "0.46.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc73eacbe6462a0eb92a6527cac6e63f02026e5407f8831bde8293f19217bfbf" +dependencies = [ + "asynchronous-codec 0.7.0", + "bytes", + "futures", + "libp2p-core 0.43.1", + "libp2p-identity", + "multiaddr 0.18.2", + "multihash 0.19.3", + "quick-protobuf", + "rand 0.8.5", + "snow", + "static_assertions", + "thiserror 2.0.16", + "tracing", "x25519-dalek", "zeroize", ] [[package]] name = "libp2p-ping" -version = "0.43.1" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e702d75cd0827dfa15f8fd92d15b9932abe38d10d21f47c50438c71dd1b5dae3" +checksum = "74bb7fcdfd9fead4144a3859da0b49576f171a8c8c7c0bfc7c541921d25e60d3" dependencies = [ - "either", "futures", "futures-timer", - "instant", - "libp2p-core", + "libp2p-core 0.43.1", "libp2p-identity", - "libp2p-swarm", - "log", - "rand", - "void", + "libp2p-swarm 0.47.0", + "rand 0.8.5", + "tracing", + "web-time", ] [[package]] @@ -4350,20 +4734,42 @@ dependencies = [ "futures", "futures-timer", "if-watch", - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", - "libp2p-tls", + "libp2p-tls 0.2.1", "log", - "parking_lot 0.12.3", - "quinn", - "rand", + "parking_lot", + "quinn 0.10.2", + "rand 0.8.5", "ring 0.16.20", "rustls 0.21.12", - "socket2 0.5.7", - "thiserror 1.0.64", + "socket2 0.5.10", + "thiserror 1.0.69", "tokio", ] +[[package]] +name = "libp2p-quic" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dc448b2de9f4745784e3751fe8bc6c473d01b8317edd5ababcb0dec803d843f" +dependencies = [ + "futures", + "futures-timer", + "if-watch", + "libp2p-core 0.43.1", + "libp2p-identity", + "libp2p-tls 0.6.2", + "quinn 0.11.9", + "rand 0.8.5", + "ring 0.17.14", + "rustls 0.23.32", + "socket2 0.5.10", + "thiserror 2.0.16", + "tokio", + "tracing", +] + [[package]] name = "libp2p-request-response" version = "0.25.3" @@ -4373,15 +4779,32 @@ dependencies = [ "async-trait", "futures", "instant", - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", - "libp2p-swarm", + "libp2p-swarm 0.43.7", "log", - "rand", + "rand 0.8.5", "smallvec", "void", ] +[[package]] +name = "libp2p-request-response" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9f1cca83488b90102abac7b67d5c36fc65bc02ed47620228af7ed002e6a1478" +dependencies = [ + "async-trait", + "futures", + "futures-bounded", + "libp2p-core 0.43.1", + "libp2p-identity", + "libp2p-swarm 0.47.0", + "rand 0.8.5", + "smallvec", + "tracing", +] + [[package]] name = "libp2p-swarm" version = "0.43.7" @@ -4393,18 +4816,40 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", - "libp2p-swarm-derive", + "libp2p-swarm-derive 0.33.0", "log", "multistream-select", "once_cell", - "rand", + "rand 0.8.5", "smallvec", "tokio", "void", ] +[[package]] +name = "libp2p-swarm" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aa762e5215919a34e31c35d4b18bf2e18566ecab7f8a3d39535f4a3068f8b62" +dependencies = [ + "either", + "fnv", + "futures", + "futures-timer", + "libp2p-core 0.43.1", + "libp2p-identity", + "libp2p-swarm-derive 0.35.1", + "lru", + "multistream-select", + "rand 0.8.5", + "smallvec", + "tokio", + "tracing", + "web-time", +] + [[package]] name = "libp2p-swarm-derive" version = "0.33.0" @@ -4412,10 +4857,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4d5ec2a3df00c7836d7696c136274c9c59705bac69133253696a6c932cd1d74" dependencies = [ "heck 0.4.1", - "proc-macro-warning", + "proc-macro-warning 0.4.2", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", +] + +[[package]] +name = "libp2p-swarm-derive" +version = "0.35.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd297cf53f0cb3dee4d2620bb319ae47ef27c702684309f682bdb7e55a18ae9c" +dependencies = [ + "heck 0.5.0", + "quote", + "syn 2.0.106", ] [[package]] @@ -4428,13 +4884,29 @@ dependencies = [ "futures-timer", "if-watch", "libc", - "libp2p-core", + "libp2p-core 0.40.1", "libp2p-identity", "log", - "socket2 0.5.7", + "socket2 0.5.10", "tokio", ] +[[package]] +name = "libp2p-tcp" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65b4e030c52c46c8d01559b2b8ca9b7c4185f10576016853129ca1fe5cd1a644" +dependencies = [ + "futures", + "futures-timer", + "if-watch", + "libc", + "libp2p-core 0.43.1", + "socket2 0.5.10", + "tokio", + "tracing", +] + [[package]] name = "libp2p-tls" version = "0.2.1" @@ -4442,15 +4914,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8218d1d5482b122ccae396bbf38abdcb283ecc96fa54760e1dfd251f0546ac61" dependencies = [ "futures", - "futures-rustls", - "libp2p-core", + "futures-rustls 0.24.0", + "libp2p-core 0.40.1", "libp2p-identity", - "rcgen", + "rcgen 0.10.0", "ring 0.16.20", "rustls 0.21.12", "rustls-webpki 0.101.7", - "thiserror 1.0.64", - "x509-parser", + "thiserror 1.0.69", + "x509-parser 0.15.1", + "yasna", +] + +[[package]] +name = "libp2p-tls" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96ff65a82e35375cbc31ebb99cacbbf28cb6c4fefe26bf13756ddcf708d40080" +dependencies = [ + "futures", + "futures-rustls 0.26.0", + "libp2p-core 0.43.1", + "libp2p-identity", + "rcgen 0.13.2", + "ring 0.17.14", + "rustls 0.23.32", + "rustls-webpki 0.103.6", + "thiserror 2.0.16", + "x509-parser 0.17.0", "yasna", ] @@ -4462,47 +4953,48 @@ checksum = "82775a47b34f10f787ad3e2a22e2c1541e6ebef4fe9f28f3ac553921554c94c1" dependencies = [ "futures", "futures-timer", - "igd-next", - "libp2p-core", - "libp2p-swarm", + "igd-next 0.14.3", + "libp2p-core 0.40.1", + "libp2p-swarm 0.43.7", "log", "tokio", "void", ] [[package]] -name = "libp2p-wasm-ext" -version = "0.40.0" +name = "libp2p-upnp" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e5d8e3a9e07da0ef5b55a9f26c009c8fb3c725d492d8bb4b431715786eea79c" +checksum = "4757e65fe69399c1a243bbb90ec1ae5a2114b907467bf09f3575e899815bb8d3" dependencies = [ "futures", - "js-sys", - "libp2p-core", - "send_wrapper", - "wasm-bindgen", - "wasm-bindgen-futures", + "futures-timer", + "igd-next 0.16.2", + "libp2p-core 0.43.1", + "libp2p-swarm 0.47.0", + "tokio", + "tracing", ] [[package]] name = "libp2p-websocket" -version = "0.42.2" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004ee9c4a4631435169aee6aad2f62e3984dc031c43b6d29731e8e82a016c538" +checksum = "520e29066a48674c007bc11defe5dce49908c24cafd8fad2f5e1a6a8726ced53" dependencies = [ "either", "futures", - "futures-rustls", - "libp2p-core", + "futures-rustls 0.26.0", + "libp2p-core 0.43.1", "libp2p-identity", - "log", - "parking_lot 0.12.3", + "parking_lot", "pin-project-lite", "rw-stream-sink", - "soketto 0.8.0", - "thiserror 1.0.64", + "soketto", + "thiserror 2.0.16", + "tracing", "url", - "webpki-roots", + "webpki-roots 0.26.11", ] [[package]] @@ -4512,58 +5004,63 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eedcb62824c4300efb9cfd4e2a6edaf3ca097b9e68b36dabe45a44469fd6a85" dependencies = [ "futures", - "libp2p-core", + "libp2p-core 0.40.1", "log", - "thiserror 1.0.64", - "yamux", + "thiserror 1.0.69", + "yamux 0.12.1", +] + +[[package]] +name = "libp2p-yamux" +version = "0.47.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f15df094914eb4af272acf9adaa9e287baa269943f32ea348ba29cfb9bfc60d8" +dependencies = [ + "either", + "futures", + "libp2p-core 0.43.1", + "thiserror 2.0.16", + "tracing", + "yamux 0.12.1", + "yamux 0.13.6", ] [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.4", "libc", ] [[package]] name = "librocksdb-sys" -version = "0.16.0+8.10.0" +version = "0.17.3+10.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce3d60bc059831dc1c83903fb45c103f75db65c5a7bf22272764d9cc683e348c" +checksum = "cef2a00ee60fe526157c9023edab23943fae1ce2ab6f4abb2a807c1746835de9" dependencies = [ "bindgen", "bzip2-sys", "cc", - "glob", "libc", "libz-sys", - "lz4-sys", + "tikv-jemalloc-sys", "zstd-sys", ] [[package]] name = "libz-sys" -version = "1.1.20" +version = "1.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" dependencies = [ "cc", "pkg-config", "vcpkg", ] -[[package]] -name = "link-cplusplus" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9" -dependencies = [ - "cc", -] - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -4572,33 +5069,33 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linked_hash_set" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" +checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2" dependencies = [ "linked-hash-map", ] [[package]] name = "linregress" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4de04dcecc58d366391f9920245b85ffa684558a5ef6e7736e754347c3aea9c2" +checksum = "a9eda9dcf4f2a99787827661f312ac3219292549c2ee992bf9a6248ffb066bf7" dependencies = [ "nalgebra", ] [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -4606,9 +5103,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "loom" @@ -4620,16 +5117,16 @@ dependencies = [ "generator", "scoped-tls", "tracing", - "tracing-subscriber 0.3.17", + "tracing-subscriber", ] [[package]] name = "lru" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.5", ] [[package]] @@ -4642,10 +5139,16 @@ dependencies = [ ] [[package]] -name = "lz4" -version = "1.28.0" +name = "lru-slab" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d1febb2b4a79ddd1980eede06a8f7902197960aa0383ffcfdd62fe723036725" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "lz4" +version = "1.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" dependencies = [ "lz4-sys", ] @@ -4661,84 +5164,80 @@ dependencies = [ ] [[package]] -name = "mach" -version = "0.3.2" +name = "mach2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" dependencies = [ "libc", ] [[package]] -name = "macro_magic" -version = "0.4.2" +name = "macro-string" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aee866bfee30d2d7e83835a4574aad5b45adba4cc807f2a3bbba974e5d4383c9" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "macro_magic" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0625ea4e11e9b0f45e650aa92a94e83719433992dcafd5f130c6435d2ea67107" dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "macro_magic_core" -version = "0.4.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e766a20fd9c72bab3e1e64ed63f36bd08410e75803813df210d1ce297d7ad00" +checksum = "10a0d941b46232df6f549002d493fc30b720b617b5d7bfb58febda386c2c5abe" dependencies = [ "const-random", "derive-syn-parse", "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "macro_magic_core_macros" -version = "0.4.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d710e1214dffbab3b5dacb21475dde7d6ed84c69ff722b3a47a782668d44fbac" +checksum = "31e7b9b365f39f573850b21c1e241234e29426ee8b0d6ee13637f714fad7390f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "macro_magic_macros" -version = "0.4.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fb85ec1620619edf2984a7693497d4ec88a9665d8b87e942856884c92dbf2a" +checksum = "54256681b01f4e5b038a619b24896f8c76d61995075909226d4e6bcf60bad525" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.87", -] - -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - -[[package]] -name = "matchers" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" -dependencies = [ - "regex-automata 0.1.10", + "syn 2.0.106", ] [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -4747,9 +5246,9 @@ version = "0.1.10" [[package]] name = "matrixmultiply" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a" +checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" dependencies = [ "autocfg", "rawpointer", @@ -4767,15 +5266,15 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memfd" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" +checksum = "ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227" dependencies = [ "rustix", ] @@ -4790,21 +5289,23 @@ dependencies = [ ] [[package]] -name = "memoffset" -version = "0.9.1" +name = "memmap2" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" dependencies = [ - "autocfg", + "libc", ] [[package]] name = "memory-db" -version = "0.32.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" +checksum = "7e300c54e3239a86f9c61cc63ab0f03862eb40b1c6e065dc6fd6ceaeff6da93d" dependencies = [ + "foldhash", "hash-db", + "hashbrown 0.15.5", ] [[package]] @@ -4815,7 +5316,7 @@ checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ "byteorder", "keccak", - "rand_core", + "rand_core 0.6.4", "zeroize", ] @@ -4834,10 +5335,10 @@ dependencies = [ "crypto-bigint", "ff", "ff-group-tests", - "generic-array 1.1.0", + "generic-array 1.2.0", "group", "hex", - "rand_core", + "rand_core 0.6.4", "rustversion", "sha3", "subtle", @@ -4852,35 +5353,33 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ - "hermit-abi", "libc", - "wasi", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] name = "mockall" -version = "0.11.4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" +checksum = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2" dependencies = [ "cfg-if", "downcast", "fragile", - "lazy_static", "mockall_derive", "predicates", "predicates-tree", @@ -4888,14 +5387,14 @@ dependencies = [ [[package]] name = "mockall_derive" -version = "0.11.4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" +checksum = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898" dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.106", ] [[package]] @@ -4913,8 +5412,8 @@ dependencies = [ "hex", "minimal-ed448", "multiexp", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "schnorr-signatures", "serde_json", "subtle", @@ -4922,6 +5421,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "moka" +version = "0.12.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" +dependencies = [ + "crossbeam-channel", + "crossbeam-epoch", + "crossbeam-utils", + "loom", + "parking_lot", + "portable-atomic", + "rustc_version 0.4.1", + "smallvec", + "tagptr", + "thiserror 1.0.69", + "uuid", +] + [[package]] name = "monero-address" version = "0.1.0" @@ -4964,7 +5482,7 @@ dependencies = [ "monero-generators", "monero-io", "monero-primitives", - "rand_core", + "rand_core 0.6.4", "std-shims", "thiserror 2.0.16", "zeroize", @@ -4983,8 +5501,8 @@ dependencies = [ "monero-generators", "monero-io", "monero-primitives", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "std-shims", "subtle", "thiserror 2.0.16", @@ -5035,7 +5553,7 @@ version = "0.1.4-alpha" source = "git+https://github.com/monero-oxide/monero-oxide?rev=32e6b5fe5ba9e1ea3e68da882550005122a11d22#32e6b5fe5ba9e1ea3e68da882550005122a11d22" dependencies = [ "curve25519-dalek", - "hex-literal", + "hex-literal 1.0.0", "monero-borromean", "monero-bulletproofs", "monero-clsag", @@ -5103,9 +5621,9 @@ dependencies = [ "monero-clsag", "monero-oxide", "monero-rpc", - "rand", - "rand_chacha", - "rand_core", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "rand_distr", "std-shims", "thiserror 2.0.16", @@ -5114,20 +5632,38 @@ dependencies = [ [[package]] name = "multiaddr" -version = "0.18.1" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b852bc02a2da5feed68cd14fa50d0774b92790a5bdbfa932a813926c8472070" +checksum = "2b36f567c7099511fa8612bbbb52dda2419ce0bdbacf31714e3a5ffdb766d3bd" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "log", + "multibase", + "multihash 0.17.0", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.7.2", +] + +[[package]] +name = "multiaddr" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" dependencies = [ "arrayref", "byteorder", "data-encoding", "libp2p-identity", "multibase", - "multihash 0.19.1", + "multihash 0.19.3", "percent-encoding", "serde", "static_assertions", - "unsigned-varint", + "unsigned-varint 0.8.0", "url", ] @@ -5150,7 +5686,7 @@ dependencies = [ "ff", "group", "k256", - "rand_core", + "rand_core 0.6.4", "rustversion", "std-shims", "zeroize", @@ -5158,94 +5694,46 @@ dependencies = [ [[package]] name = "multihash" -version = "0.18.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" +checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", "core2", "digest 0.10.7", - "multihash-derive 0.8.0", + "multihash-derive", "sha2", - "sha3", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] name = "multihash" -version = "0.19.1" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" dependencies = [ "core2", - "unsigned-varint", -] - -[[package]] -name = "multihash-codetable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d815ecb3c8238d00647f8630ede7060a642c9f704761cd6082cb4028af6935" -dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", - "core2", - "digest 0.10.7", - "multihash-derive 0.9.0", - "ripemd", - "sha1", - "sha2", - "sha3", - "strobe-rs", + "unsigned-varint 0.8.0", ] [[package]] name = "multihash-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" +checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 1.1.3", "proc-macro-error", "proc-macro2", "quote", "syn 1.0.109", - "synstructure", -] - -[[package]] -name = "multihash-derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "890e72cb7396cb99ed98c1246a97b243cc16394470d94e0bc8b0c2c11d84290e" -dependencies = [ - "core2", - "multihash 0.19.1", - "multihash-derive-impl", -] - -[[package]] -name = "multihash-derive-impl" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38685e08adb338659871ecfc6ee47ba9b22dcc8abcf6975d379cc49145c3040" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] name = "multimap" -version = "0.8.3" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" [[package]] name = "multistream-select" @@ -5258,18 +5746,17 @@ dependencies = [ "log", "pin-project", "smallvec", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] name = "nalgebra" -version = "0.32.6" +version = "0.33.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5c17de023a86f59ed79891b2e5d5a94c705dbe904a5b5c9c952ea6221b03e4" +checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b" dependencies = [ "approx", "matrixmultiply", - "nalgebra-macros", "num-complex", "num-rational", "num-traits", @@ -5277,43 +5764,31 @@ dependencies = [ "typenum", ] -[[package]] -name = "nalgebra-macros" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - [[package]] name = "names" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" dependencies = [ - "rand", + "rand 0.8.5", ] [[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", @@ -5332,29 +5807,28 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror 1.0.64", + "thiserror 1.0.69", ] [[package]] name = "netlink-proto" -version = "0.10.0" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" +checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60" dependencies = [ "bytes", "futures", "log", "netlink-packet-core", "netlink-sys", - "thiserror 1.0.64", - "tokio", + "thiserror 2.0.16", ] [[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", "futures", @@ -5365,9 +5839,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.24.3" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ "bitflags 1.3.2", "cfg-if", @@ -5391,19 +5865,24 @@ dependencies = [ ] [[package]] -name = "normalize-line-endings" +name = "nonempty" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" + +[[package]] +name = "nonzero_ext" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" dependencies = [ - "overload", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -5473,9 +5952,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ "hermit-abi", "libc", @@ -5483,42 +5962,43 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "object" -version = "0.31.1" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ - "crc32fast", - "hashbrown 0.13.2", - "indexmap 1.9.3", "memchr", ] [[package]] name = "object" -version = "0.36.5" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ + "crc32fast", + "hashbrown 0.15.5", + "indexmap 2.11.4", "memchr", ] @@ -5528,14 +6008,27 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "asn1-rs", + "asn1-rs 0.5.2", +] + +[[package]] +name = "oid-registry" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f40cff3dde1b6087cc5d5f5d4d65712f34016a03ed60e9c08dcc392736b5b7" +dependencies = [ + "asn1-rs 0.7.1", ] [[package]] name = "once_cell" -version = "1.20.2" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +dependencies = [ + "critical-section", + "portable-atomic", +] [[package]] name = "opaque-debug" @@ -5545,20 +6038,14 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl-probe" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "option-ext" version = "0.2.0" -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "p256" version = "0.13.2" @@ -5581,22 +6068,20 @@ dependencies = [ [[package]] name = "pallet-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", - "scale-info", "sp-runtime", - "sp-std", ] [[package]] name = "pallet-babe" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5606,21 +6091,18 @@ dependencies = [ "pallet-session", "pallet-timestamp", "parity-scale-codec", - "scale-info", - "sp-application-crypto", "sp-consensus-babe", "sp-core", "sp-io", "sp-runtime", "sp-session", "sp-staking", - "sp-std", ] [[package]] name = "pallet-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-benchmarking", "frame-support", @@ -5629,21 +6111,29 @@ dependencies = [ "pallet-authorship", "pallet-session", "parity-scale-codec", - "scale-info", - "sp-application-crypto", "sp-consensus-grandpa", "sp-core", "sp-io", "sp-runtime", "sp-session", "sp-staking", - "sp-std", ] [[package]] name = "pallet-session" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" +dependencies = [ + "frame-support", + "frame-system", + "pallet-session-original", + "parity-scale-codec", +] + +[[package]] +name = "pallet-session-original" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-support", "frame-system", @@ -5651,54 +6141,48 @@ dependencies = [ "log", "pallet-timestamp", "parity-scale-codec", - "scale-info", "sp-core", "sp-io", "sp-runtime", "sp-session", "sp-staking", - "sp-std", + "sp-state-machine", "sp-trie", ] [[package]] name = "pallet-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "40.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "parity-scale-codec", - "scale-info", - "sp-inherents", - "sp-io", "sp-runtime", - "sp-std", + "sp-storage", "sp-timestamp", ] [[package]] name = "pallet-transaction-payment" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", - "scale-info", "serde", - "sp-core", "sp-io", "sp-runtime", - "sp-std", ] [[package]] name = "pallet-transaction-payment-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "44.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5713,8 +6197,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5723,6 +6207,19 @@ dependencies = [ "sp-weights", ] +[[package]] +name = "parity-bip39" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" +dependencies = [ + "bitcoin_hashes 0.13.0", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "unicode-normalization", +] + [[package]] name = "parity-db" version = "0.4.13" @@ -5736,39 +6233,62 @@ dependencies = [ "libc", "log", "lz4", - "memmap2", - "parking_lot 0.12.3", - "rand", - "siphasher", + "memmap2 0.5.10", + "parking_lot", + "rand 0.8.5", + "siphasher 0.3.11", + "snap", + "winapi", +] + +[[package]] +name = "parity-db" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6985a45b0597d68448dac9db2907f9f72bbaf63fe3383d4ba15f99096c87212f" +dependencies = [ + "blake2", + "crc32fast", + "fs2", + "hex", + "libc", + "log", + "lz4", + "memmap2 0.9.8", + "parking_lot", + "rand 0.9.2", + "siphasher 1.0.1", "snap", "winapi", ] [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" dependencies = [ "arrayvec", "bitvec", "byte-slice-cast", "bytes", + "const_format", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.106", ] [[package]] @@ -5785,33 +6305,19 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.11.2" -dependencies = [ - "parking_lot 0.12.3", -] - -[[package]] -name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", - "parking_lot_core 0.9.10", + "parking_lot_core", ] [[package]] name = "parking_lot_core" -version = "0.8.6" -dependencies = [ - "parking_lot_core 0.9.10", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -5822,20 +6328,9 @@ dependencies = [ [[package]] name = "partial_sort" -version = "0.2.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" - -[[package]] -name = "password-hash" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" -dependencies = [ - "base64ct", - "rand_core", - "subtle", -] +checksum = "911e0f25a1142e16a3ad3e16b15508823fe46a4f503c59bb4bcf61d5c467a06a" [[package]] name = "pasta_curves" @@ -5847,7 +6342,7 @@ dependencies = [ "ff", "group", "lazy_static", - "rand", + "rand 0.8.5", "static_assertions", "subtle", ] @@ -5865,17 +6360,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "hmac", - "password-hash", -] - [[package]] name = "pem" version = "1.1.1" @@ -5886,57 +6370,67 @@ dependencies = [ ] [[package]] -name = "percent-encoding" -version = "2.3.1" +name = "pem" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" +dependencies = [ + "base64 0.22.1", + "serde", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.7.13" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +checksum = "21e0a3a33733faeaf8651dfee72dd0f388f0c8e5ad496a3478fa5a922f49cfa8" dependencies = [ "memchr", - "thiserror 1.0.64", + "thiserror 2.0.16", "ucd-trie", ] [[package]] name = "petgraph" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.5.0", + "indexmap 2.11.4", ] [[package]] name = "pin-project" -version = "1.1.6" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.6" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -5956,23 +6450,22 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polling" -version = "3.7.1" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi", "pin-project-lite", "rustix", - "tracing", - "windows-sys 0.52.0", + "windows-sys 0.61.0", ] [[package]] @@ -5998,6 +6491,24 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "postcard" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "serde", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -6006,38 +6517,34 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] [[package]] name = "predicates" -version = "2.1.5" +version = "3.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" +checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" dependencies = [ - "difflib", - "float-cmp", - "itertools 0.10.5", - "normalize-line-endings", + "anstyle", "predicates-core", - "regex", ] [[package]] name = "predicates-core" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" +checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" [[package]] name = "predicates-tree" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" +checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" dependencies = [ "predicates-core", "termtree", @@ -6045,12 +6552,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.25" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 1.0.109", + "syn 2.0.106", ] [[package]] @@ -6069,29 +6576,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", - "impl-codec", + "impl-codec 0.6.0", + "uint 0.9.5", +] + +[[package]] +name = "primitive-types" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5" +dependencies = [ + "fixed-hash", + "impl-codec 0.7.1", + "impl-num-traits", "impl-serde", "scale-info", - "uint", + "uint 0.10.0", ] [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ - "once_cell", - "toml_edit 0.19.15", + "thiserror 1.0.69", + "toml 0.5.11", ] [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit 0.22.20", + "toml_edit", ] [[package]] @@ -6137,7 +6656,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -6148,30 +6667,41 @@ checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", +] + +[[package]] +name = "proc-macro-warning" +version = "1.84.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75eea531cfcd120e0851a3f8aed42c4841f78c889eefafd96339c72677ae42c3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] [[package]] name = "prometheus" -version = "0.13.4" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +checksum = "3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a" dependencies = [ "cfg-if", "fnv", "lazy_static", "memchr", - "parking_lot 0.12.3", - "thiserror 1.0.64", + "parking_lot", + "thiserror 2.0.16", ] [[package]] @@ -6182,7 +6712,19 @@ checksum = "3c99afa9a01501019ac3a14d71d9f94050346f55ca471ce90c799a15c58f61e2" dependencies = [ "dtoa", "itoa", - "parking_lot 0.12.3", + "parking_lot", + "prometheus-client-derive-encode", +] + +[[package]] +name = "prometheus-client" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf41c1a7c32ed72abe5082fb19505b969095c12da9f5732a4bc9878757fd087c" +dependencies = [ + "dtoa", + "itoa", + "parking_lot", "prometheus-client-derive-encode", ] @@ -6194,24 +6736,24 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "proptest" -version = "1.5.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +checksum = "2bb0be07becd10686a0bb407298fb425360a5c44a663774406340c59a22de4ce" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.6.0", + "bitflags 2.9.4", "lazy_static", "num-traits", - "rand", - "rand_chacha", + "rand 0.9.2", + "rand_chacha 0.9.0", "rand_xorshift", - "regex-syntax 0.8.5", + "regex-syntax", "rusty-fork", "tempfile", "unarray", @@ -6219,9 +6761,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.9" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", "prost-derive", @@ -6229,55 +6771,82 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.9" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" dependencies = [ - "bytes", - "heck 0.4.1", + "heck 0.5.0", "itertools 0.10.5", - "lazy_static", "log", "multimap", + "once_cell", "petgraph", "prettyplease", "prost", "prost-types", "regex", - "syn 1.0.109", + "syn 2.0.106", "tempfile", - "which", ] [[package]] name = "prost-derive" -version = "0.11.9" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" dependencies = [ "anyhow", "itertools 0.10.5", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.106", ] [[package]] name = "prost-types" -version = "0.11.9" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ "prost", ] [[package]] -name = "psm" -version = "0.1.23" +name = "pulley-interpreter" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" +checksum = "8f7159de445954dbe57b9203601251a01fea463ee36d1a89a0aeccc7c5325776" dependencies = [ - "cc", + "cranelift-bitset", + "log", + "pulley-macros", + "wasmtime-internal-math", +] + +[[package]] +name = "pulley-macros" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da6890d68b9b1ad87612dd8b7df836a53261df8223295a39a46e63a905a352f2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "quanta" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi 0.11.1+wasi-snapshot-preview1", + "web-sys", + "winapi", ] [[package]] @@ -6301,11 +6870,24 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" dependencies = [ - "asynchronous-codec", + "asynchronous-codec 0.6.2", "bytes", "quick-protobuf", - "thiserror 1.0.64", - "unsigned-varint", + "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", + "bytes", + "quick-protobuf", + "thiserror 1.0.69", + "unsigned-varint 0.8.0", ] [[package]] @@ -6317,15 +6899,36 @@ dependencies = [ "bytes", "futures-io", "pin-project-lite", - "quinn-proto", - "quinn-udp", + "quinn-proto 0.10.6", + "quinn-udp 0.4.1", "rustc-hash 1.1.0", "rustls 0.21.12", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "tracing", ] +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "futures-io", + "pin-project-lite", + "quinn-proto 0.11.13", + "quinn-udp 0.5.14", + "rustc-hash 2.1.1", + "rustls 0.23.32", + "socket2 0.6.0", + "thiserror 2.0.16", + "tokio", + "tracing", + "web-time", +] + [[package]] name = "quinn-proto" version = "0.10.6" @@ -6333,16 +6936,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" dependencies = [ "bytes", - "rand", + "rand 0.8.5", "ring 0.16.20", "rustc-hash 1.1.0", "rustls 0.21.12", "slab", - "thiserror 1.0.64", + "thiserror 1.0.69", "tinyvec", "tracing", ] +[[package]] +name = "quinn-proto" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" +dependencies = [ + "bytes", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.2", + "ring 0.17.14", + "rustc-hash 2.1.1", + "rustls 0.23.32", + "rustls-pki-types", + "slab", + "thiserror 2.0.16", + "tinyvec", + "tracing", + "web-time", +] + [[package]] name = "quinn-udp" version = "0.4.1" @@ -6351,20 +6975,40 @@ checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" dependencies = [ "bytes", "libc", - "socket2 0.5.7", + "socket2 0.5.10", "tracing", "windows-sys 0.48.0", ] [[package]] -name = "quote" -version = "1.0.37" +name = "quinn-udp" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2 0.6.0", + "tracing", + "windows-sys 0.60.2", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "radium" version = "0.7.0" @@ -6378,11 +7022,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "serde", ] +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -6390,7 +7044,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -6399,7 +7063,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", ] [[package]] @@ -6409,7 +7082,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -6418,16 +7091,25 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "rand_xorshift" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core", + "rand_core 0.9.3", +] + +[[package]] +name = "raw-cpuid" +version = "11.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" +dependencies = [ + "bitflags 2.9.4", ] [[package]] @@ -6438,9 +7120,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -6448,9 +7130,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -6462,19 +7144,32 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ - "pem", + "pem 1.1.1", "ring 0.16.20", "time", "yasna", ] [[package]] -name = "redox_syscall" -version = "0.5.7" +name = "rcgen" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" +checksum = "75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2" dependencies = [ - "bitflags 2.6.0", + "pem 3.0.5", + "ring 0.17.14", + "rustls-pki-types", + "time", + "yasna", +] + +[[package]] +name = "redox_syscall" +version = "0.5.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" +dependencies = [ + "bitflags 2.9.4", ] [[package]] @@ -6483,97 +7178,90 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", + "getrandom 0.2.16", "libredox", - "thiserror 1.0.64", + "thiserror 1.0.69", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror 2.0.16", ] [[package]] name = "ref-cast" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "regalloc2" -version = "0.9.3" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" +checksum = "efd8138ce7c3d7c13be4f61893154b5d711bd798d2d7be3ecb8dcc7e7a06ca98" dependencies = [ - "hashbrown 0.13.2", + "allocator-api2", + "bumpalo", + "hashbrown 0.15.5", "log", - "rustc-hash 1.1.0", - "slice-group-by", + "rustc-hash 2.1.1", "smallvec", ] [[package]] name = "regex" -version = "1.11.0" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.8", - "regex-syntax 0.8.5", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.1.10" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.29" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "resolv-conf" -version = "0.7.0" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" -dependencies = [ - "hostname", - "quick-error", -] +checksum = "6b3789b30bd25ba102de4beabd95d21ac45b69b1be7d14522bab988c526d6799" [[package]] name = "rfc6979" @@ -6602,28 +7290,18 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.8" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.16", "libc", - "spin 0.9.8", "untrusted 0.9.0", "windows-sys 0.52.0", ] -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "rlp" version = "0.5.2" @@ -6636,74 +7314,79 @@ dependencies = [ [[package]] name = "rocksdb" -version = "0.21.0" -dependencies = [ - "rocksdb 0.22.0", -] - -[[package]] -name = "rocksdb" -version = "0.22.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd13e55d6d7b8cd0ea569161127567cd587676c99f4472f779a0279aa60a7a7" +checksum = "ddb7af00d2b17dbd07d82c0063e25411959748ff03e8d4f96134c2ff41fce34f" dependencies = [ "libc", "librocksdb-sys", ] [[package]] -name = "rpassword" -version = "7.3.1" +name = "route-recognizer" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" +checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" + +[[package]] +name = "rpassword" +version = "7.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66d4c8b64f049c6721ec8ccec37ddfc3d641c4a7fca57e8f2a89de509c73df39" dependencies = [ "libc", "rtoolbox", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[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.64", + "thiserror 1.0.69", "tokio", ] [[package]] name = "rtoolbox" -version = "0.0.2" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" +checksum = "a7cc970b249fbe527d6e02e0a227762c9108b2f49d81094fe357ffc6d14d7f6f" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "ruint" -version = "1.12.3" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +checksum = "9ecb38f82477f20c5c3d62ef52d7c4e536e38ea9b73fb570a20c5cae0e14bcf6" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", "ark-ff 0.4.2", "bytes", - "fastrlp", + "fastrlp 0.3.1", + "fastrlp 0.4.0", "num-bigint", + "num-integer", "num-traits", "parity-scale-codec", - "primitive-types", + "primitive-types 0.12.2", "proptest", - "rand", + "rand 0.8.5", + "rand 0.9.2", "rlp", "ruint-macro", "serde", @@ -6719,9 +7402,9 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" @@ -6731,9 +7414,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc-hex" @@ -6756,7 +7439,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.27", ] [[package]] @@ -6770,15 +7453,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.37" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.4", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.0", ] [[package]] @@ -6788,52 +7471,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", - "ring 0.17.8", + "ring 0.17.14", "rustls-webpki 0.101.7", "sct", ] [[package]] name = "rustls" -version = "0.23.14" +version = "0.23.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" +checksum = "cd3c25631629d034ce7cd9940adc9d45762d46de2b0f57193c4443b92c6d4d40" dependencies = [ "once_cell", - "ring 0.17.8", + "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki 0.103.6", "subtle", "zeroize", ] [[package]] name = "rustls-native-certs" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcaf18a4f2be7326cd874a5fa579fae794320a0f388d365dca7e480e55f83f8a" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ "openssl-probe", - "rustls-pemfile", "rustls-pki-types", "schannel", "security-framework", ] -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "rustls-pki-types" -version = "1.9.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "web-time", + "zeroize", +] [[package]] name = "rustls-webpki" @@ -6841,26 +7518,26 @@ version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", "untrusted 0.9.0", ] [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "8572f3c2cb9934231157b45499fc41e1f58c589fdfb81a844ba873265e80f8eb" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", "rustls-pki-types", "untrusted 0.9.0", ] [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty-fork" @@ -6887,15 +7564,15 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "safe_arch" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" +checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" dependencies = [ "bytemuck", ] @@ -6911,33 +7588,35 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "4.1.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "32.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "log", "sp-core", "sp-wasm-interface", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sc-authority-discovery" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.51.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "futures", "futures-timer", "ip_network", - "libp2p", + "linked_hash_set", "log", - "multihash-codetable", "parity-scale-codec", "prost", "prost-build", - "rand", + "rand 0.8.5", "sc-client-api", "sc-network", + "sc-network-types", + "serde", + "serde_json", "sp-api", "sp-authority-discovery", "sp-blockchain", @@ -6945,20 +7624,19 @@ dependencies = [ "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror 1.0.64", + "thiserror 2.0.16", + "tokio", ] [[package]] name = "sc-basic-authorship" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.50.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "futures", - "futures-timer", "log", "parity-scale-codec", "sc-block-builder", - "sc-client-api", "sc-proposer-metrics", "sc-telemetry", "sc-transaction-pool-api", @@ -6973,25 +7651,26 @@ dependencies = [ [[package]] name = "sc-block-builder" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.45.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", - "sc-client-api", "sp-api", "sp-block-builder", "sp-blockchain", "sp-core", "sp-inherents", "sp-runtime", + "sp-trie", ] [[package]] name = "sc-chain-spec" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "44.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "memmap2", + "array-bytes", + "parity-scale-codec", "sc-chain-spec-derive", "sc-client-api", "sc-executor", @@ -7001,36 +7680,42 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", + "sp-crypto-hashing", + "sp-genesis-builder", + "sp-io", "sp-runtime", "sp-state-machine", + "sp-tracing", ] [[package]] name = "sc-chain-spec-derive" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "12.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "sc-cli" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.53.1" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "array-bytes", "chrono", "clap", "fdlimit", "futures", + "itertools 0.14.0", "libp2p-identity", "log", "names", + "parity-bip39", "parity-scale-codec", - "rand", + "rand 0.8.5", "regex", "rpassword", "sc-client-api", @@ -7040,6 +7725,7 @@ dependencies = [ "sc-service", "sc-telemetry", "sc-tracing", + "sc-transaction-pool", "sc-utils", "serde", "serde_json", @@ -7050,21 +7736,20 @@ dependencies = [ "sp-panic-handler", "sp-runtime", "sp-version", - "thiserror 1.0.64", - "tiny-bip39 1.0.2", + "thiserror 2.0.16", "tokio", ] [[package]] name = "sc-client-api" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "40.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "sc-executor", "sc-transaction-pool-api", "sc-utils", @@ -7077,13 +7762,14 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-storage", + "sp-trie", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.47.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "hash-db", "kvdb", @@ -7091,9 +7777,9 @@ dependencies = [ "kvdb-rocksdb", "linked-hash-map", "log", - "parity-db", + "parity-db 0.5.4", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "sc-client-api", "sc-state-db", "schnellru", @@ -7104,37 +7790,36 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-trie", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-consensus" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.50.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "futures", - "futures-timer", - "libp2p-identity", "log", "mockall", - "parking_lot 0.12.3", + "parking_lot", "sc-client-api", + "sc-network-types", "sc-utils", "serde", - "sp-api", "sp-blockchain", "sp-consensus", "sp-core", "sp-runtime", "sp-state-machine", "substrate-prometheus-endpoint", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sc-consensus-babe" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.51.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "fork-tree", @@ -7144,14 +7829,13 @@ dependencies = [ "num-rational", "num-traits", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "sc-client-api", "sc-consensus", "sc-consensus-epochs", "sc-consensus-slots", "sc-telemetry", "sc-transaction-pool-api", - "scale-info", "sp-api", "sp-application-crypto", "sp-block-builder", @@ -7160,17 +7844,18 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-slots", "sp-core", + "sp-crypto-hashing", "sp-inherents", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sc-consensus-epochs" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.50.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "fork-tree", "parity-scale-codec", @@ -7182,8 +7867,8 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.36.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "ahash", "array-bytes", @@ -7195,8 +7880,8 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "parking_lot 0.12.3", - "rand", + "parking_lot", + "rand 0.8.5", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -7204,6 +7889,8 @@ dependencies = [ "sc-network", "sc-network-common", "sc-network-gossip", + "sc-network-sync", + "sc-network-types", "sc-telemetry", "sc-transaction-pool-api", "sc-utils", @@ -7215,16 +7902,17 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", + "sp-crypto-hashing", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sc-consensus-slots" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.50.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "futures", @@ -7246,11 +7934,11 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.43.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "sc-executor-common", "sc-executor-wasmtime", "schnellru", @@ -7268,25 +7956,23 @@ dependencies = [ [[package]] name = "sc-executor-common" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.39.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "sc-allocator", - "sp-maybe-compressed-blob 4.1.0-dev", "sp-wasm-interface", - "thiserror 1.0.64", + "thiserror 2.0.16", "wasm-instrument", ] [[package]] name = "sc-executor-wasmtime" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.39.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "anyhow", - "cfg-if", - "libc", "log", + "parking_lot", "rustix", "sc-allocator", "sc-executor-common", @@ -7297,61 +7983,64 @@ dependencies = [ [[package]] name = "sc-informant" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.50.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "anstyle", + "console", "futures", "futures-timer", "log", "sc-client-api", "sc-network", - "sc-network-common", + "sc-network-sync", "sp-blockchain", "sp-runtime", ] [[package]] name = "sc-keystore" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "36.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "array-bytes", - "parking_lot 0.12.3", + "parking_lot", "serde_json", "sp-application-crypto", "sp-core", "sp-keystore", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sc-network" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.51.1" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "array-bytes", "async-channel", "async-trait", - "asynchronous-codec", + "asynchronous-codec 0.7.0", "bytes", "either", "fnv", "futures", "futures-timer", "ip_network", - "libp2p", + "libp2p 0.56.0", "linked_hash_set", "log", "mockall", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "partial_sort", "pin-project", - "rand", + "prometheus-client 0.23.1", + "rand 0.8.5", "sc-client-api", "sc-network-common", + "sc-network-types", "sc-utils", + "schnellru", "serde", "serde_json", "smallvec", @@ -7360,63 +8049,36 @@ dependencies = [ "sp-core", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror 1.0.64", - "unsigned-varint", - "void", - "wasm-timer", + "thiserror 2.0.16", + "tokio", + "tokio-stream", + "unsigned-varint 0.8.0", "zeroize", ] -[[package]] -name = "sc-network-bitswap" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" -dependencies = [ - "async-channel", - "cid", - "futures", - "libp2p-identity", - "log", - "prost", - "prost-build", - "sc-client-api", - "sc-network", - "sp-blockchain", - "sp-runtime", - "thiserror 1.0.64", - "unsigned-varint", -] - [[package]] name = "sc-network-common" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.49.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "async-trait", "bitflags 1.3.2", - "futures", - "libp2p-identity", "parity-scale-codec", - "prost-build", - "sc-consensus", - "sp-consensus", - "sp-consensus-grandpa", "sp-runtime", ] [[package]] name = "sc-network-gossip" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.51.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "ahash", "futures", "futures-timer", - "libp2p-identity", "log", - "multiaddr", "sc-network", "sc-network-common", + "sc-network-sync", + "sc-network-types", "schnellru", "sp-runtime", "substrate-prometheus-endpoint", @@ -7425,37 +8087,35 @@ dependencies = [ [[package]] name = "sc-network-light" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.50.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "array-bytes", "async-channel", "futures", - "libp2p-identity", "log", "parity-scale-codec", "prost", "prost-build", "sc-client-api", "sc-network", + "sc-network-types", "sp-blockchain", "sp-core", "sp-runtime", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sc-network-sync" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.50.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "array-bytes", "async-channel", "async-trait", "fork-tree", "futures", - "futures-timer", - "libp2p", "log", "mockall", "parity-scale-codec", @@ -7465,6 +8125,7 @@ dependencies = [ "sc-consensus", "sc-network", "sc-network-common", + "sc-network-types", "sc-utils", "schnellru", "smallvec", @@ -7475,21 +8136,24 @@ dependencies = [ "sp-core", "sp-runtime", "substrate-prometheus-endpoint", - "thiserror 1.0.64", + "thiserror 2.0.16", + "tokio", + "tokio-stream", ] [[package]] name = "sc-network-transactions" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.50.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "array-bytes", "futures", - "libp2p", "log", "parity-scale-codec", "sc-network", "sc-network-common", + "sc-network-sync", + "sc-network-types", "sc-utils", "sp-consensus", "sp-runtime", @@ -7497,40 +8161,30 @@ dependencies = [ ] [[package]] -name = "sc-offchain" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +name = "sc-network-types" +version = "0.17.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ + "bs58", "bytes", - "fnv", - "futures", - "futures-timer", - "hyper 0.14.30", - "libp2p", + "ed25519-dalek", + "libp2p-identity", + "libp2p-kad", "log", - "num_cpus", - "once_cell", - "parity-scale-codec", - "parking_lot 0.12.3", - "rand", - "sc-client-api", - "sc-network", - "sc-transaction-pool-api", - "sc-utils", - "sp-api", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-offchain", - "sp-runtime", - "threadpool", - "tracing", + "multiaddr 0.17.1", + "multiaddr 0.18.2", + "multihash 0.17.0", + "multihash 0.19.3", + "rand 0.8.5", + "serde_with", + "thiserror 2.0.16", + "zeroize", ] [[package]] name = "sc-proposer-metrics" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.20.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -7538,14 +8192,14 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "46.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "futures", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -7568,31 +8222,39 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.50.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "jsonrpsee", "parity-scale-codec", "sc-chain-spec", "sc-transaction-pool-api", - "scale-info", "serde", "serde_json", "sp-core", "sp-rpc", "sp-runtime", "sp-version", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sc-rpc-server" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "23.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "http 0.2.12", + "dyn-clone", + "forwarded-header-value", + "futures", + "governor", + "http 1.3.1", + "http-body-util", + "hyper 1.7.0", + "ip_network", "jsonrpsee", "log", + "sc-rpc-api", + "serde", "serde_json", "substrate-prometheus-endpoint", "tokio", @@ -7602,47 +8264,53 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.51.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "array-bytes", "futures", "futures-util", "hex", + "itertools 0.14.0", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", + "rand 0.8.5", "sc-chain-spec", "sc-client-api", + "sc-rpc", "sc-transaction-pool-api", + "schnellru", "serde", "sp-api", "sp-blockchain", "sp-core", + "sp-rpc", "sp-runtime", "sp-version", - "thiserror 1.0.64", + "substrate-prometheus-endpoint", + "thiserror 2.0.16", + "tokio", "tokio-stream", ] [[package]] name = "sc-service" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.52.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", - "directories", + "directories 6.0.0", "exit-future", "futures", "futures-timer", "jsonrpsee", "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "pin-project", - "rand", - "sc-block-builder", + "rand 0.8.5", "sc-chain-spec", "sc-client-api", "sc-client-db", @@ -7651,11 +8319,11 @@ dependencies = [ "sc-informant", "sc-keystore", "sc-network", - "sc-network-bitswap", "sc-network-common", "sc-network-light", "sc-network-sync", "sc-network-transactions", + "sc-network-types", "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", @@ -7665,6 +8333,7 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "sc-utils", + "schnellru", "serde", "serde_json", "sp-api", @@ -7680,10 +8349,9 @@ dependencies = [ "sp-transaction-pool", "sp-trie", "sp-version", - "static_init", "substrate-prometheus-endpoint", "tempfile", - "thiserror 1.0.64", + "thiserror 2.0.16", "tokio", "tracing", "tracing-futures", @@ -7691,66 +8359,66 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.39.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "sp-core", ] [[package]] name = "sc-sysinfo" -version = "6.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "43.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ + "derive_more 1.0.0", "futures", "libc", "log", - "rand", + "rand 0.8.5", "rand_pcg", "regex", "sc-telemetry", "serde", "serde_json", "sp-core", + "sp-crypto-hashing", "sp-io", - "sp-std", ] [[package]] name = "sc-telemetry" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "29.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "chrono", "futures", - "libp2p", + "libp2p 0.56.0", "log", - "parking_lot 0.12.3", + "parking_lot", "pin-project", - "rand", + "rand 0.8.5", "sc-utils", "serde", "serde_json", - "thiserror 1.0.64", - "wasm-timer", + "thiserror 2.0.16", + "tokio", ] [[package]] name = "sc-tracing" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "40.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "anstyle", "chrono", - "lazy_static", + "console", "libc", "log", - "parking_lot 0.12.3", - "regex", - "rustc-hash 1.1.0", + "parity-scale-codec", + "parking_lot", + "rustc-hash 2.1.1", "sc-client-api", "sc-tracing-proc-macro", "serde", @@ -7760,35 +8428,36 @@ dependencies = [ "sp-rpc", "sp-runtime", "sp-tracing", - "thiserror 1.0.64", + "thiserror 2.0.16", "tracing", "tracing-log", - "tracing-subscriber 0.2.25", + "tracing-subscriber", ] [[package]] name = "sc-tracing-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "11.1.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "sc-transaction-pool" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "40.1.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "futures", "futures-timer", + "indexmap 2.11.4", + "itertools 0.14.0", "linked-hash-map", - "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "sc-client-api", "sc-transaction-pool-api", "sc-utils", @@ -7800,80 +8469,82 @@ dependencies = [ "sp-tracing", "sp-transaction-pool", "substrate-prometheus-endpoint", - "thiserror 1.0.64", + "thiserror 2.0.16", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "sc-transaction-pool-api" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "40.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "futures", + "indexmap 2.11.4", "log", "parity-scale-codec", "serde", "sp-blockchain", "sp-core", "sp-runtime", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sc-utils" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "19.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-channel", "futures", "futures-timer", - "lazy_static", "log", - "parking_lot 0.12.3", + "parking_lot", "prometheus", "sp-arithmetic", ] [[package]] name = "scale-info" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "bitvec", "cfg-if", - "derive_more 0.99.18", + "derive_more 1.0.0", "parity-scale-codec", "scale-info-derive", - "serde", ] [[package]] name = "scale-info-derive" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.106", ] [[package]] name = "schannel" -version = "0.1.26" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.0", ] [[package]] name = "schnellru" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" +checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649" dependencies = [ "ahash", "cfg-if", @@ -7889,7 +8560,7 @@ dependencies = [ "flexible-transcript", "hex", "multiexp", - "rand_core", + "rand_core 0.6.4", "sha2", "std-shims", "zeroize", @@ -7897,9 +8568,9 @@ dependencies = [ [[package]] name = "schnorrkel" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" +checksum = "6e9fcb6c2e176e86ec703e22560d99d65a5ee9056ae45a08e13e84ebf796296f" dependencies = [ "aead", "arrayref", @@ -7907,7 +8578,7 @@ dependencies = [ "curve25519-dalek", "getrandom_or_panic", "merlin", - "rand_core", + "rand_core 0.6.4", "serde_bytes", "sha2", "subtle", @@ -7926,19 +8597,13 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "scratch" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" - [[package]] name = "sct" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.8", + "ring 0.17.14", "untrusted 0.9.0", ] @@ -7962,8 +8627,8 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ - "bitcoin_hashes", - "rand", + "bitcoin_hashes 0.14.0", + "rand 0.8.5", "secp256k1-sys", "serde", ] @@ -7988,12 +8653,12 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +checksum = "60b369d18893388b345804dc0007963c99b7d665ae71d275812d828c6f089640" dependencies = [ - "bitflags 2.6.0", - "core-foundation", + "bitflags 2.9.4", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -8001,70 +8666,50 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", ] -[[package]] -name = "semver" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" -dependencies = [ - "semver-parser 0.7.0", -] - [[package]] name = "semver" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" dependencies = [ - "semver-parser 0.10.2", + "semver-parser", ] [[package]] name = "semver" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", + "serde_core", ] [[package]] name = "semver-parser" -version = "0.7.0" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" - [[package]] name = "serai-abi" version = "0.1.0" dependencies = [ "borsh", "frame-support", + "frame-system", "parity-scale-codec", - "scale-info", "serai-coins-primitives", "serai-emissions-primitives", "serai-genesis-liquidity-primitives", @@ -8095,9 +8740,9 @@ dependencies = [ "hex", "modular-frost", "monero-wallet", - "multiaddr", + "multiaddr 0.18.2", "parity-scale-codec", - "rand_core", + "rand_core 0.6.4", "serai-abi", "serai-docker-tests", "serde", @@ -8105,7 +8750,7 @@ dependencies = [ "simple-request", "sp-core", "sp-runtime", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "zeroize", ] @@ -8118,7 +8763,6 @@ dependencies = [ "frame-system", "pallet-transaction-payment", "parity-scale-codec", - "scale-info", "serai-coins-primitives", "serai-primitives", "sp-core", @@ -8133,7 +8777,6 @@ version = "0.1.0" dependencies = [ "borsh", "parity-scale-codec", - "scale-info", "serai-primitives", "serde", "sp-runtime", @@ -8155,11 +8798,11 @@ dependencies = [ "frost-schnorrkel", "futures-util", "hex", - "libp2p", + "libp2p 0.52.4", "log", "modular-frost", "parity-scale-codec", - "rand_core", + "rand_core 0.6.4", "schnorr-signatures", "serai-client", "serai-db", @@ -8188,7 +8831,7 @@ dependencies = [ "dockertest", "hex", "parity-scale-codec", - "rand_core", + "rand_core 0.6.4", "schnorrkel", "serai-client", "serai-docker-tests", @@ -8203,8 +8846,8 @@ dependencies = [ name = "serai-db" version = "0.1.0" dependencies = [ - "parity-db", - "rocksdb 0.21.0", + "parity-db 0.4.13", + "rocksdb", ] [[package]] @@ -8215,8 +8858,7 @@ dependencies = [ "frame-support", "frame-system", "parity-scale-codec", - "rand_core", - "scale-info", + "rand_core 0.6.4", "serai-coins-pallet", "serai-primitives", "sp-api", @@ -8240,7 +8882,6 @@ dependencies = [ "frame-support", "frame-system", "parity-scale-codec", - "scale-info", "serai-coins-pallet", "serai-dex-pallet", "serai-primitives", @@ -8253,7 +8894,6 @@ dependencies = [ "frame-support", "frame-system", "parity-scale-codec", - "scale-info", "serai-coins-pallet", "serai-dex-pallet", "serai-economic-security-pallet", @@ -8300,7 +8940,7 @@ dependencies = [ "monero-simple-request-rpc", "monero-wallet", "parity-scale-codec", - "rand_core", + "rand_core 0.6.4", "serai-client", "serai-coordinator-tests", "serai-docker-tests", @@ -8320,7 +8960,6 @@ dependencies = [ "frame-support", "frame-system", "parity-scale-codec", - "scale-info", "serai-coins-pallet", "serai-dex-pallet", "serai-economic-security-pallet", @@ -8339,7 +8978,6 @@ version = "0.1.0" dependencies = [ "borsh", "parity-scale-codec", - "scale-info", "serai-primitives", "serai-validator-sets-primitives", "serde", @@ -8354,7 +8992,6 @@ dependencies = [ "frame-support", "frame-system", "parity-scale-codec", - "scale-info", "serai-coins-pallet", "serai-dex-pallet", "serai-emissions-pallet", @@ -8375,12 +9012,10 @@ version = "0.1.0" dependencies = [ "borsh", "parity-scale-codec", - "scale-info", "serai-coins-primitives", "serai-primitives", "serde", "sp-application-crypto", - "sp-runtime", "sp-std", "zeroize", ] @@ -8397,7 +9032,7 @@ dependencies = [ "hex", "log", "once_cell", - "rand_core", + "rand_core 0.6.4", "schnorr-signatures", "serai-db", "serai-env", @@ -8415,7 +9050,7 @@ dependencies = [ "dalek-ff-group", "dockertest", "hex", - "rand_core", + "rand_core 0.6.4", "serai-docker-tests", "serai-message-queue", "serai-primitives", @@ -8448,15 +9083,17 @@ version = "0.1.0" dependencies = [ "clap", "frame-benchmarking", + "frame-system-rpc-runtime-api", "futures-util", "hex", "jsonrpsee", - "libp2p", + "libp2p 0.56.0", "log", "pallet-transaction-payment-rpc", - "rand_core", + "rand_core 0.6.4", "sc-authority-discovery", "sc-basic-authorship", + "sc-chain-spec", "sc-cli", "sc-client-api", "sc-consensus", @@ -8464,9 +9101,6 @@ dependencies = [ "sc-consensus-grandpa", "sc-executor", "sc-network", - "sc-network-common", - "sc-offchain", - "sc-rpc-api", "sc-service", "sc-telemetry", "sc-transaction-pool", @@ -8481,6 +9115,8 @@ dependencies = [ "sp-core", "sp-io", "sp-keystore", + "sp-runtime", + "sp-state-machine", "sp-timestamp", "substrate-build-script-utils", "substrate-frame-rpc-system", @@ -8497,8 +9133,8 @@ dependencies = [ "flexible-transcript", "hex", "home", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "zalloc", "zeroize", ] @@ -8510,8 +9146,7 @@ dependencies = [ "borsh", "frame-support", "parity-scale-codec", - "rand_core", - "scale-info", + "rand_core 0.6.4", "serde", "sp-application-crypto", "sp-core", @@ -8546,8 +9181,8 @@ dependencies = [ "monero-simple-request-rpc", "monero-wallet", "parity-scale-codec", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", "secp256k1", "serai-client", "serai-db", @@ -8557,7 +9192,7 @@ dependencies = [ "serai-processor-messages", "serde_json", "sp-application-crypto", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "zalloc", "zeroize", @@ -8594,7 +9229,7 @@ dependencies = [ "monero-simple-request-rpc", "monero-wallet", "parity-scale-codec", - "rand_core", + "rand_core 0.6.4", "serai-client", "serai-db", "serai-docker-tests", @@ -8613,7 +9248,7 @@ version = "0.1.0" dependencies = [ "dockertest", "hex", - "rand_core", + "rand_core 0.6.4", "serai-docker-tests", "tokio", ] @@ -8631,11 +9266,11 @@ dependencies = [ "pallet-authorship", "pallet-babe", "pallet-grandpa", + "pallet-session", "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", - "scale-info", "serai-abi", "serai-coins-pallet", "serai-dex-pallet", @@ -8669,7 +9304,6 @@ dependencies = [ "frame-support", "frame-system", "parity-scale-codec", - "scale-info", "serai-in-instructions-pallet", "serai-primitives", "serai-signals-primitives", @@ -8684,7 +9318,6 @@ version = "0.1.0" dependencies = [ "borsh", "parity-scale-codec", - "scale-info", "serai-primitives", "serde", "zeroize", @@ -8699,8 +9332,8 @@ dependencies = [ "hashbrown 0.14.5", "pallet-babe", "pallet-grandpa", + "pallet-session", "parity-scale-codec", - "scale-info", "serai-coins-pallet", "serai-dex-pallet", "serai-primitives", @@ -8723,7 +9356,6 @@ dependencies = [ "dalek-ff-group", "dkg-musig", "parity-scale-codec", - "scale-info", "serai-primitives", "serde", "sp-core", @@ -8733,61 +9365,73 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.210" +version = "1.0.226" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "0dca6411025b24b60bfa7ec1fe1f8e710ac09782dca409ee8237ba74b51295fd" dependencies = [ + "serde_core", "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.15" +version = "0.11.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" +checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" dependencies = [ "serde", + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.226" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba2ba63999edb9dac981fb34b3e5c0d111a69b0924e253ed29d83f7c99e966a4" +dependencies = [ + "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.226" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "8db53ae22f34573731bafa1db20f04027b2d25e02d8205921b569171699cdb33" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] name = "serde_repr" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "serde_spanned" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ "serde", ] @@ -8806,21 +9450,34 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.5.0", + "indexmap 2.11.4", "serde", "serde_derive", "serde_json", + "serde_with_macros", "time", ] +[[package]] +name = "serde_with_macros" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "serdect" version = "0.2.0" @@ -8831,19 +9488,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "sha1" version = "0.10.6" @@ -8857,9 +9501,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -8903,9 +9547,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -8917,14 +9561,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core", + "rand_core 0.6.4", ] [[package]] name = "simba" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +checksum = "c99284beb21666094ba2b75bbceda012e610f5479dfcc2d6e2426f53197ffd95" dependencies = [ "approx", "num-complex", @@ -8939,7 +9583,7 @@ version = "0.1.0" dependencies = [ "base64ct", "http-body-util", - "hyper 1.4.1", + "hyper 1.7.0", "hyper-rustls", "hyper-util", "tokio", @@ -8954,25 +9598,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] -name = "slab" -version = "0.4.9" +name = "siphasher" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] -name = "slice-group-by" -version = "0.3.1" +name = "slab" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +dependencies = [ + "serde", +] [[package]] name = "snap" @@ -8990,8 +9634,8 @@ dependencies = [ "blake2", "chacha20poly1305", "curve25519-dalek", - "rand_core", - "ring 0.17.8", + "rand_core 0.6.4", + "ring 0.17.14", "rustc_version 0.4.1", "sha2", "subtle", @@ -9009,152 +9653,139 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", ] [[package]] -name = "soketto" -version = "0.7.1" +name = "socket2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" dependencies = [ - "base64 0.13.1", - "bytes", - "futures", - "http 0.2.12", - "httparse", - "log", - "rand", - "sha-1", + "libc", + "windows-sys 0.59.0", ] [[package]] name = "soketto" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" dependencies = [ "base64 0.22.1", "bytes", "futures", + "http 1.3.1", "httparse", "log", - "rand", + "rand 0.8.5", "sha1", ] [[package]] name = "sp-api" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "37.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "hash-db", "log", "parity-scale-codec", - "scale-info", "sp-api-proc-macro", "sp-core", "sp-externalities", - "sp-metadata-ir", "sp-runtime", + "sp-runtime-interface", "sp-state-machine", - "sp-std", "sp-trie", "sp-version", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sp-api-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "23.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "Inflector", "blake2", "expander", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "sp-application-crypto" -version = "23.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", - "scale-info", "serde", "sp-core", "sp-io", - "sp-std", ] [[package]] name = "sp-arithmetic" -version = "16.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "27.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", - "scale-info", "serde", - "sp-std", "static_assertions", ] [[package]] name = "sp-authority-discovery" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "37.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", - "scale-info", "sp-api", "sp-application-crypto", - "sp-std", ] [[package]] name = "sp-block-builder" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "37.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "sp-api", "sp-inherents", "sp-runtime", - "sp-std", ] [[package]] name = "sp-blockchain" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "40.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "futures", - "log", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "schnellru", "sp-api", "sp-consensus", + "sp-core", "sp-database", "sp-runtime", "sp-state-machine", - "thiserror 1.0.64", + "thiserror 2.0.16", + "tracing", ] [[package]] name = "sp-consensus" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.43.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "futures", @@ -9162,17 +9793,16 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sp-consensus-babe" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.43.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "parity-scale-codec", - "scale-info", "serde", "sp-api", "sp-application-crypto", @@ -9180,165 +9810,161 @@ dependencies = [ "sp-core", "sp-inherents", "sp-runtime", - "sp-std", "sp-timestamp", ] [[package]] name = "sp-consensus-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "24.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "finality-grandpa", "log", "parity-scale-codec", - "scale-info", "serde", "sp-api", "sp-application-crypto", "sp-core", "sp-keystore", "sp-runtime", - "sp-std", ] [[package]] name = "sp-consensus-slots" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.43.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", - "scale-info", "serde", - "sp-std", "sp-timestamp", ] [[package]] name = "sp-core" -version = "21.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "37.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "array-bytes", "bitflags 1.3.2", "blake2", "bounded-collections", "bs58", - "dyn-clonable", - "ed25519-zebra", + "dyn-clone", "futures", "hash-db", "hash256-std-hasher", "impl-serde", - "lazy_static", + "itertools 0.14.0", "log", "merlin", + "parity-bip39", "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "paste", - "primitive-types", - "rand", - "regex", - "scale-info", + "primitive-types 0.13.1", + "rand 0.8.5", "schnorrkel", "secrecy", "serde", - "sp-core-hashing", + "sp-crypto-hashing", "sp-debug-derive", "sp-externalities", - "sp-runtime-interface", "sp-std", "sp-storage", "ss58-registry", - "substrate-bip39", - "thiserror 1.0.64", - "tiny-bip39 1.0.2", + "thiserror 2.0.16", "tracing", "zeroize", ] [[package]] -name = "sp-core-hashing" -version = "9.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +name = "sp-crypto-hashing" +version = "0.1.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "blake2b_simd", "byteorder", "digest 0.10.7", + "sha2", "sha3", "twox-hash", ] [[package]] -name = "sp-core-hashing-proc-macro" -version = "9.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +name = "sp-crypto-hashing-proc-macro" +version = "0.1.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "quote", - "sp-core-hashing", - "syn 2.0.87", + "sp-crypto-hashing", + "syn 2.0.106", ] [[package]] name = "sp-database" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "10.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "kvdb", - "parking_lot 0.12.3", + "parking_lot", ] [[package]] name = "sp-debug-derive" -version = "8.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "14.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "sp-externalities" -version = "0.19.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.30.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "environmental", "parity-scale-codec", - "sp-std", "sp-storage", ] +[[package]] +name = "sp-genesis-builder" +version = "0.18.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" +dependencies = [ + "parity-scale-codec", + "sp-api", +] + [[package]] name = "sp-inherents" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "37.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "scale-info", "sp-runtime", - "sp-std", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sp-io" -version = "23.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "41.0.1" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "bytes", - "ed25519", "log", "parity-scale-codec", "rustversion", "sp-core", + "sp-crypto-hashing", "sp-externalities", "sp-keystore", "sp-runtime-interface", "sp-state-machine", - "sp-std", "sp-tracing", "sp-trie", "tracing", @@ -9347,60 +9973,29 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "24.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "42.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "lazy_static", "sp-core", "sp-runtime", - "strum 0.25.0", + "strum 0.27.2", ] [[package]] name = "sp-keystore" -version = "0.27.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.43.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.3", + "parking_lot", "sp-core", "sp-externalities", - "thiserror 1.0.64", -] - -[[package]] -name = "sp-maybe-compressed-blob" -version = "4.1.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" -dependencies = [ - "thiserror 1.0.64", - "zstd 0.12.4", -] - -[[package]] -name = "sp-maybe-compressed-blob" -version = "11.0.0" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=19c487d6aa9893b6b09a21ce0ab8aefb1c299186#19c487d6aa9893b6b09a21ce0ab8aefb1c299186" -dependencies = [ - "thiserror 2.0.16", - "zstd 0.13.3", -] - -[[package]] -name = "sp-metadata-ir" -version = "0.1.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" -dependencies = [ - "frame-metadata", - "parity-scale-codec", - "scale-info", - "sp-std", ] [[package]] name = "sp-offchain" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "37.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "sp-api", "sp-core", @@ -9409,173 +10004,163 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "8.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "13.0.2" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "backtrace", - "lazy_static", "regex", ] [[package]] name = "sp-rpc" -version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "35.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "rustc-hash 1.1.0", + "rustc-hash 2.1.1", "serde", "sp-core", ] [[package]] name = "sp-runtime" -version = "24.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "42.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "either", "hash256-std-hasher", "impl-trait-for-tuples", "log", + "num-traits", "parity-scale-codec", "paste", - "rand", - "scale-info", + "rand 0.8.5", "serde", "sp-application-crypto", "sp-arithmetic", "sp-core", "sp-io", "sp-std", + "sp-trie", "sp-weights", + "tuplex", ] [[package]] name = "sp-runtime-interface" -version = "17.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "30.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "bytes", - "impl-trait-for-tuples", "parity-scale-codec", - "primitive-types", "sp-externalities", "sp-runtime-interface-proc-macro", "sp-std", - "sp-storage", "sp-tracing", "sp-wasm-interface", - "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "11.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "19.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "Inflector", - "proc-macro-crate 1.3.1", + "expander", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "sp-session" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "39.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", - "scale-info", "sp-api", "sp-core", "sp-keystore", "sp-runtime", "sp-staking", - "sp-std", ] [[package]] name = "sp-staking" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "39.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", - "scale-info", "serde", "sp-core", "sp-runtime", - "sp-std", ] [[package]] name = "sp-state-machine" -version = "0.28.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.46.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.3", - "rand", + "parking_lot", + "rand 0.8.5", "smallvec", "sp-core", "sp-externalities", "sp-panic-handler", - "sp-std", "sp-trie", - "thiserror 1.0.64", + "thiserror 2.0.16", "tracing", "trie-db", ] [[package]] name = "sp-std" -version = "8.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "14.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" [[package]] name = "sp-storage" -version = "13.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "22.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", "sp-debug-derive", - "sp-std", ] [[package]] name = "sp-timestamp" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "37.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", "sp-runtime", - "sp-std", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sp-tracing" -version = "10.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "17.1.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", - "sp-std", "tracing", "tracing-core", - "tracing-subscriber 0.2.25", + "tracing-subscriber", ] [[package]] name = "sp-transaction-pool" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "37.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "sp-api", "sp-runtime", @@ -9583,22 +10168,23 @@ dependencies = [ [[package]] name = "sp-trie" -version = "22.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "40.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "ahash", + "foldhash", "hash-db", - "hashbrown 0.14.5", - "lazy_static", + "hashbrown 0.15.5", "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.3", - "scale-info", + "parking_lot", + "rand 0.8.5", "schnellru", "sp-core", - "sp-std", - "thiserror 1.0.64", + "sp-externalities", + "substrate-prometheus-endpoint", + "thiserror 2.0.16", "tracing", "trie-db", "trie-root", @@ -9606,58 +10192,55 @@ dependencies = [ [[package]] name = "sp-version" -version = "22.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "40.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "impl-serde", "parity-scale-codec", "parity-wasm", - "scale-info", "serde", - "sp-core-hashing-proc-macro", + "sp-crypto-hashing-proc-macro", "sp-runtime", "sp-std", "sp-version-proc-macro", - "thiserror 1.0.64", + "thiserror 2.0.16", ] [[package]] name = "sp-version-proc-macro" -version = "8.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "15.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "parity-scale-codec", + "proc-macro-warning 1.84.1", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "sp-wasm-interface" -version = "14.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "22.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std", "wasmtime", ] [[package]] name = "sp-weights" -version = "20.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "32.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ + "bounded-collections", "parity-scale-codec", - "scale-info", "serde", "smallvec", "sp-arithmetic", - "sp-core", "sp-debug-derive", - "sp-std", ] [[package]] @@ -9678,6 +10261,15 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" +[[package]] +name = "spinning_top" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" +dependencies = [ + "lock_api", +] + [[package]] name = "spki" version = "0.7.3" @@ -9688,17 +10280,11 @@ dependencies = [ "der", ] -[[package]] -name = "sptr" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" - [[package]] name = "ss58-registry" -version = "1.50.0" +version = "1.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43fce22ed1df64d04b262351c8f9d5c6da4f76f79f25ad15529792f893fad25d" +checksum = "19409f13998e55816d1c728395af0b52ec066206341d939e22e7766df9b494b8" dependencies = [ "Inflector", "num-format", @@ -9721,34 +10307,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "static_init" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" -dependencies = [ - "bitflags 1.3.2", - "cfg_aliases", - "libc", - "parking_lot 0.11.2", - "parking_lot_core 0.8.6", - "static_init_macro", - "winapi", -] - -[[package]] -name = "static_init_macro" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf" -dependencies = [ - "cfg_aliases", - "memchr", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "std-shims" version = "0.1.4" @@ -9758,40 +10316,12 @@ dependencies = [ "spin 0.10.0", ] -[[package]] -name = "strobe-rs" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabb238a1cccccfa4c4fb703670c0d157e1256c1ba695abf1b93bd2bb14bab2d" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "keccak", - "subtle", - "zeroize", -] - [[package]] name = "strsim" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" - -[[package]] -name = "strum" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" -dependencies = [ - "strum_macros 0.25.3", -] - [[package]] name = "strum" version = "0.26.3" @@ -9802,29 +10332,12 @@ dependencies = [ ] [[package]] -name = "strum_macros" -version = "0.24.3" +name = "strum" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", -] - -[[package]] -name = "strum_macros" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.87", + "strum_macros 0.27.2", ] [[package]] @@ -9837,30 +10350,30 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] -name = "substrate-bip39" -version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk#ed4eebb461069f65fda4a88d44ee811dd8c010e3" +name = "strum_macros" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ - "hmac", - "pbkdf2", - "schnorrkel", - "sha2", - "zeroize", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] name = "substrate-build-script-utils" -version = "3.0.0" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "11.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" [[package]] name = "substrate-frame-rpc-system" -version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "45.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -9878,33 +10391,32 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" -version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate#d5040521dcbab8aa5d167798a47ce9228e6840f4" +version = "0.17.6" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "hyper 0.14.30", + "http-body-util", + "hyper 1.7.0", + "hyper-util", "log", "prometheus", - "thiserror 1.0.64", + "thiserror 2.0.16", "tokio", ] [[package]] name = "substrate-wasm-builder" -version = "26.0.1" -source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=19c487d6aa9893b6b09a21ce0ab8aefb1c299186#19c487d6aa9893b6b09a21ce0ab8aefb1c299186" +version = "27.0.0" +source = "git+https://github.com/serai-dex/patch-polkadot-sdk?rev=da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b#da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" dependencies = [ - "build-helper", "cargo_metadata", "console", "jobserver", "parity-wasm", "shlex", - "sp-maybe-compressed-blob 11.0.0", - "strum 0.26.3", + "strum 0.27.2", "tempfile", - "toml 0.8.19", + "toml 0.8.23", "walkdir", - "wasm-opt", ] [[package]] @@ -9926,9 +10438,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.87" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -9937,33 +10449,21 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.6" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a850d65181df41b83c6be01a7d91f5e9377c43d48faa5af7d95816f437f5a3" +checksum = "4560533fbd6914b94a8fb5cc803ed6801c3455668db3b810702c57612bac9412" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.87", -] - -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" [[package]] name = "synstructure" @@ -9978,26 +10478,43 @@ dependencies = [ ] [[package]] -name = "system-configuration" -version = "0.5.1" +name = "synstructure" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ - "bitflags 1.3.2", - "core-foundation", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.9.4", + "core-foundation 0.9.4", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", ] +[[package]] +name = "tagptr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" + [[package]] name = "tap" version = "1.0.1" @@ -10006,21 +10523,21 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.16" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c" [[package]] name = "tempfile" -version = "3.13.0" +version = "3.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "84fa4d11fadde498443cca10fd3ac23c951f0dc59e080e9f4b93d4df4e4eea53" dependencies = [ - "cfg-if", "fastrand", + "getrandom 0.3.3", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.61.0", ] [[package]] @@ -10035,7 +10552,7 @@ dependencies = [ "parity-scale-codec", "patchable-async-sleep", "serai-db", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", ] @@ -10049,18 +10566,28 @@ dependencies = [ ] [[package]] -name = "termtree" -version = "0.4.1" +name = "terminal_size" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" +checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" +dependencies = [ + "rustix", + "windows-sys 0.60.2", +] + +[[package]] +name = "termtree" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.64", + "thiserror-impl 1.0.69", ] [[package]] @@ -10074,13 +10601,13 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -10091,17 +10618,16 @@ checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -10114,10 +10640,20 @@ dependencies = [ ] [[package]] -name = "time" -version = "0.3.36" +name = "tikv-jemalloc-sys" +version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "time" +version = "0.3.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" dependencies = [ "deranged", "itoa", @@ -10130,44 +10666,20 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" dependencies = [ "num-conv", "time-core", ] -[[package]] -name = "tiny-bip39" -version = "1.0.2" -dependencies = [ - "tiny-bip39 2.0.0", -] - -[[package]] -name = "tiny-bip39" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a30fd743a02bf35236f6faf99adb03089bb77e91c998dac2c2ad76bb424f668c" -dependencies = [ - "once_cell", - "pbkdf2", - "rand", - "rustc-hash 1.1.0", - "sha2", - "thiserror 1.0.64", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-keccak" version = "2.0.2" @@ -10179,9 +10691,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -10194,49 +10706,50 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.40.0" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", - "parking_lot 0.12.3", + "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "slab", + "socket2 0.6.0", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "05f63835928ca123f1bef57abbcd23bb2ba0ac9ae1235f1e65bda0d06e7786bd" dependencies = [ - "rustls 0.23.14", - "rustls-pki-types", + "rustls 0.23.32", "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", @@ -10246,9 +10759,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", @@ -10269,55 +10782,55 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.19" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.20", + "toml_edit", ] [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.19.15" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.5.0", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" -dependencies = [ - "indexmap 2.5.0", + "indexmap 2.11.4", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.20", + "toml_write", + "winnow", ] +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + [[package]] name = "tower" version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", "tower-layer", "tower-service", "tracing", @@ -10325,9 +10838,9 @@ dependencies = [ [[package]] name = "tower" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", @@ -10339,17 +10852,15 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.4", "bytes", - "futures-core", - "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "http-range-header", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", "pin-project-lite", "tower-layer", "tower-service", @@ -10369,9 +10880,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", @@ -10381,20 +10892,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", "valuable", @@ -10412,61 +10923,30 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.4" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ "log", "once_cell", "tracing-core", ] -[[package]] -name = "tracing-serde" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" -dependencies = [ - "serde", - "tracing-core", -] - [[package]] name = "tracing-subscriber" -version = "0.2.25" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ - "ansi_term", - "chrono", - "lazy_static", - "matchers 0.0.1", - "parking_lot 0.11.2", - "regex", - "serde", - "serde_json", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", - "tracing-serde", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" -dependencies = [ - "matchers 0.1.0", + "matchers", "nu-ansi-term", "once_cell", - "regex", + "parking_lot", + "regex-automata", "sharded-slab", "smallvec", "thread_local", + "time", "tracing", "tracing-core", "tracing-log", @@ -10486,25 +10966,24 @@ dependencies = [ "hex", "log", "parity-scale-codec", - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", "schnorr-signatures", "serai-db", "subtle", "tendermint-machine", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "zeroize", ] [[package]] name = "trie-db" -version = "0.27.1" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85" +checksum = "6c0670ab45a6b7002c7df369fee950a27cf29ae0474343fd3a15aa15f691e7a6" dependencies = [ "hash-db", - "hashbrown 0.13.2", "log", "rustc-hex", "smallvec", @@ -10535,10 +11014,10 @@ dependencies = [ "idna 0.2.3", "ipnet", "lazy_static", - "rand", + "rand 0.8.5", "smallvec", "socket2 0.4.10", - "thiserror 1.0.64", + "thiserror 1.0.69", "tinyvec", "tokio", "tracing", @@ -10561,9 +11040,9 @@ dependencies = [ "idna 0.4.0", "ipnet", "once_cell", - "rand", + "rand 0.8.5", "smallvec", - "thiserror 1.0.64", + "thiserror 1.0.69", "tinyvec", "tokio", "tracing", @@ -10581,11 +11060,11 @@ dependencies = [ "ipconfig", "lru-cache", "once_cell", - "parking_lot 0.12.3", - "rand", + "parking_lot", + "rand 0.8.5", "resolv-conf", "smallvec", - "thiserror 1.0.64", + "thiserror 1.0.69", "tokio", "tracing", "trust-dns-proto 0.23.2", @@ -10604,22 +11083,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" [[package]] -name = "twox-hash" -version = "1.6.3" +name = "tuplex" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "digest 0.10.7", - "rand", - "static_assertions", -] +checksum = "676ac81d5454c4dcf37955d34fa8626ede3490f744b86ca14a7b90168d2a08aa" + +[[package]] +name = "twox-hash" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "ucd-trie" @@ -10639,6 +11118,18 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "uint" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "909988d098b2f738727b161a106cfc7cab00c539c2687a8836f8e565976fb53e" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + [[package]] name = "unarray" version = "0.1.4" @@ -10647,31 +11138,31 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[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.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" + +[[package]] +name = "unicode-joining-type" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d00a78170970967fdb83f9d49b92f959ab2bb829186b113e4f4604ad98e180" [[package]] name = "unicode-normalization" -version = "0.1.24" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - [[package]] name = "unicode-width" version = "0.2.1" @@ -10700,7 +11191,17 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" dependencies = [ - "asynchronous-codec", + "asynchronous-codec 0.6.2", + "bytes", +] + +[[package]] +name = "unsigned-varint" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" +dependencies = [ + "asynchronous-codec 0.7.0", "bytes", "futures-io", "futures-util", @@ -10720,15 +11221,22 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna 1.1.0", "percent-encoding", + "serde", ] +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -10737,15 +11245,20 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.10.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +dependencies = [ + "getrandom 0.3.3", + "js-sys", + "wasm-bindgen", +] [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" @@ -10767,9 +11280,9 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] @@ -10795,53 +11308,60 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasm-bindgen" -version = "0.2.93" +name = "wasi" +version = "0.14.7+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", + "wasip2", ] [[package]] -name = "wasm-bindgen-backend" -version = "0.2.93" +name = "wasip2" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "bumpalo", - "log", + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab10a69fbd0a177f5f649ad4d8d3305499c42bab9aef2f7ff592d0ec8f833819" +dependencies = [ + "cfg-if", "once_cell", - "proc-macro2", - "quote", - "syn 2.0.87", + "rustversion", + "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] -name = "wasm-bindgen-futures" -version = "0.4.43" +name = "wasm-bindgen-backend" +version = "0.2.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +checksum = "0bb702423545a6007bbc368fde243ba47ca275e549c8a28617f56f6ba53b1d1c" dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn 2.0.106", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "fc65f4f411d91494355917b605e1480033152658d71f722a90647f56a70c88a0" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -10849,30 +11369,34 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "ffc003a991398a8ee604a401e194b6b3a39677b3173d6e74495eb51b82e99a32" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "293c37f4efa430ca14db3721dfbe48d8c33308096bd44d80ebaa775ab71ba1cf" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-encoder" -version = "0.31.1" +version = "0.239.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41763f20eafed1399fff1afb466496d3a959f58241436cfdc17e3f5ca954de16" +checksum = "5be00faa2b4950c76fe618c409d2c3ea5a3c9422013e079482d78544bb2d184c" dependencies = [ - "leb128", + "leb128fmt", + "wasmparser", ] [[package]] @@ -10884,294 +11408,251 @@ dependencies = [ "parity-wasm", ] -[[package]] -name = "wasm-opt" -version = "0.116.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd87a4c135535ffed86123b6fb0f0a5a0bc89e50416c942c5f0662c645f679c" -dependencies = [ - "anyhow", - "libc", - "strum 0.24.1", - "strum_macros 0.24.3", - "tempfile", - "thiserror 1.0.64", - "wasm-opt-cxx-sys", - "wasm-opt-sys", -] - -[[package]] -name = "wasm-opt-cxx-sys" -version = "0.116.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c57b28207aa724318fcec6575fe74803c23f6f266fce10cbc9f3f116762f12e" -dependencies = [ - "anyhow", - "cxx", - "cxx-build", - "wasm-opt-sys", -] - -[[package]] -name = "wasm-opt-sys" -version = "0.116.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a1cce564dc768dacbdb718fc29df2dba80bd21cb47d8f77ae7e3d95ceb98cbe" -dependencies = [ - "anyhow", - "cc", - "cxx", - "cxx-build", -] - -[[package]] -name = "wasm-timer" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" -dependencies = [ - "futures", - "js-sys", - "parking_lot 0.11.2", - "pin-utils", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "wasmparser" -version = "0.110.0" +version = "0.239.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dfcdb72d96f01e6c85b6bf20102e7423bdbaad5c337301bab2bbf253d26413c" +checksum = "8c9d90bb93e764f6beabf1d02028c70a2156a6583e63ac4218dd07ef733368b0" dependencies = [ - "indexmap 2.5.0", - "semver 1.0.23", + "bitflags 2.9.4", + "hashbrown 0.15.5", + "indexmap 2.11.4", + "semver 1.0.27", + "serde", +] + +[[package]] +name = "wasmprinter" +version = "0.239.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3981f3d51f39f24f5fc90f93049a90f08dbbca8deba602cd46bb8ca67a94718" +dependencies = [ + "anyhow", + "termcolor", + "wasmparser", ] [[package]] name = "wasmtime" -version = "12.0.2" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e87029cc5760db9a3774aff4708596fe90c20ed2baeef97212e98b812fd0fc" +checksum = "aa7ab136a5ffcba0924aa0ec30fd6b867ae1559dda6d8598edd910fc13637581" dependencies = [ + "addr2line 0.25.1", "anyhow", - "bincode", + "async-trait", + "bitflags 2.9.4", "bumpalo", + "cc", "cfg-if", "fxprof-processed-profile", - "indexmap 2.5.0", + "hashbrown 0.15.5", + "indexmap 2.11.4", + "ittapi", "libc", "log", - "object 0.31.1", + "mach2", + "memfd", + "object 0.37.3", "once_cell", - "paste", - "psm", + "postcard", + "pulley-interpreter", "rayon", + "rustix", "serde", + "serde_derive", "serde_json", + "smallvec", + "target-lexicon", + "wasmparser", + "wasmtime-environ", + "wasmtime-internal-asm-macros", + "wasmtime-internal-cache", + "wasmtime-internal-cranelift", + "wasmtime-internal-fiber", + "wasmtime-internal-jit-debug", + "wasmtime-internal-jit-icache-coherence", + "wasmtime-internal-math", + "wasmtime-internal-slab", + "wasmtime-internal-unwinder", + "wasmtime-internal-versioned-export-macros", + "windows-sys 0.60.2", +] + +[[package]] +name = "wasmtime-environ" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77f27634b6956288419c7ca96e7b845c4a60e401ed5094575b0c7c7d9fcd3257" +dependencies = [ + "anyhow", + "cranelift-bitset", + "cranelift-entity", + "gimli 0.32.3", + "indexmap 2.11.4", + "log", + "object 0.37.3", + "postcard", + "serde", + "serde_derive", + "smallvec", "target-lexicon", "wasm-encoder", "wasmparser", - "wasmtime-cache", - "wasmtime-cranelift", - "wasmtime-environ", - "wasmtime-jit", - "wasmtime-runtime", - "windows-sys 0.48.0", + "wasmprinter", ] [[package]] -name = "wasmtime-asm-macros" -version = "12.0.2" +name = "wasmtime-internal-asm-macros" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d84f68d831200016e120f2ee79d81b50cf4c4123112914aefb168d036d445d" +checksum = "fe8fa44de0bc99734251dca61754f6ea4899b6442439f3ededd8c4d5fd7ff1d5" dependencies = [ "cfg-if", ] [[package]] -name = "wasmtime-cache" -version = "12.0.2" +name = "wasmtime-internal-cache" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31561fbbaa86d3c042696940bc9601146bf4aaec39ae725c86b5f1358d8d7023" +checksum = "4be24fe2e182d88ca5318990ae8fd7df1cd40245cdcf38e185f9b35fbcc479c2" dependencies = [ "anyhow", - "base64 0.21.7", - "bincode", + "base64 0.22.1", "directories-next", - "file-per-thread-logger", "log", + "postcard", "rustix", "serde", + "serde_derive", "sha2", - "toml 0.5.11", - "windows-sys 0.48.0", - "zstd 0.11.2+zstd.1.5.2", + "toml 0.8.23", + "windows-sys 0.60.2", + "zstd", ] [[package]] -name = "wasmtime-cranelift" -version = "12.0.2" +name = "wasmtime-internal-cranelift" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae8ed7a4845f22be6b1ad80f33f43fa03445b03a02f2d40dca695129769cd1a" +checksum = "aff25d5a2e6e1ddc6bf2657ab1041531c49d4d5cdf389ebdf75e48f875ff3e55" dependencies = [ "anyhow", + "cfg-if", "cranelift-codegen", "cranelift-control", "cranelift-entity", "cranelift-frontend", "cranelift-native", - "cranelift-wasm", - "gimli 0.27.3", + "gimli 0.32.3", + "itertools 0.14.0", "log", - "object 0.31.1", + "object 0.37.3", + "pulley-interpreter", + "smallvec", "target-lexicon", - "thiserror 1.0.64", + "thiserror 2.0.16", "wasmparser", - "wasmtime-cranelift-shared", "wasmtime-environ", - "wasmtime-versioned-export-macros", + "wasmtime-internal-math", + "wasmtime-internal-unwinder", + "wasmtime-internal-versioned-export-macros", ] [[package]] -name = "wasmtime-cranelift-shared" -version = "12.0.2" +name = "wasmtime-internal-fiber" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b17099f9320a1c481634d88101258917d5065717cf22b04ed75b1a8ea062b4" -dependencies = [ - "anyhow", - "cranelift-codegen", - "cranelift-control", - "cranelift-native", - "gimli 0.27.3", - "object 0.31.1", - "target-lexicon", - "wasmtime-environ", -] - -[[package]] -name = "wasmtime-environ" -version = "12.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8b9227b1001229ff125e0f76bf1d5b9dc4895e6bcfd5cc35a56f84685964ec7" -dependencies = [ - "anyhow", - "cranelift-entity", - "gimli 0.27.3", - "indexmap 2.5.0", - "log", - "object 0.31.1", - "serde", - "target-lexicon", - "thiserror 1.0.64", - "wasmparser", - "wasmtime-types", -] - -[[package]] -name = "wasmtime-jit" -version = "12.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce606b392c321d7272928003543447119ef937a9c3ebfce5c4bb0bf6b0f5bac" -dependencies = [ - "addr2line 0.20.0", - "anyhow", - "bincode", - "cfg-if", - "cpp_demangle", - "gimli 0.27.3", - "log", - "object 0.31.1", - "rustc-demangle", - "rustix", - "serde", - "target-lexicon", - "wasmtime-environ", - "wasmtime-jit-debug", - "wasmtime-jit-icache-coherence", - "wasmtime-runtime", - "windows-sys 0.48.0", -] - -[[package]] -name = "wasmtime-jit-debug" -version = "12.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef27ea6c34ef888030d15560037fe7ef27a5609fbbba8e1e3e41dc4245f5bb2" -dependencies = [ - "object 0.31.1", - "once_cell", - "rustix", - "wasmtime-versioned-export-macros", -] - -[[package]] -name = "wasmtime-jit-icache-coherence" -version = "12.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b59f94b0409221873565419168e20b5aedf18c4bd64de5c38acf8f0634efeee3" -dependencies = [ - "cfg-if", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "wasmtime-runtime" -version = "12.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceb587a88ae5bb6ca248455a391aff29ac63329a404b2cdea36d91267c797db4" +checksum = "8a6c5c1a489b7ff051eb08d940b768bcce963258c87b54bfe4ce0a41fc7a1eed" dependencies = [ "anyhow", "cc", "cfg-if", - "indexmap 2.5.0", "libc", - "log", - "mach", - "memfd", - "memoffset", - "paste", - "rand", "rustix", - "sptr", - "wasm-encoder", - "wasmtime-asm-macros", - "wasmtime-environ", - "wasmtime-jit-debug", - "wasmtime-versioned-export-macros", - "windows-sys 0.48.0", + "wasmtime-internal-asm-macros", + "wasmtime-internal-versioned-export-macros", + "windows-sys 0.60.2", ] [[package]] -name = "wasmtime-types" -version = "12.0.2" +name = "wasmtime-internal-jit-debug" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77943729d4b46141538e8d0b6168915dc5f88575ecdfea26753fd3ba8bab244a" +checksum = "1d13fd1cf8f7e175775a611d0520c4f20dbf9b2d51a8a38da03576bb35097c4b" dependencies = [ - "cranelift-entity", - "serde", - "thiserror 1.0.64", - "wasmparser", + "cc", + "object 0.37.3", + "rustix", + "wasmtime-internal-versioned-export-macros", ] [[package]] -name = "wasmtime-versioned-export-macros" -version = "12.0.2" +name = "wasmtime-internal-jit-icache-coherence" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca7af9bb3ee875c4907835e607a275d10b04d15623d3aebe01afe8fbd3f85050" +checksum = "c0484c08f1f6e40f20052c278b7526447725c95a1bd11eaae34c1cffa641d8f4" +dependencies = [ + "anyhow", + "cfg-if", + "libc", + "windows-sys 0.60.2", +] + +[[package]] +name = "wasmtime-internal-math" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7b3389ad3d1281036f62fcd05e5817d9521b08d8143cbf9060843caa0ef5b8d" +dependencies = [ + "libm", +] + +[[package]] +name = "wasmtime-internal-slab" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41364714f23643bbc4df28ab4f63573c48a6f2d6b841a74cdb98380b7e4d3682" + +[[package]] +name = "wasmtime-internal-unwinder" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "123f311442d35895fd17505b73cbc07501b62804f0f6303aac548274b5d81095" +dependencies = [ + "anyhow", + "cfg-if", + "cranelift-codegen", + "log", + "object 0.37.3", +] + +[[package]] +name = "wasmtime-internal-versioned-export-macros" +version = "37.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abf48613033d168512acc287b22e256fc6d39f21e78de2d96b2ab24d8d6b8840" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "fbe734895e869dc429d78c4b433f8d17d95f8d05317440b4fad5ab2d33e596dc" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -11179,27 +11660,27 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.4" +version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.2", +] [[package]] -name = "which" -version = "4.4.2" +name = "webpki-roots" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" dependencies = [ - "either", - "home", - "once_cell", - "rustix", + "rustls-pki-types", ] [[package]] name = "wide" -version = "0.7.28" +version = "0.7.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b828f995bf1e9622031f8009f8481a85406ce1f4d4588ff746d872043e855690" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" dependencies = [ "bytemuck", "safe_arch", @@ -11207,9 +11688,9 @@ dependencies = [ [[package]] name = "widestring" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" +checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" [[package]] name = "winapi" @@ -11229,11 +11710,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.0", ] [[package]] @@ -11254,11 +11735,11 @@ dependencies = [ [[package]] name = "windows" -version = "0.54.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-core 0.54.0", + "windows-core 0.58.0", "windows-targets 0.52.6", ] @@ -11273,20 +11754,67 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.54.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ + "windows-implement", + "windows-interface", "windows-result", + "windows-strings", "windows-targets 0.52.6", ] [[package]] -name = "windows-result" -version = "0.1.2" +name = "windows-implement" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", "windows-targets 0.52.6", ] @@ -11317,6 +11845,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.3", +] + +[[package]] +name = "windows-sys" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" +dependencies = [ + "windows-link 0.2.0", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -11341,13 +11887,30 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" +dependencies = [ + "windows-link 0.1.3", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -11360,6 +11923,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -11372,6 +11941,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -11384,12 +11959,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -11402,6 +11989,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -11414,6 +12007,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -11426,6 +12025,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -11439,19 +12044,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] -name = "winnow" -version = "0.5.40" +name = "windows_x86_64_msvc" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.6.20" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -11466,6 +12068,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + [[package]] name = "wyz" version = "0.5.1" @@ -11482,7 +12090,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ "curve25519-dalek", - "rand_core", + "rand_core 0.6.4", "serde", "zeroize", ] @@ -11493,22 +12101,39 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" dependencies = [ - "asn1-rs", + "asn1-rs 0.5.2", "data-encoding", - "der-parser", + "der-parser 8.2.0", "lazy_static", "nom", - "oid-registry", + "oid-registry 0.6.1", "rusticata-macros", - "thiserror 1.0.64", + "thiserror 1.0.69", + "time", +] + +[[package]] +name = "x509-parser" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460" +dependencies = [ + "asn1-rs 0.7.1", + "data-encoding", + "der-parser 10.0.0", + "lazy_static", + "nom", + "oid-registry 0.8.1", + "rusticata-macros", + "thiserror 2.0.16", "time", ] [[package]] name = "xml-rs" -version = "0.8.22" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" +checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" [[package]] name = "xmltree" @@ -11528,12 +12153,28 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.3", + "parking_lot", "pin-project", - "rand", + "rand 0.8.5", "static_assertions", ] +[[package]] +name = "yamux" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2dd50a6d6115feb3e5d7d0efd45e8ca364b6c83722c1e9c602f5764e0e9597" +dependencies = [ + "futures", + "log", + "nohash-hasher", + "parking_lot", + "pin-project", + "rand 0.9.2", + "static_assertions", + "web-time", +] + [[package]] name = "yasna" version = "0.5.2" @@ -11553,23 +12194,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" dependencies = [ - "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.106", ] [[package]] @@ -11589,23 +12229,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", -] - -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -dependencies = [ - "zstd 0.13.3", -] - -[[package]] -name = "zstd" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" -dependencies = [ - "zstd-safe 6.0.6", + "syn 2.0.106", ] [[package]] @@ -11614,33 +12238,23 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ - "zstd-safe 7.2.1", + "zstd-safe", ] [[package]] name = "zstd-safe" -version = "6.0.6" +version = "7.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-safe" -version = "7.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 87838f91..87a36c95 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,15 +1,8 @@ [workspace] resolver = "2" members = [ - # Version patches - "patches/parking_lot_core", - "patches/parking_lot", - "patches/zstd", - "patches/rocksdb", - # std patches "patches/matches", - "patches/is-terminal", # Rewrites/redirects "patches/option-ext", @@ -135,19 +128,7 @@ modular-frost = { path = "crypto/frost" } # https://github.com/rust-lang-nursery/lazy-static.rs/issues/201 lazy_static = { git = "https://github.com/rust-lang-nursery/lazy-static.rs", rev = "5735630d46572f1e5377c8f2ba0f79d18f53b10c" } -parking_lot_core = { path = "patches/parking_lot_core" } -parking_lot = { path = "patches/parking_lot" } -# wasmtime pulls in an old version for this -zstd = { path = "patches/zstd" } -# Needed for WAL compression -rocksdb = { path = "patches/rocksdb" } -# 1.0.1 was yanked due to a breaking change (an extra field) -# 2.0 has fewer dependencies and still works within our tree -tiny-bip39 = { path = "patches/tiny-bip39" } - -# is-terminal now has an std-based solution with an equivalent API -is-terminal = { path = "patches/is-terminal" } -# So does matches +# `matches` has an `std` alternative matches = { path = "patches/matches" } # directories-next was created because directories was unmaintained @@ -159,6 +140,7 @@ option-ext = { path = "patches/option-ext" } directories-next = { path = "patches/directories-next" } [workspace.lints.clippy] +uninlined_format_args = "allow" # TODO unwrap_or_default = "allow" manual_is_multiple_of = "allow" incompatible_msrv = "allow" # Manually verified with a GitHub workflow @@ -202,7 +184,6 @@ redundant_closure_for_method_calls = "deny" redundant_else = "deny" string_add_assign = "deny" unchecked_duration_subtraction = "deny" -uninlined_format_args = "deny" unnecessary_box_returns = "deny" unnecessary_join = "deny" unnecessary_wraps = "deny" diff --git a/common/db/Cargo.toml b/common/db/Cargo.toml index e422b346..46a1e97d 100644 --- a/common/db/Cargo.toml +++ b/common/db/Cargo.toml @@ -18,7 +18,7 @@ workspace = true [dependencies] parity-db = { version = "0.4", default-features = false, optional = true } -rocksdb = { version = "0.21", default-features = false, features = ["zstd"], optional = true } +rocksdb = { version = "0.24", default-features = false, features = ["zstd"], optional = true } [features] parity-db = ["dep:parity-db"] diff --git a/coordinator/Cargo.toml b/coordinator/Cargo.toml index 6f2b3c24..47b6db31 100644 --- a/coordinator/Cargo.toml +++ b/coordinator/Cargo.toml @@ -42,7 +42,7 @@ processor-messages = { package = "serai-processor-messages", path = "../processo message-queue = { package = "serai-message-queue", path = "../message-queue" } tributary = { package = "tributary-chain", path = "./tributary" } -sp-application-crypto = { git = "https://github.com/serai-dex/substrate", default-features = false, features = ["std"] } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false, features = ["std"] } serai-client = { path = "../substrate/client", default-features = false, features = ["serai", "borsh"] } hex = { version = "0.4", default-features = false, features = ["std"] } @@ -57,8 +57,8 @@ libp2p = { version = "0.52", default-features = false, features = ["tokio", "tcp [dev-dependencies] tributary = { package = "tributary-chain", path = "./tributary", features = ["tests"] } -sp-application-crypto = { git = "https://github.com/serai-dex/substrate", default-features = false, features = ["std"] } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false, features = ["std"] } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false, features = ["std"] } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false, features = ["std"] } [features] longer-reattempts = [] diff --git a/coordinator/src/cosign_evaluator.rs b/coordinator/src/cosign_evaluator.rs index 84436008..083ff475 100644 --- a/coordinator/src/cosign_evaluator.rs +++ b/coordinator/src/cosign_evaluator.rs @@ -12,7 +12,7 @@ use tokio::{ use borsh::BorshSerialize; use sp_application_crypto::RuntimePublic; use serai_client::{ - primitives::{ExternalNetworkId, Signature, EXTERNAL_NETWORKS}, + primitives::{ExternalNetworkId, EXTERNAL_NETWORKS}, validator_sets::primitives::{ExternalValidatorSet, Session}, Serai, SeraiError, TemporalSerai, }; @@ -164,7 +164,7 @@ impl CosignEvaluator { if !keys .0 - .verify(&cosign_block_msg(cosign.block_number, cosign.block), &Signature(cosign.signature)) + .verify(&cosign_block_msg(cosign.block_number, cosign.block), &cosign.signature.into()) { log::warn!("received cosigned block with an invalid signature"); return Ok(()); diff --git a/coordinator/src/main.rs b/coordinator/src/main.rs index 58a3b6d0..15bbe2eb 100644 --- a/coordinator/src/main.rs +++ b/coordinator/src/main.rs @@ -1,3 +1,5 @@ +#![expect(clippy::cast_possible_truncation)] + use core::ops::Deref; use std::{ sync::{OnceLock, Arc}, @@ -269,12 +271,15 @@ async fn handle_processor_message( coordinator::ProcessorMessage::SignedSlashReport { session, signature } => { let set = ExternalValidatorSet { network, session: *session }; let signature: &[u8] = signature.as_ref(); - let signature = serai_client::Signature(signature.try_into().unwrap()); + let signature = <[u8; 64]>::try_from(signature).unwrap(); + let signature: serai_client::Signature = signature.into(); let slashes = crate::tributary::SlashReport::get(&txn, set) .expect("signed slash report despite not having slash report locally"); - let slashes_pubs = - slashes.iter().map(|(address, points)| (Public(*address), *points)).collect::>(); + let slashes_pubs = slashes + .iter() + .map(|(address, points)| (Public::from(*address), *points)) + .collect::>(); let tx = serai_client::SeraiValidatorSets::report_slashes( network, @@ -284,7 +289,7 @@ async fn handle_processor_message( .collect::>() .try_into() .unwrap(), - signature.clone(), + signature, ); loop { @@ -501,7 +506,7 @@ async fn handle_processor_message( &mut txn, key, spec, - &KeyPair(Public(substrate_key), network_key.try_into().unwrap()), + &KeyPair(Public::from(substrate_key), network_key.try_into().unwrap()), id.attempt, ); diff --git a/coordinator/src/tests/tributary/chain.rs b/coordinator/src/tests/tributary/chain.rs index 38314b46..c743cd77 100644 --- a/coordinator/src/tests/tributary/chain.rs +++ b/coordinator/src/tests/tributary/chain.rs @@ -55,7 +55,9 @@ pub fn new_spec( let set_participants = keys .iter() - .map(|key| (sr25519::Public((::generator() * **key).to_bytes()), 1)) + .map(|key| { + (sr25519::Public::from((::generator() * **key).to_bytes()), 1) + }) .collect::>(); let res = TributarySpec::new(serai_block, start_time, set, set_participants); diff --git a/coordinator/src/tests/tributary/dkg.rs b/coordinator/src/tests/tributary/dkg.rs index 9bd606c7..6b7f03cc 100644 --- a/coordinator/src/tests/tributary/dkg.rs +++ b/coordinator/src/tests/tributary/dkg.rs @@ -316,7 +316,8 @@ async fn dkg_test() { OsRng.fill_bytes(&mut substrate_key); let mut network_key = vec![0; usize::try_from((OsRng.next_u64() % 32) + 32).unwrap()]; OsRng.fill_bytes(&mut network_key); - let key_pair = KeyPair(serai_client::Public(substrate_key), network_key.try_into().unwrap()); + let key_pair = + KeyPair(serai_client::Public::from(substrate_key), network_key.try_into().unwrap()); let mut txs = vec![]; for (i, key) in keys.iter().enumerate() { @@ -361,7 +362,7 @@ async fn dkg_test() { assert_eq!(self.key_pair, key_pair); assert!(signature.verify( &*serai_client::validator_sets::primitives::set_keys_message(&set, &[], &key_pair), - &serai_client::Public( + &serai_client::Public::from( dkg_musig::musig_key_vartime::( serai_client::validator_sets::primitives::musig_context(set.into()), &self.spec.validators().into_iter().map(|(validator, _)| validator).collect::>() diff --git a/coordinator/src/tributary/handle.rs b/coordinator/src/tributary/handle.rs index bb29101a..d13bf57c 100644 --- a/coordinator/src/tributary/handle.rs +++ b/coordinator/src/tributary/handle.rs @@ -9,7 +9,7 @@ use ciphersuite::{group::GroupEncoding, Ciphersuite}; use frost::dkg::Participant; use scale::{Encode, Decode}; -use serai_client::{Signature, validator_sets::primitives::KeyPair}; +use serai_client::validator_sets::primitives::KeyPair; use tributary::{Signed, TransactionKind, TransactionTrait}; @@ -554,7 +554,7 @@ impl< self.spec.set(), removed.into_iter().map(|key| key.to_bytes().into()).collect(), key_pair, - Signature(sig), + sig.into(), ) .await; } diff --git a/coordinator/src/tributary/signing_protocol.rs b/coordinator/src/tributary/signing_protocol.rs index dc2f58a2..9e54b888 100644 --- a/coordinator/src/tributary/signing_protocol.rs +++ b/coordinator/src/tributary/signing_protocol.rs @@ -295,7 +295,7 @@ impl DkgConfirmer<'_, T> { threshold_i_map_to_keys_and_musig_i_map(self.spec, &self.removed, self.key, preprocesses).1; let msg = set_keys_message( &self.spec.set(), - &self.removed.iter().map(|key| Public(key.to_bytes())).collect::>(), + &self.removed.iter().map(|key| Public::from(key.to_bytes())).collect::>(), key_pair, ); self.signing_protocol().share_internal(&participants, preprocesses, &msg) diff --git a/coordinator/tributary/tendermint/src/lib.rs b/coordinator/tributary/tendermint/src/lib.rs index 10f1fccf..2641208a 100644 --- a/coordinator/tributary/tendermint/src/lib.rs +++ b/coordinator/tributary/tendermint/src/lib.rs @@ -1,3 +1,5 @@ +#![expect(clippy::cast_possible_truncation)] + use core::fmt::Debug; use std::{ diff --git a/deny.toml b/deny.toml index 1a35c1b6..f348705d 100644 --- a/deny.toml +++ b/deny.toml @@ -7,10 +7,11 @@ db-urls = ["https://github.com/rustsec/advisory-db"] yanked = "deny" ignore = [ - "RUSTSEC-2020-0168", # mach is unmaintained - "RUSTSEC-2021-0139", # https://github.com/serai-dex/serai/228 "RUSTSEC-2022-0061", # https://github.com/serai-dex/serai/227 "RUSTSEC-2024-0370", # proc-macro-error is unmaintained + "RUSTSEC-2024-0436", # paste is unmaintained + "RUSTSEC-2024-0384", # instant is unmaintained, fixed on `next` + "RUSTSEC-2025-0057", # fxhash is unmaintained, fixed with bytecodealliance/wasmtime/pull/11634 ] [licenses] @@ -27,57 +28,60 @@ allow = [ "BSD-2-Clause", "BSD-3-Clause", "ISC", - "Unicode-DFS-2016", - "OpenSSL", + "Zlib", + "Unicode-3.0", + "CDLA-Permissive-2.0", # Non-invasive copyleft - "MPL-2.0", + # "MPL-2.0", # Commented as it's not currently in-use within the Serai tree "Apache-2.0", "Apache-2.0 WITH LLVM-exception", - "GPL-3.0 WITH Classpath-exception-2.0", + "GPL-3.0-or-later WITH Classpath-exception-2.0", ] exceptions = [ - { allow = ["AGPL-3.0"], name = "serai-env" }, + { allow = ["AGPL-3.0-only"], name = "serai-env" }, - { allow = ["AGPL-3.0"], name = "ethereum-serai" }, - { allow = ["AGPL-3.0"], name = "serai-ethereum-relayer" }, + { allow = ["AGPL-3.0-only"], name = "ethereum-serai" }, + { allow = ["AGPL-3.0-only"], name = "serai-ethereum-relayer" }, - { allow = ["AGPL-3.0"], name = "serai-message-queue" }, + { allow = ["AGPL-3.0-only"], name = "serai-message-queue" }, - { allow = ["AGPL-3.0"], name = "serai-processor-messages" }, - { allow = ["AGPL-3.0"], name = "serai-processor" }, + { allow = ["AGPL-3.0-only"], name = "serai-processor-messages" }, + { allow = ["AGPL-3.0-only"], name = "serai-processor" }, - { allow = ["AGPL-3.0"], name = "tributary-chain" }, - { allow = ["AGPL-3.0"], name = "serai-coordinator" }, + { allow = ["AGPL-3.0-only"], name = "tributary-chain" }, + { allow = ["AGPL-3.0-only"], name = "serai-coordinator" }, - { allow = ["AGPL-3.0"], name = "serai-coins-pallet" }, - { allow = ["AGPL-3.0"], name = "serai-dex-pallet" }, + { allow = ["AGPL-3.0-only"], name = "pallet-session" }, - { allow = ["AGPL-3.0"], name = "serai-genesis-liquidity-pallet" }, - { allow = ["AGPL-3.0"], name = "serai-emissions-pallet" }, + { allow = ["AGPL-3.0-only"], name = "serai-coins-pallet" }, + { allow = ["AGPL-3.0-only"], name = "serai-dex-pallet" }, - { allow = ["AGPL-3.0"], name = "serai-economic-security-pallet" }, + { allow = ["AGPL-3.0-only"], name = "serai-genesis-liquidity-pallet" }, + { allow = ["AGPL-3.0-only"], name = "serai-emissions-pallet" }, - { allow = ["AGPL-3.0"], name = "serai-in-instructions-pallet" }, + { allow = ["AGPL-3.0-only"], name = "serai-economic-security-pallet" }, - { allow = ["AGPL-3.0"], name = "serai-validator-sets-pallet" }, + { allow = ["AGPL-3.0-only"], name = "serai-in-instructions-pallet" }, - { allow = ["AGPL-3.0"], name = "serai-signals-pallet" }, + { allow = ["AGPL-3.0-only"], name = "serai-validator-sets-pallet" }, - { allow = ["AGPL-3.0"], name = "serai-runtime" }, - { allow = ["AGPL-3.0"], name = "serai-node" }, + { allow = ["AGPL-3.0-only"], name = "serai-signals-pallet" }, - { allow = ["AGPL-3.0"], name = "serai-orchestrator" }, + { allow = ["AGPL-3.0-only"], name = "serai-runtime" }, + { allow = ["AGPL-3.0-only"], name = "serai-node" }, - { allow = ["AGPL-3.0"], name = "mini-serai" }, + { allow = ["AGPL-3.0-only"], name = "serai-orchestrator" }, - { allow = ["AGPL-3.0"], name = "serai-docker-tests" }, - { allow = ["AGPL-3.0"], name = "serai-message-queue-tests" }, - { allow = ["AGPL-3.0"], name = "serai-processor-tests" }, - { allow = ["AGPL-3.0"], name = "serai-coordinator-tests" }, - { allow = ["AGPL-3.0"], name = "serai-full-stack-tests" }, - { allow = ["AGPL-3.0"], name = "serai-reproducible-runtime-tests" }, + { allow = ["AGPL-3.0-only"], name = "mini-serai" }, + + { allow = ["AGPL-3.0-only"], name = "serai-docker-tests" }, + { allow = ["AGPL-3.0-only"], name = "serai-message-queue-tests" }, + { allow = ["AGPL-3.0-only"], name = "serai-processor-tests" }, + { allow = ["AGPL-3.0-only"], name = "serai-coordinator-tests" }, + { allow = ["AGPL-3.0-only"], name = "serai-full-stack-tests" }, + { allow = ["AGPL-3.0-only"], name = "serai-reproducible-runtime-tests" }, ] [[licenses.clarify]] @@ -94,7 +98,11 @@ wildcards = "warn" highlight = "all" deny = [ { name = "serde_derive", version = ">=1.0.172, <1.0.185" }, - { name = "hashbrown", version = ">=0.15" }, + { name = "hashbrown", version = "=0.15.0" }, + # Legacy which _no one_ should use anymore + { name = "is-terminal", version = "*" }, + # Stop introduction into the tree without realizing it + { name = "once_cell_polyfill", version = "*" }, ] [sources] @@ -103,7 +111,7 @@ unknown-git = "deny" allow-registry = ["https://github.com/rust-lang/crates.io-index"] allow-git = [ "https://github.com/rust-lang-nursery/lazy-static.rs", + "https://github.com/kayabaNerve/elliptic-curves", "https://github.com/monero-oxide/monero-oxide", - "https://github.com/serai-dex/substrate", "https://github.com/serai-dex/patch-polkadot-sdk", ] diff --git a/networks/ethereum/src/crypto.rs b/networks/ethereum/src/crypto.rs index 6ea6a0b0..6009e7a3 100644 --- a/networks/ethereum/src/crypto.rs +++ b/networks/ethereum/src/crypto.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] + use group::ff::PrimeField; use k256::{ elliptic_curve::{ops::Reduce, point::AffineCoordinates, sec1::ToEncodedPoint}, diff --git a/networks/ethereum/src/tests/crypto.rs b/networks/ethereum/src/tests/crypto.rs index a668b2d6..2da2bb96 100644 --- a/networks/ethereum/src/tests/crypto.rs +++ b/networks/ethereum/src/tests/crypto.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] + use rand_core::OsRng; use group::ff::{Field, PrimeField}; diff --git a/networks/ethereum/src/tests/mod.rs b/networks/ethereum/src/tests/mod.rs index cbe1bb44..76334669 100644 --- a/networks/ethereum/src/tests/mod.rs +++ b/networks/ethereum/src/tests/mod.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] + use std::{sync::Arc, collections::HashMap}; use rand_core::OsRng; diff --git a/orchestration/src/main.rs b/orchestration/src/main.rs index 09e046a3..940374b7 100644 --- a/orchestration/src/main.rs +++ b/orchestration/src/main.rs @@ -118,7 +118,7 @@ WORKDIR /home/{user} Os::Debian => format!( r#" -FROM debian:bookworm-slim AS image +FROM debian:trixie-slim AS image COPY --from=mimalloc-debian libmimalloc.so /usr/lib RUN echo "/usr/lib/libmimalloc.so" >> /etc/ld.so.preload @@ -147,7 +147,7 @@ fn build_serai_service(prelude: &str, release: bool, features: &str, package: &s format!( r#" -FROM rust:1.89-slim-bookworm AS builder +FROM rust:1.90-slim-trixie AS builder COPY --from=mimalloc-debian libmimalloc.so /usr/lib RUN echo "/usr/lib/libmimalloc.so" >> /etc/ld.so.preload @@ -155,7 +155,7 @@ RUN echo "/usr/lib/libmimalloc.so" >> /etc/ld.so.preload RUN apt update && apt upgrade -y && apt autoremove -y && apt clean # Add dev dependencies -RUN apt install -y pkg-config clang +RUN apt install -y pkg-config libclang-dev clang # Dependencies for the Serai node RUN apt install -y make protobuf-compiler diff --git a/orchestration/src/mimalloc.rs b/orchestration/src/mimalloc.rs index 51f5bfe7..73b866e8 100644 --- a/orchestration/src/mimalloc.rs +++ b/orchestration/src/mimalloc.rs @@ -16,7 +16,7 @@ RUN git clone https://github.com/microsoft/mimalloc && \ "#; const DEBIAN_MIMALLOC: &str = r#" -FROM debian:bookworm-slim AS mimalloc-debian +FROM debian:trixie-slim AS mimalloc-debian RUN apt update && apt upgrade -y && apt install -y gcc g++ make cmake git RUN git clone https://github.com/microsoft/mimalloc && \ diff --git a/patches/is-terminal/Cargo.toml b/patches/is-terminal/Cargo.toml deleted file mode 100644 index ef8f8f13..00000000 --- a/patches/is-terminal/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "is-terminal" -version = "0.4.10" -description = "is-terminal written around std::io::IsTerminal" -license = "MIT" -repository = "https://github.com/serai-dex/serai/tree/develop/patches/is-terminal" -authors = ["Luke Parker "] -keywords = [] -edition = "2021" -rust-version = "1.70" - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] diff --git a/patches/is-terminal/src/lib.rs b/patches/is-terminal/src/lib.rs deleted file mode 100644 index e3ad95c2..00000000 --- a/patches/is-terminal/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub use std::io::IsTerminal; diff --git a/patches/parking_lot/Cargo.toml b/patches/parking_lot/Cargo.toml deleted file mode 100644 index 957b19bf..00000000 --- a/patches/parking_lot/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "parking_lot" -version = "0.11.2" -description = "parking_lot which patches to the latest update" -license = "MIT" -repository = "https://github.com/serai-dex/serai/tree/develop/patches/parking_lot" -authors = ["Luke Parker "] -keywords = [] -edition = "2021" -rust-version = "1.70" - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - -[dependencies] -parking_lot = "0.12" diff --git a/patches/parking_lot/src/lib.rs b/patches/parking_lot/src/lib.rs deleted file mode 100644 index df10a74d..00000000 --- a/patches/parking_lot/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub use parking_lot::*; diff --git a/patches/parking_lot_core/Cargo.toml b/patches/parking_lot_core/Cargo.toml deleted file mode 100644 index 37dcc703..00000000 --- a/patches/parking_lot_core/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "parking_lot_core" -version = "0.8.6" -description = "parking_lot_core which patches to the latest update" -license = "MIT" -repository = "https://github.com/serai-dex/serai/tree/develop/patches/parking_lot_core" -authors = ["Luke Parker "] -keywords = [] -edition = "2021" -rust-version = "1.70" - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - -[dependencies] -parking_lot_core = "0.9" diff --git a/patches/parking_lot_core/src/lib.rs b/patches/parking_lot_core/src/lib.rs deleted file mode 100644 index bfecbfd8..00000000 --- a/patches/parking_lot_core/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub use parking_lot_core::*; diff --git a/patches/rocksdb/Cargo.toml b/patches/rocksdb/Cargo.toml deleted file mode 100644 index 3a92fafc..00000000 --- a/patches/rocksdb/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -[package] -name = "rocksdb" -version = "0.21.0" -description = "rocksdb which patches to the latest update" -license = "MIT" -repository = "https://github.com/serai-dex/serai/tree/develop/patches/rocksdb" -authors = ["Luke Parker "] -keywords = [] -edition = "2021" -rust-version = "1.70" - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - -[dependencies] -rocksdb = { version = "0.22", default-features = false } - -[features] -jemalloc = [] -snappy = ["rocksdb/snappy"] -lz4 = ["rocksdb/lz4"] -zstd = ["rocksdb/zstd"] -zlib = ["rocksdb/zlib"] -bzip2 = ["rocksdb/bzip2"] -default = ["snappy", "lz4", "zstd", "zlib", "bzip2"] diff --git a/patches/rocksdb/src/lib.rs b/patches/rocksdb/src/lib.rs deleted file mode 100644 index bd209ce8..00000000 --- a/patches/rocksdb/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub use rocksdb::*; diff --git a/patches/tiny-bip39/Cargo.toml b/patches/tiny-bip39/Cargo.toml deleted file mode 100644 index ff9b8a61..00000000 --- a/patches/tiny-bip39/Cargo.toml +++ /dev/null @@ -1,24 +0,0 @@ -[package] -name = "tiny-bip39" -version = "1.0.2" -description = "tiny-bip39 which patches to the latest update" -license = "MIT" -repository = "https://github.com/serai-dex/serai/tree/develop/patches/tiny-bip39" -authors = ["Luke Parker "] -keywords = [] -edition = "2021" -rust-version = "1.70" - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - -[package.metadata.cargo-machete] -ignored = ["tiny-bip39"] - -[lib] -name = "bip39" -path = "src/lib.rs" - -[dependencies] -tiny-bip39 = "2" diff --git a/patches/tiny-bip39/src/lib.rs b/patches/tiny-bip39/src/lib.rs deleted file mode 100644 index 3890f5ae..00000000 --- a/patches/tiny-bip39/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub use bip39::*; diff --git a/patches/zstd/Cargo.toml b/patches/zstd/Cargo.toml deleted file mode 100644 index 0d1368e4..00000000 --- a/patches/zstd/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -description = "zstd which patches to the latest update" -license = "MIT" -repository = "https://github.com/serai-dex/serai/tree/develop/patches/zstd" -authors = ["Luke Parker "] -keywords = [] -edition = "2021" -rust-version = "1.70" - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - -[dependencies] -zstd = "0.13" diff --git a/patches/zstd/src/lib.rs b/patches/zstd/src/lib.rs deleted file mode 100644 index b698a9b2..00000000 --- a/patches/zstd/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub use zstd::*; diff --git a/processor/Cargo.toml b/processor/Cargo.toml index d276fbe9..f8f9f728 100644 --- a/processor/Cargo.toml +++ b/processor/Cargo.toml @@ -76,7 +76,7 @@ message-queue = { package = "serai-message-queue", path = "../message-queue", op [dev-dependencies] frost = { package = "modular-frost", path = "../crypto/frost", features = ["tests"] } -sp-application-crypto = { git = "https://github.com/serai-dex/substrate", default-features = false, features = ["std"] } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false, features = ["std"] } ethereum-serai = { path = "../networks/ethereum", default-features = false, features = ["tests"] } diff --git a/processor/messages/src/lib.rs b/processor/messages/src/lib.rs index 22360a1a..2a2c8d32 100644 --- a/processor/messages/src/lib.rs +++ b/processor/messages/src/lib.rs @@ -1,3 +1,5 @@ +#![expect(clippy::cast_possible_truncation)] + use std::collections::HashMap; use scale::{Encode, Decode}; diff --git a/processor/src/networks/ethereum.rs b/processor/src/networks/ethereum.rs index baa5d699..e32b451e 100644 --- a/processor/src/networks/ethereum.rs +++ b/processor/src/networks/ethereum.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] + use core::{fmt, time::Duration}; use std::{ sync::Arc, diff --git a/processor/src/slash_report_signer.rs b/processor/src/slash_report_signer.rs index 056055f7..266decc8 100644 --- a/processor/src/slash_report_signer.rs +++ b/processor/src/slash_report_signer.rs @@ -183,7 +183,7 @@ impl SlashReportSigner { .report .clone() .into_iter() - .map(|(validator, points)| (Public(validator), points)) + .map(|(validator, points)| (Public::from(validator), points)) .collect::>(), ), ) { diff --git a/processor/src/tests/cosigner.rs b/processor/src/tests/cosigner.rs index 57845cff..12676e87 100644 --- a/processor/src/tests/cosigner.rs +++ b/processor/src/tests/cosigner.rs @@ -118,7 +118,7 @@ fn test_cosigner() { assert_eq!(signed_block, block); assert!(Public::from_raw(keys[&participant_one].group_key().to_bytes()).verify( &cosign_block_msg(block_number, block), - &Signature(signature.try_into().unwrap()) + &Signature::from(<[u8; 64]>::try_from(signature).unwrap()) )); } _ => panic!("didn't get cosigned block back"), diff --git a/processor/src/tests/key_gen.rs b/processor/src/tests/key_gen.rs index 047e006a..d524a030 100644 --- a/processor/src/tests/key_gen.rs +++ b/processor/src/tests/key_gen.rs @@ -125,7 +125,7 @@ pub fn test_key_gen() { let KeyConfirmed { mut substrate_keys, mut network_keys } = key_gen.confirm( &mut txn, ID.session, - &KeyPair(sr25519::Public(res.0), res.1.clone().try_into().unwrap()), + &KeyPair(sr25519::Public::from(res.0), res.1.clone().try_into().unwrap()), ); txn.commit(); diff --git a/substrate/abi/Cargo.toml b/substrate/abi/Cargo.toml index 072f7460..581f181b 100644 --- a/substrate/abi/Cargo.toml +++ b/substrate/abi/Cargo.toml @@ -17,18 +17,18 @@ workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } borsh = { version = "1", default-features = false, features = ["derive", "de_strict_order"], optional = true } serde = { version = "1", default-features = false, features = ["derive", "alloc"], optional = true } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -sp-consensus-babe = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } serai-primitives = { path = "../primitives", version = "0.1", default-features = false } serai-coins-primitives = { path = "../coins/primitives", version = "0.1", default-features = false } @@ -41,7 +41,6 @@ serai-signals-primitives = { path = "../signals/primitives", version = "0.1", de [features] std = [ "scale/std", - "scale-info/std", "borsh?/std", "serde?/std", @@ -52,6 +51,7 @@ std = [ "sp-consensus-babe/std", "sp-consensus-grandpa/std", + "frame-system/std", "frame-support/std", "serai-primitives/std", diff --git a/substrate/abi/src/babe.rs b/substrate/abi/src/babe.rs index 9bba63d9..d130ac63 100644 --- a/substrate/abi/src/babe.rs +++ b/substrate/abi/src/babe.rs @@ -2,7 +2,9 @@ use sp_consensus_babe::EquivocationProof; use serai_primitives::{Header, SeraiAddress}; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] pub struct ReportEquivocation { pub equivocation_proof: alloc::boxed::Box>, pub key_owner_proof: SeraiAddress, @@ -10,7 +12,9 @@ pub struct ReportEquivocation { // We could define a Babe Config here and use the literal pallet_babe::Call // The disadvantage to this would be the complexity and presence of junk fields such as `__Ignore` -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] pub enum Call { report_equivocation(ReportEquivocation), report_equivocation_unsigned(ReportEquivocation), diff --git a/substrate/abi/src/coins.rs b/substrate/abi/src/coins.rs index 9466db0f..2042c33b 100644 --- a/substrate/abi/src/coins.rs +++ b/substrate/abi/src/coins.rs @@ -3,7 +3,9 @@ use serai_primitives::{Balance, SeraiAddress}; pub use serai_coins_primitives as primitives; use primitives::OutInstructionWithBalance; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] @@ -13,7 +15,9 @@ pub enum Call { burn_with_instruction { instruction: OutInstructionWithBalance }, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] diff --git a/substrate/abi/src/dex.rs b/substrate/abi/src/dex.rs index d85dace3..c9e87393 100644 --- a/substrate/abi/src/dex.rs +++ b/substrate/abi/src/dex.rs @@ -5,7 +5,9 @@ use serai_primitives::*; type PoolId = ExternalCoin; type MaxSwapPathLength = sp_core::ConstU32<3>; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] pub enum Call { @@ -38,7 +40,9 @@ pub enum Call { }, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] pub enum Event { diff --git a/substrate/abi/src/economic_security.rs b/substrate/abi/src/economic_security.rs index 2899e090..9cc6e22d 100644 --- a/substrate/abi/src/economic_security.rs +++ b/substrate/abi/src/economic_security.rs @@ -1,6 +1,8 @@ use serai_primitives::ExternalNetworkId; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum Event { diff --git a/substrate/abi/src/genesis_liquidity.rs b/substrate/abi/src/genesis_liquidity.rs index 7660b3ab..0e2396dd 100644 --- a/substrate/abi/src/genesis_liquidity.rs +++ b/substrate/abi/src/genesis_liquidity.rs @@ -3,14 +3,18 @@ pub use serai_genesis_liquidity_primitives as primitives; use serai_primitives::*; use primitives::*; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum Call { remove_coin_liquidity { balance: ExternalBalance }, oraclize_values { values: Values, signature: Signature }, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum Event { diff --git a/substrate/abi/src/grandpa.rs b/substrate/abi/src/grandpa.rs index 376b0b1d..2995518e 100644 --- a/substrate/abi/src/grandpa.rs +++ b/substrate/abi/src/grandpa.rs @@ -2,19 +2,25 @@ use sp_consensus_grandpa::EquivocationProof; use serai_primitives::{BlockNumber, SeraiAddress}; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] pub struct ReportEquivocation { pub equivocation_proof: alloc::boxed::Box>, pub key_owner_proof: SeraiAddress, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] pub enum Call { report_equivocation(ReportEquivocation), report_equivocation_unsigned(ReportEquivocation), } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] pub enum Event { diff --git a/substrate/abi/src/in_instructions.rs b/substrate/abi/src/in_instructions.rs index 765a5053..ac1a9a4f 100644 --- a/substrate/abi/src/in_instructions.rs +++ b/substrate/abi/src/in_instructions.rs @@ -3,7 +3,9 @@ use serai_primitives::*; pub use serai_in_instructions_primitives as primitives; use primitives::SignedBatch; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] @@ -11,7 +13,9 @@ pub enum Call { execute_batch { batch: SignedBatch }, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] diff --git a/substrate/abi/src/lib.rs b/substrate/abi/src/lib.rs index 255f3254..3e40b51e 100644 --- a/substrate/abi/src/lib.rs +++ b/substrate/abi/src/lib.rs @@ -2,6 +2,7 @@ #![cfg_attr(docsrs, feature(doc_auto_cfg))] #![cfg_attr(not(feature = "std"), no_std)] #![allow(non_camel_case_types)] +#![expect(clippy::cast_possible_truncation)] extern crate alloc; @@ -31,45 +32,71 @@ pub mod grandpa; pub mod tx; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] pub enum Call { + #[codec(index = 1)] Timestamp(timestamp::Call), + #[codec(index = 3)] Coins(coins::Call), + #[codec(index = 4)] LiquidityTokens(liquidity_tokens::Call), + #[codec(index = 5)] Dex(dex::Call), + #[codec(index = 6)] ValidatorSets(validator_sets::Call), + #[codec(index = 7)] GenesisLiquidity(genesis_liquidity::Call), + #[codec(index = 10)] InInstructions(in_instructions::Call), + #[codec(index = 11)] Signals(signals::Call), + #[codec(index = 12)] Babe(babe::Call), + #[codec(index = 13)] Grandpa(grandpa::Call), } // TODO: Remove this -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] pub enum TransactionPaymentEvent { TransactionFeePaid { who: serai_primitives::SeraiAddress, actual_fee: u64, tip: u64 }, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] pub enum Event { + #[codec(index = 0)] System(system::Event), - Timestamp, + #[codec(index = 2)] TransactionPayment(TransactionPaymentEvent), + #[codec(index = 3)] Coins(coins::Event), + #[codec(index = 4)] LiquidityTokens(liquidity_tokens::Event), + #[codec(index = 5)] Dex(dex::Event), + #[codec(index = 6)] ValidatorSets(validator_sets::Event), + #[codec(index = 7)] GenesisLiquidity(genesis_liquidity::Event), - Emissions, + #[codec(index = 9)] EconomicSecurity(economic_security::Event), + #[codec(index = 10)] InInstructions(in_instructions::Event), + #[codec(index = 11)] Signals(signals::Event), - Babe, + #[codec(index = 13)] Grandpa(grandpa::Event), } -#[derive(Clone, Copy, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, Copy, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] pub struct Extra { @@ -80,7 +107,9 @@ pub struct Extra { pub tip: u64, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] diff --git a/substrate/abi/src/liquidity_tokens.rs b/substrate/abi/src/liquidity_tokens.rs index 6bdc651b..d2b22b34 100644 --- a/substrate/abi/src/liquidity_tokens.rs +++ b/substrate/abi/src/liquidity_tokens.rs @@ -1,6 +1,8 @@ use serai_primitives::{Balance, SeraiAddress}; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum Call { @@ -8,7 +10,9 @@ pub enum Call { transfer { to: SeraiAddress, balance: Balance }, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] pub enum Event { diff --git a/substrate/abi/src/signals.rs b/substrate/abi/src/signals.rs index 6a77672f..2e1d6ab1 100644 --- a/substrate/abi/src/signals.rs +++ b/substrate/abi/src/signals.rs @@ -5,7 +5,9 @@ use serai_validator_sets_primitives::ValidatorSet; pub use serai_signals_primitives as primitives; use primitives::SignalId; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] @@ -17,7 +19,9 @@ pub enum Call { stand_against { signal_id: SignalId, for_network: NetworkId }, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] diff --git a/substrate/abi/src/system.rs b/substrate/abi/src/system.rs index d025e767..04e821c8 100644 --- a/substrate/abi/src/system.rs +++ b/substrate/abi/src/system.rs @@ -1,13 +1,15 @@ -use frame_support::dispatch::{DispatchInfo, DispatchError}; +use frame_system::DispatchEventInfo; +use frame_support::sp_runtime::DispatchError; use serai_primitives::SeraiAddress; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] pub enum Event { - ExtrinsicSuccess { dispatch_info: DispatchInfo }, - ExtrinsicFailed { dispatch_error: DispatchError, dispatch_info: DispatchInfo }, + ExtrinsicSuccess { dispatch_info: DispatchEventInfo }, + ExtrinsicFailed { dispatch_error: DispatchError, dispatch_info: DispatchEventInfo }, CodeUpdated, NewAccount { account: SeraiAddress }, KilledAccount { account: SeraiAddress }, - Remarked { sender: SeraiAddress, hash: [u8; 32] }, } diff --git a/substrate/abi/src/timestamp.rs b/substrate/abi/src/timestamp.rs index af763928..05bd3aff 100644 --- a/substrate/abi/src/timestamp.rs +++ b/substrate/abi/src/timestamp.rs @@ -1,4 +1,6 @@ -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] pub enum Call { diff --git a/substrate/abi/src/tx.rs b/substrate/abi/src/tx.rs index b1fccf09..3b52d3af 100644 --- a/substrate/abi/src/tx.rs +++ b/substrate/abi/src/tx.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] + use scale::Encode; use sp_core::sr25519::{Public, Signature}; @@ -8,18 +10,11 @@ use serai_primitives::SeraiAddress; use frame_support::dispatch::GetDispatchInfo; pub trait TransactionMember: - Clone + PartialEq + Eq + core::fmt::Debug + scale::Encode + scale::Decode + scale_info::TypeInfo + Clone + PartialEq + Eq + core::fmt::Debug + scale::Encode + scale::Decode { } -impl< - T: Clone - + PartialEq - + Eq - + core::fmt::Debug - + scale::Encode - + scale::Decode - + scale_info::TypeInfo, - > TransactionMember for T +impl TransactionMember + for T { } @@ -29,8 +24,8 @@ type TransactionDecodeAs = (crate::Call, Option<(SeraiAddress, Signature, // We use our own Transaction struct, over UncheckedExtrinsic, for more control, a bit more // simplicity, and in order to be immune to https://github.com/paritytech/polkadot-sdk/issues/2947 -#[allow(private_bounds)] -#[derive(Clone, PartialEq, Eq, Debug)] +#[allow(clippy::multiple_bound_locations)] +#[derive(Clone, PartialEq, Eq, Debug, scale::DecodeWithMemTracking)] pub struct Transaction< Call: 'static + TransactionMember + From, Extra: 'static + TransactionMember, @@ -50,6 +45,10 @@ impl, Extra: 'static + Tra pub fn call(&self) -> &crate::Call { &self.call } + + pub fn signer(&self) -> Option { + self.signature.as_ref().map(|(address, _sig, _extra)| *address) + } } impl, Extra: 'static + TransactionMember> @@ -69,16 +68,6 @@ impl, Extra: 'static + Tra Ok(Self { call, mapped_call, signature }) } } -impl, Extra: 'static + TransactionMember> - scale_info::TypeInfo for Transaction -{ - type Identity = TransactionDecodeAs; - - // Define the type info as the info of the type equivalent to what we encode as - fn type_info() -> scale_info::Type { - TransactionDecodeAs::::type_info() - } -} #[cfg(feature = "serde")] mod _serde { @@ -129,23 +118,14 @@ impl< impl< Call: 'static + TransactionMember + From + TryInto, Extra: 'static + TransactionMember, - > frame_support::traits::ExtrinsicCall for Transaction + > frame_support::sp_runtime::traits::ExtrinsicCall for Transaction { + type Call = Call; fn call(&self) -> &Call { &self.mapped_call } } -impl< - Call: 'static + TransactionMember + From, - Extra: 'static + TransactionMember + sp_runtime::traits::SignedExtension, - > sp_runtime::traits::ExtrinsicMetadata for Transaction -{ - type SignedExtensions = Extra; - - const VERSION: u8 = 0; -} - impl< Call: 'static + TransactionMember + From + GetDispatchInfo, Extra: 'static + TransactionMember, @@ -156,9 +136,10 @@ impl< } } +use sp_runtime::generic::ExtrinsicFormat; impl< - Call: 'static + TransactionMember + From, - Extra: 'static + TransactionMember + sp_runtime::traits::SignedExtension, + Call: 'static + TransactionMember + From + sp_runtime::traits::Dispatchable, + Extra: 'static + TransactionMember + sp_runtime::traits::TransactionExtension, > sp_runtime::traits::BlindCheckable for Transaction { type Checked = sp_runtime::generic::CheckedExtrinsic; @@ -168,19 +149,33 @@ impl< ) -> Result { Ok(match self.signature { Some((signer, signature, extra)) => { - if !signature.verify( - (&self.call, &extra, extra.additional_signed()?).encode().as_slice(), - &signer.into(), - ) { + if !signature + .verify((&self.call, &extra, extra.implicit()?).encode().as_slice(), &signer.into()) + { Err(sp_runtime::transaction_validity::InvalidTransaction::BadProof)? } sp_runtime::generic::CheckedExtrinsic { - signed: Some((signer.into(), extra)), + format: ExtrinsicFormat::Signed(signer.into(), extra), function: self.mapped_call, } } - None => sp_runtime::generic::CheckedExtrinsic { signed: None, function: self.mapped_call }, + None => sp_runtime::generic::CheckedExtrinsic { + format: ExtrinsicFormat::Bare, + function: self.mapped_call, + }, }) } } + +impl< + Call: 'static + TransactionMember + From + TryInto, + Extra: 'static + TransactionMember, + > frame_support::traits::InherentBuilder for Transaction +{ + /// Panics if the inherent isn't supported. + // TODO: Don't panic here + fn new_inherent(call: Self::Call) -> Self { + sp_runtime::traits::Extrinsic::new(call, None).expect("trying to build an unsupported inherent") + } +} diff --git a/substrate/abi/src/validator_sets.rs b/substrate/abi/src/validator_sets.rs index 8e7d2e1e..a5e31980 100644 --- a/substrate/abi/src/validator_sets.rs +++ b/substrate/abi/src/validator_sets.rs @@ -5,7 +5,9 @@ pub use serai_validator_sets_primitives as primitives; use serai_primitives::*; use serai_validator_sets_primitives::*; -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] pub enum Call { @@ -34,7 +36,9 @@ pub enum Call { }, } -#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)] +#[derive( + Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale::DecodeWithMemTracking, +)] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize))] #[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))] diff --git a/substrate/client/Cargo.toml b/substrate/client/Cargo.toml index e3bfe7f9..6e1d8988 100644 --- a/substrate/client/Cargo.toml +++ b/substrate/client/Cargo.toml @@ -28,9 +28,9 @@ serde_json = { version = "1", optional = true } serai-abi = { path = "../abi", version = "0.1" } multiaddr = { version = "0.18", optional = true } -sp-core = { git = "https://github.com/serai-dex/substrate", optional = true } -sp-runtime = { git = "https://github.com/serai-dex/substrate", optional = true } -frame-system = { git = "https://github.com/serai-dex/substrate", optional = true } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", optional = true } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", optional = true } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", optional = true } async-lock = "3" diff --git a/substrate/client/src/lib.rs b/substrate/client/src/lib.rs index a780d55c..ffbe306d 100644 --- a/substrate/client/src/lib.rs +++ b/substrate/client/src/lib.rs @@ -1,3 +1,5 @@ +#![expect(clippy::cast_possible_truncation)] + #[cfg(feature = "networks")] pub mod networks; diff --git a/substrate/client/src/serai/mod.rs b/substrate/client/src/serai/mod.rs index c688bf36..afe34397 100644 --- a/substrate/client/src/serai/mod.rs +++ b/substrate/client/src/serai/mod.rs @@ -290,7 +290,7 @@ impl Serai { self .0 .rpc() - .system_account_next_index(&sp_core::sr25519::Public(address.0).to_string()) + .system_account_next_index(&sp_core::sr25519::Public::from(address.0).to_string()) .await .map_err(|_| SeraiError::ConnectionError) } @@ -315,7 +315,7 @@ impl Serai { &self, network: NetworkId, ) -> Result, SeraiError> { - self.call("p2p_validators", network).await + self.call("p2p_validators", [network]).await } } diff --git a/substrate/client/tests/common/genesis_liquidity.rs b/substrate/client/tests/common/genesis_liquidity.rs index ad416a66..b463adf6 100644 --- a/substrate/client/tests/common/genesis_liquidity.rs +++ b/substrate/client/tests/common/genesis_liquidity.rs @@ -8,7 +8,7 @@ use ciphersuite::Ciphersuite; use dkg_musig::musig; use schnorrkel::Schnorrkel; -use sp_core::{sr25519::Signature, Pair as PairTrait}; +use sp_core::Pair as PairTrait; use serai_abi::{ genesis_liquidity::primitives::{oraclize_values_message, Values}, @@ -114,6 +114,6 @@ async fn set_values(serai: &Serai, values: &Values) { // oraclize values let _ = - publish_tx(serai, &SeraiGenesisLiquidity::oraclize_values(*values, Signature(sig.to_bytes()))) + publish_tx(serai, &SeraiGenesisLiquidity::oraclize_values(*values, sig.to_bytes().into())) .await; } diff --git a/substrate/client/tests/common/validator_sets.rs b/substrate/client/tests/common/validator_sets.rs index 609613d9..d084aeef 100644 --- a/substrate/client/tests/common/validator_sets.rs +++ b/substrate/client/tests/common/validator_sets.rs @@ -4,10 +4,7 @@ use serai_abi::primitives::NetworkId; use zeroize::Zeroizing; use rand_core::OsRng; -use sp_core::{ - sr25519::{Pair, Signature}, - Pair as PairTrait, -}; +use sp_core::{sr25519::Pair, Pair as PairTrait}; use dalek_ff_group::Ristretto; use ciphersuite::Ciphersuite; @@ -69,7 +66,7 @@ pub async fn set_keys( set.network, vec![].try_into().unwrap(), key_pair.clone(), - Signature(sig.to_bytes()), + sig.to_bytes().into(), ), ) .await; diff --git a/substrate/client/tests/validator_sets.rs b/substrate/client/tests/validator_sets.rs index dee2bb42..e91d9281 100644 --- a/substrate/client/tests/validator_sets.rs +++ b/substrate/client/tests/validator_sets.rs @@ -32,7 +32,7 @@ fn get_random_key_pair() -> KeyPair { OsRng.fill_bytes(&mut ristretto_key); let mut external_key = vec![0; 33]; OsRng.fill_bytes(&mut external_key); - KeyPair(Public(ristretto_key), external_key.try_into().unwrap()) + KeyPair(Public::from(ristretto_key), external_key.try_into().unwrap()) } async fn get_ordered_keys(serai: &Serai, network: NetworkId, accounts: &[Pair]) -> Vec { diff --git a/substrate/coins/pallet/Cargo.toml b/substrate/coins/pallet/Cargo.toml index bf6ea684..86742ce6 100644 --- a/substrate/coins/pallet/Cargo.toml +++ b/substrate/coins/pallet/Cargo.toml @@ -13,29 +13,28 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-machete] -ignored = ["scale", "scale-info"] +ignored = ["scale"] [lints] workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -frame-system = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -pallet-transaction-payment = { git = "https://github.com/serai-dex/substrate", default-features = false } +pallet-transaction-payment = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } serai-primitives = { path = "../../primitives", default-features = false, features = ["serde"] } coins-primitives = { package = "serai-coins-primitives", path = "../primitives", default-features = false } [dev-dependencies] -sp-io = { git = "https://github.com/serai-dex/substrate", default-features = false, features = ["std"] } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false, features = ["std"] } [features] std = [ diff --git a/substrate/coins/pallet/src/lib.rs b/substrate/coins/pallet/src/lib.rs index 4499f432..7309c075 100644 --- a/substrate/coins/pallet/src/lib.rs +++ b/substrate/coins/pallet/src/lib.rs @@ -43,12 +43,11 @@ pub mod pallet { #[pallet::config] pub trait Config: frame_system::Config { - type RuntimeEvent: From> + IsType<::RuntimeEvent>; type AllowMint: AllowMint; } #[pallet::genesis_config] - #[derive(Clone, PartialEq, Eq, Debug, Encode, Decode)] + #[derive(Clone, Debug)] pub struct GenesisConfig, I: 'static = ()> { pub accounts: Vec<(T::AccountId, Balance)>, pub _ignore: PhantomData, @@ -281,6 +280,22 @@ pub mod pallet { } } + fn can_withdraw_fee( + who: &Public, + _call: &T::RuntimeCall, + _dispatch_info: &DispatchInfoOf, + fee: Self::Balance, + _tip: Self::Balance, + ) -> Result<(), TransactionValidityError> { + if fee == 0 { + return Ok(()); + } + if Self::balance(*who, Coin::Serai).0 < fee { + Err(InvalidTransaction::Payment)?; + } + Ok(()) + } + fn correct_and_deposit_fee( who: &Public, _dispatch_info: &DispatchInfoOf, diff --git a/substrate/coins/pallet/src/mock.rs b/substrate/coins/pallet/src/mock.rs index bd4ebc55..3e9e0115 100644 --- a/substrate/coins/pallet/src/mock.rs +++ b/substrate/coins/pallet/src/mock.rs @@ -2,16 +2,10 @@ use super::*; -use frame_support::{ - construct_runtime, - traits::{ConstU32, ConstU64}, -}; +use frame_support::{construct_runtime, derive_impl}; -use sp_core::{H256, sr25519::Public}; -use sp_runtime::{ - traits::{BlakeTwo256, IdentityLookup}, - BuildStorage, -}; +use sp_core::sr25519::Public; +use sp_runtime::{traits::IdentityLookup, BuildStorage}; use crate as coins; @@ -25,35 +19,14 @@ construct_runtime!( } ); +#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] impl frame_system::Config for Test { - type BaseCallFilter = frame_support::traits::Everything; - type BlockWeights = (); - type BlockLength = (); - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - type Nonce = u64; - type Hash = H256; - type Hashing = BlakeTwo256; type AccountId = Public; type Lookup = IdentityLookup; type Block = Block; - type RuntimeEvent = RuntimeEvent; - type BlockHashCount = ConstU64<250>; - type DbWeight = (); - type Version = (); - type PalletInfo = PalletInfo; - type AccountData = (); - type OnNewAccount = (); - type OnKilledAccount = (); - type SystemWeightInfo = (); - type SS58Prefix = (); - type OnSetCode = (); - type MaxConsumers = ConstU32<16>; } impl Config for Test { - type RuntimeEvent = RuntimeEvent; - type AllowMint = (); } diff --git a/substrate/coins/primitives/Cargo.toml b/substrate/coins/primitives/Cargo.toml index ec906929..5bbf9309 100644 --- a/substrate/coins/primitives/Cargo.toml +++ b/substrate/coins/primitives/Cargo.toml @@ -21,15 +21,14 @@ borsh = { version = "1", default-features = false, features = ["derive", "de_str serde = { version = "1", default-features = false, features = ["derive", "alloc"], optional = true } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } serai-primitives = { path = "../../primitives", default-features = false } [dev-dependencies] -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } [features] -std = ["zeroize", "borsh?/std", "serde?/std", "scale/std", "scale-info/std", "sp-runtime/std", "serai-primitives/std"] +std = ["zeroize", "borsh?/std", "serde?/std", "scale/std", "sp-runtime/std", "serai-primitives/std"] borsh = ["dep:borsh", "serai-primitives/borsh"] serde = ["dep:serde", "serai-primitives/serde"] default = ["std"] diff --git a/substrate/coins/primitives/src/lib.rs b/substrate/coins/primitives/src/lib.rs index 5aca029a..0d374e7f 100644 --- a/substrate/coins/primitives/src/lib.rs +++ b/substrate/coins/primitives/src/lib.rs @@ -1,6 +1,7 @@ #![cfg_attr(docsrs, feature(doc_cfg))] #![cfg_attr(docsrs, feature(doc_auto_cfg))] #![cfg_attr(not(feature = "std"), no_std)] +#![expect(clippy::cast_possible_truncation)] #[cfg(feature = "std")] use zeroize::Zeroize; @@ -10,14 +11,13 @@ use borsh::{BorshSerialize, BorshDeserialize}; #[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; use serai_primitives::{system_address, Data, ExternalAddress, ExternalBalance, SeraiAddress}; pub const FEE_ACCOUNT: SeraiAddress = system_address(b"Coins-fees"); -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -26,7 +26,7 @@ pub struct OutInstruction { pub data: Option, } -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -35,7 +35,7 @@ pub struct OutInstructionWithBalance { pub balance: ExternalBalance, } -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] diff --git a/substrate/dex/pallet/Cargo.toml b/substrate/dex/pallet/Cargo.toml index 7e8a83e8..1fedeb01 100644 --- a/substrate/dex/pallet/Cargo.toml +++ b/substrate/dex/pallet/Cargo.toml @@ -13,24 +13,23 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-machete] -ignored = ["scale", "scale-info"] +ignored = ["scale"] [lints] workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3.6.1", default-features = false } -scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-io = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-api = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -frame-system = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-benchmarking = { git = "https://github.com/serai-dex/substrate", default-features = false, optional = true } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-benchmarking = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false, optional = true } coins-pallet = { package = "serai-coins-pallet", path = "../../coins/pallet", default-features = false } @@ -43,7 +42,6 @@ rand_core = { version = "0.6", default-features = false, features = ["getrandom" default = ["std"] std = [ "scale/std", - "scale-info/std", "sp-std/std", "sp-io/std", diff --git a/substrate/dex/pallet/src/lib.rs b/substrate/dex/pallet/src/lib.rs index 8da63a7b..3f995a91 100644 --- a/substrate/dex/pallet/src/lib.rs +++ b/substrate/dex/pallet/src/lib.rs @@ -62,8 +62,10 @@ //! http://localhost:9933/ //! ``` //! (This can be run against the kitchen sync node in the `node` folder of this repo.) + #![deny(missing_docs)] #![cfg_attr(not(feature = "std"), no_std)] + use frame_support::traits::DefensiveOption; #[cfg(feature = "runtime-benchmarks")] @@ -132,9 +134,6 @@ pub mod pallet { + CoinsConfig + coins_pallet::Config { - /// Overarching event type. - type RuntimeEvent: From> + IsType<::RuntimeEvent>; - /// A % the liquidity providers will take of every swap. Represents 10ths of a percent. #[pallet::constant] type LPFee: Get; diff --git a/substrate/dex/pallet/src/mock.rs b/substrate/dex/pallet/src/mock.rs index 666c0324..d778d575 100644 --- a/substrate/dex/pallet/src/mock.rs +++ b/substrate/dex/pallet/src/mock.rs @@ -24,15 +24,12 @@ use super::*; use crate as dex; use frame_support::{ - construct_runtime, + construct_runtime, derive_impl, traits::{ConstU16, ConstU32, ConstU64}, }; -use sp_core::{H256, sr25519::Public}; -use sp_runtime::{ - traits::{BlakeTwo256, IdentityLookup}, - BuildStorage, -}; +use sp_core::sr25519::Public; +use sp_runtime::{traits::IdentityLookup, BuildStorage}; use serai_primitives::{Coin, Balance, Amount, system_address}; @@ -52,45 +49,22 @@ construct_runtime!( } ); +#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] impl frame_system::Config for Test { - type BaseCallFilter = frame_support::traits::Everything; - type BlockWeights = (); - type BlockLength = (); - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - type Nonce = u64; - type Hash = H256; - type Hashing = BlakeTwo256; type AccountId = Public; type Lookup = IdentityLookup; type Block = Block; - type RuntimeEvent = RuntimeEvent; - type BlockHashCount = ConstU64<250>; - type DbWeight = (); - type Version = (); - type PalletInfo = PalletInfo; - type AccountData = (); - type OnNewAccount = (); - type OnKilledAccount = (); - type SystemWeightInfo = (); - type SS58Prefix = (); - type OnSetCode = (); - type MaxConsumers = ConstU32<16>; } impl coins::Config for Test { - type RuntimeEvent = RuntimeEvent; type AllowMint = (); } impl coins::Config for Test { - type RuntimeEvent = RuntimeEvent; type AllowMint = (); } impl Config for Test { - type RuntimeEvent = RuntimeEvent; - type WeightInfo = (); type LPFee = ConstU32<3>; // means 0.3% type MaxSwapPathLength = ConstU32<4>; diff --git a/substrate/economic-security/pallet/Cargo.toml b/substrate/economic-security/pallet/Cargo.toml index cefeee8e..b6728041 100644 --- a/substrate/economic-security/pallet/Cargo.toml +++ b/substrate/economic-security/pallet/Cargo.toml @@ -13,17 +13,16 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-machete] -ignored = ["scale", "scale-info"] +ignored = ["scale"] [lints] workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -frame-system = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } dex-pallet = { package = "serai-dex-pallet", path = "../../dex/pallet", default-features = false } coins-pallet = { package = "serai-coins-pallet", path = "../../coins/pallet", default-features = false } @@ -33,7 +32,6 @@ serai-primitives = { path = "../../primitives", default-features = false } [features] std = [ "scale/std", - "scale-info/std", "frame-system/std", "frame-support/std", diff --git a/substrate/economic-security/pallet/src/lib.rs b/substrate/economic-security/pallet/src/lib.rs index 045297f4..bde5b4ec 100644 --- a/substrate/economic-security/pallet/src/lib.rs +++ b/substrate/economic-security/pallet/src/lib.rs @@ -17,9 +17,7 @@ pub mod pallet { use serai_primitives::*; #[pallet::config] - pub trait Config: frame_system::Config + CoinsConfig + DexConfig { - type RuntimeEvent: From> + IsType<::RuntimeEvent>; - } + pub trait Config: frame_system::Config + CoinsConfig + DexConfig {} #[pallet::event] #[pallet::generate_deposit(fn deposit_event)] diff --git a/substrate/emissions/pallet/Cargo.toml b/substrate/emissions/pallet/Cargo.toml index a56bcee4..4ec4fe9e 100644 --- a/substrate/emissions/pallet/Cargo.toml +++ b/substrate/emissions/pallet/Cargo.toml @@ -13,20 +13,19 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-machete] -ignored = ["scale", "scale-info"] +ignored = ["scale"] [lints] workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -frame-system = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } coins-pallet = { package = "serai-coins-pallet", path = "../../coins/pallet", default-features = false } validator-sets-pallet = { package = "serai-validator-sets-pallet", path = "../../validator-sets/pallet", default-features = false } @@ -42,7 +41,6 @@ emissions-primitives = { package = "serai-emissions-primitives", path = "../prim [features] std = [ "scale/std", - "scale-info/std", "frame-system/std", "frame-support/std", @@ -54,7 +52,7 @@ std = [ "validator-sets-pallet/std", "dex-pallet/std", "genesis-liquidity-pallet/std", - + "economic-security-pallet/std", "serai-primitives/std", diff --git a/substrate/emissions/pallet/src/lib.rs b/substrate/emissions/pallet/src/lib.rs index 99e22e8b..566206e3 100644 --- a/substrate/emissions/pallet/src/lib.rs +++ b/substrate/emissions/pallet/src/lib.rs @@ -36,11 +36,10 @@ pub mod pallet { + GenesisLiquidityConfig + EconomicSecurityConfig { - type RuntimeEvent: From> + IsType<::RuntimeEvent>; } #[pallet::genesis_config] - #[derive(Clone, PartialEq, Eq, Debug, Encode, Decode)] + #[derive(Clone, Debug)] pub struct GenesisConfig { /// Networks to spawn Serai with. pub networks: Vec<(NetworkId, Amount)>, diff --git a/substrate/genesis-liquidity/pallet/Cargo.toml b/substrate/genesis-liquidity/pallet/Cargo.toml index 3668b995..79327b6c 100644 --- a/substrate/genesis-liquidity/pallet/Cargo.toml +++ b/substrate/genesis-liquidity/pallet/Cargo.toml @@ -13,21 +13,20 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-machete] -ignored = ["scale", "scale-info"] +ignored = ["scale"] [lints] workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -frame-system = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-application-crypto = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } dex-pallet = { package = "serai-dex-pallet", path = "../../dex/pallet", default-features = false } coins-pallet = { package = "serai-coins-pallet", path = "../../coins/pallet", default-features = false } @@ -42,7 +41,6 @@ validator-sets-primitives = { package = "serai-validator-sets-primitives", path [features] std = [ "scale/std", - "scale-info/std", "frame-system/std", "frame-support/std", diff --git a/substrate/genesis-liquidity/pallet/src/lib.rs b/substrate/genesis-liquidity/pallet/src/lib.rs index 3a78e493..1f0eec0b 100644 --- a/substrate/genesis-liquidity/pallet/src/lib.rs +++ b/substrate/genesis-liquidity/pallet/src/lib.rs @@ -40,7 +40,6 @@ pub mod pallet { + CoinsConfig + coins_pallet::Config { - type RuntimeEvent: From> + IsType<::RuntimeEvent>; } #[pallet::error] diff --git a/substrate/genesis-liquidity/primitives/Cargo.toml b/substrate/genesis-liquidity/primitives/Cargo.toml index ec05bbd6..e54209f1 100644 --- a/substrate/genesis-liquidity/primitives/Cargo.toml +++ b/substrate/genesis-liquidity/primitives/Cargo.toml @@ -22,9 +22,8 @@ borsh = { version = "1", default-features = false, features = ["derive", "de_str serde = { version = "1", default-features = false, features = ["derive", "alloc"], optional = true } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } serai-primitives = { path = "../../primitives", default-features = false } validator-sets-primitives = { package = "serai-validator-sets-primitives", path = "../../validator-sets/primitives", default-features = false } @@ -35,8 +34,7 @@ std = [ "scale/std", "borsh?/std", "serde?/std", - "scale-info/std", - + "serai-primitives/std", "validator-sets-primitives/std", diff --git a/substrate/genesis-liquidity/primitives/src/lib.rs b/substrate/genesis-liquidity/primitives/src/lib.rs index 4e4c277c..b6eedec9 100644 --- a/substrate/genesis-liquidity/primitives/src/lib.rs +++ b/substrate/genesis-liquidity/primitives/src/lib.rs @@ -12,8 +12,7 @@ use serde::{Serialize, Deserialize}; use sp_std::vec::Vec; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; use serai_primitives::*; use validator_sets_primitives::ValidatorSet; @@ -23,7 +22,9 @@ pub const INITIAL_GENESIS_LP_SHARES: u64 = 10_000; // This is the account to hold and manage the genesis liquidity. pub const GENESIS_LIQUIDITY_ACCOUNT: SeraiAddress = system_address(b"GenesisLiquidity-account"); -#[derive(Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive( + Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen, +)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -33,7 +34,9 @@ pub struct Values { pub dai: u64, } -#[derive(Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive( + Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen, +)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] diff --git a/substrate/in-instructions/pallet/Cargo.toml b/substrate/in-instructions/pallet/Cargo.toml index a12e38b3..f561129d 100644 --- a/substrate/in-instructions/pallet/Cargo.toml +++ b/substrate/in-instructions/pallet/Cargo.toml @@ -13,23 +13,22 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-machete] -ignored = ["scale", "scale-info"] +ignored = ["scale"] [lints] workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "max-encoded-len"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-application-crypto = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-io = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -frame-system = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } serai-primitives = { path = "../../primitives", default-features = false } in-instructions-primitives = { package = "serai-in-instructions-primitives", path = "../primitives", default-features = false } @@ -43,7 +42,6 @@ emissions-pallet = { package = "serai-emissions-pallet", path = "../../emissions [features] std = [ "scale/std", - "scale-info/std", "sp-std/std", "sp-application-crypto/std", diff --git a/substrate/in-instructions/pallet/src/lib.rs b/substrate/in-instructions/pallet/src/lib.rs index e3f69f41..ae184806 100644 --- a/substrate/in-instructions/pallet/src/lib.rs +++ b/substrate/in-instructions/pallet/src/lib.rs @@ -52,7 +52,6 @@ pub mod pallet { + GenesisLiqConfig + EmissionsConfig { - type RuntimeEvent: From> + IsType<::RuntimeEvent>; } #[pallet::event] diff --git a/substrate/in-instructions/primitives/Cargo.toml b/substrate/in-instructions/primitives/Cargo.toml index 54551134..cd3d2f38 100644 --- a/substrate/in-instructions/primitives/Cargo.toml +++ b/substrate/in-instructions/primitives/Cargo.toml @@ -21,11 +21,9 @@ borsh = { version = "1", default-features = false, features = ["derive", "de_str serde = { version = "1", default-features = false, features = ["derive", "alloc"], optional = true } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-application-crypto = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } serai-primitives = { path = "../../primitives", default-features = false } coins-primitives = { package = "serai-coins-primitives", path = "../../coins/primitives", default-features = false } @@ -38,11 +36,9 @@ std = [ "serde?/std", "scale/std", - "scale-info/std", "sp-std/std", "sp-application-crypto/std", - "sp-runtime/std", "serai-primitives/std", "coins-primitives/std", diff --git a/substrate/in-instructions/primitives/src/lib.rs b/substrate/in-instructions/primitives/src/lib.rs index 3944fd73..338d9f7f 100644 --- a/substrate/in-instructions/primitives/src/lib.rs +++ b/substrate/in-instructions/primitives/src/lib.rs @@ -1,6 +1,7 @@ #![cfg_attr(docsrs, feature(doc_cfg))] #![cfg_attr(docsrs, feature(doc_auto_cfg))] #![cfg_attr(not(feature = "std"), no_std)] +#![expect(clippy::cast_possible_truncation)] #[cfg(feature = "std")] use zeroize::Zeroize; @@ -10,14 +11,12 @@ use borsh::{BorshSerialize, BorshDeserialize}; #[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; use sp_application_crypto::sr25519::Signature; #[cfg(not(feature = "std"))] use sp_std::vec::Vec; -use sp_runtime::RuntimeDebug; #[rustfmt::skip] use serai_primitives::{BlockHash, Balance, ExternalNetworkId, NetworkId, SeraiAddress, ExternalBalance, ExternalAddress, system_address}; @@ -30,7 +29,7 @@ pub const MAX_BATCH_SIZE: usize = 25_000; // ~25kb // This is the account which will be the origin for any dispatched `InInstruction`s. pub const IN_INSTRUCTION_EXECUTOR: SeraiAddress = system_address(b"InInstructions-executor"); -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -59,7 +58,7 @@ impl OutAddress { } } -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -71,7 +70,7 @@ pub enum DexCall { Swap(Balance, OutAddress), } -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -82,7 +81,7 @@ pub enum InInstruction { SwapToStakedSRI(SeraiAddress, NetworkId), } -#[derive(Clone, PartialEq, Eq, Encode, Decode, MaxEncodedLen, TypeInfo, RuntimeDebug)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -91,7 +90,7 @@ pub struct RefundableInInstruction { pub instruction: InInstruction, } -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -100,7 +99,7 @@ pub struct InInstructionWithBalance { pub balance: ExternalBalance, } -#[derive(Clone, PartialEq, Eq, Encode, Decode, TypeInfo, RuntimeDebug)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -111,7 +110,7 @@ pub struct Batch { pub instructions: Vec, } -#[derive(Clone, PartialEq, Eq, Encode, Decode, TypeInfo, RuntimeDebug)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking)] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct SignedBatch { @@ -130,7 +129,8 @@ pub struct SignedBatch { impl Zeroize for SignedBatch { fn zeroize(&mut self) { self.batch.zeroize(); - self.signature.as_mut().zeroize(); + let signature: &mut [u8] = self.signature.as_mut(); + signature.zeroize(); } } diff --git a/substrate/in-instructions/primitives/src/shorthand.rs b/substrate/in-instructions/primitives/src/shorthand.rs index 6f29f6f3..c0edaa82 100644 --- a/substrate/in-instructions/primitives/src/shorthand.rs +++ b/substrate/in-instructions/primitives/src/shorthand.rs @@ -6,8 +6,7 @@ use borsh::{BorshSerialize, BorshDeserialize}; #[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; use serai_primitives::{Amount, ExternalAddress, ExternalCoin, SeraiAddress}; @@ -17,7 +16,7 @@ use crate::RefundableInInstruction; #[cfg(feature = "std")] use crate::InInstruction; -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] diff --git a/substrate/node/Cargo.toml b/substrate/node/Cargo.toml index 0e551c72..e6aec897 100644 --- a/substrate/node/Cargo.toml +++ b/substrate/node/Cargo.toml @@ -27,18 +27,20 @@ log = "0.4" schnorrkel = "0.11" -libp2p = "0.52" +libp2p = "0.56" -sp-core = { git = "https://github.com/serai-dex/substrate" } -sp-keystore = { git = "https://github.com/serai-dex/substrate" } -sp-timestamp = { git = "https://github.com/serai-dex/substrate" } -sp-io = { git = "https://github.com/serai-dex/substrate" } -sp-blockchain = { git = "https://github.com/serai-dex/substrate" } -sp-api = { git = "https://github.com/serai-dex/substrate" } -sp-block-builder = { git = "https://github.com/serai-dex/substrate" } -sp-consensus-babe = { git = "https://github.com/serai-dex/substrate" } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sp-keystore = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sp-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sp-state-machine = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sp-blockchain = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sp-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sp-block-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sp-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } -frame-benchmarking = { git = "https://github.com/serai-dex/substrate" } +frame-benchmarking = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } serai-runtime = { path = "../runtime", features = ["std"] } @@ -46,35 +48,33 @@ clap = { version = "4", features = ["derive"] } futures-util = "0.3" tokio = { version = "1", features = ["sync", "rt-multi-thread"] } -jsonrpsee = { version = "0.16", features = ["server"] } +jsonrpsee = { version = "0.24", features = ["server"] } -sc-offchain = { git = "https://github.com/serai-dex/substrate" } -sc-transaction-pool = { git = "https://github.com/serai-dex/substrate" } -sc-transaction-pool-api = { git = "https://github.com/serai-dex/substrate" } -sc-basic-authorship = { git = "https://github.com/serai-dex/substrate" } -sc-executor = { git = "https://github.com/serai-dex/substrate" } -sc-service = { git = "https://github.com/serai-dex/substrate" } -sc-client-api = { git = "https://github.com/serai-dex/substrate" } -sc-network-common = { git = "https://github.com/serai-dex/substrate" } -sc-network = { git = "https://github.com/serai-dex/substrate" } +sc-transaction-pool = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-transaction-pool-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-basic-authorship = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-executor = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-service = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-client-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-network = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } -sc-consensus = { git = "https://github.com/serai-dex/substrate" } -sc-consensus-babe = { git = "https://github.com/serai-dex/substrate" } -sc-consensus-grandpa = { git = "https://github.com/serai-dex/substrate" } -sc-authority-discovery = { git = "https://github.com/serai-dex/substrate" } +sc-consensus = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-consensus-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-authority-discovery = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } -sc-telemetry = { git = "https://github.com/serai-dex/substrate" } -sc-cli = { git = "https://github.com/serai-dex/substrate" } +sc-telemetry = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-chain-spec = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +sc-cli = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } -sc-rpc-api = { git = "https://github.com/serai-dex/substrate" } - -substrate-frame-rpc-system = { git = "https://github.com/serai-dex/substrate" } -pallet-transaction-payment-rpc = { git = "https://github.com/serai-dex/substrate" } +frame-system-rpc-runtime-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +substrate-frame-rpc-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } +pallet-transaction-payment-rpc = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } serai-env = { path = "../../common/env" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/serai-dex/substrate" } +substrate-build-script-utils = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } [features] default = [] diff --git a/substrate/node/src/chain_spec.rs b/substrate/node/src/chain_spec.rs index 972b4dd6..9e2ed6e7 100644 --- a/substrate/node/src/chain_spec.rs +++ b/substrate/node/src/chain_spec.rs @@ -10,7 +10,7 @@ use serai_runtime::{ CoinsConfig, ValidatorSetsConfig, SignalsConfig, BabeConfig, GrandpaConfig, EmissionsConfig, }; -pub type ChainSpec = sc_service::GenericChainSpec; +pub type ChainSpec = sc_service::GenericChainSpec; fn account_from_name(name: &'static str) -> PublicKey { insecure_pair_from_name(name).public() @@ -28,7 +28,6 @@ fn wasm_binary() -> Vec { } fn devnet_genesis( - wasm_binary: &[u8], validators: &[&'static str], endowed_accounts: Vec, ) -> RuntimeGenesisConfig { @@ -50,7 +49,7 @@ fn devnet_genesis( .collect::>(); RuntimeGenesisConfig { - system: SystemConfig { code: wasm_binary.to_vec(), _config: PhantomData }, + system: SystemConfig { _config: PhantomData }, transaction_payment: Default::default(), @@ -70,7 +69,7 @@ fn devnet_genesis( signals: SignalsConfig::default(), babe: BabeConfig { authorities: validators.iter().map(|validator| ((*validator).into(), 1)).collect(), - epoch_config: Some(BABE_GENESIS_EPOCH_CONFIG), + epoch_config: BABE_GENESIS_EPOCH_CONFIG, _config: PhantomData, }, grandpa: GrandpaConfig { @@ -80,7 +79,7 @@ fn devnet_genesis( } } -fn testnet_genesis(wasm_binary: &[u8], validators: Vec<&'static str>) -> RuntimeGenesisConfig { +fn testnet_genesis(validators: Vec<&'static str>) -> RuntimeGenesisConfig { let validators = validators .into_iter() .map(|validator| Public::decode(&mut hex::decode(validator).unwrap().as_slice()).unwrap()) @@ -104,7 +103,7 @@ fn testnet_genesis(wasm_binary: &[u8], validators: Vec<&'static str>) -> Runtime assert_eq!(validators.iter().collect::>().len(), validators.len()); RuntimeGenesisConfig { - system: SystemConfig { code: wasm_binary.to_vec(), _config: PhantomData }, + system: SystemConfig { _config: PhantomData }, transaction_payment: Default::default(), @@ -124,7 +123,7 @@ fn testnet_genesis(wasm_binary: &[u8], validators: Vec<&'static str>) -> Runtime signals: SignalsConfig::default(), babe: BabeConfig { authorities: validators.iter().map(|validator| ((*validator).into(), 1)).collect(), - epoch_config: Some(BABE_GENESIS_EPOCH_CONFIG), + epoch_config: BABE_GENESIS_EPOCH_CONFIG, _config: PhantomData, }, grandpa: GrandpaConfig { @@ -134,114 +133,108 @@ fn testnet_genesis(wasm_binary: &[u8], validators: Vec<&'static str>) -> Runtime } } -pub fn development_config() -> ChainSpec { - let wasm_binary = wasm_binary(); +fn genesis( + name: &'static str, + id: &'static str, + chain_type: ChainType, + protocol_id: &'static str, + config: &RuntimeGenesisConfig, +) -> ChainSpec { + use sp_core::{ + Encode, + traits::{RuntimeCode, WrappedRuntimeCode, CodeExecutor}, + }; + use sc_service::ChainSpec as _; - ChainSpec::from_genesis( - // Name + let bin = wasm_binary(); + let hash = sp_core::blake2_256(&bin).to_vec(); + + let mut chain_spec = sc_chain_spec::ChainSpecBuilder::new(&bin, None) + .with_name(name) + .with_id(id) + .with_chain_type(chain_type) + .with_protocol_id(protocol_id) + .build(); + + let mut ext = sp_state_machine::BasicExternalities::new_empty(); + let code_fetcher = WrappedRuntimeCode(bin.clone().into()); + sc_executor::WasmExecutor::::builder() + .with_allow_missing_host_functions(true) + .build() + .call( + &mut ext, + &RuntimeCode { heap_pages: None, code_fetcher: &code_fetcher, hash }, + "GenesisApi_build", + &config.encode(), + sp_core::traits::CallContext::Onchain, + ) + .0 + .unwrap(); + let mut storage = ext.into_storages(); + storage.top.insert(sp_core::storage::well_known_keys::CODE.to_vec(), bin); + chain_spec.set_storage(storage); + + chain_spec +} + +pub fn development_config() -> ChainSpec { + genesis( "Development Network", - // ID "devnet", ChainType::Development, - move || { - devnet_genesis( - &wasm_binary, - &["Alice"], - vec![ - account_from_name("Alice"), - account_from_name("Bob"), - account_from_name("Charlie"), - account_from_name("Dave"), - account_from_name("Eve"), - account_from_name("Ferdie"), - ], - ) - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - Some("serai-devnet"), - // Fork ID - None, - // Properties - None, - // Extensions - None, + "serai-devnet", + &devnet_genesis( + &["Alice"], + vec![ + account_from_name("Alice"), + account_from_name("Bob"), + account_from_name("Charlie"), + account_from_name("Dave"), + account_from_name("Eve"), + account_from_name("Ferdie"), + ], + ), ) } pub fn local_config() -> ChainSpec { - let wasm_binary = wasm_binary(); - - ChainSpec::from_genesis( - // Name + genesis( "Local Test Network", - // ID "local", ChainType::Local, - move || { - devnet_genesis( - &wasm_binary, - &["Alice", "Bob", "Charlie", "Dave"], - vec![ - account_from_name("Alice"), - account_from_name("Bob"), - account_from_name("Charlie"), - account_from_name("Dave"), - account_from_name("Eve"), - account_from_name("Ferdie"), - ], - ) - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - Some("serai-local"), - // Fork ID - None, - // Properties - None, - // Extensions - None, + "serai-local", + &devnet_genesis( + &["Alice", "Bob", "Charlie", "Dave"], + vec![ + account_from_name("Alice"), + account_from_name("Bob"), + account_from_name("Charlie"), + account_from_name("Dave"), + account_from_name("Eve"), + account_from_name("Ferdie"), + ], + ), ) } +#[allow(clippy::redundant_closure_call)] pub fn testnet_config() -> ChainSpec { - let wasm_binary = wasm_binary(); - - ChainSpec::from_genesis( - // Name - "Test Network 2", - // ID - "testnet-2", + genesis( + "Test Network 0", + "testnet-0", ChainType::Live, - move || { - let _ = testnet_genesis(&wasm_binary, vec![]); - todo!() - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - Some("serai-testnet-2"), - // Fork ID - None, - // Properties - None, - // Extensions - None, + "serai-testnet-0", + &(move || { + let _ = testnet_genesis(vec![]); + todo!("TODO") + })(), ) } pub fn bootnode_multiaddrs(id: &str) -> Vec { match id { "devnet" | "local" => vec![], - "testnet-2" => todo!(), + "testnet-0" => todo!("TODO"), _ => panic!("unrecognized network ID"), } } diff --git a/substrate/node/src/command.rs b/substrate/node/src/command.rs index 71eee047..6597349a 100644 --- a/substrate/node/src/command.rs +++ b/substrate/node/src/command.rs @@ -48,7 +48,7 @@ impl SubstrateCli for Cli { } pub fn run() -> sc_cli::Result<()> { - let cli = Cli::from_args(); + let mut cli = Cli::from_args(); match &cli.subcommand { Some(Subcommand::Key(cmd)) => cmd.run(&cli), @@ -98,11 +98,20 @@ pub fn run() -> sc_cli::Result<()> { cli.create_runner(cmd)?.sync_run(|config| cmd.run::(&config)) } - None => cli.create_runner(&cli.run)?.run_node_until_exit(|mut config| async { - if config.role.is_authority() { - config.state_pruning = Some(PruningMode::ArchiveAll); - } - service::new_full(config).map_err(sc_cli::Error::Service) - }), + None => { + cli.run.network_params.node_key_params = sc_cli::NodeKeyParams { + node_key: None, + node_key_file: None, + node_key_type: sc_cli::arg_enums::NodeKeyType::Ed25519, + unsafe_force_node_key_generation: true, + }; + + cli.create_runner(&cli.run)?.run_node_until_exit(|mut config| async { + if config.role.is_authority() { + config.state_pruning = Some(PruningMode::ArchiveAll); + } + service::new_full(config).map_err(sc_cli::Error::Service) + }) + } } } diff --git a/substrate/node/src/keystore.rs b/substrate/node/src/keystore.rs index c313773a..e60d534b 100644 --- a/substrate/node/src/keystore.rs +++ b/substrate/node/src/keystore.rs @@ -1,6 +1,6 @@ use zeroize::Zeroize; -use sp_core::{crypto::*, ed25519, sr25519}; +use sp_core::{crypto::*, sr25519}; use sp_keystore::*; pub struct Keystore(sr25519::Pair); @@ -58,36 +58,19 @@ impl sp_keystore::Keystore for Keystore { } } - fn sr25519_vrf_output( + fn sr25519_vrf_pre_output( &self, _: KeyTypeId, public: &sr25519::Public, input: &sr25519::vrf::VrfInput, - ) -> Result, Error> { + ) -> Result, Error> { if public == &self.0.public() { - Ok(Some(self.0.vrf_output(input))) + Ok(Some(self.0.vrf_pre_output(input))) } else { Ok(None) } } - fn ed25519_public_keys(&self, _: KeyTypeId) -> Vec { - panic!("asked for ed25519 keys"); - } - - fn ed25519_generate_new(&self, _: KeyTypeId, _: Option<&str>) -> Result { - panic!("asked to generate an ed25519 key"); - } - - fn ed25519_sign( - &self, - _: KeyTypeId, - _: &ed25519::Public, - _: &[u8], - ) -> Result, Error> { - panic!("asked to produce an ed25519 signature"); - } - fn insert(&self, _: KeyTypeId, _: &str, _: &[u8]) -> Result<(), ()> { panic!("asked to insert a key"); } diff --git a/substrate/node/src/rpc.rs b/substrate/node/src/rpc.rs index b818c798..1bd047f9 100644 --- a/substrate/node/src/rpc.rs +++ b/substrate/node/src/rpc.rs @@ -2,6 +2,7 @@ use std::{sync::Arc, collections::HashSet}; use rand_core::{RngCore, OsRng}; +use sp_core::Encode; use sp_blockchain::{Error as BlockchainError, HeaderBackend, HeaderMetadata}; use sp_block_builder::BlockBuilder; use sp_api::ProvideRuntimeApi; @@ -15,14 +16,13 @@ use tokio::sync::RwLock; use jsonrpsee::RpcModule; -pub use sc_rpc_api::DenyUnsafe; +use sc_client_api::BlockBackend; use sc_transaction_pool_api::TransactionPool; pub struct FullDeps { pub id: String, pub client: Arc, pub pool: Arc

, - pub deny_unsafe: DenyUnsafe, pub authority_discovery: Option, } @@ -30,6 +30,7 @@ pub fn create_full< C: ProvideRuntimeApi + HeaderBackend + HeaderMetadata + + BlockBackend + Send + Sync + 'static, @@ -38,7 +39,7 @@ pub fn create_full< deps: FullDeps, ) -> Result, Box> where - C::Api: substrate_frame_rpc_system::AccountNonceApi + C::Api: frame_system_rpc_runtime_api::AccountNonceApi + pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi + SeraiRuntimeApi + BlockBuilder, @@ -47,27 +48,35 @@ where use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; let mut module = RpcModule::new(()); - let FullDeps { id, client, pool, deny_unsafe, authority_discovery } = deps; + let FullDeps { id, client, pool, authority_discovery } = deps; - module.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?; + module.merge(System::new(client.clone(), pool).into_rpc())?; module.merge(TransactionPayment::new(client.clone()).into_rpc())?; if let Some(authority_discovery) = authority_discovery { let mut authority_discovery_module = - RpcModule::new((id, client, RwLock::new(authority_discovery))); + RpcModule::new((id, client.clone(), RwLock::new(authority_discovery))); authority_discovery_module.register_async_method( "p2p_validators", - |params, context| async move { - let network: NetworkId = params.parse()?; + |params, context, _ext| async move { + let [network]: [NetworkId; 1] = params.parse()?; let (id, client, authority_discovery) = &*context; let latest_block = client.info().best_hash; let validators = client.runtime_api().validators(latest_block, network).map_err(|_| { - jsonrpsee::core::Error::to_call_error(std::io::Error::other(format!( - "couldn't get validators from the latest block, which is likely a fatal bug. {}", - "please report this at https://github.com/serai-dex/serai", - ))) - })?; + jsonrpsee::types::error::ErrorObjectOwned::owned( + -1, + format!( + "couldn't get validators from the latest block, which is likely a fatal bug. {}", + "please report this at https://github.com/serai-dex/serai", + ), + Option::<()>::None, + ) + }); + let validators = match validators { + Ok(validators) => validators, + Err(e) => return Err(e), + }; // Always return the protocol's bootnodes let mut all_p2p_addresses = crate::chain_spec::bootnode_multiaddrs(id); // Additionally returns validators found over the DHT @@ -87,9 +96,9 @@ where // It isn't beneficial to use multiple addresses for a single peer here if !returned_addresses.is_empty() { all_p2p_addresses.push( - returned_addresses.remove( - usize::try_from(OsRng.next_u64() >> 32).unwrap() % returned_addresses.len(), - ), + returned_addresses + .remove(usize::try_from(OsRng.next_u64() >> 32).unwrap() % returned_addresses.len()) + .into(), ); } } @@ -99,5 +108,33 @@ where module.merge(authority_discovery_module)?; } + let mut block_bin_module = RpcModule::new(client); + block_bin_module.register_async_method( + "chain_getBlockBin", + |params, client, _ext| async move { + let [block_hash]: [String; 1] = params.parse()?; + let Some(block_hash) = hex::decode(&block_hash).ok().and_then(|bytes| { + <[u8; 32]>::try_from(bytes.as_slice()) + .map(::Hash::from) + .ok() + }) else { + return Err(jsonrpsee::types::error::ErrorObjectOwned::owned( + -1, + "requested block hash wasn't a valid hash", + Option::<()>::None, + )); + }; + let Some(block) = client.block(block_hash).ok().flatten() else { + return Err(jsonrpsee::types::error::ErrorObjectOwned::owned( + -1, + "couldn't find requested block", + Option::<()>::None, + )); + }; + Ok(hex::encode(block.block.encode())) + }, + )?; + module.merge(block_bin_module)?; + Ok(module) } diff --git a/substrate/node/src/service.rs b/substrate/node/src/service.rs index 5f76decf..395e9f6e 100644 --- a/substrate/node/src/service.rs +++ b/substrate/node/src/service.rs @@ -8,12 +8,11 @@ use sp_consensus_babe::{SlotDuration, inherents::InherentDataProvider as BabeInh use sp_io::SubstrateHostFunctions; use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, WasmExecutor}; -use sc_network_common::sync::warp::WarpSyncParams; -use sc_network::{Event, NetworkEventStream}; +use sc_network::{Event, NetworkEventStream, NetworkBackend}; use sc_service::{error::Error as ServiceError, Configuration, TaskManager, TFullClient}; use sc_transaction_pool_api::OffchainTransactionPoolFactory; -use sc_client_api::{BlockBackend, Backend}; +use sc_client_api::BlockBackend; use sc_telemetry::{Telemetry, TelemetryWorker}; @@ -40,8 +39,8 @@ type PartialComponents = sc_service::PartialComponents< FullClient, FullBackend, SelectChain, - sc_consensus::DefaultImportQueue, - sc_transaction_pool::FullPool, + sc_consensus::DefaultImportQueue, + sc_transaction_pool::TransactionPoolWrapper, ( BabeBlockImport, sc_consensus_babe::BabeLink, @@ -74,11 +73,11 @@ pub fn new_partial( #[allow(deprecated)] let executor = Executor::new( - config.wasm_method, - config.default_heap_pages, - config.max_runtime_instances, + config.executor.wasm_method, + config.executor.default_heap_pages, + config.executor.max_runtime_instances, None, - config.runtime_cache_size, + config.executor.runtime_cache_size, ); let (client, backend, keystore_container, task_manager) = @@ -103,16 +102,19 @@ pub fn new_partial( let select_chain = sc_consensus::LongestChain::new(backend.clone()); - let transaction_pool = sc_transaction_pool::BasicPool::new_full( - config.transaction_pool.clone(), - config.role.is_authority().into(), - config.prometheus_registry(), + let transaction_pool = sc_transaction_pool::Builder::new( task_manager.spawn_essential_handle(), client.clone(), - ); + config.role.is_authority().into(), + ) + .with_options(config.transaction_pool.clone()) + .with_prometheus(config.prometheus_registry()) + .build(); + let transaction_pool = Arc::new(transaction_pool); let (grandpa_block_import, grandpa_link) = grandpa::block_import( client.clone(), + u32::MAX, &client, select_chain.clone(), telemetry.as_ref().map(Telemetry::handle), @@ -181,22 +183,26 @@ pub fn new_full(mut config: Configuration) -> Result config.network.listen_addresses = vec!["/ip4/0.0.0.0/tcp/30333".parse().unwrap(), "/ip6/::/tcp/30333".parse().unwrap()]; - let mut net_config = sc_network::config::FullNetworkConfiguration::new(&config.network); + type N = sc_network::service::NetworkWorker::Hash>; + let mut net_config = sc_network::config::FullNetworkConfiguration::<_, _, N>::new( + &config.network, + config.prometheus_registry().cloned(), + ); + let metrics = N::register_notification_metrics(config.prometheus_registry()); + let grandpa_protocol_name = grandpa::protocol_standard_name(&client.block_hash(0).unwrap().unwrap(), &config.chain_spec); - net_config.add_notification_protocol(sc_consensus_grandpa::grandpa_peers_set_config( - grandpa_protocol_name.clone(), - )); + let (grandpa_protocol_config, grandpa_notification_service) = + sc_consensus_grandpa::grandpa_peers_set_config::( + grandpa_protocol_name.clone(), + metrics.clone(), + net_config.peer_store_handle(), + ); + net_config.add_notification_protocol(grandpa_protocol_config); let publish_non_global_ips = config.network.allow_non_globals_in_dht; - let warp_sync = Arc::new(grandpa::warp_proof::NetworkProvider::new( - backend.clone(), - grandpa_link.shared_authority_set().clone(), - vec![], - )); - - let (network, system_rpc_tx, tx_handler_controller, network_starter, sync_service) = + let (network, system_rpc_tx, tx_handler_controller, sync_service) = sc_service::build_network(sc_service::BuildNetworkParams { config: &config, net_config, @@ -205,7 +211,9 @@ pub fn new_full(mut config: Configuration) -> Result spawn_handle: task_manager.spawn_handle(), import_queue, block_announce_validator_builder: None, - warp_sync_params: Some(WarpSyncParams::WithProvider(warp_sync)), + metrics, + block_relay: None, + warp_sync_config: None, })?; task_manager.spawn_handle().spawn("bootnodes", "bootnodes", { @@ -217,7 +225,15 @@ pub fn new_full(mut config: Configuration) -> Result // While the PeerIds *should* be known in advance and hardcoded, that data wasn't collected in // time and this fine for a testnet let bootnodes = || async { - use libp2p::{Transport as TransportTrait, tcp::tokio::Transport, noise::Config}; + use libp2p::{ + core::{ + Endpoint, + transport::{PortUse, DialOpts}, + }, + Transport as TransportTrait, + tcp::tokio::Transport, + noise::Config, + }; let bootnode_multiaddrs = crate::chain_spec::bootnode_multiaddrs(&id); @@ -231,9 +247,17 @@ pub fn new_full(mut config: Configuration) -> Result .upgrade(libp2p::core::upgrade::Version::V1) .authenticate(noise) .multiplex(libp2p::yamux::Config::default()); - let Ok(transport) = transport.dial(multiaddr.clone()) else { None? }; + let Ok(transport) = transport.dial( + multiaddr.clone(), + DialOpts { role: Endpoint::Dialer, port_use: PortUse::Reuse }, + ) else { + None? + }; let Ok((peer_id, _)) = transport.await else { None? }; - Some(sc_network::config::MultiaddrWithPeerId { multiaddr, peer_id }) + Some(sc_network::config::MultiaddrWithPeerId { + multiaddr: multiaddr.into(), + peer_id: peer_id.into(), + }) }), )); } @@ -261,26 +285,12 @@ pub fn new_full(mut config: Configuration) -> Result } }); - if config.offchain_worker.enabled { - task_manager.spawn_handle().spawn( - "offchain-workers-runner", - "offchain-worker", - sc_offchain::OffchainWorkers::new(sc_offchain::OffchainWorkerOptions { - runtime_api_provider: client.clone(), - is_validator: config.role.is_authority(), - keystore: Some(keystore_container.clone()), - offchain_db: backend.offchain_storage(), - transaction_pool: Some(OffchainTransactionPoolFactory::new(transaction_pool.clone())), - network_provider: network.clone(), - enable_http_requests: true, - custom_extensions: |_| vec![], - }) - .run(client.clone(), task_manager.spawn_handle()), - ); - } - - let role = config.role.clone(); + let role = config.role; let keystore = keystore_container; + if let Some(seed) = config.dev_key_seed.as_ref() { + let _ = + keystore.sr25519_generate_new(sp_core::crypto::key_types::AUTHORITY_DISCOVERY, Some(seed)); + } let prometheus_registry = config.prometheus_registry().cloned(); // TODO: Ensure we're considered as an authority is a validator of an external network @@ -294,7 +304,7 @@ pub fn new_full(mut config: Configuration) -> Result worker }, client.clone(), - network.clone(), + Arc::new(network.clone()), Box::pin(network.event_stream("authority-discovery").filter_map(|e| async move { match e { Event::Dht(e) => Some(e), @@ -303,6 +313,7 @@ pub fn new_full(mut config: Configuration) -> Result })), sc_authority_discovery::Role::PublishAndDiscover(keystore.clone()), prometheus_registry.clone(), + task_manager.spawn_handle(), ); task_manager.spawn_handle().spawn( "authority-discovery-worker", @@ -320,12 +331,11 @@ pub fn new_full(mut config: Configuration) -> Result let client = client.clone(); let pool = transaction_pool.clone(); - Box::new(move |deny_unsafe, _| { + Box::new(move |_| { crate::rpc::create_full(crate::rpc::FullDeps { id: id.clone(), client: client.clone(), pool: pool.clone(), - deny_unsafe, authority_discovery: authority_discovery.clone(), }) .map_err(Into::into) @@ -392,7 +402,7 @@ pub fn new_full(mut config: Configuration) -> Result grandpa::run_grandpa_voter(grandpa::GrandpaParams { config: grandpa::Config { gossip_duration: std::time::Duration::from_millis(333), - justification_period: 512, + justification_generation_period: 512, name: Some(name), observer_enabled: false, keystore: if role.is_authority() { Some(keystore) } else { None }, @@ -408,10 +418,10 @@ pub fn new_full(mut config: Configuration) -> Result prometheus_registry, shared_voter_state, offchain_tx_pool_factory: OffchainTransactionPoolFactory::new(transaction_pool), + notification_service: grandpa_notification_service, })?, ); } - network_starter.start_network(); Ok(task_manager) } diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml index 983b1785..30e3c7a8 100644 --- a/substrate/primitives/Cargo.toml +++ b/substrate/primitives/Cargo.toml @@ -19,24 +19,23 @@ workspace = true zeroize = { version = "^1.5", features = ["derive"], optional = true } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } borsh = { version = "1", default-features = false, features = ["derive", "de_strict_order"], optional = true } serde = { version = "1", default-features = false, features = ["derive", "alloc"], optional = true } -sp-application-crypto = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-io = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } [dev-dependencies] rand_core = { version = "0.6", default-features = false, features = ["getrandom"] } [features] -std = ["zeroize", "scale/std", "borsh?/std", "serde?/std", "scale-info/std", "sp-core/std", "sp-runtime/std", "sp-std/std", "frame-support/std"] +std = ["zeroize", "scale/std", "borsh?/std", "serde?/std", "sp-core/std", "sp-runtime/std", "sp-std/std", "frame-support/std"] borsh = ["dep:borsh"] serde = ["dep:serde"] default = ["std"] diff --git a/substrate/primitives/src/account.rs b/substrate/primitives/src/account.rs index 77877a14..4fc03df7 100644 --- a/substrate/primitives/src/account.rs +++ b/substrate/primitives/src/account.rs @@ -6,8 +6,7 @@ use borsh::{BorshSerialize, BorshDeserialize}; #[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; use sp_core::sr25519::Public; pub use sp_core::sr25519::Signature; @@ -31,7 +30,7 @@ pub fn borsh_deserialize_public( reader: &mut R, ) -> Result { let public: [u8; 32] = borsh::BorshDeserialize::deserialize_reader(reader)?; - Ok(Public(public)) + Ok(public.into()) } #[cfg(feature = "borsh")] @@ -47,12 +46,22 @@ pub fn borsh_deserialize_signature( reader: &mut R, ) -> Result { let signature: [u8; 64] = borsh::BorshDeserialize::deserialize_reader(reader)?; - Ok(Signature(signature)) + Ok(signature.into()) } // TODO: Remove this for solely Public? #[derive( - Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Encode, Decode, MaxEncodedLen, TypeInfo, + Clone, + Copy, + PartialEq, + Eq, + PartialOrd, + Ord, + Debug, + Encode, + Decode, + DecodeWithMemTracking, + MaxEncodedLen, )] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] diff --git a/substrate/primitives/src/amount.rs b/substrate/primitives/src/amount.rs index c82fe34d..633bf630 100644 --- a/substrate/primitives/src/amount.rs +++ b/substrate/primitives/src/amount.rs @@ -11,8 +11,7 @@ use borsh::{BorshSerialize, BorshDeserialize}; #[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; /// The type used for amounts within Substrate. // Distinct from Amount due to Substrate's requirements on this type. @@ -22,7 +21,16 @@ use scale_info::TypeInfo; pub type SubstrateAmount = u64; /// The type used for amounts. #[derive( - Clone, Copy, PartialEq, Eq, PartialOrd, Debug, Encode, Decode, MaxEncodedLen, TypeInfo, + Clone, + Copy, + PartialEq, + Eq, + PartialOrd, + Debug, + Encode, + Decode, + DecodeWithMemTracking, + MaxEncodedLen, )] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] diff --git a/substrate/primitives/src/balance.rs b/substrate/primitives/src/balance.rs index 6743e6fa..af50959f 100644 --- a/substrate/primitives/src/balance.rs +++ b/substrate/primitives/src/balance.rs @@ -8,13 +8,14 @@ use borsh::{BorshSerialize, BorshDeserialize}; #[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; use crate::{Amount, Coin, ExternalCoin}; /// The type used for balances (a Coin and Balance). -#[derive(Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive( + Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen, +)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -24,7 +25,9 @@ pub struct Balance { } /// The type used for balances (a Coin and Balance). -#[derive(Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive( + Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen, +)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] diff --git a/substrate/primitives/src/block.rs b/substrate/primitives/src/block.rs index db80a20c..a9048e6a 100644 --- a/substrate/primitives/src/block.rs +++ b/substrate/primitives/src/block.rs @@ -6,14 +6,23 @@ use borsh::{BorshSerialize, BorshDeserialize}; #[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; use sp_core::H256; /// The type used to identify block numbers. #[derive( - Clone, Copy, Default, PartialEq, Eq, Hash, Debug, Encode, Decode, MaxEncodedLen, TypeInfo, + Clone, + Copy, + Default, + PartialEq, + Eq, + Hash, + Debug, + Encode, + Decode, + DecodeWithMemTracking, + MaxEncodedLen, )] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] @@ -30,7 +39,9 @@ impl From for BlockNumber { // If a block exists with a hash which isn't 32-bytes, it can be hashed into a value with 32-bytes // This would require the processor to maintain a mapping of 32-byte IDs to actual hashes, which // would be fine -#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive( + Clone, Copy, PartialEq, Eq, Hash, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen, +)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] diff --git a/substrate/primitives/src/lib.rs b/substrate/primitives/src/lib.rs index d2c52219..93b1ee20 100644 --- a/substrate/primitives/src/lib.rs +++ b/substrate/primitives/src/lib.rs @@ -10,8 +10,7 @@ use borsh::{BorshSerialize, BorshDeserialize}; #[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; #[cfg(test)] use sp_io::TestExternalities; @@ -64,7 +63,7 @@ pub fn borsh_deserialize_bounded_vec for ExternalAddress { // Should be enough for a Uniswap v3 call pub const MAX_DATA_LEN: u32 = 512; -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct Data( diff --git a/substrate/primitives/src/networks.rs b/substrate/primitives/src/networks.rs index 64cf7cc2..fea8fba9 100644 --- a/substrate/primitives/src/networks.rs +++ b/substrate/primitives/src/networks.rs @@ -1,8 +1,7 @@ #[cfg(feature = "std")] use zeroize::Zeroize; -use scale::{Decode, Encode, EncodeLike, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, EncodeLike, Decode, DecodeWithMemTracking, MaxEncodedLen}; #[cfg(feature = "borsh")] use borsh::{BorshSerialize, BorshDeserialize}; @@ -16,7 +15,7 @@ use sp_std::{vec, vec::Vec}; use crate::{borsh_serialize_bounded_vec, borsh_deserialize_bounded_vec}; /// The type used to identify external networks. -#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, PartialOrd, Ord, TypeInfo)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, PartialOrd, Ord)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum ExternalNetworkId { @@ -47,6 +46,8 @@ impl Decode for ExternalNetworkId { } } +impl DecodeWithMemTracking for ExternalNetworkId {} + impl MaxEncodedLen for ExternalNetworkId { fn max_encoded_len() -> usize { 1 @@ -73,7 +74,7 @@ impl BorshDeserialize for ExternalNetworkId { } /// The type used to identify networks. -#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, PartialOrd, Ord, TypeInfo)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, PartialOrd, Ord)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum NetworkId { @@ -100,6 +101,8 @@ impl Decode for NetworkId { } } +impl DecodeWithMemTracking for NetworkId {} + impl MaxEncodedLen for NetworkId { fn max_encoded_len() -> usize { 1 @@ -184,7 +187,7 @@ pub const COINS: [Coin; 5] = [ ]; /// The type used to identify external coins. -#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, TypeInfo)] +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum ExternalCoin { @@ -217,6 +220,9 @@ impl Decode for ExternalCoin { } } } + +impl DecodeWithMemTracking for ExternalCoin {} + impl MaxEncodedLen for ExternalCoin { fn max_encoded_len() -> usize { 1 @@ -242,7 +248,7 @@ impl BorshDeserialize for ExternalCoin { } /// The type used to identify coins. -#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, TypeInfo)] +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub enum Coin { @@ -269,6 +275,8 @@ impl Decode for Coin { } } +impl DecodeWithMemTracking for Coin {} + impl MaxEncodedLen for Coin { fn max_encoded_len() -> usize { 1 diff --git a/substrate/runtime/Cargo.toml b/substrate/runtime/Cargo.toml index 861402d6..798ee2fc 100644 --- a/substrate/runtime/Cargo.toml +++ b/substrate/runtime/Cargo.toml @@ -13,7 +13,7 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-machete] -ignored = ["scale", "scale-info"] +ignored = ["scale"] [lints] workspace = true @@ -22,39 +22,38 @@ workspace = true hashbrown = { version = "0.14", default-features = false, features = ["ahash", "inline-more"] } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -sp-offchain = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-version = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-inherents = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-offchain = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-version = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-inherents = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -sp-session = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-consensus-babe = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-consensus-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -sp-authority-discovery = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-authority-discovery = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -sp-transaction-pool = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-block-builder = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-transaction-pool = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-block-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-api = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -frame-system = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-executive = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-benchmarking = { git = "https://github.com/serai-dex/substrate", default-features = false, optional = true } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-executive = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-benchmarking = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false, optional = true } serai-primitives = { path = "../primitives", default-features = false } serai-abi = { path = "../abi", default-features = false, features = ["serde"] } -pallet-timestamp = { git = "https://github.com/serai-dex/substrate", default-features = false } -pallet-authorship = { git = "https://github.com/serai-dex/substrate", default-features = false } +pallet-timestamp = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +pallet-authorship = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -pallet-transaction-payment = { git = "https://github.com/serai-dex/substrate", default-features = false } +pallet-transaction-payment = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } coins-pallet = { package = "serai-coins-pallet", path = "../coins/pallet", default-features = false } dex-pallet = { package = "serai-dex-pallet", path = "../dex/pallet", default-features = false } @@ -69,19 +68,19 @@ in-instructions-pallet = { package = "serai-in-instructions-pallet", path = "../ signals-pallet = { package = "serai-signals-pallet", path = "../signals/pallet", default-features = false } -pallet-babe = { git = "https://github.com/serai-dex/substrate", default-features = false } -pallet-grandpa = { git = "https://github.com/serai-dex/substrate", default-features = false } +pallet-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/serai-dex/substrate", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } [build-dependencies] -substrate-wasm-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "19c487d6aa9893b6b09a21ce0ab8aefb1c299186" } +substrate-wasm-builder = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b" } [features] std = [ "scale/std", - "scale-info/std", "sp-core/std", "sp-std/std", @@ -128,6 +127,7 @@ std = [ "signals-pallet/std", + "pallet-session/std", "pallet-babe/std", "pallet-grandpa/std", diff --git a/substrate/runtime/src/abi.rs b/substrate/runtime/src/abi.rs index 71f8271e..1c7e3ab8 100644 --- a/substrate/runtime/src/abi.rs +++ b/substrate/runtime/src/abi.rs @@ -205,6 +205,7 @@ impl TryInto for RuntimeCall { fn try_into(self) -> Result { Ok(match self { + RuntimeCall::System(_) => Err(())?, RuntimeCall::Timestamp(timestamp::Call::set { now }) => { Call::Timestamp(serai_abi::timestamp::Call::set { now }) } diff --git a/substrate/runtime/src/lib.rs b/substrate/runtime/src/lib.rs index 15124271..3c3ab299 100644 --- a/substrate/runtime/src/lib.rs +++ b/substrate/runtime/src/lib.rs @@ -1,3 +1,4 @@ +#![allow(deprecated)] #![cfg_attr(docsrs, feature(doc_cfg))] #![cfg_attr(docsrs, feature(doc_auto_cfg))] #![cfg_attr(not(feature = "std"), no_std)] @@ -36,13 +37,9 @@ pub use emissions_pallet as emissions; pub use economic_security_pallet as economic_security; -// Actually used by the runtime -use sp_core::OpaqueMetadata; use sp_std::prelude::*; use sp_version::RuntimeVersion; -#[cfg(feature = "std")] -use sp_version::NativeVersion; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, KeyTypeId, @@ -113,16 +110,12 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { impl_name: create_runtime_str!("core"), spec_version: 1, impl_version: 1, + authoring_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, - state_version: 1, + system_version: 1, }; -#[cfg(feature = "std")] -pub fn native_version() -> NativeVersion { - NativeVersion { runtime_version: VERSION, can_author_with: Default::default() } -} - pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4); pub const BABE_GENESIS_EPOCH_CONFIG: sp_consensus_babe::BabeEpochConfiguration = sp_consensus_babe::BabeEpochConfiguration { @@ -136,8 +129,6 @@ parameter_types! { pub const BlockHashCount: BlockNumber = 2400; pub const Version: RuntimeVersion = VERSION; - pub const SS58Prefix: u8 = 42; // TODO: Remove for Bech32m - // 1 MB block size limit pub BlockLength: system::limits::BlockLength = system::limits::BlockLength::max_with_normal_ratio(BLOCK_SIZE, NORMAL_DISPATCH_RATIO); @@ -181,9 +172,16 @@ impl system::Config for Runtime { type AccountData = (); type SystemWeightInfo = (); - type SS58Prefix = SS58Prefix; // TODO: Remove for Bech32m type MaxConsumers = support::traits::ConstU32<16>; + + type RuntimeTask = (); + type ExtensionsWeightInfo = (); // TODO + type SingleBlockMigrations = (); + type MultiBlockMigrator = (); + type PreInherents = (); + type PostInherents = (); + type PostTransactions = (); } impl timestamp::Config for Runtime { @@ -200,21 +198,18 @@ impl transaction_payment::Config for Runtime { type WeightToFee = IdentityFee; type LengthToFee = IdentityFee; type FeeMultiplierUpdate = (); + type WeightInfo = (); } impl coins::Config for Runtime { - type RuntimeEvent = RuntimeEvent; type AllowMint = ValidatorSets; } impl coins::Config for Runtime { - type RuntimeEvent = RuntimeEvent; type AllowMint = (); } impl dex::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type LPFee = ConstU32<3>; // 0.3% type MintMinLiquidity = ConstU64<10000>; @@ -226,8 +221,6 @@ impl dex::Config for Runtime { } impl validator_sets::Config for Runtime { - type RuntimeEvent = RuntimeEvent; - type ShouldEndSession = Babe; } @@ -239,7 +232,6 @@ impl Convert> for IdentityValidatorIdOf { } impl signals::Config for Runtime { - type RuntimeEvent = RuntimeEvent; // 1 week #[allow(clippy::cast_possible_truncation)] type RetirementValidityDuration = ConstU32<{ (7 * 24 * 60 * 60) / (TARGET_BLOCK_TIME as u32) }>; @@ -248,30 +240,13 @@ impl signals::Config for Runtime { type RetirementLockInDuration = ConstU32<{ (2 * 7 * 24 * 60 * 60) / (TARGET_BLOCK_TIME as u32) }>; } -impl in_instructions::Config for Runtime { - type RuntimeEvent = RuntimeEvent; -} +impl in_instructions::Config for Runtime {} -impl genesis_liquidity::Config for Runtime { - type RuntimeEvent = RuntimeEvent; -} +impl genesis_liquidity::Config for Runtime {} -impl emissions::Config for Runtime { - type RuntimeEvent = RuntimeEvent; -} +impl emissions::Config for Runtime {} -impl economic_security::Config for Runtime { - type RuntimeEvent = RuntimeEvent; -} - -// for publishing equivocation evidences. -impl frame_system::offchain::SendTransactionTypes for Runtime -where - RuntimeCall: From, -{ - type Extrinsic = Transaction; - type OverarchingCall = RuntimeCall; -} +impl economic_security::Config for Runtime {} // for validating equivocation evidences. // The following runtime construction doesn't actually implement the pallet as doing so is @@ -301,6 +276,7 @@ impl babe::Config for Runtime { type WeightInfo = (); type MaxAuthorities = MaxAuthorities; + type MaxNominators = ConstU32<1>; type KeyOwnerProof = MembershipProof; type EquivocationReportSystem = @@ -312,6 +288,7 @@ impl grandpa::Config for Runtime { type WeightInfo = (); type MaxAuthorities = MaxAuthorities; + type MaxNominators = ConstU32<1>; type MaxSetIdSessionEntries = ConstU64<0>; type KeyOwnerProof = MembershipProof; @@ -319,6 +296,17 @@ impl grandpa::Config for Runtime { grandpa::EquivocationReportSystem; } +#[doc(hidden)] +pub struct GetCurrentSessionForSubstrate; +impl pallet_session::GetCurrentSessionForSubstrate for GetCurrentSessionForSubstrate { + fn get() -> u32 { + validator_sets::Pallet::::latest_decided_session(NetworkId::Serai).unwrap().0 - 1 + } +} +impl pallet_session::Config for Runtime { + type Session = GetCurrentSessionForSubstrate; +} + pub type Executive = frame_executive::Executive< Runtime, Block, @@ -329,7 +317,7 @@ pub type Executive = frame_executive::Executive< construct_runtime!( pub enum Runtime { - System: system exclude_parts { Call }, + System: system, Timestamp: timestamp, @@ -379,6 +367,11 @@ sp_api::decl_runtime_apis! { pub trait SeraiRuntimeApi { fn validators(network_id: NetworkId) -> Vec; } + + #[api_version(1)] + pub trait GenesisApi { + fn build(genesis: RuntimeGenesisConfig); + } } sp_api::impl_runtime_apis! { @@ -388,30 +381,35 @@ sp_api::impl_runtime_apis! { } fn execute_block(block: Block) { + for tx in &block.extrinsics { + if let Some(signer) = tx.signer() { + let signer = PublicKey::from(signer.0); + let mut info = frame_system::Account::::get(signer); + if info.providers == 0 { + info.providers = 1; + frame_system::Account::::set(signer, info); + } + } + } Executive::execute_block(block); } - fn initialize_block(header: &Header) { - Executive::initialize_block(header) - } - } - - impl sp_api::Metadata for Runtime { - fn metadata() -> OpaqueMetadata { - OpaqueMetadata::new(Runtime::metadata().into()) - } - - fn metadata_at_version(version: u32) -> Option { - Runtime::metadata_at_version(version) - } - - fn metadata_versions() -> sp_std::vec::Vec { - Runtime::metadata_versions() + fn initialize_block(header: &Header) -> sp_runtime::ExtrinsicInclusionMode { + Executive::initialize_block(header); + sp_runtime::ExtrinsicInclusionMode::AllExtrinsics } } impl sp_block_builder::BlockBuilder for Runtime { fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { + if let Some(signer) = extrinsic.signer() { + let signer = PublicKey::from(signer.0); + let mut info = frame_system::Account::::get(signer); + if info.providers == 0 { + info.providers = 1; + frame_system::Account::::set(signer, info); + } + } Executive::apply_extrinsic(extrinsic) } @@ -437,6 +435,14 @@ sp_api::impl_runtime_apis! { tx: ::Extrinsic, block_hash: ::Hash, ) -> TransactionValidity { + if let Some(signer) = tx.signer() { + let signer = PublicKey::from(signer.0); + let mut info = frame_system::Account::::get(signer); + if info.providers == 0 { + info.providers = 1; + frame_system::Account::::set(signer, info); + } + } Executive::validate_transaction(source, tx, block_hash) } } @@ -606,6 +612,12 @@ sp_api::impl_runtime_apis! { } } + impl crate::GenesisApi for Runtime { + fn build(genesis: RuntimeGenesisConfig) { + ::build(&genesis) + } + } + impl dex::DexApi for Runtime { fn quote_price_exact_tokens_for_tokens( coin1: Coin, @@ -630,3 +642,20 @@ sp_api::impl_runtime_apis! { } } } + +impl frame_system::offchain::CreateTransactionBase for Runtime +where + RuntimeCall: From, +{ + type Extrinsic = ::Extrinsic; + type RuntimeCall = RuntimeCall; +} + +impl frame_system::offchain::CreateBare for Runtime +where + RuntimeCall: From, +{ + fn create_bare(call: RuntimeCall) -> ::Extrinsic { + <::Extrinsic as frame_support::traits::InherentBuilder>::new_inherent(call) + } +} diff --git a/substrate/signals/pallet/Cargo.toml b/substrate/signals/pallet/Cargo.toml index e06b5e6b..bc40f3ac 100644 --- a/substrate/signals/pallet/Cargo.toml +++ b/substrate/signals/pallet/Cargo.toml @@ -13,20 +13,19 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-machete] -ignored = ["scale", "scale-info"] +ignored = ["scale"] [lints] workspace = true [dependencies] scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-io = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -frame-system = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } serai-primitives = { path = "../../primitives", default-features = false } serai-signals-primitives = { path = "../primitives", default-features = false } @@ -37,7 +36,6 @@ in-instructions-pallet = { package = "serai-in-instructions-pallet", path = "../ [features] std = [ "scale/std", - "scale-info/std", "sp-core/std", "sp-io/std", diff --git a/substrate/signals/pallet/src/lib.rs b/substrate/signals/pallet/src/lib.rs index a682123d..52606e7a 100644 --- a/substrate/signals/pallet/src/lib.rs +++ b/substrate/signals/pallet/src/lib.rs @@ -9,8 +9,6 @@ )] // TODO #[frame_support::pallet] pub mod pallet { - use scale_info::TypeInfo; - use sp_core::sr25519::Public; use sp_io::hashing::blake2_256; @@ -25,17 +23,13 @@ pub mod pallet { use in_instructions_pallet::{Config as IiConfig, Pallet as InInstructions}; #[pallet::config] - pub trait Config: - frame_system::Config + VsConfig + IiConfig + TypeInfo - { - type RuntimeEvent: IsType<::RuntimeEvent> + From>; - + pub trait Config: frame_system::Config + VsConfig + IiConfig { type RetirementValidityDuration: Get; type RetirementLockInDuration: Get; } #[pallet::genesis_config] - #[derive(Debug, Encode, Decode)] + #[derive(Debug)] pub struct GenesisConfig { _config: PhantomData, } @@ -56,7 +50,7 @@ pub mod pallet { #[pallet::pallet] pub struct Pallet(PhantomData); - #[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, TypeInfo, MaxEncodedLen)] + #[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] pub struct RegisteredRetirementSignal { in_favor_of: [u8; 32], registrant: T::AccountId, diff --git a/substrate/signals/primitives/Cargo.toml b/substrate/signals/primitives/Cargo.toml index 1c338145..7f1e7054 100644 --- a/substrate/signals/primitives/Cargo.toml +++ b/substrate/signals/primitives/Cargo.toml @@ -19,7 +19,6 @@ workspace = true zeroize = { version = "^1.5", features = ["derive"], optional = true } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } borsh = { version = "1", default-features = false, features = ["derive", "de_strict_order"], optional = true } serde = { version = "1", default-features = false, features = ["derive", "alloc"], optional = true } @@ -31,7 +30,6 @@ std = [ "zeroize", "scale/std", - "scale-info/std", "borsh?/std", "serde?/std", diff --git a/substrate/signals/primitives/src/lib.rs b/substrate/signals/primitives/src/lib.rs index c7f0565a..50122ecc 100644 --- a/substrate/signals/primitives/src/lib.rs +++ b/substrate/signals/primitives/src/lib.rs @@ -1,13 +1,15 @@ #![cfg_attr(docsrs, feature(doc_cfg))] #![cfg_attr(docsrs, feature(doc_auto_cfg))] #![cfg_attr(not(feature = "std"), no_std)] +#![expect(clippy::cast_possible_truncation)] -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; use serai_primitives::ExternalNetworkId; -#[derive(Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, MaxEncodedLen, TypeInfo)] +#[derive( + Clone, Copy, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen, +)] #[cfg_attr(feature = "std", derive(zeroize::Zeroize))] #[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] diff --git a/substrate/validator-sets/pallet/Cargo.toml b/substrate/validator-sets/pallet/Cargo.toml index dd67d1bc..1a3f801c 100644 --- a/substrate/validator-sets/pallet/Cargo.toml +++ b/substrate/validator-sets/pallet/Cargo.toml @@ -13,7 +13,7 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-machete] -ignored = ["scale", "scale-info"] +ignored = ["scale"] [lints] workspace = true @@ -22,21 +22,21 @@ workspace = true hashbrown = { version = "0.14", default-features = false, features = ["ahash", "inline-more"] } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-io = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-application-crypto = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-session = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-staking = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-io = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-application-crypto = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-runtime = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-staking = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -frame-system = { git = "https://github.com/serai-dex/substrate", default-features = false } -frame-support = { git = "https://github.com/serai-dex/substrate", default-features = false } +frame-system = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +frame-support = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } -pallet-babe = { git = "https://github.com/serai-dex/substrate", default-features = false } -pallet-grandpa = { git = "https://github.com/serai-dex/substrate", default-features = false } +pallet-session = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +pallet-babe = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +pallet-grandpa = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } serai-primitives = { path = "../../primitives", default-features = false } validator-sets-primitives = { package = "serai-validator-sets-primitives", path = "../primitives", default-features = false } @@ -47,19 +47,19 @@ dex-pallet = { package = "serai-dex-pallet", path = "../../dex/pallet", default- [features] std = [ "scale/std", - "scale-info/std", "sp-core/std", "sp-io/std", "sp-std/std", "sp-application-crypto/std", - "sp-runtime/std", "sp-session/std", + "sp-runtime/std", "sp-staking/std", "frame-system/std", "frame-support/std", + "pallet-session/std", "pallet-babe/std", "pallet-grandpa/std", diff --git a/substrate/validator-sets/pallet/src/lib.rs b/substrate/validator-sets/pallet/src/lib.rs index 383f94a7..34bf60b2 100644 --- a/substrate/validator-sets/pallet/src/lib.rs +++ b/substrate/validator-sets/pallet/src/lib.rs @@ -2,13 +2,13 @@ use core::marker::PhantomData; -use scale::{Encode, Decode}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking}; use sp_std::{vec, vec::Vec}; use sp_core::sr25519::{Public, Signature}; use sp_application_crypto::RuntimePublic; -use sp_session::{ShouldEndSession, GetSessionNumber, GetValidatorCount}; +use sp_session::{GetSessionNumber, GetValidatorCount}; +use pallet_session::ShouldEndSession; use sp_runtime::{KeyTypeId, ConsensusEngineId, traits::IsMember}; use sp_staking::offence::{ReportOffence, Offence, OffenceError}; @@ -16,7 +16,7 @@ use frame_system::{pallet_prelude::*, RawOrigin}; use frame_support::{ pallet_prelude::*, sp_runtime::SaturatedConversion, - traits::{DisabledValidators, KeyOwnerProofSystem, FindAuthor}, + traits::{DisabledValidators, KeyOwnerProofSystem, FindAuthor, OneSessionHandler}, BoundedVec, WeakBoundedVec, StoragePrefixedMap, }; @@ -35,7 +35,7 @@ use pallet_grandpa::{ EquivocationOffence as GrandpaEquivocationOffence, }; -#[derive(Debug, Encode, Decode, TypeInfo, PartialEq, Eq, Clone)] +#[derive(Debug, Encode, Decode, DecodeWithMemTracking, PartialEq, Eq, Clone)] pub struct MembershipProof(pub Public, pub PhantomData); impl GetSessionNumber for MembershipProof { fn session(&self) -> u32 { @@ -74,17 +74,15 @@ pub mod pallet { frame_system::Config + coins_pallet::Config + dex_pallet::Config + + pallet_session::Config + pallet_babe::Config + pallet_grandpa::Config - + TypeInfo { - type RuntimeEvent: IsType<::RuntimeEvent> + From>; - type ShouldEndSession: ShouldEndSession>; } #[pallet::genesis_config] - #[derive(Clone, PartialEq, Eq, Debug, Encode, Decode)] + #[derive(Clone, Debug)] pub struct GenesisConfig { /// Networks to spawn Serai with, and the stake requirement per key share. /// @@ -242,7 +240,8 @@ pub mod pallet { Amount(u64::from_be_bytes(raw)) } fn recover_key_from_sorted_allocation_key(key: &[u8]) -> Public { - Public(key[(key.len() - 32) ..].try_into().unwrap()) + let key: [u8; 32] = key[(key.len() - 32) ..].try_into().unwrap(); + key.into() } // Returns if this validator already had an allocation set. fn set_allocation(network: NetworkId, key: Public, amount: Amount) -> bool { @@ -810,10 +809,13 @@ pub mod pallet { ), Some(session), ); - Grandpa::::new_session( + fn grandpa_map(i: &(Public, u64)) -> (&Public, GrandpaAuthorityId) { + (&i.0, i.0.into()) + } + Grandpa::::on_new_session( true, - session, - now_validators.into_iter().map(|(id, w)| (GrandpaAuthorityId::from(id), w)).collect(), + now_validators.iter().map(grandpa_map), + next_validators.iter().map(grandpa_map), ); // Clear SeraiDisabledIndices, only preserving keys still present in the new session @@ -1292,6 +1294,17 @@ pub mod pallet { fn is_disabled(index: u32) -> bool { SeraiDisabledIndices::::get(index).is_some() } + fn disabled_validators() -> Vec { + // TODO: Use a storage iterator here + let mut res = vec![]; + for i in 0 .. MAX_KEY_SHARES_PER_SET { + let i = i.into(); + if Self::is_disabled(i) { + res.push(i); + } + } + res + } } } diff --git a/substrate/validator-sets/primitives/Cargo.toml b/substrate/validator-sets/primitives/Cargo.toml index a3865a1e..f8cb5b25 100644 --- a/substrate/validator-sets/primitives/Cargo.toml +++ b/substrate/validator-sets/primitives/Cargo.toml @@ -26,15 +26,14 @@ borsh = { version = "1", default-features = false, features = ["derive", "de_str serde = { version = "1", default-features = false, features = ["derive", "alloc"], optional = true } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "max-encoded-len"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-core = { git = "https://github.com/serai-dex/substrate", default-features = false } -sp-std = { git = "https://github.com/serai-dex/substrate", default-features = false } +sp-core = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } +sp-std = { git = "https://github.com/serai-dex/patch-polkadot-sdk", rev = "da19e1f8ca7a9e2cbf39fbfa493918eeeb45e10b", default-features = false } serai-primitives = { path = "../../primitives", default-features = false } [features] -std = ["zeroize", "ciphersuite/std", "dkg-musig/std", "borsh?/std", "serde?/std", "scale/std", "scale-info/std", "sp-core/std", "sp-std/std", "serai-primitives/std"] +std = ["zeroize", "ciphersuite/std", "dkg-musig/std", "borsh?/std", "serde?/std", "scale/std", "sp-core/std", "sp-std/std", "serai-primitives/std"] borsh = ["dep:borsh", "serai-primitives/borsh"] serde = ["dep:serde", "serai-primitives/serde"] default = ["std"] diff --git a/substrate/validator-sets/primitives/src/lib.rs b/substrate/validator-sets/primitives/src/lib.rs index 0f3722cb..c7b3fc42 100644 --- a/substrate/validator-sets/primitives/src/lib.rs +++ b/substrate/validator-sets/primitives/src/lib.rs @@ -6,8 +6,7 @@ use zeroize::Zeroize; use dalek_ff_group::Ristretto; use ciphersuite::{group::GroupEncoding, Ciphersuite}; -use scale::{Encode, Decode, MaxEncodedLen}; -use scale_info::TypeInfo; +use scale::{Encode, Decode, DecodeWithMemTracking, MaxEncodedLen}; #[cfg(feature = "borsh")] use borsh::{BorshSerialize, BorshDeserialize}; @@ -27,7 +26,17 @@ pub const MAX_KEY_LEN: u32 = 96; /// The type used to identify a specific session of validators. #[derive( - Clone, Copy, PartialEq, Eq, Hash, Default, Debug, Encode, Decode, TypeInfo, MaxEncodedLen, + Clone, + Copy, + PartialEq, + Eq, + Hash, + Default, + Debug, + Encode, + Decode, + DecodeWithMemTracking, + MaxEncodedLen, )] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] @@ -35,7 +44,9 @@ pub const MAX_KEY_LEN: u32 = 96; pub struct Session(pub u32); /// The type used to identify a specific validator set during a specific session. -#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, Encode, Decode, TypeInfo, MaxEncodedLen)] +#[derive( + Clone, Copy, PartialEq, Eq, Hash, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen, +)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -45,7 +56,9 @@ pub struct ValidatorSet { } /// The type used to identify a specific validator set during a specific session. -#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, Encode, Decode, TypeInfo, MaxEncodedLen)] +#[derive( + Clone, Copy, PartialEq, Eq, Hash, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen, +)] #[cfg_attr(feature = "std", derive(Zeroize))] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] @@ -78,7 +91,7 @@ pub type ExternalKey = BoundedVec; /// The key pair for a validator set. /// /// This is their Ristretto key, used for signing Batches, and their key on the external network. -#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, TypeInfo, MaxEncodedLen)] +#[derive(Clone, PartialEq, Eq, Debug, Encode, Decode, DecodeWithMemTracking, MaxEncodedLen)] #[cfg_attr(feature = "borsh", derive(BorshSerialize, BorshDeserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct KeyPair( @@ -128,7 +141,7 @@ pub fn musig_key(set: ValidatorSet, set_keys: &[Public]) -> Public { .expect("invalid participant"), ); } - Public(dkg_musig::musig_key_vartime::(musig_context(set), &keys).unwrap().to_bytes()) + dkg_musig::musig_key_vartime::(musig_context(set), &keys).unwrap().to_bytes().into() } /// The message for the set_keys signature. diff --git a/tests/coordinator/src/lib.rs b/tests/coordinator/src/lib.rs index 69da80da..0235c132 100644 --- a/tests/coordinator/src/lib.rs +++ b/tests/coordinator/src/lib.rs @@ -28,7 +28,7 @@ use messages::{ }; use serai_message_queue::{Service, Metadata, client::MessageQueue}; -use serai_client::{primitives::Signature, Serai}; +use serai_client::Serai; use dockertest::{PullPolicy, Image, TestBodySpecification, DockerOperations}; @@ -299,18 +299,16 @@ impl Processor { schnorrkel_key_pair[64 ..].copy_from_slice( &(::generator() * *substrate_key).to_bytes(), ); - let signature = Signature( - schnorrkel::keys::Keypair::from_bytes(&schnorrkel_key_pair) - .unwrap() - .sign_simple(b"substrate", &cosign_block_msg(block_number, block)) - .to_bytes(), - ); + let signature = schnorrkel::keys::Keypair::from_bytes(&schnorrkel_key_pair) + .unwrap() + .sign_simple(b"substrate", &cosign_block_msg(block_number, block)) + .to_bytes(); send_message( messages::coordinator::ProcessorMessage::CosignedBlock { block_number, block, - signature: signature.0.to_vec(), + signature: signature.to_vec(), } .into(), ) diff --git a/tests/coordinator/src/tests/batch.rs b/tests/coordinator/src/tests/batch.rs index 7b36c18a..9d0baa0c 100644 --- a/tests/coordinator/src/tests/batch.rs +++ b/tests/coordinator/src/tests/batch.rs @@ -19,7 +19,7 @@ use dkg::Participant; use scale::Encode; use serai_client::{ - primitives::{BlockHash, Signature}, + primitives::BlockHash, in_instructions::{ primitives::{Batch, SignedBatch, batch_message}, InInstructionsEvent, @@ -166,12 +166,11 @@ pub async fn batch( OsRng.fill_bytes(&mut schnorrkel_key_pair[32 .. 64]); schnorrkel_key_pair[64 ..] .copy_from_slice(&(::generator() * **substrate_key).to_bytes()); - let signature = Signature( - schnorrkel::keys::Keypair::from_bytes(&schnorrkel_key_pair) - .unwrap() - .sign_simple(b"substrate", &batch_message(&batch)) - .to_bytes(), - ); + let signature = schnorrkel::keys::Keypair::from_bytes(&schnorrkel_key_pair) + .unwrap() + .sign_simple(b"substrate", &batch_message(&batch)) + .to_bytes() + .into(); let batch = SignedBatch { batch, signature }; diff --git a/tests/coordinator/src/tests/key_gen.rs b/tests/coordinator/src/tests/key_gen.rs index 1fc1a634..1e559585 100644 --- a/tests/coordinator/src/tests/key_gen.rs +++ b/tests/coordinator/src/tests/key_gen.rs @@ -14,10 +14,7 @@ use ciphersuite::{ use ciphersuite_kp256::Secp256k1; use dkg::ThresholdParams; -use serai_client::{ - validator_sets::primitives::{ExternalValidatorSet, KeyPair, Session}, - Public, -}; +use serai_client::validator_sets::primitives::{ExternalValidatorSet, KeyPair, Session}; use messages::{key_gen::KeyGenId, CoordinatorMessage}; use crate::tests::*; @@ -207,7 +204,7 @@ pub async fn key_gen( .await .unwrap() .unwrap(), - KeyPair(Public(substrate_key), network_key.try_into().unwrap()) + KeyPair(substrate_key.into(), network_key.try_into().unwrap()) ); for processor in &mut *processors { diff --git a/tests/processor/src/networks.rs b/tests/processor/src/networks.rs index 686ac7b1..6ac4a706 100644 --- a/tests/processor/src/networks.rs +++ b/tests/processor/src/networks.rs @@ -1,3 +1,5 @@ +#![allow(deprecated)] + use zeroize::Zeroizing; use rand_core::{RngCore, OsRng}; From 63f7e220c0ee7bb6be7a7fee5c1a691a1ea3dad9 Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Sun, 5 Oct 2025 10:59:40 -0400 Subject: [PATCH 3/3] Update macOS labels in CI due to deprecation of macos-13 --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2c9161e9..3a0cb72e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,7 +11,7 @@ jobs: clippy: strategy: matrix: - os: [ubuntu-latest, macos-13, macos-14, windows-latest] + os: [ubuntu-latest, macos-15-intel, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: