diff --git a/Cargo.lock b/Cargo.lock index 8c603df2f..ea146c737 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -25,18 +25,18 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aead" @@ -136,7 +136,7 @@ dependencies = [ "bytes", "cfg-if", "const-hex", - "derive_more", + "derive_more 0.99.18", "getrandom", "hex-literal", "itoa", @@ -151,9 +151,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.4" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d58d9f5da7b40e9bfff0b7e7816700be4019db97d4b6359fe7f94a9e22e42ac" +checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" dependencies = [ "arrayvec", "bytes", @@ -168,9 +168,9 @@ dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -182,11 +182,11 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.2.6", + "indexmap 2.6.0", "proc-macro-error", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", "syn-solidity", "tiny-keccak", ] @@ -200,9 +200,9 @@ dependencies = [ "const-hex", "dunce", "heck 0.5.0", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", "syn-solidity", ] @@ -224,7 +224,7 @@ version = "1.3.1" dependencies = [ "async-trait", "axelar-wasm-std", - "axum 0.7.5", + "axum 0.7.9", "base64 0.21.7", "bcs", "clap", @@ -274,6 +274,7 @@ dependencies = [ "sha3", "starknet-core", "starknet-providers", + "starknet-types", "stellar", "stellar-rpc-client", "stellar-xdr", @@ -344,16 +345,16 @@ dependencies = [ "thiserror", "tokio", "tokio-util", - "tower", + "tower 0.4.13", "tracing", "x509-parser", ] [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -366,43 +367,43 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.89" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "ark-bls12-381" @@ -473,7 +474,7 @@ dependencies = [ "ark-serialize 0.3.0", "ark-std 0.3.0", "derivative", - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-traits", "paste", "rustc_version 0.3.3", @@ -493,10 +494,10 @@ dependencies = [ "derivative", "digest 0.10.7", "itertools 0.10.5", - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-traits", "paste", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "zeroize", ] @@ -506,7 +507,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" dependencies = [ - "quote 1.0.36", + "quote 1.0.37", "syn 1.0.109", ] @@ -516,7 +517,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" dependencies = [ - "quote 1.0.36", + "quote 1.0.37", "syn 1.0.109", ] @@ -526,9 +527,9 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-traits", - "quote 1.0.36", + "quote 1.0.37", "syn 1.0.109", ] @@ -538,10 +539,10 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-traits", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -614,7 +615,7 @@ dependencies = [ "ark-serialize-derive", "ark-std 0.4.0", "digest 0.10.7", - "num-bigint 0.4.5", + "num-bigint 0.4.6", ] [[package]] @@ -623,8 +624,8 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -662,15 +663,15 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "asn1-rs" @@ -694,10 +695,10 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -706,8 +707,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -742,9 +743,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -753,24 +754,24 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -781,7 +782,7 @@ checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" dependencies = [ "futures", "pharos", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] @@ -796,9 +797,9 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -809,9 +810,9 @@ checksum = "7460f7dd8e100147b82a63afca1a20eb6c231ee36b90ba7272e14951cb58af59" [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "axelar-core-std" @@ -842,6 +843,7 @@ dependencies = [ "bs58 0.5.1", "cosmwasm-schema", "cosmwasm-std", + "crypto-bigint", "cw-multi-test 0.15.1", "cw-storage-plus 1.2.0", "cw2 1.1.2", @@ -862,6 +864,7 @@ dependencies = [ "serde_json", "serde_with 3.11.0", "sha3", + "starknet-types-core", "stellar-xdr", "strum 0.25.0", "sui-types 1.0.0", @@ -875,9 +878,9 @@ version = "1.0.0" dependencies = [ "axelar-wasm-std", "error-stack", - "quote 1.0.36", + "quote 1.0.37", "report", - "syn 2.0.68", + "syn 2.0.89", "thiserror", ] @@ -923,7 +926,7 @@ dependencies = [ "headers", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.31", "itoa", "matchit 0.7.3", "memchr", @@ -939,25 +942,25 @@ dependencies = [ "sync_wrapper 0.1.2", "tokio", "tokio-tungstenite", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", ] [[package]] name = "axum" -version = "0.7.5" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", - "axum-core 0.4.3", + "axum-core 0.4.5", "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", + "hyper 1.5.1", "hyper-util", "itoa", "matchit 0.7.3", @@ -970,9 +973,9 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper 1.0.1", + "sync_wrapper 1.0.2", "tokio", - "tower", + "tower 0.5.1", "tower-layer", "tower-service", "tracing", @@ -997,20 +1000,20 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" dependencies = [ "async-trait", "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", "mime", "pin-project-lite", "rustversion", - "sync_wrapper 0.1.2", + "sync_wrapper 1.0.2", "tower-layer", "tower-service", "tracing", @@ -1018,17 +1021,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -1143,23 +1146,11 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3deeecb812ca5300b7d3f66f730cc2ebd3511c3d36c691dd79c165d5b19a26e3" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] -[[package]] -name = "bigdecimal" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6773ddc0eafc0e509fb60e48dff7f450f8e674a0686ae8605e8d9901bd5eefa" -dependencies = [ - "num-bigint 0.4.5", - "num-integer", - "num-traits", - "serde", -] - [[package]] name = "bincode" version = "1.3.3" @@ -1171,9 +1162,9 @@ dependencies = [ [[package]] name = "bip32" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e141fb0f8be1c7b45887af94c88b182472b57c96b56773250ae00cd6a14a164" +checksum = "aa13fae8b6255872fd86f7faf4b41168661d7d78609f7bfe6771b85c6739a15b" dependencies = [ "bs58 0.5.1", "hmac", @@ -1189,11 +1180,11 @@ dependencies = [ [[package]] name = "bip39" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" +checksum = "33415e24172c1b7d6066f6d999545375ab8e1d95421d6784bdfff9496f292387" dependencies = [ - "bitcoin_hashes 0.11.0", + "bitcoin_hashes 0.13.0", "rand", "rand_core 0.6.4", "serde", @@ -1215,6 +1206,12 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bitcoin-internals" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" + [[package]] name = "bitcoin-private" version = "0.1.0" @@ -1223,17 +1220,21 @@ checksum = "73290177011694f38ec25e165d0387ab7ea749a4b81cd4c80dae5988229f7a57" [[package]] name = "bitcoin_hashes" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" +checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" +dependencies = [ + "bitcoin-private", +] [[package]] name = "bitcoin_hashes" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" dependencies = [ - "bitcoin-private", + "bitcoin-internals", + "hex-conservative", ] [[package]] @@ -1244,9 +1245,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "bitmaps" @@ -1341,9 +1342,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62dc83a094a71d43eeadd254b1ec2d24cb6a0bb6cadce00df51f0db594711a32" +checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" dependencies = [ "cc", "glob", @@ -1412,9 +1413,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" dependencies = [ "memchr", "serde", @@ -1440,9 +1441,9 @@ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" [[package]] name = "bytemuck" -version = "1.16.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" +checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" [[package]] name = "byteorder" @@ -1452,18 +1453,18 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" dependencies = [ "serde", ] [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] @@ -1502,9 +1503,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.99" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" +dependencies = [ + "shlex", +] [[package]] name = "cfg-if" @@ -1524,7 +1528,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -1539,9 +1543,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.7" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" dependencies = [ "clap_builder", "clap_derive", @@ -1549,9 +1553,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.7" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" dependencies = [ "anstream", "anstyle", @@ -1562,21 +1566,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.5" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" [[package]] name = "client" @@ -1611,9 +1615,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "colored" @@ -1670,9 +1674,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.12.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +checksum = "487981fa1af147182687064d0a2c336586d337a606595ced9ffb0c685c250c73" dependencies = [ "cfg-if", "cpufeatures", @@ -1689,9 +1693,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "convert_case" @@ -1735,9 +1739,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -1782,12 +1786,11 @@ dependencies = [ [[package]] name = "cosmwasm-crypto" -version = "1.5.5" +version = "1.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd50718a2b6830ce9eb5d465de5a018a12e71729d66b70807ce97e6dd14f931d" +checksum = "58535cbcd599b3c193e3967c8292fe1dbbb5de7c2a2d87380661091dd4744044" dependencies = [ "digest 0.10.7", - "ecdsa", "ed25519-zebra", "k256", "rand_core 0.6.4", @@ -1796,18 +1799,18 @@ dependencies = [ [[package]] name = "cosmwasm-derive" -version = "1.5.5" +version = "1.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "242e98e7a231c122e08f300d9db3262d1007b51758a8732cd6210b3e9faa4f3a" +checksum = "a8e07de16c800ac82fd188d055ecdb923ead0cf33960d3350089260bb982c09f" dependencies = [ "syn 1.0.109", ] [[package]] name = "cosmwasm-schema" -version = "1.5.5" +version = "1.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7879036156092ad1c22fe0d7316efc5a5eceec2bc3906462a2560215f2a2f929" +checksum = "93d388adfa9cb449557a92e9318121ac1a481fc4f599213b03a5b62699b403b4" dependencies = [ "cosmwasm-schema-derive", "schemars", @@ -1818,20 +1821,20 @@ dependencies = [ [[package]] name = "cosmwasm-schema-derive" -version = "1.5.5" +version = "1.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb57855fbfc83327f8445ae0d413b1a05ac0d68c396ab4d122b2abd7bb82cb6" +checksum = "2411b389e56e6484f81ba955b758d02522d620c98fc960c4bd2251d48b7aa19f" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] [[package]] name = "cosmwasm-std" -version = "1.5.5" +version = "1.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c1556156fdf892a55cced6115968b961eaaadd6f724a2c2cb7d1e168e32dd3" +checksum = "c21fde95ccd20044a23c0ac6fd8c941f3e8c158169dc94b5aa6491a2d9551a8d" dependencies = [ "base64 0.21.7", "bech32 0.9.1", @@ -1861,9 +1864,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -1959,7 +1962,7 @@ dependencies = [ "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "subtle", "zeroize", ] @@ -1970,9 +1973,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -2129,12 +2132,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -2145,24 +2148,24 @@ checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "strsim 0.10.0", "syn 1.0.109", ] [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "strsim 0.11.1", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2172,19 +2175,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ "darling_core 0.14.4", - "quote 1.0.36", + "quote 1.0.37", "syn 1.0.109", ] [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.9", - "quote 1.0.36", - "syn 2.0.68", + "darling_core 0.20.10", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -2258,20 +2261,20 @@ dependencies = [ "asn1-rs", "displaydoc", "nom", - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-traits", "rusticata-macros", ] [[package]] name = "der_derive" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe87ce4529967e0ba1dcf8450bab64d97dfd5010a6256187ffe2e43e6f0e049" +checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -2290,8 +2293,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4255bb7dd538590188bd0aea52e48bd699b19bd90b0d069ec2ced8461fe23273" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -2301,8 +2304,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -2313,10 +2316,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "convert_case", - "proc-macro2 1.0.85", - "quote 1.0.36", - "rustc_version 0.4.0", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "rustc_version 0.4.1", + "syn 2.0.89", +] + +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -2402,13 +2425,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -2425,9 +2448,9 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" @@ -2516,9 +2539,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -2548,9 +2571,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] @@ -2587,8 +2610,8 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f16ef37b2a9b242295d61a154ee91ae884afff6b8b933b486b12481cc58310ca" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -2599,9 +2622,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" dependencies = [ "once_cell", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -2628,7 +2651,7 @@ checksum = "27a72baa257b5e0e2de241967bc5ee8f855d6072351042688621081d66b2a76b" dependencies = [ "anyhow", "eyre", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] @@ -2714,14 +2737,14 @@ dependencies = [ "dunce", "ethers-core", "eyre", - "prettyplease 0.2.20", - "proc-macro2 1.0.85", - "quote 1.0.36", + "prettyplease 0.2.25", + "proc-macro2 1.0.92", + "quote 1.0.37", "regex", "serde", "serde_json", - "syn 2.0.68", - "toml 0.8.14", + "syn 2.0.89", + "toml 0.8.19", "walkdir", ] @@ -2735,10 +2758,10 @@ dependencies = [ "const-hex", "ethers-contract-abigen", "ethers-core", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "serde_json", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2756,19 +2779,19 @@ dependencies = [ "ethabi", "generic-array", "k256", - "num_enum 0.7.2", + "num_enum 0.7.3", "once_cell", "open-fastrlp", "rand", "rlp", "serde", "serde_json", - "strum 0.26.2", - "syn 2.0.68", + "strum 0.26.3", + "syn 2.0.89", "tempfile", "thiserror", "tiny-keccak", - "unicode-xid 0.2.4", + "unicode-xid 0.2.6", ] [[package]] @@ -2839,10 +2862,10 @@ version = "1.0.0" dependencies = [ "error-stack", "events", - "quote 1.0.36", + "quote 1.0.37", "serde", "serde_json", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -2892,7 +2915,7 @@ dependencies = [ "cbc", "ctr", "curve25519-dalek-ng", - "derive_more", + "derive_more 0.99.18", "digest 0.10.7", "ecdsa", "ed25519-consensus", @@ -2903,7 +2926,7 @@ dependencies = [ "hex-literal", "hkdf", "lazy_static", - "num-bigint 0.4.5", + "num-bigint 0.4.6", "once_cell", "p256", "rand", @@ -2930,7 +2953,7 @@ name = "fastcrypto-derive" version = "0.1.3" source = "git+https://github.com/MystenLabs/fastcrypto?rev=4988a4744fcaf8bc7f60bf660d9a223ed0f54cc6#4988a4744fcaf8bc7f60bf660d9a223ed0f54cc6" dependencies = [ - "quote 1.0.36", + "quote 1.0.37", "syn 1.0.109", ] @@ -2967,14 +2990,14 @@ dependencies = [ "ark-snark", "blst", "byte-slice-cast", - "derive_more", + "derive_more 0.99.18", "fastcrypto", "ff", "im", "itertools 0.12.1", "lazy_static", "neptune", - "num-bigint 0.4.5", + "num-bigint 0.4.6", "once_cell", "reqwest 0.11.27", "schemars", @@ -2994,9 +3017,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" [[package]] name = "fastrlp" @@ -3025,11 +3048,11 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d15473d7f83b54a44826907af16ae5727eaacaf6e53b51474016d3efd9aa35d5" dependencies = [ - "darling 0.20.9", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", - "uuid 1.10.0", + "darling 0.20.10", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", + "uuid 1.11.0", ] [[package]] @@ -3056,8 +3079,8 @@ dependencies = [ "num-bigint 0.3.3", "num-integer", "num-traits", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -3105,18 +3128,18 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flagset" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb3aa5e95cf9aabc17f060cfa0ced7b83f042390760ca53bf09df9968acaa1" +checksum = "b3ea1ec5f8307826a5b71094dd91fc04d4ae75d5709b20ad351c7fb4815c86ec" dependencies = [ "serde", ] [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", "miniz_oxide", @@ -3197,9 +3220,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -3212,9 +3235,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -3222,15 +3245,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -3239,32 +3262,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -3278,9 +3301,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -3378,9 +3401,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" @@ -3390,15 +3413,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" dependencies = [ "aho-corasick", "bstr", "log", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -3425,7 +3448,7 @@ dependencies = [ "serde", "serde_json", "upon", - "yansi 1.0.1", + "yansi", ] [[package]] @@ -3453,7 +3476,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.2.6", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -3462,9 +3485,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ "atomic-waker", "bytes", @@ -3472,7 +3495,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.2.6", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -3503,6 +3526,12 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + [[package]] name = "hashers" version = "1.0.1" @@ -3573,6 +3602,12 @@ dependencies = [ "serde", ] +[[package]] +name = "hex-conservative" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" + [[package]] name = "hex-literal" version = "0.4.1" @@ -3641,9 +3676,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http 1.1.0", @@ -3658,7 +3693,7 @@ dependencies = [ "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "pin-project-lite", ] @@ -3670,9 +3705,9 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -3698,9 +3733,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" dependencies = [ "bytes", "futures-channel", @@ -3722,16 +3757,16 @@ dependencies = [ [[package]] name = "hyper" -version = "1.3.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.6", + "h2 0.4.7", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "httparse", "httpdate", "itoa", @@ -3751,7 +3786,7 @@ dependencies = [ "futures", "headers", "http 0.2.12", - "hyper 0.14.29", + "hyper 0.14.31", "hyper-rustls 0.22.1", "rustls-native-certs 0.5.0", "tokio", @@ -3768,7 +3803,7 @@ checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64" dependencies = [ "ct-logs", "futures-util", - "hyper 0.14.29", + "hyper 0.14.31", "log", "rustls 0.19.1", "rustls-native-certs 0.5.0", @@ -3785,7 +3820,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http 0.2.12", - "hyper 0.14.29", + "hyper 0.14.31", "log", "rustls 0.20.9", "rustls-native-certs 0.6.3", @@ -3802,7 +3837,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper 0.14.29", + "hyper 0.14.31", "log", "rustls 0.21.12", "rustls-native-certs 0.6.3", @@ -3812,15 +3847,15 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.3.1", + "hyper 1.5.1", "hyper-util", - "rustls 0.23.12", + "rustls 0.23.19", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", @@ -3833,7 +3868,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper 0.14.29", + "hyper 0.14.31", "pin-project-lite", "tokio", "tokio-io-timeout", @@ -3847,7 +3882,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.3.1", + "hyper 1.5.1", "hyper-util", "native-tls", "tokio", @@ -3857,29 +3892,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.5" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.0", - "hyper 1.3.1", + "http-body 1.0.1", + "hyper 1.5.1", "pin-project-lite", "socket2", "tokio", - "tower", "tower-service", "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3898,6 +3932,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -3906,12 +4058,23 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -3943,7 +4106,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" dependencies = [ - "parity-scale-codec 3.6.12", + "parity-scale-codec 3.7.0", ] [[package]] @@ -3975,13 +4138,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 1.0.109", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -4003,12 +4166,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.2", "serde", ] @@ -4024,9 +4187,9 @@ dependencies = [ [[package]] name = "insta" -version = "1.39.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5" +checksum = "7e9ffc4d4892617c50a928c52b2961cb5174b6fc6ebf252b2fac9d21955c48b8" dependencies = [ "console", "lazy_static", @@ -4113,17 +4276,17 @@ version = "1.0.0" dependencies = [ "axelar-wasm-std", "error-stack", - "quote 1.0.36", + "quote 1.0.37", "report", - "syn 2.0.68", + "syn 2.0.89", "thiserror", ] [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "iri-string" @@ -4136,9 +4299,9 @@ dependencies = [ [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -4178,15 +4341,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] @@ -4259,7 +4422,7 @@ dependencies = [ "futures-timer", "futures-util", "globset", - "hyper 0.14.29", + "hyper 0.14.31", "jsonrpsee-types 0.16.2", "parking_lot", "rand", @@ -4282,7 +4445,7 @@ dependencies = [ "async-trait", "beef", "futures-util", - "hyper 0.14.29", + "hyper 0.14.31", "jsonrpsee-types 0.20.4", "serde", "serde_json", @@ -4297,7 +4460,7 @@ version = "0.16.2" source = "git+https://github.com/wlmyng/jsonrpsee.git?rev=b1b300784795f6a64d0fcdf8f03081a9bc38bde8#b1b300784795f6a64d0fcdf8f03081a9bc38bde8" dependencies = [ "async-trait", - "hyper 0.14.29", + "hyper 0.14.31", "hyper-rustls 0.23.2", "jsonrpsee-core 0.16.2", "jsonrpsee-types 0.16.2", @@ -4316,7 +4479,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c7b9f95208927653e7965a98525e7fc641781cab89f0e27c43fa2974405683" dependencies = [ "async-trait", - "hyper 0.14.29", + "hyper 0.14.31", "hyper-rustls 0.24.2", "jsonrpsee-core 0.20.4", "jsonrpsee-types 0.20.4", @@ -4324,7 +4487,7 @@ dependencies = [ "serde_json", "thiserror", "tokio", - "tower", + "tower 0.4.13", "tracing", "url", ] @@ -4336,8 +4499,8 @@ source = "git+https://github.com/wlmyng/jsonrpsee.git?rev=b1b300784795f6a64d0fcd dependencies = [ "heck 0.4.1", "proc-macro-crate 1.1.3", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -4349,7 +4512,7 @@ dependencies = [ "futures-channel", "futures-util", "http 0.2.12", - "hyper 0.14.29", + "hyper 0.14.31", "jsonrpsee-core 0.16.2", "jsonrpsee-types 0.16.2", "serde", @@ -4358,7 +4521,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "tower", + "tower 0.4.13", "tracing", ] @@ -4416,9 +4579,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.1" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", @@ -4439,14 +4602,36 @@ dependencies = [ [[package]] name = "keccak-asm" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47a3633291834c4fbebf8673acbc1b04ec9d151418ff9b8e26dcd79129928758" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" dependencies = [ "digest 0.10.7", "sha3-asm", ] +[[package]] +name = "lambdaworks-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbc2a4da0d9e52ccfe6306801a112e81a8fc0c76aa3e4449fefeda7fef72bb34" +dependencies = [ + "lambdaworks-math", + "serde", + "sha2 0.10.8", + "sha3", +] + +[[package]] +name = "lambdaworks-math" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1bd2632acbd9957afc5aeec07ad39f078ae38656654043bf16e046fa2730e23" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -4464,15 +4649,15 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.166" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "c2ccc108bbc0b1331bd061864e7cd823c0cab660bbe6970e66e2c0614decde36" [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libredox" @@ -4480,7 +4665,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", ] @@ -4496,6 +4681,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + [[package]] name = "lock_api" version = "0.4.12" @@ -4508,9 +4699,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" dependencies = [ "serde", ] @@ -4565,9 +4756,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" -version = "2.0.4" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ "mime", "unicase", @@ -4581,22 +4772,23 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] name = "mio" -version = "0.8.11" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ + "hermit-abi", "libc", "wasi", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -4625,7 +4817,7 @@ dependencies = [ "fragile", "lazy_static", "mockall_derive 0.12.1", - "predicates 3.1.0", + "predicates 3.1.2", "predicates-tree", ] @@ -4636,8 +4828,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" dependencies = [ "cfg-if", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -4648,9 +4840,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2" dependencies = [ "cfg-if", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -4748,7 +4940,7 @@ dependencies = [ "dirs-next", "hex", "move-core-types", - "num-bigint 0.4.5", + "num-bigint 0.4.6", "once_cell", "serde", "sha2 0.9.9", @@ -4901,8 +5093,8 @@ version = "0.1.0" source = "git+https://github.com/mystenlabs/sui?tag=mainnet-v1.26.2#f531168c745260b60a4ec4906c9f2b22240d872d" dependencies = [ "enum-compat-util", - "quote 1.0.36", - "syn 2.0.68", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -4971,9 +5163,9 @@ dependencies = [ "cosmwasm-std", "error-stack", "itertools 0.11.0", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -4982,8 +5174,8 @@ version = "0.1.0" source = "git+https://github.com/MystenLabs/mysten-sim.git?rev=077b735b484cf33e79f9d621db1d0c3a5827b81e#077b735b484cf33e79f9d621db1d0c3a5827b81e" dependencies = [ "darling 0.14.4", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -5036,10 +5228,10 @@ checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ "proc-macro-crate 1.1.3", "proc-macro-error", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -5119,6 +5311,7 @@ dependencies = [ "service-registry", "service-registry-api", "sha3", + "starknet-types", "stellar", "stellar-xdr", "sui-gateway", @@ -5145,7 +5338,7 @@ dependencies = [ "pbkdf2", "pem 3.0.4", "rand", - "reqwest 0.12.5", + "reqwest 0.12.9", "scrypt", "serde", "serde_json", @@ -5153,7 +5346,7 @@ dependencies = [ "sha2 0.10.8", "sha3", "tokio", - "uuid 1.10.0", + "uuid 1.11.0", "zeroize", ] @@ -5174,7 +5367,7 @@ dependencies = [ "tap", "tokio", "tracing", - "uuid 1.10.0", + "uuid 1.11.0", ] [[package]] @@ -5196,7 +5389,7 @@ dependencies = [ "tokio-stream", "tonic 0.11.0", "tonic-health", - "tower", + "tower 0.4.13", "tower-http", "tracing", ] @@ -5212,7 +5405,7 @@ dependencies = [ "fastcrypto-tbls", "hashbrown 0.12.3", "impl-trait-for-tuples", - "indexmap 2.2.6", + "indexmap 2.6.0", "mysten-util-mem-derive", "once_cell", "parking_lot", @@ -5225,9 +5418,9 @@ name = "mysten-util-mem-derive" version = "0.1.0" source = "git+https://github.com/mystenlabs/sui?tag=mainnet-v1.26.2#f531168c745260b60a4ec4906c9f2b22240d872d" dependencies = [ - "proc-macro2 1.0.85", + "proc-macro2 1.0.92", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -5332,7 +5525,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-complex", "num-integer", "num-iter", @@ -5353,9 +5546,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -5400,8 +5593,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -5431,7 +5624,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-integer", "num-traits", ] @@ -5467,11 +5660,11 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ - "num_enum_derive 0.7.2", + "num_enum_derive 0.7.3", ] [[package]] @@ -5481,28 +5674,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.1.3", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "num_enum_derive" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro-crate 3.2.0", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "object" -version = "0.36.0" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "memchr", ] @@ -5518,9 +5711,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -5548,18 +5741,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" dependencies = [ "bytes", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] [[package]] name = "openssl" -version = "0.10.66" +version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", "foreign-types", "libc", @@ -5574,9 +5767,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -5587,18 +5780,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.3.2+3.3.2" +version = "300.4.1+3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" +checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.103" +version = "0.9.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ "cc", "libc", @@ -5642,9 +5835,9 @@ checksum = "ec4c6225c69b4ca778c0aea097321a64c421cf4577b331c61b229267edabb6f8" dependencies = [ "heck 0.4.1", "proc-macro-error", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -5701,15 +5894,16 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "8be4817d39f3272f69c59fe05d0535ae6456c2dc2fa1ba02910296c7e0a5c590" dependencies = [ "arrayvec", "bitvec 1.0.1", "byte-slice-cast", "impl-trait-for-tuples", - "parity-scale-codec-derive 3.6.12", + "parity-scale-codec-derive 3.7.0", + "rustversion", "serde", ] @@ -5720,21 +5914,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" dependencies = [ "proc-macro-crate 1.1.3", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "8781a75c6205af67215f382092b6e0a4ff3734798523e69073d4bcd294ec767b" dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 1.0.109", + "proc-macro-crate 3.2.0", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -5757,7 +5951,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -5796,9 +5990,9 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pathdiff" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pbkdf2" @@ -5827,8 +6021,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5aa52829b8decbef693af90202711348ab001456803ba2a98eb4ec8fb70844c" dependencies = [ "peg-runtime", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", ] [[package]] @@ -5882,9 +6076,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.10" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", "thiserror", @@ -5893,9 +6087,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.10" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" +checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" dependencies = [ "pest", "pest_generator", @@ -5903,22 +6097,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.10" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" +checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "pest_meta" -version = "2.7.10" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" +checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" dependencies = [ "once_cell", "pest", @@ -5942,7 +6136,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset 0.4.2", - "indexmap 2.2.6", + "indexmap 2.6.0", ] [[package]] @@ -5952,7 +6146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" dependencies = [ "futures", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] @@ -5983,9 +6177,9 @@ checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ "phf_generator", "phf_shared", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -5999,29 +6193,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -6063,9 +6257,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "polyval" @@ -6087,9 +6281,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "predicates" @@ -6107,9 +6304,9 @@ dependencies = [ [[package]] name = "predicates" -version = "3.1.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" dependencies = [ "anstyle", "predicates-core", @@ -6117,15 +6314,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" dependencies = [ "predicates-core", "termtree", @@ -6133,12 +6330,12 @@ dependencies = [ [[package]] name = "pretty_assertions" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" dependencies = [ "diff", - "yansi 0.5.1", + "yansi", ] [[package]] @@ -6147,18 +6344,18 @@ version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" dependencies = [ - "proc-macro2 1.0.85", + "proc-macro2 1.0.92", "syn 1.0.109", ] [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ - "proc-macro2 1.0.85", - "syn 2.0.68", + "proc-macro2 1.0.92", + "syn 2.0.89", ] [[package]] @@ -6208,11 +6405,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.21.1", + "toml_edit", ] [[package]] @@ -6222,8 +6419,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", "version_check", ] @@ -6234,8 +6431,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "version_check", ] @@ -6250,9 +6447,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -6284,19 +6481,19 @@ dependencies = [ [[package]] name = "proptest" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" +checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.5.0", + "bitflags 2.6.0", "lazy_static", "num-traits", "rand", "rand_chacha", "rand_xorshift", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", "rusty-fork", "tempfile", "unarray", @@ -6373,8 +6570,8 @@ checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" dependencies = [ "anyhow", "itertools 0.10.5", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -6386,8 +6583,8 @@ checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", "itertools 0.10.5", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -6399,9 +6596,9 @@ checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools 0.12.1", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -6424,9 +6621,9 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.21" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" dependencies = [ "cc", ] @@ -6496,11 +6693,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ - "proc-macro2 1.0.85", + "proc-macro2 1.0.92", ] [[package]] @@ -6596,25 +6793,25 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a25d631e41bfb5fdcde1d4e2215f62f7f0afa3ff11e26563765bd6ea1d229aeb" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", @@ -6636,21 +6833,21 @@ version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "regex" -version = "1.10.5" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -6664,13 +6861,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -6681,9 +6878,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "report" @@ -6710,7 +6907,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.31", "hyper-rustls 0.24.2", "ipnet", "js-sys", @@ -6725,7 +6922,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", "tokio-rustls 0.24.1", "tower-service", @@ -6734,14 +6931,14 @@ dependencies = [ "wasm-bindgen-futures", "web-sys", "webpki-roots 0.25.4", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "base64 0.22.1", "bytes", @@ -6749,12 +6946,12 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.6", + "h2 0.4.7", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", - "hyper-rustls 0.27.2", + "hyper 1.5.1", + "hyper-rustls 0.27.3", "hyper-tls", "hyper-util", "ipnet", @@ -6765,12 +6962,12 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile 2.1.3", + "rustls-pemfile 2.2.0", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", - "system-configuration", + "sync_wrapper 1.0.2", + "system-configuration 0.6.1", "tokio", "tokio-native-tls", "tower-service", @@ -6778,7 +6975,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.52.0", + "windows-registry", ] [[package]] @@ -6867,16 +7064,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] [[package]] name = "roaring" -version = "0.10.5" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7699249cc2c7d71939f30868f47e9d7add0bdc030d90ee10bfd16887ff8bb1c8" +checksum = "f81dc953b2244ddd5e7860cb0bb2a790494b898ef321d4aff8e260efab60cc88" dependencies = [ "bytemuck", "byteorder", @@ -6977,9 +7174,9 @@ dependencies = [ "ark-ff 0.4.2", "bytes", "fastrlp", - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-traits", - "parity-scale-codec 3.6.12", + "parity-scale-codec 3.7.0", "primitive-types 0.12.2", "proptest", "rand", @@ -7035,9 +7232,9 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver 1.0.23", ] @@ -7053,11 +7250,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", @@ -7103,13 +7300,13 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" dependencies = [ "once_cell", "rustls-pki-types", - "rustls-webpki 0.102.6", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] @@ -7149,19 +7346,18 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" [[package]] name = "rustls-webpki" @@ -7175,9 +7371,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -7186,9 +7382,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "rusty-fork" @@ -7228,35 +7424,35 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "cfg-if", - "derive_more", - "parity-scale-codec 3.6.12", + "derive_more 1.0.0", + "parity-scale-codec 3.7.0", "scale-info-derive", ] [[package]] name = "scale-info-derive" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 1.0.109", + "proc-macro-crate 3.2.0", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7278,10 +7474,10 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "serde_derive_internals", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -7358,11 +7554,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -7371,9 +7567,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" dependencies = [ "core-foundation-sys", "libc", @@ -7399,9 +7595,9 @@ dependencies = [ [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] @@ -7420,9 +7616,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] @@ -7470,22 +7666,22 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -7494,18 +7690,18 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.6.0", "itoa", "memchr", "ryu", @@ -7539,16 +7735,16 @@ version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -7591,7 +7787,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.6", + "indexmap 2.6.0", "serde", "serde_derive", "serde_json", @@ -7605,10 +7801,10 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ - "darling 0.20.9", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "darling 0.20.10", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -7617,10 +7813,10 @@ version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ - "darling 0.20.9", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "darling 0.20.10", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -7749,9 +7945,9 @@ dependencies = [ [[package]] name = "sha3-asm" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b57fd861253bff08bb1919e995f90ba8f4889de2726091c8876f3a4e823b40" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" dependencies = [ "cc", "cfg-if", @@ -7778,6 +7974,12 @@ dependencies = [ "serde_repr", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -7815,9 +8017,9 @@ dependencies = [ [[package]] name = "similar" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" +checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" [[package]] name = "simple_asn1" @@ -7825,7 +8027,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-traits", "thiserror", "time", @@ -7870,9 +8072,9 @@ checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -7926,111 +8128,125 @@ dependencies = [ "der 0.7.9", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "stacker" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" +checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" dependencies = [ "cc", "cfg-if", "libc", "psm", - "winapi", + "windows-sys 0.59.0", ] [[package]] name = "starknet-core" -version = "0.10.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed286d637e34fb8ae1cd2f9615120ec8ff38d1cffd311ed7fdd497cdd2bd01f" +checksum = "2538240cbe6663c673fe77465f294da707080f39678dd7066761554899e46100" dependencies = [ "base64 0.21.7", + "crypto-bigint", "flate2", "hex", "serde", "serde_json", "serde_json_pythonic", - "serde_with 2.3.3", + "serde_with 3.11.0", "sha3", "starknet-crypto", - "starknet-ff", + "starknet-types-core", ] [[package]] name = "starknet-crypto" -version = "0.6.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e2c30c01e8eb0fc913c4ee3cf676389fffc1d1182bfe5bb9670e4e72e968064" +checksum = "ded22ccf4cb9e572ce3f77de6066af53560cd2520d508876c83bb1e6b29d5cbc" dependencies = [ "crypto-bigint", "hex", "hmac", - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-integer", "num-traits", "rfc6979", "sha2 0.10.8", - "starknet-crypto-codegen", "starknet-curve", - "starknet-ff", + "starknet-types-core", "zeroize", ] -[[package]] -name = "starknet-crypto-codegen" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbc159a1934c7be9761c237333a57febe060ace2bc9e3b337a59a37af206d19f" -dependencies = [ - "starknet-curve", - "starknet-ff", - "syn 2.0.68", -] - [[package]] name = "starknet-curve" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1c383518bb312751e4be80f53e8644034aa99a0afb29d7ac41b89a997db875b" -dependencies = [ - "starknet-ff", -] - -[[package]] -name = "starknet-ff" -version = "0.3.7" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abf1b44ec5b18d87c1ae5f54590ca9d0699ef4dd5b2ffa66fc97f24613ec585" +checksum = "bcde6bd74269b8161948190ace6cf069ef20ac6e79cd2ba09b320efa7500b6de" dependencies = [ - "ark-ff 0.4.2", - "bigdecimal", - "crypto-bigint", - "getrandom", - "hex", - "serde", + "starknet-types-core", ] [[package]] name = "starknet-providers" -version = "0.10.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6abf40ffcbe3b887b4d5cfc8ab73170c816b4aa78d1d4ad59abd3fb3b0f53cd" +checksum = "60e8e69ba7a36dea2d28333be82b4011f8784333d3ae5618482b6587c1ffb66c" dependencies = [ "async-trait", "auto_impl", "ethereum-types", "flate2", + "getrandom", "log", "reqwest 0.11.27", "serde", "serde_json", - "serde_with 2.3.3", + "serde_with 3.11.0", "starknet-core", "thiserror", "url", ] +[[package]] +name = "starknet-types" +version = "1.0.0" +dependencies = [ + "cosmwasm-std", + "error-stack", + "ethers-core", + "futures", + "hex", + "itertools 0.11.0", + "rand", + "router-api", + "starknet-core", + "starknet-types-core", + "thiserror", + "tokio", +] + +[[package]] +name = "starknet-types-core" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa1b9e01ccb217ab6d475c5cda05dbb22c30029f7bb52b192a010a00d77a3d74" +dependencies = [ + "lambdaworks-crypto", + "lambdaworks-math", + "num-bigint 0.4.6", + "num-integer", + "num-traits", + "serde", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -8152,9 +8368,9 @@ dependencies = [ [[package]] name = "strum" -version = "0.26.2" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ "strum_macros 0.26.4", ] @@ -8166,8 +8382,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "rustversion", "syn 1.0.109", ] @@ -8179,10 +8395,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "rustversion", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -8192,17 +8408,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "rustversion", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "subtle-encoding" @@ -8329,10 +8545,10 @@ version = "0.7.0" source = "git+https://github.com/mystenlabs/sui?tag=mainnet-v1.26.2#f531168c745260b60a4ec4906c9f2b22240d872d" dependencies = [ "msim-macros", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "sui-enum-compat-util", - "syn 2.0.68", + "syn 2.0.89", ] [[package]] @@ -8355,8 +8571,8 @@ name = "sui-protocol-config-macros" version = "0.1.0" source = "git+https://github.com/mystenlabs/sui?tag=mainnet-v1.26.2#f531168c745260b60a4ec4906c9f2b22240d872d" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -8394,14 +8610,14 @@ dependencies = [ "chrono", "consensus-config", "derivative", - "derive_more", + "derive_more 0.99.18", "enum_dispatch", "eyre", "fastcrypto", "fastcrypto-tbls", "fastcrypto-zkp", "im", - "indexmap 2.2.6", + "indexmap 2.6.0", "itertools 0.10.5", "jsonrpsee", "lru", @@ -8419,7 +8635,7 @@ dependencies = [ "narwhal-config", "narwhal-crypto", "nonempty", - "num-bigint 0.4.5", + "num-bigint 0.4.6", "num-traits", "num_enum 0.6.1", "once_cell", @@ -8477,19 +8693,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.68" +version = "2.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "unicode-ident", ] @@ -8500,9 +8716,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" dependencies = [ "paste", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -8513,9 +8729,12 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -8523,10 +8742,21 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", - "unicode-xid 0.2.4", + "unicode-xid 0.2.6", +] + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -8537,7 +8767,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -8550,6 +8791,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tabled" version = "0.12.2" @@ -8569,8 +8820,8 @@ checksum = "99f688a08b54f4f02f0a3c382aefdb7884d3d69609f785bd253dc033243e3fe4" dependencies = [ "heck 0.4.1", "proc-macro-error", - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -8582,14 +8833,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", - "fastrand 2.1.0", + "fastrand 2.2.0", + "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -8710,7 +8962,7 @@ dependencies = [ "futures", "getrandom", "http 0.2.12", - "hyper 0.14.29", + "hyper 0.14.31", "hyper-proxy", "hyper-rustls 0.22.1", "peg", @@ -8760,12 +9012,12 @@ checksum = "f34dde0bb841eb3762b42bdff8db11bbdbc0a3bd7b32012955f5ce1d081f86c1" [[package]] name = "terminal_size" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef" dependencies = [ "rustix", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -8776,22 +9028,22 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -8853,11 +9105,21 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -8891,21 +9153,20 @@ dependencies = [ [[package]] name = "tokio" -version = "1.38.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -8920,13 +9181,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -8977,16 +9238,16 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.12", + "rustls 0.23.19", "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", @@ -9011,9 +9272,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -9034,47 +9295,36 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.21.1" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" -dependencies = [ - "indexmap 2.2.6", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow", ] [[package]] @@ -9092,14 +9342,14 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.31", "hyper-timeout", "percent-encoding", "pin-project", "prost 0.11.9", "tokio", "tokio-stream", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", "tracing", @@ -9119,14 +9369,14 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.29", + "hyper 0.14.31", "hyper-timeout", "percent-encoding", "pin-project", "prost 0.12.6", "tokio", "tokio-stream", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", "tracing", @@ -9139,9 +9389,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4" dependencies = [ "prettyplease 0.1.25", - "proc-macro2 1.0.85", + "proc-macro2 1.0.92", "prost-build", - "quote 1.0.36", + "quote 1.0.37", "syn 1.0.109", ] @@ -9179,6 +9429,22 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower-http" version = "0.3.5" @@ -9202,30 +9468,30 @@ dependencies = [ "pin-project-lite", "tokio", "tokio-util", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", "tracing", - "uuid 1.10.0", + "uuid 1.11.0", ] [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite", @@ -9235,20 +9501,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -9316,8 +9582,8 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b79e2e9c9ab44c6d7c20d5976961b47e8f49ac199154daa514b77cd1ab536625" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -9362,9 +9628,9 @@ version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f718dfaf347dcb5b983bfc87608144b0bad87970aebcbea5ce44d2a30c08e63" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] [[package]] @@ -9384,9 +9650,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -9408,24 +9674,15 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.15" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-normalization" @@ -9438,9 +9695,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-xid" @@ -9450,9 +9707,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -9495,9 +9752,9 @@ dependencies = [ [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -9510,6 +9767,18 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -9524,9 +9793,9 @@ checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ "getrandom", "rand", @@ -9547,8 +9816,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d44690c645190cfce32f91a1582281654b2338c6073fa250b0949fd25c55b32" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", + "proc-macro2 1.0.92", + "quote 1.0.37", "syn 1.0.109", ] @@ -9568,7 +9837,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aae2faf80ac463422992abf4de234731279c058aaf33171ca70277c98406b124" dependencies = [ - "quote 1.0.36", + "quote 1.0.37", "syn 1.0.109", ] @@ -9580,9 +9849,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vfs" @@ -9617,6 +9886,7 @@ dependencies = [ "service-registry", "service-registry-api", "sha3", + "starknet-core", "thiserror", ] @@ -9656,34 +9926,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" dependencies = [ "cfg-if", "js-sys", @@ -9693,38 +9964,38 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ - "quote 1.0.36", + "quote 1.0.37", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -9804,11 +10075,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -9823,7 +10094,37 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", ] [[package]] @@ -9841,7 +10142,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -9861,18 +10171,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -9883,9 +10193,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -9895,9 +10205,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -9907,15 +10217,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -9925,9 +10235,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -9937,9 +10247,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -9949,9 +10259,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -9961,24 +10271,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - -[[package]] -name = "winnow" -version = "0.5.40" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.13" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -9994,14 +10295,16 @@ dependencies = [ ] [[package]] -name = "winreg" -version = "0.52.0" +name = "write16" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" [[package]] name = "ws_stream_wasm" @@ -10014,7 +10317,7 @@ dependencies = [ "js-sys", "log", "pharos", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "send_wrapper 0.6.0", "thiserror", "wasm-bindgen", @@ -10064,12 +10367,6 @@ dependencies = [ "linked-hash-map", ] -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - [[package]] name = "yansi" version = "1.0.1" @@ -10085,24 +10382,70 @@ dependencies = [ "time", ] +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", + "synstructure 0.13.1", +] + [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", + "synstructure 0.13.1", ] [[package]] @@ -10120,7 +10463,29 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.85", - "quote 1.0.36", - "syn 2.0.68", + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.89", ] diff --git a/Cargo.toml b/Cargo.toml index e00f9e7dc..0d0c37f72 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -86,6 +86,11 @@ tokio-stream = "0.1.11" tokio-util = "0.7.11" voting-verifier = { version = "^1.1.0", path = "contracts/voting-verifier" } axelar-core-std = { version = "^1.0.0", path = "packages/axelar-core-std" } +# Async +futures-concurrency = "7.4" +futures-util = "0.3" +futures = "0.3" +async-trait = "0" [workspace.lints.clippy] arithmetic_side_effects = "deny" diff --git a/ampd/src/handlers/mod.rs b/ampd/src/handlers/mod.rs index abb1b3c2a..ce724a7e5 100644 --- a/ampd/src/handlers/mod.rs +++ b/ampd/src/handlers/mod.rs @@ -6,6 +6,7 @@ pub mod multisig; pub mod mvx_verify_msg; pub mod mvx_verify_verifier_set; pub mod starknet_verify_msg; +pub mod starknet_verify_verifier_set; pub(crate) mod stellar_verify_msg; pub(crate) mod stellar_verify_verifier_set; pub mod sui_verify_msg; diff --git a/ampd/src/handlers/starknet_verify_verifier_set.rs b/ampd/src/handlers/starknet_verify_verifier_set.rs new file mode 100644 index 000000000..7623e8fc5 --- /dev/null +++ b/ampd/src/handlers/starknet_verify_verifier_set.rs @@ -0,0 +1,161 @@ +//! Module responsible for handling verification of verifier set changes. +//! It processes events related to verifier set, verifies them against the Starknet chain, +//! and manages the voting process for confirming these changes. + +use std::convert::TryInto; + +use async_trait::async_trait; +use axelar_wasm_std::msg_id::HexTxHashAndEventIndex; +use axelar_wasm_std::voting::{PollId, Vote}; +use cosmrs::cosmwasm::MsgExecuteContract; +use cosmrs::tx::Msg; +use cosmrs::Any; +use error_stack::ResultExt; +use events::Error::EventTypeMismatch; +use events::Event; +use events_derive::try_from; +use multisig::verifier_set::VerifierSet; +use serde::Deserialize; +use starknet_core::types::Felt; +use tokio::sync::watch::Receiver; +use tracing::{info, info_span}; +use valuable::Valuable; +use voting_verifier::msg::ExecuteMsg; + +use crate::event_processor::EventHandler; +use crate::handlers::errors::Error; +use crate::starknet::json_rpc::StarknetClient; +use crate::starknet::verifier::verify_verifier_set; +use crate::types::TMAddress; + +#[derive(Deserialize, Debug)] +pub struct VerifierSetConfirmation { + pub message_id: HexTxHashAndEventIndex, // FIXME: in the future replace by FieldElementAndEventIndex + pub verifier_set: VerifierSet, +} + +#[derive(Deserialize, Debug)] +#[try_from("wasm-verifier_set_poll_started")] +struct PollStartedEvent { + poll_id: PollId, + source_gateway_address: String, + verifier_set: VerifierSetConfirmation, + participants: Vec, + expires_at: u64, +} + +pub struct Handler +where + C: StarknetClient + Send + Sync, +{ + verifier: TMAddress, + voting_verifier_contract: TMAddress, + rpc_client: C, + latest_block_height: Receiver, +} + +impl Handler +where + C: StarknetClient + Send + Sync, +{ + /// Handler for verifying verifier set updates from Starknet + /// + /// # Type Parameters + /// * `C` - A Starknet client type that implements the [`StarknetClient`] trait + #[allow(dead_code)] + pub fn new( + verifier: TMAddress, + voting_verifier_contract: TMAddress, + rpc_client: C, + latest_block_height: Receiver, + ) -> Self { + Self { + verifier, + voting_verifier_contract, + rpc_client, + latest_block_height, + } + } + + fn vote_msg(&self, poll_id: PollId, vote: Vote) -> MsgExecuteContract { + MsgExecuteContract { + sender: self.verifier.as_ref().clone(), + contract: self.voting_verifier_contract.as_ref().clone(), + msg: serde_json::to_vec(&ExecuteMsg::Vote { + poll_id, + votes: vec![vote], + }) + .expect("vote msg should serialize"), + funds: vec![], + } + } +} + +#[async_trait] +impl EventHandler for Handler +where + C: StarknetClient + Send + Sync + 'static, +{ + type Err = Error; + + async fn handle(&self, event: &Event) -> error_stack::Result, Self::Err> { + if !event.is_from_contract(self.voting_verifier_contract.as_ref()) { + return Ok(vec![]); + } + + let PollStartedEvent { + poll_id, + source_gateway_address, + verifier_set, + expires_at, + participants, + } = match event.try_into() as error_stack::Result<_, _> { + Err(report) if matches!(report.current_context(), EventTypeMismatch(_)) => { + return Ok(vec![]) + } + event => event.change_context(Error::DeserializeEvent)?, + }; + + if !participants.contains(&self.verifier) { + return Ok(vec![]); + } + + if *self.latest_block_height.borrow() >= expires_at { + info!(poll_id = poll_id.to_string(), "skipping expired poll"); + return Ok(vec![]); + } + + let transaction_response = self + .rpc_client + .get_event_by_hash_signers_rotated(Felt::from_bytes_be( + &verifier_set.message_id.tx_hash, + )) + .await + .unwrap(); + + let vote = info_span!( + "verify a new verifier set", + poll_id = poll_id.to_string(), + message_id = verifier_set.message_id.to_string(), + ) + .in_scope(|| { + info!("ready to verify verifier set in poll",); + + let vote = transaction_response.map_or(Vote::NotFound, |tx_receipt| { + verify_verifier_set(&tx_receipt.1, &verifier_set, &source_gateway_address) + }); + + info!( + vote = vote.as_value(), + "ready to vote for a new verifier set in poll" + ); + + vote + }); + + Ok(vec![self + .vote_msg(poll_id, vote) + .into_any() + .expect("vote msg should serialize")]) + } +} diff --git a/ampd/src/starknet/json_rpc.rs b/ampd/src/starknet/json_rpc.rs index 66c1d4131..2a728dcdd 100644 --- a/ampd/src/starknet/json_rpc.rs +++ b/ampd/src/starknet/json_rpc.rs @@ -8,6 +8,7 @@ use starknet_core::types::{ExecutionResult, Felt, FromStrError, TransactionRecei use starknet_providers::jsonrpc::JsonRpcTransport; use starknet_providers::{JsonRpcClient, Provider, ProviderError}; use starknet_types::events::contract_call::ContractCallEvent; +use starknet_types::events::signers_rotated::SignersRotatedEvent; use thiserror::Error; type Result = error_stack::Result; @@ -58,6 +59,13 @@ pub trait StarknetClient { /// Attempts to fetch a ContractCall event, by a given `tx_hash`. /// Returns a tuple `(tx_hash, event)` or a `StarknetClientError`. async fn get_event_by_hash(&self, tx_hash: Felt) -> Result>; + + /// Attempts to fetch a SignersRotated event, by a given `tx_hash`. + /// Returns a tuple `(tx_hash, event)` or a `StarknetClientError`. + async fn get_event_by_hash_signers_rotated( + &self, + tx_hash: Felt, + ) -> Result>; } #[async_trait] @@ -106,6 +114,58 @@ where Ok(event) } + + /// Fetches a transaction receipt by hash and extracts a SignersRotatedEvent if present + /// + /// # Arguments + /// + /// * `tx_hash` - The hash of the transaction to fetch + /// + /// # Returns + /// + /// * `Ok(Some((tx_hash, SignersRotatedEvent)))` - If the transaction exists and contains a valid SignersRotatedEvent + /// * `Ok(None)` - If the transaction exists but contains no SignersRotatedEvent + /// * `Err(StarknetClientError)` - If there was an error fetching the receipt or the transaction failed + /// + /// # Errors + /// + /// Returns a `StarknetClientError` if: + /// * Failed to fetch the transaction receipt from the node + /// * The transaction execution was not successful + async fn get_event_by_hash_signers_rotated( + &self, + tx_hash: Felt, + ) -> Result> { + let receipt_with_block_info = self + .client + .get_transaction_receipt(tx_hash) + .await + .map_err(StarknetClientError::FetchingReceipt)?; + + if *receipt_with_block_info.receipt.execution_result() != ExecutionResult::Succeeded { + return Err(Report::new(StarknetClientError::UnsuccessfulTx)); + } + + let event: Option<(Felt, SignersRotatedEvent)> = match receipt_with_block_info.receipt { + TransactionReceipt::Invoke(tx) => tx + .events + .iter() + .filter_map(|e| { + if let Ok(sre) = SignersRotatedEvent::try_from(e.clone()) { + Some((tx.transaction_hash, sre)) + } else { + None + } + }) + .next(), + TransactionReceipt::L1Handler(_) => None, + TransactionReceipt::Declare(_) => None, + TransactionReceipt::Deploy(_) => None, + TransactionReceipt::DeployAccount(_) => None, + }; + + Ok(event) + } } #[cfg(test)] @@ -123,9 +183,21 @@ mod test { }; use starknet_providers::{ProviderError, ProviderRequestData}; use starknet_types::events::contract_call::ContractCallEvent; + use starknet_types::events::signers_rotated::SignersRotatedEvent; use super::{Client, StarknetClient, StarknetClientError}; + #[tokio::test] + async fn invalid_signers_rotated_event_tx_fetch() { + let mock_client = + Client::new_with_transport(InvalidSignersRotatedEventMockTransport).unwrap(); + let contract_call_event = mock_client + .get_event_by_hash_signers_rotated(Felt::ONE) + .await; + + assert!(contract_call_event.unwrap().is_none()); + } + #[tokio::test] async fn deploy_account_tx_fetch() { let mock_client = Client::new_with_transport(DeployAccountMockTransport).unwrap(); @@ -194,8 +266,47 @@ mod test { } #[tokio::test] - async fn successful_tx_fetch() { - let mock_client = Client::new_with_transport(ValidMockTransport).unwrap(); + async fn successful_signers_rotated_tx_fetch() { + let mock_client = Client::new_with_transport(ValidMockTransportSignersRotated).unwrap(); + let signers_rotated_event: (Felt, SignersRotatedEvent) = mock_client + .get_event_by_hash_signers_rotated(Felt::ONE) + .await + .unwrap() // unwrap the result + .unwrap(); // unwrap the option + + assert_eq!( + signers_rotated_event.0, + Felt::from_str("0x0000000000000000000000000000000000000000000000000000000000000001") + .unwrap() + ); + + let actual: SignersRotatedEvent = signers_rotated_event.1; + let expected: SignersRotatedEvent = SignersRotatedEvent { + from_address: "0x2".to_string(), + epoch: 1, + signers_hash: [ + 226, 62, 119, 4, 210, 79, 100, 110, 94, 54, 44, 97, 64, 122, 105, 210, 212, 32, 63, + 225, 67, 54, 50, 83, 200, 154, 39, 162, 106, 108, 184, 31, + ], + signers: starknet_types::events::signers_rotated::WeightedSigners { + signers: vec![starknet_types::events::signers_rotated::Signer { + signer: "0x3ec7d572a0fe479768ac46355651f22a982b99cc".to_string(), + weight: 1, + }], + threshold: 1, + nonce: [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 47, 228, 157, + ], + }, + }; + + assert_eq!(actual, expected); + } + + #[tokio::test] + async fn successful_call_contract_tx_fetch() { + let mock_client = Client::new_with_transport(ValidMockTransportCallContract).unwrap(); let contract_call_event = mock_client .get_event_by_hash(Felt::ONE) .await @@ -612,6 +723,91 @@ mod test { } } + struct InvalidSignersRotatedEventMockTransport; + + #[async_trait] + impl JsonRpcTransport for InvalidSignersRotatedEventMockTransport { + type Error = HttpTransportError; + + async fn send_requests( + &self, + _requests: R, + ) -> Result>, Self::Error> + where + R: AsRef<[ProviderRequestData]> + Send + Sync, + { + unimplemented!(); + } + + async fn send_request( + &self, + _method: JsonRpcMethod, + _params: P, + ) -> Result, Self::Error> + where + P: Serialize + Send + Sync, + R: DeserializeOwned, + { + // garbage "data" + let response_mock = "{ + \"jsonrpc\": \"2.0\", + \"result\": { + \"type\": \"INVOKE\", + \"transaction_hash\": \"0x000000000000000000000000000000000000000000000000000000000000001\", + \"actual_fee\": { + \"amount\": \"0x3062e4c46d4\", + \"unit\": \"WEI\" + }, + \"execution_status\": \"SUCCEEDED\", + \"finality_status\": \"ACCEPTED_ON_L2\", + \"block_hash\": \"0x5820e3a0aaceebdbda0b308fdf666eff64f263f6ed8ee74d6f78683b65a997b\", + \"block_number\": 637493, + \"messages_sent\": [], + \"events\": [ + { + \"from_address\": \"0x000000000000000000000000000000000000000000000000000000000000002\", + \"keys\": [ + \"0x01815547484542c49542242a23bc0a1b762af99232f38c0417050825aea8fc93\", + \"0x0268929df65ee595bb8592323f981351efdc467d564effc6d2e54d2e666e43ca\", + \"0x01\", + \"0xd4203fe143363253c89a27a26a6cb81f\", + \"0xe23e7704d24f646e5e362c61407a69d2\" + ], + \"data\": [ + \"0xb3ff441a68610b30fd5e2abbf3a1548eb6ba6f3559f2862bf2dc757e5828ca\", + \"0x0000000000000000000000000000000000000000000000000000000000000000\", + \"0x00000000000000000000000000000000000000000000000000000068656c6c6f\", + \"0x0000000000000000000000000000000000000000000000000000000000000001\", + \"0x0000000000000000000000000000000056d9517b9c948127319a09a7a36deac8\", + \"0x000000000000000000000000000000001c8aff950685c2ed4bc3174f3472287b\", + \"0x0000000000000000000000000000000000000000000000000000000000000005\", + \"0x0000000000000000000000000000000000000000000000000000000000000068\", + \"0x0000000000000000000000000000000000000000000000000000000000000065\", + \"0x000000000000000000000000000000000000000000000000000000000000006c\", + \"0x000000000000000000000000000000000000000000000000000000000000006c\", + \"0x000000000000000000000000000000000000000000000000000000000000006f\" + ] + } + ], + \"execution_resources\": { + \"data_availability\": { + \"l1_data_gas\": 0, + \"l1_gas\": 0 + }, + \"memory_holes\": 1176, + \"pedersen_builtin_applications\": 34, + \"range_check_builtin_applications\": 1279, + \"steps\": 17574 + } + }, + \"id\": 0 +}"; + let parsed_response = serde_json::from_str(response_mock).map_err(Self::Error::Json)?; + + Ok(parsed_response) + } + } + struct InvalidContractCallEventMockTransport; #[async_trait] @@ -656,8 +852,11 @@ mod test { { \"from_address\": \"0x000000000000000000000000000000000000000000000000000000000000002\", \"keys\": [ - \"0x034d074b86d78f064ec0a29639fcfab989c7a3ea6343653633624b2df9ec08f6\", - \"0x00000000000000000000000000000064657374696e6174696f6e5f636861696e\" + \"0x01815547484542c49542242a23bc0a1b762af99232f38c0417050825aea8fc93\", + \"0x0268929df65ee595bb8592323f981351efdc467d564effc6d2e54d2e666e43ca\", + \"0x01\", + \"0xd4203fe143363253c89a27a26a6cb81f\", + \"0xe23e7704d24f646e5e362c61407a69d2\" ], \"data\": [ \"0xb3ff441a68610b30fd5e2abbf3a1548eb6ba6f3559f2862bf2dc757e5828ca\", @@ -694,10 +893,88 @@ mod test { } } - struct ValidMockTransport; + struct ValidMockTransportSignersRotated; + + #[async_trait] + impl JsonRpcTransport for ValidMockTransportSignersRotated { + type Error = HttpTransportError; + + async fn send_requests( + &self, + _requests: R, + ) -> Result>, Self::Error> + where + R: AsRef<[ProviderRequestData]> + Send + Sync, + { + unimplemented!(); + } + + async fn send_request( + &self, + _method: JsonRpcMethod, + _params: P, + ) -> Result, Self::Error> + where + P: Serialize + Send + Sync, + R: DeserializeOwned, + { + let response_mock = "{ + \"jsonrpc\": \"2.0\", + \"result\": { + \"type\": \"INVOKE\", + \"transaction_hash\": \"0x0000000000000000000000000000000000000000000000000000000000000001\", + \"actual_fee\": { + \"amount\": \"0x3062e4c46d4\", + \"unit\": \"WEI\" + }, + \"execution_status\": \"SUCCEEDED\", + \"finality_status\": \"ACCEPTED_ON_L2\", + \"block_hash\": \"0x5820e3a0aaceebdbda0b308fdf666eff64f263f6ed8ee74d6f78683b65a997b\", + \"block_number\": 637493, + \"messages_sent\": [], + \"events\": [ + { + \"from_address\": \"0x0000000000000000000000000000000000000000000000000000000000000002\", + \"keys\": [ + \"0x01815547484542c49542242a23bc0a1b762af99232f38c0417050825aea8fc93\", + \"0x0268929df65ee595bb8592323f981351efdc467d564effc6d2e54d2e666e43ca\", + \"0x01\", + \"0xd4203fe143363253c89a27a26a6cb81f\", + \"0xe23e7704d24f646e5e362c61407a69d2\" + ], + \"data\": [ + \"0x01\", + \"0x3ec7d572a0fe479768ac46355651f22a982b99cc\", + \"0x01\", + \"0x01\", + \"0x2fe49d\", + \"0x00\" + ] + } + ], + \"execution_resources\": { + \"data_availability\": { + \"l1_data_gas\": 0, + \"l1_gas\": 0 + }, + \"memory_holes\": 1176, + \"pedersen_builtin_applications\": 34, + \"range_check_builtin_applications\": 1279, + \"steps\": 17574 + } + }, + \"id\": 0 +}"; + let parsed_response = serde_json::from_str(response_mock).map_err(Self::Error::Json)?; + + Ok(parsed_response) + } + } + + struct ValidMockTransportCallContract; #[async_trait] - impl JsonRpcTransport for ValidMockTransport { + impl JsonRpcTransport for ValidMockTransportCallContract { type Error = HttpTransportError; async fn send_requests( diff --git a/ampd/src/starknet/verifier.rs b/ampd/src/starknet/verifier.rs index d45206857..4460c4bdc 100644 --- a/ampd/src/starknet/verifier.rs +++ b/ampd/src/starknet/verifier.rs @@ -1,7 +1,10 @@ use axelar_wasm_std::voting::Vote; +use cosmwasm_std::HexBinary; use starknet_types::events::contract_call::ContractCallEvent; +use starknet_types::events::signers_rotated::SignersRotatedEvent; use crate::handlers::starknet_verify_msg::Message; +use crate::handlers::starknet_verify_verifier_set::VerifierSetConfirmation; /// Attempts to fetch the tx provided in `axl_msg.tx_id`. /// If successful, extracts and parses the ContractCall event @@ -30,19 +33,78 @@ impl PartialEq for ContractCallEvent { } } +pub fn verify_verifier_set( + event: &SignersRotatedEvent, + confirmation: &VerifierSetConfirmation, + source_gateway_address: &str, +) -> Vote { + if event.signers.nonce != [0_u8; 32] + && event == confirmation + && event.from_address == source_gateway_address + { + Vote::SucceededOnChain + } else { + Vote::NotFound + } +} + +impl PartialEq for SignersRotatedEvent { + fn eq(&self, confirmation: &VerifierSetConfirmation) -> bool { + let expected = &confirmation.verifier_set; + + // Convert and sort expected signers + let mut expected_signers = expected + .signers + .values() + .map(|signer| { + if let multisig::key::PublicKey::Ecdsa(pubkey) = &signer.pub_key { + (pubkey.clone(), signer.weight.u128()) + } else { + // Skip non-ECDSA keys + (HexBinary::from_hex("").unwrap(), 0) + } + }) + .collect::>(); + expected_signers.sort(); + + // Convert and sort actual signers from the event + let mut actual_signers = self + .signers + .signers + .iter() + .map(|signer| (HexBinary::from_hex(&signer.signer).unwrap(), signer.weight)) + .collect::>(); + actual_signers.sort(); + + // Compare signers, threshold, and created_at timestamp + actual_signers == expected_signers + && self.signers.threshold == expected.threshold.u128() + && self.epoch == expected.created_at + } +} + #[cfg(test)] mod tests { + use std::collections::BTreeMap; use std::str::FromStr; - use axelar_wasm_std::msg_id::FieldElementAndEventIndex; + use axelar_wasm_std::msg_id::{FieldElementAndEventIndex, HexTxHashAndEventIndex}; use axelar_wasm_std::voting::Vote; + use cosmwasm_std::{Addr, HexBinary, Uint128}; use ethers_core::types::H256; + use multisig::msg::Signer; + use multisig::verifier_set::VerifierSet; use router_api::ChainName; use starknet_core::types::Felt; use starknet_types::events::contract_call::ContractCallEvent; + use starknet_types::events::signers_rotated::{ + Signer as StarknetSigner, SignersRotatedEvent, WeightedSigners, + }; use super::verify_msg; use crate::handlers::starknet_verify_msg::Message; + use crate::handlers::starknet_verify_verifier_set::VerifierSetConfirmation; + use crate::starknet::verifier::verify_verifier_set; // "hello" as payload // "hello" as destination address @@ -165,4 +227,120 @@ mod tests { Vote::SucceededOnChain ) } + + /// Verifier set - signers rotated + + fn mock_valid_confirmation_signers_rotated() -> VerifierSetConfirmation { + VerifierSetConfirmation { + verifier_set: mock_valid_verifier_set_signers_rotated(), + message_id: HexTxHashAndEventIndex { + tx_hash: [0_u8; 32], + event_index: 0, + }, + } + } + + fn mock_valid_verifier_set_signers_rotated() -> VerifierSet { + let signers = vec![Signer { + address: Addr::unchecked("axelarvaloper1x86a8prx97ekkqej2x636utrdu23y8wupp9gk5"), + weight: Uint128::from(10u128), + pub_key: multisig::key::PublicKey::Ecdsa( + HexBinary::from_hex( + "03d123ce370b163acd576be0e32e436bb7e63262769881d35fa3573943bf6c6f81", + ) + .unwrap(), + ), + }]; + + let mut btree_signers = BTreeMap::new(); + for signer in signers { + btree_signers.insert(signer.address.clone().to_string(), signer); + } + + VerifierSet { + signers: btree_signers, + threshold: Uint128::one(), + created_at: 1, + } + } + + fn mock_valid_event_signers_rotated() -> SignersRotatedEvent { + SignersRotatedEvent { + // should be the same as the source gw address + from_address: String::from( + "0x035410be6f4bf3f67f7c1bb4a93119d9d410b2f981bfafbf5dbbf5d37ae7439e", + ), + epoch: 1, + signers_hash: [8_u8; 32], + signers: WeightedSigners { + signers: vec![StarknetSigner { + signer: String::from( + "03d123ce370b163acd576be0e32e436bb7e63262769881d35fa3573943bf6c6f81", + ), + weight: Uint128::from(10u128).into(), + }], + threshold: Uint128::one().into(), + nonce: [7_u8; 32], + }, + } + } + + fn mock_second_valid_event_signers_rotated() -> SignersRotatedEvent { + SignersRotatedEvent { + from_address: String::from( + "0x035410be6f4bf3f67f7c1bb4a93119d9d410b2f981bfafbf5dbbf5d37ae7439e", + ), + epoch: 1, + signers_hash: [8_u8; 32], + signers: WeightedSigners { + signers: vec![StarknetSigner { + signer: String::from( + "028584592624e742ba154c02df4c0b06e4e8a957ba081083ea9fe5309492aa6c7b", + ), + weight: Uint128::from(10u128).into(), + }], + threshold: Uint128::one().into(), + nonce: [7_u8; 32], + }, + } + } + + #[test] + fn should_verify_verifier_set() { + let source_gw_address = + String::from("0x035410be6f4bf3f67f7c1bb4a93119d9d410b2f981bfafbf5dbbf5d37ae7439e"); + let confirmation = mock_valid_confirmation_signers_rotated(); + let event = mock_valid_event_signers_rotated(); + + assert_eq!( + verify_verifier_set(&event, &confirmation, &source_gw_address), + Vote::SucceededOnChain + ); + } + + #[test] + fn should_not_verify_verifier_set_if_nonce_zero() { + let mut event = mock_valid_event_signers_rotated(); + event.signers.nonce = [0_u8; 32]; + let gateway_address = + String::from("0x035410be6f4bf3f67f7c1bb4a93119d9d410b2f981bfafbf5dbbf5d37ae7439e"); + let confirmation = mock_valid_confirmation_signers_rotated(); + + assert_eq!( + verify_verifier_set(&event, &confirmation, &gateway_address), + Vote::NotFound + ); + } + #[test] + fn shoud_not_verify_verifier_set_if_signers_mismatch() { + let source_gw_address = + String::from("0x035410be6f4bf3f67f7c1bb4a93119d9d410b2f981bfafbf5dbbf5d37ae7439e"); + let event = mock_second_valid_event_signers_rotated(); + let confirmation = mock_valid_confirmation_signers_rotated(); + + assert_eq!( + verify_verifier_set(&event, &confirmation, &source_gw_address), + Vote::NotFound + ); + } } diff --git a/packages/axelar-wasm-std/src/address.rs b/packages/axelar-wasm-std/src/address.rs index bb0031fcb..76e85fb38 100644 --- a/packages/axelar-wasm-std/src/address.rs +++ b/packages/axelar-wasm-std/src/address.rs @@ -8,7 +8,7 @@ use starknet_types_core::felt::Felt; use stellar_xdr::curr::ScAddress; use sui_types::SuiAddress; -use crate::utils::check_for_felt_overflow; +use crate::utils::does_felt_overflow_from_str; #[derive(thiserror::Error)] #[cw_serde] @@ -72,7 +72,7 @@ pub fn validate_address(address: &str, format: &AddressFormat) -> Result<(), Err ))) } - if check_for_felt_overflow(trimmed_addr) { + if does_felt_overflow_from_str(trimmed_addr) { bail!(Error::InvalidAddress( format!( "field element overflows MAX value of 2^251 + 17 * 2^192: {}", diff --git a/packages/axelar-wasm-std/src/msg_id/starknet_field_element_event_index.rs b/packages/axelar-wasm-std/src/msg_id/starknet_field_element_event_index.rs index eb54f1bb2..4ac459148 100644 --- a/packages/axelar-wasm-std/src/msg_id/starknet_field_element_event_index.rs +++ b/packages/axelar-wasm-std/src/msg_id/starknet_field_element_event_index.rs @@ -11,7 +11,7 @@ use starknet_types_core::felt::Felt; use super::Error; use crate::nonempty; -use crate::utils::check_for_felt_overflow; +use crate::utils::does_felt_overflow_from_str; #[derive(Debug, DeserializeFromStr, Clone)] pub struct FieldElementAndEventIndex { @@ -69,15 +69,14 @@ impl FromStr for FieldElementAndEventIndex { })? .extract(); let tx_id_chunk = &tx_id[2..]; - let felt = Felt::from_hex(tx_id_chunk).map_err(|_| { - Error::InvalidFieldElement(format!("{}", tx_id_chunk.to_string()).to_string()) - })?; + let felt = Felt::from_hex(tx_id_chunk) + .map_err(|_| Error::InvalidFieldElement(tx_id_chunk.to_string()))?; - if check_for_felt_overflow(tx_id_chunk) { + if does_felt_overflow_from_str(tx_id_chunk) { Err(Error::InvalidFieldElement( format!( "field element overflows MAX value of 2^251 + 17 * 2^192: {}", - tx_id_chunk.to_string() + tx_id_chunk ) .to_string(), ))? diff --git a/packages/axelar-wasm-std/src/utils.rs b/packages/axelar-wasm-std/src/utils.rs index c78e5ab4e..292deb920 100644 --- a/packages/axelar-wasm-std/src/utils.rs +++ b/packages/axelar-wasm-std/src/utils.rs @@ -23,7 +23,16 @@ impl TryMapExt for Vec { } /// since the `Felt` type doesn't error on overflow, we have to implement that check -pub(crate) fn check_for_felt_overflow(felt_hex_str: &str) -> bool { +pub fn does_felt_overflow_from_slice(felt_hex_slice: &[u8]) -> bool { + if felt_hex_slice.len() > 32 { + return true; + } + let felt_max_hex_str = format!("{:064x}", Felt::MAX); + U256::from_be_slice(felt_hex_slice) > U256::from_be_hex(&felt_max_hex_str) +} + +/// since the `Felt` type doesn't error on overflow, we have to implement that check +pub fn does_felt_overflow_from_str(felt_hex_str: &str) -> bool { let felt_hex_str = felt_hex_str.trim_start_matches("0x"); let felt_max_hex_str = format!("{:064x}", Felt::MAX); U256::from_be_hex(felt_hex_str) > U256::from_be_hex(&felt_max_hex_str) diff --git a/packages/starknet-types/Cargo.toml b/packages/starknet-types/Cargo.toml index 1999425f2..839eeac05 100644 --- a/packages/starknet-types/Cargo.toml +++ b/packages/starknet-types/Cargo.toml @@ -5,6 +5,7 @@ rust-version.workspace = true edition.workspace = true [dependencies] +axelar-wasm-std = { workspace = true, features = ["derive"] } cosmwasm-std = { workspace = true } router-api = { workspace = true } ethers-core = { workspace = true } @@ -14,6 +15,14 @@ error-stack = { workspace = true } thiserror = { workspace = true } itertools = { workspace = true } hex = { workspace = true } +tokio = { version = "1", features = [ + "rt", + "signal", + "rt-multi-thread", + "macros", +] } +rand = { workspace = true } +futures = { workspace = true } [lints] workspace = true diff --git a/packages/starknet-types/src/events.rs b/packages/starknet-types/src/events.rs index 6c97d7beb..cd1c4fa77 100644 --- a/packages/starknet-types/src/events.rs +++ b/packages/starknet-types/src/events.rs @@ -4,7 +4,7 @@ use starknet_core::types::Felt; use starknet_core::utils::starknet_keccak; pub mod contract_call; - +pub mod signers_rotated; // Since a keccak hash over a string is a deterministic operation, // we can use `OnceLock` to eliminate useless hash calculations. static CALL_CONTRACT_FELT: OnceLock = OnceLock::new(); diff --git a/packages/starknet-types/src/events/contract_call.rs b/packages/starknet-types/src/events/contract_call.rs index 7546e6d62..cb243a8a5 100644 --- a/packages/starknet-types/src/events/contract_call.rs +++ b/packages/starknet-types/src/events/contract_call.rs @@ -167,7 +167,7 @@ mod tests { starknet_event.data[1] = Felt::MAX; let event = ContractCallEvent::try_from(starknet_event).unwrap_err(); - assert!(matches!(event, ContractCallError::Cairo(_))); + assert!(matches!(event, ContractCallError::TryFromConversion(_))); } #[test] diff --git a/packages/starknet-types/src/events/signers_rotated.rs b/packages/starknet-types/src/events/signers_rotated.rs new file mode 100644 index 000000000..194fc0969 --- /dev/null +++ b/packages/starknet-types/src/events/signers_rotated.rs @@ -0,0 +1,366 @@ +use starknet_core::types::{Event, Felt}; +use thiserror::Error; + +/// An error, representing failure to convert/parse a starknet event +/// to a SignersRotated event. +#[derive(Error, Debug)] +pub enum SignersRotatedErrors { + /// Error returned when a required signers hash is missing from a + /// transaction. + #[error("missing signers hash for transaction")] + MissingSignersHash, + + /// Error returned when payload data cannot be parsed correctly. + #[error("failed to parse payload data, error: {0}")] + FailedToParsePayloadData(String), + + /// Error returned when the payload data is missing. + #[error("missing payload data for transaction")] + MissingPayloadData, + + /// Error returned when the epoch number in a transaction is invalid or + /// unexpected. + #[error("incorrect epoch for transaction")] + IncorrectEpoch, + + /// Error returned when the threshold in a transaction is invalid or + /// unexpected. + #[error("incorrect threshold for transaction")] + IncorrectThreshold, + + /// Error returned when the nonce in a transaction is missing. + #[error("missing nonce for transaction")] + MissingNonce, + + /// Error returned when the keys in a transaction are missing. + #[error("missing keys for transaction")] + MissingKeys, +} + +/// Represents a weighted signer +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Signer { + /// The address of the signer + pub signer: String, + /// The weight (voting power) of this signer + pub weight: u128, +} + +/// Represents a set of signers +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct WeightedSigners { + pub signers: Vec, + pub threshold: u128, + pub nonce: [u8; 32], +} + +/// Represents a Starknet SignersRotated event +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct SignersRotatedEvent { + /// The address of the sender + pub from_address: String, + /// The epoch number when this rotation occurred + pub epoch: u64, + /// The hash of the new signers + pub signers_hash: [u8; 32], + /// The new set of weighted signers with their voting power + pub signers: WeightedSigners, +} + +impl TryFrom for SignersRotatedEvent { + type Error = SignersRotatedErrors; + + /// Attempts to convert a Starknet event to a SignersRotated event + /// + /// # Arguments + /// + /// * `event` - The Starknet event to convert + /// + /// # Returns + /// + /// * `Ok(SignersRotated)` - Successfully converted event containing: + /// * `epoch` - The epoch number when rotation occurred + /// * `signers_hash` - Hash of the new signers (32 bytes) + /// * `signers` - New set of weighted signers with: + /// * List of signers with their addresses and weights + /// * Threshold for required voting power + /// * Nonce value (32 bytes) + /// + /// # Errors + /// + /// Returns a `SignersRotatedErrors` if: + /// * Event data or keys are empty + /// * Failed to parse epoch number + /// * Missing or invalid signers hash + /// * Failed to parse signers array length + /// * Failed to parse signer addresses or weights + /// * Missing or invalid threshold + /// * Missing or invalid nonce + fn try_from(event: Event) -> Result { + if event.data.is_empty() { + return Err(SignersRotatedErrors::MissingPayloadData); + } + if event.keys.is_empty() { + return Err(SignersRotatedErrors::MissingKeys); + } + + let from_address = event.from_address.to_hex_string(); + + // it starts at 2 because 0 is the selector and 1 is the from_address + let epoch_index = 2; + // INFO: there might be better way to convert to u64 + let epoch = event + .keys + .get(epoch_index) + .ok_or(SignersRotatedErrors::IncorrectEpoch)? + .to_string() + .parse::() + .map_err(|_| SignersRotatedErrors::IncorrectEpoch)?; + + // Construct signers hash + let mut signers_hash = [0_u8; 32]; + let lsb = event + .keys + .get(epoch_index + 1) + .map(Felt::to_bytes_be) + .ok_or(SignersRotatedErrors::MissingSignersHash)?; + let msb = event + .keys + .get(epoch_index + 2) + .map(Felt::to_bytes_be) + .ok_or(SignersRotatedErrors::MissingSignersHash)?; + signers_hash[..16].copy_from_slice(&msb[16..]); + signers_hash[16..].copy_from_slice(&lsb[16..]); + + // Parse signers array from event data + let mut buff_signers = vec![]; + + let signers_index = 0; + let signers_len = event.data[signers_index] + .to_string() + .parse::() + .map_err(|_| { + SignersRotatedErrors::FailedToParsePayloadData( + "failed to parse signers length".to_string(), + ) + })?; + let signers_end_index = signers_index.saturating_add(signers_len.saturating_mul(2)); + + // Parse signers and weights + for i in 0..signers_len { + let signer_index = signers_index + .saturating_add(1) + .saturating_add(i.saturating_mul(2)); + let weight_index = signer_index.saturating_add(1); + + // Get signer address as bytes + let signer = event.data[signer_index].to_hex_string(); + + // Parse weight + let weight = event.data[weight_index] + .to_string() + .parse::() + .map_err(|_| { + SignersRotatedErrors::FailedToParsePayloadData( + "failed to parse signer weight".to_string(), + ) + })?; + + buff_signers.push(Signer { signer, weight }); + } + + // Parse threshold + let threshold = event + .data + .get(signers_end_index) + .ok_or(SignersRotatedErrors::IncorrectThreshold)? + .to_string() + .parse::() + .map_err(|_| SignersRotatedErrors::IncorrectThreshold)?; + + // Parse nonce + let mut nonce = [0_u8; 32]; + let lsb = event + .data + .get(event.data.len().saturating_sub(2)) + .map(Felt::to_bytes_be) + .ok_or(SignersRotatedErrors::MissingNonce)?; + let msb = event + .data + .get(event.data.len().saturating_sub(1)) + .map(Felt::to_bytes_be) + .ok_or(SignersRotatedErrors::MissingNonce)?; + nonce[16..].copy_from_slice(&lsb[16..]); + nonce[..16].copy_from_slice(&msb[16..]); + + Ok(SignersRotatedEvent { + from_address, + epoch, + signers_hash, + signers: WeightedSigners { + signers: buff_signers, + threshold, + nonce, + }, + }) + } +} + +#[cfg(test)] +mod tests { + use futures::stream::{FuturesUnordered, StreamExt}; + use starknet_core::types::{EmittedEvent, Felt}; + + use super::*; + + async fn get_valid_event() -> (Vec, Vec, Felt, Felt) { + let keys_data: Vec = vec![ + Felt::from_hex_unchecked( + "0x01815547484542c49542242a23bc0a1b762af99232f38c0417050825aea8fc93", + ), + Felt::from_hex_unchecked( + "0x0268929df65ee595bb8592323f981351efdc467d564effc6d2e54d2e666e43ca", + ), + Felt::from_hex_unchecked("0x01"), + Felt::from_hex_unchecked("0xd4203fe143363253c89a27a26a6cb81f"), + Felt::from_hex_unchecked("0xe23e7704d24f646e5e362c61407a69d2"), + ]; + + let event_data: Vec = vec![ + Felt::from_hex_unchecked("0x01"), + Felt::from_hex_unchecked("0x3ec7d572a0fe479768ac46355651f22a982b99cc"), + Felt::from_hex_unchecked("0x01"), + Felt::from_hex_unchecked("0x01"), + Felt::from_hex_unchecked("0x2fe49d"), + Felt::from_hex_unchecked("0x00"), + ]; + ( + keys_data, + event_data, + // sender_address + Felt::from_hex_unchecked( + "0x0282b4492e08d8b6bbec8dfe7412e42e897eef9c080c5b97be1537433e583bdc", + ), + // tx_hash + Felt::from_hex_unchecked( + "0x04663231715b17dd58cd08e63d6b31d2c86b158d4730da9a1b75ca2452c9910c", + ), + ) + } + + /// Generate a set of data with random modifications + async fn get_malformed_event() -> (Vec, Vec, Felt, Felt) { + let (mut keys_data, mut event_data, sender_address, tx_hash) = get_valid_event().await; + // Randomly remove an element from either vector + match rand::random::() { + true if !keys_data.is_empty() => { + let random_index = rand::random::() % keys_data.len(); + keys_data.remove(random_index); + } + false if !event_data.is_empty() => { + let random_index = rand::random::() % event_data.len(); + event_data.remove(random_index); + } + _ => {} + } + + // Randomly corrupt data values + if rand::random::() { + if let Some(elem) = keys_data.first_mut() { + *elem = Felt::from_hex_unchecked("0xdeadbeef"); + } + } + if rand::random::() { + if let Some(elem) = event_data.first_mut() { + *elem = Felt::from_hex_unchecked("0xcafebabe"); + } + } + + (keys_data, event_data, sender_address, tx_hash) + } + + #[tokio::test] + async fn test_try_from_event_happy_scenario() { + let (keys_data, event_data, sender_address, tx_hash) = get_valid_event().await; + + assert!(SignersRotatedEvent::try_from(Event { + from_address: sender_address, + keys: keys_data, + data: event_data, + }) + .is_ok()); + } + + #[tokio::test] + async fn test_try_from_empty_event() { + let (_, _, sender_address, tx_hash) = get_valid_event().await; + let result = SignersRotatedEvent::try_from(Event { + data: vec![], + from_address: sender_address, + keys: vec![], + }); + + assert!(result.is_err()); + } + + #[tokio::test] + async fn test_try_from_event_missing_data() { + let (keys_data, _, sender_address, tx_hash) = get_valid_event().await; + let event = SignersRotatedEvent::try_from(Event { + data: vec![], + from_address: sender_address, + keys: keys_data, + }); + + assert!(event.is_err()); + assert!(matches!( + event, + Err(SignersRotatedErrors::MissingPayloadData) + )); + } + + #[tokio::test] + async fn test_try_from_event_missing_keys() { + let (_, event_data, sender_address, tx_hash) = get_valid_event().await; + let event = SignersRotatedEvent::try_from(Event { + data: event_data, + from_address: sender_address, + keys: vec![], + }); + + assert!(event.is_err()); + assert!(matches!(event, Err(SignersRotatedErrors::MissingKeys))); + } + + #[tokio::test] + async fn test_try_from_event_randomly_malformed_data_x1000() { + let mut futures = FuturesUnordered::new(); + + for _ in 0..1000 { + futures.push(async { + let (_, event_data, sender_address, tx_hash) = get_malformed_event().await; + let event = EmittedEvent { + data: event_data, + from_address: sender_address, + keys: vec![], + transaction_hash: tx_hash, + block_hash: None, + block_number: None, + }; + SignersRotatedEvent::try_from(Event { + data: event.data, + from_address: event.from_address, + keys: event.keys, + }) + .is_err() + }); + } + + // if any conversion succeeded then it should have failed + while let Some(result) = futures.next().await { + if !result { + panic!("expected conversion to fail for malformed event"); + } + } + } +} diff --git a/packages/starknet-types/src/types/starknet_message.rs b/packages/starknet-types/src/types/starknet_message.rs index a07b5a52f..aa7c77489 100644 --- a/packages/starknet-types/src/types/starknet_message.rs +++ b/packages/starknet-types/src/types/starknet_message.rs @@ -1,5 +1,6 @@ use std::str::FromStr; +use axelar_wasm_std::utils::does_felt_overflow_from_slice; use error_stack::{Report, ResultExt}; use ethers_core::abi::{InvalidOutputType, Token, Tokenizable}; use ethers_core::types::U256; @@ -60,28 +61,29 @@ impl Tokenizable for StarknetMessage { tokens[3].clone(), tokens[4].clone(), ) { - let contract_address_bytes: [u8; 32] = - contract_address.try_into().map_err(|_| { - InvalidOutputType( - "failed to convert contract_address to bytes32".to_string(), - ) - })?; + if does_felt_overflow_from_slice(contract_address.as_slice()) { + return Err(InvalidOutputType( + "failed to convert contract_address bytes to field element (felt)" + .to_string(), + )); + } - let contract_address_felt: Felt = Felt::from_bytes_be(&contract_address_bytes); + let contract_address_felt: Felt = + Felt::from_bytes_be_slice(&contract_address.as_slice()); return Ok(StarknetMessage { source_chain, message_id, source_address, contract_address: contract_address_felt, - payload_hash: U256::from(payload_hash), + payload_hash, }); } } - return Err(InvalidOutputType( + Err(InvalidOutputType( "failed to convert tokens to StarknetMessage".to_string(), - )); + )) } fn into_token(self) -> Token { @@ -158,7 +160,7 @@ mod tests { // Tested like this, because InvalidOutputType doesn't implement PartialEq assert!( - matches!(result, Err(InvalidOutputType(msg)) if msg == "failed to convert contract_address to bytes32") + matches!(result, Err(InvalidOutputType(msg)) if msg == "failed to convert contract_address bytes to field element (felt)") ); }