diff --git a/Cargo.lock b/Cargo.lock index df972d34..ea7fc40b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -98,7 +98,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" dependencies = [ "cipher 0.2.5", - "opaque-debug 0.3.1", + "opaque-debug", ] [[package]] @@ -108,7 +108,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" dependencies = [ "cipher 0.2.5", - "opaque-debug 0.3.1", + "opaque-debug", ] [[package]] @@ -152,9 +152,9 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "alloy-primitives" -version = "0.6.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "600d34d8de81e23b6d909c094e23b3d357e01ca36b78a8c5424c501eedbe86f0" +checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" dependencies = [ "alloy-rlp", "bytes", @@ -184,27 +184,56 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.6.4" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" +dependencies = [ + "alloy-sol-macro-expander", + "alloy-sol-macro-input", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.70", +] + +[[package]] +name = "alloy-sol-macro-expander" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86ec0a47740b20bc5613b8712d0d321d031c4efc58e9645af96085d5cccfc27" +checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" dependencies = [ + "alloy-sol-macro-input", "const-hex", - "dunce", - "heck 0.4.1", + "heck 0.5.0", "indexmap 2.2.6", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", "syn-solidity", "tiny-keccak", ] +[[package]] +name = "alloy-sol-macro-input" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" +dependencies = [ + "const-hex", + "dunce", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.70", + "syn-solidity", +] + [[package]] name = "alloy-sol-types" -version = "0.6.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad09ec5853fa700d12d778ad224dcdec636af424d29fad84fb9a2f16a5b0ef09" +checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" dependencies = [ "alloy-primitives", "alloy-sol-macro", @@ -431,12 +460,6 @@ dependencies = [ "rand 0.8.5", ] -[[package]] -name = "array-bytes" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" - [[package]] name = "array-bytes" version = "6.2.3" @@ -710,13 +733,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -763,7 +786,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -859,11 +882,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" dependencies = [ - "bitcoin_hashes", - "rand 0.8.5", - "rand_core 0.6.4", - "serde", - "unicode-normalization", + "bitcoin_hashes 0.11.0", ] [[package]] @@ -881,12 +900,28 @@ 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_hashes" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" +[[package]] +name = "bitcoin_hashes" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" +dependencies = [ + "bitcoin-internals", + "hex-conservative", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -941,18 +976,6 @@ dependencies = [ "constant_time_eq 0.3.0", ] -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -dependencies = [ - "block-padding", - "byte-tools", - "byteorder", - "generic-array 0.12.4", -] - [[package]] name = "block-buffer" version = "0.9.0" @@ -971,15 +994,6 @@ dependencies = [ "generic-array 0.14.7", ] -[[package]] -name = "block-padding" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" -dependencies = [ - "byte-tools", -] - [[package]] name = "blocking" version = "1.6.1" @@ -995,9 +1009,9 @@ dependencies = [ [[package]] name = "bounded-collections" -version = "0.1.9" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca548b6163b872067dc5eb82fd130c56881435e30367d2073594a3d9744120dd" +checksum = "d32385ecb91a31bddaf908e8dcf4a15aef1bcd3913cc03ebfad02ff6d568abc1" dependencies = [ "log", "parity-scale-codec", @@ -1005,12 +1019,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - [[package]] name = "bs58" version = "0.5.1" @@ -1033,12 +1041,6 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" - [[package]] name = "byteorder" version = "1.5.0" @@ -1109,21 +1111,33 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.104" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b6a57f98764a267ff415d50a25e6e166f3831a5071af4995296ea97d210490" +checksum = "eaff6f8ce506b9773fa786672d63fc7a191ffea1be33f72bbd4aeacefca9ffc8" dependencies = [ "jobserver", "libc", "once_cell", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chacha20" version = "0.9.1" @@ -1175,7 +1189,7 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" dependencies = [ - "bs58 0.5.1", + "bs58", "coins-core", "digest 0.10.7", "hmac 0.12.1", @@ -1209,7 +1223,7 @@ checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" dependencies = [ "base64 0.21.7", "bech32", - "bs58 0.5.1", + "bs58", "digest 0.10.7", "generic-array 0.14.7", "hex", @@ -1221,6 +1235,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "common-path" version = "1.0.0" @@ -1300,7 +1324,7 @@ dependencies = [ "flate2", "futures-util", "http 0.2.12", - "hyper", + "hyper 0.14.30", "hyperlocal", "log", "mime", @@ -1478,16 +1502,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "crypto-mac" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" -dependencies = [ - "generic-array 0.14.7", - "subtle", -] - [[package]] name = "ctr" version = "0.6.0" @@ -1506,19 +1520,6 @@ dependencies = [ "cipher 0.4.4", ] -[[package]] -name = "curve25519-dalek" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216" -dependencies = [ - "byteorder", - "digest 0.8.1", - "rand_core 0.5.1", - "subtle", - "zeroize", -] - [[package]] name = "curve25519-dalek" version = "3.2.0" @@ -1556,20 +1557,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", -] - -[[package]] -name = "curve25519-dalek-ng" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.6.4", - "subtle-ng", - "zeroize", + "syn 2.0.70", ] [[package]] @@ -1584,12 +1572,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]] @@ -1608,16 +1596,16 @@ dependencies = [ [[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", "quote", "strsim 0.11.1", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -1633,13 +1621,13 @@ dependencies = [ [[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", + "darling_core 0.20.10", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -1715,29 +1703,31 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] -name = "derive_more" -version = "0.99.18" +name = "derive-where" +version = "1.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version 0.4.0", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] -name = "digest" -version = "0.8.1" +name = "derive_more" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ - "generic-array 0.12.4", + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.0", + "syn 2.0.70", ] [[package]] @@ -1830,7 +1820,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.68", + "syn 2.0.70", "termcolor", "toml", "walkdir", @@ -1851,7 +1841,7 @@ dependencies = [ "docker-api-stubs", "futures-util", "http 0.2.12", - "hyper", + "hyper 0.14.30", "log", "paste", "serde", @@ -1922,19 +1912,11 @@ dependencies = [ "digest 0.10.7", "elliptic-curve", "rfc6979", - "signature 2.2.0", + "serdect", + "signature", "spki", ] -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature 1.6.4", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -1942,21 +1924,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", - "signature 2.2.0", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", + "signature", ] [[package]] @@ -1966,7 +1934,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek 4.1.3", - "ed25519 2.2.3", + "ed25519", "serde", "sha2 0.10.8", "subtle", @@ -1994,7 +1962,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ "curve25519-dalek 4.1.3", - "ed25519 2.2.3", + "ed25519", "hashbrown 0.14.5", "hex", "rand_core 0.6.4", @@ -2024,6 +1992,7 @@ dependencies = [ "pkcs8", "rand_core 0.6.4", "sec1", + "serdect", "subtle", "zeroize", ] @@ -2076,16 +2045,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "erased-serde" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" -dependencies = [ - "serde", - "typeid", -] - [[package]] name = "errno" version = "0.3.9" @@ -2249,7 +2208,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "syn 2.0.68", + "syn 2.0.70", "toml", "walkdir", ] @@ -2267,7 +2226,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -2293,7 +2252,7 @@ dependencies = [ "serde", "serde_json", "strum 0.26.3", - "syn 2.0.68", + "syn 2.0.70", "tempfile", "thiserror", "tiny-keccak", @@ -2481,7 +2440,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -2494,12 +2453,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - [[package]] name = "fallible-iterator" version = "0.2.0" @@ -2532,22 +2485,6 @@ dependencies = [ "bytes", ] -[[package]] -name = "femme" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc04871e5ae3aa2952d552dae6b291b3099723bf779a8054281c1366a54613ef" -dependencies = [ - "cfg-if", - "js-sys", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "ff" version = "0.13.0" @@ -2586,6 +2523,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "finito" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2384245d85162258a14b43567a9ee3598f5ae746a1581fb5d3d2cb780f0dbf95" +dependencies = [ + "futures-timer", + "pin-project", +] + [[package]] name = "fixed-hash" version = "0.8.0" @@ -2646,9 +2593,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93d3f0315c2eccf23453609e0ab92fe7c6ad1ca8129bcaf80b9a08c8d7fc52b" +checksum = "ad4cc2314d3be8b49c555f6a7e550f5559e73ffd6ef9690ffbd9a706774452e0" dependencies = [ "parity-scale-codec", ] @@ -2815,7 +2762,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -2867,15 +2814,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "generic-array" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" -dependencies = [ - "typenum", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -2889,9 +2827,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "152dd546e5bdac80844ce6befabb9af5784ce375cb6cea554aed99fe2d1fb169" +checksum = "96512db27971c2c3eece70a1e106fbe6c87760234e31e8f7e5634912fe52794a" dependencies = [ "typenum", ] @@ -2936,7 +2874,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" dependencies = [ - "opaque-debug 0.3.1", + "opaque-debug", "polyval", ] @@ -3005,6 +2943,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "h2" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hash-db" version = "0.16.0" @@ -3091,6 +3048,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" @@ -3127,16 +3090,6 @@ dependencies = [ "digest 0.9.0", ] -[[package]] -name = "hmac" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" -dependencies = [ - "crypto-mac 0.11.0", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.12.1" @@ -3199,6 +3152,29 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "pin-project-lite", +] + [[package]] name = "http-client" version = "6.5.3" @@ -3252,17 +3228,17 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", - "http-body", + "http-body 0.4.6", "httparse", "httpdate", "itoa", @@ -3274,6 +3250,26 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.0", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-rustls" version = "0.24.2" @@ -3282,7 +3278,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper", + "hyper 0.14.30", "log", "rustls 0.21.12", "rustls-native-certs 0.6.3", @@ -3291,14 +3287,52 @@ dependencies = [ ] [[package]] -name = "hyperlocal" -version = "0.8.0" +name = "hyper-rustls" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "log", + "rustls 0.23.11", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.4.1", + "pin-project-lite", + "socket2 0.5.7", + "tokio", + "tower", + "tower-service", + "tracing", +] + +[[package]] +name = "hyperlocal" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fafdf7b2b2de7c9784f76e02c0935e65a8117ec3b768644379983ab333ac98c" dependencies = [ "futures-util", "hex", - "hyper", + "hyper 0.14.30", "pin-project", "tokio", ] @@ -3507,6 +3541,26 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jni" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "jobserver" version = "0.1.31" @@ -3525,18 +3579,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "jsonrpsee" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9579d0ca9fb30da026bac2f0f7d9576ec93489aeb7cd4971dd5b4617d82c79b2" -dependencies = [ - "jsonrpsee-client-transport 0.21.0", - "jsonrpsee-core 0.21.0", - "jsonrpsee-http-client 0.21.0", - "jsonrpsee-types 0.21.0", -] - [[package]] name = "jsonrpsee" version = "0.22.5" @@ -3547,22 +3589,45 @@ dependencies = [ "jsonrpsee-core 0.22.5", "jsonrpsee-http-client 0.22.5", "jsonrpsee-types 0.22.5", - "jsonrpsee-ws-client", +] + +[[package]] +name = "jsonrpsee" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47" +dependencies = [ + "jsonrpsee-core 0.23.2", + "jsonrpsee-types 0.23.2", + "jsonrpsee-ws-client 0.23.2", +] + +[[package]] +name = "jsonrpsee" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e419d6c39cb9632288c592a06d7d0a96740021b0bff812e211ace754b0fe8c9a" +dependencies = [ + "jsonrpsee-client-transport 0.24.0", + "jsonrpsee-core 0.24.0", + "jsonrpsee-http-client 0.24.0", + "jsonrpsee-types 0.24.0", + "jsonrpsee-ws-client 0.24.0", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.21.0" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9f9ed46590a8d5681975f126e22531698211b926129a40a2db47cbca429220" +checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa" dependencies = [ "futures-util", "http 0.2.12", - "jsonrpsee-core 0.21.0", + "jsonrpsee-core 0.22.5", "pin-project", "rustls-native-certs 0.7.1", "rustls-pki-types", - "soketto", + "soketto 0.7.1", "thiserror", "tokio", "tokio-rustls 0.25.0", @@ -3573,42 +3638,65 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa" +checksum = "08163edd8bcc466c33d79e10f695cdc98c00d1e6ddfb95cec41b6b0279dd5432" dependencies = [ + "base64 0.22.1", "futures-util", - "http 0.2.12", - "jsonrpsee-core 0.22.5", + "http 1.1.0", + "jsonrpsee-core 0.23.2", "pin-project", - "rustls-native-certs 0.7.1", + "rustls 0.23.11", "rustls-pki-types", - "soketto", + "rustls-platform-verifier", + "soketto 0.8.0", "thiserror", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls 0.26.0", + "tokio-util", + "tracing", + "url", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8b6dc3b1e2da087969e69a095e7d6127966c8c194490b311017bb2053a7d5a1" +dependencies = [ + "base64 0.22.1", + "futures-util", + "http 1.1.0", + "jsonrpsee-core 0.24.0", + "pin-project", + "rustls 0.23.11", + "rustls-pki-types", + "rustls-platform-verifier", + "soketto 0.8.0", + "thiserror", + "tokio", + "tokio-rustls 0.26.0", "tokio-util", "tracing", "url", - "webpki-roots 0.26.3", ] [[package]] name = "jsonrpsee-core" -version = "0.21.0" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "776d009e2f591b78c038e0d053a796f94575d66ca4e77dd84bfc5e81419e436c" +checksum = "b4b257e1ec385e07b0255dde0b933f948b5c8b8c28d42afda9587c3a967b896d" dependencies = [ "anyhow", - "async-lock 3.4.0", "async-trait", "beef", "futures-timer", "futures-util", - "hyper", - "jsonrpsee-types 0.21.0", + "hyper 0.14.30", + "jsonrpsee-types 0.22.5", "pin-project", - "rustc-hash", + "rustc-hash 1.1.0", "serde", "serde_json", "thiserror", @@ -3619,19 +3707,18 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b257e1ec385e07b0255dde0b933f948b5c8b8c28d42afda9587c3a967b896d" +checksum = "79712302e737d23ca0daa178e752c9334846b08321d439fd89af9a384f8c830b" dependencies = [ "anyhow", "async-trait", "beef", "futures-timer", "futures-util", - "hyper", - "jsonrpsee-types 0.22.5", + "jsonrpsee-types 0.23.2", "pin-project", - "rustc-hash", + "rustc-hash 1.1.0", "serde", "serde_json", "thiserror", @@ -3641,23 +3728,27 @@ dependencies = [ ] [[package]] -name = "jsonrpsee-http-client" -version = "0.21.0" +name = "jsonrpsee-core" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b7de9f3219d95985eb77fd03194d7c1b56c19bce1abfcc9d07462574b15572" +checksum = "d06b8be79a3bdd7d87c1d95c0e939052b7f64fffce7b9436986e43e92f20a978" dependencies = [ "async-trait", - "hyper", - "hyper-rustls", - "jsonrpsee-core 0.21.0", - "jsonrpsee-types 0.21.0", + "bytes", + "futures-timer", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "jsonrpsee-types 0.24.0", + "pin-project", + "rustc-hash 2.0.0", "serde", "serde_json", "thiserror", "tokio", - "tower", + "tokio-stream", "tracing", - "url", ] [[package]] @@ -3667,8 +3758,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ccf93fc4a0bfe05d851d37d7c32b7f370fe94336b52a2f0efc5f1981895c2e5" dependencies = [ "async-trait", - "hyper", - "hyper-rustls", + "hyper 0.14.30", + "hyper-rustls 0.24.2", "jsonrpsee-core 0.22.5", "jsonrpsee-types 0.22.5", "serde", @@ -3681,16 +3772,28 @@ dependencies = [ ] [[package]] -name = "jsonrpsee-types" -version = "0.21.0" +name = "jsonrpsee-http-client" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3266dfb045c9174b24c77c2dfe0084914bb23a6b2597d70c9dc6018392e1cd1b" +checksum = "52dc99c70619e252e6adc5e95144323505a69a1742771de5b3f2071e1595b363" dependencies = [ - "anyhow", - "beef", + "async-trait", + "base64 0.22.1", + "http-body 1.0.0", + "hyper 1.4.1", + "hyper-rustls 0.27.2", + "hyper-util", + "jsonrpsee-core 0.24.0", + "jsonrpsee-types 0.24.0", + "rustls 0.23.11", + "rustls-platform-verifier", "serde", "serde_json", "thiserror", + "tokio", + "tower", + "tracing", + "url", ] [[package]] @@ -3706,16 +3809,54 @@ dependencies = [ "thiserror", ] +[[package]] +name = "jsonrpsee-types" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af" +dependencies = [ + "beef", + "http 1.1.0", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0feba38a9878d70ccccd2f54b534b15e861d6caa7911d59abfd3e0d8b4de091f" +dependencies = [ + "http 1.1.0", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "jsonrpsee-ws-client" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58b9db2dfd5bb1194b0ce921504df9ceae210a345bc2f6c5a61432089bbab070" +checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e" dependencies = [ - "http 0.2.12", - "jsonrpsee-client-transport 0.22.5", - "jsonrpsee-core 0.22.5", - "jsonrpsee-types 0.22.5", + "http 1.1.0", + "jsonrpsee-client-transport 0.23.2", + "jsonrpsee-core 0.23.2", + "jsonrpsee-types 0.23.2", + "url", +] + +[[package]] +name = "jsonrpsee-ws-client" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e82b1c7fc629c345581d89ad802d53dc11d18df11d4d94d2c95da6e70f8520d3" +dependencies = [ + "http 1.1.0", + "jsonrpsee-client-transport 0.24.0", + "jsonrpsee-core 0.24.0", + "jsonrpsee-types 0.24.0", "url", ] @@ -3743,8 +3884,9 @@ dependencies = [ "ecdsa", "elliptic-curve", "once_cell", + "serdect", "sha2 0.10.8", - "signature 2.2.0", + "signature", ] [[package]] @@ -3928,7 +4070,6 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" dependencies = [ - "serde", "value-bag", ] @@ -4002,18 +4143,6 @@ dependencies = [ "hash-db", ] -[[package]] -name = "merlin" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.5.1", - "zeroize", -] - [[package]] name = "merlin" version = "3.0.0" @@ -4267,16 +4396,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", + "syn 2.0.70", ] [[package]] @@ -4306,12 +4426,6 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "opaque-debug" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" - [[package]] name = "opaque-debug" version = "0.3.1" @@ -4366,7 +4480,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -4411,6 +4525,19 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "parity-bip39" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" +dependencies = [ + "bitcoin_hashes 0.13.0", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "unicode-normalization", +] + [[package]] name = "parity-scale-codec" version = "3.6.12" @@ -4478,6 +4605,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "password-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "paste" version = "1.0.15" @@ -4490,15 +4628,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" -[[package]] -name = "pbkdf2" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" -dependencies = [ - "crypto-mac 0.11.0", -] - [[package]] name = "pbkdf2" version = "0.11.0" @@ -4507,7 +4636,7 @@ checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ "digest 0.10.7", "hmac 0.12.1", - "password-hash", + "password-hash 0.4.2", "sha2 0.10.8", ] @@ -4519,6 +4648,7 @@ checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", "hmac 0.12.1", + "password-hash 0.5.0", ] [[package]] @@ -4606,7 +4736,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -4644,7 +4774,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -4686,6 +4816,80 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +[[package]] +name = "polkavm-common" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c99f7eee94e7be43ba37eef65ad0ee8cbaf89b7c00001c3f6d2be985cb1817" + +[[package]] +name = "polkavm-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92" + +[[package]] +name = "polkavm-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79fa916f7962348bd1bb1a65a83401675e6fc86c51a0fdbcf92a3108e58e6125" +dependencies = [ + "polkavm-derive-impl-macro 0.8.0", +] + +[[package]] +name = "polkavm-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606" +dependencies = [ + "polkavm-derive-impl-macro 0.9.0", +] + +[[package]] +name = "polkavm-derive-impl" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c10b2654a8a10a83c260bfb93e97b262cf0017494ab94a65d389e0eda6de6c9c" +dependencies = [ + "polkavm-common 0.8.0", + "proc-macro2", + "quote", + "syn 2.0.70", +] + +[[package]] +name = "polkavm-derive-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c" +dependencies = [ + "polkavm-common 0.9.0", + "proc-macro2", + "quote", + "syn 2.0.70", +] + +[[package]] +name = "polkavm-derive-impl-macro" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e85319a0d5129dc9f021c62607e0804f5fb777a05cdda44d750ac0732def66" +dependencies = [ + "polkavm-derive-impl 0.8.0", + "syn 2.0.70", +] + +[[package]] +name = "polkavm-derive-impl-macro" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" +dependencies = [ + "polkavm-derive-impl 0.9.0", + "syn 2.0.70", +] + [[package]] name = "polling" version = "2.8.0" @@ -4724,7 +4928,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures", - "opaque-debug 0.3.1", + "opaque-debug", "universal-hash 0.5.1", ] @@ -4735,7 +4939,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" dependencies = [ "cpuid-bool", - "opaque-debug 0.3.1", + "opaque-debug", "universal-hash 0.4.0", ] @@ -4764,7 +4968,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -5000,14 +5204,30 @@ dependencies = [ ] [[package]] -name = "redox_syscall" -version = "0.4.1" +name = "reconnecting-jsonrpsee-ws-client" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "06fa4f17e09edfc3131636082faaec633c7baa269396b4004040bc6c52f49f65" dependencies = [ - "bitflags 1.3.2", -] - + "cfg_aliases", + "finito", + "futures", + "jsonrpsee 0.23.2", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.5.2" @@ -5045,7 +5265,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -5103,11 +5323,11 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2", + "h2 0.3.26", "http 0.2.12", - "http-body", - "hyper", - "hyper-rustls", + "http-body 0.4.6", + "hyper 0.14.30", + "hyper-rustls 0.24.2", "ipnet", "js-sys", "log", @@ -5293,9 +5513,9 @@ dependencies = [ "anyhow", "bech32", "blake2-rfc", - "bs58 0.5.1", + "bs58", "ecdsa", - "ed25519-dalek 1.0.1", + "ed25519-dalek", "hex", "hmac 0.12.1", "k256", @@ -5303,12 +5523,12 @@ dependencies = [ "rand 0.8.5", "ripemd", "rust-bip39", - "schnorrkel 0.10.2", + "schnorrkel", "sha2 0.10.8", "sha3", - "sp-core 21.0.0", + "sp-core", "ss58-registry", - "substrate-bip39", + "substrate-bip39 0.6.0", "thiserror", ] @@ -5341,7 +5561,7 @@ dependencies = [ "auto_impl", "futures-core", "hex-literal", - "jsonrpsee-core 0.22.5", + "jsonrpsee-core 0.24.0", "parity-scale-codec", "rosetta-ethereum-types", "scale-info", @@ -5373,7 +5593,7 @@ dependencies = [ "rlp", "rlp-derive", "scale-info", - "secp256k1 0.28.2", + "secp256k1", "serde", "serde_json", "sha3", @@ -5389,24 +5609,20 @@ version = "0.6.0" dependencies = [ "anyhow", "async-trait", - "femme", "futures", "futures-timer", "futures-util", "hex", - "jsonrpsee 0.22.5", - "log", - "nanoid", + "jsonrpsee 0.24.0", "pin-project", "serde", "serde_json", "subxt", "tokio", "tokio-retry", - "tokio-tungstenite 0.21.0", + "tokio-tungstenite 0.23.1", "tracing", "url", - "vergen", ] [[package]] @@ -5546,7 +5762,7 @@ version = "0.6.0" dependencies = [ "anyhow", "blake2-rfc", - "bs58 0.5.1", + "bs58", "parity-scale-codec", "rosetta-config-polkadot", "rosetta-core", @@ -5568,13 +5784,13 @@ dependencies = [ "bytes", "futures-timer", "futures-util", - "generic-array 1.0.1", + "generic-array 1.1.0", "impl-serde", - "jsonrpsee-core 0.22.5", + "jsonrpsee-core 0.24.0", "pin-project", "serde", "serde_json", - "sp-std 14.0.0", + "sp-std", "tokio", "tracing", ] @@ -5615,7 +5831,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f868fd508789837c62557c8eb3c2ce6891ed3b4961e96e14f068d35299c270f" dependencies = [ - "bitcoin_hashes", + "bitcoin_hashes 0.11.0", "rand_core 0.6.4", "serde", "unicode-normalization", @@ -5633,6 +5849,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc-hex" version = "2.1.0" @@ -5733,6 +5955,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls" +version = "0.23.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4828ea528154ae444e5a642dbb7d5623354030dc9822b83fd9bb79683c7399d0" +dependencies = [ + "log", + "once_cell", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.5", + "subtle", + "zeroize", +] + [[package]] name = "rustls-native-certs" version = "0.6.3" @@ -5783,6 +6020,33 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +[[package]] +name = "rustls-platform-verifier" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e3beb939bcd33c269f4bf946cc829fcd336370267c4a927ac0399c84a3151a1" +dependencies = [ + "core-foundation", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.11", + "rustls-native-certs 0.7.1", + "rustls-platform-verifier-android", + "rustls-webpki 0.102.5", + "security-framework", + "security-framework-sys", + "webpki-roots 0.26.3", + "winapi", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84e217e7fdc8466b5b35d30f8c0a30febd29173df4a3a0c2115d306b9c4117ad" + [[package]] name = "rustls-webpki" version = "0.101.7" @@ -5859,38 +6123,38 @@ dependencies = [ [[package]] name = "scale-bits" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "036575c29af9b6e4866ffb7fa055dbf623fe7a9cc159b33786de6013a6969d89" +checksum = "e57b1e7f6b65ed1f04e79a85a57d755ad56d76fdf1e9bddcc9ae14f71fcdcf54" dependencies = [ "parity-scale-codec", "scale-info", + "scale-type-resolver", "serde", ] [[package]] name = "scale-decode" -version = "0.10.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7caaf753f8ed1ab4752c6afb20174f03598c664724e0e32628e161c21000ff76" +checksum = "e98f3262c250d90e700bb802eb704e1f841e03331c2eb815e46516c4edbf5b27" dependencies = [ "derive_more", "parity-scale-codec", "primitive-types", "scale-bits", "scale-decode-derive", - "scale-info", + "scale-type-resolver", "smallvec", ] [[package]] name = "scale-decode-derive" -version = "0.10.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3475108a1b62c7efd1b5c65974f30109a598b2f45f23c9ae030acb9686966db" +checksum = "9bb22f574168103cdd3133b19281639ca65ad985e24612728f727339dcaf4021" dependencies = [ "darling 0.14.4", - "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -5898,24 +6162,24 @@ dependencies = [ [[package]] name = "scale-encode" -version = "0.5.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d70cb4b29360105483fac1ed567ff95d65224a14dd275b6303ed0a654c78de5" +checksum = "4ba0b9c48dc0eb20c60b083c29447c0c4617cb7c4a4c9fef72aa5c5bc539e15e" dependencies = [ "derive_more", "parity-scale-codec", "primitive-types", "scale-bits", "scale-encode-derive", - "scale-info", + "scale-type-resolver", "smallvec", ] [[package]] name = "scale-encode-derive" -version = "0.5.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "995491f110efdc6bea96d6a746140e32bfceb4ea47510750a5467295a4707a25" +checksum = "82ab7e60e2d9c8d47105f44527b26f04418e5e624ffc034f6b4a86c0ba19c5bf" dependencies = [ "darling 0.14.4", "proc-macro-crate 1.3.1", @@ -5950,24 +6214,34 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "scale-type-resolver" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" +dependencies = [ + "scale-info", + "smallvec", +] + [[package]] name = "scale-typegen" -version = "0.1.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00860983481ac590ac87972062909bef0d6a658013b592ccc0f2feb272feab11" +checksum = "498d1aecf2ea61325d4511787c115791639c0fd21ef4f8e11e49dd09eff2bbac" dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.68", + "syn 2.0.70", "thiserror", ] [[package]] name = "scale-value" -version = "0.13.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58223c7691bf0bd46b43c9aea6f0472d1067f378d574180232358d7c6e0a8089" +checksum = "f2cf9738c263c665144177201126bdad39d3d62512152f178f35002228026976" dependencies = [ "base58", "blake2", @@ -5979,6 +6253,7 @@ dependencies = [ "scale-decode", "scale-encode", "scale-info", + "scale-type-resolver", "serde", "yap", ] @@ -6003,41 +6278,6 @@ dependencies = [ "hashbrown 0.13.2", ] -[[package]] -name = "schnorrkel" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862" -dependencies = [ - "arrayref", - "arrayvec 0.5.2", - "curve25519-dalek 2.1.3", - "getrandom 0.1.16", - "merlin 2.0.1", - "rand 0.7.3", - "rand_core 0.5.1", - "sha2 0.8.2", - "subtle", - "zeroize", -] - -[[package]] -name = "schnorrkel" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "844b7645371e6ecdf61ff246ba1958c29e802881a749ae3fb1993675d210d28d" -dependencies = [ - "arrayref", - "arrayvec 0.7.4", - "curve25519-dalek-ng", - "merlin 3.0.0", - "rand_core 0.6.4", - "serde_bytes", - "sha2 0.9.9", - "subtle-ng", - "zeroize", -] - [[package]] name = "schnorrkel" version = "0.11.4" @@ -6049,7 +6289,7 @@ dependencies = [ "arrayvec 0.7.4", "curve25519-dalek 4.1.3", "getrandom_or_panic", - "merlin 3.0.0", + "merlin", "rand_core 0.6.4", "serde_bytes", "sha2 0.10.8", @@ -6095,35 +6335,18 @@ dependencies = [ "der", "generic-array 0.14.7", "pkcs8", + "serdect", "subtle", "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62" -dependencies = [ - "secp256k1-sys 0.6.1", -] - [[package]] name = "secp256k1" version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ - "secp256k1-sys 0.9.2", -] - -[[package]] -name = "secp256k1-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -6154,6 +6377,7 @@ dependencies = [ "core-foundation", "core-foundation-sys", "libc", + "num-bigint", "security-framework-sys", ] @@ -6223,9 +6447,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] @@ -6241,22 +6465,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", -] - -[[package]] -name = "serde_fmt" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4" -dependencies = [ - "serde", + "syn 2.0.70", ] [[package]] @@ -6324,10 +6539,20 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ - "darling 0.20.9", + "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", +] + +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct", + "serde", ] [[package]] @@ -6340,7 +6565,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.1", + "opaque-debug", ] [[package]] @@ -6369,18 +6594,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" -[[package]] -name = "sha2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" -dependencies = [ - "block-buffer 0.7.3", - "digest 0.8.1", - "fake-simd", - "opaque-debug 0.2.3", -] - [[package]] name = "sha2" version = "0.9.9" @@ -6391,7 +6604,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.1", + "opaque-debug", ] [[package]] @@ -6443,12 +6656,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - [[package]] name = "signature" version = "2.2.0" @@ -6533,7 +6740,7 @@ dependencies = [ "base64 0.21.7", "bip39", "blake2-rfc", - "bs58 0.5.1", + "bs58", "chacha20", "crossbeam-queue", "derive_more", @@ -6549,7 +6756,7 @@ dependencies = [ "itertools 0.12.1", "libm", "libsecp256k1", - "merlin 3.0.0", + "merlin", "no-std-net", "nom 7.1.3", "num-bigint", @@ -6561,7 +6768,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "ruzstd", - "schnorrkel 0.11.4", + "schnorrkel", "serde", "serde_json", "sha2 0.10.8", @@ -6569,7 +6776,7 @@ dependencies = [ "siphasher 1.0.1", "slab", "smallvec", - "soketto", + "soketto 0.7.1", "twox-hash", "wasmi", "x25519-dalek", @@ -6647,6 +6854,21 @@ dependencies = [ "sha-1", ] +[[package]] +name = "soketto" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures", + "httparse", + "log", + "rand 0.8.5", + "sha1 0.10.6", +] + [[package]] name = "solang-parser" version = "0.3.3" @@ -6663,90 +6885,44 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "30.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4fe7a9b7fa9da76272b201e2fb3c7900d97d32a46b66af9a04dad457f73c71" +checksum = "13ca6121c22c8bd3d1dce1f05c479101fd0d7b159bef2a3e8c834138d839c75c" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", + "sp-core", "sp-io", - "sp-std 14.0.0", + "sp-std", ] [[package]] name = "sp-arithmetic" -version = "23.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f42721f072b421f292a072e8f52a3b3c0fbc27428f0c9fe24067bc47046bad63" +checksum = "910c07fa263b20bf7271fdd4adcb5d3217dfdac14270592e0780223542e7e114" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0", + "sp-std", "static_assertions", ] [[package]] name = "sp-core" -version = "21.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f18d9e2f67d8661f9729f35347069ac29d92758b59135176799db966947a7336" -dependencies = [ - "array-bytes 4.2.0", - "bitflags 1.3.2", - "blake2", - "bounded-collections", - "bs58 0.4.0", - "dyn-clonable", - "ed25519-zebra 3.1.0", - "futures", - "hash-db", - "hash256-std-hasher", - "impl-serde", - "lazy_static", - "libsecp256k1", - "log", - "merlin 2.0.1", - "parity-scale-codec", - "parking_lot", - "paste", - "primitive-types", - "rand 0.8.5", - "regex", - "scale-info", - "schnorrkel 0.9.1", - "secp256k1 0.24.3", - "secrecy", - "serde", - "sp-core-hashing 9.0.0", - "sp-debug-derive 8.0.0", - "sp-externalities 0.19.0", - "sp-runtime-interface 17.0.0", - "sp-std 8.0.0", - "sp-storage 13.0.0", - "ss58-registry", - "substrate-bip39", - "thiserror", - "tiny-bip39", - "zeroize", -] - -[[package]] -name = "sp-core" -version = "28.0.0" +version = "31.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f230cb12575455070da0fc174815958423a0b9a641d5e304a9457113c7cb4007" +checksum = "26d7a0fd8f16dcc3761198fc83be12872f823b37b749bc72a3a6a1f702509366" dependencies = [ - "array-bytes 6.2.3", - "bip39", + "array-bytes", "bitflags 1.3.2", "blake2", "bounded-collections", - "bs58 0.5.1", + "bs58", "dyn-clonable", "ed25519-zebra 3.1.0", "futures", @@ -6754,27 +6930,29 @@ dependencies = [ "hash256-std-hasher", "impl-serde", "itertools 0.10.5", + "k256", "libsecp256k1", "log", - "merlin 3.0.0", + "merlin", + "parity-bip39", "parity-scale-codec", "parking_lot", "paste", "primitive-types", "rand 0.8.5", "scale-info", - "schnorrkel 0.11.4", - "secp256k1 0.28.2", + "schnorrkel", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 15.0.0", - "sp-debug-derive 14.0.0", - "sp-externalities 0.25.0", - "sp-runtime-interface 24.0.0", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-crypto-hashing", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", "ss58-registry", - "substrate-bip39", + "substrate-bip39 0.5.0", "thiserror", "tracing", "w3f-bls", @@ -6782,25 +6960,10 @@ dependencies = [ ] [[package]] -name = "sp-core-hashing" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee599a8399448e65197f9a6cee338ad192e9023e35e31f22382964c3c174c68" -dependencies = [ - "blake2b_simd", - "byteorder", - "digest 0.10.7", - "sha2 0.10.8", - "sha3", - "sp-std 8.0.0", - "twox-hash", -] - -[[package]] -name = "sp-core-hashing" -version = "15.0.0" +name = "sp-crypto-hashing" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0f4990add7b2cefdeca883c0efa99bb4d912cb2196120e1500c0cc099553b0" +checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb" dependencies = [ "blake2b_simd", "byteorder", @@ -6810,17 +6973,6 @@ dependencies = [ "twox-hash", ] -[[package]] -name = "sp-debug-derive" -version = "8.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f531814d2f16995144c74428830ccf7d94ff4a7749632b83ad8199b181140c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.68", -] - [[package]] name = "sp-debug-derive" version = "14.0.0" @@ -6829,53 +6981,43 @@ checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", -] - -[[package]] -name = "sp-externalities" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0f71c671e01a8ca60da925d43a1b351b69626e268b8837f8371e320cf1dd100" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-std 8.0.0", - "sp-storage 13.0.0", + "syn 2.0.70", ] [[package]] name = "sp-externalities" -version = "0.25.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63867ec85950ced90d4ab1bba902a47db1b1efdf2829f653945669b2bb470a9c" +checksum = "a1d6a4572eadd4a63cff92509a210bf425501a0c5e76574b30a366ac77653787" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std", + "sp-storage", ] [[package]] name = "sp-io" -version = "30.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55f26d89feedaf0faf81688b6e1e1e81329cd8b4c6a4fd6c5b97ed9dd068b8a" +checksum = "3e09bba780b55bd9e67979cd8f654a31e4a6cf45426ff371394a65953d2177f2" dependencies = [ "bytes", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "libsecp256k1", "log", "parity-scale-codec", + "polkavm-derive 0.9.1", "rustversion", - "secp256k1 0.28.2", - "sp-core 28.0.0", - "sp-externalities 0.25.0", + "secp256k1", + "sp-core", + "sp-crypto-hashing", + "sp-externalities", "sp-keystore", - "sp-runtime-interface 24.0.0", + "sp-runtime-interface", "sp-state-machine", - "sp-std 14.0.0", - "sp-tracing 16.0.0", + "sp-std", + "sp-tracing", "sp-trie", "tracing", "tracing-core", @@ -6883,26 +7025,25 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "31.0.0" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98165ce7c625a8cdb88d39c6bbd56fe8b32ada64ed0894032beba99795f557da" +checksum = "a07a31da596d705b3a3458d784a897af7fd2f8090de436dc386a112e8ea7f34f" dependencies = [ - "sp-core 28.0.0", + "sp-core", "sp-runtime", "strum 0.24.1", ] [[package]] name = "sp-keystore" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96806a28a62ed9ddecd0b28857b1344d029390f7c5c42a2ff9199cbf5638635c" +checksum = "bdbab8b61bd61d5f8625a0c75753b5d5a23be55d3445419acd42caf59cf6236b" dependencies = [ "parity-scale-codec", "parking_lot", - "sp-core 28.0.0", - "sp-externalities 0.25.0", - "thiserror", + "sp-core", + "sp-externalities", ] [[package]] @@ -6918,9 +7059,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "31.0.1" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3bb49a4475d390198dfd3d41bef4564ab569fbaf1b5e38ae69b35fc01199d91" +checksum = "ec3cb126971e7db2f0fcf8053dce740684c438c7180cfca1959598230f342c58" dependencies = [ "docify", "either", @@ -6935,82 +7076,51 @@ dependencies = [ "simple-mermaid", "sp-application-crypto", "sp-arithmetic", - "sp-core 28.0.0", + "sp-core", "sp-io", - "sp-std 14.0.0", + "sp-std", "sp-weights", ] [[package]] name = "sp-runtime-interface" -version = "17.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e676128182f90015e916f806cba635c8141e341e7abbc45d25525472e1bbce8" +checksum = "e48a675ea4858333d4d755899ed5ed780174aa34fec15953428d516af5452295" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", + "polkavm-derive 0.8.0", "primitive-types", - "sp-externalities 0.19.0", - "sp-runtime-interface-proc-macro 11.0.0", - "sp-std 8.0.0", - "sp-storage 13.0.0", - "sp-tracing 10.0.0", - "sp-wasm-interface 14.0.0", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", "static_assertions", ] -[[package]] -name = "sp-runtime-interface" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66b66d8cec3d785fa6289336c1d9cbd4305d5d84f7134378c4d79ed7983e6fb" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "primitive-types", - "sp-externalities 0.25.0", - "sp-runtime-interface-proc-macro 17.0.0", - "sp-std 14.0.0", - "sp-storage 19.0.0", - "sp-tracing 16.0.0", - "sp-wasm-interface 20.0.0", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d5bd5566fe5633ec48dfa35ab152fd29f8a577c21971e1c6db9f28afb9bbb9" -dependencies = [ - "Inflector", - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.68", -] - [[package]] name = "sp-runtime-interface-proc-macro" -version = "17.0.0" +version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfaf6e85b2ec12a4b99cd6d8d57d083e30c94b7f1b0d8f93547121495aae6f0c" +checksum = "0195f32c628fee3ce1dfbbf2e7e52a30ea85f3589da9fe62a8b816d70fc06294" dependencies = [ "Inflector", "expander", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] name = "sp-state-machine" -version = "0.35.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718c779ad1d6fcc0be64c7ce030b33fa44b5c8914b3a1319ef63bb5f27fb98df" +checksum = "1eae0eac8034ba14437e772366336f579398a46d101de13dbb781ab1e35e67c5" dependencies = [ "hash-db", "log", @@ -7018,22 +7128,16 @@ dependencies = [ "parking_lot", "rand 0.8.5", "smallvec", - "sp-core 28.0.0", - "sp-externalities 0.25.0", + "sp-core", + "sp-externalities", "sp-panic-handler", - "sp-std 14.0.0", + "sp-std", "sp-trie", "thiserror", "tracing", "trie-db", ] -[[package]] -name = "sp-std" -version = "8.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53458e3c57df53698b3401ec0934bea8e8cfce034816873c0b0abbd83d7bac0d" - [[package]] name = "sp-std" version = "14.0.0" @@ -7042,43 +7146,16 @@ checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" [[package]] name = "sp-storage" -version = "13.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94294be83f11d4958cfea89ed5798f0b6605f5defc3a996948848458abbcc18e" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 8.0.0", - "sp-std 8.0.0", -] - -[[package]] -name = "sp-storage" -version = "19.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb92d7b24033a8a856d6e20dd980b653cbd7af7ec471cc988b1b7c1d2e3a32b" +checksum = "8dba5791cb3978e95daf99dad919ecb3ec35565604e88cd38d805d9d4981e8bd" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0", - "sp-std 14.0.0", -] - -[[package]] -name = "sp-tracing" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357f7591980dd58305956d32f8f6646d0a8ea9ea0e7e868e46f53b68ddf00cec" -dependencies = [ - "parity-scale-codec", - "sp-std 8.0.0", - "tracing", - "tracing-core", - "tracing-subscriber 0.2.25", + "sp-debug-derive", + "sp-std", ] [[package]] @@ -7088,7 +7165,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0351810b9d074df71c4514c5228ed05c250607cba131c1c9d1526760ab69c05c" dependencies = [ "parity-scale-codec", - "sp-std 14.0.0", + "sp-std", "tracing", "tracing-core", "tracing-subscriber 0.2.25", @@ -7096,9 +7173,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "29.0.0" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e4d24d84a0beb44a71dcac1b41980e1edf7fb722c7f3046710136a283cd479b" +checksum = "f1aa91ad26c62b93d73e65f9ce7ebd04459c4bad086599348846a81988d6faa4" dependencies = [ "ahash 0.8.11", "hash-db", @@ -7110,29 +7187,15 @@ dependencies = [ "rand 0.8.5", "scale-info", "schnellru", - "sp-core 28.0.0", - "sp-externalities 0.25.0", - "sp-std 14.0.0", + "sp-core", + "sp-externalities", + "sp-std", "thiserror", "tracing", "trie-db", "trie-root", ] -[[package]] -name = "sp-wasm-interface" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19c122609ca5d8246be6386888596320d03c7bc880959eaa2c36bcd5acd6846" -dependencies = [ - "anyhow", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "sp-std 8.0.0", - "wasmtime", -] - [[package]] name = "sp-wasm-interface" version = "20.0.0" @@ -7143,15 +7206,15 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 14.0.0", + "sp-std", "wasmtime", ] [[package]] name = "sp-weights" -version = "27.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e874bdf9dd3fd3242f5b7867a4eaedd545b02f29041a46d222a9d9d5caaaa5c" +checksum = "9af6c661fe3066b29f9e1d258000f402ff5cc2529a9191972d214e5871d0ba87" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -7159,8 +7222,8 @@ dependencies = [ "serde", "smallvec", "sp-arithmetic", - "sp-debug-derive 14.0.0", - "sp-std 14.0.0", + "sp-debug-derive", + "sp-std", ] [[package]] @@ -7336,53 +7399,59 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] name = "substrate-bip39" -version = "0.4.6" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a7590dc041b9bc2825e52ce5af8416c73dbe9d0654402bfd4b4941938b94d8f" +checksum = "a2b564c293e6194e8b222e52436bcb99f60de72043c7f845cf6c4406db4df121" dependencies = [ - "hmac 0.11.0", - "pbkdf2 0.8.0", - "schnorrkel 0.11.4", - "sha2 0.9.9", + "hmac 0.12.1", + "pbkdf2 0.12.2", + "schnorrkel", + "sha2 0.10.8", "zeroize", ] [[package]] -name = "subtle" -version = "2.6.1" +name = "substrate-bip39" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +checksum = "ca58ffd742f693dc13d69bdbb2e642ae239e0053f6aab3b104252892f856700a" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.12.2", + "schnorrkel", + "sha2 0.10.8", + "zeroize", +] [[package]] -name = "subtle-ng" -version = "2.5.0" +name = "subtle" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "subxt" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3323d5c27898b139d043dc1ee971f602f937b99354ee33ee933bd90e0009fbd" +checksum = "a160cba1edbf3ec4fbbeaea3f1a185f70448116a6bccc8276bb39adb3b3053bd" dependencies = [ "async-trait", - "base58", - "blake2", - "derivative", + "derive-where", "either", "frame-metadata 16.0.0", "futures", "hex", "impl-serde", "instant", - "jsonrpsee 0.21.0", + "jsonrpsee 0.22.5", "parity-scale-codec", "primitive-types", + "reconnecting-jsonrpsee-ws-client", "scale-bits", "scale-decode", "scale-encode", @@ -7390,9 +7459,8 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-core 28.0.0", - "sp-core-hashing 15.0.0", - "sp-runtime", + "sp-crypto-hashing", + "subxt-core", "subxt-lightclient", "subxt-macro", "subxt-metadata", @@ -7404,30 +7472,59 @@ dependencies = [ [[package]] name = "subxt-codegen" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d0e58c3f88651cff26aa52bae0a0a85f806a2e923a20eb438c16474990743ea" +checksum = "d703dca0905cc5272d7cc27a4ac5f37dcaae7671acc7fef0200057cc8c317786" dependencies = [ "frame-metadata 16.0.0", - "heck 0.4.1", + "heck 0.5.0", "hex", - "jsonrpsee 0.21.0", + "jsonrpsee 0.22.5", "parity-scale-codec", "proc-macro2", "quote", "scale-info", "scale-typegen", "subxt-metadata", - "syn 2.0.68", + "syn 2.0.70", "thiserror", "tokio", ] +[[package]] +name = "subxt-core" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59f41eb2e2eea6ed45649508cc735f92c27f1fcfb15229e75f8270ea73177345" +dependencies = [ + "base58", + "blake2", + "derive-where", + "frame-metadata 16.0.0", + "hashbrown 0.14.5", + "hex", + "impl-serde", + "parity-scale-codec", + "primitive-types", + "scale-bits", + "scale-decode", + "scale-encode", + "scale-info", + "scale-value", + "serde", + "serde_json", + "sp-core", + "sp-crypto-hashing", + "sp-runtime", + "subxt-metadata", + "tracing", +] + [[package]] name = "subxt-lightclient" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecec7066ba7bc0c3608fcd1d0c7d9584390990cd06095b6ae4f114f74c4b8550" +checksum = "9d9406fbdb9548c110803cb8afa750f8b911d51eefdf95474b11319591d225d9" dependencies = [ "futures", "futures-util", @@ -7442,30 +7539,30 @@ dependencies = [ [[package]] name = "subxt-macro" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "365251668613323064803427af8c7c7bc366cd8b28e33639640757669dafebd5" +checksum = "1c195f803d70687e409aba9be6c87115b5da8952cd83c4d13f2e043239818fcd" dependencies = [ - "darling 0.20.9", + "darling 0.20.10", "parity-scale-codec", "proc-macro-error", "quote", "scale-typegen", "subxt-codegen", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] name = "subxt-metadata" -version = "0.34.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02aca8d39a1f6c55fff3a8fd81557d30a610fedc1cef03f889a81bc0f8f0b52" +checksum = "738be5890fdeff899bbffff4d9c0f244fe2a952fb861301b937e3aa40ebb55da" dependencies = [ "frame-metadata 16.0.0", + "hashbrown 0.14.5", "parity-scale-codec", "scale-info", - "sp-core-hashing 15.0.0", - "thiserror", + "sp-crypto-hashing", ] [[package]] @@ -7489,84 +7586,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "sval" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53eb957fbc79a55306d5d25d87daf3627bc3800681491cda0709eef36c748bfe" - -[[package]] -name = "sval_buffer" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96e860aef60e9cbf37888d4953a13445abf523c534640d1f6174d310917c410d" -dependencies = [ - "sval", - "sval_ref", -] - -[[package]] -name = "sval_dynamic" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea3f2b07929a1127d204ed7cb3905049381708245727680e9139dac317ed556f" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_fmt" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e188677497de274a1367c4bda15bd2296de4070d91729aac8f0a09c1abf64d" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_json" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f456c07dae652744781f2245d5e3b78e6a9ebad70790ac11eb15dbdbce5282" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_nested" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "886feb24709f0476baaebbf9ac10671a50163caa7e439d7a7beb7f6d81d0a6fb" -dependencies = [ - "sval", - "sval_buffer", - "sval_ref", -] - -[[package]] -name = "sval_ref" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be2e7fc517d778f44f8cb64140afa36010999565528d48985f55e64d45f369ce" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_serde" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79bf66549a997ff35cd2114a27ac4b0c2843280f2cfa84b240d169ecaa0add46" -dependencies = [ - "serde", - "sval", - "sval_nested", -] - [[package]] name = "svm-rs" version = "0.3.5" @@ -7600,9 +7619,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "2f0209b68b3613b093e0ec905354eccaedcfe83b8cb37cbdeae64026c3064c16" dependencies = [ "proc-macro2", "quote", @@ -7611,14 +7630,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.6.4" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3d0961cd53c23ea94eeec56ba940f636f6394788976e9f16ca5ee0aca7464a" +checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -7667,9 +7686,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" [[package]] name = "tempfile" @@ -7720,7 +7739,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -7756,9 +7775,7 @@ checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", - "libc", "num-conv", - "num_threads", "powerfmt", "serde", "time-core", @@ -7804,25 +7821,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac 0.12.1", - "once_cell", - "pbkdf2 0.11.0", - "rand 0.8.5", - "rustc-hash", - "sha2 0.10.8", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tiny-keccak" version = "2.0.2" @@ -7834,9 +7832,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -7874,7 +7872,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -7919,6 +7917,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.11", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-stream" version = "0.1.15" @@ -7947,19 +7956,19 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.21.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" +checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" dependencies = [ "futures-util", "log", "native-tls", - "rustls 0.22.4", + "rustls 0.23.11", "rustls-pki-types", "tokio", "tokio-native-tls", - "tokio-rustls 0.25.0", - "tungstenite 0.21.0", + "tokio-rustls 0.26.0", + "tungstenite 0.23.0", "webpki-roots 0.26.3", ] @@ -7986,7 +7995,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit 0.22.15", ] [[package]] @@ -8022,9 +8031,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.14" +version = "0.22.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1" dependencies = [ "indexmap 2.2.6", "serde", @@ -8043,6 +8052,7 @@ dependencies = [ "futures-util", "pin-project", "pin-project-lite", + "tokio", "tower-layer", "tower-service", "tracing", @@ -8080,7 +8090,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -8221,9 +8231,9 @@ dependencies = [ [[package]] name = "tungstenite" -version = "0.21.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" +checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" dependencies = [ "byteorder", "bytes", @@ -8233,11 +8243,10 @@ dependencies = [ "log", "native-tls", "rand 0.8.5", - "rustls 0.22.4", + "rustls 0.23.11", "rustls-pki-types", "sha1 0.10.6", "thiserror", - "url", "utf-8", ] @@ -8253,12 +8262,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "typeid" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "059d83cc991e7a42fc37bd50941885db0888e34209f8cfd9aab07ddec03bc9cf" - [[package]] name = "typenum" version = "1.17.0" @@ -8396,36 +8399,6 @@ name = "value-bag" version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" -dependencies = [ - "value-bag-serde1", - "value-bag-sval2", -] - -[[package]] -name = "value-bag-serde1" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccacf50c5cb077a9abb723c5bcb5e0754c1a433f1e1de89edc328e2760b6328b" -dependencies = [ - "erased-serde", - "serde", - "serde_fmt", -] - -[[package]] -name = "value-bag-sval2" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1785bae486022dfb9703915d42287dcb284c1ee37bd1080eeba78cc04721285b" -dependencies = [ - "sval", - "sval_buffer", - "sval_dynamic", - "sval_fmt", - "sval_json", - "sval_ref", - "sval_serde", -] [[package]] name = "vcpkg" @@ -8433,18 +8406,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vergen" -version = "8.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" -dependencies = [ - "anyhow", - "cfg-if", - "rustversion", - "time 0.3.36", -] - [[package]] name = "version_check" version = "0.9.4" @@ -8534,8 +8495,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", - "serde", - "serde_json", "wasm-bindgen-macro", ] @@ -8550,7 +8509,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", "wasm-bindgen-shared", ] @@ -8584,7 +8543,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -9155,7 +9114,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -9175,7 +9134,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.70", ] [[package]] @@ -9219,9 +9178,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.12+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 5e1cb31b..31eb463c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,14 +45,14 @@ rosetta-types = { path = "rosetta-types" } rosetta-utils = { path = "rosetta-utils", default-features = false } ## Crates we want all members to use the same version -jsonrpsee = { version = "0.22", default-features = false } +jsonrpsee = { version = "0.24", default-features = false } parity-scale-codec = { version = "3.6" } -tokio = { version = "1.32" } -subxt = { version = "0.34", default-features = false } +tokio = { version = "1.37" } +subxt = { version = "0.37", default-features = false } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0" } -scale-info = { version = "2.3" } +scale-info = { version = "2.11" } # Used to sign substrate transactions, must be the same version used by subxt -# https://github.com/paritytech/subxt/blob/v0.34.0/Cargo.toml#L125 -sp-keyring = { version = "31.0" } +# https://github.com/paritytech/subxt/blob/v0.37.0/Cargo.toml#L138 +sp-keyring = { version = "34.0" } diff --git a/chains/arbitrum/testing/rosetta-testing-arbitrum/Cargo.toml b/chains/arbitrum/testing/rosetta-testing-arbitrum/Cargo.toml index 9ea2e651..462cc50c 100644 --- a/chains/arbitrum/testing/rosetta-testing-arbitrum/Cargo.toml +++ b/chains/arbitrum/testing/rosetta-testing-arbitrum/Cargo.toml @@ -7,7 +7,7 @@ repository = "https://github.com/analog-labs/chain-connectors" description = "Arbitrum unit test." [dev-dependencies] -alloy-sol-types = { version = "0.6" } +alloy-sol-types = { version = "0.7" } anyhow = "1.0" ethers = { version = "2.0", default-features = true, features = ["abigen", "rustls", "ws"] } ethers-solc = "2.0" diff --git a/chains/astar/config/res/astar-90.scale b/chains/astar/config/res/astar-90.scale new file mode 100644 index 00000000..759ccd15 Binary files /dev/null and b/chains/astar/config/res/astar-90.scale differ diff --git a/chains/astar/config/res/astar-dev.scale b/chains/astar/config/res/astar-dev.scale deleted file mode 100644 index 7124fa3d..00000000 Binary files a/chains/astar/config/res/astar-dev.scale and /dev/null differ diff --git a/chains/astar/config/src/lib.rs b/chains/astar/config/src/lib.rs index 0595c6c3..2294efc8 100644 --- a/chains/astar/config/src/lib.rs +++ b/chains/astar/config/src/lib.rs @@ -8,7 +8,7 @@ use std::sync::Arc; // Generate an interface that we can use from the node's metadata. #[cfg(feature = "astar-metadata")] pub mod metadata { - #[subxt::subxt(runtime_metadata_path = "res/astar-dev.scale")] + #[subxt::subxt(runtime_metadata_path = "res/astar-90.scale")] pub mod dev {} } diff --git a/chains/astar/server/Cargo.toml b/chains/astar/server/Cargo.toml index 0db4eab4..460e663b 100644 --- a/chains/astar/server/Cargo.toml +++ b/chains/astar/server/Cargo.toml @@ -26,8 +26,8 @@ subxt = { workspace = true, features = ["substrate-compat"] } tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } [dev-dependencies] -alloy-primitives = { version = "0.6" } -alloy-sol-types = { version = "0.6" } +alloy-primitives = { version = "0.7" } +alloy-sol-types = { version = "0.7" } ethers-solc = "2.0" rosetta-client.workspace = true rosetta-docker = { workspace = true, features = ["tests"] } diff --git a/chains/astar/server/src/lib.rs b/chains/astar/server/src/lib.rs index 883da94a..abb0db72 100644 --- a/chains/astar/server/src/lib.rs +++ b/chains/astar/server/src/lib.rs @@ -22,7 +22,7 @@ use serde::{Deserialize, Serialize}; use std::sync::Arc; use subxt::{ backend::{ - legacy::{rpc_methods::BlockNumber, LegacyBackend, LegacyRpcMethods}, + legacy::{rpc_methods::BlockNumber, LegacyBackendBuilder, LegacyRpcMethods}, rpc::RpcClient, BlockRef, }, @@ -75,7 +75,7 @@ impl AstarClient { let ws_client = default_client(url, None).await?; let rpc_client = RpcClient::new(ws_client.clone()); let rpc_methods = LegacyRpcMethods::::new(rpc_client.clone()); - let backend = LegacyBackend::new(rpc_client); + let backend = LegacyBackendBuilder::new().build(rpc_client); let substrate_client = OnlineClient::::from_backend(Arc::new(backend)).await?; let ethereum_client = @@ -279,7 +279,8 @@ impl BlockchainClient for AstarClient { }; // Build the transfer transaction - let balance_transfer_tx = astar_metadata::tx().balances().transfer(dest.into(), value); + let balance_transfer_tx = + astar_metadata::tx().balances().transfer_allow_death(dest.into(), value); let alice = sp_keyring::AccountKeyring::Alice.pair(); let signer = PairSigner::::new(alice); diff --git a/chains/ethereum/backend/Cargo.toml b/chains/ethereum/backend/Cargo.toml index f279a36a..a488196a 100644 --- a/chains/ethereum/backend/Cargo.toml +++ b/chains/ethereum/backend/Cargo.toml @@ -10,7 +10,7 @@ description = "Ethereum RPC method." async-trait = "0.1" auto_impl = "1.1" futures-core = { version = "0.3", default-features = false, features = ["alloc"] } -jsonrpsee-core = { version = "0.22", default-features = false, features = ["client"], optional = true } +jsonrpsee-core = { version = "0.24", default-features = false, features = ["client"], optional = true } parity-scale-codec = { workspace = true, features = ["derive"], optional = true } rosetta-ethereum-types = { workspace = true, features = ["with-rlp", "with-crypto"] } scale-info = { version = "2.9", default-features = false, features = ["derive"], optional = true } diff --git a/chains/ethereum/backend/src/jsonrpsee.rs b/chains/ethereum/backend/src/jsonrpsee.rs index ecd53f4b..04b967e3 100644 --- a/chains/ethereum/backend/src/jsonrpsee.rs +++ b/chains/ethereum/backend/src/jsonrpsee.rs @@ -7,15 +7,14 @@ use crate::{ string::ToString, vec::Vec, }, - BlockRange, MaybeDeserializeOwned, + BlockRange, BoxFuture, MaybeDeserializeOwned, }; use async_trait::async_trait; -use futures_core::future::BoxFuture; use crate::{AccessListWithGasUsed, AtBlock, CallRequest, EthereumPubSub, EthereumRpc, ExitReason}; pub use jsonrpsee_core as core; use jsonrpsee_core::{ - client::{ClientT, SubscriptionClientT}, + client::{ClientT, Subscription, SubscriptionClientT}, rpc_params, ClientError as Error, }; use rosetta_ethereum_types::{ @@ -396,9 +395,9 @@ impl EthereumPubSub for Adapter where T: SubscriptionClientT + Send + Sync, { - type SubscriptionError = ::Error; - type NewHeadsStream<'a> = jsonrpsee_core::client::Subscription> where Self: 'a; - type LogsStream<'a> = jsonrpsee_core::client::Subscription where Self: 'a; + type SubscriptionError = serde_json::Error; + type NewHeadsStream<'a> = Subscription> where Self: 'a; + type LogsStream<'a> = Subscription where Self: 'a; /// Fires a notification each time a new header is appended to the chain, including chain /// reorganizations. diff --git a/chains/ethereum/server/Cargo.toml b/chains/ethereum/server/Cargo.toml index ec1ddb4d..e240d804 100644 --- a/chains/ethereum/server/Cargo.toml +++ b/chains/ethereum/server/Cargo.toml @@ -9,7 +9,7 @@ description = "Ethereum rosetta server." [dependencies] anyhow = "1.0" async-trait = "0.1" -fork-tree = { version = "12.0" } +fork-tree = { version = "13.0" } futures-timer = "3.0" futures-util = "0.3" hashbrown = "0.14" @@ -29,8 +29,8 @@ tracing = "0.1" url = "2.4" [dev-dependencies] -alloy-primitives = { version = "0.6" } -alloy-sol-types = { version = "0.6" } +alloy-primitives = { version = "0.7" } +alloy-sol-types = { version = "0.7" } ethers-solc = "2.0" rosetta-client.workspace = true rosetta-docker = { workspace = true, features = ["tests"] } diff --git a/chains/polkadot/config/res/polkadot-v1000001.scale b/chains/polkadot/config/res/polkadot-v1000001.scale deleted file mode 100644 index 1168eb29..00000000 Binary files a/chains/polkadot/config/res/polkadot-v1000001.scale and /dev/null differ diff --git a/chains/polkadot/config/res/polkadot-v1002006.scale b/chains/polkadot/config/res/polkadot-v1002006.scale new file mode 100644 index 00000000..e4b393ae Binary files /dev/null and b/chains/polkadot/config/res/polkadot-v1002006.scale differ diff --git a/chains/polkadot/config/src/lib.rs b/chains/polkadot/config/src/lib.rs index 04ccfc35..260d77a5 100644 --- a/chains/polkadot/config/src/lib.rs +++ b/chains/polkadot/config/src/lib.rs @@ -17,7 +17,7 @@ pub mod metadata { #[cfg(feature = "polkadot-metadata")] pub mod polkadot { #[subxt::subxt( - runtime_metadata_path = "res/polkadot-v1000001.scale", + runtime_metadata_path = "res/polkadot-v1002006.scale", derive_for_all_types = "Clone, Eq, PartialEq" )] pub mod dev {} diff --git a/chains/polkadot/server/src/call.rs b/chains/polkadot/server/src/call.rs index 51d8453a..34d0b72d 100644 --- a/chains/polkadot/server/src/call.rs +++ b/chains/polkadot/server/src/call.rs @@ -7,7 +7,7 @@ use scale_info::{ use serde_json::{Map, Value, Value as SerdeValue}; use subxt::{ dynamic::Value as SubxtValue, - ext::scale_value::{self, scale::TypeId, BitSequence, ValueDef}, + ext::scale_value::{self, BitSequence, ValueDef}, metadata::types::StorageEntryType, OnlineClient, }; @@ -321,7 +321,7 @@ fn make_bit_sequence( Ok(SubxtValue::bit_sequence(bits_array)) } -fn scale_to_serde_json(data: ValueDef) -> Result { +fn scale_to_serde_json(data: ValueDef) -> Result { match data { scale_value::ValueDef::Composite(val) => match val { scale_value::Composite::Named(named_composite) => { diff --git a/chains/polkadot/server/src/chains/polkadot.rs b/chains/polkadot/server/src/chains/polkadot.rs index 863a8c2f..ef80f332 100644 --- a/chains/polkadot/server/src/chains/polkadot.rs +++ b/chains/polkadot/server/src/chains/polkadot.rs @@ -3,13 +3,16 @@ use rosetta_config_polkadot::metadata::polkadot::dev; use std::borrow::Borrow; use subxt::{ config::polkadot, - storage::address, - utils::{AccountId32, MultiAddress}, + ext::subxt_core::{ + storage::address::{StaticAddress, StaticStorageKey}, + tx::payload::StaticPayload, + utils::{AccountId32, MultiAddress, Yes}, + }, }; pub type Config = SubxtConfigAdapter; pub type ExtrinsicParams = polkadot::PolkadotExtrinsicParams; -pub type OtherParams = >::OtherParams; +pub type OtherParams = >::Params; pub type PairSigner = subxt::tx::PairSigner; #[derive(Debug, Clone, PartialEq, Eq)] @@ -37,20 +40,14 @@ impl ClientConfig for PolkadotConfig { fn account_info( account: impl Borrow, - ) -> address::Address< - address::StaticStorageMapKey, - Self::AccountInfo, - address::Yes, - address::Yes, - (), - > { + ) -> StaticAddress, Self::AccountInfo, Yes, Yes, ()> { dev::storage().system().account(account) } fn transfer_keep_alive( dest: MultiAddress, value: u128, - ) -> ::subxt::tx::Payload { + ) -> StaticPayload { dev::tx().balances().transfer_keep_alive(dest, value) } diff --git a/chains/polkadot/server/src/chains/westend.rs b/chains/polkadot/server/src/chains/westend.rs index 26503e94..697c707c 100644 --- a/chains/polkadot/server/src/chains/westend.rs +++ b/chains/polkadot/server/src/chains/westend.rs @@ -3,13 +3,16 @@ use rosetta_config_polkadot::metadata::westend::dev; use std::borrow::Borrow; use subxt::{ config::{polkadot::PolkadotExtrinsicParams, PolkadotConfig}, - storage::address, - utils::{AccountId32, MultiAddress}, + ext::subxt_core::{ + storage::address::{StaticAddress, StaticStorageKey}, + tx::payload::StaticPayload, + utils::{AccountId32, MultiAddress, Yes}, + }, }; pub type Config = SubxtConfigAdapter; pub type ExtrinsicParams = PolkadotExtrinsicParams; -pub type OtherParams = >::OtherParams; +pub type OtherParams = >::Params; pub type PairSigner = subxt::tx::PairSigner; #[derive(Debug, Clone, PartialEq, Eq)] @@ -37,20 +40,14 @@ impl ClientConfig for WestendDevConfig { fn account_info( account: impl Borrow, - ) -> address::Address< - address::StaticStorageMapKey, - Self::AccountInfo, - address::Yes, - address::Yes, - (), - > { + ) -> StaticAddress, Self::AccountInfo, Yes, Yes, ()> { dev::storage().system().account(account) } fn transfer_keep_alive( dest: MultiAddress, value: u128, - ) -> ::subxt::tx::Payload { + ) -> StaticPayload { dev::tx().balances().transfer_keep_alive(dest, value) } diff --git a/chains/polkadot/server/src/client.rs b/chains/polkadot/server/src/client.rs index bc751046..d18f4026 100644 --- a/chains/polkadot/server/src/client.rs +++ b/chains/polkadot/server/src/client.rs @@ -2,11 +2,9 @@ use crate::types::{BlockIdentifier, ClientConfig, SubxtConfigAdapter}; use anyhow::Context; use std::{borrow::Borrow, future::Future, sync::Arc}; use subxt::{ - backend::{ - rpc::{RpcClient, RpcClientT}, - RuntimeVersion, - }, + backend::rpc::{RpcClient, RpcClientT}, blocks::BlockRef, + client::RuntimeVersion, metadata::Metadata, utils::AccountId32, }; @@ -14,9 +12,6 @@ use subxt::{ type Config = SubxtConfigAdapter; type OnlineClient = subxt::OnlineClient>; type LegacyRpcMethods = subxt::backend::legacy::LegacyRpcMethods>; -type LegacyBackend = subxt::backend::legacy::LegacyBackend>; -// type PairSigner = subxt::tx::PairSigner, ::Pair>; -// type Block = subxt::blocks::Block, OnlineClient>; type BlockDetails = subxt::backend::legacy::rpc_methods::BlockDetails>; pub struct SubstrateClient { @@ -32,7 +27,7 @@ impl SubstrateClient { pub async fn from_client(client: C) -> anyhow::Result { let rpc_client = RpcClient::new(client); let rpc_methods = LegacyRpcMethods::::new(rpc_client.clone()); - let backend = LegacyBackend::::new(rpc_client); + let backend = subxt::backend::legacy::LegacyBackendBuilder::new().build(rpc_client); let client = OnlineClient::::from_backend(Arc::new(backend)).await?; Ok(Self { client, rpc_methods }) } @@ -117,7 +112,7 @@ impl SubstrateClient { pub async fn faucet( &self, signer: T::Pair, - dest: subxt::utils::MultiAddress, + dest: subxt::ext::subxt_core::utils::MultiAddress, value: u128, ) -> anyhow::Result { let tx = T::transfer_keep_alive(dest, value); diff --git a/chains/polkadot/server/src/types.rs b/chains/polkadot/server/src/types.rs index d90beaf2..dc510642 100644 --- a/chains/polkadot/server/src/types.rs +++ b/chains/polkadot/server/src/types.rs @@ -1,15 +1,26 @@ use rosetta_core::{traits::Member, types::PartialBlockIdentifier}; use std::{borrow::Borrow, fmt::Debug, marker::PhantomData}; use subxt::{ + blocks::StaticExtrinsic, config::{ExtrinsicParams, Hasher, Header}, - ext::{codec::Encode, scale_decode::DecodeAsType, scale_encode::EncodeAsType}, - utils::{AccountId32, MultiAddress}, + ext::{ + codec::Encode, + scale_decode::DecodeAsType, + scale_encode::{EncodeAsFields, EncodeAsType}, + subxt_core::{ + config::BlockHash, + metadata::DecodeWithMetadata, + storage::address::{StaticAddress, StaticStorageKey}, + tx::{payload::StaticPayload, signer::Signer}, + utils::{AccountId32, MultiAddress, Yes}, + }, + }, Config as SubxtConfig, }; pub trait ClientConfig: Debug + Clone + PartialEq + Eq + Sized + Send + Sync + 'static { /// The output of the `Hasher` function. - type Hash: subxt::config::BlockHash; + type Hash: BlockHash; /// The account ID type. type AccountId: Member + Encode; @@ -32,36 +43,27 @@ pub trait ClientConfig: Debug + Clone + PartialEq + Eq + Sized + Send + Sync + ' type OtherParams: Default + Send + Sync + 'static; /// This type defines the extrinsic extra and additional parameters. - type ExtrinsicParams: ExtrinsicParams, OtherParams = Self::OtherParams>; + type ExtrinsicParams: ExtrinsicParams, Params = Self::OtherParams>; /// This is used to identify an asset in the `ChargeAssetTxPayment` signed extension. type AssetId: Debug + Clone + Encode + DecodeAsType + EncodeAsType; - type AccountInfo: Member + subxt::metadata::DecodeWithMetadata; + type AccountInfo: Member + DecodeWithMetadata; - type TransferKeepAlive: Member - + subxt::blocks::StaticExtrinsic - + subxt::ext::scale_encode::EncodeAsFields; + type TransferKeepAlive: Member + StaticExtrinsic + EncodeAsFields; - type Pair: subxt::tx::Signer> + Send + Sync + 'static; + type Pair: Signer> + Send + Sync + 'static; fn account_info( account: impl Borrow, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - Self::AccountInfo, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - >; + ) -> StaticAddress, Self::AccountInfo, Yes, Yes, ()>; fn transfer_keep_alive( dest: MultiAddress, value: u128, - ) -> ::subxt::tx::Payload; + ) -> StaticPayload; - fn other_params( - ) -> >>::OtherParams; + fn other_params() -> Self::OtherParams; } pub struct SubxtConfigAdapter(PhantomData); diff --git a/chains/polygon/rosetta-testing-polygon/Cargo.toml b/chains/polygon/rosetta-testing-polygon/Cargo.toml index 318899e8..afb840a4 100644 --- a/chains/polygon/rosetta-testing-polygon/Cargo.toml +++ b/chains/polygon/rosetta-testing-polygon/Cargo.toml @@ -6,10 +6,8 @@ license = "MIT" repository = "https://github.com/analog-labs/chain-connectors" description = "Polygon rosetta test." -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] -alloy-sol-types = { version = "0.6" } +alloy-sol-types = { version = "0.7" } anyhow = "1.0" ethers = { version = "2.0", default-features = true, features = ["abigen", "rustls", "ws"] } ethers-solc = "2.0" diff --git a/rosetta-crypto/Cargo.toml b/rosetta-crypto/Cargo.toml index 72c48673..dff6f50b 100644 --- a/rosetta-crypto/Cargo.toml +++ b/rosetta-crypto/Cargo.toml @@ -8,23 +8,23 @@ description = "Cryptographic primitives used by the rosetta client." [dependencies] anyhow = "1.0" -bech32 = "0.9.1" -blake2-rfc = "0.2.18" +bech32 = "0.9" +blake2-rfc = "0.2" bs58 = "0.5" ecdsa = { version = "0.16.0", features = ["arithmetic"] } -ed25519-dalek = "1.0.1" +ed25519-dalek = "2.0" hex = "0.4.3" hmac = "0.12.1" k256 = "0.13.0" p256 = "0.13.0" ripemd = "0.1.3" rust-bip39 = "1.0.0" -schnorrkel = "0.10.2" +schnorrkel = "0.11" sha2 = "0.10.6" sha3 = "0.10.6" -sp-core = { version = "21.0", default-features = false, features = ["blake2", "std"] } +sp-core = { version = "31.0", default-features = false, features = ["blake2", "std"] } ss58-registry = "1.39" -substrate-bip39 = "0.4" +substrate-bip39 = "0.6" thiserror = "1.0" [dev-dependencies] diff --git a/rosetta-crypto/src/lib.rs b/rosetta-crypto/src/lib.rs index d40c69ac..9ba186c9 100644 --- a/rosetta-crypto/src/lib.rs +++ b/rosetta-crypto/src/lib.rs @@ -8,7 +8,6 @@ use ecdsa::{ signature::{hazmat::PrehashSigner, Signer as _, Verifier as _}, RecoveryId, }; -use ed25519_dalek::{Signer as _, Verifier as _}; use sha2::Digest; pub mod address; @@ -49,7 +48,7 @@ pub enum SecretKey { /// ECDSA with NIST P-256. EcdsaSecp256r1(ecdsa::SigningKey), /// Ed25519. - Ed25519(ed25519_dalek::Keypair), + Ed25519(ed25519_dalek::SigningKey), /// Schnorrkel used by substrate/polkadot. Sr25519(schnorrkel::Keypair, Option), } @@ -90,10 +89,25 @@ impl SecretKey { Self::EcdsaSecp256r1(ecdsa::SigningKey::from_bytes(bytes.into())?) }, Algorithm::Ed25519 => { - let secret = ed25519_dalek::SecretKey::from_bytes(bytes)?; - let public = ed25519_dalek::PublicKey::from(&secret); - let keypair = ed25519_dalek::Keypair { secret, public }; - Self::Ed25519(keypair) + let signing_key = match bytes.len() { + ed25519_dalek::KEYPAIR_LENGTH => { + let mut keypair = [0u8; ed25519_dalek::KEYPAIR_LENGTH]; + keypair.copy_from_slice(bytes); + ed25519_dalek::SigningKey::from_keypair_bytes(&keypair)? + }, + ed25519_dalek::SECRET_KEY_LENGTH => { + let mut secret = ed25519_dalek::SecretKey::default(); + secret.copy_from_slice(bytes); + ed25519_dalek::SigningKey::from_bytes(&secret) + }, + len => { + anyhow::bail!( + "invalid Ed25519 keypair, expected {} bytes, got {len} bytes", + ed25519_dalek::KEYPAIR_LENGTH + ) + }, + }; + Self::Ed25519(signing_key) }, Algorithm::Sr25519 => { if bytes.len() == 32 { @@ -119,7 +133,7 @@ impl SecretKey { secret.to_bytes().to_vec() }, Self::EcdsaSecp256r1(secret) => secret.to_bytes().to_vec(), - Self::Ed25519(secret) => secret.secret.to_bytes().to_vec(), + Self::Ed25519(secret) => secret.as_bytes().to_vec(), Self::Sr25519(_, Some(minisecret)) => minisecret.as_bytes().to_vec(), Self::Sr25519(secret, None) => secret.secret.to_bytes().to_vec(), } @@ -134,7 +148,7 @@ impl SecretKey { PublicKey::EcdsaRecoverableSecp256k1(*secret.verifying_key()) }, Self::EcdsaSecp256r1(secret) => PublicKey::EcdsaSecp256r1(*secret.verifying_key()), - Self::Ed25519(secret) => PublicKey::Ed25519(secret.public), + Self::Ed25519(secret) => PublicKey::Ed25519(secret.verifying_key()), Self::Sr25519(secret, _) => PublicKey::Sr25519(secret.public), } } @@ -193,7 +207,7 @@ pub enum PublicKey { /// ECDSA with NIST P-256. EcdsaSecp256r1(ecdsa::VerifyingKey), /// Ed25519. - Ed25519(ed25519_dalek::PublicKey), + Ed25519(ed25519_dalek::VerifyingKey), /// Schnorrkel used by substrate/polkadot. Sr25519(schnorrkel::PublicKey), } @@ -227,7 +241,7 @@ impl PublicKey { Algorithm::EcdsaSecp256r1 => { Self::EcdsaSecp256r1(ecdsa::VerifyingKey::from_sec1_bytes(bytes)?) }, - Algorithm::Ed25519 => Self::Ed25519(ed25519_dalek::PublicKey::from_bytes(bytes)?), + Algorithm::Ed25519 => Self::Ed25519(ed25519_dalek::VerifyingKey::try_from(bytes)?), Algorithm::Sr25519 => { let public = schnorrkel::PublicKey::from_bytes(bytes) .map_err(|err| anyhow::anyhow!("{}", err))?; @@ -334,7 +348,7 @@ impl Signature { RecoveryId::from_byte(bytes[64]).context("invalid signature")?, ), Algorithm::EcdsaSecp256r1 => Self::EcdsaSecp256r1(ecdsa::Signature::try_from(bytes)?), - Algorithm::Ed25519 => Self::Ed25519(ed25519_dalek::Signature::from_bytes(bytes)?), + Algorithm::Ed25519 => Self::Ed25519(ed25519_dalek::Signature::try_from(bytes)?), Algorithm::Sr25519 => { let sig = schnorrkel::Signature::from_bytes(bytes) .map_err(|err| anyhow::anyhow!("{}", err))?; diff --git a/rosetta-server/Cargo.toml b/rosetta-server/Cargo.toml index 5fb82d59..699e8529 100644 --- a/rosetta-server/Cargo.toml +++ b/rosetta-server/Cargo.toml @@ -8,8 +8,8 @@ description = "Generic rosetta server implementation." [features] default = [] -native-tls = ["tokio-tungstenite/native-tls", "jsonrpsee/client-ws-transport-native-tls"] -webpki-tls = ["tokio-tungstenite/rustls-tls-webpki-roots", "jsonrpsee/client-ws-transport-webpki-tls"] +native-tls = ["tokio-tungstenite/native-tls", "jsonrpsee/client-ws-transport-tls"] +webpki-tls = ["tokio-tungstenite/rustls-tls-webpki-roots", "jsonrpsee/client-ws-transport-tls"] ws = [ "dep:async-trait", "dep:futures", @@ -24,24 +24,17 @@ ws = [ [dependencies] anyhow = "1.0" async-trait = { version = "0.1", optional = true } -femme = "2.2" futures = { version = "0.3", optional = true } futures-timer = { version = "3.0", optional = true } futures-util = { version = "0.3", optional = true } hex = "0.4" jsonrpsee = { workspace = true, features = ["ws-client", "http-client"], optional = true } -log = "0.4" -nanoid = { version = "0.4", optional = true } pin-project = { version = "1.1", optional = true } serde.workspace = true serde_json.workspace = true subxt = { workspace = true, features = ["native", "substrate-compat"], optional = true } tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } tokio-retry = "0.3" -tokio-tungstenite = { version = "0.21", default-features = false, features = ["handshake", "connect"] } +tokio-tungstenite = { version = "0.23", default-features = false, features = ["handshake", "connect"] } tracing = "0.1" url = "2.4" - -[build-dependencies] -anyhow = "1.0" -vergen = { version = "8.1", features = ["build", "git", "gitcl"] } diff --git a/rosetta-server/src/ws.rs b/rosetta-server/src/ws.rs index 070ce02f..eb805ca9 100644 --- a/rosetta-server/src/ws.rs +++ b/rosetta-server/src/ws.rs @@ -101,9 +101,7 @@ pub async fn default_client( config: Option, ) -> Result { let config = config.unwrap_or_default(); - let url = url - .parse::() - .map_err(|e| JsonRpseeError::Transport(anyhow::Error::from(e)))?; + let url = url.parse::().map_err(|e| JsonRpseeError::Transport(e.into()))?; let reconnect_config = DefaultReconnectConfig { url, config }; DefaultStrategy::connect(reconnect_config).await.map(Reconnect::into_client) @@ -114,9 +112,7 @@ pub async fn default_client( /// # Errors /// Returns `Err` if the url is not valid pub fn default_http_client(url: &str) -> Result { - let url = url - .parse::() - .map_err(|e| JsonRpseeError::Transport(anyhow::Error::from(e)))?; + let url = url.parse::().map_err(|e| JsonRpseeError::Transport(e.into()))?; let client = jsonrpsee::http_client::HttpClientBuilder::new().build(url)?; Ok(client) } @@ -130,7 +126,7 @@ async fn build_socketto_client( let (sender, receiver) = WsTransportClientBuilder::from(config) .build(url) .await - .map_err(|error| JsonRpseeError::Transport(anyhow::Error::from(error)))?; + .map_err(|error| JsonRpseeError::Transport(error.into()))?; let client = builder.build_with_tokio(sender, receiver); Ok(client) } @@ -143,7 +139,7 @@ async fn build_tungstenite_client( ) -> Result { let client = TungsteniteClient::new(url, config) .await - .map_err(|error| JsonRpseeError::Transport(anyhow::Error::from(error)))?; + .map_err(|error| JsonRpseeError::Transport(error.into()))?; let (sender, receiver) = client.split(); let client = builder.build_with_tokio(sender, receiver); Ok(client) diff --git a/rosetta-server/src/ws/config.rs b/rosetta-server/src/ws/config.rs index e64d22f8..cb6351c5 100644 --- a/rosetta-server/src/ws/config.rs +++ b/rosetta-server/src/ws/config.rs @@ -194,17 +194,9 @@ impl From<&RpcClientConfig> for WsTransportClientBuilder { fn from(config: &RpcClientConfig) -> Self { let message_size = u32::try_from(config.max_message_size.unwrap_or(TEN_MB_SIZE_BYTES)).unwrap_or(u32::MAX); - let mut builder = Self::default() + Self::default() .max_request_size(message_size) .max_response_size(message_size) - .max_redirections(5); - - builder = if cfg!(feature = "webpki-tls") { - builder.use_webpki_rustls() - } else { - builder.use_native_rustls() - }; - - builder + .max_redirections(5) } } diff --git a/rosetta-server/src/ws/error.rs b/rosetta-server/src/ws/error.rs index 74280d49..b7f9d58a 100644 --- a/rosetta-server/src/ws/error.rs +++ b/rosetta-server/src/ws/error.rs @@ -34,7 +34,7 @@ fn clone_error(error: &JsonRpseeError) -> JsonRpseeError { match error { JsonRpseeError::Call(error) => JsonRpseeError::Call(error.clone()), JsonRpseeError::Transport(error) => { - JsonRpseeError::Transport(anyhow::format_err!("{error:?}")) + JsonRpseeError::Transport(anyhow::format_err!("{error:?}").into()) }, JsonRpseeError::RestartNeeded(reason) => JsonRpseeError::RestartNeeded(reason.clone()), JsonRpseeError::ParseError(error) => JsonRpseeError::Custom(format!("{error:?}")), /* TODO: return an parser error instead a custom error */ @@ -47,7 +47,6 @@ fn clone_error(error: &JsonRpseeError) -> JsonRpseeError { InvalidRequestId::Occupied(message) => InvalidRequestId::Occupied(message.clone()), }), JsonRpseeError::RequestTimeout => JsonRpseeError::RequestTimeout, - JsonRpseeError::MaxSlotsExceeded => JsonRpseeError::MaxSlotsExceeded, JsonRpseeError::Custom(message) => JsonRpseeError::Custom(message.clone()), JsonRpseeError::HttpNotImplemented => JsonRpseeError::HttpNotImplemented, JsonRpseeError::EmptyBatchRequest(request) => JsonRpseeError::EmptyBatchRequest(*request), diff --git a/rosetta-server/src/ws/tungstenite_jsonrpsee.rs b/rosetta-server/src/ws/tungstenite_jsonrpsee.rs index e636b29d..7379db1a 100644 --- a/rosetta-server/src/ws/tungstenite_jsonrpsee.rs +++ b/rosetta-server/src/ws/tungstenite_jsonrpsee.rs @@ -43,7 +43,8 @@ impl TungsteniteClient { /// Returns `Err` if the handshake fails pub async fn new(url: Url, config: &RpcClientConfig) -> Result { let config = WebSocketConfig::from(config); - let (ws_stream, response) = connect_async_with_config(url, Some(config), false).await?; + let (ws_stream, response) = + connect_async_with_config(url.to_string(), Some(config), false).await?; let (send, receive) = ws_stream.split(); tracing::trace!( "Successfully connected to the server using Tungstenite. Handshake HTTP code: {}", diff --git a/rosetta-utils/Cargo.toml b/rosetta-utils/Cargo.toml index 8a68f9e6..028f86ff 100644 --- a/rosetta-utils/Cargo.toml +++ b/rosetta-utils/Cargo.toml @@ -17,7 +17,7 @@ sp-std = { version = "14.0" } # futures dependencies futures-timer = { version = "3.0", optional = true } futures-util = { version = "0.3", optional = true } -jsonrpsee-core = { version = "0.22", default-features = false, features = ["client"], optional = true } +jsonrpsee-core = { version = "0.24", default-features = false, features = ["client"], optional = true } pin-project = { version = "1.1", optional = true } tracing = { version = "0.1", optional = true } diff --git a/rosetta-utils/src/error.rs b/rosetta-utils/src/error.rs index d7c49230..ffe249c3 100644 --- a/rosetta-utils/src/error.rs +++ b/rosetta-utils/src/error.rs @@ -20,14 +20,3 @@ where } } } - -pub trait LogErrorExt: Sized { - fn truncate(&self) -> SafeLogError<'_, Self>; -} - -#[cfg(feature = "jsonrpsee")] -impl LogErrorExt for jsonrpsee_core::ClientError { - fn truncate(&self) -> SafeLogError<'_, Self> { - SafeLogError(self) - } -} diff --git a/rosetta-utils/src/jsonrpsee/auto_subscribe.rs b/rosetta-utils/src/jsonrpsee/auto_subscribe.rs index efdbb83e..7ef5c403 100644 --- a/rosetta-utils/src/jsonrpsee/auto_subscribe.rs +++ b/rosetta-utils/src/jsonrpsee/auto_subscribe.rs @@ -1,6 +1,5 @@ #![allow(clippy::option_if_let_else)] use super::FutureFactory; -use crate::error::LogErrorExt; use futures_timer::Delay; use futures_util::{future::BoxFuture, FutureExt, Stream, StreamExt}; use jsonrpsee_core::client::{Error as RpcError, Subscription}; @@ -208,20 +207,9 @@ where }, // Got an error - Poll::Ready(Some(Err(err))) => match err { - // Subscription terminated, resubscribe. - RpcError::RestartNeeded(msg) => { - tracing::error!("subscription terminated: {}", msg.truncate()); - *this.state = State::Unsubscribing { - subscriber, - fut: subscription.unsubscribe().boxed(), - }; - }, - // Return error - err => { - *this.state = State::Subscribed { subscriber, subscription }; - return Poll::Ready(Some(Err(err))); - }, + Poll::Ready(Some(Err(err))) => { + *this.state = State::Subscribed { subscriber, subscription }; + return Poll::Ready(Some(Err(RpcError::ParseError(err)))); }, // Stream was close, resubscribe.