diff --git a/Cargo.lock b/Cargo.lock index 397dda1320..177ead62fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -25,7 +25,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "generic-array", ] @@ -75,6 +75,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + [[package]] name = "allocator-api2" version = "0.2.21" @@ -83,9 +92,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50ab0cd8afe573d1f7dc2353698a51b1f93aec362c8211e28cfd3948c6adba39" +checksum = "85805c194576017df6c11057504e1d60b36f3913f8e365945486931f6ee81e40" dependencies = [ "alloy-consensus", "alloy-contract", @@ -105,9 +114,9 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.2.33" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e9e31d834fe25fe991b8884e4b9f0e59db4a97d86e05d1464d6899c013cd62" +checksum = "84e0378e959aa6a885897522080a990e80eb317f1e9a222a604492ea50e13096" dependencies = [ "alloy-primitives", "num_enum", @@ -116,9 +125,9 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f16daaf7e1f95f62c6c3bf8a3fc3d78b08ae9777810c0bb5e94966c7cd57ef0" +checksum = "8dbe4e5e9107bf6854e7550b666ca654ff2027eabf8153913e2e31ac4b089779" dependencies = [ "alloy-eips", "alloy-primitives", @@ -133,7 +142,7 @@ dependencies = [ "either", "k256", "once_cell", - "rand 0.8.5", + "rand 0.8.6", "secp256k1", "serde", "serde_json", @@ -143,9 +152,9 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "118998d9015332ab1b4720ae1f1e3009491966a0349938a1f43ff45a8a4c6299" +checksum = "88fc7bbfb98cf5605a35aadf0ba43a7d9f1608d6f220d05e4fbd5144d3b0b625" dependencies = [ "alloy-consensus", "alloy-eips", @@ -157,9 +166,9 @@ dependencies = [ [[package]] name = "alloy-contract" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ac9e0c34dc6bce643b182049cdfcca1b8ce7d9c260cbdd561f511873b7e26cd" +checksum = "f4c16fa30b623e40a5b216da00f3b61870f5cbe863b59816ac1ecc2489515a40" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -260,9 +269,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ef28c9fdad22d4eec52d894f5f2673a0895f1e5ef196734568e68c0f6caca8" +checksum = "afb4919fa34b268842f434bfafa9c09136ab7b1a87ce0dd40a61befa35b5408c" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -295,13 +304,13 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422d110f1c40f1f8d0e5562b0b649c35f345fccb7093d9f02729943dcd1eef71" +checksum = "31b6af6f374c1eeef8ab8dc26232cd440db167322a4207a3debd3d1ee565ca47" dependencies = [ "alloy-primitives", "alloy-sol-types", - "http 1.4.0", + "http", "serde", "serde_json", "thiserror 2.0.18", @@ -310,9 +319,9 @@ dependencies = [ [[package]] name = "alloy-network" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7197a66d94c4de1591cdc16a9bcea5f8cccd0da81b865b49aef97b1b4016e0fa" +checksum = "f0a3f5a7f3678b71d33fcc45b714fab8928dbc647d5aff2145e72032d5c849bb" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -336,9 +345,9 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb82711d59a43fdfd79727c99f270b974c784ec4eb5728a0d0d22f26716c87ef" +checksum = "fb50dc1fb0e0b2c8748d5bee1aa7acdd18f9e036311bc93a71d97be624030317" dependencies = [ "alloy-consensus", "alloy-eips", @@ -360,25 +369,25 @@ dependencies = [ "derive_more", "foldhash 0.2.0", "hashbrown 0.16.1", - "indexmap 2.13.0", + "indexmap 2.14.0", "itoa", "k256", "keccak-asm", "paste", "proptest", - "rand 0.9.2", + "rand 0.9.4", "rapidhash", "ruint", "rustc-hash 2.1.2", "serde", - "sha3", + "sha3 0.10.9", ] [[package]] name = "alloy-provider" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6b18b929ef1d078b834c3631e9c925177f3b23ddc6fa08a722d13047205876" +checksum = "f2ba5468f78c8893be2d68a7f2fda61753336e5653f006af19781001b5f99e6c" dependencies = [ "alloy-chains", "alloy-consensus", @@ -402,10 +411,10 @@ dependencies = [ "either", "futures", "futures-utils-wasm", - "lru 0.16.3", + "lru 0.16.4", "parking_lot 0.12.5", "pin-project", - "reqwest 0.13.2", + "reqwest", "serde", "serde_json", "thiserror 2.0.18", @@ -417,9 +426,9 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad54073131e7292d4e03e1aa2287730f737280eb160d8b579fb31939f558c11" +checksum = "ffcefb5d3391a320eadb95d398e4135f8cc35c7bf29a6bdb357eadcfc5ee5638" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -432,16 +441,16 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower 0.5.3", + "tower", "tracing", "wasmtimer", ] [[package]] name = "alloy-rlp" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93e50f64a77ad9c5470bf2ad0ca02f228da70c792a8f06634801e202579f35e" +checksum = "dc90b1e703d3c03f4ff7f48e82dd0bc1c8211ab7d079cd836a06fcfeb06651cb" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -450,9 +459,9 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce8849c74c9ca0f5a03da1c865e3eb6f768df816e67dd3721a398a8a7e398011" +checksum = "f36834a5c0a2fa56e171bf256c34d70fca07d0c0031583edea1c4946b7889c9e" dependencies = [ "proc-macro2", "quote", @@ -461,9 +470,9 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fcc9604042ca80bd37aa5e232ea1cd851f337e31e2babbbb345bc0b1c30de3" +checksum = "222fd4efff0fb9a25184684742c44fe9fa9a16c4ab5bf97583e71c86598ef8f0" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -473,12 +482,12 @@ dependencies = [ "alloy-transport-ws", "futures", "pin-project", - "reqwest 0.13.2", + "reqwest", "serde", "serde_json", "tokio", "tokio-stream", - "tower 0.5.3", + "tower", "tracing", "url", "wasmtimer", @@ -486,9 +495,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4faad925d3a669ffc15f43b3deec7fbdf2adeb28a4d6f9cf4bc661698c0f8f4b" +checksum = "974df1e56405c27cb8242381f45d8b212ba9df5006046ccf704764a2a4634366" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -498,20 +507,24 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3823026d1ed239a40f12364fac50726c8daf1b6ab8077a97212c5123910429ed" +checksum = "949c0f16a94ae33cdb1139b8dbf9e34d7f26ebfe97962e2a4d620b5f65f48fe4" dependencies = [ "alloy-consensus-any", + "alloy-network-primitives", + "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", + "serde", + "serde_json", ] [[package]] name = "alloy-rpc-types-eth" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c095f92c4e1ff4981d89e9aa02d5f98c762a1980ab66bec49c44be11349da2" +checksum = "cc280a41931bd419af86e9e859dd9726b73313aaa2e479b33c0e344f4b892ddb" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -530,9 +543,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ece63b89294b8614ab3f483560c08d016930f842bf36da56bf0b764a15c11e" +checksum = "4848831ff994c88b1c32b7df9c4c1c3eedea4b535bde5eb3c421ef0bdc5ac052" dependencies = [ "alloy-primitives", "serde", @@ -541,9 +554,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f447aefab0f1c0649f71edc33f590992d4e122bc35fb9cdbbf67d4421ace85" +checksum = "84b8ad9890b212e224291024b1aecfeef72127d27a2f6eebc5e347c40275c4bf" dependencies = [ "alloy-primitives", "async-trait", @@ -578,11 +591,11 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.13.0", + "indexmap 2.14.0", "proc-macro-error2", "proc-macro2", "quote", - "sha3", + "sha3 0.10.9", "syn 2.0.117", "syn-solidity", ] @@ -629,9 +642,9 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8098f965442a9feb620965ba4b4be5e2b320f4ec5a3fff6bfa9e1ff7ef42bed1" +checksum = "32b7b755e64ae6b5de0d762ed2c780e072167ea5e542076a559e00314352a0bf" dependencies = [ "alloy-json-rpc", "auto_impl", @@ -644,7 +657,7 @@ dependencies = [ "serde_json", "thiserror 2.0.18", "tokio", - "tower 0.5.3", + "tower", "tracing", "url", "wasmtimer", @@ -652,30 +665,30 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8597d36d546e1dab822345ad563243ec3920e199322cb554ce56c8ef1a1e2e7" +checksum = "a29980e69119444ed26b75e7ee5bed2043870f904a64318297e55800db686564" dependencies = [ "alloy-json-rpc", "alloy-transport", "itertools 0.14.0", - "reqwest 0.13.2", + "reqwest", "serde_json", - "tower 0.5.3", + "tower", "tracing", "url", ] [[package]] name = "alloy-transport-ws" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3ab7a72b180992881acc112628b7668337a19ce15293ee974600ea7b693691" +checksum = "e4b71dc951db66795cfb52eef835f64cf15163bc93b656e061b457ce5ebff370" dependencies = [ "alloy-pubsub", "alloy-transport", "futures", - "http 1.4.0", + "http", "rustls", "serde_json", "tokio", @@ -703,9 +716,9 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "1.8.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d69722eddcdf1ce096c3ab66cf8116999363f734eb36fe94a148f4f71c85da84" +checksum = "8d8228b9236479ff16b03041b64b86c2bd4e53da1caa45d59b5868cd1571131e" dependencies = [ "darling 0.23.0", "proc-macro2", @@ -877,7 +890,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "779a12979955eae309c494d9736f38cb64c723ed24aa457fb9b045fb89ef1026" dependencies = [ "apollo_time", - "indexmap 2.13.0", + "indexmap 2.14.0", "metrics", "num-traits", "paste", @@ -1177,7 +1190,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -1187,7 +1200,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -1197,7 +1210,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -1417,7 +1430,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e2cdb6d5ed835199484bb92bb8b3edd526effe995c61732580439c1a67e2e9" dependencies = [ "base64 0.22.1", - "http 1.4.0", + "http", "log", "url", ] @@ -1452,9 +1465,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-lc-rs" -version = "1.16.2" +version = "1.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc" +checksum = "0ec6fb3fe69024a75fa7e1bfb48aa6cf59706a101658ea01bfd33b2b248a038f" dependencies = [ "aws-lc-sys", "zeroize", @@ -1462,9 +1475,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.39.1" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399" +checksum = "f50037ee5e1e41e7b8f9d161680a725bd1626cb6f8c7e901f91f942850852fe7" dependencies = [ "cc", "cmake", @@ -1474,9 +1487,9 @@ dependencies = [ [[package]] name = "axum" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" +checksum = "31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90" dependencies = [ "axum-core", "axum-macros", @@ -1484,10 +1497,10 @@ dependencies = [ "bytes", "form_urlencoded", "futures-util", - "http 1.4.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", - "hyper 1.9.0", + "hyper", "hyper-util", "itoa", "matchit", @@ -1502,8 +1515,8 @@ dependencies = [ "sha1", "sync_wrapper", "tokio", - "tokio-tungstenite 0.28.0", - "tower 0.5.3", + "tokio-tungstenite 0.29.0", + "tower", "tower-layer", "tower-service", "tracing", @@ -1517,8 +1530,8 @@ checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ "bytes", "futures-core", - "http 1.4.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", "mime", "pin-project-lite", @@ -1530,9 +1543,9 @@ dependencies = [ [[package]] name = "axum-macros" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604fde5e028fea851ce1d8570bbdc034bec850d157f7569d10f347d06808c05c" +checksum = "7aa268c23bfbbd2c4363b9cd302a4f504fb2a9dfe7e3451d66f35dd392e20aca" dependencies = [ "proc-macro2", "quote", @@ -1617,7 +1630,7 @@ version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "cexpr", "clang-sys", "itertools 0.13.0", @@ -1685,9 +1698,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" [[package]] name = "bitvec" @@ -1728,6 +1741,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" +dependencies = [ + "hybrid-array", +] + [[package]] name = "blockifier" version = "0.18.0-rc.1" @@ -1746,7 +1768,7 @@ dependencies = [ "ark-secp256k1", "ark-secp256r1", "blockifier_test_utils", - "cached", + "cached 0.44.0", "cairo-lang-casm 2.17.0-rc.4", "cairo-lang-runner", "cairo-lang-starknet-classes", @@ -1755,9 +1777,9 @@ dependencies = [ "cairo-vm", "dashmap", "derive_more", - "indexmap 2.13.0", + "indexmap 2.14.0", "itertools 0.12.1", - "keccak", + "keccak 0.1.6", "log", "mockall 0.12.1", "num-bigint 0.4.6", @@ -1766,7 +1788,7 @@ dependencies = [ "num-traits", "paste", "phf", - "semver 1.0.27", + "semver 1.0.28", "serde", "serde_json", "sha2 0.10.9", @@ -1905,7 +1927,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b195e4fbc4b6862bbd065b991a34750399c119797efff72492f28a5864de8700" dependencies = [ "async-trait", - "cached_proc_macro", + "cached_proc_macro 0.17.0", "cached_proc_macro_types", "futures", "hashbrown 0.13.2", @@ -1915,6 +1937,22 @@ dependencies = [ "tokio", ] +[[package]] +name = "cached" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b6f5d101f0f6322c8646a45b7c581a673e476329040d97565815c2461dd0c4" +dependencies = [ + "ahash", + "cached_proc_macro 0.27.0", + "cached_proc_macro_types", + "hashbrown 0.16.1", + "once_cell", + "parking_lot 0.12.5", + "thiserror 2.0.18", + "web-time", +] + [[package]] name = "cached_proc_macro" version = "0.17.0" @@ -1928,6 +1966,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "cached_proc_macro" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ebcf9c75f17a17d55d11afc98e46167d4790a263f428891b8705ab2f793eca3" +dependencies = [ + "darling 0.20.11", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "cached_proc_macro_types" version = "0.1.1" @@ -2111,7 +2161,7 @@ dependencies = [ "indoc 2.0.7", "rayon", "salsa 0.26.0", - "semver 1.0.27", + "semver 1.0.28", "smol_str 0.3.6", "thiserror 2.0.18", ] @@ -2359,7 +2409,7 @@ dependencies = [ "itertools 0.14.0", "path-clean 1.0.1", "salsa 0.26.0", - "semver 1.0.27", + "semver 1.0.28", "serde", "smol_str 0.3.6", "toml 0.9.12+spec-1.1.0", @@ -2777,11 +2827,11 @@ dependencies = [ "cairo-vm", "clap", "itertools 0.14.0", - "keccak", + "keccak 0.1.6", "num-bigint 0.4.6", "num-integer", "num-traits", - "rand 0.9.2", + "rand 0.9.4", "salsa 0.26.0", "serde", "sha2 0.10.9", @@ -2882,7 +2932,7 @@ dependencies = [ "postcard", "salsa 0.26.0", "serde", - "sha3", + "sha3 0.10.9", "starknet-types-core", "toml 0.9.12+spec-1.1.0", "tracing", @@ -2905,7 +2955,7 @@ dependencies = [ "regex", "salsa 0.16.1", "serde", - "sha3", + "sha3 0.10.9", "smol_str 0.1.24", "thiserror 1.0.69", ] @@ -2927,7 +2977,7 @@ dependencies = [ "regex", "salsa 0.16.1", "serde", - "sha3", + "sha3 0.10.9", "smol_str 0.2.2", "thiserror 1.0.69", ] @@ -2950,7 +3000,7 @@ dependencies = [ "regex", "salsa 0.16.1", "serde", - "sha3", + "sha3 0.10.9", "smol_str 0.2.2", "thiserror 1.0.69", ] @@ -2975,7 +3025,7 @@ dependencies = [ "regex", "serde", "serde_json", - "sha3", + "sha3 0.10.9", "smol_str 0.3.6", "starknet-types-core", "thiserror 2.0.18", @@ -3320,7 +3370,7 @@ dependencies = [ "num-traits", "serde", "serde_json", - "sha3", + "sha3 0.10.9", "smol_str 0.1.24", "thiserror 1.0.69", ] @@ -3360,7 +3410,7 @@ dependencies = [ "once_cell", "serde", "serde_json", - "sha3", + "sha3 0.10.9", "smol_str 0.2.2", "thiserror 1.0.69", ] @@ -3401,7 +3451,7 @@ dependencies = [ "once_cell", "serde", "serde_json", - "sha3", + "sha3 0.10.9", "smol_str 0.2.2", "thiserror 1.0.69", ] @@ -3457,7 +3507,7 @@ dependencies = [ "num-traits", "serde", "serde_json", - "sha3", + "sha3 0.10.9", "smol_str 0.3.6", "starknet-types-core", "thiserror 2.0.18", @@ -3641,7 +3691,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fae6863d3e0768a860a7e60208f7bc2caae2cd5eec103eed5993e08c9351d28" dependencies = [ "hashbrown 0.16.1", - "indexmap 2.13.0", + "indexmap 2.14.0", "itertools 0.14.0", "num-bigint 0.4.6", "num-traits", @@ -3658,9 +3708,9 @@ dependencies = [ [[package]] name = "cairo-native" -version = "0.9.0-rc.5" +version = "0.9.0-rc.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9950a82462e862001b66def6d99927d7067a8816af6b11e4623d4796c04907e9" +checksum = "fe61376fbdfb4c121e4d5ca997fa6eee18b4891d8fe22226f60fe27983467339" dependencies = [ "aquamarine", "ark-ec", @@ -3680,7 +3730,7 @@ dependencies = [ "cairo-lang-utils 2.17.0-rc.4", "educe 0.5.11", "itertools 0.14.0", - "keccak", + "keccak 0.1.6", "lambdaworks-math", "lazy_static", "libc", @@ -3691,7 +3741,7 @@ dependencies = [ "num-bigint 0.4.6", "num-integer", "num-traits", - "rand 0.9.2", + "rand 0.9.4", "serde", "serde_json", "sha2 0.10.9", @@ -3713,19 +3763,19 @@ dependencies = [ "bitvec", "generic-array", "indoc 2.0.7", - "keccak", + "keccak 0.1.6", "lazy_static", "nom", "num-bigint 0.4.6", "num-integer", "num-prime", "num-traits", - "rand 0.8.5", + "rand 0.8.6", "rust_decimal", "serde", "serde_json", "sha2 0.10.9", - "sha3", + "sha3 0.10.9", "starknet-crypto", "starknet-types-core", "thiserror 2.0.18", @@ -3760,9 +3810,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.58" +version = "1.2.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e928d4b69e3077709075a938a05ffbedfa53a84c8f766efbf8220bb1ff60e1" +checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" dependencies = [ "find-msvc-tools", "jobserver", @@ -3816,7 +3866,7 @@ checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" dependencies = [ "cfg-if", "cpufeatures 0.3.0", - "rand_core 0.10.0", + "rand_core 0.10.1", ] [[package]] @@ -3879,7 +3929,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "inout", "zeroize", ] @@ -3897,9 +3947,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.6.0" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" +checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" dependencies = [ "clap_builder", "clap_derive", @@ -3920,9 +3970,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.6.0" +version = "4.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" +checksum = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -4042,8 +4092,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8599749b6667e2f0c910c1d0dff6901163ff698a52d5a39720f61b5be4b20d3" dependencies = [ "futures-core", - "prost 0.14.3", - "prost-types 0.14.3", + "prost", + "prost-types", "tonic", "tonic-prost", "tracing-core", @@ -4062,8 +4112,8 @@ dependencies = [ "hdrhistogram", "humantime", "hyper-util", - "prost 0.14.3", - "prost-types 0.14.3", + "prost", + "prost-types", "serde", "serde_json", "thread_local", @@ -4108,6 +4158,12 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const-oid" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + [[package]] name = "const-str" version = "0.4.3" @@ -4116,11 +4172,12 @@ checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" [[package]] name = "const_format" -version = "0.2.35" +version = "0.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad" +checksum = "4481a617ad9a412be3b97c5d403fef8ed023103368908b9c50af598ff467cc1e" dependencies = [ "const_format_proc_macros", + "konst", ] [[package]] @@ -4196,15 +4253,6 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" -[[package]] -name = "core2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" -dependencies = [ - "memchr", -] - [[package]] name = "cpufeatures" version = "0.2.17" @@ -4249,25 +4297,24 @@ dependencies = [ [[package]] name = "criterion" -version = "0.5.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" dependencies = [ + "alloca", "anes", "cast", "ciborium", "clap", "criterion-plot", - "is-terminal", - "itertools 0.10.5", + "itertools 0.13.0", "num-traits", - "once_cell", "oorandom", + "page_size", "plotters", "rayon", "regex", "serde", - "serde_derive", "serde_json", "tinytemplate", "walkdir", @@ -4275,12 +4322,12 @@ dependencies = [ [[package]] name = "criterion-plot" -version = "0.5.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" dependencies = [ "cast", - "itertools 0.10.5", + "itertools 0.13.0", ] [[package]] @@ -4361,6 +4408,15 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-common" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" +dependencies = [ + "hybrid-array", +] + [[package]] name = "ctr" version = "0.9.2" @@ -4591,7 +4647,7 @@ version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ - "const-oid", + "const-oid 0.9.6", "zeroize", ] @@ -4641,6 +4697,37 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "derive_builder" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" +dependencies = [ + "darling 0.20.11", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "derive_builder_macro" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" +dependencies = [ + "derive_builder_core", + "syn 2.0.117", +] + [[package]] name = "derive_more" version = "2.1.1" @@ -4676,12 +4763,6 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" - [[package]] name = "diffy" version = "0.4.2" @@ -4707,11 +4788,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "const-oid", - "crypto-common", + "const-oid 0.9.6", + "crypto-common 0.1.7", "subtle", ] +[[package]] +name = "digest" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" +dependencies = [ + "block-buffer 0.12.0", + "const-oid 0.10.2", + "crypto-common 0.2.1", +] + [[package]] name = "dirs-next" version = "2.0.0" @@ -5061,7 +5153,7 @@ checksum = "2d391ba4af7f1d93f01fcf7b2f29e2bc9348e109dfdbf4dcbdc51dfa38dab0b6" dependencies = [ "deunicode", "dummy", - "rand 0.8.5", + "rand 0.8.6", "serde_json", ] @@ -5079,9 +5171,12 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" [[package]] name = "fastrand" -version = "2.3.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +dependencies = [ + "getrandom 0.3.4", +] [[package]] name = "fastrlp" @@ -5117,7 +5212,7 @@ dependencies = [ "pathfinder-block-commitments", "pathfinder-common", "pathfinder-storage", - "primitive-types", + "primitive-types 0.14.0", "serde", "serde_json", "starknet-gateway-types", @@ -5174,7 +5269,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand 0.8.6", "rustc-hex", "static_assertions", ] @@ -5201,22 +5296,13 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -dependencies = [ - "num-traits", -] - [[package]] name = "flume" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be" dependencies = [ - "nanorand", + "fastrand", "spin", ] @@ -5515,7 +5601,7 @@ dependencies = [ "cfg-if", "libc", "r-efi 6.0.0", - "rand_core 0.10.0", + "rand_core 0.10.1", "wasip2", "wasip3", ] @@ -5551,9 +5637,9 @@ dependencies = [ [[package]] name = "good_lp" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c071f15f0c38eb6445a8100660c5806f4c597b611f24442de1b31b87d41da5c" +checksum = "cf53d2a05420f562c917615b80018647ca03766aa58376de077034627da0fb10" dependencies = [ "fnv", "microlp", @@ -5576,7 +5662,7 @@ dependencies = [ "parking_lot 0.12.5", "portable-atomic", "quanta", - "rand 0.9.2", + "rand 0.9.4", "smallvec", "spinning_top", "web-time", @@ -5593,25 +5679,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "h2" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.13.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "h2" version = "0.4.13" @@ -5623,8 +5690,8 @@ dependencies = [ "fnv", "futures-core", "futures-sink", - "http 1.4.0", - "indexmap 2.13.0", + "http", + "indexmap 2.14.0", "slab", "tokio", "tokio-util", @@ -5696,6 +5763,12 @@ dependencies = [ "serde_core", ] +[[package]] +name = "hashbrown" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" + [[package]] name = "hashlink" version = "0.9.1" @@ -5714,6 +5787,15 @@ dependencies = [ "hashbrown 0.15.5", ] +[[package]] +name = "hashlink" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea0b22561a9c04a7cb1a302c013e0259cd3b4bb619f145b32f72b8b4bcbed230" +dependencies = [ + "hashbrown 0.16.1", +] + [[package]] name = "hdrhistogram" version = "7.5.4" @@ -5729,14 +5811,14 @@ dependencies = [ [[package]] name = "headers" -version = "0.3.9" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" +checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bytes", "headers-core", - "http 0.2.12", + "http", "httpdate", "mime", "sha1", @@ -5744,11 +5826,11 @@ dependencies = [ [[package]] name = "headers-core" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" dependencies = [ - "http 0.2.12", + "http", ] [[package]] @@ -5832,7 +5914,7 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand 0.9.2", + "rand 0.9.4", "ring", "socket2 0.5.10", "thiserror 2.0.18", @@ -5855,7 +5937,7 @@ dependencies = [ "moka", "once_cell", "parking_lot 0.12.5", - "rand 0.9.2", + "rand 0.9.4", "resolv-conf", "smallvec", "thiserror 2.0.18", @@ -5890,17 +5972,6 @@ dependencies = [ "utf8-width", ] -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - [[package]] name = "http" version = "1.4.0" @@ -5911,17 +5982,6 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - [[package]] name = "http-body" version = "1.0.1" @@ -5929,7 +5989,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.4.0", + "http", ] [[package]] @@ -5940,8 +6000,8 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.4.0", - "http-body 1.0.1", + "http", + "http-body", "pin-project-lite", ] @@ -5964,27 +6024,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] -name = "hyper" -version = "0.14.32" +name = "hybrid-array" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +checksum = "3944cf8cf766b40e2a1a333ee5e9b563f854d5fa49d6a8ca2764e97c6eddb214" dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.3.27", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2 0.5.10", - "tokio", - "tower-service", - "tracing", - "want", + "typenum", ] [[package]] @@ -5997,9 +6042,9 @@ dependencies = [ "bytes", "futures-channel", "futures-core", - "h2 0.4.13", - "http 1.4.0", - "http-body 1.0.1", + "h2", + "http", + "http-body", "httparse", "httpdate", "itoa", @@ -6011,16 +6056,14 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.7" +version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ - "http 1.4.0", - "hyper 1.9.0", + "http", + "hyper", "hyper-util", "rustls", - "rustls-native-certs", - "rustls-pki-types", "tokio", "tokio-rustls", "tower-service", @@ -6032,7 +6075,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "hyper 1.9.0", + "hyper", "hyper-util", "pin-project-lite", "tokio", @@ -6049,9 +6092,9 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.4.0", - "http-body 1.0.1", - "hyper 1.9.0", + "http", + "http-body", + "hyper", "ipnet", "libc", "percent-encoding", @@ -6244,12 +6287,12 @@ dependencies = [ "attohttpc", "bytes", "futures", - "http 1.4.0", + "http", "http-body-util", - "hyper 1.9.0", + "hyper", "hyper-util", "log", - "rand 0.9.2", + "rand 0.9.4", "tokio", "url", "xmltree", @@ -6280,6 +6323,15 @@ dependencies = [ "parity-scale-codec", ] +[[package]] +name = "impl-codec" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d40b9d5e17727407e55028eafc22b2dc68781786e6d7eb8a21103f5058e3a14" +dependencies = [ + "parity-scale-codec", +] + [[package]] name = "impl-serde" version = "0.4.0" @@ -6289,6 +6341,15 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-serde" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a143eada6a1ec4aefa5049037a26a6d597bfd64f8c026d07b77133e02b7dd0b" +dependencies = [ + "serde", +] + [[package]] name = "impl-trait-for-tuples" version = "0.2.3" @@ -6338,12 +6399,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.13.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.16.1", + "hashbrown 0.17.0", "serde", "serde_core", ] @@ -6662,9 +6723,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.94" +version = "0.3.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e04e2ef80ce82e13552136fabeef8a5ed1f985a96805761cbb9a2c34e7664d9" +checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca" dependencies = [ "cfg-if", "futures-util", @@ -6718,7 +6779,17 @@ dependencies = [ ] [[package]] -name = "keccak-asm" +name = "keccak" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e24a010dd405bd7ed803e5253182815b41bf2e6a80cc3bfc066658e03a198aa" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", +] + +[[package]] +name = "keccak-asm" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa468878266ad91431012b3e5ef1bf9b170eab22883503a318d46857afa4579a" @@ -6727,6 +6798,21 @@ dependencies = [ "sha3-asm", ] +[[package]] +name = "konst" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "128133ed7824fcd73d6e7b17957c5eb7bacb885649bd8c69708b2331a10bcefb" +dependencies = [ + "konst_macro_rules", +] + +[[package]] +name = "konst_macro_rules" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4933f3f57a8e9d9da04db23fb153356ecaf00cbd14aee46279c33dc80925c37" + [[package]] name = "lalrpop" version = "0.19.12" @@ -6764,7 +6850,7 @@ dependencies = [ "pico-args", "regex", "regex-syntax 0.8.10", - "sha3", + "sha3 0.10.9", "string_cache", "term 1.2.1", "unicode-xid", @@ -6797,11 +6883,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58b1a1c1102a5a7fbbda117b79fb3a01e033459c738a3c1642269603484fd1c1" dependencies = [ "lambdaworks-math", - "rand 0.8.5", + "rand 0.8.6", "rand_chacha 0.3.1", "serde", "sha2 0.10.9", - "sha3", + "sha3 0.10.9", ] [[package]] @@ -6813,7 +6899,7 @@ dependencies = [ "getrandom 0.2.17", "num-bigint 0.4.6", "num-traits", - "rand 0.8.5", + "rand 0.8.6", "rayon", "serde", "serde_json", @@ -6836,9 +6922,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.184" +version = "0.2.185" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af" +checksum = "52ff2c0fe9bc6cb6b14a0592c2ff4fa9ceb83eea9db979b0487cd054946a2b8f" [[package]] name = "libloading" @@ -6923,7 +7009,7 @@ dependencies = [ "libp2p-swarm", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.8.6", "rand_core 0.6.4", "thiserror 2.0.18", "tracing", @@ -6958,7 +7044,7 @@ dependencies = [ "parking_lot 0.12.5", "pin-project", "quick-protobuf", - "rand 0.8.5", + "rand 0.8.6", "rw-stream-sink", "thiserror 2.0.18", "tracing", @@ -7027,7 +7113,7 @@ dependencies = [ "libp2p-swarm", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.8.6", "regex", "serde", "sha2 0.10.9", @@ -7067,7 +7153,7 @@ dependencies = [ "hkdf", "multihash", "quick-protobuf", - "rand 0.8.5", + "rand 0.8.6", "serde", "sha2 0.10.9", "thiserror 2.0.18", @@ -7093,7 +7179,7 @@ dependencies = [ "libp2p-swarm", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.8.6", "serde", "sha2 0.10.9", "smallvec", @@ -7115,7 +7201,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "rand 0.8.6", "smallvec", "socket2 0.5.10", "tokio", @@ -7157,7 +7243,7 @@ dependencies = [ "multiaddr", "multihash", "quick-protobuf", - "rand 0.8.5", + "rand 0.8.6", "snow", "static_assertions", "thiserror 2.0.18", @@ -7177,7 +7263,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "rand 0.8.6", "tracing", "web-time", ] @@ -7211,7 +7297,7 @@ dependencies = [ "libp2p-identity", "libp2p-tls", "quinn", - "rand 0.8.5", + "rand 0.8.6", "ring", "rustls", "socket2 0.5.10", @@ -7237,7 +7323,7 @@ dependencies = [ "libp2p-swarm", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.8.6", "static_assertions", "thiserror 2.0.18", "tracing", @@ -7256,7 +7342,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "rand 0.8.6", "smallvec", "tracing", ] @@ -7276,7 +7362,7 @@ dependencies = [ "libp2p-identity", "libp2p-swarm-derive", "multistream-select", - "rand 0.8.5", + "rand 0.8.6", "smallvec", "tokio", "tracing", @@ -7379,18 +7465,18 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" +checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" dependencies = [ "libc", ] [[package]] name = "libsqlite3-sys" -version = "0.35.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" +checksum = "b1f111c8c41e7c61a49cd34e44c7619462967221a6443b0ec299e0ac30cfb9b1" dependencies = [ "cc", "pkg-config", @@ -7420,7 +7506,7 @@ dependencies = [ "lazy_static", "libc", "regex-lite", - "semver 1.0.27", + "semver 1.0.28", ] [[package]] @@ -7449,9 +7535,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.16.3" +version = "0.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" +checksum = "7f66e8d5d03f609abc3a39e6f08e4164ebf1447a732906d39eb9b99b7919ef39" dependencies = [ "hashbrown 0.16.1", ] @@ -7567,7 +7653,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3589659543c04c7dc5526ec858591015b87cd8746583b51b48ef4353f99dbcda" dependencies = [ "base64 0.22.1", - "indexmap 2.13.0", + "indexmap 2.14.0", "metrics", "metrics-util", "quanta", @@ -7585,7 +7671,7 @@ dependencies = [ "hashbrown 0.16.1", "metrics", "quanta", - "rand 0.9.2", + "rand 0.9.4", "rand_xoshiro", "sketches-ddsketch", ] @@ -7655,51 +7741,50 @@ dependencies = [ [[package]] name = "mockall" -version = "0.11.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" +checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48" dependencies = [ "cfg-if", "downcast", "fragile", "lazy_static", - "mockall_derive 0.11.4", - "predicates 2.1.5", + "mockall_derive 0.12.1", + "predicates", "predicates-tree", ] [[package]] name = "mockall" -version = "0.12.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48" +checksum = "f58d964098a5f9c6b63d0798e5372fd04708193510a7af313c22e9f29b7b620b" dependencies = [ "cfg-if", "downcast", "fragile", - "lazy_static", - "mockall_derive 0.12.1", - "predicates 3.1.4", + "mockall_derive 0.14.0", + "predicates", "predicates-tree", ] [[package]] name = "mockall_derive" -version = "0.11.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" +checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2" dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.117", ] [[package]] name = "mockall_derive" -version = "0.12.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2" +checksum = "ca41ce716dda6a9be188b385aa78ee5260fc25cd3802cb2a8afdc6afbe6b6dbf" dependencies = [ "cfg-if", "proc-macro2", @@ -7724,24 +7809,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "multer" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" -dependencies = [ - "bytes", - "encoding_rs", - "futures-util", - "http 0.2.12", - "httparse", - "log", - "memchr", - "mime", - "spin", - "version_check", -] - [[package]] name = "multiaddr" version = "0.18.2" @@ -7775,11 +7842,11 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.3" +version = "0.19.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" +checksum = "89ace881e3f514092ce9efbcb8f413d0ad9763860b828981c2de51ddc666936c" dependencies = [ - "core2", + "no_std_io2", "serde", "unsigned-varint 0.8.0", ] @@ -7804,15 +7871,6 @@ dependencies = [ "unsigned-varint 0.7.2", ] -[[package]] -name = "nanorand" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" -dependencies = [ - "getrandom 0.2.17", -] - [[package]] name = "ndarray" version = "0.17.2" @@ -7843,7 +7901,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ce3636fa715e988114552619582b530481fd5ef176a1e5c1bf024077c2c9445" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "libc", "log", "netlink-packet-core", @@ -7888,12 +7946,21 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "cfg-if", "cfg_aliases", "libc", ] +[[package]] +name = "no_std_io2" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3564ce7035b1e4778d8cb6cacebb5d766b5e8fe5a75b9e441e33fb61a872c6" +dependencies = [ + "memchr", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -7916,12 +7983,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" -[[package]] -name = "normalize-line-endings" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" - [[package]] name = "nu-ansi-term" version = "0.50.3" @@ -7950,7 +8011,7 @@ checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", - "rand 0.8.5", + "rand 0.8.6", "serde", ] @@ -8002,7 +8063,7 @@ dependencies = [ "num-integer", "num-modular", "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -8155,13 +8216,13 @@ dependencies = [ "pathfinder-tagged", "pathfinder-tagged-debug-derive", "pretty_assertions_sorted", - "primitive-types", - "prost 0.13.5", - "rand 0.8.5", + "primitive-types 0.14.0", + "prost", + "rand 0.8.6", "rstest", "serde", "serde_json", - "sha3", + "sha3 0.11.0", "smallvec", "test-log", "tokio", @@ -8183,11 +8244,11 @@ dependencies = [ "pathfinder-crypto", "pathfinder-tagged", "pathfinder-tagged-debug-derive", - "primitive-types", - "prost 0.13.5", + "primitive-types 0.14.0", + "prost", "prost-build", - "prost-types 0.13.5", - "rand 0.8.5", + "prost-types", + "rand 0.8.6", "serde", "serde_json", ] @@ -8198,7 +8259,7 @@ version = "0.22.2" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.117", ] [[package]] @@ -8221,6 +8282,16 @@ dependencies = [ "void", ] +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "parity-scale-codec" version = "3.7.5" @@ -8339,12 +8410,12 @@ dependencies = [ "fake", "flate2", "futures", - "http 1.4.0", + "http", "ipnet", "jemallocator", "metrics", "metrics-exporter-prometheus", - "mockall 0.11.4", + "mockall 0.14.0", "num-bigint 0.4.6", "p2p", "p2p_proto", @@ -8369,20 +8440,20 @@ dependencies = [ "pathfinder-validator", "pathfinder-version", "pretty_assertions_sorted", - "primitive-types", + "primitive-types 0.14.0", "proptest", - "rand 0.8.5", + "rand 0.8.6", "rand_chacha 0.3.1", "rayon", - "reqwest 0.12.28", + "reqwest", "rstest", "rusqlite", "rustls", - "semver 1.0.27", + "semver 1.0.28", "serde", "serde_json", "serde_with", - "sha3", + "sha3 0.11.0", "starknet-gateway-client", "starknet-gateway-test-fixtures", "starknet-gateway-types", @@ -8414,7 +8485,7 @@ dependencies = [ "rayon", "rstest", "serde_json", - "sha3", + "sha3 0.11.0", "starknet-gateway-test-fixtures", "starknet-gateway-types", "tracing", @@ -8444,12 +8515,12 @@ dependencies = [ "fake", "pathfinder-common", "pathfinder-crypto", - "primitive-types", - "rand 0.8.5", + "primitive-types 0.14.0", + "rand 0.8.6", "serde", "serde_json", "serde_with", - "sha3", + "sha3 0.11.0", "starknet-gateway-test-fixtures", "thiserror 2.0.18", "tokio", @@ -8470,15 +8541,14 @@ dependencies = [ "pathfinder-crypto", "pathfinder-tagged", "pathfinder-tagged-debug-derive", - "primitive-types", - "rand 0.8.5", + "primitive-types 0.14.0", + "rand 0.8.6", "rstest", "serde", "serde_json", "serde_with", - "sha3", + "sha3 0.11.0", "thiserror 2.0.18", - "vergen", ] [[package]] @@ -8516,7 +8586,7 @@ dependencies = [ "informalsystems-malachitebft-signing-ed25519", "pathfinder-common", "pathfinder-crypto", - "rand 0.8.5", + "rand 0.8.6", "serde", "serde_json", "tempfile", @@ -8536,7 +8606,7 @@ dependencies = [ "pathfinder-executor", "pathfinder-serde", "pathfinder-storage", - "primitive-types", + "primitive-types 0.14.0", "thiserror 2.0.18", ] @@ -8552,7 +8622,7 @@ dependencies = [ "ff", "num-bigint 0.4.6", "pretty_assertions_sorted", - "rand 0.8.5", + "rand 0.8.6", "serde", "serde_json", ] @@ -8569,8 +8639,8 @@ dependencies = [ "hex", "pathfinder-common", "pathfinder-crypto", - "primitive-types", - "reqwest 0.12.28", + "primitive-types 0.14.0", + "reqwest", "serde_json", "tokio", "tracing", @@ -8583,7 +8653,7 @@ version = "0.22.2" dependencies = [ "anyhow", "blockifier", - "cached", + "cached 0.59.0", "cairo-lang-starknet-classes", "cairo-native", "cairo-vm", @@ -8592,7 +8662,7 @@ dependencies = [ "pathfinder-common", "pathfinder-crypto", "pathfinder-storage", - "primitive-types", + "primitive-types 0.14.0", "serde_json", "starknet-types-core", "starknet_api", @@ -8608,10 +8678,10 @@ version = "0.22.2" dependencies = [ "anyhow", "cargo_toml", - "mockall 0.11.4", + "mockall 0.14.0", "pathfinder-common", "pathfinder-ethereum", - "reqwest 0.12.28", + "reqwest", "rstest", "serde", "starknet_api", @@ -8630,7 +8700,7 @@ dependencies = [ "pathfinder-crypto", "pathfinder-storage", "pretty_assertions_sorted", - "rand 0.8.5", + "rand 0.8.6", "rayon", "thiserror 2.0.18", "tracing", @@ -8655,15 +8725,15 @@ dependencies = [ "base64 0.22.1", "bitvec", "bytes", - "cached", + "cached 0.59.0", "dashmap", "fake", "flate2", "futures", "hex", - "http 1.4.0", - "http-body 1.0.1", - "hyper 1.9.0", + "http", + "http-body", + "hyper", "metrics", "mime", "pathfinder-class-hash", @@ -8679,9 +8749,9 @@ dependencies = [ "pathfinder-storage", "pathfinder-version", "pretty_assertions_sorted", - "primitive-types", + "primitive-types 0.14.0", "rayon", - "reqwest 0.12.28", + "reqwest", "rstest", "serde", "serde_json", @@ -8695,9 +8765,9 @@ dependencies = [ "test-log", "thiserror 2.0.18", "tokio", - "tokio-tungstenite 0.27.0", - "tower 0.4.13", - "tower-http 0.5.2", + "tokio-tungstenite 0.29.0", + "tower", + "tower-http", "tracing", "tracing-subscriber", "util", @@ -8714,7 +8784,7 @@ dependencies = [ "pathfinder-common", "pathfinder-crypto", "pretty_assertions_sorted", - "primitive-types", + "primitive-types 0.14.0", "serde", "serde_json", "serde_with", @@ -8728,7 +8798,7 @@ dependencies = [ "base64 0.22.1", "bincode", "bitvec", - "cached", + "cached 0.59.0", "const_format", "fake", "flume", @@ -8743,17 +8813,17 @@ dependencies = [ "pathfinder-ethereum", "pathfinder-serde", "pretty_assertions_sorted", - "primitive-types", + "primitive-types 0.14.0", "r2d2", "r2d2_sqlite", - "rand 0.8.5", + "rand 0.8.6", "rayon", "rstest", "rusqlite", "serde", "serde_json", "serde_with", - "sha3", + "sha3 0.11.0", "siphasher", "tempfile", "test-log", @@ -8772,7 +8842,7 @@ dependencies = [ "fake", "pathfinder-tagged-debug-derive", "pretty_assertions_sorted", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -8781,7 +8851,7 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.117", ] [[package]] @@ -8814,7 +8884,7 @@ dependencies = [ name = "pathfinder-version" version = "0.22.2" dependencies = [ - "vergen", + "vergen-gitcl", ] [[package]] @@ -8850,7 +8920,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset 0.4.2", - "indexmap 2.13.0", + "indexmap 2.14.0", ] [[package]] @@ -8860,7 +8930,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset 0.5.7", - "indexmap 2.13.0", + "indexmap 2.14.0", +] + +[[package]] +name = "petgraph" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" +dependencies = [ + "fixedbitset 0.5.7", + "hashbrown 0.15.5", + "indexmap 2.14.0", ] [[package]] @@ -8890,7 +8971,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ "phf_shared", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -8965,9 +9046,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.32" +version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" [[package]] name = "plotters" @@ -9042,9 +9123,9 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "portable-atomic-util" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "091397be61a01d4be58e7841595bd4bfedb15f1cd54977d79b8271e94ed799a3" +checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" dependencies = [ "portable-atomic", ] @@ -9092,20 +9173,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" -[[package]] -name = "predicates" -version = "2.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" -dependencies = [ - "difflib", - "float-cmp", - "itertools 0.10.5", - "normalize-line-endings", - "predicates-core", - "regex", -] - [[package]] name = "predicates" version = "3.1.4" @@ -9169,11 +9236,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", - "impl-codec", - "impl-serde", + "impl-codec 0.6.0", + "impl-serde 0.4.0", "uint 0.9.5", ] +[[package]] +name = "primitive-types" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "721a1da530b5a2633218dc9f75713394c983c352be88d2d7c9ee85e2c4c21794" +dependencies = [ + "fixed-hash", + "impl-codec 0.7.1", + "impl-serde 0.5.0", + "uint 0.10.0", +] + [[package]] name = "proc-macro-crate" version = "3.5.0" @@ -9245,9 +9324,9 @@ checksum = "4b45fcc2344c680f5025fe57779faef368840d0bd1f42f216291f0dc4ace4744" dependencies = [ "bit-set 0.8.0", "bit-vec 0.8.0", - "bitflags 2.11.0", + "bitflags 2.11.1", "num-traits", - "rand 0.9.2", + "rand 0.9.4", "rand_chacha 0.9.0", "rand_xorshift", "regex-syntax 0.8.10", @@ -9256,16 +9335,6 @@ dependencies = [ "unarray", ] -[[package]] -name = "prost" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" -dependencies = [ - "bytes", - "prost-derive 0.13.5", -] - [[package]] name = "prost" version = "0.14.3" @@ -9273,42 +9342,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" dependencies = [ "bytes", - "prost-derive 0.14.3", + "prost-derive", ] [[package]] name = "prost-build" -version = "0.13.5" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" +checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ "heck 0.5.0", "itertools 0.14.0", "log", "multimap", - "once_cell", - "petgraph 0.7.1", + "petgraph 0.8.3", "prettyplease", - "prost 0.13.5", - "prost-types 0.13.5", + "prost", + "prost-types", "regex", "syn 2.0.117", "tempfile", ] -[[package]] -name = "prost-derive" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" -dependencies = [ - "anyhow", - "itertools 0.14.0", - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "prost-derive" version = "0.14.3" @@ -9322,22 +9377,13 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "prost-types" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" -dependencies = [ - "prost 0.13.5", -] - [[package]] name = "prost-types" version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" dependencies = [ - "prost 0.14.3", + "prost", ] [[package]] @@ -9414,7 +9460,7 @@ dependencies = [ "bytes", "getrandom 0.3.4", "lru-slab", - "rand 0.9.2", + "rand 0.9.4", "ring", "rustc-hash 2.1.2", "rustls", @@ -9474,9 +9520,9 @@ dependencies = [ [[package]] name = "r2d2_sqlite" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63417e83dc891797eea3ad379f52a5986da4bca0d6ef28baf4d14034dd111b0c" +checksum = "5576df16239e4e422c4835c8ed00be806d4491855c7847dba60b7aa8408b469b" dependencies = [ "r2d2", "rusqlite", @@ -9491,9 +9537,9 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rand" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -9503,9 +9549,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.5", @@ -9514,13 +9560,13 @@ dependencies = [ [[package]] name = "rand" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" dependencies = [ "chacha20 0.10.0", "getrandom 0.4.2", - "rand_core 0.10.0", + "rand_core 0.10.1", ] [[package]] @@ -9564,9 +9610,9 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" [[package]] name = "rand_xorshift" @@ -9601,7 +9647,7 @@ version = "11.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", ] [[package]] @@ -9612,9 +9658,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d" dependencies = [ "either", "rayon-core", @@ -9658,7 +9704,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", ] [[package]] @@ -9739,47 +9785,6 @@ version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" -[[package]] -name = "reqwest" -version = "0.12.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" -dependencies = [ - "base64 0.22.1", - "bytes", - "encoding_rs", - "futures-core", - "h2 0.4.13", - "http 1.4.0", - "http-body 1.0.1", - "http-body-util", - "hyper 1.9.0", - "hyper-rustls", - "hyper-util", - "js-sys", - "log", - "mime", - "percent-encoding", - "pin-project-lite", - "quinn", - "rustls", - "rustls-native-certs", - "rustls-pki-types", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tokio-rustls", - "tower 0.5.3", - "tower-http 0.6.8", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "reqwest" version = "0.13.2" @@ -9788,15 +9793,18 @@ checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" dependencies = [ "base64 0.22.1", "bytes", + "encoding_rs", "futures-core", - "http 1.4.0", - "http-body 1.0.1", + "h2", + "http", + "http-body", "http-body-util", - "hyper 1.9.0", + "hyper", "hyper-rustls", "hyper-util", "js-sys", "log", + "mime", "percent-encoding", "pin-project-lite", "quinn", @@ -9808,8 +9816,8 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-rustls", - "tower 0.5.3", - "tower-http 0.6.8", + "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", @@ -9866,26 +9874,36 @@ dependencies = [ "rustc-hex", ] +[[package]] +name = "rsqlite-vfs" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a1f2315036ef6b1fbacd1972e8ee7688030b0a2121edfc2a6550febd41574d" +dependencies = [ + "hashbrown 0.16.1", + "thiserror 2.0.18", +] + [[package]] name = "rstest" -version = "0.18.2" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199" +checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" dependencies = [ - "futures", "futures-timer", + "futures-util", "rstest_macros", - "rustc_version 0.4.1", ] [[package]] name = "rstest_macros" -version = "0.18.2" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605" +checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" dependencies = [ "cfg-if", "glob", + "proc-macro-crate", "proc-macro2", "quote", "regex", @@ -9930,10 +9948,10 @@ dependencies = [ "num-integer", "num-traits", "parity-scale-codec", - "primitive-types", + "primitive-types 0.12.2", "proptest", - "rand 0.8.5", - "rand 0.9.2", + "rand 0.8.6", + "rand 0.9.4", "rlp", "ruint-macro", "serde_core", @@ -9949,16 +9967,17 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rusqlite" -version = "0.37.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" +checksum = "a0d2b0146dd9661bf67bb107c0bb2a55064d556eeb3fc314151b957f313bcd4e" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "fallible-iterator", "fallible-streaming-iterator", - "hashlink 0.10.0", + "hashlink 0.11.0", "libsqlite3-sys", "smallvec", + "sqlite-wasm-rs", ] [[package]] @@ -10004,7 +10023,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.27", + "semver 1.0.28", ] [[package]] @@ -10022,7 +10041,7 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "errno", "libc", "linux-raw-sys", @@ -10031,9 +10050,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.37" +version = "0.23.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" +checksum = "69f9466fb2c14ea04357e91413efb882e2a6d4a406e625449bc0a5d360d53a21" dependencies = [ "aws-lc-rs", "log", @@ -10096,9 +10115,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.10" +version = "0.103.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" +checksum = "8279bb85272c9f10811ae6a6c547ff594d6a7f3c6c6b02ee9726d1d0dcfcdd06" dependencies = [ "aws-lc-rs", "ring", @@ -10169,7 +10188,7 @@ dependencies = [ "crossbeam-utils", "hashbrown 0.15.5", "hashlink 0.10.0", - "indexmap 2.13.0", + "indexmap 2.14.0", "intrusive-collections", "inventory", "parking_lot 0.12.5", @@ -10311,7 +10330,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ "bitcoin_hashes", - "rand 0.8.5", + "rand 0.8.6", "secp256k1-sys", "serde", ] @@ -10331,7 +10350,7 @@ version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -10359,9 +10378,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" dependencies = [ "serde", "serde_core", @@ -10489,7 +10508,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.13.0", + "indexmap 2.14.0", "schemars 0.9.0", "schemars 1.2.1", "serde_core", @@ -10557,12 +10576,22 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" dependencies = [ "digest 0.10.7", - "keccak", + "keccak 0.1.6", +] + +[[package]] +name = "sha3" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be176f1a57ce4e3d31c1a166222d9768de5954f811601fb7ca06fc8203905ce1" +dependencies = [ + "digest 0.11.2", + "keccak 0.2.0", ] [[package]] @@ -10758,6 +10787,18 @@ dependencies = [ "smallvec", ] +[[package]] +name = "sqlite-wasm-rs" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b2c760607300407ddeaee518acf28c795661b7108c75421303dbefb237d3a36" +dependencies = [ + "cc", + "js-sys", + "rsqlite-vfs", + "wasm-bindgen", +] + [[package]] name = "stable_deref_trait" version = "1.2.1" @@ -10775,13 +10816,13 @@ dependencies = [ "flate2", "foldhash 0.1.5", "hex", - "indexmap 2.13.0", + "indexmap 2.14.0", "num-traits", "serde", "serde_json", "serde_json_pythonic", "serde_with", - "sha3", + "sha3 0.10.9", "starknet-core-derive", "starknet-crypto", "starknet-types-core", @@ -10839,14 +10880,14 @@ dependencies = [ "flate2", "futures", "metrics", - "mockall 0.11.4", + "mockall 0.14.0", "pathfinder-common", "pathfinder-crypto", "pathfinder-retry", "pathfinder-serde", "pathfinder-version", "pretty_assertions_sorted", - "reqwest 0.12.28", + "reqwest", "serde", "serde_json", "starknet-gateway-test-fixtures", @@ -10877,13 +10918,13 @@ dependencies = [ "pathfinder-crypto", "pathfinder-serde", "pretty_assertions_sorted", - "primitive-types", - "rand 0.8.5", - "reqwest 0.12.28", + "primitive-types 0.14.0", + "rand 0.8.6", + "reqwest", "serde", "serde_json", "serde_with", - "sha3", + "sha3 0.11.0", "starknet-gateway-test-fixtures", "thiserror 2.0.18", "tokio", @@ -10903,7 +10944,7 @@ dependencies = [ "num-bigint 0.4.6", "num-integer", "num-traits", - "rand 0.9.2", + "rand 0.9.4", "serde", "zeroize", ] @@ -10918,7 +10959,7 @@ dependencies = [ "apollo_sizeof", "base64 0.13.1", "bitvec", - "cached", + "cached 0.44.0", "cairo-lang-runner", "cairo-lang-starknet-classes", "cairo-lang-utils 2.17.0-rc.4", @@ -10926,18 +10967,18 @@ dependencies = [ "expect-test", "flate2", "hex", - "indexmap 2.13.0", + "indexmap 2.14.0", "itertools 0.12.1", "json-patch", "num-bigint 0.4.6", "num-traits", "pretty_assertions", - "primitive-types", - "rand 0.8.5", - "semver 1.0.27", + "primitive-types 0.12.2", + "rand 0.8.6", + "semver 1.0.28", "serde", "serde_json", - "sha3", + "sha3 0.10.9", "starknet-core", "starknet-crypto", "starknet-types-core", @@ -11070,7 +11111,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -11169,9 +11210,9 @@ checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" [[package]] name = "test-log" -version = "0.2.19" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d53ac171c92a39e4769491c4b4dde7022c60042254b5fc044ae409d34a24d4" +checksum = "2f46bf474f0a4afebf92f076d54fd5e63423d9438b8c278a3d2ccb0f47f7cdb3" dependencies = [ "env_logger 0.11.10", "test-log-macros", @@ -11179,21 +11220,31 @@ dependencies = [ ] [[package]] -name = "test-log-macros" -version = "0.2.19" +name = "test-log-core" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be35209fd0781c5401458ab66e4f98accf63553e8fae7425503e92fdd319783b" +checksum = "37d4d41320b48bc4a211a9021678fcc0c99569b594ea31c93735b8e517102b4c" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] +[[package]] +name = "test-log-macros" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9beb9249a81e430dffd42400a49019bcf548444f1968ff23080a625de0d4d320" +dependencies = [ + "syn 2.0.117", + "test-log-core", +] + [[package]] name = "thin-vec" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "144f754d318415ac792f9d69fc87abbbfc043ce2ef041c60f16ad828f638717d" +checksum = "259cdf8ed4e4aca6f1e9d011e10bd53f524a2d0637d7b28450f6c64ac298c4c6" [[package]] name = "thiserror" @@ -11332,9 +11383,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.50.0" +version = "1.52.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" +checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" dependencies = [ "bytes", "libc", @@ -11350,9 +11401,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.6.1" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" +checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", @@ -11361,12 +11412,12 @@ dependencies = [ [[package]] name = "tokio-retry" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +checksum = "40f644c762e9d396831ae2f8935c954b0d758c4532e924bead0f666d0c1c8640" dependencies = [ - "pin-project", - "rand 0.8.5", + "pin-project-lite", + "rand 0.10.1", "tokio", ] @@ -11394,42 +11445,30 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" -dependencies = [ - "futures-util", - "log", - "tokio", - "tungstenite 0.21.0", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489a59b6730eda1b0171fcfda8b121f4bee2b35cba8645ca35c5f7ba3eb736c1" +checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" dependencies = [ "futures-util", "log", + "rustls", + "rustls-pki-types", "tokio", - "tungstenite 0.27.0", + "tokio-rustls", + "tungstenite 0.28.0", + "webpki-roots 0.26.11", ] [[package]] name = "tokio-tungstenite" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" +checksum = "8f72a05e828585856dacd553fba484c242c46e391fb0e58917c942ee9202915c" dependencies = [ "futures-util", "log", - "rustls", - "rustls-pki-types", "tokio", - "tokio-rustls", - "tungstenite 0.28.0", - "webpki-roots 0.26.11", + "tungstenite 0.29.0", ] [[package]] @@ -11461,7 +11500,7 @@ version = "0.9.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "serde_core", "serde_spanned", "toml_datetime 0.7.5+spec-1.1.0", @@ -11490,11 +11529,11 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.25.10+spec-1.1.0" +version = "0.25.11+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82418ca169e235e6c399a84e395ab6debeb3bc90edc959bf0f48647c6a32d1b" +checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" dependencies = [ - "indexmap 2.13.0", + "indexmap 2.14.0", "toml_datetime 1.1.1+spec-1.1.0", "toml_parser", "winnow 1.0.1", @@ -11525,11 +11564,11 @@ dependencies = [ "axum", "base64 0.22.1", "bytes", - "h2 0.4.13", - "http 1.4.0", - "http-body 1.0.1", + "h2", + "http", + "http-body", "http-body-util", - "hyper 1.9.0", + "hyper", "hyper-timeout", "hyper-util", "percent-encoding", @@ -11538,7 +11577,7 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-stream", - "tower 0.5.3", + "tower", "tower-layer", "tower-service", "tracing", @@ -11551,27 +11590,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" dependencies = [ "bytes", - "prost 0.14.3", + "prost", "tonic", ] -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tower" version = "0.5.3" @@ -11580,7 +11602,7 @@ checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", - "indexmap 2.13.0", + "indexmap 2.14.0", "pin-project-lite", "slab", "sync_wrapper", @@ -11591,25 +11613,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "tower-http" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" -dependencies = [ - "bitflags 2.11.0", - "bytes", - "http 1.4.0", - "http-body 1.0.1", - "http-body-util", - "pin-project-lite", - "tower 0.4.13", - "tower-layer", - "tower-service", - "tracing", - "uuid", -] - [[package]] name = "tower-http" version = "0.6.8" @@ -11617,20 +11620,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "async-compression", - "bitflags 2.11.0", + "bitflags 2.11.1", "bytes", "futures-core", "futures-util", - "http 1.4.0", - "http-body 1.0.1", + "http", + "http-body", "http-body-util", "iri-string", "pin-project-lite", "tokio", "tokio-util", - "tower 0.5.3", + "tower", "tower-layer", "tower-service", + "tracing", + "uuid", ] [[package]] @@ -11729,35 +11734,18 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 1.4.0", - "httparse", - "log", - "rand 0.8.5", - "sha1", - "thiserror 1.0.69", - "url", - "utf-8", -] - -[[package]] -name = "tungstenite" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadc29d668c91fcc564941132e17b28a7ceb2f3ebf0b9dae3e03fd7a6748eb0d" +checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" dependencies = [ "bytes", "data-encoding", - "http 1.4.0", + "http", "httparse", "log", - "rand 0.9.2", + "rand 0.9.4", + "rustls", + "rustls-pki-types", "sha1", "thiserror 2.0.18", "utf-8", @@ -11765,21 +11753,18 @@ dependencies = [ [[package]] name = "tungstenite" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" +checksum = "6c01152af293afb9c7c2a57e4b559c5620b421f6d133261c60dd2d0cdb38e6b8" dependencies = [ "bytes", "data-encoding", - "http 1.4.0", + "http", "httparse", "log", - "rand 0.9.2", - "rustls", - "rustls-pki-types", + "rand 0.9.4", "sha1", "thiserror 2.0.18", - "utf-8", ] [[package]] @@ -11796,9 +11781,9 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" [[package]] name = "typetag" @@ -11920,7 +11905,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "subtle", ] @@ -12002,13 +11987,13 @@ dependencies = [ [[package]] name = "uuid" -version = "1.23.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9" +checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" dependencies = [ "getrandom 0.4.2", "js-sys", - "rand 0.10.0", + "rand 0.10.1", "wasm-bindgen", ] @@ -12065,14 +12050,39 @@ dependencies = [ [[package]] name = "vergen" -version = "8.3.2" +version = "9.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" +checksum = "b849a1f6d8639e8de261e81ee0fc881e3e3620db1af9f2e0da015d4382ceaf75" dependencies = [ "anyhow", - "cfg-if", + "derive_builder", + "rustversion", + "vergen-lib", +] + +[[package]] +name = "vergen-gitcl" +version = "9.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ff3b5300a085d6bcd8fc96a507f706a28ae3814693236c9b409db71a1d15b9" +dependencies = [ + "anyhow", + "derive_builder", "rustversion", "time", + "vergen", + "vergen-lib", +] + +[[package]] +name = "vergen-lib" +version = "9.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b34a29ba7e9c59e62f229ae1932fb1b8fb8a6fdcc99215a641913f5f5a59a569" +dependencies = [ + "anyhow", + "derive_builder", + "rustversion", ] [[package]] @@ -12123,21 +12133,22 @@ dependencies = [ [[package]] name = "warp" -version = "0.3.7" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c" +checksum = "51d06d9202adc1f15d709c4f4a2069be5428aa912cc025d6f268ac441ab066b0" dependencies = [ "async-compression", "bytes", - "futures-channel", "futures-util", "headers", - "http 0.2.12", - "hyper 0.14.32", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", "log", "mime", "mime_guess", - "multer", "percent-encoding", "pin-project", "scoped-tls", @@ -12145,7 +12156,6 @@ dependencies = [ "serde_json", "serde_urlencoded", "tokio", - "tokio-tungstenite 0.21.0", "tokio-util", "tower-service", "tracing", @@ -12159,11 +12169,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.2+wasi-0.2.9" +version = "1.0.3+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.57.1", ] [[package]] @@ -12172,14 +12182,14 @@ version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.51.0", ] [[package]] name = "wasm-bindgen" -version = "0.2.117" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0551fc1bb415591e3372d0bc4780db7e587d84e2a7e79da121051c5c4b89d0b0" +checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89" dependencies = [ "cfg-if", "once_cell", @@ -12190,9 +12200,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.67" +version = "0.4.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03623de6905b7206edd0a75f69f747f134b7f0a2323392d664448bf2d3c5d87e" +checksum = "f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8" dependencies = [ "js-sys", "wasm-bindgen", @@ -12200,9 +12210,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.117" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fbdf9a35adf44786aecd5ff89b4563a90325f9da0923236f6104e603c7e86be" +checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -12210,9 +12220,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.117" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca9693ef2bab6d4e6707234500350d8dad079eb508dca05530c85dc3a529ff2" +checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904" dependencies = [ "bumpalo", "proc-macro2", @@ -12223,9 +12233,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.117" +version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39129a682a6d2d841b6c429d0c51e5cb0ed1a03829d8b3d1e69a011e62cb3d3b" +checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129" dependencies = [ "unicode-ident", ] @@ -12247,7 +12257,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", - "indexmap 2.13.0", + "indexmap 2.14.0", "wasm-encoder", "wasmparser", ] @@ -12258,10 +12268,10 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.11.1", "hashbrown 0.15.5", - "indexmap 2.13.0", - "semver 1.0.27", + "indexmap 2.14.0", + "semver 1.0.28", ] [[package]] @@ -12280,9 +12290,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.94" +version = "0.3.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd70027e39b12f0849461e08ffc50b9cd7688d942c1c8e3c7b22273236b4dd0a" +checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d" dependencies = [ "js-sys", "wasm-bindgen", @@ -12300,9 +12310,9 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" +checksum = "f31141ce3fc3e300ae89b78c0dd67f9708061d1d2eda54b8209346fd6be9a92c" dependencies = [ "rustls-pki-types", ] @@ -12313,14 +12323,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.6", + "webpki-roots 1.0.7", ] [[package]] name = "webpki-roots" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" +checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" dependencies = [ "rustls-pki-types", ] @@ -12742,9 +12752,9 @@ dependencies = [ "base64 0.22.1", "deadpool", "futures", - "http 1.4.0", + "http", "http-body-util", - "hyper 1.9.0", + "hyper", "hyper-util", "log", "once_cell", @@ -12764,6 +12774,12 @@ dependencies = [ "wit-bindgen-rust-macro", ] +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + [[package]] name = "wit-bindgen-core" version = "0.51.0" @@ -12783,7 +12799,7 @@ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck 0.5.0", - "indexmap 2.13.0", + "indexmap 2.14.0", "prettyplease", "syn 2.0.117", "wasm-metadata", @@ -12813,8 +12829,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.11.0", - "indexmap 2.13.0", + "bitflags 2.11.1", + "indexmap 2.14.0", "log", "serde", "serde_derive", @@ -12833,9 +12849,9 @@ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", - "indexmap 2.13.0", + "indexmap 2.14.0", "log", - "semver 1.0.27", + "semver 1.0.28", "serde", "serde_derive", "serde_json", @@ -12845,9 +12861,9 @@ dependencies = [ [[package]] name = "writeable" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" +checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] name = "ws_stream_wasm" @@ -12953,7 +12969,7 @@ dependencies = [ "nohash-hasher", "parking_lot 0.12.5", "pin-project", - "rand 0.8.5", + "rand 0.8.6", "static_assertions", ] @@ -12968,7 +12984,7 @@ dependencies = [ "nohash-hasher", "parking_lot 0.12.5", "pin-project", - "rand 0.9.2", + "rand 0.9.4", "static_assertions", "web-time", ] diff --git a/Cargo.toml b/Cargo.toml index 3a3cfcaa9f..a563edbb4b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,16 +47,17 @@ anyhow = "1.0.102" ark-ff = "0.5.0" assert_matches = "1.5.0" async-trait = "0.1.89" -axum = "0.8.8" +axum = "0.8.9" base64 = "0.22.1" -bincode = "2.0.1" +# TODO: bincode development stopped, we should probably replace it. 3.0.0 is just a compile_error! in lib.rs +bincode = "=2.0.1" bitvec = "1.0.1" blockifier = { version = "0.18.0-rc.1", features = [ "node_api", "reexecution", ] } bytes = "1.11.1" -cached = "0.44.0" +cached = "0.59.0" # This one needs to match the version used by blockifier cairo-lang-starknet-classes = "=2.17.0-rc.4" # This one needs to match the version used by blockifier @@ -67,12 +68,13 @@ casm-compiler-v1_0_0-alpha6 = { package = "cairo-lang-starknet", git = "https:// casm-compiler-v1_0_0-rc0 = { package = "cairo-lang-starknet", git = "https://github.com/starkware-libs/cairo", tag = "v1.0.0-rc0" } casm-compiler-v1_1_1 = { package = "cairo-lang-starknet", version = "=1.1.1" } casm-compiler-v2 = { package = "cairo-lang-starknet", version = "=2.17.0-rc.4" } -clap = "4.6.0" +clap = "4.6.1" console-subscriber = "0.5" const-decoder = "0.4.0" -const_format = "0.2.35" -criterion = "0.5.1" +const_format = "0.2.36" +criterion = "0.8.2" dashmap = "6.1" +# upgrade once `rand` is upgraded fake = "2.10.0" ff = "0.13" flate2 = "1.1.9" @@ -82,10 +84,10 @@ governor = "0.10.4" hex = "0.4.3" http = "1.4.0" http-body = "1.0.1" -hyper = "1.8.1" +hyper = "1.9.0" ipnet = "2.12.0" jemallocator = "0.5.4" -libc = "0.2.183" +libc = "0.2.185" libp2p = { version = "0.56.0", default-features = false } libp2p-identity = "0.2.13" libp2p-plaintext = "0.43.0" @@ -93,64 +95,64 @@ libp2p-swarm-test = "0.6.0" metrics = "0.24.3" metrics-exporter-prometheus = { version = "0.18.1", default-features = false } mime = "0.3" -mockall = "0.11.4" +mockall = "0.14.0" num-bigint = "0.4.6" num-traits = "0.2.19" paste = "1.0.15" pretty_assertions_sorted = "1.2.3" -primitive-types = "0.12.2" +primitive-types = "0.14.0" proc-macro2 = "1.0.106" proptest = "1.11.0" -prost = "0.13.5" -prost-build = "0.13.5" -prost-types = "0.13.5" +prost = "0.14.3" +prost-build = "0.14.3" +prost-types = "0.14.3" quote = "1.0" r2d2 = "0.8.10" -r2d2_sqlite = "0.31.0" +r2d2_sqlite = "0.33.0" +# upgrade once supported by `primitive-types` rand = "0.8.5" rand_chacha = "0.3.1" -rayon = "1.11.0" -reqwest = { version = "0.12.28", default-features = false, features = [ +rayon = "1.12.0" +reqwest = { version = "0.13.2", default-features = false, features = [ "http2", - "rustls-tls-native-roots", "charset", "gzip", "deflate", ] } -rstest = "0.18.2" -rusqlite = "0.37.0" -rustls = "0.23.37" -semver = "1.0.27" +rstest = "0.26.1" +rusqlite = "0.39.0" +rustls = "0.23.38" +semver = "1.0.28" serde = "1.0.228" serde_json = "1.0.149" serde_with = "3.18.0" -sha2 = "0.10.9" -sha3 = "0.10" +sha2 = "0.11.0" +sha3 = "0.11" siphasher = "1.0.2" smallvec = "1.15.1" # This one needs to match the version used by blockifier starknet-types-core = "=0.2.4" # This one needs to match the version used by blockifier starknet_api = { version = "0.18.0-rc.1" } -syn = "1.0" +syn = "2.0" tempfile = "3.27" -test-log = { version = "0.2.19", features = ["trace"] } +test-log = { version = "0.2.20", features = ["trace"] } thiserror = "2.0.18" time = "0.3.47" -tokio = "1.50" -tokio-retry = "0.3.0" +tokio = "1.52" +tokio-retry = "0.3.1" tokio-stream = "0.1.18" -tokio-tungstenite = "0.27" +tokio-tungstenite = "0.29" tokio-util = { version = "0.7.18", features = ["rt"] } -tower = { version = "0.4.13", default-features = false } -tower-http = { version = "0.5.2", default-features = false } +tower = { version = "0.5.3", default-features = false } +tower-http = { version = "0.6.8", default-features = false } tracing = "0.1.44" tracing-subscriber = { version = "0.3.23", features = ["json"] } unsigned-varint = "0.8.0" url = "2.5.8" -vergen = { version = "8", default-features = false } +vergen-gitcl = { version = "9", default-features = false } void = "1.0.2" -warp = "0.3.7" +warp = { version = "0.4.2", features = ["server"] } wiremock = "0.6.5" zeroize = "1.8.2" zstd = "0.13.3" diff --git a/crates/common/Cargo.toml b/crates/common/Cargo.toml index b852b267d5..e38bde4088 100644 --- a/crates/common/Cargo.toml +++ b/crates/common/Cargo.toml @@ -39,8 +39,5 @@ serde_with = { workspace = true } sha3 = { workspace = true } thiserror = { workspace = true } -[build-dependencies] -vergen = { workspace = true, features = ["git", "gitcl"] } - [dev-dependencies] rstest = { workspace = true } diff --git a/crates/common/src/lib.rs b/crates/common/src/lib.rs index a2874ce400..53bc903790 100644 --- a/crates/common/src/lib.rs +++ b/crates/common/src/lib.rs @@ -159,8 +159,7 @@ impl StorageAddress { .unwrap(); let value = value.rem(max_address); - let mut b = [0u8; 32]; - value.to_big_endian(&mut b); + let b = value.to_big_endian(); Self(Felt::from_be_slice(&b).expect("Truncated value should fit into a felt")) } } diff --git a/crates/common/src/transaction.rs b/crates/common/src/transaction.rs index 387943188c..ba9d4eb58b 100644 --- a/crates/common/src/transaction.rs +++ b/crates/common/src/transaction.rs @@ -1083,7 +1083,6 @@ mod tests { }); #[rstest::rstest] - #[test] #[case::declare_v0(declare_v0(), GOERLI_TESTNET)] #[case::declare_v1(declare_v1(), ChainId::SEPOLIA_TESTNET)] #[case::declare_v2(declare_v2(), ChainId::SEPOLIA_TESTNET)] diff --git a/crates/crypto/benches/bench.rs b/crates/crypto/benches/bench.rs index 20081050ba..ccc9a2b53e 100644 --- a/crates/crypto/benches/bench.rs +++ b/crates/crypto/benches/bench.rs @@ -1,7 +1,9 @@ #![allow(unexpected_cfgs)] +use std::hint::black_box; + use ::pathfinder_crypto::hash::poseidon::poseidon_hash; -use criterion::{black_box, criterion_group, criterion_main, Criterion}; +use criterion::{criterion_group, criterion_main, Criterion}; use pathfinder_crypto::algebra::curve::{ProjectivePoint, CURVE_G}; use pathfinder_crypto::algebra::field::{CurveOrderMontFelt, Felt, MontFelt}; use pathfinder_crypto::hash::pedersen::pedersen_hash; diff --git a/crates/ethereum/Cargo.toml b/crates/ethereum/Cargo.toml index 11c01834b4..078140966c 100644 --- a/crates/ethereum/Cargo.toml +++ b/crates/ethereum/Cargo.toml @@ -7,7 +7,7 @@ license = { workspace = true } rust-version = { workspace = true } [dependencies] -alloy = { version = "1.8", default-features = false, features = ["contract", "eips", "rpc-types", "provider-ws", "reqwest-rustls-tls"] } +alloy = { version = "2.0", default-features = false, features = ["contract", "eips", "rpc-types", "provider-ws", "reqwest-rustls-tls"] } anyhow = { workspace = true } async-trait = { workspace = true } const-decoder = { workspace = true } diff --git a/crates/feeder-gateway/src/main.rs b/crates/feeder-gateway/src/main.rs index 26f19f9845..1768cfe2d2 100644 --- a/crates/feeder-gateway/src/main.rs +++ b/crates/feeder-gateway/src/main.rs @@ -22,6 +22,7 @@ use std::collections::HashMap; use std::convert::Infallible; use std::future::Future; +use std::net::SocketAddr; use std::num::NonZeroU32; use std::path::PathBuf; use std::sync::atomic::{AtomicBool, Ordering}; @@ -572,7 +573,8 @@ async fn serve(cli: Cli, storage_rx: Receiver>) -> anyh ) .with(warp::filters::trace::request()); - let (socket_addr, server_fut) = warp::serve(handler).bind_ephemeral(([127, 0, 0, 1], cli.port)); + let socket_addr = SocketAddr::from(([127, 0, 0, 1], cli.port)); + let server = warp::serve(handler).bind(socket_addr).await; let span = tracing::info_span!("Server::run", ?socket_addr); tracing::info!(parent: &span, "listening on http://{}", socket_addr); @@ -583,7 +585,7 @@ async fn serve(cli: Cli, storage_rx: Receiver>) -> anyh debug_create_port_marker_file("feeder_gateway", socket_addr.port(), data_directory); - server_fut.instrument(span).await; + server.run().instrument(span).await; Ok(()) } diff --git a/crates/gateway-client/src/builder.rs b/crates/gateway-client/src/builder.rs index 231fec98af..e7011cb4f7 100644 --- a/crates/gateway-client/src/builder.rs +++ b/crates/gateway-client/src/builder.rs @@ -555,9 +555,10 @@ mod tests { use warp::Filter; use crate::builder::{retry0, retry_condition}; + use crate::tests::bind_ephemeral; // A test helper - fn status_queue_server( + async fn status_queue_server( statuses: VecDeque<(StatusCode, &'static str)>, ) -> (JoinHandle<()>, SocketAddr) { use std::cell::RefCell; @@ -572,19 +573,21 @@ mod tests { } }); - let (addr, run_srv) = warp::serve(any).bind_ephemeral(([127, 0, 0, 1], 0)); - let server_handle = tokio::spawn(run_srv); + let (addr, listener) = bind_ephemeral().await; + let server = warp::serve(any).incoming(listener); + let server_handle = tokio::spawn(server.run()); (server_handle, addr) } // A test helper - fn slow_server() -> (tokio::task::JoinHandle<()>, std::net::SocketAddr) { + async fn slow_server() -> (tokio::task::JoinHandle<()>, std::net::SocketAddr) { let any = warp::any().then(|| async { tokio::time::sleep(Duration::from_secs(1)).await; Result::<_, Infallible>::Ok(Builder::new().status(200).body("")) }); - let (addr, run_srv) = warp::serve(any).bind_ephemeral(([127, 0, 0, 1], 0)); - let server_handle = tokio::spawn(run_srv); + let (addr, listener) = bind_ephemeral().await; + let server = warp::serve(any).incoming(listener); + let server_handle = tokio::spawn(server.run()); (server_handle, addr) } @@ -605,7 +608,7 @@ mod tests { (StatusCode::SERVICE_UNAVAILABLE, ""), ]); - let (_jh, addr) = status_queue_server(statuses); + let (_jh, addr) = status_queue_server(statuses).await; let result = retry0( || async { let mut url = reqwest::Url::parse("http://localhost/").unwrap(); @@ -642,7 +645,7 @@ mod tests { (StatusCode::SERVICE_UNAVAILABLE, ""), ]); - let (_jh, addr) = status_queue_server(statuses); + let (_jh, addr) = status_queue_server(statuses).await; let error = retry0( || async { let mut url = reqwest::Url::parse("http://localhost/").unwrap(); @@ -668,7 +671,7 @@ mod tests { tokio::time::pause(); - let (_jh, addr) = slow_server(); + let (_jh, addr) = slow_server().await; static CNT: AtomicUsize = AtomicUsize::new(0); let fut = retry0( @@ -707,18 +710,20 @@ mod tests { use warp::http::response::Builder; use warp::Filter; + use crate::tests::bind_ephemeral; use crate::{BlockId, Client, GatewayApi}; - fn server() -> (tokio::task::JoinHandle<()>, std::net::SocketAddr) { + async fn server() -> (tokio::task::JoinHandle<()>, std::net::SocketAddr) { let any = warp::any().then(|| async { Builder::new().status(500).body("whatever") }); - let (addr, run_srv) = warp::serve(any).bind_ephemeral(([127, 0, 0, 1], 0)); - let server_handle = tokio::spawn(run_srv); + let (addr, listener) = bind_ephemeral().await; + let server = warp::serve(any).incoming(listener); + let server_handle = tokio::spawn(server.run()); (server_handle, addr) } #[tokio::test] async fn causes_short_reply() { - let (_jh, addr) = server(); + let (_jh, addr) = server().await; let mut url = reqwest::Url::parse("http://localhost/").unwrap(); url.set_port(Some(addr.port())).unwrap(); let client = Client::for_test(url).unwrap().disable_retry_for_tests(); diff --git a/crates/gateway-client/src/lib.rs b/crates/gateway-client/src/lib.rs index 34bc48bac8..4c29ff35b2 100644 --- a/crates/gateway-client/src/lib.rs +++ b/crates/gateway-client/src/lib.rs @@ -745,6 +745,8 @@ impl GatewayApi for Client { #[cfg(test)] mod tests { + use std::net::SocketAddr; + use assert_matches::assert_matches; use pathfinder_common::macro_prelude::*; use pathfinder_common::prelude::*; @@ -752,10 +754,20 @@ mod tests { use starknet_gateway_test_fixtures::testnet::*; use starknet_gateway_types::error::{test_response_from, KnownStarknetErrorCode}; use starknet_gateway_types::request::add_transaction::ContractDefinition; + use tokio::net::TcpListener; use wiremock::{matchers, Mock, MockServer, ResponseTemplate}; use super::*; + pub async fn bind_ephemeral() -> (SocketAddr, TcpListener) { + let listener = TcpListener::bind(("127.0.0.1", 0)) + .await + .expect("Failed to bind"); + let addr = listener.local_addr().expect("Failed to get local address"); + + (addr, listener) + } + fn response_body_from(code: KnownStarknetErrorCode) -> serde_json::Value { let (s, _) = test_response_from(code); serde_json::from_str(&s).unwrap() @@ -782,11 +794,11 @@ mod tests { ); let (shutdown_tx, shutdown_rx) = tokio::sync::oneshot::channel(); - let (addr, run_srv) = - warp::serve(filter).bind_with_graceful_shutdown(([127, 0, 0, 1], 0), async { - shutdown_rx.await.ok(); - }); - let server_handle = tokio::spawn(run_srv); + let (addr, listener) = bind_ephemeral().await; + let server = warp::serve(filter).incoming(listener).graceful(async { + shutdown_rx.await.ok(); + }); + let server_handle = tokio::spawn(server.run()); let url = format!("http://{addr}"); let url = Url::parse(&url).unwrap(); @@ -1160,7 +1172,7 @@ mod tests { const EXPECTED_TOKEN: &str = "magic token value"; const EXPECTED_ERROR_MESSAGE: &str = "error message"; - fn test_server() -> (tokio::task::JoinHandle<()>, std::net::SocketAddr) { + async fn test_server() -> (tokio::task::JoinHandle<()>, std::net::SocketAddr) { fn token_check(params: HashMap) -> impl warp::Reply { match params.get("token") { Some(token) if token == EXPECTED_TOKEN => Response::builder().status(StatusCode::OK).body(serde_json::to_vec(&serde_json::json!({ @@ -1178,8 +1190,9 @@ mod tests { let route = warp::any() .and(warp::query::>()) .map(token_check); - let (addr, run_srv) = warp::serve(route).bind_ephemeral(([127, 0, 0, 1], 0)); - let server_handle = tokio::spawn(run_srv); + let (addr, listener) = bind_ephemeral().await; + let server = warp::serve(route).incoming(listener); + let server_handle = tokio::spawn(server.run()); (server_handle, addr) } @@ -1187,7 +1200,7 @@ mod tests { async fn test_token_is_passed_to_sequencer_api() { use request::add_transaction::{Declare, DeclareV0V1V2}; - let (_jh, addr) = test_server(); + let (_jh, addr) = test_server().await; let mut url = reqwest::Url::parse("http://localhost/").unwrap(); url.set_port(Some(addr.port())).unwrap(); let client = Client::for_test(url).unwrap(); @@ -1216,7 +1229,7 @@ mod tests { async fn test_declare_fails_with_no_token() { use request::add_transaction::{Declare, DeclareV0V1V2}; - let (_jh, addr) = test_server(); + let (_jh, addr) = test_server().await; let mut url = reqwest::Url::parse("http://localhost/").unwrap(); url.set_port(Some(addr.port())).unwrap(); let client = Client::for_test(url).unwrap(); @@ -1502,11 +1515,13 @@ mod tests { .with(warp::filters::compression::gzip()); let (shutdown_tx, shutdown_rx) = tokio::sync::oneshot::channel(); - let (server_addr, server_future) = warp::serve(server_filter) - .bind_with_graceful_shutdown(([127, 0, 0, 1], 0), async { + let (server_addr, listener) = bind_ephemeral().await; + let server = warp::serve(server_filter) + .incoming(listener) + .graceful(async { shutdown_rx.await.ok(); }); - let server_handle = tokio::spawn(server_future); + let server_handle = tokio::spawn(server.run()); let server_url = Url::parse(&format!("http://{server_addr}")).unwrap(); let client = Client::for_test(server_url) diff --git a/crates/p2p_proto_derive/src/lib.rs b/crates/p2p_proto_derive/src/lib.rs index 3ff9d316ad..e3f23209a2 100644 --- a/crates/p2p_proto_derive/src/lib.rs +++ b/crates/p2p_proto_derive/src/lib.rs @@ -1,4 +1,3 @@ -use proc_macro2::{TokenStream, TokenTree}; use quote::{quote, quote_spanned}; use syn::spanned::Spanned; use syn::{parse_macro_input, Data, DeriveInput}; @@ -42,40 +41,23 @@ fn parse_attribute( // Find matching attribute and parse the "name" parameter as a string for attr in attrs { - if attr.path.is_ident("protobuf") { - match attr.parse_meta() { - Ok(syn::Meta::List(meta)) => { - for meta_item in meta.nested.iter() { - match meta_item { - syn::NestedMeta::Meta(syn::Meta::NameValue(m)) - if m.path.is_ident("name") => - { - if let syn::Lit::Str(lit) = &m.lit { - protobuf_type_name = lit.value(); - } - } - _ => { - return Err(syn::Error::new( - meta_item.span(), - "expected name-value pairs", - )) - } - } - } - } - Ok(_) => { - return Err(syn::Error::new( - attr.span(), - "expected a list of name-value pairs", - )) - } - Err(_) => { - return Err(syn::Error::new( - attr.span(), - "failed to parse content of the attribute", - )) + if attr.path().is_ident("protobuf") { + let Ok(meta_list) = attr.meta.require_list() else { + return Err(syn::Error::new( + attr.meta.span(), + "expected a list of name-value pairs", + )); + }; + meta_list.parse_nested_meta(|meta| { + if meta.path.is_ident("name") { + let value = meta.value()?; + let s: syn::LitStr = value.parse()?; + protobuf_type_name = s.value(); + Ok(()) + } else { + Err(meta.error("expected `name = \"value\"` pairs")) } - } + })?; } } @@ -91,13 +73,18 @@ fn iterate_to_protobuf(data: &Data) -> Result match data.fields { syn::Fields::Named(ref fields) => { - let recurse = fields.named.iter().map(|f| { - let name = &f.ident; - let name_in_proto = get_field_name_in_proto(f).or(name.clone()); - quote_spanned! {f.span()=> - #name_in_proto: crate::ToProtobuf::to_protobuf(self.#name).into() - } - }); + let recurse: Vec<_> = fields + .named + .iter() + .map(|f| { + let name = &f.ident; + let name_in_proto = get_field_name_in_proto(f)?.or(name.clone()); + Ok(quote_spanned! {f.span()=> + #name_in_proto: crate::ToProtobuf::to_protobuf(self.#name).into() + }) + }) + .collect::>()?; + Ok(quote! { #(#recurse),* }) @@ -150,12 +137,12 @@ fn iterate_try_from_protobuf(data: &Data) -> Result match data.fields { syn::Fields::Named(ref fields) => { - let recurse = fields.named.iter().map(|f| { + let recurse: Vec<_> = fields.named.iter().map(|f| { let name = &f.ident; - let is_optional = f.attrs.iter().any(|a| a.path.is_ident("optional")); - let name_in_proto = get_field_name_in_proto(f).or(name.clone()); + let is_optional = f.attrs.iter().any(|a| a.path().is_ident("optional")); + let name_in_proto = get_field_name_in_proto(f)?.or(name.clone()); - if is_optional { + let res = if is_optional { quote_spanned! {f.span()=> #name: match input.#name_in_proto { Some(x) => Some(crate::TryFromProtobuf::try_from_protobuf(x, stringify!(#name_in_proto))?), @@ -166,8 +153,11 @@ fn iterate_try_from_protobuf(data: &Data) -> Result #name: crate::TryFromProtobuf::try_from_protobuf(input.#name_in_proto, stringify!(#name_in_proto))? } - } - }); + }; + + Ok(res) + }).collect::>()?; + Ok(quote! { #(#recurse),* }) @@ -205,30 +195,24 @@ fn iterate_try_from_protobuf(data: &Data) -> Result Option { - f.attrs.iter().find_map(|a| { - if a.path.is_ident("rename") { - let tt = try_into_one_token_tree(a.tokens.clone()); - match tt { - Some(proc_macro2::TokenTree::Group(g)) => match try_into_one_token_tree(g.stream()) - { - Some(proc_macro2::TokenTree::Ident(i)) => Some(i), - Some(_) | None => None, - }, - Some(_) | None => None, - } - } else { - None - } - }) -} +fn get_field_name_in_proto(f: &syn::Field) -> Result, syn::Error> { + let mut original_name = None; + let mut renames_count = 0; + + for a in &f.attrs { + if a.path().is_ident("rename") { + a.parse_nested_meta(|meta| { + renames_count += 1; -fn try_into_one_token_tree(stream: TokenStream) -> Option { - let mut it = stream.into_iter(); - let token = it.next(); - if it.next().is_some() { - None - } else { - token + if renames_count > 1 { + return Err(meta.error("expected at most one `rename(name)` attribute")); + } + + original_name = Some(meta.path.require_ident()?.clone()); + Ok(()) + })?; + } } + + Ok(original_name) } diff --git a/crates/rpc/src/dto/primitives.rs b/crates/rpc/src/dto/primitives.rs index af2d8ad1a5..f367f60e1a 100644 --- a/crates/rpc/src/dto/primitives.rs +++ b/crates/rpc/src/dto/primitives.rs @@ -357,9 +357,7 @@ mod pathfinder_primitives { impl SerializeForVersion for U256Hex { fn serialize(&self, serializer: Serializer) -> Result { - serializer.serialize_str(&hex_str::bytes_to_hex_str_stripped(&<[u8; 32]>::from( - self.0, - ))) + serializer.serialize_str(&hex_str::bytes_to_hex_str_stripped(&self.0.to_big_endian())) } } diff --git a/crates/rpc/src/tracker.rs b/crates/rpc/src/tracker.rs index 887219916b..2248dcd090 100644 --- a/crates/rpc/src/tracker.rs +++ b/crates/rpc/src/tracker.rs @@ -1,5 +1,6 @@ use std::collections::BTreeSet; use std::sync::{Arc, Mutex}; +use std::time::Duration; use cached::{Cached, TimedSizedCache}; use pathfinder_common::transaction::TransactionVariant; @@ -91,8 +92,9 @@ impl SubmittedTransactionTracker { impl TrackerState { fn new(limit_size: usize, limit_sec: u64) -> Self { let (sender, _receiver) = watch::channel(Default::default()); + let limit = Duration::from_secs(limit_sec); Self { - cache: TimedSizedCache::with_size_and_lifespan(limit_size, limit_sec), + cache: TimedSizedCache::with_size_and_lifespan(limit_size, limit), sender, } } diff --git a/crates/serde/src/lib.rs b/crates/serde/src/lib.rs index fd063d98a3..8225774051 100644 --- a/crates/serde/src/lib.rs +++ b/crates/serde/src/lib.rs @@ -219,8 +219,8 @@ impl<'de> DeserializeAs<'de, BlockNumber> for StarknetBlockNumberAsHexStr { serde_with::serde_conv!( pub U256AsHexStr, primitive_types::U256, - |u: &U256| { let mut b = [0u8; 32]; u.to_big_endian(&mut b); bytes_to_hex_str(&b) }, - |s: &str| bytes_from_hex_str::<32>(s).map(U256::from) + |u: &U256| { let b = u.to_big_endian(); bytes_to_hex_str(&b) }, + |s: &str| bytes_from_hex_str::<32>(s).map(|b| U256::from_big_endian(&b)) ); serde_with::serde_conv!( diff --git a/crates/storage/Cargo.toml b/crates/storage/Cargo.toml index 5bc371031e..90c5ac55cd 100644 --- a/crates/storage/Cargo.toml +++ b/crates/storage/Cargo.toml @@ -17,7 +17,7 @@ bitvec = { workspace = true } cached = { workspace = true } const_format = { workspace = true } fake = { workspace = true } -flume = { version = "0.11.1", default-features = false, features = ["eventual-fairness"] } +flume = { version = "0.12.0", default-features = false, features = ["eventual-fairness"] } hex = { workspace = true } metrics = { workspace = true } paste = { workspace = true } @@ -33,7 +33,7 @@ r2d2 = { workspace = true } r2d2_sqlite = { workspace = true } rand = { workspace = true } rayon = { workspace = true } -rusqlite = { workspace = true, features = ["bundled", "array", "hooks"] } +rusqlite = { workspace = true, features = ["bundled", "array", "hooks", "fallible_uint"] } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true, features = ["arbitrary_precision", "raw_value"] } serde_with = { workspace = true } diff --git a/crates/storage/src/schema/revision_0071.rs b/crates/storage/src/schema/revision_0071.rs index 1dfba1eb82..ac6a2dcc1c 100644 --- a/crates/storage/src/schema/revision_0071.rs +++ b/crates/storage/src/schema/revision_0071.rs @@ -43,7 +43,7 @@ pub(crate) fn migrate(tx: &rusqlite::Transaction<'_>) -> anyhow::Result<()> { drop_rename_create_index_stmt_batch: r" DROP TABLE block_signatures; ALTER TABLE block_signatures_new RENAME TO block_signatures; - CREATE UNIQUE INDEX block_signatures_block_number + CREATE UNIQUE INDEX block_signatures_block_number ON block_signatures(block_number); ", }, @@ -60,7 +60,7 @@ pub(crate) fn migrate(tx: &rusqlite::Transaction<'_>) -> anyhow::Result<()> { drop_rename_create_index_stmt_batch: r" DROP TABLE class_definitions; ALTER TABLE class_definitions_new RENAME TO class_definitions; - CREATE INDEX class_definitions_block_number + CREATE INDEX class_definitions_block_number ON class_definitions(block_number); ", }, @@ -99,9 +99,9 @@ pub(crate) fn migrate(tx: &rusqlite::Transaction<'_>) -> anyhow::Result<()> { drop_rename_create_index_stmt_batch: r" DROP TABLE contract_updates; ALTER TABLE contract_updates_new RENAME TO contract_updates; - CREATE INDEX contract_updates_block_number + CREATE INDEX contract_updates_block_number ON contract_updates(block_number); - CREATE INDEX contract_updates_address_block_number + CREATE INDEX contract_updates_address_block_number ON contract_updates(contract_address, block_number); ", }, @@ -118,9 +118,9 @@ pub(crate) fn migrate(tx: &rusqlite::Transaction<'_>) -> anyhow::Result<()> { drop_rename_create_index_stmt_batch: r" DROP TABLE nonce_updates; ALTER TABLE nonce_updates_new RENAME TO nonce_updates; - CREATE INDEX nonce_updates_block_number + CREATE INDEX nonce_updates_block_number ON nonce_updates(block_number); - CREATE INDEX nonce_updates_contract_address_id_block_number + CREATE INDEX nonce_updates_contract_address_id_block_number ON nonce_updates(contract_address_id, block_number); ", }, @@ -138,9 +138,9 @@ pub(crate) fn migrate(tx: &rusqlite::Transaction<'_>) -> anyhow::Result<()> { drop_rename_create_index_stmt_batch: r" DROP TABLE storage_updates; ALTER TABLE storage_updates_new RENAME TO storage_updates; - CREATE INDEX storage_updates_block_number + CREATE INDEX storage_updates_block_number ON storage_updates(block_number); - CREATE INDEX storage_updates_contract_address_id_storage_address_id_block_number + CREATE INDEX storage_updates_contract_address_id_storage_address_id_block_number ON storage_updates(contract_address_id, storage_address_id, block_number); ", }, @@ -158,7 +158,7 @@ pub(crate) fn migrate(tx: &rusqlite::Transaction<'_>) -> anyhow::Result<()> { false }), - ); + )?; tracing::info!("Creating new tables and transferring data"); diff --git a/crates/version/Cargo.toml b/crates/version/Cargo.toml index 709d85729c..8aa763135a 100644 --- a/crates/version/Cargo.toml +++ b/crates/version/Cargo.toml @@ -8,4 +8,4 @@ rust-version = { workspace = true } description = "Pathfinder version information" [build-dependencies] -vergen = { workspace = true, features = ["git", "gitcl"] } +vergen-gitcl = { workspace = true } diff --git a/crates/version/build.rs b/crates/version/build.rs index 6867b5f56c..202c03c666 100644 --- a/crates/version/build.rs +++ b/crates/version/build.rs @@ -1,6 +1,6 @@ //! Pathfinder build script. //! -//! Just sets up `vergen` to query our git information for the build. +//! Just sets up `vergen_gitcl` to query our git information for the build. pub fn main() { let force_version_env_var_name = "PATHFINDER_FORCE_VERSION"; @@ -14,12 +14,16 @@ pub fn main() { } } - // at 7.0.0 default enables everything compiled in, selected with feature-flags const ENABLE_DIRTY: bool = true; const ENABLE_TAGS: bool = true; - vergen::EmitBuilder::builder() + let gitcl = vergen_gitcl::GitclBuilder::default() + .describe(ENABLE_TAGS, ENABLE_DIRTY, None) + .build() + .expect("vergen failed; this is probably due to missing .git directory"); + vergen_gitcl::Emitter::new() + .add_instructions(&gitcl) + .expect("vergen failed; this is probably due to missing .git directory") .fail_on_error() - .git_describe(ENABLE_DIRTY, ENABLE_TAGS, None) .emit() .expect("vergen failed; this is probably due to missing .git directory"); }