diff --git a/.cargo/config.toml b/.cargo/config.toml index 3e20fb467db6..a1bf134c3a7c 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,6 +1,11 @@ [target.aarch64-unknown-linux-gnu] linker = "aarch64-linux-gnu-gcc" +[env] +# Makes `--target wasm32-mvp` resolve to linera-service/wasm32-mvp.json +# anywhere in the repo. +RUST_TARGET_PATH = { value = "linera-service", relative = true } + [build] # We allow redundant explicit links because `cargo rdme` doesn't know how to resolve implicit intra-crate links. rustdocflags = ["-Arustdoc::redundant_explicit_links"] diff --git a/Cargo.lock b/Cargo.lock index def82d3c78da..9f2bf4f33bc5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6235,8 +6235,7 @@ dependencies = [ [[package]] name = "linera-wasm-instrument" version = "0.4.0-linera.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b01177f7f9e3404738607912cfe9887f0f717a8dc45adff03adc9f34f5b22e" +source = "git+https://github.com/linera-io/wasm-instrument?branch=bulk-memory-support#c29d43d43e5b4340c274320ac76bac3f4fe6dc45" dependencies = [ "linera-parity-wasm", ] @@ -6244,8 +6243,7 @@ dependencies = [ [[package]] name = "linera-wasmer" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6652182476826343f0dd1e76a184ad34bcee57650a9c00c77574b993dd30529" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "bytes", "cfg-if", @@ -6275,8 +6273,7 @@ dependencies = [ [[package]] name = "linera-wasmer-compiler" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4781ce9fc4a892c9a9727f51ec92d19e1c5b54259da21573671aa49211ae80f" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "backtrace", "bytes", @@ -6306,8 +6303,7 @@ dependencies = [ [[package]] name = "linera-wasmer-compiler-cranelift" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8056c8bff8e1b5cafd21aac59b9009e93b30f35b7baab5592a6f4c7db120b490" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "cranelift-codegen 0.91.1", "cranelift-entity 0.91.1", @@ -6325,8 +6321,7 @@ dependencies = [ [[package]] name = "linera-wasmer-compiler-singlepass" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3635a86dd98e2c2fd6dd603054f40b8e379f84365a2238cc177d47547a83eebc" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "byteorder", "dynasm", @@ -6344,8 +6339,7 @@ dependencies = [ [[package]] name = "linera-wasmer-vm" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27d020717572fdb6222324ec46b10eeb49f6f4a120ee63cf7145f4392f12fd8" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "backtrace", "cc", @@ -6363,6 +6357,7 @@ dependencies = [ "memoffset", "more-asserts", "region", + "rustversion", "scopeguard", "serde", "thiserror 1.0.69", diff --git a/Cargo.toml b/Cargo.toml index 97efb44e9860..7f0a896de166 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -219,9 +219,7 @@ revm-state = { version = "4.0.1", default-features = false, features = [ "serde", ] } rocksdb = "0.21.0" -# 0.8.2 doesn't build with Rust 1.87. Remove `=` once -# https://github.com/linera-io/linera-protocol/issues/4742 is resolved. -ruzstd = "=0.8.1" +ruzstd = "0.8" scylla = "~1.1.0" semver = "1.0.22" serde = { version = "1.0.197", features = ["derive"] } @@ -283,9 +281,9 @@ url = "2.4" wasm-bindgen = "0.2.100" wasm-bindgen-futures = "=0.4.50" wasm-bindgen-test = "0.3.42" -wasm-instrument = { package = "linera-wasm-instrument", version = "0.4.0-linera.1" } -wasmer = { package = "linera-wasmer", version = "4.4.0-linera.7", default-features = false } -wasmer-compiler-singlepass = { package = "linera-wasmer-compiler-singlepass", version = "4.4.0-linera.7", default-features = false, features = [ +wasm-instrument = { package = "linera-wasm-instrument", git = "https://github.com/linera-io/wasm-instrument", branch = "bulk-memory-support" } +wasmer = { package = "linera-wasmer", git = "https://github.com/linera-io/wasmer", branch = "fix-rust-probestack", default-features = false } +wasmer-compiler-singlepass = { package = "linera-wasmer-compiler-singlepass", git = "https://github.com/linera-io/wasmer", branch = "fix-rust-probestack", default-features = false, features = [ "std", "unwind", "avx", diff --git a/examples/.cargo/config.toml b/examples/.cargo/config.toml new file mode 100644 index 000000000000..cbd7d92c1170 --- /dev/null +++ b/examples/.cargo/config.toml @@ -0,0 +1,7 @@ +[build] +# Required for rustc to accept the custom wasm32-mvp target spec. +rustflags = ["-Zunstable-options"] + +[unstable] +build-std = ["std", "panic_abort"] +json-target-spec = true diff --git a/examples/Cargo.lock b/examples/Cargo.lock index 5669da3f47c1..212d526dcbfb 100644 --- a/examples/Cargo.lock +++ b/examples/Cargo.lock @@ -14,18 +14,18 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.24.1" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" dependencies = [ - "gimli 0.31.0", + "gimli 0.32.3", ] [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" @@ -33,16 +33,16 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -65,14 +65,14 @@ checksum = "fe233a377643e0fc1a56421d7c90acdec45c291b30345eb9f08e8d0ddce5a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[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" @@ -100,13 +100,13 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.2.0" +version = "0.2.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7734aecfc58a597dde036e4c5cace2ae43e2f8bf3d406b022a1ef34da178dd49" +checksum = "90f374d3c6d729268bbe2d0e0ff992bb97898b2df756691a62ee1d5f0506bc39" dependencies = [ "alloy-primitives", "num_enum", - "strum 0.27.1", + "strum 0.27.2", ] [[package]] @@ -123,7 +123,7 @@ dependencies = [ "alloy-tx-macros", "auto_impl", "c-kzg", - "derive_more 2.0.1", + "derive_more 2.1.1", "either", "k256", "once_cell", @@ -132,7 +132,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -168,7 +168,7 @@ dependencies = [ "futures", "futures-util", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -196,7 +196,7 @@ dependencies = [ "itoa", "serde", "serde_json", - "winnow 0.7.10", + "winnow 0.7.14", ] [[package]] @@ -209,30 +209,32 @@ dependencies = [ "alloy-rlp", "crc", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "alloy-eip2930" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b82752a889170df67bbb36d42ca63c531eb16274f0d7299ae2a680facba17bd" +checksum = "9441120fa82df73e8959ae0e4ab8ade03de2aaae61be313fbf5746277847ce25" dependencies = [ "alloy-primitives", "alloy-rlp", + "borsh", "serde", ] [[package]] name = "alloy-eip7702" -version = "0.6.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d4769c6ffddca380b0070d71c8b7f30bed375543fe76bb2f74ec0acf4b7cd16" +checksum = "2919c5a56a1007492da313e7a3b6d45ef5edc5d33416fdec63c0d7a2702a0d20" dependencies = [ "alloy-primitives", "alloy-rlp", + "borsh", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -249,12 +251,12 @@ dependencies = [ "alloy-serde", "auto_impl", "c-kzg", - "derive_more 2.0.1", + "derive_more 2.1.1", "either", "serde", "serde_with", "sha2", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -272,9 +274,9 @@ dependencies = [ [[package]] name = "alloy-hardforks" -version = "0.2.0" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d3b2243e2adfaea41da41982f91ecab8083fa51b240d0427955d709f65b1b4" +checksum = "3165210652f71dfc094b051602bafd691f506c54050a174b1cba18fb5ef706a3" dependencies = [ "alloy-chains", "alloy-eip2124", @@ -303,10 +305,10 @@ checksum = "f87b774478fcc616993e97659697f3e3c7988fdad598e46ee0ed11209cd0d8ee" dependencies = [ "alloy-primitives", "alloy-sol-types", - "http 1.1.0", + "http 1.4.0", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", ] @@ -329,11 +331,11 @@ dependencies = [ "alloy-sol-types", "async-trait", "auto_impl", - "derive_more 2.0.1", + "derive_more 2.1.1", "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -365,7 +367,7 @@ dependencies = [ "rand 0.8.5", "serde_json", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", "url", ] @@ -380,16 +382,16 @@ dependencies = [ "bytes", "cfg-if", "const-hex", - "derive_more 2.0.1", + "derive_more 2.1.1", "foldhash 0.2.0", "hashbrown 0.16.1", - "indexmap 2.5.0", + "indexmap 2.13.0", "itoa", "k256", "keccak-asm", "paste", "proptest", - "rand 0.9.0", + "rand 0.9.2", "rapidhash", "ruint", "rustc-hash", @@ -428,10 +430,10 @@ dependencies = [ "lru 0.13.0", "parking_lot", "pin-project", - "reqwest 0.12.23", + "reqwest 0.12.28", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", "url", @@ -457,7 +459,7 @@ checksum = "ce8849c74c9ca0f5a03da1c865e3eb6f768df816e67dd3721a398a8a7e398011" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -472,7 +474,7 @@ dependencies = [ "alloy-transport-http", "futures", "pin-project", - "reqwest 0.12.23", + "reqwest 0.12.28", "serde", "serde_json", "tokio", @@ -536,7 +538,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -562,7 +564,7 @@ dependencies = [ "either", "elliptic-curve", "k256", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -578,7 +580,7 @@ dependencies = [ "async-trait", "k256", "rand 0.8.5", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -592,7 +594,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -605,12 +607,12 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.5.0", + "indexmap 2.13.0", "proc-macro-error2", "proc-macro2", "quote", "sha3", - "syn 2.0.100", + "syn 2.0.117", "syn-solidity", ] @@ -628,7 +630,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.100", + "syn 2.0.117", "syn-solidity", ] @@ -639,7 +641,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6df77fea9d6a2a75c0ef8d2acbdfd92286cc599983d3175ccdc170d3433d249" dependencies = [ "serde", - "winnow 0.7.10", + "winnow 0.7.14", ] [[package]] @@ -663,13 +665,13 @@ dependencies = [ "alloy-json-rpc", "auto_impl", "base64 0.22.1", - "derive_more 2.0.1", + "derive_more 2.1.1", "futures", "futures-utils-wasm", "parking_lot", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tower", "tracing", @@ -685,7 +687,7 @@ checksum = "793967215109b4a334047c810ed6db5e873ad3ea07f65cc02202bd4b810d9615" dependencies = [ "alloy-json-rpc", "alloy-transport", - "reqwest 0.12.23", + "reqwest 0.12.28", "serde_json", "tower", "tracing", @@ -701,11 +703,11 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "arrayvec", - "derive_more 2.0.1", + "derive_more 2.1.1", "nybbles", "serde", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", ] @@ -718,7 +720,7 @@ dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -737,12 +739,6 @@ dependencies = [ "tokio", ] -[[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" @@ -754,9 +750,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse", @@ -769,43 +765,44 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[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.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.95" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "ark-ff" @@ -892,7 +889,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -930,7 +927,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -1035,8 +1032,8 @@ dependencies = [ "futures-timer", "futures-util", "handlebars", - "http 1.1.0", - "indexmap 2.5.0", + "http 1.4.0", + "indexmap 2.13.0", "mime", "multer", "num-traits", @@ -1047,7 +1044,7 @@ dependencies = [ "serde_urlencoded", "static_assertions_next", "tempfile", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -1058,20 +1055,20 @@ checksum = "fd45deb3dbe5da5cdb8d6a670a7736d735ba65b455328440f236dfb113727a3d" dependencies = [ "Inflector", "async-graphql-parser", - "darling 0.20.10", - "proc-macro-crate 3.2.0", + "darling 0.20.11", + "proc-macro-crate 3.4.0", "proc-macro2", "quote", "strum 0.26.3", - "syn 2.0.100", - "thiserror 1.0.65", + "syn 2.0.117", + "thiserror 1.0.69", ] [[package]] name = "async-graphql-parser" -version = "7.0.17" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b7607e59424a35dadbc085b0d513aa54ec28160ee640cf79ec3b634eba66d3" +checksum = "e64ef70f77a1c689111e52076da1cd18f91834bcb847de0a9171f83624b07fbf" dependencies = [ "async-graphql-value", "pest", @@ -1081,21 +1078,21 @@ dependencies = [ [[package]] name = "async-graphql-value" -version = "7.0.17" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ecdaff7c9cffa3614a9f9999bf9ee4c3078fe3ce4d6a6e161736b56febf2de" +checksum = "3e3ef112905abea9dea592fc868a6873b10ebd3f983e83308f995d6284e9ba41" dependencies = [ "bytes", - "indexmap 2.5.0", + "indexmap 2.13.0", "serde", "serde_json", ] [[package]] name = "async-lock" -version = "3.4.0" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" dependencies = [ "event-listener", "event-listener-strategy", @@ -1104,9 +1101,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -1115,24 +1112,24 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[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.100", + "syn 2.0.117", ] [[package]] @@ -1143,35 +1140,35 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" -version = "0.8.4" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" dependencies = [ "axum-core", "bytes", "form_urlencoded", "futures-util", - "http 1.1.0", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-util", "itoa", "matchit", @@ -1179,8 +1176,7 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rustversion", - "serde", + "serde_core", "serde_json", "serde_path_to_error", "serde_urlencoded", @@ -1194,18 +1190,17 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.5.2" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ "bytes", "futures-core", - "http 1.1.0", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "mime", "pin-project-lite", - "rustversion", "sync_wrapper 1.0.2", "tower-layer", "tower-service", @@ -1214,9 +1209,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" dependencies = [ "addr2line", "cfg-if", @@ -1224,7 +1219,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -1264,7 +1259,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b6598a2f5d564fb7855dc6b06fd1c38cff5a72bd8b863a4d021938497b440a" dependencies = [ "serde", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -1299,15 +1294,15 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitcoin-io" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" +checksum = "2dee39a0ee5b4095224a0cfc6bf4cc1baf0f9624b96b367e53b66d974e51d953" [[package]] name = "bitcoin_hashes" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" +checksum = "26ec84b80c482df901772e931a9a681e26a1b9ee2302edeff23cb30328745c8b" dependencies = [ "bitcoin-io", "hex-conservative", @@ -1321,9 +1316,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "bitvec" @@ -1348,9 +1343,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c79a94619fade3c0b887670333513a67ac28a6a7e653eb260bf0d4103db38d" +checksum = "dcdb4c7013139a150f9fc55d123186dbfaba0d912817466282c73ac49e71fb45" dependencies = [ "cc", "glob", @@ -1358,17 +1353,40 @@ dependencies = [ "zeroize", ] +[[package]] +name = "borsh" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" +dependencies = [ + "borsh-derive", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0686c856aa6aac0c4498f936d7d6a02df690f614c03e4d906d1018062b5c5e2c" +dependencies = [ + "once_cell", + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[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 = "bytecheck" @@ -1394,22 +1412,22 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.18.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.7.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -1420,18 +1438,18 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.2" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" dependencies = [ "serde", ] [[package]] name = "c-kzg" -version = "2.1.1" +version = "2.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7318cfa722931cb5fe0838b98d3ce5621e75f6a6408abc21721d80de9223f2e4" +checksum = "1a0f582957c24870b7bfd12bf562c40b4734b533cafbaf8ded31d6d85f462c01" dependencies = [ "blst", "cc", @@ -1458,11 +1476,11 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -1474,15 +1492,15 @@ dependencies = [ "byteorder", "gemm", "half", - "memmap2 0.9.5", + "memmap2 0.9.10", "num-traits", "num_cpus", "rand 0.8.5", "rand_distr", "rayon", "safetensors", - "thiserror 1.0.65", - "yoke", + "thiserror 1.0.69", + "yoke 0.7.5", "zip", ] @@ -1498,7 +1516,7 @@ dependencies = [ "rayon", "safetensors", "serde", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -1521,9 +1539,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -1536,10 +1554,10 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.27", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -1554,10 +1572,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.22" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -1577,22 +1596,21 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ - "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets 0.52.6", + "windows-link", ] [[package]] name = "clap" -version = "4.5.26" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783" +checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" dependencies = [ "clap_builder", "clap_derive", @@ -1600,9 +1618,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.26" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121" +checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" dependencies = [ "anstream", "anstyle", @@ -1612,27 +1630,27 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" [[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" @@ -1657,15 +1675,14 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.14.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" +checksum = "531185e432bb31db1ecda541e9e7ab21468d4d844ad7505e0546a49b4945d49b" dependencies = [ "cfg-if", "cpufeatures", - "hex", "proptest", - "serde", + "serde_core", ] [[package]] @@ -1674,6 +1691,26 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const_format" +version = "0.2.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad" +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 = "controller" version = "0.1.0" @@ -1698,6 +1735,15 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -1756,9 +1802,9 @@ dependencies = [ [[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", ] @@ -1848,9 +1894,9 @@ checksum = "393bc73c451830ff8dbb3a07f61843d6cb41a084f9996319917c0b291ed785bb" [[package]] name = "crc" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" dependencies = [ "crc-catalog", ] @@ -1863,18 +1909,18 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[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" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -1891,18 +1937,18 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crowd-funding" @@ -1920,9 +1966,9 @@ dependencies = [ [[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" @@ -1980,20 +2026,19 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "custom_debug_derive" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f731440b39c73910e253cb465ec1fac97732b3c7af215639881ec0c2a38f4f69" +checksum = "a707ceda8652f6c7624f2be725652e9524c815bf3b9d55a0b2320be2303f9c11" dependencies = [ - "darling 0.20.10", - "itertools 0.12.1", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", "synstructure", ] @@ -2009,12 +2054,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", + "darling_core 0.20.11", + "darling_macro 0.20.11", ] [[package]] @@ -2043,16 +2088,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2067,7 +2112,7 @@ dependencies = [ "quote", "serde", "strsim 0.11.1", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2083,13 +2128,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.10" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.10", + "darling_core 0.20.11", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2100,7 +2145,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2127,7 +2172,7 @@ dependencies = [ "deluxe-macros", "once_cell", "proc-macro2", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2140,7 +2185,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2155,14 +2200,14 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[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", "pem-rfc7468", @@ -2171,12 +2216,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", - "serde", + "serde_core", ] [[package]] @@ -2232,11 +2277,11 @@ dependencies = [ [[package]] name = "derive_more" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" dependencies = [ - "derive_more-impl 2.0.1", + "derive_more-impl 2.1.1", ] [[package]] @@ -2247,19 +2292,21 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", "unicode-xid", ] [[package]] name = "derive_more-impl" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" dependencies = [ + "convert_case 0.10.0", "proc-macro2", "quote", - "syn 2.0.100", + "rustc_version 0.4.1", + "syn 2.0.117", "unicode-xid", ] @@ -2292,7 +2339,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2303,9 +2350,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[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 = "dyn-stack" @@ -2371,9 +2418,9 @@ 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", @@ -2394,7 +2441,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2435,9 +2482,9 @@ checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] @@ -2451,7 +2498,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2491,35 +2538,35 @@ checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "enumset" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a4b049558765cef5f0c1a273c3fc57084d768b44d2f98127aef4cceb17293" +checksum = "25b07a8dfbbbfc0064c0a6bdf9edcf966de6b1c33ce344bdeca3b41615452634" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.10.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242" +checksum = "f43e744e4ea338060faee68ed933e46e722fb7f3617e722a5772d7e856d8b3ce" dependencies = [ - "darling 0.20.10", + "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[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 = "erased-discriminant" @@ -2532,12 +2579,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.12" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -2562,9 +2609,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.3.1" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -2573,9 +2620,9 @@ 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", "pin-project-lite", @@ -2594,8 +2641,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2" dependencies = [ "bit-set 0.5.3", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata", + "regex-syntax", ] [[package]] @@ -2613,7 +2660,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", ] [[package]] @@ -2640,9 +2687,9 @@ dependencies = [ [[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 = [ "rand_core 0.6.4", "subtle", @@ -2654,6 +2701,12 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + [[package]] name = "fixed-hash" version = "0.8.0" @@ -2668,9 +2721,9 @@ dependencies = [ [[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 = "flume" @@ -2692,9 +2745,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "foldhash" @@ -2704,18 +2757,18 @@ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[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 = "frunk" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874b6a17738fc273ec753618bac60ddaeac48cb1d7684c3e7bd472e57a28b817" +checksum = "28aef0f9aa070bce60767c12ba9cb41efeaf1a2bc6427f87b7d83f11239a16d7" dependencies = [ "frunk_core", "frunk_derives", @@ -2725,46 +2778,46 @@ dependencies = [ [[package]] name = "frunk_core" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3529a07095650187788833d585c219761114005d5976185760cf794d265b6a5c" +checksum = "476eeaa382e3462b84da5d6ba3da97b5786823c2d0d3a0d04ef088d073da225c" dependencies = [ "serde", ] [[package]] name = "frunk_derives" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e99b8b3c28ae0e84b604c75f721c21dc77afb3706076af5e8216d15fd1deaae3" +checksum = "a0b4095fc99e1d858e5b8c7125d2638372ec85aa0fe6c807105cf10b0265ca6c" dependencies = [ "frunk_proc_macro_helpers", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "frunk_proc_macro_helpers" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05a956ef36c377977e512e227dcad20f68c2786ac7a54dacece3746046fea5ce" +checksum = "1952b802269f2db12ab7c0bd328d0ae8feaabf19f352a7b0af7bb0c5693abfce" dependencies = [ "frunk_core", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "frunk_proc_macros" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e86c2c9183662713fea27ea527aad20fb15fee635a71081ff91bf93df4dc51" +checksum = "3462f590fa236005bd7ca4847f81438bd6fe0febd4d04e11968d4c2e96437e78" dependencies = [ "frunk_core", "frunk_proc_macro_helpers", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -2798,9 +2851,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -2813,9 +2866,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -2823,15 +2876,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -2840,32 +2893,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-timer" @@ -2875,9 +2928,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -2887,7 +2940,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -3034,7 +3086,8 @@ dependencies = [ "candle-core", "candle-transformers", "fungible", - "getrandom 0.2.15", + "getrandom 0.2.17", + "half", "insta", "linera-sdk", "log", @@ -3049,9 +3102,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.7" +version = "0.14.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" dependencies = [ "serde", "typenum", @@ -3061,27 +3114,40 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasip2", + "wasip3", ] [[package]] @@ -3097,15 +3163,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.31.0" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "glob" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "gol-challenge" @@ -3120,7 +3186,7 @@ dependencies = [ "serde-reflection", "serde_json", "test-log", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", ] @@ -3147,7 +3213,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.5.0", + "indexmap 2.13.0", "slab", "tokio", "tokio-util", @@ -3156,17 +3222,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.6" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.1.0", - "indexmap 2.5.0", + "http 1.4.0", + "indexmap 2.13.0", "slab", "tokio", "tokio-util", @@ -3198,7 +3264,7 @@ dependencies = [ "pest_derive", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -3218,13 +3284,13 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", - "foldhash 0.1.4", + "foldhash 0.1.5", ] [[package]] @@ -3255,30 +3321,21 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +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.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd" +checksum = "fda06d18ac606267c40c04e41b9947729bf8b9efe74bd4e82b61a5f26a510b9f" dependencies = [ "arrayvec", ] @@ -3336,12 +3393,11 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -3363,27 +3419,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http 1.4.0", ] [[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.4.0", "http-body 1.0.1", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.9.4" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "httpdate" @@ -3408,7 +3464,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -3417,20 +3473,22 @@ dependencies = [ [[package]] name = "hyper" -version = "1.6.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", - "h2 0.4.6", - "http 1.1.0", + "futures-core", + "h2 0.4.13", + "http 1.4.0", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -3452,11 +3510,11 @@ dependencies = [ [[package]] name = "hyper-timeout" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "hyper 1.6.0", + "hyper 1.8.1", "hyper-util", "pin-project-lite", "tokio", @@ -3465,23 +3523,22 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.16" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "base64 0.22.1", "bytes", "futures-channel", - "futures-core", "futures-util", - "http 1.1.0", + "http 1.4.0", "http-body 1.0.1", - "hyper 1.6.0", + "hyper 1.8.1", "ipnet", "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.0", + "socket2 0.6.2", "tokio", "tower-service", "tracing", @@ -3489,9 +3546,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.63" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3499,7 +3556,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core", + "windows-core 0.62.2", ] [[package]] @@ -3513,21 +3570,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", - "yoke", + "potential_utf", + "yoke 0.8.1", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -3536,104 +3594,66 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ - "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", + "icu_locale_core", "writeable", - "yoke", + "yoke 0.8.1", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", -] - [[package]] name = "id-arena" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "ident_case" @@ -3643,9 +3663,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -3654,9 +3674,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -3664,9 +3684,9 @@ dependencies = [ [[package]] name = "if_chain" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" +checksum = "cd62e6b5e86ea8eeeb8db1de02880a6abc01a397b2ebb64b5d74ac255318f5cb" [[package]] name = "impl-codec" @@ -3679,13 +3699,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.117", ] [[package]] @@ -3701,20 +3721,21 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.5.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.16.1", "serde", + "serde_core", ] [[package]] name = "insta" -version = "1.46.1" +version = "1.46.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248b42847813a1550dafd15296fd9748c651d0c32194559dbc05d804d54b21e8" +checksum = "e82db8c87c7f1ccecb34ce0c24399b8a73081427f3c7c50a5d597925356115e4" dependencies = [ "console", "once_cell", @@ -3725,15 +3746,15 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "iri-string" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" dependencies = [ "memchr", "serde", @@ -3741,20 +3762,20 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.13" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ - "hermit-abi 0.4.0", + "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -3803,24 +3824,25 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[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.4", "libc", ] [[package]] name = "js-sys" -version = "0.3.83" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ "once_cell", "wasm-bindgen", @@ -3842,9 +3864,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" dependencies = [ "cpufeatures", ] @@ -3871,17 +3893,23 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libc" -version = "0.2.175" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libm" -version = "0.2.8" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "linera-base" @@ -3921,7 +3949,7 @@ dependencies = [ "serde_with", "sync_wrapper 1.0.2", "test-strategy", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tokio-util", "tracing", @@ -3956,7 +3984,7 @@ dependencies = [ "serde_bytes", "serde_json", "strum 0.26.3", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tracing", ] @@ -3989,7 +4017,7 @@ dependencies = [ "serde_json", "test-log", "test-strategy", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tokio-stream", "tonic", @@ -4015,7 +4043,7 @@ dependencies = [ "num-traits", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "url", ] @@ -4053,7 +4081,7 @@ dependencies = [ "serde_bytes", "serde_json", "strum 0.26.3", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tracing", "url", @@ -4092,18 +4120,18 @@ dependencies = [ "serde", "serde-reflection", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", - "wit-bindgen", + "wit-bindgen 0.24.0", ] [[package]] name = "linera-sdk-derive" version = "0.15.14" dependencies = [ - "convert_case", + "convert_case 0.6.0", "proc-macro2", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -4142,7 +4170,7 @@ dependencies = [ "linera-views", "prost", "serde", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tonic", "tonic-prost", @@ -4163,11 +4191,11 @@ dependencies = [ "fs-err", "glob", "quote", - "semver 1.0.23", + "semver 1.0.27", "serde", "serde_json", "sha3", - "thiserror 1.0.65", + "thiserror 1.0.69", "tracing", ] @@ -4181,7 +4209,7 @@ dependencies = [ "async-lock", "bcs", "cfg_aliases", - "convert_case", + "convert_case 0.6.0", "derive_more 1.0.0", "futures", "generic-array", @@ -4199,7 +4227,7 @@ dependencies = [ "static_assertions", "sysinfo", "tempfile", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tracing", "trait-variant", @@ -4214,14 +4242,13 @@ dependencies = [ "deluxe", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "linera-wasm-instrument" version = "0.4.0-linera.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b01177f7f9e3404738607912cfe9887f0f717a8dc45adff03adc9f34f5b22e" +source = "git+https://github.com/linera-io/wasm-instrument?branch=bulk-memory-support#c29d43d43e5b4340c274320ac76bac3f4fe6dc45" dependencies = [ "linera-parity-wasm", ] @@ -4229,8 +4256,7 @@ dependencies = [ [[package]] name = "linera-wasmer" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6652182476826343f0dd1e76a184ad34bcee57650a9c00c77574b993dd30529" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "bytes", "cfg-if", @@ -4247,7 +4273,7 @@ dependencies = [ "serde-wasm-bindgen 0.4.5", "shared-buffer", "target-lexicon", - "thiserror 1.0.65", + "thiserror 1.0.69", "tracing", "wasm-bindgen", "wasmer-derive", @@ -4259,8 +4285,7 @@ dependencies = [ [[package]] name = "linera-wasmer-compiler" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4781ce9fc4a892c9a9727f51ec92d19e1c5b54259da21573671aa49211ae80f" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "backtrace", "bytes", @@ -4280,7 +4305,7 @@ dependencies = [ "serde_bytes", "shared-buffer", "smallvec", - "thiserror 1.0.65", + "thiserror 1.0.69", "wasmer-types", "wasmparser 0.121.2", "windows-sys 0.59.0", @@ -4290,8 +4315,7 @@ dependencies = [ [[package]] name = "linera-wasmer-compiler-cranelift" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8056c8bff8e1b5cafd21aac59b9009e93b30f35b7baab5592a6f4c7db120b490" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -4309,8 +4333,7 @@ dependencies = [ [[package]] name = "linera-wasmer-compiler-singlepass" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3635a86dd98e2c2fd6dd603054f40b8e379f84365a2238cc177d47547a83eebc" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "byteorder", "dynasm", @@ -4328,8 +4351,7 @@ dependencies = [ [[package]] name = "linera-wasmer-vm" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27d020717572fdb6222324ec46b10eeb49f6f4a120ee63cf7145f4392f12fd8" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "backtrace", "cc", @@ -4347,9 +4369,10 @@ dependencies = [ "memoffset", "more-asserts", "region", + "rustversion", "scopeguard", "serde", - "thiserror 1.0.65", + "thiserror 1.0.69", "wasmer-types", "windows-sys 0.59.0", ] @@ -4365,7 +4388,7 @@ dependencies = [ "linera-wasmer", "linera-witty-macros", "log", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -4377,7 +4400,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -4388,15 +4411,15 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.9.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.7.4" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "llm" @@ -4405,7 +4428,8 @@ dependencies = [ "async-graphql", "candle-core", "candle-transformers", - "getrandom 0.2.15", + "getrandom 0.2.17", + "half", "insta", "linera-sdk", "log", @@ -4418,19 +4442,18 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.22" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru" @@ -4438,7 +4461,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.5", ] [[package]] @@ -4447,14 +4470,14 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0281c2e25e62316a5c9d98f2d2e9e95a37841afdaf4383c177dbb5c1dfab0568" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.5", ] [[package]] name = "mach2" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" dependencies = [ "libc", ] @@ -4467,14 +4490,14 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "macro_rules_attribute" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a82271f7bc033d84bbca59a3ce3e4159938cb08a9c3aebbe54d215131518a13" +checksum = "65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520" dependencies = [ "macro_rules_attribute-proc_macro", "paste", @@ -4482,17 +4505,17 @@ dependencies = [ [[package]] name = "macro_rules_attribute-proc_macro" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dd856d451cc0da70e2ef2ce95a18e39a93b7558bedf10201ad28503f918568" +checksum = "670fdfda89751bc4a84ac13eaa63e205cf0fd22b4c9a5fbfa085b63c1f1d3a30" [[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]] @@ -4517,9 +4540,9 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" -version = "2.7.4" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memmap2" @@ -4541,9 +4564,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.5" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" dependencies = [ "libc", "stable_deref_trait", @@ -4584,44 +4607,44 @@ 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.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ - "hermit-abi 0.3.9", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] name = "monostate" -version = "0.1.13" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d208407d7552cd041d8cdb69a1bc3303e029c598738177a3d87082004dc0e1e" +checksum = "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67" dependencies = [ "monostate-impl", "serde", + "serde_core", ] [[package]] name = "monostate-impl" -version = "0.1.13" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ce64b975ed4f123575d11afd9491f2e37bbd5813fbfbc0f09ae1fbddea74e0" +checksum = "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -4639,7 +4662,7 @@ dependencies = [ "bytes", "encoding_rs", "futures-util", - "http 1.1.0", + "http 1.4.0", "httparse", "memchr", "mime", @@ -4698,21 +4721,20 @@ dependencies = [ [[package]] name = "ntapi" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" dependencies = [ "winapi", ] [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "overload", - "winapi", + "windows-sys 0.61.2", ] [[package]] @@ -4737,9 +4759,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-integer" @@ -4762,39 +4784,40 @@ 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 0.3.9", + "hermit-abi", "libc", ] [[package]] name = "num_enum" -version = "0.7.3" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.7.3" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "nybbles" -version = "0.4.3" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63cb50036b1ad148038105af40aaa70ff24d8a14fbc44ae5c914e1348533d12e" +checksum = "0d49ff0c0d00d4a502b39df9af3a525e1efeb14b9dabb5bb83335284c1309210" dependencies = [ "alloy-rlp", "cfg-if", @@ -4806,9 +4829,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.4" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ "memchr", ] @@ -4819,11 +4842,17 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + [[package]] name = "oneshot" -version = "0.1.8" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e296cf87e61c9cfc1a61c3c63a0f7f286ed4554e0e22be84e8a38e1d264a2a29" +checksum = "269bca4c2591a28585d6bf10d9ed0332b7d76900a1b02bec41bdc3a2cdcda107" [[package]] name = "opentelemetry" @@ -4835,7 +4864,7 @@ dependencies = [ "futures-sink", "js-sys", "pin-project-lite", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", ] @@ -4850,19 +4879,13 @@ dependencies = [ "futures-util", "opentelemetry", "percent-encoding", - "rand 0.9.0", + "rand 0.9.2", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", ] -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "papaya" version = "0.1.9" @@ -4876,28 +4899,30 @@ dependencies = [ [[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", + "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.4.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.117", ] [[package]] @@ -4908,9 +4933,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -4918,15 +4943,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -4946,26 +4971,25 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.7.13" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" dependencies = [ "memchr", - "thiserror 1.0.65", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.13" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0" +checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77" dependencies = [ "pest", "pest_generator", @@ -4973,63 +4997,63 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.13" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e" +checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "pest_meta" -version = "2.7.13" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f" +checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220" dependencies = [ - "once_cell", "pest", "sha2", ] [[package]] name = "petgraph" -version = "0.6.5" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", - "indexmap 2.5.0", + "hashbrown 0.15.5", + "indexmap 2.13.0", ] [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pin-utils" @@ -5049,9 +5073,9 @@ 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 = "port-selector" @@ -5062,6 +5086,15 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -5070,21 +5103,21 @@ 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 0.7.35", + "zerocopy", ] [[package]] name = "prettyplease" -version = "0.2.22" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -5110,11 +5143,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "toml_edit 0.22.22", + "toml_edit 0.23.10+spec-1.0.0", ] [[package]] @@ -5160,14 +5193,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -5184,24 +5217,23 @@ dependencies = [ "memchr", "parking_lot", "protobuf", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] name = "proptest" -version = "1.6.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" +checksum = "37566cb3fdacef14c0737f9546df7cfeadbfbc9fef10991038bf5015d0c80532" dependencies = [ "bit-set 0.8.0", "bit-vec 0.8.0", - "bitflags 2.6.0", - "lazy_static", + "bitflags 2.11.0", "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.9.2", + "rand_chacha 0.9.0", "rand_xorshift", - "regex-syntax 0.8.4", + "regex-syntax", "rusty-fork", "tempfile", "unarray", @@ -5209,9 +5241,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" dependencies = [ "bytes", "prost-derive", @@ -5219,42 +5251,41 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" +checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ - "heck 0.4.1", - "itertools 0.11.0", + "heck 0.5.0", + "itertools 0.14.0", "log", "multimap", - "once_cell", "petgraph", "prettyplease", "prost", "prost-types", "regex", - "syn 2.0.100", + "syn 2.0.117", "tempfile", ] [[package]] name = "prost-derive" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "prost-types" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" dependencies = [ "prost", ] @@ -5305,18 +5336,18 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quote" -version = "1.0.37" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "radium" @@ -5338,14 +5369,13 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.3", + "rand_core 0.9.5", "serde", - "zerocopy 0.8.24", ] [[package]] @@ -5365,7 +5395,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -5374,17 +5404,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.17", "serde", ] [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.4", "serde", ] @@ -5401,11 +5431,11 @@ dependencies = [ [[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 0.6.4", + "rand_core 0.9.5", ] [[package]] @@ -5428,9 +5458,9 @@ dependencies = [ [[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", @@ -5449,9 +5479,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", @@ -5465,11 +5495,31 @@ checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430" [[package]] name = "redox_syscall" -version = "0.5.6" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "355ae415ccd3a04315d3f8246e86d67689ea74d88d915576e1589a351062a13b" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.11.0", +] + +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] @@ -5486,47 +5536,32 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.6" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.1.10" +version = "0.4.14" 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.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.4" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "region" @@ -5594,17 +5629,17 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.23" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ "base64 0.22.1", "bytes", "futures-core", - "http 1.1.0", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-util", "js-sys", "log", @@ -5649,24 +5684,23 @@ 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 0.2.15", + "getrandom 0.2.17", "libc", - "spin", "untrusted", "windows-sys 0.52.0", ] [[package]] name = "rkyv" -version = "0.7.45" +version = "0.7.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" +checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1" dependencies = [ "bitvec", "bytecheck", @@ -5683,9 +5717,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.45" +version = "0.7.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" +checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5" dependencies = [ "proc-macro2", "quote", @@ -5722,7 +5756,7 @@ dependencies = [ "primitive-types", "proptest", "rand 0.8.5", - "rand 0.9.0", + "rand 0.9.2", "rlp", "ruint-macro", "serde_core", @@ -5738,15 +5772,15 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] name = "rustc-hash" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "rustc-hex" @@ -5769,20 +5803,20 @@ 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]] name = "rustix" -version = "1.0.7" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.11.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5818,15 +5852,15 @@ dependencies = [ [[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" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +checksum = "cc6bf79ff24e648f6da1f8d1f011e9cac26491b619e6b9280f2b47f1774e6ee2" dependencies = [ "fnv", "quick-error", @@ -5836,18 +5870,18 @@ dependencies = [ [[package]] name = "ruzstd" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3640bec8aad418d7d03c72ea2de10d5c646a598f9883c7babc160d91e3c1b26c" +checksum = "e5ff0cc5e135c8870a775d3320910cd9b564ec036b4dc0b8741629020be63f01" dependencies = [ "twox-hash", ] [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "safetensors" @@ -5868,6 +5902,30 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -5938,9 +5996,9 @@ dependencies = [ [[package]] name = "self_cell" -version = "1.0.4" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" +checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" [[package]] name = "semver" @@ -5953,27 +6011,28 @@ dependencies = [ [[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.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] [[package]] name = "seq-macro" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" +checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc" [[package]] name = "serde" @@ -5992,7 +6051,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b5b14ebbcc4e4f2b3642fa99c388649da58d1dc3308c7d109f39f565d1710f0" dependencies = [ "serde", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -6005,7 +6064,7 @@ dependencies = [ "once_cell", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", "typeid", ] @@ -6033,11 +6092,12 @@ dependencies = [ [[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]] @@ -6057,7 +6117,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -6068,29 +6128,31 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] name = "serde_path_to_error" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" dependencies = [ "itoa", "serde", + "serde_core", ] [[package]] @@ -6104,9 +6166,9 @@ dependencies = [ [[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", ] @@ -6125,17 +6187,18 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.12.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.5.0", - "serde", - "serde_derive", + "indexmap 2.13.0", + "schemars 0.9.0", + "schemars 1.2.1", + "serde_core", "serde_json", "serde_with_macros", "time", @@ -6143,14 +6206,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.12.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" dependencies = [ - "darling 0.20.10", + "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -6165,9 +6228,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", @@ -6221,10 +6284,11 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] @@ -6252,12 +6316,9 @@ checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "slice-group-by" @@ -6267,9 +6328,9 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[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", ] @@ -6289,9 +6350,9 @@ 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", @@ -6299,19 +6360,19 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "spdx" -version = "0.10.6" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47317bbaf63785b53861e1ae2d11b80d6b624211d42cb20efcd210ee6f8a14bc" +checksum = "c3e17e880bafaeb362a7b751ec46bdc5b61445a188f80e0606e68167cd540fa3" dependencies = [ "smallvec", ] @@ -6349,9 +6410,9 @@ dependencies = [ [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "static_assertions" @@ -6386,7 +6447,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -6397,7 +6458,7 @@ checksum = "a60bcaff7397072dca0017d1db428e30d5002e00b6847703e2e42005c95fbe00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -6411,11 +6472,11 @@ dependencies = [ [[package]] name = "strum" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ - "strum_macros 0.27.1", + "strum_macros 0.27.2", ] [[package]] @@ -6428,20 +6489,19 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "strum_macros" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "rustversion", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -6463,9 +6523,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.100" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -6481,7 +6541,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -6501,13 +6561,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -6516,11 +6576,11 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.11.0", "byteorder", "enum-as-inner", "libc", - "thiserror 1.0.65", + "thiserror 1.0.69", "walkdir", ] @@ -6584,22 +6644,22 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.20.0" +version = "3.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" dependencies = [ "fastrand", - "getrandom 0.3.2", + "getrandom 0.4.1", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "test-log" -version = "0.2.16" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93" +checksum = "37d53ac171c92a39e4769491c4b4dde7022c60042254b5fc044ae409d34a24d4" dependencies = [ "test-log-macros", "tracing-subscriber", @@ -6607,13 +6667,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.16" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +checksum = "be35209fd0781c5401458ab66e4f98accf63553e8fae7425503e92fdd319783b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -6625,57 +6685,56 @@ dependencies = [ "proc-macro2", "quote", "structmeta", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "thiserror" -version = "1.0.65" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.65", + "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.18", ] [[package]] name = "thiserror-impl" -version = "1.0.65" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[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]] @@ -6689,24 +6748,24 @@ dependencies = [ [[package]] name = "time" -version = "0.3.37" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "itoa", "num-conv", "powerfmt", - "serde", + "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-expiry" @@ -6720,9 +6779,9 @@ dependencies = [ [[package]] name = "time-macros" -version = "0.2.19" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" dependencies = [ "num-conv", "time-core", @@ -6730,9 +6789,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", @@ -6740,9 +6799,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", ] @@ -6762,7 +6821,7 @@ dependencies = [ "derive_builder", "esaxx-rs", "fancy-regex", - "getrandom 0.2.15", + "getrandom 0.2.17", "itertools 0.12.1", "lazy_static", "log", @@ -6773,11 +6832,11 @@ dependencies = [ "rayon", "rayon-cond", "regex", - "regex-syntax 0.8.4", + "regex-syntax", "serde", "serde_json", "spm_precompiled", - "thiserror 1.0.65", + "thiserror 1.0.69", "unicode-normalization-alignments", "unicode-segmentation", "unicode_categories", @@ -6785,31 +6844,30 @@ dependencies = [ [[package]] name = "tokio" -version = "1.45.1" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ - "backtrace", "bytes", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2 0.6.2", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -6824,9 +6882,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -6836,9 +6894,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -6849,69 +6907,106 @@ 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.22", + "toml_datetime 0.6.11", + "toml_edit 0.22.27", ] [[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_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.5.0", - "toml_datetime", + "indexmap 2.13.0", + "toml_datetime 0.6.11", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.22" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.13.0", "serde", "serde_spanned", - "toml_datetime", - "winnow 0.6.20", + "toml_datetime 0.6.11", + "toml_write", + "winnow 0.7.14", ] +[[package]] +name = "toml_edit" +version = "0.23.10+spec-1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" +dependencies = [ + "indexmap 2.13.0", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "winnow 0.7.14", +] + +[[package]] +name = "toml_parser" +version = "1.0.9+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" +dependencies = [ + "winnow 0.7.14", +] + +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + [[package]] name = "tonic" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" +checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" dependencies = [ "async-trait", "axum", "base64 0.22.1", "bytes", - "h2 0.4.6", - "http 1.1.0", + "h2 0.4.13", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-timeout", "hyper-util", "percent-encoding", "pin-project", - "socket2 0.6.0", + "socket2 0.6.2", "sync_wrapper 1.0.2", "tokio", "tokio-stream", @@ -6923,21 +7018,21 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40aaccc9f9eccf2cd82ebc111adc13030d23e887244bc9cfa5d1d636049de3" +checksum = "1882ac3bf5ef12877d7ed57aad87e75154c11931c2ba7e6cde5e22d63522c734" dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "tonic-prost" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" +checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" dependencies = [ "bytes", "prost", @@ -6946,29 +7041,29 @@ dependencies = [ [[package]] name = "tonic-prost-build" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a16cba4043dc3ff43fcb3f96b4c5c154c64cbd18ca8dce2ab2c6a451d058a2" +checksum = "f3144df636917574672e93d0f56d7edec49f90305749c668df5101751bb8f95a" dependencies = [ "prettyplease", "proc-macro2", "prost-build", "prost-types", "quote", - "syn 2.0.100", + "syn 2.0.117", "tempfile", "tonic-build", ] [[package]] name = "tower" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", - "indexmap 2.5.0", + "indexmap 2.13.0", "pin-project-lite", "slab", "sync_wrapper 1.0.2", @@ -6981,14 +7076,14 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.11.0", "bytes", "futures-util", - "http 1.1.0", + "http 1.4.0", "http-body 1.0.1", "iri-string", "pin-project-lite", @@ -7011,9 +7106,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -7023,13 +7118,13 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -7045,9 +7140,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -7084,9 +7179,9 @@ dependencies = [ [[package]] name = "tracing-serde" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" dependencies = [ "serde", "tracing-core", @@ -7094,14 +7189,14 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata", "serde", "serde_json", "sharded-slab", @@ -7132,7 +7227,7 @@ checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -7162,14 +7257,14 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "twox-hash" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56" +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" [[package]] name = "typeid" @@ -7179,15 +7274,15 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.17.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -7209,9 +7304,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-normalization-alignments" @@ -7248,21 +7343,16 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -7277,15 +7367,19 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.10.0" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb" +dependencies = [ + "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 = "version_check" @@ -7295,9 +7389,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[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", ] @@ -7323,24 +7417,33 @@ 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 = "wasi" -version = "0.14.2+wasi-0.2.4" +name = "wasip2" +version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen 0.51.0", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen-rt 0.39.0", + "wit-bindgen 0.51.0", ] [[package]] name = "wasm-bindgen" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ "cfg-if", "once_cell", @@ -7351,21 +7454,23 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.43" +version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ "cfg-if", + "futures-util", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7373,22 +7478,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] @@ -7402,6 +7507,16 @@ dependencies = [ "leb128", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser 0.244.0", +] + [[package]] name = "wasm-metadata" version = "0.202.0" @@ -7409,20 +7524,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "094aea3cb90e09f16ee25a4c0e324b3e8c934e7fd838bfa039aef5352f44a917" dependencies = [ "anyhow", - "indexmap 2.5.0", + "indexmap 2.13.0", "serde", "serde_derive", "serde_json", "spdx", - "wasm-encoder", + "wasm-encoder 0.202.0", "wasmparser 0.202.0", ] +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.13.0", + "wasm-encoder 0.244.0", + "wasmparser 0.244.0", +] + [[package]] name = "wasm-streams" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -7452,7 +7579,7 @@ dependencies = [ "bytecheck", "enum-iterator", "enumset", - "getrandom 0.2.15", + "getrandom 0.2.17", "hex", "indexmap 1.9.3", "more-asserts", @@ -7461,7 +7588,7 @@ dependencies = [ "serde_bytes", "sha2", "target-lexicon", - "thiserror 1.0.65", + "thiserror 1.0.69", "xxhash-rust", ] @@ -7471,9 +7598,9 @@ version = "0.121.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" dependencies = [ - "bitflags 2.6.0", - "indexmap 2.5.0", - "semver 1.0.23", + "bitflags 2.11.0", + "indexmap 2.13.0", + "semver 1.0.27", ] [[package]] @@ -7482,16 +7609,28 @@ version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6998515d3cf3f8b980ef7c11b29a9b1017d4cf86b99ae93b546992df9931413" dependencies = [ - "bitflags 2.6.0", - "indexmap 2.5.0", - "semver 1.0.23", + "bitflags 2.11.0", + "indexmap 2.13.0", + "semver 1.0.27", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.11.0", + "hashbrown 0.15.5", + "indexmap 2.13.0", + "semver 1.0.27", ] [[package]] name = "wasmtimer" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23" +checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" dependencies = [ "futures", "js-sys", @@ -7503,9 +7642,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", @@ -7539,7 +7678,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "535507b55b73bb78d37bbc732c8bf8ebbc7b26902ab06fbf356fc3b46ad4b06c" dependencies = [ "futures", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -7576,11 +7715,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.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -7595,7 +7734,7 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ - "windows-core", + "windows-core 0.57.0", "windows-targets 0.52.6", ] @@ -7605,12 +7744,25 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ - "windows-implement", - "windows-interface", - "windows-result", + "windows-implement 0.57.0", + "windows-interface 0.57.0", + "windows-result 0.1.2", "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement 0.60.2", + "windows-interface 0.59.3", + "windows-link", + "windows-result 0.4.1", + "windows-strings", +] + [[package]] name = "windows-implement" version = "0.57.0" @@ -7619,7 +7771,18 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", ] [[package]] @@ -7630,9 +7793,26 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-result" version = "0.1.2" @@ -7642,6 +7822,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-sys" version = "0.33.0" @@ -7682,6 +7880,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.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -7706,13 +7922,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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -7725,6 +7958,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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + [[package]] name = "windows_aarch64_msvc" version = "0.33.0" @@ -7743,6 +7982,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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + [[package]] name = "windows_i686_gnu" version = "0.33.0" @@ -7761,12 +8006,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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + [[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + [[package]] name = "windows_i686_msvc" version = "0.33.0" @@ -7785,6 +8042,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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + [[package]] name = "windows_x86_64_gnu" version = "0.33.0" @@ -7803,6 +8066,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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -7815,6 +8084,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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + [[package]] name = "windows_x86_64_msvc" version = "0.33.0" @@ -7834,28 +8109,25 @@ 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.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.6.20" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" dependencies = [ "memchr", ] [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -7876,8 +8148,17 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fb4e7653763780be47e38f479e9aa83c768aa6a3b2ed086dc2826fdbbb7e7f5" dependencies = [ - "wit-bindgen-rt 0.24.0", - "wit-bindgen-rust-macro", + "wit-bindgen-rt", + "wit-bindgen-rust-macro 0.24.0", +] + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro 0.51.0", ] [[package]] @@ -7887,25 +8168,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b67e11c950041849a10828c7600ea62a4077c01e8af72e8593253575428f91b" dependencies = [ "anyhow", - "wit-parser", + "wit-parser 0.202.0", ] [[package]] -name = "wit-bindgen-rt" -version = "0.24.0" +name = "wit-bindgen-core" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0780cf7046630ed70f689a098cd8d56c5c3b22f2a7379bbdb088879963ff96" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" dependencies = [ - "bitflags 2.6.0", + "anyhow", + "heck 0.5.0", + "wit-parser 0.244.0", ] [[package]] name = "wit-bindgen-rt" -version = "0.39.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +checksum = "3b0780cf7046630ed70f689a098cd8d56c5c3b22f2a7379bbdb088879963ff96" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.11.0", ] [[package]] @@ -7916,10 +8199,26 @@ checksum = "30acbe8fb708c3a830a33c4cb705df82659bf831b492ec6ca1a17a369cfeeafb" dependencies = [ "anyhow", "heck 0.4.1", - "indexmap 2.5.0", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", + "indexmap 2.13.0", + "wasm-metadata 0.202.0", + "wit-bindgen-core 0.24.0", + "wit-component 0.202.0", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck 0.5.0", + "indexmap 2.13.0", + "prettyplease", + "syn 2.0.117", + "wasm-metadata 0.244.0", + "wit-bindgen-core 0.51.0", + "wit-component 0.244.0", ] [[package]] @@ -7931,9 +8230,24 @@ dependencies = [ "anyhow", "proc-macro2", "quote", - "syn 2.0.100", - "wit-bindgen-core", - "wit-bindgen-rust", + "syn 2.0.117", + "wit-bindgen-core 0.24.0", + "wit-bindgen-rust 0.24.0", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.117", + "wit-bindgen-core 0.51.0", + "wit-bindgen-rust 0.51.0", ] [[package]] @@ -7943,16 +8257,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c836b1fd9932de0431c1758d8be08212071b6bba0151f7bac826dbc4312a2a9" dependencies = [ "anyhow", - "bitflags 2.6.0", - "indexmap 2.5.0", + "bitflags 2.11.0", + "indexmap 2.13.0", "log", "serde", "serde_derive", "serde_json", - "wasm-encoder", - "wasm-metadata", + "wasm-encoder 0.202.0", + "wasm-metadata 0.202.0", "wasmparser 0.202.0", - "wit-parser", + "wit-parser 0.202.0", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.11.0", + "indexmap 2.13.0", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder 0.244.0", + "wasm-metadata 0.244.0", + "wasmparser 0.244.0", + "wit-parser 0.244.0", ] [[package]] @@ -7963,9 +8296,9 @@ checksum = "744237b488352f4f27bca05a10acb79474415951c450e52ebd0da784c1df2bcc" dependencies = [ "anyhow", "id-arena", - "indexmap 2.5.0", + "indexmap 2.13.0", "log", - "semver 1.0.23", + "semver 1.0.27", "serde", "serde_derive", "serde_json", @@ -7974,16 +8307,28 @@ dependencies = [ ] [[package]] -name = "write16" -version = "1.0.0" +name = "wit-parser" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.13.0", + "log", + "semver 1.0.27", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser 0.244.0", +] [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "wyz" @@ -7996,136 +8341,149 @@ dependencies = [ [[package]] name = "xxhash-rust" -version = "0.8.12" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" +checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] name = "yoke" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" dependencies = [ "serde", "stable_deref_trait", - "yoke-derive", + "yoke-derive 0.7.5", "zerofrom", ] [[package]] -name = "yoke-derive" -version = "0.7.4" +name = "yoke" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", - "synstructure", + "stable_deref_trait", + "yoke-derive 0.8.1", + "zerofrom", ] [[package]] -name = "zerocopy" -version = "0.7.35" +name = "yoke-derive" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ - "byteorder", - "zerocopy-derive 0.7.35", + "proc-macro2", + "quote", + "syn 2.0.117", + "synstructure", ] [[package]] -name = "zerocopy" -version = "0.8.24" +name = "yoke-derive" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ - "zerocopy-derive 0.8.24", + "proc-macro2", + "quote", + "syn 2.0.117", + "synstructure", ] [[package]] -name = "zerocopy-derive" -version = "0.7.35" +name = "zerocopy" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "a789c6e490b576db9f7e6b6d661bcc9799f7c0ac8352f56ea20193b2681532e5" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] name = "zerofrom" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke 0.8.1", + "zerofrom", ] [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ - "yoke", + "yoke 0.8.1", "zerofrom", "zerovec-derive", ] [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.117", ] [[package]] @@ -8139,29 +8497,35 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + [[package]] name = "zstd" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.2.1" +version = "7.2.4" 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/examples/Cargo.toml b/examples/Cargo.toml index 6ef16987846d..a3ea6a5fa155 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -39,6 +39,11 @@ futures-util = "0.3.26" getrandom = { version = "0.2.12", default-features = false, features = [ "custom", ] } +half = { version = ">=2.3.1, <2.6", features = [ + "rand_distr", + "num-traits", + "use-intrinsics", +] } hex = "0.4.3" insta = { version = "1.36.1", features = ["yaml"] } linera-sdk = { path = "../linera-sdk" } diff --git a/examples/amm/README.md b/examples/amm/README.md index 4c431108b4a6..5442297275a3 100644 --- a/examples/amm/README.md +++ b/examples/amm/README.md @@ -79,10 +79,10 @@ OWNER_2="${INFO_2[1]}" Now we have to publish and create the fungible applications. The flag `--wait-for-outgoing-messages` waits until a quorum of validators has confirmed that all sent cross-chain messages have been delivered. ```bash -(cd examples/fungible && cargo build --release --target wasm32-unknown-unknown) +(cd examples/fungible && cargo build --release --target wasm32-mvp) FUN1_APP_ID=$(linera --wait-for-outgoing-messages \ - publish-and-create examples/target/wasm32-unknown-unknown/release/fungible_{contract,service}.wasm \ + publish-and-create examples/target/wasm32-mvp/release/fungible_{contract,service}.wasm \ --json-argument "{ \"accounts\": { \"$OWNER_AMM\": \"100.\" } }" \ @@ -90,16 +90,16 @@ FUN1_APP_ID=$(linera --wait-for-outgoing-messages \ ) FUN2_APP_ID=$(linera --wait-for-outgoing-messages \ - publish-and-create examples/target/wasm32-unknown-unknown/release/fungible_{contract,service}.wasm \ + publish-and-create examples/target/wasm32-mvp/release/fungible_{contract,service}.wasm \ --json-argument "{ \"accounts\": { \"$OWNER_AMM\": \"100.\" } }" \ --json-parameters "{ \"ticker_symbol\": \"FUN2\" }" \ ) -(cd examples/amm && cargo build --release --target wasm32-unknown-unknown) +(cd examples/amm && cargo build --release --target wasm32-mvp) AMM_APPLICATION_ID=$(linera --wait-for-outgoing-messages \ - publish-and-create examples/target/wasm32-unknown-unknown/release/amm_{contract,service}.wasm \ + publish-and-create examples/target/wasm32-mvp/release/amm_{contract,service}.wasm \ --json-parameters "{\"tokens\":["\"$FUN1_APP_ID\"","\"$FUN2_APP_ID\""]}" \ --required-application-ids $FUN1_APP_ID $FUN2_APP_ID) ``` diff --git a/examples/counter/README.md b/examples/counter/README.md index 6b86458e6cd7..03327be94fd4 100644 --- a/examples/counter/README.md +++ b/examples/counter/README.md @@ -61,10 +61,10 @@ Now, compile the `counter` application WebAssembly binaries, publish and create ```bash cd examples/counter -cargo build --release --target wasm32-unknown-unknown +cargo build --release --target wasm32-mvp LINERA_APPLICATION_ID=$(linera publish-and-create \ - ../target/wasm32-unknown-unknown/release/counter_{contract,service}.wasm \ + ../target/wasm32-mvp/release/counter_{contract,service}.wasm \ --json-argument "1") ``` diff --git a/examples/fungible/README.md b/examples/fungible/README.md index c57ae270a60a..cd181721a0e2 100644 --- a/examples/fungible/README.md +++ b/examples/fungible/README.md @@ -81,10 +81,10 @@ Now, compile the `fungible` application WebAssembly binaries, and publish them a bytecode: ```bash -(cd examples/fungible && cargo build --release --target wasm32-unknown-unknown) +(cd examples/fungible && cargo build --release --target wasm32-mvp) MODULE_ID=$(linera publish-module \ - examples/target/wasm32-unknown-unknown/release/fungible_{contract,service}.wasm) + examples/target/wasm32-mvp/release/fungible_{contract,service}.wasm) ``` Here, we stored the new module ID in a variable `MODULE_ID` to be reused it later. diff --git a/examples/gen-nft/Cargo.toml b/examples/gen-nft/Cargo.toml index ef539ed3c7c3..c3f125754890 100644 --- a/examples/gen-nft/Cargo.toml +++ b/examples/gen-nft/Cargo.toml @@ -15,6 +15,7 @@ candle-core.workspace = true candle-transformers.workspace = true fungible.workspace = true getrandom.workspace = true +half.workspace = true linera-sdk.workspace = true log.workspace = true rand.workspace = true @@ -33,6 +34,9 @@ non-fungible = { workspace = true, features = ["test"] } serde-reflection.workspace = true tokio.workspace = true +[package.metadata.cargo-machete] +ignored = ["half"] + [[bin]] name = "gen_nft_contract" path = "src/contract.rs" diff --git a/examples/gen-nft/README.md b/examples/gen-nft/README.md index 7dc9a5e1944f..352418469610 100644 --- a/examples/gen-nft/README.md +++ b/examples/gen-nft/README.md @@ -75,10 +75,10 @@ OWNER_2="${INFO_2[1]}" Next, compile the `non-fungible` application WebAssembly binaries, and publish them as an application module: ```bash -(cd examples/gen-nft && cargo build --release --target wasm32-unknown-unknown) +(cd examples/gen-nft && cargo build --release --target wasm32-mvp) MODULE_ID=$(linera publish-module \ - examples/target/wasm32-unknown-unknown/release/gen_nft_{contract,service}.wasm) + examples/target/wasm32-mvp/release/gen_nft_{contract,service}.wasm) ``` Here, we stored the new module ID in a variable `MODULE_ID` to be reused later. diff --git a/examples/how-to/perform-http-requests/README.md b/examples/how-to/perform-http-requests/README.md index 4aa841680a2d..8c824c312fa5 100644 --- a/examples/how-to/perform-http-requests/README.md +++ b/examples/how-to/perform-http-requests/README.md @@ -109,10 +109,10 @@ CHAIN="${INFO[0]}" Now, compile the application WebAssembly binaries, publish and create an application instance. ```bash -(cd examples/how-to/perform-http-requests && cargo build --release --target wasm32-unknown-unknown) +(cd examples/how-to/perform-http-requests && cargo build --release --target wasm32-mvp) APPLICATION_ID=$(linera publish-and-create \ - examples/target/wasm32-unknown-unknown/release/how_to_perform_http_requests_{contract,service}.wasm \ + examples/target/wasm32-mvp/release/how_to_perform_http_requests_{contract,service}.wasm \ --json-parameters "\"http://localhost:$HTTP_PORT\"") ``` diff --git a/examples/llm/Cargo.toml b/examples/llm/Cargo.toml index 00989c48b9ae..f954887f1700 100644 --- a/examples/llm/Cargo.toml +++ b/examples/llm/Cargo.toml @@ -8,6 +8,7 @@ async-graphql.workspace = true candle-core.workspace = true candle-transformers.workspace = true getrandom.workspace = true +half.workspace = true linera-sdk.workspace = true log.workspace = true rand.workspace = true @@ -23,6 +24,9 @@ linera-sdk = { workspace = true, features = ["test", "wasmer"] } serde-reflection.workspace = true tokio = { workspace = true, features = ["rt", "sync"] } +[package.metadata.cargo-machete] +ignored = ["half"] + [[bin]] name = "llm_contract" path = "src/contract.rs" diff --git a/examples/llm/src/service.rs b/examples/llm/src/service.rs index ec1c131a2373..c95faa28af85 100644 --- a/examples/llm/src/service.rs +++ b/examples/llm/src/service.rs @@ -94,7 +94,7 @@ impl Service for LlmService { )); let raw_weights = response.body; assert_eq!( - Sha3_256::digest(&raw_weights).as_slice(), + &Sha3_256::digest(&raw_weights)[..], WEIGHTS_HASH, "Incorrect model was fetched" ); @@ -106,7 +106,7 @@ impl Service for LlmService { )); let tokenizer_bytes = response.body; assert_eq!( - Sha3_256::digest(&tokenizer_bytes).as_slice(), + &Sha3_256::digest(&tokenizer_bytes)[..], TOKENIZER_HASH, "Incorrect tokenizer was fetched" ); diff --git a/examples/native-fungible/README.md b/examples/native-fungible/README.md index 36cc3af03a26..5b950c3705c4 100644 --- a/examples/native-fungible/README.md +++ b/examples/native-fungible/README.md @@ -61,10 +61,10 @@ module: ```bash cd examples/native-fungible -cargo build --release --target wasm32-unknown-unknown +cargo build --release --target wasm32-mvp MODULE_ID="$(linera publish-module \ - ../target/wasm32-unknown-unknown/release/native_fungible_{contract,service}.wasm)" + ../target/wasm32-mvp/release/native_fungible_{contract,service}.wasm)" ``` Here, we stored the new module ID in a variable `MODULE_ID` to be reused it later. diff --git a/examples/non-fungible/README.md b/examples/non-fungible/README.md index 71426d192ba5..9fd67f1832f2 100644 --- a/examples/non-fungible/README.md +++ b/examples/non-fungible/README.md @@ -73,10 +73,10 @@ OWNER_2="${INFO_2[1]}" ``` ```bash -(cd examples/non-fungible && cargo build --release --target wasm32-unknown-unknown) +(cd examples/non-fungible && cargo build --release --target wasm32-mvp) MODULE_ID=$(linera publish-module \ - examples/target/wasm32-unknown-unknown/release/non_fungible_{contract,service}.wasm) + examples/target/wasm32-mvp/release/non_fungible_{contract,service}.wasm) ``` Here, we stored the new module ID in a variable `MODULE_ID` to be reused later. diff --git a/examples/rfq/README.md b/examples/rfq/README.md index 87e52ba969e3..f43bb9f26982 100644 --- a/examples/rfq/README.md +++ b/examples/rfq/README.md @@ -95,7 +95,7 @@ Note that `linera --with-wallet 1` is equivalent to `linera --wallet "$LINERA_WA Now, we can publish the fungible module and create the fungible applications. ```bash -(cd examples/fungible && cargo build --release --target wasm32-unknown-unknown) +(cd examples/fungible && cargo build --release --target wasm32-mvp) APP_ID_0=$(linera --with-wallet 1 project publish-and-create \ examples/fungible \ diff --git a/examples/rfq/src/state.rs b/examples/rfq/src/state.rs index 0079e3f74a23..e6296586d4de 100644 --- a/examples/rfq/src/state.rs +++ b/examples/rfq/src/state.rs @@ -73,6 +73,7 @@ pub struct RequestData { state: RequestState, } +#[allow(dead_code)] #[derive(Clone, Debug, Serialize, Deserialize, SimpleObject)] pub struct TempChainTokenHolder { pub account_owner: AccountOwner, diff --git a/examples/rust-toolchain.toml b/examples/rust-toolchain.toml index 43fe0ada68b3..880fe40f3147 120000 --- a/examples/rust-toolchain.toml +++ b/examples/rust-toolchain.toml @@ -1 +1 @@ -../rust-toolchain.toml \ No newline at end of file +../toolchains/nightly/rust-toolchain.toml \ No newline at end of file diff --git a/linera-base/src/command.rs b/linera-base/src/command.rs index dc27140e9d04..f64c2fe38f82 100644 --- a/linera-base/src/command.rs +++ b/linera-base/src/command.rs @@ -137,7 +137,7 @@ pub trait CommandExt: std::fmt::Debug { /// Description used for error reporting. fn description(&self) -> String { - format!("While executing {:?}", self) + format!("While executing {self:?}") } } diff --git a/linera-base/src/crypto/ed25519.rs b/linera-base/src/crypto/ed25519.rs index ca0c08012f54..8b343d35eec7 100644 --- a/linera-base/src/crypto/ed25519.rs +++ b/linera-base/src/crypto/ed25519.rs @@ -363,7 +363,7 @@ impl Ed25519Signature { { Ed25519Signature::verify_batch_internal(value, votes).map_err(|error| { CryptoError::InvalidSignature { - error: format!("batched {}", error), + error: format!("batched {error}"), type_name: T::type_name().to_string(), } }) @@ -411,7 +411,7 @@ impl<'de> Deserialize<'de> for Ed25519Signature { impl fmt::Display for Ed25519Signature { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let s = hex::encode(self.0.to_bytes()); - write!(f, "{}", s) + write!(f, "{s}") } } diff --git a/linera-base/src/crypto/mod.rs b/linera-base/src/crypto/mod.rs index 1205def8fcb6..a12ac8c04d62 100644 --- a/linera-base/src/crypto/mod.rs +++ b/linera-base/src/crypto/mod.rs @@ -407,7 +407,7 @@ where fn write(&self, hasher: &mut Hasher) { let name = ::type_name(); // Note: This assumes that names never contain the separator `::`. - write!(hasher, "{}::", name).expect("Hasher should not fail"); + write!(hasher, "{name}::").expect("Hasher should not fail"); bcs::serialize_into(hasher, &self).expect("Message serialization should not fail"); } } diff --git a/linera-base/src/crypto/secp256k1/evm.rs b/linera-base/src/crypto/secp256k1/evm.rs index 97a5741ce865..d30300c534c4 100644 --- a/linera-base/src/crypto/secp256k1/evm.rs +++ b/linera-base/src/crypto/secp256k1/evm.rs @@ -239,7 +239,7 @@ impl TryFrom<&[u8]> for EvmPublicKey { impl fmt::Display for EvmPublicKey { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let str = hex::encode(self.as_bytes()); - write!(f, "{}", str) + write!(f, "{str}") } } @@ -553,7 +553,7 @@ impl<'de> Deserialize<'de> for EvmSignature { impl fmt::Display for EvmSignature { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let s = hex::encode(self.as_bytes()); - write!(f, "{}", s) + write!(f, "{s}") } } diff --git a/linera-base/src/crypto/secp256k1/mod.rs b/linera-base/src/crypto/secp256k1/mod.rs index 1c73da95c31f..9d0f976b95fb 100644 --- a/linera-base/src/crypto/secp256k1/mod.rs +++ b/linera-base/src/crypto/secp256k1/mod.rs @@ -197,7 +197,7 @@ impl TryFrom<&[u8]> for Secp256k1PublicKey { impl fmt::Display for Secp256k1PublicKey { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let str = hex::encode(self.as_bytes()); - write!(f, "{}", str) + write!(f, "{str}") } } @@ -472,7 +472,7 @@ impl<'de> Deserialize<'de> for Secp256k1Signature { impl fmt::Display for Secp256k1Signature { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let s = hex::encode(self.as_bytes()); - write!(f, "{}", s) + write!(f, "{s}") } } diff --git a/linera-base/src/data_types.rs b/linera-base/src/data_types.rs index 1f8dcb10007a..4af633630c56 100644 --- a/linera-base/src/data_types.rs +++ b/linera-base/src/data_types.rs @@ -631,9 +631,9 @@ impl Display for Round { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Round::Fast => write!(f, "fast round"), - Round::MultiLeader(r) => write!(f, "multi-leader round {}", r), - Round::SingleLeader(r) => write!(f, "single-leader round {}", r), - Round::Validator(r) => write!(f, "validator round {}", r), + Round::MultiLeader(r) => write!(f, "multi-leader round {r}"), + Round::SingleLeader(r) => write!(f, "single-leader round {r}"), + Round::Validator(r) => write!(f, "validator round {r}"), } } } diff --git a/linera-base/src/identifiers.rs b/linera-base/src/identifiers.rs index 0a532c95a417..f832fe0ae737 100644 --- a/linera-base/src/identifiers.rs +++ b/linera-base/src/identifiers.rs @@ -54,7 +54,7 @@ impl fmt::Debug for AccountOwner { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Self::Reserved(byte) => f.debug_tuple("Reserved").field(byte).finish(), - Self::Address32(hash) => write!(f, "Address32({:?})", hash), + Self::Address32(hash) => write!(f, "Address32({hash:?})"), Self::Address20(bytes) => write!(f, "Address20({})", hex::encode(bytes)), } } @@ -243,7 +243,7 @@ impl BlobType { impl fmt::Display for BlobType { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "{:?}", self) + write!(f, "{self:?}") } } @@ -251,8 +251,7 @@ impl std::str::FromStr for BlobType { type Err = anyhow::Error; fn from_str(s: &str) -> Result { - serde_json::from_str(&format!("\"{s}\"")) - .with_context(|| format!("Invalid BlobType: {}", s)) + serde_json::from_str(&format!("\"{s}\"")).with_context(|| format!("Invalid BlobType: {s}")) } } @@ -1052,7 +1051,7 @@ impl fmt::Display for AccountOwner { AccountOwner::Reserved(value) => { write!(f, "0x{}", hex::encode(&value.to_be_bytes()[..]))? } - AccountOwner::Address32(value) => write!(f, "0x{}", value)?, + AccountOwner::Address32(value) => write!(f, "0x{value}")?, AccountOwner::Address20(value) => write!(f, "0x{}", hex::encode(&value[..]))?, }; diff --git a/linera-base/src/port.rs b/linera-base/src/port.rs index bb312df48a02..737a18ccd67a 100644 --- a/linera-base/src/port.rs +++ b/linera-base/src/port.rs @@ -23,5 +23,5 @@ pub async fn get_free_port() -> Result { /// Provides a local endpoint that is currently available pub async fn get_free_endpoint() -> Result { let port = get_free_port().await?; - Ok(format!("127.0.0.1:{}", port)) + Ok(format!("127.0.0.1:{port}")) } diff --git a/linera-base/src/prometheus_util.rs b/linera-base/src/prometheus_util.rs index 586ef0986b53..c1a1dad5a28c 100644 --- a/linera-base/src/prometheus_util.rs +++ b/linera-base/src/prometheus_util.rs @@ -330,10 +330,7 @@ mod tests { for (i, (l, r)) in left.iter().zip(right.iter()).enumerate() { assert!( (l - r).abs() < EPSILON, - "Vectors differ at index {}: {} != {}", - i, - l, - r + "Vectors differ at index {i}: {l} != {r}" ); } } diff --git a/linera-bridge/src/test_helpers.rs b/linera-bridge/src/test_helpers.rs index 0b60d1a1c18e..0c0bbfa32230 100644 --- a/linera-bridge/src/test_helpers.rs +++ b/linera-bridge/src/test_helpers.rs @@ -288,13 +288,13 @@ pub fn deploy_contract(db: &mut CacheDB, deployer: Address, bytecode: V match result { ExecutionResult::Success { output, .. } => match output { Output::Create(_, Some(addr)) => addr, - other => panic!("expected Create output with address, got: {:?}", other), + other => panic!("expected Create output with address, got: {other:?}"), }, ExecutionResult::Revert { output, .. } => { panic!("deployment reverted: {}", hex::encode(&output)); } ExecutionResult::Halt { reason, .. } => { - panic!("deployment halted: {:?}", reason); + panic!("deployment halted: {reason:?}"); } } } @@ -347,12 +347,12 @@ pub fn try_call_contract( .map_err(|e| format!("failed to decode return value: {e}"))?; Ok((ret, logs, gas_used)) } - other => Err(format!("expected Call output, got: {:?}", other)), + other => Err(format!("expected Call output, got: {other:?}")), }, ExecutionResult::Revert { output, .. } => { Err(format!("call reverted: {}", hex::encode(&output))) } - ExecutionResult::Halt { reason, .. } => Err(format!("call halted: {:?}", reason)), + ExecutionResult::Halt { reason, .. } => Err(format!("call halted: {reason:?}")), } } @@ -406,13 +406,13 @@ pub fn compile_contract(source_code: &str, file_name: &str, contract_name: &str) ("FungibleBridge.sol", FUNGIBLE_BRIDGE_SOL), ] { let mut f = File::create(path.join(name)).unwrap(); - writeln!(f, "{}", content).unwrap(); + writeln!(f, "{content}").unwrap(); } // Write the contract under test let test_path = path.join(file_name); let mut test_file = File::create(&test_path).unwrap(); - writeln!(test_file, "{}", source_code).unwrap(); + writeln!(test_file, "{source_code}").unwrap(); // Write solc config write_compilation_json(path, file_name); diff --git a/linera-chain/src/data_types/metadata.rs b/linera-chain/src/data_types/metadata.rs index cb79dc0fa7ca..a5b3b1a88c39 100644 --- a/linera-chain/src/data_types/metadata.rs +++ b/linera-chain/src/data_types/metadata.rs @@ -54,7 +54,7 @@ impl From<&ChainOwnership> for ChainOwnershipMetadata { // Fallback to Debug format should never be needed, as ChainOwnership implements Serialize. // But we include it as a safety measure for GraphQL responses to always succeed. ownership_json: serde_json::to_string(ownership) - .unwrap_or_else(|_| format!("{:?}", ownership)), + .unwrap_or_else(|_| format!("{ownership:?}")), } } } @@ -72,7 +72,7 @@ impl From<&ApplicationPermissions> for ApplicationPermissionsMetadata { // Fallback to Debug format should never be needed, as ApplicationPermissions implements Serialize. // But we include it as a safety measure for GraphQL responses to always succeed. permissions_json: serde_json::to_string(permissions) - .unwrap_or_else(|_| format!("{:?}", permissions)), + .unwrap_or_else(|_| format!("{permissions:?}")), } } } @@ -340,7 +340,7 @@ impl From<&SystemOperation> for SystemOperationMetadata { } => SystemOperationMetadata { create_application: Some(CreateApplicationOperationMetadata { module_id: serde_json::to_string(module_id) - .unwrap_or_else(|_| format!("{:?}", module_id)), + .unwrap_or_else(|_| format!("{module_id:?}")), parameters_hex: hex::encode(parameters), instantiation_argument_hex: hex::encode(instantiation_argument), required_application_ids: required_application_ids.clone(), @@ -362,7 +362,7 @@ impl From<&SystemOperation> for SystemOperationMetadata { SystemOperation::PublishModule { module_id } => SystemOperationMetadata { publish_module: Some(PublishModuleMetadata { module_id: serde_json::to_string(module_id) - .unwrap_or_else(|_| format!("{:?}", module_id)), + .unwrap_or_else(|_| format!("{module_id:?}")), }), ..SystemOperationMetadata::new("PublishModule") }, diff --git a/linera-chain/src/manager.rs b/linera-chain/src/manager.rs index a20bccb88b55..3b0ff0a61b7f 100644 --- a/linera-chain/src/manager.rs +++ b/linera-chain/src/manager.rs @@ -454,7 +454,7 @@ where key_pair: Option<&ValidatorSecretKey>, local_time: Timestamp, blobs: BTreeMap, - ) -> Result, ChainError> { + ) -> Result>, ChainError> { let round = proposal.content.round; match &proposal.original_proposal { diff --git a/linera-chain/src/unit_tests/data_types_tests.rs b/linera-chain/src/unit_tests/data_types_tests.rs index 25e6d8d365eb..285a8038f1d9 100644 --- a/linera-chain/src/unit_tests/data_types_tests.rs +++ b/linera-chain/src/unit_tests/data_types_tests.rs @@ -14,7 +14,7 @@ use crate::{ }; fn dummy_chain_id(index: u32) -> ChainId { - ChainId(CryptoHash::test_hash(format!("chain{}", index))) + ChainId(CryptoHash::test_hash(format!("chain{index}"))) } #[test] diff --git a/linera-client/src/benchmark.rs b/linera-client/src/benchmark.rs index 114631f7bd6f..46ee51a3f62c 100644 --- a/linera-client/src/benchmark.rs +++ b/linera-client/src/benchmark.rs @@ -665,13 +665,13 @@ impl Benchmark { } else { return Err(BenchmarkError::ExpectedHistogramValue(sample.value.clone())); } - } else if sample.metric == format!("{}_count", metric_prefix) { + } else if sample.metric == format!("{metric_prefix}_count") { if let Value::Untyped(count) = sample.value { total_count = Some(count); } else { return Err(BenchmarkError::ExpectedUntypedValue(sample.value.clone())); } - } else if sample.metric == format!("{}_sum", metric_prefix) { + } else if sample.metric == format!("{metric_prefix}_sum") { if let Value::Untyped(sum) = sample.value { total_sum = Some(sum); } else { diff --git a/linera-client/src/client_context.rs b/linera-client/src/client_context.rs index 99ec11b7010c..156741b8ca03 100644 --- a/linera-client/src/client_context.rs +++ b/linera-client/src/client_context.rs @@ -100,13 +100,13 @@ impl ValidatorQueryResults { reference: Option<&ValidatorQueryResults>, ) { if let Some(key) = public_key { - println!("Public key: {}", key); + println!("Public key: {key}"); } if let Some(address) = address { - println!("Address: {}", address); + println!("Address: {address}"); } if let Some(w) = weight { - println!("Weight: {}", w); + println!("Weight: {w}"); } let ref_version = reference.and_then(|ref_results| ref_results.version_info.as_ref().ok()); @@ -157,7 +157,7 @@ impl ValidatorQueryResults { Ok(info) => { if ref_info.is_none_or(|ref_info| info.block_hash != ref_info.block_hash) { if let Some(hash) = info.block_hash { - println!("Block hash: {}", hash); + println!("Block hash: {hash}"); } else { println!("Block hash: None"); } diff --git a/linera-client/src/client_options.rs b/linera-client/src/client_options.rs index 2b6c5a63c1a5..acd762998709 100644 --- a/linera-client/src/client_options.rs +++ b/linera-client/src/client_options.rs @@ -532,6 +532,6 @@ impl std::str::FromStr for ResourceControlPolicyConfig { impl fmt::Display for ResourceControlPolicyConfig { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "{:?}", self) + write!(f, "{self:?}") } } diff --git a/linera-client/src/unit_tests/chain_listener.rs b/linera-client/src/unit_tests/chain_listener.rs index f1ea0e4dff72..f52cfa611a3c 100644 --- a/linera-client/src/unit_tests/chain_listener.rs +++ b/linera-client/src/unit_tests/chain_listener.rs @@ -113,7 +113,7 @@ async fn test_chain_listener() -> anyhow::Result<()> { admin_chain_id, false, [(chain_id0, ListeningMode::FullChain)], - format!("Client node for {:.8}", chain_id0), + format!("Client node for {chain_id0:.8}"), Duration::from_secs(30), Duration::from_secs(1), ChainClientOptions::test_default(), @@ -174,7 +174,7 @@ async fn test_chain_listener() -> anyhow::Result<()> { } clock.add(TimeDelta::from_secs(1)); if i == 30 { - panic!("Unexpected local balance: {}", balance); + panic!("Unexpected local balance: {balance}"); } } @@ -561,7 +561,7 @@ async fn test_listener_uses_autosigner_for_incoming_messages() -> anyhow::Result admin_chain_id, false, [(chain_id0, ListeningMode::FullChain)], - format!("Client node for {:.8}", chain_id0), + format!("Client node for {chain_id0:.8}"), Duration::from_secs(30), Duration::from_secs(1), ChainClientOptions::test_default(), @@ -633,7 +633,7 @@ async fn test_listener_uses_autosigner_for_incoming_messages() -> anyhow::Result } clock.add(TimeDelta::from_secs(1)); if i == 30 { - panic!("Listener did not process inbox. Balance: {}", balance); + panic!("Listener did not process inbox. Balance: {balance}"); } } diff --git a/linera-core/src/client/mod.rs b/linera-core/src/client/mod.rs index 079962470ad8..494dbe9e9ba6 100644 --- a/linera-core/src/client/mod.rs +++ b/linera-core/src/client/mod.rs @@ -534,7 +534,7 @@ impl Client { .await { Err(LocalNodeError::BlobsNotFound(blob_ids)) => { - self.download_blobs(&[remote_node.clone()], &blob_ids) + self.download_blobs(std::slice::from_ref(remote_node), &blob_ids) .await?; } x => { @@ -546,7 +546,7 @@ impl Client { info = Some( match self.handle_certificate(certificate.clone()).await { Err(LocalNodeError::BlobsNotFound(blob_ids)) => { - self.download_blobs(&[remote_node.clone()], &blob_ids) + self.download_blobs(std::slice::from_ref(remote_node), &blob_ids) .await?; self.handle_certificate(certificate).await? } @@ -1375,7 +1375,7 @@ impl Client { if let LocalNodeError::BlobsNotFound(blob_ids) = &err { self.update_local_node_with_blobs_from( blob_ids.clone(), - &[remote_node.clone()], + std::slice::from_ref(remote_node), ) .await?; // We found the missing blobs: retry. diff --git a/linera-core/src/client/requests_scheduler/scheduler.rs b/linera-core/src/client/requests_scheduler/scheduler.rs index 71b679bd153b..174ba0599828 100644 --- a/linera-core/src/client/requests_scheduler/scheduler.rs +++ b/linera-core/src/client/requests_scheduler/scheduler.rs @@ -1462,8 +1462,7 @@ mod tests { let delay = times[1].1.as_millis(); assert!( delay < 50, - "Second peer should be called immediately on first failure, got {}ms", - delay + "Second peer should be called immediately on first failure, got {delay}ms" ); } @@ -1474,8 +1473,7 @@ mod tests { let total_time = Instant::now().duration_since(start_time).as_millis(); assert!( total_time < 500, - "Total time should be less than 500ms (sequential would be ~650ms), got {}ms", - total_time + "Total time should be less than 500ms (sequential would be ~650ms), got {total_time}ms" ); } } diff --git a/linera-core/src/unit_tests/client_tests.rs b/linera-core/src/unit_tests/client_tests.rs index 22ea439a6e38..7b18bec0638f 100644 --- a/linera-core/src/unit_tests/client_tests.rs +++ b/linera-core/src/unit_tests/client_tests.rs @@ -153,7 +153,7 @@ where assert_eq!(height, BlockHeight::ZERO); assert_eq!(executed_block_hash, hash); } - other => panic!("Expected NewBlock notification, got {:?}", other), + other => panic!("Expected NewBlock notification, got {other:?}"), } Ok(()) } @@ -779,8 +779,7 @@ where LocalNodeError::WorkerError(WorkerError::ChainError(err)) )) if matches!(**err, ChainError::ClosedChain) ), - "Unexpected result: {:?}", - result, + "Unexpected result: {result:?}", ); // Incoming messages now get rejected. @@ -2026,7 +2025,7 @@ where Err(ChainClientError::CommunicationError(CommunicationError::Sample(samples))) if samples.iter().any(|(err, _)| matches!(err, NodeError::ChainError { .. })) ) { - panic!("unexpected leader timeout result: {:?}", result); + panic!("unexpected leader timeout result: {result:?}"); } clock.set(manager.round_timeout.unwrap()); @@ -2058,7 +2057,7 @@ where }; let round_number = match round { Round::SingleLeader(round_number) => round_number, - round => panic!("Unexpected round {:?}", round), + round => panic!("Unexpected round {round:?}"), }; // The other owner is leader now. Trying to submit a block should return `WaitForTimeout`. diff --git a/linera-core/src/unit_tests/test_utils.rs b/linera-core/src/unit_tests/test_utils.rs index 4f92326ba6eb..21b9f0295703 100644 --- a/linera-core/src/unit_tests/test_utils.rs +++ b/linera-core/src/unit_tests/test_utils.rs @@ -584,7 +584,7 @@ where Ok(certificates) => match ResultReadCertificates::new(certificates, hashes) { ResultReadCertificates::Certificates(certificates) => Ok(certificates), ResultReadCertificates::InvalidHashes(hashes) => { - panic!("Missing certificates: {:?}", hashes) + panic!("Missing certificates: {hashes:?}") } }, }; @@ -862,7 +862,7 @@ where let validator_public_key = validator_keypair.public_key; let storage = storage_builder.build().await?; let state = WorkerState::new( - format!("Node {}", i), + format!("Node {i}"), Some(validator_keypair.secret_key), storage.clone(), ) @@ -1061,7 +1061,7 @@ where self.admin_chain_id(), false, [(chain_id, ListeningMode::FullChain)], - format!("Client node for {:.8}", chain_id), + format!("Client node for {chain_id:.8}"), Duration::from_secs(30), Duration::from_secs(1), options, diff --git a/linera-core/src/unit_tests/wasm_client_tests.rs b/linera-core/src/unit_tests/wasm_client_tests.rs index 20738b6e3528..6bda4873ccd0 100644 --- a/linera-core/src/unit_tests/wasm_client_tests.rs +++ b/linera-core/src/unit_tests/wasm_client_tests.rs @@ -363,11 +363,11 @@ where let block = cert.block(); let responses = &block.body.oracle_responses; let [_, responses] = &responses[..] else { - panic!("Unexpected oracle responses: {:?}", responses); + panic!("Unexpected oracle responses: {responses:?}"); }; let [OracleResponse::Service(json)] = &responses[..] else { assert_eq!(&responses[..], &[]); - panic!("Unexpected oracle responses: {:?}", responses); + panic!("Unexpected oracle responses: {responses:?}"); }; let response_json = serde_json::from_slice::(json).unwrap(); assert_eq!(response_json["data"], json!({"value": 10})); @@ -741,7 +741,7 @@ where // There should be an UpdateStreams operation due to the new post. let operations = certs[0].block().body.operations().collect::>(); let [Operation::System(operation)] = &*operations else { - panic!("Expected one operation, got {:?}", operations); + panic!("Expected one operation, got {operations:?}"); }; let stream_id = StreamId { application_id: application_id.forget_abi().into(), @@ -808,7 +808,7 @@ where // There should be an UpdateStreams operation due to the new post. let operations = certs[0].block().body.operations().collect::>(); let [Operation::System(operation)] = &*operations else { - panic!("Expected one operation, got {:?}", operations); + panic!("Expected one operation, got {operations:?}"); }; let stream_id = StreamId { application_id: application_id.forget_abi().into(), @@ -830,7 +830,7 @@ where // There should be an UpdateStreams operation due to the new post. let operations = certs[0].block().body.operations().collect::>(); let [Operation::System(operation)] = &*operations else { - panic!("Expected one operation, got {:?}", operations); + panic!("Expected one operation, got {operations:?}"); }; let stream_id = StreamId { application_id: application_id.forget_abi().into(), @@ -963,7 +963,7 @@ where // First block: events 0..3. let operations = certs[0].block().body.operations().collect::>(); let [Operation::System(op)] = &*operations else { - panic!("Expected one operation, got {:?}", operations); + panic!("Expected one operation, got {operations:?}"); }; assert_eq!( **op, @@ -973,7 +973,7 @@ where // Second block: events 3..6. let operations = certs[1].block().body.operations().collect::>(); let [Operation::System(op)] = &*operations else { - panic!("Expected one operation, got {:?}", operations); + panic!("Expected one operation, got {operations:?}"); }; assert_eq!( **op, @@ -983,7 +983,7 @@ where // Third block: events 6..8. let operations = certs[2].block().body.operations().collect::>(); let [Operation::System(op)] = &*operations else { - panic!("Expected one operation, got {:?}", operations); + panic!("Expected one operation, got {operations:?}"); }; assert_eq!( **op, diff --git a/linera-core/src/unit_tests/wasm_worker_tests.rs b/linera-core/src/unit_tests/wasm_worker_tests.rs index de3925f473cb..1a7d70db4c1d 100644 --- a/linera-core/src/unit_tests/wasm_worker_tests.rs +++ b/linera-core/src/unit_tests/wasm_worker_tests.rs @@ -230,7 +230,7 @@ where let create_certificate = env.make_certificate(create_block_proposal); storage - .write_blobs(&[application_description_blob.clone()]) + .write_blobs(std::slice::from_ref(&application_description_blob)) .await?; creator_state .context() diff --git a/linera-core/src/worker.rs b/linera-core/src/worker.rs index b3b659ad7c92..2cc0d70a7782 100644 --- a/linera-core/src/worker.rs +++ b/linera-core/src/worker.rs @@ -38,7 +38,7 @@ use linera_views::{context::InactiveContext, ViewError}; use serde::{Deserialize, Serialize}; use thiserror::Error; use tokio::sync::{mpsc, oneshot, OwnedRwLockReadGuard}; -use tracing::{error, instrument, trace, warn}; +use tracing::{instrument, trace, warn}; /// Re-export of [`EventSubscriptionsResult`] for use by other crate modules. pub(crate) use crate::chain_worker::{ diff --git a/linera-ethereum/src/common.rs b/linera-ethereum/src/common.rs index 07a456e34099..6a3897b503f9 100644 --- a/linera-ethereum/src/common.rs +++ b/linera-ethereum/src/common.rs @@ -102,7 +102,7 @@ pub fn event_name_from_expanded(event_name_expanded: &str) -> String { fn parse_entry(entry: B256, ethereum_type: &str) -> Result { if ethereum_type == "address" { let address = Address::from_word(entry); - let address = format!("{:?}", address); + let address = format!("{address:?}"); return Ok(EthereumDataType::Address(address)); } if ethereum_type == "uint256" { diff --git a/linera-ethereum/src/test_utils/mod.rs b/linera-ethereum/src/test_utils/mod.rs index 42b2d4b7f526..063593dde3e9 100644 --- a/linera-ethereum/src/test_utils/mod.rs +++ b/linera-ethereum/src/test_utils/mod.rs @@ -94,7 +94,7 @@ pub async fn get_anvil() -> anyhow::Result { impl AnvilTest { pub fn get_address(&self, index: usize) -> String { let address = self.anvil_instance.addresses()[index]; - format!("{:?}", address) + format!("{address:?}") } } @@ -111,7 +111,7 @@ impl SimpleTokenContractFunction { SimpleTokenContract::deploy(&anvil_test.ethereum_client.provider, initial_supply) .await?; let contract_address = simple_token.address(); - let contract_address = format!("{:?}", contract_address); + let contract_address = format!("{contract_address:?}"); Ok(Self { contract_address, anvil_test, @@ -173,7 +173,7 @@ impl EventNumericsContractFunction { .await?; // Getting the contract address let contract_address = event_numerics.address(); - let contract_address = format!("{:?}", contract_address); + let contract_address = format!("{contract_address:?}"); Ok(Self { contract_address, anvil_test, diff --git a/linera-ethereum/tests/ethereum_test.rs b/linera-ethereum/tests/ethereum_test.rs index 48e6815865e2..fedf4ad07e9c 100644 --- a/linera-ethereum/tests/ethereum_test.rs +++ b/linera-ethereum/tests/ethereum_test.rs @@ -68,11 +68,11 @@ async fn test_event_numerics() -> anyhow::Result<()> { ], block_number: 1, }; - assert_eq!(*events, [target_event.clone()]); + assert_eq!(events, std::slice::from_ref(&target_event)); let events = ethereum_client_simp .read_events(&contract_address, event_name_expanded, from_block, to_block) .await?; - assert_eq!(*events, [target_event]); + assert_eq!(events, std::slice::from_ref(&target_event)); Ok(()) } @@ -110,12 +110,12 @@ async fn test_simple_token_events() -> anyhow::Result<()> { ], block_number: 2, }; - assert_eq!(*events, [target_event.clone()]); + assert_eq!(events, std::slice::from_ref(&target_event)); // Using the simplified client let events = ethereum_client_simp .read_events(&contract_address, event_name_expanded, from_block, to_block) .await?; - assert_eq!(*events, [target_event]); + assert_eq!(events, std::slice::from_ref(&target_event)); Ok(()) } diff --git a/linera-execution/Cargo.toml b/linera-execution/Cargo.toml index 12d10b1d3cc5..543dd29b4198 100644 --- a/linera-execution/Cargo.toml +++ b/linera-execution/Cargo.toml @@ -99,7 +99,7 @@ tempfile = { workspace = true, optional = true } thiserror.workspace = true tracing = { workspace = true, features = ["log"] } url.workspace = true -wasm-instrument = { workspace = true, features = ["sign_ext"] } +wasm-instrument = { workspace = true, features = ["sign_ext", "bulk"] } wasmtime = { workspace = true, optional = true } web-thread-pool.workspace = true web-thread-select.workspace = true diff --git a/linera-execution/src/resources.rs b/linera-execution/src/resources.rs index f671161228e7..47b7321628c7 100644 --- a/linera-execution/src/resources.rs +++ b/linera-execution/src/resources.rs @@ -304,9 +304,9 @@ impl fmt::Display for ResourceTracker { let mut lines_iter = lines.into_iter(); if let Some(first) = lines_iter.next() { - write!(f, "{}", first)?; + write!(f, "{first}")?; for line in lines_iter { - write!(f, "\n {}", line)?; + write!(f, "\n {line}")?; } } diff --git a/linera-execution/tests/fixtures/counter_contract.wasm b/linera-execution/tests/fixtures/counter_contract.wasm index 9ab64a34dd41..5dce5fa6db99 100755 Binary files a/linera-execution/tests/fixtures/counter_contract.wasm and b/linera-execution/tests/fixtures/counter_contract.wasm differ diff --git a/linera-execution/tests/fixtures/counter_service.wasm b/linera-execution/tests/fixtures/counter_service.wasm index bb9f30d65e78..58d39fdc0db9 100755 Binary files a/linera-execution/tests/fixtures/counter_service.wasm and b/linera-execution/tests/fixtures/counter_service.wasm differ diff --git a/linera-execution/tests/wasm.rs b/linera-execution/tests/wasm.rs index d170e2c16304..63a3d4106f13 100644 --- a/linera-execution/tests/wasm.rs +++ b/linera-execution/tests/wasm.rs @@ -23,8 +23,8 @@ use test_case::test_case; /// called correctly and consume the expected amount of fuel. /// /// To update the bytecode files, run `linera-execution/update_wasm_fixtures.sh`. -#[cfg_attr(with_wasmer, test_case(WasmRuntime::Wasmer, 71_229; "wasmer"))] -#[cfg_attr(with_wasmtime, test_case(WasmRuntime::Wasmtime, 71_229; "wasmtime"))] +#[cfg_attr(with_wasmer, test_case(WasmRuntime::Wasmer, 32_142; "wasmer"))] +#[cfg_attr(with_wasmtime, test_case(WasmRuntime::Wasmtime, 32_142; "wasmtime"))] #[test_log::test(tokio::test(flavor = "multi_thread"))] async fn test_fuel_for_counter_wasm_application( wasm_runtime: WasmRuntime, diff --git a/linera-explorer/src/entrypoint.rs b/linera-explorer/src/entrypoint.rs index 1eaa15940533..38813f29efce 100644 --- a/linera-explorer/src/entrypoint.rs +++ b/linera-explorer/src/entrypoint.rs @@ -41,7 +41,7 @@ fn forge_arg_type(arg: &Value, non_null: bool) -> Option { .iter() .filter_map(|x| { let name = x["name"].as_str().unwrap(); - forge_arg_type(&x["type"], false).map(|arg| format!("{}: {}", name, arg)) + forge_arg_type(&x["type"], false).map(|arg| format!("{name}: {arg}")) }) .collect::>(); Some(format!("{{{}}}", args.join(", "))) @@ -126,7 +126,7 @@ pub async fn query(app: JsValue, query: JsValue, kind: String) { let name = fetch_json["name"].as_str().unwrap(); let args = fetch_json["args"].as_array().unwrap().to_vec(); let args = forge_args(args); - let input = format!("{}{}", name, args); + let input = format!("{name}{args}"); let response = forge_response(&fetch_json["type"]); let body = serde_json::json!({ "query": format!("{} {{{} {}}}", kind, input, response) }).to_string(); diff --git a/linera-explorer/src/graphql.rs b/linera-explorer/src/graphql.rs index 008be3f06c85..0a767550b09f 100644 --- a/linera-explorer/src/graphql.rs +++ b/linera-explorer/src/graphql.rs @@ -36,7 +36,7 @@ pub async fn introspection(url: &str) -> Result { ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType {kind name} } } } } } } }"; let res = client .post(url) - .body(format!("{{\"query\":\"{}\"}}", graphql_query)) + .body(format!("{{\"query\":\"{graphql_query}\"}}")) .send() .await? .text() diff --git a/linera-explorer/src/js_utils.rs b/linera-explorer/src/js_utils.rs index eb77f6d60184..055d7f9b2f0f 100644 --- a/linera-explorer/src/js_utils.rs +++ b/linera-explorer/src/js_utils.rs @@ -11,12 +11,12 @@ pub(crate) const SER: Serializer = pub fn setf(target: &JsValue, field: &str, value: &JsValue) { js_sys::Reflect::set(target, &JsValue::from_str(field), value) - .unwrap_or_else(|_| panic!("failed to set JS field '{}'", field)); + .unwrap_or_else(|_| panic!("failed to set JS field '{field}'")); } pub fn getf(target: &JsValue, field: &str) -> JsValue { js_sys::Reflect::get(target, &JsValue::from_str(field)) - .unwrap_or_else(|_| panic!("failed to get JS field '{}'", field)) + .unwrap_or_else(|_| panic!("failed to get JS field '{field}'")) } pub fn log(x: &JsValue) { diff --git a/linera-explorer/src/lib.rs b/linera-explorer/src/lib.rs index ed937a836b82..489ed7255dfb 100644 --- a/linera-explorer/src/lib.rs +++ b/linera-explorer/src/lib.rs @@ -168,7 +168,7 @@ fn url(config: &Config, protocol: Protocol, kind: AddressKind) -> String { AddressKind::Node => &config.node, AddressKind::Indexer => &config.indexer, }; - format!("{}{}://{}", protocol, tls, address) + format!("{protocol}{tls}://{address}") } async fn get_chain(node: &str, chain_id: ChainId) -> Result> { @@ -216,7 +216,7 @@ async fn get_applications(node: &str, chain_id: ChainId) -> Result Result> { let client = reqwest_client(); - let operations_indexer = format!("{}/operations", indexer); + let operations_indexer = format!("{indexer}/operations"); let variables = operations::Variables { from: OperationsKeyKind::Last(chain_id), limit: None, @@ -244,7 +244,7 @@ async fn home(node: &str, chain_id: ChainId) -> Result<(Page, String)> { blocks, apps, }, - format!("/?chain={}", chain_id), + format!("/?chain={chain_id}"), )) } @@ -257,7 +257,7 @@ async fn blocks( ) -> Result<(Page, String)> { // TODO: limit is not used in the UI, it should be implemented with some path arguments and select input let blocks = get_blocks(node, chain_id, from, limit).await?; - Ok((Page::Blocks(blocks), format!("/blocks?chain={}", chain_id))) + Ok((Page::Blocks(blocks), format!("/blocks?chain={chain_id}"))) } /// Returns the block page. @@ -271,7 +271,7 @@ async fn block(node: &str, chain_id: ChainId, hash: Option) -> Resul let hash = block.hash; Ok(( Page::Block(Box::new(block)), - format!("/block/{}?chain={}", hash, chain_id), + format!("/block/{hash}?chain={chain_id}"), )) } @@ -309,7 +309,7 @@ async fn applications(node: &str, chain_id: ChainId) -> Result<(Page, String)> { let applications = get_applications(node, chain_id).await?; Ok(( Page::Applications(applications), - format!("/applications?chain={}", chain_id), + format!("/applications?chain={chain_id}"), )) } @@ -318,7 +318,7 @@ async fn operations(indexer: &str, chain_id: ChainId) -> Result<(Page, String)> let operations = get_operations(indexer, chain_id).await?; Ok(( Page::Operations(operations), - format!("/operations?chain={}", chain_id), + format!("/operations?chain={chain_id}"), )) } @@ -329,7 +329,7 @@ async fn operation( chain_id: ChainId, ) -> Result<(Page, String)> { let client = reqwest_client(); - let operations_indexer = format!("{}/operations", indexer); + let operations_indexer = format!("{indexer}/operations"); let key = match key { Some(key) => OperationKeyKind::Key(key), None => OperationKeyKind::Last(chain_id), @@ -471,7 +471,7 @@ async fn application(app: Application) -> Result<(Page, String)> { /// Returns the plugin page. async fn plugin(plugin: &str, indexer: &str) -> Result<(Page, String)> { - let link = format!("{}/{}", indexer, plugin); + let link = format!("{indexer}/{plugin}"); let schema = graphql::introspection(&link).await?; let sch = &schema["data"]["__schema"]; let types = sch["types"] @@ -481,7 +481,7 @@ async fn plugin(plugin: &str, indexer: &str) -> Result<(Page, String)> { let queries = list_entrypoints(&types, &sch["queryType"]["name"]).unwrap_or(Value::Array(Vec::new())); let queries = fill_type(&queries, &types); - let pathname = format!("/plugin?plugin={}", plugin); + let pathname = format!("/plugin?plugin={plugin}"); Ok(( Page::Plugin { name: plugin.to_string(), @@ -688,7 +688,7 @@ pub async fn route(app: JsValue, path: JsValue, args: JsValue) { #[wasm_bindgen] pub fn short_crypto_hash(s: String) -> String { let hash = CryptoHash::from_str(&s).expect("not a crypto hash"); - format!("{:?}", hash) + format!("{hash:?}") } #[wasm_bindgen] @@ -713,12 +713,10 @@ fn set_onpopstate(app: JsValue) { /// Subscribes to notifications for one chain async fn subscribe_chain(app: &JsValue, address: &str, chain: ChainId) { - let (ws, mut wsio) = WsMeta::connect( - &format!("{}/ws", address), - Some(vec!["graphql-transport-ws"]), - ) - .await - .expect("cannot connect to websocket"); + let (ws, mut wsio) = + WsMeta::connect(&format!("{address}/ws"), Some(vec!["graphql-transport-ws"])) + .await + .expect("cannot connect to websocket"); wsio.send(WsMessage::Text( "{\"type\": \"connection_init\", \"payload\": {}}".to_string(), )) @@ -726,13 +724,9 @@ async fn subscribe_chain(app: &JsValue, address: &str, chain: ChainId) { .expect("cannot send to websocket"); wsio.next().await; let uuid = Uuid::new_v3(&Uuid::NAMESPACE_DNS, b"linera.dev"); - let payload_query = format!( - r#"subscription {{ notifications(chainId: \"{}\") }}"#, - chain - ); + let payload_query = format!(r#"subscription {{ notifications(chainId: \"{chain}\") }}"#); let query = format!( - r#"{{ "id": "{}", "type": "subscribe", "payload": {{"query": "{}"}} }}"#, - uuid, payload_query + r#"{{ "id": "{uuid}", "type": "subscribe", "payload": {{"query": "{payload_query}"}} }}"# ); wsio.send(WsMessage::Text(query)) .await @@ -816,7 +810,7 @@ pub async fn start(app: JsValue) { Some("block".to_string()) } (_, Some(app_id)) => { - let link = format!("{}/applications/{}", address, app_id); + let link = format!("{address}/applications/{app_id}"); let app = serde_json::json!({"id": app_id, "link": link, "description": ""}) .to_string(); diff --git a/linera-faucet/server/src/lib.rs b/linera-faucet/server/src/lib.rs index eb22457314b3..70232eae1d9e 100644 --- a/linera-faucet/server/src/lib.rs +++ b/linera-faucet/server/src/lib.rs @@ -439,18 +439,14 @@ where })? .ok_or_else(|| { tracing::error!(?chain_id, "chain description blob not found for chain"); - Error::new(format!( - "Chain description not found for chain {}", - chain_id - )) + Error::new(format!("Chain description not found for chain {chain_id}")) })?; // Deserialize the chain description from the blob bytes let description = bcs::from_bytes::(blob.bytes()).map_err(|e| { tracing::error!(?e, ?chain_id, "failed to deserialize chain description",); Error::new(format!( - "Invalid chain description data for chain {}", - chain_id + "Invalid chain description data for chain {chain_id}" )) })?; @@ -778,7 +774,7 @@ where .with_label_values(&[]) .observe(elapsed_ms); } - let error_msg = format!("Failed to save chains to database: {}", e); + let error_msg = format!("Failed to save chains to database: {e}"); Self::send_err(requests, error_msg.clone()); anyhow::bail!(error_msg); } diff --git a/linera-indexer/lib/src/db/common.rs b/linera-indexer/lib/src/db/common.rs index 33ec72dfb35e..0bf6ee1b5c92 100644 --- a/linera-indexer/lib/src/db/common.rs +++ b/linera-indexer/lib/src/db/common.rs @@ -83,7 +83,7 @@ pub fn classify_message(message: &Message) -> MessageClassification { /// Convert MessageKind to string pub fn message_kind_to_string(kind: &MessageKind) -> String { - format!("{:?}", kind) + format!("{kind:?}") } /// Parse MessageKind from string @@ -93,6 +93,6 @@ pub fn parse_message_kind(kind_str: &str) -> Result { "Tracked" => Ok(MessageKind::Tracked), "Bouncing" => Ok(MessageKind::Bouncing), "Protected" => Ok(MessageKind::Protected), - _ => Err(format!("Unknown message kind: {}", kind_str)), + _ => Err(format!("Unknown message kind: {kind_str}")), } } diff --git a/linera-indexer/lib/src/db/postgres/mod.rs b/linera-indexer/lib/src/db/postgres/mod.rs index fe0d46d24a87..bfd4c32752d2 100644 --- a/linera-indexer/lib/src/db/postgres/mod.rs +++ b/linera-indexer/lib/src/db/postgres/mod.rs @@ -149,7 +149,7 @@ impl PostgresDatabase { ) -> Result<(), PostgresError> { // Deserialize the block to extract denormalized data let block: Block = bincode::deserialize(data).map_err(|e| { - PostgresError::Serialization(format!("Failed to deserialize block: {}", e)) + PostgresError::Serialization(format!("Failed to deserialize block: {e}")) })?; // Count aggregated data @@ -299,7 +299,7 @@ impl PostgresDatabase { }; let data = bincode::serialize(operation).map_err(|e| { - PostgresError::Serialization(format!("Failed to serialize operation: {}", e)) + PostgresError::Serialization(format!("Failed to serialize operation: {e}")) })?; sqlx::query( @@ -421,8 +421,7 @@ impl PostgresDatabase { OracleResponse::Http(http_response) => { let serialized = bincode::serialize(http_response).map_err(|e| { PostgresError::Serialization(format!( - "Failed to serialize HTTP response: {}", - e + "Failed to serialize HTTP response: {e}" )) })?; ("Http", None, Some(serialized)) @@ -430,21 +429,20 @@ impl PostgresDatabase { OracleResponse::Assert => ("Assert", None, None), OracleResponse::Round(round) => { let serialized = bincode::serialize(round).map_err(|e| { - PostgresError::Serialization(format!("Failed to serialize round: {}", e)) + PostgresError::Serialization(format!("Failed to serialize round: {e}")) })?; ("Round", None, Some(serialized)) } OracleResponse::Event(stream_id, index) => { let serialized = bincode::serialize(&(stream_id, index)).map_err(|e| { - PostgresError::Serialization(format!("Failed to serialize event: {}", e)) + PostgresError::Serialization(format!("Failed to serialize event: {e}")) })?; ("Event", None, Some(serialized)) } OracleResponse::EventExists(event_exists) => { let serialized = bincode::serialize(event_exists).map_err(|e| { PostgresError::Serialization(format!( - "Failed to serialize event exists: {}", - e + "Failed to serialize event exists: {e}" )) })?; ("EventExists", None, Some(serialized)) @@ -809,7 +807,7 @@ impl PostgresDatabase { let index = row.get::("operation_index") as usize; let data: Vec = row.get("data"); let operation: Operation = bincode::deserialize(&data).map_err(|e| { - PostgresError::Serialization(format!("Failed to deserialize operation: {}", e)) + PostgresError::Serialization(format!("Failed to deserialize operation: {e}")) })?; operations.push((index, operation)); } @@ -912,22 +910,22 @@ impl PostgresDatabase { if chain_id.is_some() { param_count += 1; - query.push_str(&format!(" AND chain_id = ${}", param_count)); + query.push_str(&format!(" AND chain_id = ${param_count}")); } if epoch.is_some() { param_count += 1; - query.push_str(&format!(" AND epoch = ${}", param_count)); + query.push_str(&format!(" AND epoch = ${param_count}")); } if min_operations.is_some() { param_count += 1; - query.push_str(&format!(" AND operation_count >= ${}", param_count)); + query.push_str(&format!(" AND operation_count >= ${param_count}")); } if min_messages.is_some() { param_count += 1; - query.push_str(&format!(" AND message_count >= ${}", param_count)); + query.push_str(&format!(" AND message_count >= ${param_count}")); } query.push_str(" ORDER BY height DESC"); @@ -1014,14 +1012,13 @@ impl PostgresDatabase { /// Serialize a Message with consistent error handling fn serialize_message(message: &Message) -> Result, PostgresError> { - bincode::serialize(message).map_err(|e| { - PostgresError::Serialization(format!("Failed to serialize message: {}", e)) - }) + bincode::serialize(message) + .map_err(|e| PostgresError::Serialization(format!("Failed to serialize message: {e}"))) } fn deserialize_message(data: &[u8]) -> Result { bincode::deserialize(data).map_err(|e| { - PostgresError::Serialization(format!("Failed to deserialize message: {}", e)) + PostgresError::Serialization(format!("Failed to deserialize message: {e}")) }) } } diff --git a/linera-indexer/lib/src/db/postgres/tests.rs b/linera-indexer/lib/src/db/postgres/tests.rs index a0f60c2c810b..381c287129ef 100644 --- a/linera-indexer/lib/src/db/postgres/tests.rs +++ b/linera-indexer/lib/src/db/postgres/tests.rs @@ -311,12 +311,12 @@ where { if let Ok(home) = std::env::var("HOME") { let docker_desktop_sock = if cfg!(target_os = "macos") { - format!("{}/.docker/run/docker.sock", home) + format!("{home}/.docker/run/docker.sock") } else { - format!("{}/var/run/docker.sock", home) + format!("{home}/var/run/docker.sock") }; if std::path::Path::new(&docker_desktop_sock).exists() { - std::env::set_var("DOCKER_HOST", format!("unix://{}", docker_desktop_sock)); + std::env::set_var("DOCKER_HOST", format!("unix://{docker_desktop_sock}")); } } @@ -341,10 +341,7 @@ where let container = ops.handle("postgres"); let (_, host_port) = container.host_port(5432).unwrap(); - let database_url = format!( - "postgresql://testuser:testpass@localhost:{}/testdb", - host_port - ); + let database_url = format!("postgresql://testuser:testpass@localhost:{host_port}/testdb"); test_fn(database_url).await; }) diff --git a/linera-indexer/lib/src/db/sqlite/mod.rs b/linera-indexer/lib/src/db/sqlite/mod.rs index 3568857e7e60..f6040d34e40f 100644 --- a/linera-indexer/lib/src/db/sqlite/mod.rs +++ b/linera-indexer/lib/src/db/sqlite/mod.rs @@ -70,16 +70,12 @@ impl SqliteDatabase { tracing::info!(?database_url, "creating new SQLite database"); // Create the database file if it doesn't exist std::fs::File::create(database_url).unwrap_or_else(|e| { - panic!( - "failed to create SQLite database file: {}, error: {}", - database_url, e - ) + panic!("failed to create SQLite database file: {database_url}, error: {e}") }); } Err(e) => { panic!( - "failed to check SQLite database existence. file: {}, error: {}", - database_url, e + "failed to check SQLite database existence. file: {database_url}, error: {e}" ) } } @@ -163,9 +159,8 @@ impl SqliteDatabase { data: &[u8], ) -> Result<(), SqliteError> { // Deserialize the block to extract denormalized data - let block: Block = bincode::deserialize(data).map_err(|e| { - SqliteError::Serialization(format!("Failed to deserialize block: {}", e)) - })?; + let block: Block = bincode::deserialize(data) + .map_err(|e| SqliteError::Serialization(format!("Failed to deserialize block: {e}")))?; // Count aggregated data let operation_count = block.body.operations().count(); @@ -300,7 +295,7 @@ impl SqliteDatabase { }; let data = bincode::serialize(operation).map_err(|e| { - SqliteError::Serialization(format!("Failed to serialize operation: {}", e)) + SqliteError::Serialization(format!("Failed to serialize operation: {e}")) })?; sqlx::query( @@ -422,8 +417,7 @@ impl SqliteDatabase { OracleResponse::Http(http_response) => { let serialized = bincode::serialize(http_response).map_err(|e| { SqliteError::Serialization(format!( - "Failed to serialize HTTP response: {}", - e + "Failed to serialize HTTP response: {e}" )) })?; ("Http", None, Some(serialized)) @@ -431,22 +425,19 @@ impl SqliteDatabase { OracleResponse::Assert => ("Assert", None, None), OracleResponse::Round(round) => { let serialized = bincode::serialize(round).map_err(|e| { - SqliteError::Serialization(format!("Failed to serialize round: {}", e)) + SqliteError::Serialization(format!("Failed to serialize round: {e}")) })?; ("Round", None, Some(serialized)) } OracleResponse::Event(stream_id, index) => { let serialized = bincode::serialize(&(stream_id, index)).map_err(|e| { - SqliteError::Serialization(format!("Failed to serialize event: {}", e)) + SqliteError::Serialization(format!("Failed to serialize event: {e}")) })?; ("Event", None, Some(serialized)) } OracleResponse::EventExists(event_exists) => { let serialized = bincode::serialize(event_exists).map_err(|e| { - SqliteError::Serialization(format!( - "Failed to serialize event exists: {}", - e - )) + SqliteError::Serialization(format!("Failed to serialize event exists: {e}")) })?; ("EventExists", None, Some(serialized)) } @@ -809,7 +800,7 @@ impl SqliteDatabase { let index = row.get::("operation_index") as usize; let data: Vec = row.get("data"); let operation: Operation = bincode::deserialize(&data).map_err(|e| { - SqliteError::Serialization(format!("Failed to deserialize operation: {}", e)) + SqliteError::Serialization(format!("Failed to deserialize operation: {e}")) })?; operations.push((index, operation)); } @@ -1004,13 +995,12 @@ impl SqliteDatabase { /// Serialize a Message with consistent error handling fn serialize_message(message: &Message) -> Result, SqliteError> { bincode::serialize(message) - .map_err(|e| SqliteError::Serialization(format!("Failed to serialize message: {}", e))) + .map_err(|e| SqliteError::Serialization(format!("Failed to serialize message: {e}"))) } fn deserialize_message(data: &[u8]) -> Result { - bincode::deserialize(data).map_err(|e| { - SqliteError::Serialization(format!("Failed to deserialize message: {}", e)) - }) + bincode::deserialize(data) + .map_err(|e| SqliteError::Serialization(format!("Failed to deserialize message: {e}"))) } } diff --git a/linera-indexer/lib/src/grpc/mod.rs b/linera-indexer/lib/src/grpc/mod.rs index ce05c0be6697..e0e8534da6f1 100644 --- a/linera-indexer/lib/src/grpc/mod.rs +++ b/linera-indexer/lib/src/grpc/mod.rs @@ -60,7 +60,7 @@ where { /// Start the gRPC indexer server pub async fn serve(self, port: u16) -> Result<(), Box> { - let addr = format!("0.0.0.0:{}", port).parse()?; + let addr = format!("0.0.0.0:{port}").parse()?; info!("Starting gRPC indexer server on {}", addr); @@ -206,16 +206,14 @@ where impl From for Status { fn from(error: SqliteError) -> Self { match error { - SqliteError::Database(e) => Status::internal(format!("Database error: {}", e)), + SqliteError::Database(e) => Status::internal(format!("Database error: {e}")), SqliteError::Serialization(e) => { - Status::invalid_argument(format!("Serialization error: {}", e)) + Status::invalid_argument(format!("Serialization error: {e}")) } SqliteError::BlockNotFound(hash) => { - Status::not_found(format!("Block not found: {}", hash)) - } - SqliteError::BlobNotFound(hash) => { - Status::not_found(format!("Blob not found: {}", hash)) + Status::not_found(format!("Block not found: {hash}")) } + SqliteError::BlobNotFound(hash) => Status::not_found(format!("Blob not found: {hash}")), } } } @@ -224,15 +222,15 @@ impl From for Status { fn from(error: crate::db::postgres::PostgresError) -> Self { use crate::db::postgres::PostgresError; match error { - PostgresError::Database(e) => Status::internal(format!("Database error: {}", e)), + PostgresError::Database(e) => Status::internal(format!("Database error: {e}")), PostgresError::Serialization(e) => { - Status::invalid_argument(format!("Serialization error: {}", e)) + Status::invalid_argument(format!("Serialization error: {e}")) } PostgresError::BlockNotFound(hash) => { - Status::not_found(format!("Block not found: {}", hash)) + Status::not_found(format!("Block not found: {hash}")) } PostgresError::BlobNotFound(hash) => { - Status::not_found(format!("Blob not found: {}", hash)) + Status::not_found(format!("Blob not found: {hash}")) } } } @@ -242,16 +240,16 @@ impl From for Status { fn from(error: ProcessingError) -> Self { match error { ProcessingError::BlobDeserialization(e) => { - Status::invalid_argument(format!("Invalid blob: {}", e)) + Status::invalid_argument(format!("Invalid blob: {e}")) } ProcessingError::BlockDeserialization(e) => { - Status::invalid_argument(format!("Invalid block: {}", e)) + Status::invalid_argument(format!("Invalid block: {e}")) } ProcessingError::BlobSerialization(e) => { - Status::internal(format!("Failed to serialize blob: {}", e)) + Status::internal(format!("Failed to serialize blob: {e}")) } ProcessingError::BlockSerialization(e) => { - Status::internal(format!("Failed to serialize block: {}", e)) + Status::internal(format!("Failed to serialize block: {e}")) } ProcessingError::DatabaseSqlite(e) => e.into(), ProcessingError::DatabasePostgres(e) => e.into(), diff --git a/linera-indexer/lib/src/lib.rs b/linera-indexer/lib/src/lib.rs index 421975aec25d..f84b78d80596 100644 --- a/linera-indexer/lib/src/lib.rs +++ b/linera-indexer/lib/src/lib.rs @@ -1,6 +1,8 @@ // Copyright (c) Zefchain Labs, Inc. // SPDX-License-Identifier: Apache-2.0 +#![recursion_limit = "256"] + //! This module defines the linera-indexer library including: //! - the indexer connection to the node service (service.rs) //! - the block processing (indexer.rs) diff --git a/linera-indexer/lib/src/plugin.rs b/linera-indexer/lib/src/plugin.rs index ff8b67f22c2d..bb8d80c57681 100644 --- a/linera-indexer/lib/src/plugin.rs +++ b/linera-indexer/lib/src/plugin.rs @@ -61,7 +61,7 @@ pub fn sdl(query: Q) -> String { pub fn route(name: &str, query: Q, app: axum::Router) -> axum::Router { app.route( - &format!("/{}", name), + &format!("/{name}"), axum::routing::get(crate::common::graphiql).post(handler::), ) .layer(axum::extract::Extension(schema(query))) diff --git a/linera-indexer/lib/src/runner.rs b/linera-indexer/lib/src/runner.rs index 9bcf844645ef..9ea592d17cd5 100644 --- a/linera-indexer/lib/src/runner.rs +++ b/linera-indexer/lib/src/runner.rs @@ -82,7 +82,7 @@ where app = plugin.route(app); } axum::serve( - tokio::net::TcpListener::bind(format!("127.0.0.1:{}", port)).await?, + tokio::net::TcpListener::bind(format!("127.0.0.1:{port}")).await?, app, ) .await?; diff --git a/linera-metrics/src/monitoring_server.rs b/linera-metrics/src/monitoring_server.rs index 123241ae4b9e..6394b4481e0d 100644 --- a/linera-metrics/src/monitoring_server.rs +++ b/linera-metrics/src/monitoring_server.rs @@ -50,7 +50,7 @@ pub fn start_metrics( .with_graceful_shutdown(shutdown_signal.cancelled_owned()) .await { - panic!("Error serving metrics: {}", e); + panic!("Error serving metrics: {e}"); } }); } diff --git a/linera-rpc/src/config.rs b/linera-rpc/src/config.rs index f77c8cd8db3a..017061581d3d 100644 --- a/linera-rpc/src/config.rs +++ b/linera-rpc/src/config.rs @@ -239,7 +239,7 @@ impl std::fmt::Display for NetworkProtocol { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { #[cfg(with_simple_network)] - NetworkProtocol::Simple(protocol) => write!(f, "{:?}", protocol), + NetworkProtocol::Simple(protocol) => write!(f, "{protocol:?}"), NetworkProtocol::Grpc(tls) => match tls { TlsConfig::ClearText => write!(f, "grpc"), TlsConfig::Tls => write!(f, "grpcs"), diff --git a/linera-rpc/src/grpc/client.rs b/linera-rpc/src/grpc/client.rs index 2e6c89d9119f..02e001cc583a 100644 --- a/linera-rpc/src/grpc/client.rs +++ b/linera-rpc/src/grpc/client.rs @@ -173,12 +173,12 @@ impl GrpcClient { match inner { api::chain_info_result::Inner::ChainInfoResponse(response) => { Ok(response.try_into().map_err(|err| NodeError::GrpcError { - error: format!("failed to unmarshal response: {}", err), + error: format!("failed to unmarshal response: {err}"), })?) } api::chain_info_result::Inner::Error(error) => Err(bincode::deserialize(&error) .map_err(|err| NodeError::GrpcError { - error: format!("failed to unmarshal error message: {}", err), + error: format!("failed to unmarshal error message: {err}"), })?), } } @@ -194,12 +194,12 @@ impl TryFrom for BlobContent { match inner { api::pending_blob_result::Inner::Blob(blob) => { Ok(blob.try_into().map_err(|err| NodeError::GrpcError { - error: format!("failed to unmarshal response: {}", err), + error: format!("failed to unmarshal response: {err}"), })?) } api::pending_blob_result::Inner::Error(error) => Err(bincode::deserialize(&error) .map_err(|err| NodeError::GrpcError { - error: format!("failed to unmarshal error message: {}", err), + error: format!("failed to unmarshal error message: {err}"), })?), } } @@ -359,7 +359,7 @@ impl ValidatorNode for GrpcClient { let notification_stream = endlessly_retrying_notification_stream .map(|result| { Option::::try_from(result?).map_err(|err| { - let message = format!("Could not deserialize notification: {}", err); + let message = format!("Could not deserialize notification: {err}"); tonic::Status::new(Code::Internal, message) }) }) diff --git a/linera-rpc/src/grpc/conversions.rs b/linera-rpc/src/grpc/conversions.rs index f65e2f6a42a0..9425858dc1df 100644 --- a/linera-rpc/src/grpc/conversions.rs +++ b/linera-rpc/src/grpc/conversions.rs @@ -1059,7 +1059,7 @@ pub mod tests { impl BcsSignable<'_> for Foo {} fn dummy_chain_id(index: u32) -> ChainId { - ChainId(CryptoHash::test_hash(format!("chain{}", index))) + ChainId(CryptoHash::test_hash(format!("chain{index}"))) } fn get_block() -> ProposedBlock { diff --git a/linera-rpc/src/grpc/node_provider.rs b/linera-rpc/src/grpc/node_provider.rs index b494f7472d77..d2664d5528b5 100644 --- a/linera-rpc/src/grpc/node_provider.rs +++ b/linera-rpc/src/grpc/node_provider.rs @@ -51,7 +51,7 @@ impl ValidatorNodeProvider for GrpcNodeProvider { self.pool .channel(http_address.clone()) .map_err(|error| NodeError::GrpcError { - error: format!("error creating channel: {}", error), + error: format!("error creating channel: {error}"), })?; Ok(GrpcClient::new( diff --git a/linera-rpc/src/propagation.rs b/linera-rpc/src/propagation.rs index b3ce0e03dabc..7d29d9eb878d 100644 --- a/linera-rpc/src/propagation.rs +++ b/linera-rpc/src/propagation.rs @@ -155,10 +155,7 @@ pub fn get_context_with_traffic_type() -> Context { let cx = Context::current(); - if std::env::var(TRAFFIC_TYPE_ENV_VAR) - .map(|v| v == TRAFFIC_TYPE_SYNTHETIC) - .unwrap_or(false) - { + if std::env::var(TRAFFIC_TYPE_ENV_VAR).is_ok_and(|v| v == TRAFFIC_TYPE_SYNTHETIC) { cx.with_baggage(vec![KeyValue::new( Key::new(TRAFFIC_TYPE_KEY), TRAFFIC_TYPE_SYNTHETIC, diff --git a/linera-rpc/src/simple/codec.rs b/linera-rpc/src/simple/codec.rs index 565b03e43dd7..09e6eaa04533 100644 --- a/linera-rpc/src/simple/codec.rs +++ b/linera-rpc/src/simple/codec.rs @@ -105,7 +105,7 @@ impl From for NodeError { fn from(error: Error) -> NodeError { match error { Error::IoError(io_error) => NodeError::ClientIoError { - error: format!("{}", io_error), + error: format!("{io_error}"), }, err => { tracing::error!("Unexpected decoding error: {err}"); diff --git a/linera-rpc/src/simple/server.rs b/linera-rpc/src/simple/server.rs index 2742cef86487..d119d5affeb6 100644 --- a/linera-rpc/src/simple/server.rs +++ b/linera-rpc/src/simple/server.rs @@ -387,7 +387,7 @@ where }; self.server.packets_processed += 1; - if self.server.packets_processed % 5000 == 0 { + if self.server.packets_processed.is_multiple_of(5000) { debug!( "[{}] {}:{} (shard {}) has processed {} packets", self.server.state.nickname(), diff --git a/linera-rpc/src/simple/transport.rs b/linera-rpc/src/simple/transport.rs index 54205ef73356..18a986b05acd 100644 --- a/linera-rpc/src/simple/transport.rs +++ b/linera-rpc/src/simple/transport.rs @@ -49,7 +49,7 @@ impl std::str::FromStr for TransportProtocol { impl std::fmt::Display for TransportProtocol { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(f, "{:?}", self) + write!(f, "{self:?}") } } @@ -383,7 +383,7 @@ where ) -> Result<(), std::io::Error> { let listener = TcpListener::bind(address).await?; - let mut accept_stream = stream::try_unfold(listener, |listener| async move { + let accept_stream = stream::try_unfold(listener, |listener| async move { let (socket, _) = listener.accept().await?; Ok::<_, io::Error>(Some((socket, listener))) }); diff --git a/linera-sdk-derive/src/lib.rs b/linera-sdk-derive/src/lib.rs index 6516c1905fe7..c0cbeaf14f21 100644 --- a/linera-sdk-derive/src/lib.rs +++ b/linera-sdk-derive/src/lib.rs @@ -8,8 +8,8 @@ mod utils; use proc_macro::TokenStream; use proc_macro2::{Ident, Span}; use syn::{ - parse_macro_input, Fields, ItemEnum, __private::{quote::quote, TokenStream2}, + parse_macro_input, Fields, ItemEnum, }; use crate::utils::{concat, snakify}; @@ -129,13 +129,13 @@ fn generate_mutation_root_code(input: ItemEnum, crate_root: &str) -> TokenStream #[cfg(test)] pub mod tests { - use syn::{parse_quote, ItemEnum, __private::quote::quote}; + use syn::{__private::quote::quote, parse_quote, ItemEnum}; use crate::generate_mutation_root_code; fn assert_eq_no_whitespace(mut actual: String, mut expected: String) { // Intentionally left here for debugging purposes - println!("{}", actual); + println!("{actual}"); actual.retain(|c| !c.is_whitespace()); expected.retain(|c| !c.is_whitespace()); diff --git a/linera-sdk-derive/src/utils.rs b/linera-sdk-derive/src/utils.rs index d8b62bf7c45b..9336ee36eccf 100644 --- a/linera-sdk-derive/src/utils.rs +++ b/linera-sdk-derive/src/utils.rs @@ -11,7 +11,7 @@ pub fn snakify(ident: &Ident) -> Ident { /// Extends an identifier with a suffix. pub fn concat(ident: &Ident, suffix: &str) -> Ident { - transform_non_keyword_ident(ident, |s: String| format!("{}{}", s, suffix)) + transform_non_keyword_ident(ident, |s: String| format!("{s}{suffix}")) } /// Applies a string transformation (`transform`) to the input `Ident`. diff --git a/linera-sdk/src/test/chain.rs b/linera-sdk/src/test/chain.rs index b66da1d2d85f..b3f6c0ffba15 100644 --- a/linera-sdk/src/test/chain.rs +++ b/linera-sdk/src/test/chain.rs @@ -477,8 +477,8 @@ impl ActiveChain { let base_path = Self::find_output_directory_of(repository) .await .expect("Failed to look for output binaries"); - let contract_path = base_path.join(format!("{}.wasm", contract_binary)); - let service_path = base_path.join(format!("{}.wasm", service_binary)); + let contract_path = base_path.join(format!("{contract_binary}.wasm")); + let service_path = base_path.join(format!("{service_binary}.wasm")); let contract = Bytecode::load_from_file(contract_path) .expect("Failed to load contract bytecode from file"); diff --git a/linera-sdk/src/util.rs b/linera-sdk/src/util.rs index f982fc9972f1..3b7238011ecc 100644 --- a/linera-sdk/src/util.rs +++ b/linera-sdk/src/util.rs @@ -58,7 +58,7 @@ where { type Output = AnyFuture::Output; - fn blocking_wait(mut self) -> Self::Output { + fn blocking_wait(self) -> Self::Output { let waker = task::noop_waker(); let mut task_context = Context::from_waker(&waker); let mut future = pin!(self); diff --git a/linera-sdk/tests/fixtures/Cargo.lock b/linera-sdk/tests/fixtures/Cargo.lock index d1e2a338725d..68689c4d6a19 100644 --- a/linera-sdk/tests/fixtures/Cargo.lock +++ b/linera-sdk/tests/fixtures/Cargo.lock @@ -33,16 +33,16 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -65,7 +65,7 @@ checksum = "fe233a377643e0fc1a56421d7c90acdec45c291b30345eb9f08e8d0ddce5a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -83,9 +83,9 @@ dependencies = [ "bytes", "cfg-if", "const-hex", - "derive_more 2.0.1", - "hashbrown 0.16.0", - "indexmap 2.11.4", + "derive_more 2.1.1", + "hashbrown 0.16.1", + "indexmap 2.13.0", "itoa", "k256", "paste", @@ -128,29 +128,29 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.10" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "arrayvec" @@ -182,8 +182,8 @@ dependencies = [ "futures-timer", "futures-util", "handlebars", - "http 1.3.1", - "indexmap 2.11.4", + "http 1.4.0", + "indexmap 2.13.0", "mime", "multer", "num-traits", @@ -210,15 +210,15 @@ dependencies = [ "proc-macro2", "quote", "strum", - "syn 2.0.106", + "syn 2.0.117", "thiserror 1.0.69", ] [[package]] name = "async-graphql-parser" -version = "7.0.17" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b7607e59424a35dadbc085b0d513aa54ec28160ee640cf79ec3b634eba66d3" +checksum = "e64ef70f77a1c689111e52076da1cd18f91834bcb847de0a9171f83624b07fbf" dependencies = [ "async-graphql-value", "pest", @@ -228,21 +228,21 @@ dependencies = [ [[package]] name = "async-graphql-value" -version = "7.0.17" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ecdaff7c9cffa3614a9f9999bf9ee4c3078fe3ce4d6a6e161736b56febf2de" +checksum = "3e3ef112905abea9dea592fc868a6873b10ebd3f983e83308f995d6284e9ba41" dependencies = [ "bytes", - "indexmap 2.11.4", + "indexmap 2.13.0", "serde", "serde_json", ] [[package]] name = "async-lock" -version = "3.4.1" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" dependencies = [ "event-listener", "event-listener-strategy", @@ -268,7 +268,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -279,7 +279,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -296,18 +296,18 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" dependencies = [ "axum-core", "bytes", "form_urlencoded", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.7.0", + "hyper 1.8.1", "hyper-util", "itoa", "matchit", @@ -329,13 +329,13 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ "bytes", "futures-core", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "mime", @@ -403,9 +403,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.4" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "bitvec" @@ -430,9 +430,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.0" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "bytecheck" @@ -464,18 +464,18 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" dependencies = [ "serde", ] [[package]] name = "camino" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" dependencies = [ "serde_core", ] @@ -515,9 +515,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.40" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d05d92f4b1fd76aad469d46cdd858ca761576082cd37df81416691e50199fb" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ "find-msvc-tools", "jobserver", @@ -539,9 +539,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.42" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "num-traits", "serde", @@ -549,9 +549,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.48" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae" +checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" dependencies = [ "clap_builder", "clap_derive", @@ -559,9 +559,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.48" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9" +checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" dependencies = [ "anstream", "anstyle", @@ -571,21 +571,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.47" +version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" +checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "clap_lex" -version = "0.7.5" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" +checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" [[package]] name = "colorchoice" @@ -604,9 +604,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.16.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6407bff74dea37e0fa3dc1c1c974e5d46405f0c987bf9997a0762adce71eda6" +checksum = "531185e432bb31db1ecda541e9e7ab21468d4d844ad7505e0546a49b4945d49b" dependencies = [ "cfg-if", "cpufeatures", @@ -638,6 +638,15 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -880,7 +889,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -892,7 +901,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "synstructure", ] @@ -927,7 +936,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -941,7 +950,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -952,7 +961,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -963,7 +972,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -990,7 +999,7 @@ dependencies = [ "deluxe-macros", "once_cell", "proc-macro2", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -1003,7 +1012,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -1018,7 +1027,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -1034,9 +1043,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.4" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", ] @@ -1063,11 +1072,11 @@ dependencies = [ [[package]] name = "derive_more" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" dependencies = [ - "derive_more-impl 2.0.1", + "derive_more-impl 2.1.1", ] [[package]] @@ -1078,19 +1087,21 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "unicode-xid", ] [[package]] name = "derive_more-impl" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" dependencies = [ + "convert_case 0.10.0", "proc-macro2", "quote", - "syn 2.0.106", + "rustc_version", + "syn 2.0.117", "unicode-xid", ] @@ -1114,7 +1125,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -1264,7 +1275,7 @@ dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -1289,7 +1300,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] @@ -1334,7 +1345,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", ] [[package]] @@ -1355,9 +1366,9 @@ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "find-msvc-tools" -version = "0.1.3" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "fixedbitset" @@ -1433,7 +1444,7 @@ checksum = "a0b4095fc99e1d858e5b8c7125d2638372ec85aa0fe6c807105cf10b0265ca6c" dependencies = [ "frunk_proc_macro_helpers", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -1445,7 +1456,7 @@ dependencies = [ "frunk_core", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -1457,7 +1468,7 @@ dependencies = [ "frunk_core", "frunk_proc_macro_helpers", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -1477,9 +1488,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -1492,9 +1503,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -1502,15 +1513,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -1519,32 +1530,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-timer" @@ -1554,9 +1565,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -1566,7 +1577,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -1581,9 +1591,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.7" +version = "0.14.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" dependencies = [ "serde", "typenum", @@ -1593,27 +1603,40 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.3" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.7+wasi-0.2.4", + "wasip2", + "wasip3", ] [[package]] @@ -1662,7 +1685,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.11.4", + "indexmap 2.13.0", "slab", "tokio", "tokio-util", @@ -1671,17 +1694,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.3.1", - "indexmap 2.11.4", + "http 1.4.0", + "indexmap 2.13.0", "slab", "tokio", "tokio-util", @@ -1730,12 +1753,13 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ "foldhash 0.2.0", "serde", + "serde_core", ] [[package]] @@ -1787,12 +1811,11 @@ dependencies = [ [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -1814,7 +1837,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.3.1", + "http 1.4.0", ] [[package]] @@ -1825,7 +1848,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "pin-project-lite", ] @@ -1868,16 +1891,16 @@ dependencies = [ [[package]] name = "hyper" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ "atomic-waker", "bytes", "futures-channel", "futures-core", - "h2 0.4.12", - "http 1.3.1", + "h2 0.4.13", + "http 1.4.0", "http-body 1.0.1", "httparse", "httpdate", @@ -1909,7 +1932,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "hyper 1.7.0", + "hyper 1.8.1", "hyper-util", "pin-project-lite", "tokio", @@ -1918,20 +1941,19 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", - "hyper 1.7.0", + "hyper 1.8.1", "libc", "pin-project-lite", - "socket2 0.6.0", + "socket2 0.6.2", "tokio", "tower-service", "tracing", @@ -1939,9 +1961,9 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", @@ -1952,9 +1974,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -1965,11 +1987,10 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", @@ -1980,42 +2001,38 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.0.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ - "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", - "potential_utf", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "2.0.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", - "stable_deref_trait", - "tinystr", "writeable", "yoke", "zerofrom", @@ -2025,9 +2042,9 @@ dependencies = [ [[package]] name = "id-arena" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "ident_case" @@ -2075,27 +2092,16 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.11.4" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.16.0", + "hashbrown 0.16.1", "serde", "serde_core", ] -[[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 = "ipnet" version = "2.11.0" @@ -2104,20 +2110,20 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" [[package]] name = "is-terminal" -version = "0.4.16" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -2130,9 +2136,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jobserver" @@ -2140,15 +2146,15 @@ version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", "libc", ] [[package]] name = "js-sys" -version = "0.3.81" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ "once_cell", "wasm-bindgen", @@ -2169,9 +2175,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" dependencies = [ "cpufeatures", ] @@ -2188,17 +2194,23 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libc" -version = "0.2.176" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libm" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "linera-base" @@ -2396,9 +2408,9 @@ dependencies = [ name = "linera-sdk-derive" version = "0.15.14" dependencies = [ - "convert_case", + "convert_case 0.6.0", "proc-macro2", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -2476,7 +2488,7 @@ dependencies = [ "async-lock", "bcs", "cfg_aliases", - "convert_case", + "convert_case 0.6.0", "derive_more 1.0.0", "futures", "generic-array", @@ -2509,14 +2521,13 @@ dependencies = [ "deluxe", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "linera-wasm-instrument" version = "0.4.0-linera.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b01177f7f9e3404738607912cfe9887f0f717a8dc45adff03adc9f34f5b22e" +source = "git+https://github.com/linera-io/wasm-instrument?branch=bulk-memory-support#c29d43d43e5b4340c274320ac76bac3f4fe6dc45" dependencies = [ "linera-parity-wasm", ] @@ -2524,8 +2535,7 @@ dependencies = [ [[package]] name = "linera-wasmer" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6652182476826343f0dd1e76a184ad34bcee57650a9c00c77574b993dd30529" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "bytes", "cfg-if", @@ -2554,8 +2564,7 @@ dependencies = [ [[package]] name = "linera-wasmer-compiler" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4781ce9fc4a892c9a9727f51ec92d19e1c5b54259da21573671aa49211ae80f" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "backtrace", "bytes", @@ -2585,8 +2594,7 @@ dependencies = [ [[package]] name = "linera-wasmer-compiler-cranelift" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8056c8bff8e1b5cafd21aac59b9009e93b30f35b7baab5592a6f4c7db120b490" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -2604,8 +2612,7 @@ dependencies = [ [[package]] name = "linera-wasmer-compiler-singlepass" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3635a86dd98e2c2fd6dd603054f40b8e379f84365a2238cc177d47547a83eebc" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "byteorder", "dynasm", @@ -2623,8 +2630,7 @@ dependencies = [ [[package]] name = "linera-wasmer-vm" version = "4.4.0-linera.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27d020717572fdb6222324ec46b10eeb49f6f4a120ee63cf7145f4392f12fd8" +source = "git+https://github.com/linera-io/wasmer?branch=fix-rust-probestack#4cd177617a7b1c3079370db27afa6f3d957f2571" dependencies = [ "backtrace", "cc", @@ -2642,6 +2648,7 @@ dependencies = [ "memoffset", "more-asserts", "region", + "rustversion", "scopeguard", "serde", "thiserror 1.0.69", @@ -2672,7 +2679,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -2683,15 +2690,15 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "lock_api" @@ -2704,9 +2711,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru" @@ -2743,9 +2750,9 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memmap2" @@ -2814,13 +2821,13 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.4" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.59.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] @@ -2838,7 +2845,7 @@ dependencies = [ "bytes", "encoding_rs", "futures-util", - "http 1.3.1", + "http 1.4.0", "httparse", "memchr", "mime", @@ -2854,27 +2861,27 @@ checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" [[package]] name = "ntapi" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" dependencies = [ "winapi", ] [[package]] name = "nu-ansi-term" -version = "0.50.1" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-traits" @@ -2903,15 +2910,15 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "once_cell_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "oneshot" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ce411919553d3f9fa53a0880544cda985a112117a0444d5ff1e870a893d6ea" +checksum = "269bca4c2591a28585d6bf10d9ed0332b7d76900a1b02bec41bdc3a2cdcda107" [[package]] name = "opentelemetry" @@ -2923,7 +2930,7 @@ dependencies = [ "futures-sink", "js-sys", "pin-project-lite", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", ] @@ -2940,7 +2947,7 @@ dependencies = [ "percent-encoding", "rand 0.9.2", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", ] @@ -3008,9 +3015,9 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.8.3" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e7521a040efde50c3ab6bbadafbe15ab6dc042686926be59ac35d74607df4" +checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" dependencies = [ "memchr", "ucd-trie", @@ -3018,9 +3025,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.8.3" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187da9a3030dbafabbbfb20cb323b976dc7b7ce91fcd84f2f74d6e31d378e2de" +checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77" dependencies = [ "pest", "pest_generator", @@ -3028,22 +3035,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.8.3" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b401d98f5757ebe97a26085998d6c0eecec4995cad6ab7fc30ffdf4b052843" +checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "pest_meta" -version = "2.8.3" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f27a2cfee9f9039c4d86faa5af122a0ac3851441a34865b8a043b46be0065a" +checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220" dependencies = [ "pest", "sha2", @@ -3051,39 +3058,40 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.7.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", - "indexmap 2.11.4", + "hashbrown 0.15.5", + "indexmap 2.13.0", ] [[package]] name = "pin-project" -version = "1.1.10" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.10" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pin-utils" @@ -3118,9 +3126,9 @@ dependencies = [ [[package]] name = "potential_utf" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ "zerovec", ] @@ -3147,7 +3155,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -3166,7 +3174,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "toml_edit 0.23.6", + "toml_edit 0.23.10+spec-1.0.0", ] [[package]] @@ -3195,9 +3203,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.101" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -3219,11 +3227,11 @@ dependencies = [ [[package]] name = "proptest" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb0be07becd10686a0bb407298fb425360a5c44a663774406340c59a22de4ce" +checksum = "37566cb3fdacef14c0737f9546df7cfeadbfbc9fef10991038bf5015d0c80532" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.11.0", "num-traits", "rand 0.9.2", "rand_chacha 0.9.0", @@ -3233,9 +3241,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" dependencies = [ "bytes", "prost-derive", @@ -3243,42 +3251,41 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" +checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ "heck 0.5.0", "itertools", "log", "multimap", - "once_cell", "petgraph", "prettyplease", "prost", "prost-types", "regex", - "syn 2.0.106", + "syn 2.0.117", "tempfile", ] [[package]] name = "prost-derive" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", "itertools", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "prost-types" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" dependencies = [ "prost", ] @@ -3320,9 +3327,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.41" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" dependencies = [ "proc-macro2", ] @@ -3358,7 +3365,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.3", + "rand_core 0.9.5", "serde", ] @@ -3379,7 +3386,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -3388,17 +3395,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "serde", ] [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", "serde", ] @@ -3419,7 +3426,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -3448,7 +3455,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.11.0", ] [[package]] @@ -3465,9 +3472,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.3" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", @@ -3477,9 +3484,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.11" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -3488,9 +3495,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.6" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "region" @@ -3574,7 +3581,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.16", + "getrandom 0.2.17", "libc", "untrusted", "windows-sys 0.52.0", @@ -3582,9 +3589,9 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.45" +version = "0.7.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" +checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1" dependencies = [ "bitvec", "bytecheck", @@ -3601,9 +3608,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.45" +version = "0.7.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" +checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5" dependencies = [ "proc-macro2", "quote", @@ -3612,9 +3619,9 @@ dependencies = [ [[package]] name = "ruint" -version = "1.17.0" +version = "1.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a68df0380e5c9d20ce49534f292a36a7514ae21350726efe1865bdb1fa91d278" +checksum = "c141e807189ad38a07276942c6623032d3753c8859c146104ac2e4d68865945a" dependencies = [ "proptest", "rand 0.8.5", @@ -3633,9 +3640,9 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rustc-demangle" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" +checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" [[package]] name = "rustc-hash" @@ -3654,15 +3661,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.11.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] @@ -3704,18 +3711,18 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ruzstd" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3640bec8aad418d7d03c72ea2de10d5c646a598f9883c7babc160d91e3c1b26c" +checksum = "e5ff0cc5e135c8870a775d3320910cd9b564ec036b4dc0b8741629020be63f01" dependencies = [ "twox-hash", ] [[package]] name = "ryu" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "scopeguard" @@ -3766,9 +3773,9 @@ dependencies = [ [[package]] name = "self_cell" -version = "1.2.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" +checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" [[package]] name = "semver" @@ -3863,7 +3870,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -3874,20 +3881,20 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] @@ -3924,9 +3931,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.15.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093cd8c01b25262b84927e0f7151692158fab02d961e04c979d3903eba7ecc5" +checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" dependencies = [ "base64 0.22.1", "chrono", @@ -3939,14 +3946,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.15.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7e6c180db0816026a61afa1cff5344fb7ebded7e4d3062772179f2501481c27" +checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4007,10 +4014,11 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.6" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] @@ -4032,9 +4040,9 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "slab" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "slice-group-by" @@ -4060,12 +4068,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -4098,9 +4106,9 @@ dependencies = [ [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "static_assertions" @@ -4135,7 +4143,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4146,7 +4154,7 @@ checksum = "a60bcaff7397072dca0017d1db428e30d5002e00b6847703e2e42005c95fbe00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4168,7 +4176,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4190,9 +4198,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.106" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -4222,7 +4230,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4274,22 +4282,22 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.23.0" +version = "3.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" dependencies = [ "fastrand", - "getrandom 0.3.3", + "getrandom 0.4.1", "once_cell", "rustix", - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] name = "test-log" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e33b98a582ea0be1168eba097538ee8dd4bbe0f2b01b22ac92ea30054e5be7b" +checksum = "37d53ac171c92a39e4769491c4b4dde7022c60042254b5fc044ae409d34a24d4" dependencies = [ "test-log-macros", "tracing-subscriber", @@ -4297,13 +4305,13 @@ dependencies = [ [[package]] name = "test-log-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451b374529930d7601b1eef8d32bc79ae870b6079b069401709c2a8bf9e75f36" +checksum = "be35209fd0781c5401458ab66e4f98accf63553e8fae7425503e92fdd319783b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4315,7 +4323,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4329,11 +4337,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.18", ] [[package]] @@ -4344,18 +4352,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4369,28 +4377,28 @@ dependencies = [ [[package]] name = "time" -version = "0.3.44" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "num-conv", "powerfmt", - "serde", + "serde_core", "time-core", ] [[package]] name = "time-core" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "tinystr" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", @@ -4413,33 +4421,30 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.1" +version = "1.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" dependencies = [ - "backtrace", "bytes", - "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "slab", - "socket2 0.6.0", + "socket2 0.6.2", "tokio-macros", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4454,9 +4459,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -4465,9 +4470,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.16" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -4499,9 +4504,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.2" +version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" dependencies = [ "serde_core", ] @@ -4512,7 +4517,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.13.0", "toml_datetime 0.6.11", "winnow 0.5.40", ] @@ -4523,33 +4528,33 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.13.0", "serde", "serde_spanned", "toml_datetime 0.6.11", "toml_write", - "winnow 0.7.13", + "winnow 0.7.14", ] [[package]] name = "toml_edit" -version = "0.23.6" +version = "0.23.10+spec-1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3effe7c0e86fdff4f69cdd2ccc1b96f933e24811c5441d44904e8683e27184b" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" dependencies = [ - "indexmap 2.11.4", - "toml_datetime 0.7.2", + "indexmap 2.13.0", + "toml_datetime 0.7.5+spec-1.1.0", "toml_parser", - "winnow 0.7.13", + "winnow 0.7.14", ] [[package]] name = "toml_parser" -version = "1.0.3" +version = "1.0.9+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627" +checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" dependencies = [ - "winnow 0.7.13", + "winnow 0.7.14", ] [[package]] @@ -4560,24 +4565,24 @@ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "tonic" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" +checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" dependencies = [ "async-trait", "axum", "base64 0.22.1", "bytes", - "h2 0.4.12", - "http 1.3.1", + "h2 0.4.13", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.7.0", + "hyper 1.8.1", "hyper-timeout", "hyper-util", "percent-encoding", "pin-project", - "socket2 0.6.0", + "socket2 0.6.2", "sync_wrapper 1.0.2", "tokio", "tokio-stream", @@ -4589,21 +4594,21 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40aaccc9f9eccf2cd82ebc111adc13030d23e887244bc9cfa5d1d636049de3" +checksum = "1882ac3bf5ef12877d7ed57aad87e75154c11931c2ba7e6cde5e22d63522c734" dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "tonic-prost" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" +checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" dependencies = [ "bytes", "prost", @@ -4612,29 +4617,29 @@ dependencies = [ [[package]] name = "tonic-prost-build" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a16cba4043dc3ff43fcb3f96b4c5c154c64cbd18ca8dce2ab2c6a451d058a2" +checksum = "f3144df636917574672e93d0f56d7edec49f90305749c668df5101751bb8f95a" dependencies = [ "prettyplease", "proc-macro2", "prost-build", "prost-types", "quote", - "syn 2.0.106", + "syn 2.0.117", "tempfile", "tonic-build", ] [[package]] name = "tower" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", - "indexmap 2.11.4", + "indexmap 2.13.0", "pin-project-lite", "slab", "sync_wrapper 1.0.2", @@ -4659,9 +4664,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -4671,13 +4676,13 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4693,9 +4698,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -4742,9 +4747,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.20" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" dependencies = [ "matchers", "nu-ansi-term", @@ -4790,7 +4795,7 @@ checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4820,7 +4825,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -4855,9 +4860,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.19" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-segmentation" @@ -4879,9 +4884,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.7" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", @@ -4903,9 +4908,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.18.1" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb" dependencies = [ "js-sys", "wasm-bindgen", @@ -4939,28 +4944,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.7+wasi-0.2.4" +name = "wasip2" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ - "wasip2", + "wit-bindgen 0.51.0", ] [[package]] -name = "wasip2" -version = "1.0.1+wasi-0.2.4" +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen 0.46.0", + "wit-bindgen 0.51.0", ] [[package]] name = "wasm-bindgen" -version = "0.2.104" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ "cfg-if", "once_cell", @@ -4969,27 +4974,14 @@ dependencies = [ "wasm-bindgen-shared", ] -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.106", - "wasm-bindgen-shared", -] - [[package]] name = "wasm-bindgen-futures" -version = "0.4.54" +version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ "cfg-if", + "futures-util", "js-sys", "once_cell", "wasm-bindgen", @@ -4998,9 +4990,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.104" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5008,22 +5000,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.104" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.106", - "wasm-bindgen-backend", + "syn 2.0.117", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.104" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] @@ -5037,6 +5029,16 @@ dependencies = [ "leb128", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser 0.244.0", +] + [[package]] name = "wasm-metadata" version = "0.202.0" @@ -5044,15 +5046,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "094aea3cb90e09f16ee25a4c0e324b3e8c934e7fd838bfa039aef5352f44a917" dependencies = [ "anyhow", - "indexmap 2.11.4", + "indexmap 2.13.0", "serde", "serde_derive", "serde_json", "spdx", - "wasm-encoder", + "wasm-encoder 0.202.0", "wasmparser 0.202.0", ] +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.13.0", + "wasm-encoder 0.244.0", + "wasmparser 0.244.0", +] + [[package]] name = "wasm-streams" version = "0.4.2" @@ -5087,7 +5101,7 @@ dependencies = [ "bytecheck", "enum-iterator", "enumset", - "getrandom 0.2.16", + "getrandom 0.2.17", "hex", "indexmap 1.9.3", "more-asserts", @@ -5106,8 +5120,8 @@ version = "0.121.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" dependencies = [ - "bitflags 2.9.4", - "indexmap 2.11.4", + "bitflags 2.11.0", + "indexmap 2.13.0", "semver", ] @@ -5117,16 +5131,28 @@ version = "0.202.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6998515d3cf3f8b980ef7c11b29a9b1017d4cf86b99ae93b546992df9931413" dependencies = [ - "bitflags 2.9.4", - "indexmap 2.11.4", + "bitflags 2.11.0", + "indexmap 2.13.0", + "semver", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.11.0", + "hashbrown 0.15.5", + "indexmap 2.13.0", "semver", ] [[package]] name = "web-sys" -version = "0.3.81" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", @@ -5160,7 +5186,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "535507b55b73bb78d37bbc732c8bf8ebbc7b26902ab06fbf356fc3b46ad4b06c" dependencies = [ "futures", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -5231,7 +5257,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -5242,14 +5268,14 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "windows-link" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-result" @@ -5306,14 +5332,14 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.4", + "windows-targets 0.53.5", ] [[package]] name = "windows-sys" -version = "0.61.1" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ "windows-link", ] @@ -5351,19 +5377,19 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.4" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ "windows-link", - "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", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", ] [[package]] @@ -5380,9 +5406,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" @@ -5404,9 +5430,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" @@ -5428,9 +5454,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" @@ -5440,9 +5466,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" @@ -5464,9 +5490,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" @@ -5488,9 +5514,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" @@ -5506,9 +5532,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" @@ -5530,9 +5556,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" @@ -5545,9 +5571,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" dependencies = [ "memchr", ] @@ -5569,14 +5595,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fb4e7653763780be47e38f479e9aa83c768aa6a3b2ed086dc2826fdbbb7e7f5" dependencies = [ "wit-bindgen-rt", - "wit-bindgen-rust-macro", + "wit-bindgen-rust-macro 0.24.0", ] [[package]] name = "wit-bindgen" -version = "0.46.0" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro 0.51.0", +] [[package]] name = "wit-bindgen-core" @@ -5585,7 +5614,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b67e11c950041849a10828c7600ea62a4077c01e8af72e8593253575428f91b" dependencies = [ "anyhow", - "wit-parser", + "wit-parser 0.202.0", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck 0.5.0", + "wit-parser 0.244.0", ] [[package]] @@ -5594,7 +5634,7 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b0780cf7046630ed70f689a098cd8d56c5c3b22f2a7379bbdb088879963ff96" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.11.0", ] [[package]] @@ -5605,10 +5645,26 @@ checksum = "30acbe8fb708c3a830a33c4cb705df82659bf831b492ec6ca1a17a369cfeeafb" dependencies = [ "anyhow", "heck 0.4.1", - "indexmap 2.11.4", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", + "indexmap 2.13.0", + "wasm-metadata 0.202.0", + "wit-bindgen-core 0.24.0", + "wit-component 0.202.0", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck 0.5.0", + "indexmap 2.13.0", + "prettyplease", + "syn 2.0.117", + "wasm-metadata 0.244.0", + "wit-bindgen-core 0.51.0", + "wit-component 0.244.0", ] [[package]] @@ -5620,9 +5676,24 @@ dependencies = [ "anyhow", "proc-macro2", "quote", - "syn 2.0.106", - "wit-bindgen-core", - "wit-bindgen-rust", + "syn 2.0.117", + "wit-bindgen-core 0.24.0", + "wit-bindgen-rust 0.24.0", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.117", + "wit-bindgen-core 0.51.0", + "wit-bindgen-rust 0.51.0", ] [[package]] @@ -5632,16 +5703,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c836b1fd9932de0431c1758d8be08212071b6bba0151f7bac826dbc4312a2a9" dependencies = [ "anyhow", - "bitflags 2.9.4", - "indexmap 2.11.4", + "bitflags 2.11.0", + "indexmap 2.13.0", "log", "serde", "serde_derive", "serde_json", - "wasm-encoder", - "wasm-metadata", + "wasm-encoder 0.202.0", + "wasm-metadata 0.202.0", "wasmparser 0.202.0", - "wit-parser", + "wit-parser 0.202.0", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.11.0", + "indexmap 2.13.0", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder 0.244.0", + "wasm-metadata 0.244.0", + "wasmparser 0.244.0", + "wit-parser 0.244.0", ] [[package]] @@ -5652,7 +5742,7 @@ checksum = "744237b488352f4f27bca05a10acb79474415951c450e52ebd0da784c1df2bcc" dependencies = [ "anyhow", "id-arena", - "indexmap 2.11.4", + "indexmap 2.13.0", "log", "semver", "serde", @@ -5662,11 +5752,29 @@ dependencies = [ "wasmparser 0.202.0", ] +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.13.0", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser 0.244.0", +] + [[package]] name = "writeable" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "wyz" @@ -5685,11 +5793,10 @@ checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] name = "yoke" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -5697,34 +5804,34 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.27" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" +checksum = "a789c6e490b576db9f7e6b6d661bcc9799f7c0ac8352f56ea20193b2681532e5" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.27" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" +checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] @@ -5744,7 +5851,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", "synstructure", ] @@ -5759,20 +5866,20 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] [[package]] name = "zerotrie" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", "yoke", @@ -5781,9 +5888,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "yoke", "zerofrom", @@ -5792,15 +5899,21 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.117", ] +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + [[package]] name = "zstd" version = "0.13.3" diff --git a/linera-sdk/tests/fixtures/publish-read-data-blob/src/contract.rs b/linera-sdk/tests/fixtures/publish-read-data-blob/src/contract.rs index e234390b2934..c298f7177dbb 100644 --- a/linera-sdk/tests/fixtures/publish-read-data-blob/src/contract.rs +++ b/linera-sdk/tests/fixtures/publish-read-data-blob/src/contract.rs @@ -3,8 +3,6 @@ #![cfg_attr(target_arch = "wasm32", no_main)] -mod state; - use linera_sdk::{ linera_base_types::{DataBlobHash, WithContractAbi}, Contract, ContractRuntime, diff --git a/linera-sdk/tests/fixtures/publish-read-data-blob/src/service.rs b/linera-sdk/tests/fixtures/publish-read-data-blob/src/service.rs index 2b87a4805b2b..9f098e109111 100644 --- a/linera-sdk/tests/fixtures/publish-read-data-blob/src/service.rs +++ b/linera-sdk/tests/fixtures/publish-read-data-blob/src/service.rs @@ -3,8 +3,6 @@ #![cfg_attr(target_arch = "wasm32", no_main)] -mod state; - use std::sync::Arc; use linera_sdk::{ diff --git a/linera-service/src/benchmark.rs b/linera-service/src/benchmark.rs index 878ab456916f..cf983634f97e 100644 --- a/linera-service/src/benchmark.rs +++ b/linera-service/src/benchmark.rs @@ -166,7 +166,7 @@ async fn benchmark_with_fungible( let initial_state = InitialState { accounts: BTreeMap::from([(owner, Amount::from_tokens(num_transactions as u128))]), }; - let parameters = Parameters::new(format!("FUN{}", i).leak()); + let parameters = Parameters::new(format!("FUN{i}").leak()); let application_id = node_service .create_application(&default_chain, &module_id, ¶meters, &initial_state, &[]) .await?; diff --git a/linera-service/src/cli/common_options.rs b/linera-service/src/cli/common_options.rs index 25188a730da6..d8917b5a65c7 100644 --- a/linera-service/src/cli/common_options.rs +++ b/linera-service/src/cli/common_options.rs @@ -65,7 +65,7 @@ impl CommonCliOptions { pub fn suffix(&self) -> String { self.with_wallet .as_ref() - .map(|x| format!("_{}", x)) + .map(|x| format!("_{x}")) .unwrap_or_default() } diff --git a/linera-service/src/cli/main.rs b/linera-service/src/cli/main.rs index 794dedac95ae..744df7a5e817 100644 --- a/linera-service/src/cli/main.rs +++ b/linera-service/src/cli/main.rs @@ -247,8 +247,8 @@ impl Runnable for Job { ); debug!("{:?}", certificate); // Print the new chain ID, and owner on stdout for scripting purposes. - println!("{}", id); - println!("{}", new_owner); + println!("{id}"); + println!("{new_owner}"); } OpenMultiOwnerChain { @@ -301,7 +301,7 @@ impl Runnable for Job { ); debug!("{:?}", certificate); // Print the new chain ID on stdout for scripting purposes. - println!("{}", id); + println!("{id}"); } ShowOwnership { chain_id } => { @@ -310,7 +310,7 @@ impl Runnable for Job { .await?; let ownership = context.ownership(chain_id).await?; let json = serde_json::to_string_pretty(&ownership)?; - println!("{}", json); + println!("{json}"); } ChangeOwnership { @@ -396,7 +396,7 @@ impl Runnable for Job { ShowNetworkDescription => { let network_description = storage.read_network_description().await?; let json = serde_json::to_string_pretty(&network_description)?; - println!("{}", json); + println!("{json}"); } LocalBalance { account } => { @@ -410,7 +410,7 @@ impl Runnable for Job { let balance = chain_client.local_owner_balance(account.owner).await?; let time_total = time_start.elapsed(); info!("Local balance obtained after {} ms", time_total.as_millis()); - println!("{}", balance); + println!("{balance}"); } QueryBalance { account } => { @@ -427,7 +427,7 @@ impl Runnable for Job { let balance = chain_client.query_owner_balance(account.owner).await?; let time_total = time_start.elapsed(); info!("Balance obtained after {} ms", time_total.as_millis()); - println!("{}", balance); + println!("{balance}"); } SyncBalance { account } => { @@ -448,7 +448,7 @@ impl Runnable for Job { "Synchronizing balance confirmed after {} ms", time_total.as_millis() ); - println!("{}", balance); + println!("{balance}"); } Sync { chain_id } => { @@ -1336,7 +1336,7 @@ impl Runnable for Job { let module_id = context .publish_module(&chain_client, contract, service, vm_runtime) .await?; - println!("{}", module_id); + println!("{module_id}"); info!( "Module published in {} ms", start_time.elapsed().as_millis() @@ -1356,7 +1356,7 @@ impl Runnable for Job { let index_events = storage .read_events_from_index(&chain_id, &stream_id, start_index) .await?; - println!("{:#?}", index_events); + println!("{index_events:#?}"); info!("Events listed in {} ms", start_time.elapsed().as_millis()); } @@ -1373,7 +1373,7 @@ impl Runnable for Job { info!("Publishing data blob on chain {}", publisher); let chain_client = context.make_chain_client(publisher).await?; let hash = context.publish_data_blob(&chain_client, blob_path).await?; - println!("{}", hash); + println!("{hash}"); info!( "Data blob published in {} ms", start_time.elapsed().as_millis() @@ -1441,7 +1441,7 @@ impl Runnable for Job { "Application created in {} ms", start_time.elapsed().as_millis() ); - println!("{}", application_id); + println!("{application_id}"); } PublishAndCreate { @@ -1493,7 +1493,7 @@ impl Runnable for Job { "Application published and created in {} ms", start_time.elapsed().as_millis() ); - println!("{}", application_id); + println!("{application_id}"); } Assign { owner, chain_id } => { @@ -1567,7 +1567,7 @@ impl Runnable for Job { "Project published and created in {} ms", start_time.elapsed().as_millis() ); - println!("{}", application_id); + println!("{application_id}"); } _ => unreachable!("other project commands do not require storage"), }, @@ -1714,7 +1714,7 @@ impl Runnable for Job { .read_confirmed_block(block_hash) .await .context("Failed to find the given block in storage")?; - println!("{:#?}", block); + println!("{block:#?}"); } Chain(ChainCommand::ShowChainDescription { chain_id }) => { @@ -1731,7 +1731,7 @@ impl Runnable for Job { } err => err.context("Failed to get the chain description")?, }; - println!("{:#?}", description); + println!("{description:#?}"); } Validator(validator_command) => { @@ -1837,7 +1837,7 @@ impl RunnableWithStore for DatabaseToolJob<'_> { ); info!("The list of namespaces is:"); for namespace in namespaces { - println!("{}", namespace); + println!("{namespace}"); } } DatabaseToolCommand::ListBlobIds => { @@ -1845,7 +1845,7 @@ impl RunnableWithStore for DatabaseToolJob<'_> { info!("Blob IDs listed in {} ms", start_time.elapsed().as_millis()); info!("The list of blob IDs is:"); for id in blob_ids { - println!("{}", id); + println!("{id}"); } } DatabaseToolCommand::ListChainIds => { @@ -1856,7 +1856,7 @@ impl RunnableWithStore for DatabaseToolJob<'_> { ); info!("The list of chain IDs is:"); for id in chain_ids { - println!("{}", id); + println!("{id}"); } } } @@ -2177,7 +2177,7 @@ async fn run(options: &Options) -> Result { let mut signer = options.signer()?; let public_key = signer.mutate(|s| s.generate_new()).await?; let owner = AccountOwner::from(public_key); - println!("{}", owner); + println!("{owner}"); info!("Key generated in {} ms", start_time.elapsed().as_millis()); Ok(0) } diff --git a/linera-service/src/cli/validator.rs b/linera-service/src/cli/validator.rs index 5c8fccff9cd6..e17d863ed09a 100644 --- a/linera-service/src/cli/validator.rs +++ b/linera-service/src/cli/validator.rs @@ -413,7 +413,7 @@ impl Update { if !adds.is_empty() { println!("Validators to ADD:"); for (pk, spec) in &adds { - println!(" + {}", pk); + println!(" + {pk}"); println!(" Address: {}", spec.address); println!(" Account Key: {}", spec.account_key); println!(" Votes: {}", spec.votes.0.get()); @@ -424,7 +424,7 @@ impl Update { if !modifies.is_empty() { println!("Validators to MODIFY:"); for (pk, spec) in &modifies { - println!(" * {}", pk); + println!(" * {pk}"); println!(" New Address: {}", spec.address); println!(" New Account Key: {}", spec.account_key); println!(" New Votes: {}", spec.votes.0.get()); @@ -435,7 +435,7 @@ impl Update { if !removes.is_empty() { println!("Validators to REMOVE:"); for pk in &removes { - println!(" - {}", pk); + println!(" - {pk}"); } println!(); } @@ -473,7 +473,7 @@ impl Update { let input = input.trim(); if input != "YES" { - println!("\nOperation cancelled. (Expected 'YES', got '{}')", input); + println!("\nOperation cancelled. (Expected 'YES', got '{input}')"); return Ok(()); } println!("\nConfirmed. Proceeding with batch update...\n"); diff --git a/linera-service/src/cli_wrappers/local_net.rs b/linera-service/src/cli_wrappers/local_net.rs index 9aeba75f2a33..d14c2b60afbe 100644 --- a/linera-service/src/cli_wrappers/local_net.rs +++ b/linera-service/src/cli_wrappers/local_net.rs @@ -750,7 +750,7 @@ impl LocalNet { let child = self .command_for_binary("linera-proxy") .await? - .arg(format!("server_{}.json", validator)) + .arg(format!("server_{validator}.json")) .args(["--storage", &storage.to_string()]) .args(["--id", &proxy_id.to_string()]) .spawn_into()?; @@ -922,7 +922,7 @@ impl LocalNet { command .arg("run") .args(["--storage", &storage.to_string()]) - .args(["--server", &format!("server_{}.json", validator)]) + .args(["--server", &format!("server_{validator}.json")]) .args(["--shard", &shard.to_string()]) .args(self.cross_chain_config.to_args()); let child = command.spawn_into()?; diff --git a/linera-service/src/cli_wrappers/wallet.rs b/linera-service/src/cli_wrappers/wallet.rs index 60c5991ae64a..a437949891c6 100644 --- a/linera-service/src/cli_wrappers/wallet.rs +++ b/linera-service/src/cli_wrappers/wallet.rs @@ -126,8 +126,8 @@ impl ClientWrapper { path_provider.path().display(), id ); - let wallet = format!("wallet_{}.json", id); - let keystore = format!("keystore_{}.json", id); + let wallet = format!("wallet_{id}.json"); + let keystore = format!("keystore_{id}.json"); Self { binary_path: sync::Mutex::new(None), testing_prng_seed, @@ -389,7 +389,7 @@ impl ClientWrapper { let json_parameters = serde_json::to_string(parameters)?; let json_argument = serde_json::to_string(argument)?; let mut command = self.command().await?; - let vm_runtime = format!("{}", vm_runtime); + let vm_runtime = format!("{vm_runtime}"); command .arg("publish-and-create") .args([contract, service]) @@ -422,7 +422,7 @@ impl ClientWrapper { .await? .arg("publish-module") .args([contract, service]) - .args(["--vm-runtime", &format!("{}", vm_runtime).to_lowercase()]) + .args(["--vm-runtime", &format!("{vm_runtime}").to_lowercase()]) .args(publisher.into().iter().map(ChainId::to_string)) .spawn_and_wait_for_stdout() .await?; @@ -507,10 +507,7 @@ impl ClientWrapper { let client = reqwest_client(); for i in 0..10 { linera_base::time::timer::sleep(Duration::from_secs(i)).await; - let request = client - .get(format!("http://localhost:{}/", port)) - .send() - .await; + let request = client.get(format!("http://localhost:{port}/")).send().await; if request.is_ok() { info!("Node service has started"); return Ok(NodeService::new(port, child)); @@ -548,10 +545,7 @@ impl ClientWrapper { let client = reqwest_client(); for i in 0..10 { linera_base::time::timer::sleep(Duration::from_secs(i)).await; - let request = client - .get(format!("http://localhost:{}/", port)) - .send() - .await; + let request = client.get(format!("http://localhost:{port}/")).send().await; if request.is_ok() { tracing::info!("Node service has started"); return Ok(NodeService::new(port, child)); @@ -637,10 +631,7 @@ impl ClientWrapper { let client = reqwest_client(); for i in 0..10 { linera_base::time::timer::sleep(Duration::from_secs(i)).await; - let request = client - .get(format!("http://localhost:{}/", port)) - .send() - .await; + let request = client.get(format!("http://localhost:{port}/")).send().await; if request.is_ok() { info!("Faucet has started"); return Ok(FaucetService::new(port, child, temp_dir)); @@ -1135,10 +1126,10 @@ impl ClientWrapper { add_validators.iter().chain(modify_validators.iter()) { let public_key = ValidatorPublicKey::from_str(public_key_str) - .with_context(|| format!("Invalid validator public key: {}", public_key_str))?; + .with_context(|| format!("Invalid validator public key: {public_key_str}"))?; let account_key = AccountPublicKey::from_str(account_key_str) - .with_context(|| format!("Invalid account public key: {}", account_key_str))?; + .with_context(|| format!("Invalid account public key: {account_key_str}"))?; let address = format!("{}:127.0.0.1:{}", self.network.short(), port) .parse() @@ -1159,7 +1150,7 @@ impl ClientWrapper { // Remove validators (set to None) for validator_key_str in remove_validators { let public_key = ValidatorPublicKey::from_str(validator_key_str) - .with_context(|| format!("Invalid validator public key: {}", validator_key_str))?; + .with_context(|| format!("Invalid validator public key: {validator_key_str}"))?; changes.insert(public_key, None); } @@ -1258,23 +1249,73 @@ impl ClientWrapper { name: &str, is_workspace: bool, ) -> Result<(PathBuf, PathBuf)> { + // Write the custom target spec to a temporary file. The spec disables + // bulk-memory, bulk-memory-opt, and nontrapping-fptoint — opcodes that + // use the 0xFC prefix and are not supported by testnet_conway validators. + // Using a custom target JSON (rather than -C target-feature flags) is + // necessary because Rust 1.93/LLVM 18 ignores the flag for these features + // when they are part of the target's default feature set. + let target_json = include_str!("../../wasm32-mvp.json"); + let target_dir = tempfile::tempdir()?; + let target_file = target_dir.path().join("wasm32-mvp.json"); + fs_err::write(&target_file, target_json)?; + + // Build with the custom target using nightly. -Z build-std rebuilds + // the standard library from source so it also omits the disabled + // opcodes. -Z json-target-spec is required to load a custom .json + // target file. Both flags require nightly cargo. + // The toolchain must match `toolchains/nightly/rust-toolchain.toml`. + const WASM_NIGHTLY_TOOLCHAIN: &str = "nightly-2026-03-01"; + // -Z build-std requires the rust-src component. Use `toolchain install` + // rather than `component add` so that the toolchain is installed first + // if not already present (e.g. in a fresh CI environment). This is a + // no-op if the toolchain and component are already up to date. + Command::new("rustup") + .args([ + "toolchain", + "install", + WASM_NIGHTLY_TOOLCHAIN, + "--component", + "rust-src", + ]) + .spawn_and_wait_for_stdout() + .await?; Command::new("cargo") - .current_dir(self.path_provider.path()) + .current_dir(path) + .arg(format!("+{WASM_NIGHTLY_TOOLCHAIN}")) .arg("build") .arg("--release") - .args(["--target", "wasm32-unknown-unknown"]) + .arg("--target") + .arg(&target_file) + .args(["-Z", "build-std=std,panic_abort"]) + .args(["-Z", "json-target-spec"]) .arg("--manifest-path") .arg(path.join("Cargo.toml")) .spawn_and_wait_for_stdout() .await?; + // The custom target places output in target/wasm32-mvp/release/. + // Copy to the standard target/wasm32-unknown-unknown/release/ so that + // the rest of the codebase can find the files without being aware of the + // custom target. + let wasm_name = name.replace('-', "_"); + let mvp_dir = match is_workspace { + true => path.join("../target/wasm32-mvp/release"), + false => path.join("target/wasm32-mvp/release"), + }; let release_dir = match is_workspace { true => path.join("../target/wasm32-unknown-unknown/release"), false => path.join("target/wasm32-unknown-unknown/release"), }; + fs_err::create_dir_all(&release_dir)?; - let contract = release_dir.join(format!("{}_contract.wasm", name.replace('-', "_"))); - let service = release_dir.join(format!("{}_service.wasm", name.replace('-', "_"))); + let contract = release_dir.join(format!("{wasm_name}_contract.wasm")); + let service = release_dir.join(format!("{wasm_name}_service.wasm")); + fs_err::copy( + mvp_dir.join(format!("{wasm_name}_contract.wasm")), + &contract, + )?; + fs_err::copy(mvp_dir.join(format!("{wasm_name}_service.wasm")), &service)?; let contract_size = fs_err::tokio::metadata(&contract).await?.len(); let service_size = fs_err::tokio::metadata(&service).await?.len(); @@ -1843,7 +1884,7 @@ impl ApplicationWrapper { pub async fn multiple_mutate(&self, mutations: &[String]) -> Result { let mut out = String::from("mutation {\n"); for (index, mutation) in mutations.iter().enumerate() { - out = format!("{} u{}: {}\n", out, index, mutation); + out = format!("{out} u{index}: {mutation}\n"); } out.push_str("}\n"); self.run_graphql_query(&out).await diff --git a/linera-service/src/config.rs b/linera-service/src/config.rs index b529d21a4396..a1c48c722494 100644 --- a/linera-service/src/config.rs +++ b/linera-service/src/config.rs @@ -344,7 +344,7 @@ impl Destination { TlsConfig::Tls => "https", }; - format!("{}://{}:{}", tls, endpoint, port) + format!("{tls}://{endpoint}:{port}") } Destination::Validator { endpoint, port } => { @@ -357,7 +357,7 @@ impl Destination { endpoint, light_client_address, .. - } => format!("evm://{}@{}", light_client_address, endpoint), + } => format!("evm://{light_client_address}@{endpoint}"), } } diff --git a/linera-service/src/exporter/main.rs b/linera-service/src/exporter/main.rs index 711c8bc90957..9603e19ced69 100644 --- a/linera-service/src/exporter/main.rs +++ b/linera-service/src/exporter/main.rs @@ -359,7 +359,7 @@ impl Runnable for DestinationsContext { match matches.len() { 0 => { - eprintln!("Error: No destination found with address \"{}\"", address); + eprintln!("Error: No destination found with address \"{address}\""); std::process::exit(1); } 1 => { @@ -371,13 +371,12 @@ impl Runnable for DestinationsContext { DestinationKind::EvmChain => "evm_chain", }; println!("Address: {}", id.address()); - println!("Kind: {}", kind); - println!("Index: {}", index); + println!("Kind: {kind}"); + println!("Index: {index}"); } _ => { eprintln!( - "Error: Multiple destinations found for \"{}\". Specify kind with --kind validator|indexer", - address + "Error: Multiple destinations found for \"{address}\". Specify kind with --kind validator|indexer" ); std::process::exit(1); } @@ -391,7 +390,7 @@ impl Runnable for DestinationsContext { match matches.len() { 0 => { - eprintln!("Error: No destination found with address \"{}\"", address); + eprintln!("Error: No destination found with address \"{address}\""); std::process::exit(1); } 1 => { @@ -417,8 +416,7 @@ impl Runnable for DestinationsContext { } _ => { eprintln!( - "Error: Multiple destinations found for \"{}\". Specify kind with --kind validator|indexer", - address + "Error: Multiple destinations found for \"{address}\". Specify kind with --kind validator|indexer" ); std::process::exit(1); } diff --git a/linera-service/src/exporter/runloops/indexer/indexer_exporter.rs b/linera-service/src/exporter/runloops/indexer/indexer_exporter.rs index 576e2182e2fa..c59550929eb4 100644 --- a/linera-service/src/exporter/runloops/indexer/indexer_exporter.rs +++ b/linera-service/src/exporter/runloops/indexer/indexer_exporter.rs @@ -267,7 +267,7 @@ where retries += 1; if retries == 1 { tracing::info!(index, "waiting for block to be processed"); - } else if retries % 60 == 0 { + } else if retries.is_multiple_of(60) { tracing::warn!(index, retries, "still waiting for block to be processed"); } tokio::time::sleep(Duration::from_secs(1)).await diff --git a/linera-service/src/exporter/state.rs b/linera-service/src/exporter/state.rs index d095a3283a95..a0f3f67cd3e3 100644 --- a/linera-service/src/exporter/state.rs +++ b/linera-service/src/exporter/state.rs @@ -215,7 +215,7 @@ impl DestinationStates { let pinned = self.states.pin(); pinned .get(id) - .unwrap_or_else(|| panic!("{:?} not found in DestinationStates", id)) + .unwrap_or_else(|| panic!("{id:?} not found in DestinationStates")) .clone() } diff --git a/linera-service/src/node_service.rs b/linera-service/src/node_service.rs index 1704cf5d8d57..a1c2b78a30e3 100644 --- a/linera-service/src/node_service.rs +++ b/linera-service/src/node_service.rs @@ -56,7 +56,7 @@ use serde_json::json; use tokio::sync::{mpsc::UnboundedReceiver, OwnedRwLockReadGuard}; use tokio_util::sync::CancellationToken; use tower_http::cors::CorsLayer; -use tracing::{debug, error, info, instrument, trace}; +use tracing::{debug, info, instrument, trace}; use crate::util; diff --git a/linera-service/src/project.rs b/linera-service/src/project.rs index 57e33644e479..c18bca8cc7f1 100644 --- a/linera-service/src/project.rs +++ b/linera-service/src/project.rs @@ -258,10 +258,9 @@ impl Project { /// Adds [`linera_sdk`] dependencies in production mode. fn linera_sdk_production_dependencies() -> (String, String) { let version = env!("CARGO_PKG_VERSION"); - let linera_sdk_dep = format!("linera-sdk = \"{}\"", version); + let linera_sdk_dep = format!("linera-sdk = \"{version}\""); let linera_sdk_dev_dep = format!( - "linera-sdk = {{ version = \"{}\", features = [\"test\", \"wasmer\"] }}", - version + "linera-sdk = {{ version = \"{version}\", features = [\"test\", \"wasmer\"] }}" ); (linera_sdk_dep, linera_sdk_dev_dep) } @@ -271,8 +270,8 @@ impl Project { Some(name) => name, None => self.project_package_name()?.replace('-', "_"), }; - let contract_name = format!("{}_contract", name); - let service_name = format!("{}_service", name); + let contract_name = format!("{name}_contract"); + let service_name = format!("{name}_service"); let cargo_build = Command::new("cargo") .arg("build") .arg("--release") diff --git a/linera-service/src/proxy/grpc.rs b/linera-service/src/proxy/grpc.rs index 706c2ac5708d..444ecb4b28df 100644 --- a/linera-service/src/proxy/grpc.rs +++ b/linera-service/src/proxy/grpc.rs @@ -458,14 +458,14 @@ where Some(api::chain_info_result::Inner::ChainInfoResponse(response)) => { let chain_info: ChainInfo = bincode::deserialize(&response.chain_info).map_err(|e| { - Status::internal(format!("Failed to deserialize ChainInfo: {}", e)) + Status::internal(format!("Failed to deserialize ChainInfo: {e}")) })?; chain_info.requested_sent_certificate_hashes } Some(api::chain_info_result::Inner::Error(error)) => { let error = bincode::deserialize(&error).unwrap_or_else(|err| NodeError::GrpcError { - error: format!("failed to unmarshal error message: {}", err), + error: format!("failed to unmarshal error message: {err}"), }); return Err(Status::internal(format!( "Chain info query failed: {error}" @@ -711,7 +711,7 @@ where .read_blob(blob_id) .await .map_err(Self::view_error_to_status)?; - let blob = blob.ok_or_else(|| Status::not_found(format!("Blob not found {}", blob_id)))?; + let blob = blob.ok_or_else(|| Status::not_found(format!("Blob not found {blob_id}")))?; Ok(Response::new(blob.into_content().try_into()?)) } @@ -807,11 +807,11 @@ where .map(|raw| { let lite_cert = bcs::from_bytes::(&raw.lite_certificate) .map_err(|e| { - Status::internal(format!("Failed to deserialize lite certificate: {}", e)) + Status::internal(format!("Failed to deserialize lite certificate: {e}")) })?; let confirmed_block = bcs::from_bytes::(&raw.confirmed_block) .map_err(|e| { - Status::internal(format!("Failed to deserialize confirmed block: {}", e)) + Status::internal(format!("Failed to deserialize confirmed block: {e}")) })?; lite_cert .with_value(confirmed_block) @@ -946,10 +946,10 @@ where .await .map_err(Self::view_error_to_status)?; let blob_state = - blob_state.ok_or_else(|| Status::not_found(format!("Blob not found {}", blob_id)))?; + blob_state.ok_or_else(|| Status::not_found(format!("Blob not found {blob_id}")))?; let last_used_by = blob_state .last_used_by - .ok_or_else(|| Status::not_found(format!("Blob not found {}", blob_id)))?; + .ok_or_else(|| Status::not_found(format!("Blob not found {blob_id}")))?; Ok(Response::new(last_used_by.into())) } diff --git a/linera-service/src/schema_export.rs b/linera-service/src/schema_export.rs index ee03be7c7129..a989e24c57d9 100644 --- a/linera-service/src/schema_export.rs +++ b/linera-service/src/schema_export.rs @@ -241,6 +241,6 @@ async fn main() -> std::io::Result<()> { None, // no query cache for schema export ); let schema = service.schema().sdl(); - print!("{}", schema); + print!("{schema}"); Ok(()) } diff --git a/linera-service/src/server.rs b/linera-service/src/server.rs index 3767a6c7572b..c5f9e39725fd 100644 --- a/linera-service/src/server.rs +++ b/linera-service/src/server.rs @@ -569,10 +569,8 @@ async fn run(options: ServerOptions) { let options_string = fs_err::tokio::read_to_string(options_path) .await .expect("Unable to read validator options file"); - let options: ValidatorOptions = - toml::from_str(&options_string).unwrap_or_else(|_| { - panic!("Invalid options file format: \n {}", options_string) - }); + let options: ValidatorOptions = toml::from_str(&options_string) + .unwrap_or_else(|_| panic!("Invalid options file format: \n {options_string}")); let path = options.server_config_path.clone(); let mut server = make_server_config(&path, &mut rng, options) .expect("Unable to open server config file"); diff --git a/linera-service/src/storage.rs b/linera-service/src/storage.rs index c4803ddd12af..dce176454479 100644 --- a/linera-service/src/storage.rs +++ b/linera-service/src/storage.rs @@ -563,7 +563,7 @@ impl fmt::Display for StorageConfig { match &self.inner_storage_config { #[cfg(feature = "storage-service")] InnerStorageConfig::Service { endpoint } => { - write!(f, "service:tcp:{}:{}", endpoint, namespace) + write!(f, "service:tcp:{endpoint}:{namespace}") } InnerStorageConfig::Memory { genesis_path } => { write!(f, "memory:{}:{}", genesis_path.display(), namespace) diff --git a/linera-service/src/util.rs b/linera-service/src/util.rs index ea56c2d1c1cd..612d919ee9ca 100644 --- a/linera-service/src/util.rs +++ b/linera-service/src/util.rs @@ -101,7 +101,7 @@ where } } } - writeln!(output, "{}", quote)?; + writeln!(output, "{quote}")?; } } else if let Some(uri) = line.strip_prefix("```gql,uri=") { let mut quote = String::new(); diff --git a/linera-service/src/wallet.rs b/linera-service/src/wallet.rs index 8f29b5224c7c..3536b3544e3e 100644 --- a/linera-service/src/wallet.rs +++ b/linera-service/src/wallet.rs @@ -33,7 +33,7 @@ struct ChainDetails { impl ChainDetails { fn new(chain_id: ChainId, wallet: &Data) -> Self { let Some(user_chain) = wallet.chains.get(chain_id) else { - panic!("Chain {} not found.", chain_id); + panic!("Chain {chain_id} not found."); }; ChainDetails { is_default: Some(chain_id) == *wallet.default.read().unwrap(), diff --git a/linera-service/tests/linera_net_tests.rs b/linera-service/tests/linera_net_tests.rs index 793227671548..b93d563ea63a 100644 --- a/linera-service/tests/linera_net_tests.rs +++ b/linera-service/tests/linera_net_tests.rs @@ -4802,8 +4802,7 @@ async fn test_controller(config: impl LineraNetConfig) -> Result<()> { .await?; let mutation = format!( - "executeControllerCommand(admin: \"{}\", command: {{SetAdmins: {{ admins: [\"{}\"] }} }})", - admin_owner, admin_owner + "executeControllerCommand(admin: \"{admin_owner}\", command: {{SetAdmins: {{ admins: [\"{admin_owner}\"] }} }})" ); admin_app.mutate(&mutation).await?; @@ -4816,8 +4815,7 @@ async fn test_controller(config: impl LineraNetConfig) -> Result<()> { }); let mutation = format!( - "executeControllerCommand(admin: \"{}\", command: {{UpdateService: {{ service_id: \"{}\", workers: [\"{}\"] }} }})", - admin_owner, service_id, worker1_chain + "executeControllerCommand(admin: \"{admin_owner}\", command: {{UpdateService: {{ service_id: \"{service_id}\", workers: [\"{worker1_chain}\"] }} }})" ); admin_app.mutate(&mutation).await?; @@ -4886,8 +4884,7 @@ async fn test_controller(config: impl LineraNetConfig) -> Result<()> { assert_eq!(task_count, 1, "Task should have been processed"); let mutation = format!( - "executeControllerCommand(admin: \"{}\", command: {{UpdateService: {{ service_id: \"{}\", workers: [] }} }})", - admin_owner, service_id + "executeControllerCommand(admin: \"{admin_owner}\", command: {{UpdateService: {{ service_id: \"{service_id}\", workers: [] }} }})" ); admin_app.mutate(&mutation).await?; diff --git a/linera-service/tests/local_net_tests.rs b/linera-service/tests/local_net_tests.rs index defd94924c5f..709775fcfddd 100644 --- a/linera-service/tests/local_net_tests.rs +++ b/linera-service/tests/local_net_tests.rs @@ -796,7 +796,7 @@ async fn test_storage_service_linera_net_up_simple() -> Result<()> { std::thread::spawn(move || { for line in lines { let line = line.unwrap(); - eprintln!("{}", line); + eprintln!("{line}"); } }); @@ -816,7 +816,7 @@ async fn test_storage_service_linera_net_up_simple() -> Result<()> { assert_eq!(exports.next().unwrap()?, ""); // Test faucet. - let faucet = Faucet::new(format!("http://localhost:{}/", port)); + let faucet = Faucet::new(format!("http://localhost:{port}/")); faucet.version_info().await.unwrap(); // Send SIGINT to the child process. diff --git a/linera-service/wasm32-mvp.json b/linera-service/wasm32-mvp.json new file mode 100644 index 000000000000..3fb4953b860b --- /dev/null +++ b/linera-service/wasm32-mvp.json @@ -0,0 +1,57 @@ +{ + "arch": "wasm32", + "binary-format": "wasm", + "crt-objects-fallback": "true", + "data-layout": "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-i128:128-n32:64-S128-ni:1:10:20", + "dll-prefix": "", + "dll-suffix": ".wasm", + "dynamic-linking": true, + "eh-frame-header": false, + "emit-debug-gdb-scripts": false, + "exe-suffix": ".wasm", + "generate-arange-section": false, + "has-thread-local": true, + "is-like-wasm": true, + "linker": "rust-lld", + "linker-flavor": "wasm-lld", + "linker-is-gnu": false, + "lld-flavor": "wasm", + "llvm-target": "wasm32-unknown-unknown", + "max-atomic-width": 64, + "metadata": { + "description": "WebAssembly without bulk-memory or nontrapping-fptoint opcodes", + "host_tools": false, + "std": true, + "tier": 2 + }, + "only-cdylib": true, + "os": "unknown", + "panic-strategy": "abort", + "pre-link-args": { + "wasm-lld": [ + "-z", + "stack-size=1048576", + "--stack-first", + "--allow-undefined", + "--no-demangle", + "--no-entry" + ], + "wasm-lld-cc": [ + "-Wl,-z", + "-Wl,stack-size=1048576", + "-Wl,--stack-first", + "-Wl,--allow-undefined", + "-Wl,--no-demangle", + "--target=wasm32-unknown-unknown", + "-Wl,--no-entry" + ] + }, + "relocation-model": "static", + "singlethread": true, + "target-family": [ + "wasm" + ], + "target-pointer-width": 32, + "tls-model": "local-exec", + "features": "-bulk-memory,-bulk-memory-opt,-nontrapping-fptoint" +} diff --git a/linera-storage-service/src/server.rs b/linera-storage-service/src/server.rs index 1cad7f6f8d8c..a291de9a6fae 100644 --- a/linera-storage-service/src/server.rs +++ b/linera-storage-service/src/server.rs @@ -69,7 +69,7 @@ impl StorageServer { LocalStore::Memory(store) => store .read_value_bytes(key) .await - .map_err(|e| Status::unknown(format!("Memory error {:?} at read_value_bytes", e))), + .map_err(|e| Status::unknown(format!("Memory error {e:?} at read_value_bytes"))), #[cfg(with_rocksdb)] LocalStore::RocksDb(store) => store .read_value_bytes(key) @@ -83,7 +83,7 @@ impl StorageServer { LocalStore::Memory(store) => store .contains_key(key) .await - .map_err(|e| Status::unknown(format!("Memory error {:?} at contains_key", e))), + .map_err(|e| Status::unknown(format!("Memory error {e:?} at contains_key"))), #[cfg(with_rocksdb)] LocalStore::RocksDb(store) => store .contains_key(key) @@ -97,7 +97,7 @@ impl StorageServer { LocalStore::Memory(store) => store .contains_keys(keys) .await - .map_err(|e| Status::unknown(format!("Memory error {:?} at contains_keys", e))), + .map_err(|e| Status::unknown(format!("Memory error {e:?} at contains_keys"))), #[cfg(with_rocksdb)] LocalStore::RocksDb(store) => store .contains_keys(keys) @@ -112,7 +112,7 @@ impl StorageServer { ) -> Result>>, Status> { match &self.store { LocalStore::Memory(store) => store.read_multi_values_bytes(keys).await.map_err(|e| { - Status::unknown(format!("Memory error {:?} at read_multi_values_bytes", e)) + Status::unknown(format!("Memory error {e:?} at read_multi_values_bytes")) }), #[cfg(with_rocksdb)] LocalStore::RocksDb(store) => store.read_multi_values_bytes(keys).await.map_err(|e| { @@ -123,9 +123,10 @@ impl StorageServer { pub async fn find_keys_by_prefix(&self, key_prefix: &[u8]) -> Result>, Status> { match &self.store { - LocalStore::Memory(store) => store.find_keys_by_prefix(key_prefix).await.map_err(|e| { - Status::unknown(format!("Memory error {:?} at find_keys_by_prefix", e)) - }), + LocalStore::Memory(store) => store + .find_keys_by_prefix(key_prefix) + .await + .map_err(|e| Status::unknown(format!("Memory error {e:?} at find_keys_by_prefix"))), #[cfg(with_rocksdb)] LocalStore::RocksDb(store) => { store.find_keys_by_prefix(key_prefix).await.map_err(|e| { @@ -145,10 +146,7 @@ impl StorageServer { .find_key_values_by_prefix(key_prefix) .await .map_err(|e| { - Status::unknown(format!( - "Memory error {:?} at find_key_values_by_prefix", - e - )) + Status::unknown(format!("Memory error {e:?} at find_key_values_by_prefix")) }) } #[cfg(with_rocksdb)] @@ -169,7 +167,7 @@ impl StorageServer { LocalStore::Memory(store) => store .write_batch(batch) .await - .map_err(|e| Status::unknown(format!("Memory error {:?} at write_batch", e))), + .map_err(|e| Status::unknown(format!("Memory error {e:?} at write_batch"))), #[cfg(with_rocksdb)] LocalStore::RocksDb(store) => store .write_batch(batch) @@ -623,7 +621,7 @@ async fn main() { _ => panic!("test-log: RUST_LOG_SPAN_EVENTS must contain filters separated by `,`.\n\t\ For example: `active` or `new,close`\n\t\ Supported filters: new, enter, exit, close, active, full\n\t\ - Got: {}", value), + Got: {value}"), }) .fold(FmtSpan::NONE, |acc, filter| filter | acc) } diff --git a/linera-storage/src/db_storage.rs b/linera-storage/src/db_storage.rs index 2508346c4d4c..ffee8b9b97aa 100644 --- a/linera-storage/src/db_storage.rs +++ b/linera-storage/src/db_storage.rs @@ -1125,7 +1125,7 @@ impl TestClock { self.lock().sleep_callback = None; } - fn lock(&self) -> std::sync::MutexGuard { + fn lock(&self) -> std::sync::MutexGuard<'_, TestClockInner> { self.0.lock().expect("poisoned TestClock mutex") } } diff --git a/linera-storage/src/lib.rs b/linera-storage/src/lib.rs index efc00a6d9ea8..f841f0349237 100644 --- a/linera-storage/src/lib.rs +++ b/linera-storage/src/lib.rs @@ -315,7 +315,7 @@ pub trait Storage: linera_base::util::traits::AutoTraits + Sized { } } - /// Creates a [`linera-sdk::UserContract`] instance using the bytecode in storage referenced + /// Creates a [`UserServiceCode`] instance using the bytecode in storage referenced /// by the `application_description`. async fn load_service( &self, diff --git a/linera-summary/src/github.rs b/linera-summary/src/github.rs index 5b2326edc14e..9287a95176ef 100644 --- a/linera-summary/src/github.rs +++ b/linera-summary/src/github.rs @@ -192,7 +192,7 @@ impl Github { // Always print the summary to stdout, as we'll use it to set the job summary in CI. info!("Printing summary to stdout..."); - println!("{}", body); + println!("{body}"); if let Some(existing_comment_id) = existing_comment_id { if self.is_local { @@ -310,7 +310,7 @@ impl Github { Ok(jobs_filtered) } - pub fn workflows_handler(&self) -> WorkflowsHandler { + pub fn workflows_handler(&self) -> WorkflowsHandler<'_> { self.octocrab.workflows( self.context.repository.owner.clone(), self.context.repository.name.clone(), diff --git a/linera-summary/src/performance_summary.rs b/linera-summary/src/performance_summary.rs index 718385cb4abb..5602d340edd4 100644 --- a/linera-summary/src/performance_summary.rs +++ b/linera-summary/src/performance_summary.rs @@ -66,14 +66,12 @@ impl PerformanceSummary { commit_hash ); - let mut markdown_content = format!( - "{} [{}]({})\n\n", - PR_COMMENT_HEADER, short_commit_hash, commit_url - ); + let mut markdown_content = + format!("{PR_COMMENT_HEADER} [{short_commit_hash}]({commit_url})\n\n"); markdown_content.push_str("### CI Runtime Comparison\n\n"); for (workflow_name, comparisons) in &self.ci_runtime_comparison.0 { - markdown_content.push_str(&format!("#### Workflow: {}\n\n", workflow_name)); + markdown_content.push_str(&format!("#### Workflow: {workflow_name}\n\n")); markdown_content .push_str("| Job Name | Base Runtime | PR Runtime | Runtime Difference (%) |\n"); markdown_content.push_str("| --- | --- | --- | --- |\n"); diff --git a/linera-version/src/version_info/type.rs b/linera-version/src/version_info/type.rs index 9852e887ffe1..0c14746f54e1 100644 --- a/linera-version/src/version_info/type.rs +++ b/linera-version/src/version_info/type.rs @@ -216,7 +216,7 @@ impl VersionInfo { == Some(1); git_outcome.output[..10].to_owned() } else { - format!("v{}", crate_version) + format!("v{crate_version}") } } .into(); diff --git a/linera-views/src/backends/metering.rs b/linera-views/src/backends/metering.rs index 476e0c539fe6..24e9511fed5d 100644 --- a/linera-views/src/backends/metering.rs +++ b/linera-views/src/backends/metering.rs @@ -103,167 +103,167 @@ impl KeyValueStoreMetrics { exponential_buckets(1.0, 3.0, 11).expect("Count buckets creation should not fail"), ); - let entry1 = format!("{}_read_value_bytes_latency", var_name); - let entry2 = format!("{} read value bytes latency", title_name); + let entry1 = format!("{var_name}_read_value_bytes_latency"); + let entry2 = format!("{title_name} read value bytes latency"); let read_value_bytes_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_contains_key_latency", var_name); - let entry2 = format!("{} contains key latency", title_name); + let entry1 = format!("{var_name}_contains_key_latency"); + let entry2 = format!("{title_name} contains key latency"); let contains_key_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_contains_keys_latency", var_name); - let entry2 = format!("{} contains keys latency", title_name); + let entry1 = format!("{var_name}_contains_keys_latency"); + let entry2 = format!("{title_name} contains keys latency"); let contains_keys_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_read_multi_value_bytes_latency", var_name); - let entry2 = format!("{} read multi value bytes latency", title_name); + let entry1 = format!("{var_name}_read_multi_value_bytes_latency"); + let entry2 = format!("{title_name} read multi value bytes latency"); let read_multi_values_bytes_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_find_keys_by_prefix_latency", var_name); - let entry2 = format!("{} find keys by prefix latency", title_name); + let entry1 = format!("{var_name}_find_keys_by_prefix_latency"); + let entry2 = format!("{title_name} find keys by prefix latency"); let find_keys_by_prefix_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_find_key_values_by_prefix_latency", var_name); - let entry2 = format!("{} find key values by prefix latency", title_name); + let entry1 = format!("{var_name}_find_key_values_by_prefix_latency"); + let entry2 = format!("{title_name} find key values by prefix latency"); let find_key_values_by_prefix_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_write_batch_latency", var_name); - let entry2 = format!("{} write batch latency", title_name); + let entry1 = format!("{var_name}_write_batch_latency"); + let entry2 = format!("{title_name} write batch latency"); let write_batch_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_clear_journal_latency", var_name); - let entry2 = format!("{} clear journal latency", title_name); + let entry1 = format!("{var_name}_clear_journal_latency"); + let entry2 = format!("{title_name} clear journal latency"); let clear_journal_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_connect_latency", var_name); - let entry2 = format!("{} connect latency", title_name); + let entry1 = format!("{var_name}_connect_latency"); + let entry2 = format!("{title_name} connect latency"); let connect_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_open_shared_latency", var_name); - let entry2 = format!("{} open shared partition", title_name); + let entry1 = format!("{var_name}_open_shared_latency"); + let entry2 = format!("{title_name} open shared partition"); let open_shared_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_open_exclusive_latency", var_name); - let entry2 = format!("{} open exclusive partition", title_name); + let entry1 = format!("{var_name}_open_exclusive_latency"); + let entry2 = format!("{title_name} open exclusive partition"); let open_exclusive_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_list_all_latency", var_name); - let entry2 = format!("{} list all latency", title_name); + let entry1 = format!("{var_name}_list_all_latency"); + let entry2 = format!("{title_name} list all latency"); let list_all_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_list_root_keys_latency", var_name); - let entry2 = format!("{} list root keys latency", title_name); + let entry1 = format!("{var_name}_list_root_keys_latency"); + let entry2 = format!("{title_name} list root keys latency"); let list_root_keys_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_delete_all_latency", var_name); - let entry2 = format!("{} delete all latency", title_name); + let entry1 = format!("{var_name}_delete_all_latency"); + let entry2 = format!("{title_name} delete all latency"); let delete_all_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_exists_latency", var_name); - let entry2 = format!("{} exists latency", title_name); + let entry1 = format!("{var_name}_exists_latency"); + let entry2 = format!("{title_name} exists latency"); let exists_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_create_latency", var_name); - let entry2 = format!("{} create latency", title_name); + let entry1 = format!("{var_name}_create_latency"); + let entry2 = format!("{title_name} create latency"); let create_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_delete_latency", var_name); - let entry2 = format!("{} delete latency", title_name); + let entry1 = format!("{var_name}_delete_latency"); + let entry2 = format!("{title_name} delete latency"); let delete_latency = register_histogram_vec(&entry1, &entry2, &[], latency_buckets.clone()); - let entry1 = format!("{}_read_value_none_cases", var_name); - let entry2 = format!("{} read value none cases", title_name); + let entry1 = format!("{var_name}_read_value_none_cases"); + let entry2 = format!("{title_name} read value none cases"); let read_value_none_cases = register_int_counter_vec(&entry1, &entry2, &[]); - let entry1 = format!("{}_read_value_key_size", var_name); - let entry2 = format!("{} read value key size", title_name); + let entry1 = format!("{var_name}_read_value_key_size"); + let entry2 = format!("{title_name} read value key size"); let read_value_key_size = register_histogram_vec(&entry1, &entry2, &[], size_buckets.clone()); - let entry1 = format!("{}_read_value_value_size", var_name); - let entry2 = format!("{} read value value size", title_name); + let entry1 = format!("{var_name}_read_value_value_size"); + let entry2 = format!("{title_name} read value value size"); let read_value_value_size = register_histogram_vec(&entry1, &entry2, &[], size_buckets.clone()); - let entry1 = format!("{}_read_multi_values_num_entries", var_name); - let entry2 = format!("{} read multi values num entries", title_name); + let entry1 = format!("{var_name}_read_multi_values_num_entries"); + let entry2 = format!("{title_name} read multi values num entries"); let read_multi_values_num_entries = register_histogram_vec(&entry1, &entry2, &[], count_buckets.clone()); - let entry1 = format!("{}_read_multi_values_key_sizes", var_name); - let entry2 = format!("{} read multi values key sizes", title_name); + let entry1 = format!("{var_name}_read_multi_values_key_sizes"); + let entry2 = format!("{title_name} read multi values key sizes"); let read_multi_values_key_sizes = register_histogram_vec(&entry1, &entry2, &[], size_buckets.clone()); - let entry1 = format!("{}_contains_keys_num_entries", var_name); - let entry2 = format!("{} contains keys num entries", title_name); + let entry1 = format!("{var_name}_contains_keys_num_entries"); + let entry2 = format!("{title_name} contains keys num entries"); let contains_keys_num_entries = register_histogram_vec(&entry1, &entry2, &[], count_buckets.clone()); - let entry1 = format!("{}_contains_keys_key_sizes", var_name); - let entry2 = format!("{} contains keys key sizes", title_name); + let entry1 = format!("{var_name}_contains_keys_key_sizes"); + let entry2 = format!("{title_name} contains keys key sizes"); let contains_keys_key_sizes = register_histogram_vec(&entry1, &entry2, &[], size_buckets.clone()); - let entry1 = format!("{}_contains_key_key_size", var_name); - let entry2 = format!("{} contains key key size", title_name); + let entry1 = format!("{var_name}_contains_key_key_size"); + let entry2 = format!("{title_name} contains key key size"); let contains_key_key_size = register_histogram_vec(&entry1, &entry2, &[], size_buckets.clone()); - let entry1 = format!("{}_find_keys_by_prefix_prefix_size", var_name); - let entry2 = format!("{} find keys by prefix prefix size", title_name); + let entry1 = format!("{var_name}_find_keys_by_prefix_prefix_size"); + let entry2 = format!("{title_name} find keys by prefix prefix size"); let find_keys_by_prefix_prefix_size = register_histogram_vec(&entry1, &entry2, &[], size_buckets.clone()); - let entry1 = format!("{}_find_keys_by_prefix_num_keys", var_name); - let entry2 = format!("{} find keys by prefix num keys", title_name); + let entry1 = format!("{var_name}_find_keys_by_prefix_num_keys"); + let entry2 = format!("{title_name} find keys by prefix num keys"); let find_keys_by_prefix_num_keys = register_histogram_vec(&entry1, &entry2, &[], count_buckets.clone()); - let entry1 = format!("{}_find_keys_by_prefix_keys_size", var_name); - let entry2 = format!("{} find keys by prefix keys size", title_name); + let entry1 = format!("{var_name}_find_keys_by_prefix_keys_size"); + let entry2 = format!("{title_name} find keys by prefix keys size"); let find_keys_by_prefix_keys_size = register_histogram_vec(&entry1, &entry2, &[], size_buckets.clone()); - let entry1 = format!("{}_find_key_values_by_prefix_prefix_size", var_name); - let entry2 = format!("{} find key values by prefix prefix size", title_name); + let entry1 = format!("{var_name}_find_key_values_by_prefix_prefix_size"); + let entry2 = format!("{title_name} find key values by prefix prefix size"); let find_key_values_by_prefix_prefix_size = register_histogram_vec(&entry1, &entry2, &[], size_buckets.clone()); - let entry1 = format!("{}_find_key_values_by_prefix_num_keys", var_name); - let entry2 = format!("{} find key values by prefix num keys", title_name); + let entry1 = format!("{var_name}_find_key_values_by_prefix_num_keys"); + let entry2 = format!("{title_name} find key values by prefix num keys"); let find_key_values_by_prefix_num_keys = register_histogram_vec(&entry1, &entry2, &[], count_buckets.clone()); - let entry1 = format!("{}_find_key_values_by_prefix_key_values_size", var_name); - let entry2 = format!("{} find key values by prefix key values size", title_name); + let entry1 = format!("{var_name}_find_key_values_by_prefix_key_values_size"); + let entry2 = format!("{title_name} find key values by prefix key values size"); let find_key_values_by_prefix_key_values_size = register_histogram_vec(&entry1, &entry2, &[], size_buckets.clone()); - let entry1 = format!("{}_write_batch_size", var_name); - let entry2 = format!("{} write batch size", title_name); + let entry1 = format!("{var_name}_write_batch_size"); + let entry2 = format!("{title_name} write batch size"); let write_batch_size = register_histogram_vec(&entry1, &entry2, &[], size_buckets); - let entry1 = format!("{}_list_all_sizes", var_name); - let entry2 = format!("{} list all sizes", title_name); + let entry1 = format!("{var_name}_list_all_sizes"); + let entry2 = format!("{title_name} list all sizes"); let list_all_sizes = register_histogram_vec(&entry1, &entry2, &[], count_buckets); - let entry1 = format!("{}_exists_true_cases", var_name); - let entry2 = format!("{} exists true cases", title_name); + let entry1 = format!("{var_name}_exists_true_cases"); + let entry2 = format!("{title_name} exists true cases"); let exists_true_cases = register_int_counter_vec(&entry1, &entry2, &[]); KeyValueStoreMetrics { diff --git a/linera-views/src/backends/rocks_db.rs b/linera-views/src/backends/rocks_db.rs index 0f6173eb4e0b..ce6c95e4f859 100644 --- a/linera-views/src/backends/rocks_db.rs +++ b/linera-views/src/backends/rocks_db.rs @@ -166,7 +166,10 @@ impl RocksDbStoreExecutor { Ok(entries.into_iter().collect::>()?) } - fn get_find_prefix_iterator(&self, prefix: &[u8]) -> rocksdb::DBRawIteratorWithThreadMode { + fn get_find_prefix_iterator( + &self, + prefix: &[u8], + ) -> rocksdb::DBRawIteratorWithThreadMode<'_, DB> { // Configure ReadOptions optimized for SSDs and iterator performance let mut read_opts = rocksdb::ReadOptions::default(); // Enable async I/O for better concurrency diff --git a/linera-views/src/graphql.rs b/linera-views/src/graphql.rs index 038bc3b8156f..ef60a1c03d23 100644 --- a/linera-views/src/graphql.rs +++ b/linera-views/src/graphql.rs @@ -221,7 +221,7 @@ impl async_graphql::InputType for MapInput { pub(crate) fn missing_key_error(key: &impl std::fmt::Debug) -> async_graphql::Error { async_graphql::Error { - message: format!("The key={:?} is missing in collection", key), + message: format!("The key={key:?} is missing in collection"), source: None, extensions: None, } diff --git a/linera-views/src/random.rs b/linera-views/src/random.rs index 53f2a2af3de6..5a566ad261da 100644 --- a/linera-views/src/random.rs +++ b/linera-views/src/random.rs @@ -57,7 +57,7 @@ pub fn generate_test_namespace() -> String { // Define the characters that are allowed in the alphanumeric string let charset: &[u8] = b"0123456789abcdefghijklmnopqrstuvwxyz"; let entry = generate_random_alphanumeric_string(20, charset); - let namespace = format!("table_{}", entry); + let namespace = format!("table_{entry}"); tracing::warn!("Generating namespace={}", namespace); namespace } diff --git a/linera-views/src/test_utils/mod.rs b/linera-views/src/test_utils/mod.rs index 706b6d8e37d8..674dfe7d6c44 100644 --- a/linera-views/src/test_utils/mod.rs +++ b/linera-views/src/test_utils/mod.rs @@ -716,7 +716,7 @@ pub async fn namespace_admin_test() { // Creating the initial list of namespaces let mut working_namespaces = BTreeSet::new(); for i in 0..size { - let namespace = format!("{}_{}", prefix, i); + let namespace = format!("{prefix}_{i}"); assert!(!D::exists(&config, &namespace).await.expect("test")); working_namespaces.insert(namespace); } diff --git a/linera-views/src/views/bucket_queue_view.rs b/linera-views/src/views/bucket_queue_view.rs index 10de2054caa8..2c04c7d184e7 100644 --- a/linera-views/src/views/bucket_queue_view.rs +++ b/linera-views/src/views/bucket_queue_view.rs @@ -334,20 +334,19 @@ where self.stored_buckets[0].index = 0; } if !self.new_back_values.is_empty() { - let mut index = match self.stored_buckets.back() { + let start_index = match self.stored_buckets.back() { Some(bucket) => bucket.index + 1, None => 0, }; let new_back_values = std::mem::take(&mut self.new_back_values); let new_back_values = new_back_values.into_iter().collect::>(); - for value_chunk in new_back_values.chunks(N) { + for (i, value_chunk) in new_back_values.chunks(N).enumerate() { self.stored_buckets.push_back(Bucket { - index, + index: start_index + i, state: State::Loaded { data: value_chunk.to_vec(), }, }); - index += 1; } if self.cursor.is_none() { self.cursor = Some(Cursor { diff --git a/linera-views/src/views/collection_view.rs b/linera-views/src/views/collection_view.rs index bb3a1150b76f..5ab3e8c5881a 100644 --- a/linera-views/src/views/collection_view.rs +++ b/linera-views/src/views/collection_view.rs @@ -313,7 +313,7 @@ impl ByteCollectionView { pub async fn try_load_entry( &self, short_key: &[u8], - ) -> Result>, ViewError> { + ) -> Result>, ViewError> { let updates = self.updates.read().await; match updates.get(short_key) { Some(update) => match update { @@ -371,7 +371,7 @@ impl ByteCollectionView { pub async fn try_load_entries( &self, short_keys: Vec>, - ) -> Result>>, ViewError> { + ) -> Result>>, ViewError> { let mut results = Vec::with_capacity(short_keys.len()); let mut keys_to_check = Vec::new(); let mut keys_to_check_metadata = Vec::new(); @@ -461,7 +461,7 @@ impl ByteCollectionView { /// ``` pub async fn try_load_all_entries( &self, - ) -> Result, ReadGuardedView)>, ViewError> { + ) -> Result, ReadGuardedView<'_, W>)>, ViewError> { let updates = self.updates.read().await; // Acquire the read lock to prevent writes. let short_keys = self.keys().await?; let mut results = Vec::with_capacity(short_keys.len()); @@ -1033,7 +1033,7 @@ impl CollectionView { pub async fn try_load_entry( &self, index: &Q, - ) -> Result>, ViewError> + ) -> Result>, ViewError> where I: Borrow, Q: Serialize + ?Sized, @@ -1065,7 +1065,7 @@ impl CollectionView { pub async fn try_load_entries<'a, Q>( &self, indices: impl IntoIterator, - ) -> Result>>, ViewError> + ) -> Result>>, ViewError> where I: Borrow, Q: Serialize + 'a, @@ -1094,7 +1094,7 @@ impl CollectionView { /// assert_eq!(subviews.len(), 1); /// # }) /// ``` - pub async fn try_load_all_entries(&self) -> Result)>, ViewError> + pub async fn try_load_all_entries(&self) -> Result)>, ViewError> where I: DeserializeOwned, { @@ -1451,7 +1451,7 @@ impl CustomCollectionView { pub async fn try_load_entry( &self, index: &Q, - ) -> Result>, ViewError> + ) -> Result>, ViewError> where I: Borrow, Q: CustomSerialize, @@ -1482,7 +1482,7 @@ impl CustomCollectionView { pub async fn try_load_entries<'a, Q>( &self, indices: impl IntoIterator, - ) -> Result>>, ViewError> + ) -> Result>>, ViewError> where I: Borrow, Q: CustomSerialize + 'a, @@ -1511,7 +1511,7 @@ impl CustomCollectionView { /// assert_eq!(subviews.len(), 1); /// # }) /// ``` - pub async fn try_load_all_entries(&self) -> Result)>, ViewError> + pub async fn try_load_all_entries(&self) -> Result)>, ViewError> where I: CustomSerialize, { @@ -1815,7 +1815,7 @@ mod graphql { async fn entry( &self, key: K, - ) -> Result>, async_graphql::Error> { + ) -> Result>, async_graphql::Error> { let value = self .try_load_entry(&key) .await? @@ -1826,7 +1826,7 @@ mod graphql { async fn entries( &self, input: Option>, - ) -> Result>>, async_graphql::Error> { + ) -> Result>>, async_graphql::Error> { let keys = if let Some(keys) = input .and_then(|input| input.filters) .and_then(|filters| filters.keys) @@ -1880,7 +1880,7 @@ mod graphql { async fn entry( &self, key: K, - ) -> Result>, async_graphql::Error> { + ) -> Result>, async_graphql::Error> { let value = self .try_load_entry(&key) .await? @@ -1891,7 +1891,7 @@ mod graphql { async fn entries( &self, input: Option>, - ) -> Result>>, async_graphql::Error> { + ) -> Result>>, async_graphql::Error> { let keys = if let Some(keys) = input .and_then(|input| input.filters) .and_then(|filters| filters.keys) diff --git a/linera-views/src/views/register_view.rs b/linera-views/src/views/register_view.rs index 82f998d0ccd7..d82bb98342e3 100644 --- a/linera-views/src/views/register_view.rs +++ b/linera-views/src/views/register_view.rs @@ -124,7 +124,7 @@ where fn post_save(&mut self) { if self.delete_storage_first { - self.stored_value = Box::default(); + *self.stored_value = Default::default(); } else if let Some(value) = self.update.take() { self.stored_value = value; } diff --git a/linera-views/tests/random_container_tests.rs b/linera-views/tests/random_container_tests.rs index c074ba9b58f6..d2328fb35954 100644 --- a/linera-views/tests/random_container_tests.rs +++ b/linera-views/tests/random_container_tests.rs @@ -580,10 +580,7 @@ async fn nested_collection_map_view_check() -> Result<()> { let submap = new_state_map.get_mut(&key1).unwrap(); let count = submap.len(); if count > 0 { - let subkeys = submap - .iter() - .map(|(key, _)| key.clone()) - .collect::>(); + let subkeys = submap.keys().cloned().collect::>(); let pos = rng.gen_range(0..count); let key2 = subkeys[pos].clone(); submap.remove(&key2); diff --git a/linera-witty-macros/src/wit_interface.rs b/linera-witty-macros/src/wit_interface.rs index b09c2a1b0df9..dc29c55f9cad 100644 --- a/linera-witty-macros/src/wit_interface.rs +++ b/linera-witty-macros/src/wit_interface.rs @@ -202,7 +202,7 @@ impl<'input> From<&'_ wit_export::FunctionInformation<'input>> for FunctionInfor if is_unit_type(&actual_output) { output = ReturnType::Default; } else { - *return_type = Box::new(actual_output); + **return_type = actual_output; } } diff --git a/linera-witty/src/runtime/wasmer/mod.rs b/linera-witty/src/runtime/wasmer/mod.rs index d3c5106f18f1..00610db41cf9 100644 --- a/linera-witty/src/runtime/wasmer/mod.rs +++ b/linera-witty/src/runtime/wasmer/mod.rs @@ -123,7 +123,7 @@ impl AsStoreMut for EntrypointInstance { impl EntrypointInstance { /// Returns mutable references to the [`Store`] and the [`wasmer::Instance`] stored inside this /// [`EntrypointInstance`]. - pub fn as_store_and_instance_mut(&mut self) -> (StoreMut, &mut wasmer::Instance) { + pub fn as_store_and_instance_mut(&mut self) -> (StoreMut<'_>, &mut wasmer::Instance) { (self.store.as_store_mut(), &mut self.instance) } } diff --git a/linera-witty/src/runtime/wasmtime/mod.rs b/linera-witty/src/runtime/wasmtime/mod.rs index aa2c4c5901a2..a3ce8381a584 100644 --- a/linera-witty/src/runtime/wasmtime/mod.rs +++ b/linera-witty/src/runtime/wasmtime/mod.rs @@ -41,13 +41,13 @@ impl EntrypointInstance { impl AsContext for EntrypointInstance { type Data = UserData; - fn as_context(&self) -> StoreContext { + fn as_context(&self) -> StoreContext<'_, UserData> { self.store.as_context() } } impl AsContextMut for EntrypointInstance { - fn as_context_mut(&mut self) -> StoreContextMut { + fn as_context_mut(&mut self) -> StoreContextMut<'_, UserData> { self.store.as_context_mut() } } diff --git a/linera-witty/src/wit_generation/mod.rs b/linera-witty/src/wit_generation/mod.rs index 22382dcac2e1..dc94b2c70fb1 100644 --- a/linera-witty/src/wit_generation/mod.rs +++ b/linera-witty/src/wit_generation/mod.rs @@ -66,13 +66,13 @@ impl FileContentGenerator for WitInterfaceWriter { writeln!(writer, "interface {} {{", self.name)?; for function in &self.functions { - writeln!(writer, "{}", function)?; + writeln!(writer, "{function}")?; } for type_declaration in self.types.values() { if !type_declaration.is_empty() { writeln!(writer)?; - write!(writer, "{}", type_declaration)?; + write!(writer, "{type_declaration}")?; } } @@ -124,13 +124,13 @@ impl WitWorldWriter { impl FileContentGenerator for WitWorldWriter { fn generate_file_contents(&self, mut writer: impl Write) -> std::io::Result<()> { if let Some(package) = &self.package { - writeln!(writer, "package {};\n", package)?; + writeln!(writer, "package {package};\n")?; } writeln!(writer, "world {} {{", &self.name)?; for import in &self.imports { - writeln!(writer, " import {};", import)?; + writeln!(writer, " import {import};")?; } if !self.imports.is_empty() { @@ -138,7 +138,7 @@ impl FileContentGenerator for WitWorldWriter { } for export in &self.exports { - writeln!(writer, " export {};", export)?; + writeln!(writer, " export {export};")?; } writeln!(writer, "}}")?; diff --git a/linera-witty/tests/common/types.rs b/linera-witty/tests/common/types.rs index 55dfdc69afac..8f450c875567 100644 --- a/linera-witty/tests/common/types.rs +++ b/linera-witty/tests/common/types.rs @@ -89,5 +89,6 @@ pub struct StructWithLists { } /// A type that wraps a slice. +#[allow(dead_code)] #[derive(Clone, Copy, Debug, Eq, PartialEq, WitType, WitStore)] pub struct SliceWrapper<'slice>(pub &'slice [TupleWithoutPadding]); diff --git a/toolchains/nightly/rust-toolchain.toml b/toolchains/nightly/rust-toolchain.toml index aee3a0350017..51b2980e6bf5 100644 --- a/toolchains/nightly/rust-toolchain.toml +++ b/toolchains/nightly/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "nightly-2025-03-21" +channel = "nightly-2026-03-01" components = [ "clippy", "rustfmt", "rust-src" ] targets = [ "wasm32-unknown-unknown" ] profile = "minimal" diff --git a/toolchains/stable/rust-toolchain.toml b/toolchains/stable/rust-toolchain.toml index 7e81ac1c7fbc..baf285c5b771 100644 --- a/toolchains/stable/rust-toolchain.toml +++ b/toolchains/stable/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.86.0" +channel = "1.93.1" components = [ "clippy", "rustfmt", "rust-src" ] targets = [ "wasm32-unknown-unknown" ] profile = "minimal" diff --git a/web/.cargo/config.toml b/web/.cargo/config.toml index f83d847b7a57..5e52d97fd571 100644 --- a/web/.cargo/config.toml +++ b/web/.cargo/config.toml @@ -1,10 +1,13 @@ [target.wasm32-unknown-unknown] rustflags = [ - # support threading - "-C", "target-feature=+atomics,+mutable-globals,+reference-types", + # support threading; +bulk-memory is required for --shared-memory and must + # be re-enabled here since the root config disables it for contracts. + "-C", "target-feature=+atomics,+bulk-memory,+mutable-globals,+reference-types", + # Since Rust 1.92, atomics no longer auto-enables shared memory. + # These link args are needed for wasm threading support. + "-C", "link-args=--shared-memory --max-memory=1073741824 --import-memory --export=__wasm_init_tls --export=__tls_size --export=__tls_align --export=__tls_base", # allow linking C code (for `rust_secp256k1`) "--cfg=web_sys_unstable_apis", - "-Z", "wasm_c_abi=spec", ] [unstable]