From 4f2ca072e0c516a2275e2612598ae6c6c6d49db6 Mon Sep 17 00:00:00 2001 From: miguelDD1 Date: Tue, 25 Jul 2023 14:02:09 +0200 Subject: [PATCH 1/6] Update `avail-core` dep --- .github/workflows/default.yml | 5 +- .rustfmt.toml | 2 +- Cargo.lock | 3490 +++++++++++++++++++++++---------- Cargo.toml | 90 +- README.md | 77 +- dprint.json | 20 + src/app_client.rs | 69 +- src/data.rs | 7 +- src/light_client.rs | 16 +- src/main.rs | 3 +- src/network/client.rs | 2 +- src/proof.rs | 5 +- src/rpc.rs | 29 +- src/subscriptions.rs | 22 +- src/sync_client.rs | 25 +- src/types.rs | 18 +- src/utils.rs | 45 +- 17 files changed, 2642 insertions(+), 1283 deletions(-) create mode 100644 dprint.json diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index 36f6142e7..3ef14e453 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -37,7 +37,10 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 - + + - name: Check `TOML`, `JSON`, and `MarkDown` formatting + uses: dprint/check@v2.1 + - name: Check code formatting uses: actions-rs/cargo@v1 with: diff --git a/.rustfmt.toml b/.rustfmt.toml index 15e5da36d..2a7f04c78 100644 --- a/.rustfmt.toml +++ b/.rustfmt.toml @@ -1,4 +1,4 @@ match_block_trailing_comma = true use_field_init_shorthand = true edition = "2021" -hard_tabs = true \ No newline at end of file +hard_tabs = true diff --git a/Cargo.lock b/Cargo.lock index 6a9f8753c..9f9672ca5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,7 +27,16 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.27.2", + "gimli 0.27.3", +] + +[[package]] +name = "addr2line" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +dependencies = [ + "gimli 0.27.3", ] [[package]] @@ -90,9 +99,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" dependencies = [ "cfg-if 1.0.0", "cipher 0.4.4", @@ -115,12 +124,12 @@ dependencies = [ [[package]] name = "aes-gcm" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c" +checksum = "209b47e8954a928e1d72e86eca7000ebb6655fe1436d33eefc2201cad027e237" dependencies = [ "aead 0.5.2", - "aes 0.8.2", + "aes 0.8.3", "cipher 0.4.4", "ctr 0.9.2", "ghash 0.5.0", @@ -159,7 +168,7 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", "once_cell", "version_check", ] @@ -171,20 +180,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" dependencies = [ "cfg-if 1.0.0", - "getrandom 0.2.9", + "getrandom 0.2.10", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -205,9 +220,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6342bd4f5a1205d7f41e94a41a901f5647c938cdfa96036338e8533c9d6c2450" +checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" dependencies = [ "anstyle", "anstyle-parse", @@ -220,15 +235,15 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" +checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" [[package]] name = "anstyle-parse" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" dependencies = [ "utf8parse", ] @@ -254,9 +269,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" [[package]] name = "arc-swap" @@ -285,15 +300,6 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - [[package]] name = "arrayvec" version = "0.5.2" @@ -302,9 +308,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "asn1-rs" @@ -319,7 +325,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.20", + "time 0.3.23", ] [[package]] @@ -335,7 +341,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.20", + "time 0.3.23", ] [[package]] @@ -391,9 +397,9 @@ dependencies = [ [[package]] name = "async-channel" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ "concurrent-queue", "event-listener", @@ -409,7 +415,7 @@ dependencies = [ "async-lock", "async-task", "concurrent-queue", - "fastrand", + "fastrand 1.9.0", "futures-lite", "slab", ] @@ -455,9 +461,9 @@ dependencies = [ "log", "parking", "polling", - "rustix 0.37.19", + "rustix 0.37.23", "slab", - "socket2", + "socket2 0.4.9", "waker-fn", ] @@ -495,7 +501,7 @@ dependencies = [ "cfg-if 1.0.0", "event-listener", "futures-lite", - "rustix 0.37.19", + "rustix 0.37.23", "signal-hook", "windows-sys 0.48.0", ] @@ -522,7 +528,7 @@ dependencies = [ "log", "memchr", "once_cell", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", "pin-utils", "slab", "wasm-bindgen-futures", @@ -539,7 +545,7 @@ dependencies = [ "futures-io", "futures-util", "pin-utils", - "socket2", + "socket2 0.4.9", "trust-dns-resolver", ] @@ -551,26 +557,26 @@ checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" [[package]] name = "async-trait" -version = "0.1.68" +version = "0.1.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.27", ] [[package]] name = "asynchronous-codec" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06a0daa378f5fd10634e44b0a29b2a87b890657658e072a30d6f26e57ddee182" +checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568" dependencies = [ "bytes", "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", ] [[package]] @@ -596,6 +602,30 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "avail-core" +version = "0.5.0" +dependencies = [ + "beefy-merkle-tree", + "derive_more", + "frame-support", + "hash256-std-hasher", + "hex", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-arithmetic 16.0.0", + "sp-core 21.0.0", + "sp-io 23.0.0", + "sp-runtime 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 8.0.0", + "sp-trie 22.0.0", + "static_assertions", + "thiserror-no-std", +] + [[package]] name = "avail-light" version = "1.5.0" @@ -603,10 +633,11 @@ dependencies = [ "anyhow", "async-std", "async-trait", + "avail-core", "avail-subxt", - "base64 0.21.0", + "base64 0.21.2", "chrono", - "clap 4.3.0", + "clap 4.3.19", "confy", "dusk-plonk", "ed25519-dalek", @@ -630,13 +661,15 @@ dependencies = [ "prometheus-client", "proptest", "rand 0.8.5", + "rand_chacha 0.3.1", "regex", "rocksdb", "scale-info", "serde", "serde_json", - "smallvec 1.10.0", - "sp-core 6.0.0", + "smallvec 1.11.0", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir", "test-case", "thiserror", @@ -653,8 +686,7 @@ dependencies = [ [[package]] name = "avail-subxt" -version = "0.2.1" -source = "git+https://github.com/availproject/avail.git?tag=v1.6.1-rc3#28eff55fb2b939d38d2cd724d0fe50738c7e9cf1" +version = "0.3.0" dependencies = [ "anyhow", "curve25519-dalek 2.1.3", @@ -668,7 +700,7 @@ dependencies = [ "schnorrkel", "serde", "serde-hex", - "sp-core 16.0.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "structopt", "subxt", "tokio", @@ -676,16 +708,16 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" dependencies = [ - "addr2line 0.19.0", + "addr2line 0.20.0", "cc", "cfg-if 1.0.0", "libc", - "miniz_oxide 0.6.2", - "object 0.30.3", + "miniz_oxide", + "object 0.31.1", "rustc-demangle", ] @@ -715,9 +747,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" [[package]] name = "base64ct" @@ -734,6 +766,16 @@ dependencies = [ "serde", ] +[[package]] +name = "beefy-merkle-tree" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "sp-api 4.0.0-dev", + "sp-beefy", + "sp-runtime 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", +] + [[package]] name = "bimap" version = "0.6.3" @@ -755,7 +797,7 @@ version = "0.59.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cexpr", "clang-sys", "lazy_static", @@ -789,6 +831,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + [[package]] name = "bitvec" version = "1.0.1" @@ -807,17 +855,18 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] -name = "blake2-rfc" -version = "0.2.18" +name = "blake2b_simd" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", + "arrayref", + "arrayvec 0.7.4", + "constant_time_eq 0.2.6", ] [[package]] @@ -830,7 +879,7 @@ dependencies = [ "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", - "constant_time_eq", + "constant_time_eq 0.1.5", "crypto-mac 0.8.0", "digest 0.9.0", ] @@ -901,16 +950,16 @@ dependencies = [ "async-lock", "async-task", "atomic-waker", - "fastrand", + "fastrand 1.9.0", "futures-lite", "log", ] [[package]] name = "bounded-collections" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3888522b497857eb606bf51695988dba7096941822c1bcf676e3a929a9ae7a0" +checksum = "eb5b05133427c07c4776906f673ccf36c21b102c9829c641a5b56bd151d44fd6" dependencies = [ "log", "parity-scale-codec", @@ -926,9 +975,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bumpalo" -version = "3.12.1" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "byte-slice-cast" @@ -996,6 +1045,15 @@ dependencies = [ "nom", ] +[[package]] +name = "cfg-expr" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +dependencies = [ + "smallvec 1.11.0", +] + [[package]] name = "cfg-if" version = "0.1.10" @@ -1035,13 +1093,13 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.24" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "time 0.1.45", "wasm-bindgen", @@ -1087,6 +1145,15 @@ dependencies = [ "inout", ] +[[package]] +name = "ckb-merkle-mountain-range" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ccb671c5921be8a84686e6212ca184cb1d7c51cadcdbfcbd1cc3f042f5dfb8" +dependencies = [ + "cfg-if 1.0.0", +] + [[package]] name = "clang-sys" version = "1.6.1" @@ -1106,7 +1173,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim 0.8.0", "textwrap", "unicode-width", @@ -1115,9 +1182,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.0" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc" +checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" dependencies = [ "clap_builder", "clap_derive", @@ -1126,27 +1193,26 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.3.0" +version = "4.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990" +checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" dependencies = [ "anstream", "anstyle", - "bitflags", "clap_lex", "strsim 0.10.0", ] [[package]] name = "clap_derive" -version = "4.3.0" +version = "4.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "191d9573962933b4027f932c600cd252ce27a8ad5979418fe78e43c07996f27b" +checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.27", ] [[package]] @@ -1155,16 +1221,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - [[package]] name = "colorchoice" version = "1.0.0" @@ -1193,9 +1249,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" +checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" [[package]] name = "constant_time_eq" @@ -1203,6 +1259,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +[[package]] +name = "constant_time_eq" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" + [[package]] name = "convert_case" version = "0.4.0" @@ -1245,18 +1307,27 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.7" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] [[package]] name = "cranelift-entity" -version = "0.92.1" +version = "0.88.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" +dependencies = [ + "serde", +] + +[[package]] +name = "cranelift-entity" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9e39cfc857e7e539aa623e03bb6bec11f54aef3dfdef41adcfa7b594af3b54" +checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" dependencies = [ "serde", ] @@ -1308,22 +1379,22 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.14" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ "autocfg", "cfg-if 1.0.0", "crossbeam-utils", - "memoffset 0.8.0", + "memoffset 0.9.0", "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.15" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" dependencies = [ "cfg-if 1.0.0", ] @@ -1377,16 +1448,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote", - "syn 1.0.109", -] - [[package]] name = "ctr" version = "0.8.0" @@ -1457,71 +1518,51 @@ dependencies = [ ] [[package]] -name = "cxx" -version = "1.0.94" +name = "darling" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", + "darling_core 0.14.4", + "darling_macro 0.14.4", ] [[package]] -name = "cxx-build" -version = "1.0.94" +name = "darling" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 2.0.15", + "darling_core 0.20.3", + "darling_macro 0.20.3", ] [[package]] -name = "cxxbridge-flags" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.94" +name = "darling_core" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ + "fnv", + "ident_case", "proc-macro2", "quote", - "syn 2.0.15", -] - -[[package]] -name = "darling" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" -dependencies = [ - "darling_core", - "darling_macro", + "strsim 0.10.0", + "syn 1.0.109", ] [[package]] name = "darling_core" -version = "0.14.4" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.10.0", - "syn 1.0.109", + "syn 2.0.27", ] [[package]] @@ -1530,22 +1571,33 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ - "darling_core", + "darling_core 0.14.4", "quote", "syn 1.0.109", ] +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core 0.20.3", + "quote", + "syn 2.0.27", +] + [[package]] name = "data-encoding" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "data-encoding-macro" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca" +checksum = "c904b33cc60130e1aeea4956ab803d08a3f4a0ca82d64ed757afac3891f2bb99" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1553,9 +1605,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" +checksum = "8fdf3fce3ce863539ec1d7fd1b6dcc3c645663376b43ed376bbf887733e4f772" dependencies = [ "data-encoding", "syn 1.0.109", @@ -1581,7 +1633,7 @@ dependencies = [ "asn1-rs 0.3.1", "displaydoc", "nom", - "num-bigint 0.4.3", + "num-bigint", "num-traits", "rusticata-macros", ] @@ -1595,7 +1647,7 @@ dependencies = [ "asn1-rs 0.5.2", "displaydoc", "nom", - "num-bigint 0.4.3", + "num-bigint", "num-traits", "rusticata-macros", ] @@ -1637,7 +1689,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" dependencies = [ - "darling", + "darling 0.14.4", "proc-macro2", "quote", "syn 1.0.109", @@ -1692,9 +1744,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", "crypto-common", @@ -1724,13 +1776,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.27", ] [[package]] @@ -1747,15 +1799,15 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "dtoa" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65d09067bfacaa79114679b279d7f5885b53295b1e2cfb4e79c8e4bd3d633169" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" [[package]] name = "dusk-bls12_381" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fc81248ab76f1739dd4241ea2e7037a4d4cb0bd170443a7049e13b0e09acd6" +checksum = "81cded349291dd4620fd02065cc0fb9a1da7bea8cfe479e0dd067a4cd87225ea" dependencies = [ "byteorder", "dusk-bytes", @@ -1824,9 +1876,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30" +checksum = "304e6508efa593091e97a9abbc10f90aa7ca635b6d2784feff3c89d41dd12272" [[package]] name = "ecdsa" @@ -1891,9 +1943,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elliptic-curve" @@ -1904,7 +1956,7 @@ dependencies = [ "base16ct", "crypto-bigint", "der", - "digest 0.10.6", + "digest 0.10.7", "ff", "generic-array 0.14.7", "group", @@ -2016,6 +2068,12 @@ dependencies = [ "instant", ] +[[package]] +name = "fastrand" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" + [[package]] name = "ff" version = "0.12.1" @@ -2032,18 +2090,6 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" -[[package]] -name = "fixed-hash" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" -dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", -] - [[package]] name = "fixed-hash" version = "0.8.0" @@ -2064,7 +2110,7 @@ checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" dependencies = [ "crc32fast", "libz-sys", - "miniz_oxide 0.7.1", + "miniz_oxide", ] [[package]] @@ -2099,9 +2145,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -2124,6 +2170,78 @@ dependencies = [ "serde", ] +[[package]] +name = "frame-support" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa480b4610b2805c280a7587d2cf8f09c35882a8b5dc3b6085639133a1de003" +dependencies = [ + "bitflags 1.3.2", + "frame-metadata", + "frame-support-procedural", + "impl-trait-for-tuples", + "k256", + "log", + "once_cell", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "smallvec 1.11.0", + "sp-api 4.0.0", + "sp-arithmetic 7.0.0", + "sp-core 8.0.0", + "sp-core-hashing-proc-macro 6.0.0", + "sp-inherents", + "sp-io 8.0.0", + "sp-runtime 8.0.0", + "sp-staking", + "sp-state-machine 0.14.0", + "sp-std 6.0.0", + "sp-tracing 7.0.0", + "sp-weights 5.0.0", + "tt-call", +] + +[[package]] +name = "frame-support-procedural" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb971d7ec274ca94ce5b38f8ba83a4046a79d4fe1795738e1cc11ed07232c7d5" +dependencies = [ + "Inflector", + "cfg-expr", + "frame-support-procedural-tools", + "itertools 0.10.5", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4272f469300e22c33f15502980016e876669a93080f21e0bd2da1bc7cefc87f" +dependencies = [ + "frame-support-procedural-tools-derive", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a881492b8dfdd6065d7d8537b8f79cd27aff8c501c759ac12b0295d139ff3d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "fuchsia-cprng" version = "0.1.1" @@ -2191,12 +2309,12 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ - "fastrand", + "fastrand 1.9.0", "futures-core", "futures-io", "memchr", "parking", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", "waker-fn", ] @@ -2208,7 +2326,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.27", ] [[package]] @@ -2257,7 +2375,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", "pin-utils", "slab", ] @@ -2296,9 +2414,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -2324,7 +2442,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.6.0", + "polyval 0.6.1", ] [[package]] @@ -2339,9 +2457,14 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +dependencies = [ + "fallible-iterator", + "indexmap", + "stable_deref_trait", +] [[package]] name = "glob" @@ -2383,9 +2506,9 @@ dependencies = [ [[package]] name = "gloo-utils" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8e8fc851e9c7b9852508bc6e3f690f452f474417e8545ec9857b7f7377036b5" +checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e" dependencies = [ "js-sys", "serde", @@ -2407,9 +2530,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.18" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" dependencies = [ "bytes", "fnv", @@ -2430,6 +2553,12 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" +[[package]] +name = "hash-db" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" + [[package]] name = "hash256-std-hasher" version = "0.15.2" @@ -2473,7 +2602,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" dependencies = [ "base64 0.13.1", - "bitflags", + "bitflags 1.3.2", "bytes", "headers-core", "http", @@ -2517,24 +2646,18 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] [[package]] name = "hex-literal" @@ -2583,7 +2706,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -2627,7 +2750,7 @@ checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", "http", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", ] [[package]] @@ -2650,9 +2773,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.26" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", @@ -2664,8 +2787,8 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.9", - "socket2", + "pin-project-lite 0.2.10", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -2703,9 +2826,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.56" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2717,12 +2840,11 @@ dependencies = [ [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -2744,9 +2866,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -2791,15 +2913,6 @@ dependencies = [ "parity-scale-codec", ] -[[package]] -name = "impl-serde" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" -dependencies = [ - "serde", -] - [[package]] name = "impl-serde" version = "0.4.0" @@ -2882,42 +2995,47 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.10" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" + +[[package]] +name = "io-lifetimes" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.2", "libc", "windows-sys 0.48.0", ] [[package]] name = "ipconfig" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2", + "socket2 0.5.3", "widestring", - "winapi", + "windows-sys 0.48.0", "winreg", ] [[package]] name = "ipnet" -version = "2.7.2" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "is-terminal" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix 0.37.19", + "hermit-abi 0.3.2", + "rustix 0.38.4", "windows-sys 0.48.0", ] @@ -2941,9 +3059,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" @@ -2956,9 +3074,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -3097,28 +3215,42 @@ dependencies = [ "jsonrpsee-types", ] +[[package]] +name = "k256" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" +dependencies = [ + "cfg-if 1.0.0", + "ecdsa 0.14.8", + "elliptic-curve", + "sha2 0.10.7", +] + [[package]] name = "kate-recovery" -version = "0.8.1" -source = "git+https://github.com/availproject/avail-core?tag=da-primitives/v0.4.6#6468206d95e55bad150d66f446bc3404488e460c" +version = "0.9.0" dependencies = [ + "avail-core", + "derive_more", "dusk-bytes", "dusk-plonk", - "getrandom 0.2.9", - "num", "once_cell", "parity-scale-codec", "rand 0.8.5", "rand_chacha 0.3.1", "serde", - "thiserror", + "sp-arithmetic 16.0.0", + "sp-std 8.0.0", + "static_assertions", + "thiserror-no-std", ] [[package]] name = "keccak" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" dependencies = [ "cpufeatures", ] @@ -3146,9 +3278,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.142" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "libipld" @@ -3229,9 +3361,9 @@ checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" [[package]] name = "libm" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" +checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" [[package]] name = "libp2p" @@ -3242,7 +3374,7 @@ dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.9", + "getrandom 0.2.10", "instant", "libp2p-allow-block-list", "libp2p-autonat", @@ -3282,9 +3414,9 @@ dependencies = [ [[package]] name = "libp2p-allow-block-list" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c54073648b20bb47335164544a4e5694434f44530f47a4f6618f5f585f3ff5" +checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" dependencies = [ "libp2p-core", "libp2p-identity", @@ -3325,9 +3457,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.39.1" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7f8b7d65c070a5a1b5f8f0510648189da08f787b8963f8e21219e0710733af" +checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" dependencies = [ "either", "fnv", @@ -3346,7 +3478,7 @@ dependencies = [ "rand 0.8.5", "rw-stream-sink", "serde", - "smallvec 1.10.0", + "smallvec 1.11.0", "thiserror", "unsigned-varint", "void", @@ -3395,7 +3527,7 @@ dependencies = [ "libp2p-core", "log", "parking_lot 0.12.1", - "smallvec 1.10.0", + "smallvec 1.11.0", "trust-dns-resolver", ] @@ -3416,20 +3548,21 @@ dependencies = [ "quick-protobuf", "quick-protobuf-codec", "rand 0.8.5", - "smallvec 1.10.0", + "smallvec 1.11.0", "thiserror", ] [[package]] name = "libp2p-gossipsub" -version = "0.44.3" +version = "0.44.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac213adad69bd9866fe87c37fbf241626715e5cd454fb6df9841aa2b02440ee" +checksum = "70b34b6da8165c0bde35c82db8efda39b824776537e73973549e76cadb3a77c5" dependencies = [ "asynchronous-codec", - "base64 0.21.0", + "base64 0.21.2", "byteorder", "bytes", + "either", "fnv", "futures", "hex_fmt", @@ -3444,18 +3577,19 @@ dependencies = [ "rand 0.8.5", "regex", "serde", - "sha2 0.10.6", - "smallvec 1.10.0", + "sha2 0.10.7", + "smallvec 1.11.0", "thiserror", "unsigned-varint", + "void", "wasm-timer", ] [[package]] name = "libp2p-identify" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40d1da1f75baf824cfdc80f6aced51f7cbf8dc14e32363e9443570a80d4ee337" +checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" dependencies = [ "asynchronous-codec", "either", @@ -3465,19 +3599,19 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "lru", + "lru 0.10.1", "quick-protobuf", "quick-protobuf-codec", - "smallvec 1.10.0", + "smallvec 1.11.0", "thiserror", "void", ] [[package]] name = "libp2p-identity" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a8ea433ae0cea7e3315354305237b9897afe45278b2118a7a57ca744e70fd27" +checksum = "9e2d584751cecb2aabaa56106be6be91338a60a0f4e420cf2af639204f596fc1" dependencies = [ "asn1_der", "bs58", @@ -3487,13 +3621,12 @@ dependencies = [ "multiaddr", "multihash 0.17.0", "p256 0.12.0", - "prost", "quick-protobuf", "rand 0.8.5", "ring", "sec1", "serde", - "sha2 0.10.6", + "sha2 0.10.7", "thiserror", "void", "zeroize", @@ -3501,11 +3634,11 @@ dependencies = [ [[package]] name = "libp2p-kad" -version = "0.43.2" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9647c76e63c4d0e9a10369cef9b929a2e5e8f03008b2097ab365fc4cb4e5318f" +checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "asynchronous-codec", "bytes", "either", @@ -3520,8 +3653,8 @@ dependencies = [ "quick-protobuf", "rand 0.8.5", "serde", - "sha2 0.10.6", - "smallvec 1.10.0", + "sha2 0.10.7", + "smallvec 1.11.0", "thiserror", "uint", "unsigned-varint", @@ -3543,8 +3676,8 @@ dependencies = [ "libp2p-swarm", "log", "rand 0.8.5", - "smallvec 1.10.0", - "socket2", + "smallvec 1.11.0", + "socket2 0.4.9", "tokio", "trust-dns-proto", "void", @@ -3581,15 +3714,15 @@ dependencies = [ "nohash-hasher", "parking_lot 0.12.1", "rand 0.8.5", - "smallvec 1.10.0", + "smallvec 1.11.0", "unsigned-varint", ] [[package]] name = "libp2p-noise" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c87c2803deffeae94108072a0387f8c9ff494af68a4908454c11c811e27b5e5" +checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" dependencies = [ "bytes", "curve25519-dalek 3.2.0", @@ -3600,7 +3733,7 @@ dependencies = [ "once_cell", "quick-protobuf", "rand 0.8.5", - "sha2 0.10.6", + "sha2 0.10.7", "snow", "static_assertions", "thiserror", @@ -3616,7 +3749,7 @@ checksum = "f542bd9566c2c6b4a16dba22372ae767c97b210b84127db35997cf836706cf1c" dependencies = [ "anyhow", "async-std", - "clap 4.3.0", + "clap 4.3.19", "env_logger", "futures", "instant", @@ -3678,7 +3811,7 @@ dependencies = [ "pin-project", "rand 0.8.5", "salsa20", - "sha3 0.10.7", + "sha3 0.10.8", ] [[package]] @@ -3752,41 +3885,39 @@ dependencies = [ [[package]] name = "libp2p-request-response" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "872b9d63fed44d9f81110c30be6c7ca5593a093576d2a95c5d018051e294d2e9" +checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" dependencies = [ "async-trait", - "bytes", "futures", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm", - "log", "rand 0.8.5", - "smallvec 1.10.0", - "unsigned-varint", + "smallvec 1.11.0", ] [[package]] name = "libp2p-swarm" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd1e223f02fcd7e3790f9b954e2e81791810e3512daeb27fa97df7652e946bc2" +checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" dependencies = [ "async-std", "either", "fnv", "futures", "futures-timer", - "getrandom 0.2.9", + "getrandom 0.2.10", "instant", "libp2p-core", "libp2p-identity", "libp2p-swarm-derive", "log", "rand 0.8.5", - "smallvec 1.10.0", + "smallvec 1.11.0", "tokio", "void", "wasm-bindgen-futures", @@ -3816,7 +3947,7 @@ dependencies = [ "libc", "libp2p-core", "log", - "socket2", + "socket2 0.4.9", "tokio", ] @@ -3916,14 +4047,13 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.43.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d048cd82f72c8800655aa1ee9b808ea8c9d523a649d3579b3ef0cfe23952d7fd" +checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" dependencies = [ "futures", "libp2p-core", "log", - "parking_lot 0.12.1", "thiserror", "yamux", ] @@ -3990,30 +4120,27 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +checksum = "24e6ab01971eb092ffe6a7d42f49f9ff42662f17604681e2843ad65077ba47dc" dependencies = [ "cc", "pkg-config", "vcpkg", ] -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - [[package]] name = "linked-hash-map" version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +[[package]] +name = "linux-raw-sys" +version = "0.0.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" + [[package]] name = "linux-raw-sys" version = "0.1.4" @@ -4022,15 +4149,21 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", @@ -4038,19 +4171,27 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" dependencies = [ - "cfg-if 1.0.0", "value-bag", ] [[package]] name = "lru" -version = "0.9.0" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown 0.12.3", +] + +[[package]] +name = "lru" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17" +checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" dependencies = [ "hashbrown 0.13.2", ] @@ -4085,7 +4226,7 @@ version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" dependencies = [ - "regex-automata", + "regex-automata 0.1.10", ] [[package]] @@ -4106,7 +4247,7 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -4121,7 +4262,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" dependencies = [ - "rustix 0.37.19", + "rustix 0.37.23", ] [[package]] @@ -4142,21 +4283,44 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memory-db" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" +dependencies = [ + "hash-db 0.15.2", + "hashbrown 0.12.3", + "parity-util-mem", +] + [[package]] name = "memory-db" version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" dependencies = [ - "hash-db", + "hash-db 0.15.2", "hashbrown 0.12.3", ] [[package]] -name = "memory_units" -version = "0.3.0" +name = "memory-db" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" +dependencies = [ + "hash-db 0.16.0", +] [[package]] name = "memory_units" @@ -4210,15 +4374,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.7.1" @@ -4230,14 +4385,13 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", - "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -4336,11 +4490,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ "core2", - "digest 0.10.6", + "digest 0.10.7", "multihash-derive 0.8.1", "serde", "serde-big-array", - "sha2 0.10.6", + "sha2 0.10.7", "unsigned-varint", ] @@ -4382,7 +4536,7 @@ dependencies = [ "futures", "log", "pin-project", - "smallvec 1.10.0", + "smallvec 1.11.0", "unsigned-varint", ] @@ -4423,7 +4577,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" dependencies = [ "anyhow", - "bitflags", + "bitflags 1.3.2", "byteorder", "libc", "netlink-packet-core", @@ -4477,7 +4631,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "libc", "memoffset 0.6.5", @@ -4523,26 +4677,15 @@ dependencies = [ [[package]] name = "num" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ - "num-bigint 0.4.3", + "num-bigint", "num-complex", "num-integer", "num-iter", - "num-rational 0.4.1", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", + "num-rational", "num-traits", ] @@ -4572,7 +4715,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "itoa", ] @@ -4597,18 +4740,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.1" @@ -4616,28 +4747,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", - "num-bigint 0.4.3", + "num-bigint", "num-integer", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", - "libm 0.2.6", + "libm 0.2.7", ] [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.2", "libc", ] @@ -4676,9 +4807,21 @@ dependencies = [ [[package]] name = "object" -version = "0.30.3" +version = "0.30.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" +dependencies = [ + "crc32fast", + "hashbrown 0.13.2", + "indexmap", + "memchr", +] + +[[package]] +name = "object" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" dependencies = [ "memchr", ] @@ -4703,9 +4846,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.1" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "opaque-debug" @@ -4721,11 +4864,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.52" +version = "0.10.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "foreign-types", "libc", @@ -4742,7 +4885,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.27", ] [[package]] @@ -4753,18 +4896,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.25.3+1.1.1t" +version = "111.26.0+1.1.1u" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924757a6a226bf60da5f7dd0311a34d2b52283dd82ddeb103208ddc66362f80c" +checksum = "efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.87" +version = "0.9.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" dependencies = [ "cc", "libc", @@ -4787,7 +4930,7 @@ checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" dependencies = [ "ecdsa 0.14.8", "elliptic-curve", - "sha2 0.10.6", + "sha2 0.10.7", ] [[package]] @@ -4799,7 +4942,7 @@ dependencies = [ "ecdsa 0.15.1", "elliptic-curve", "primeorder", - "sha2 0.10.6", + "sha2 0.10.7", ] [[package]] @@ -4810,7 +4953,7 @@ checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" dependencies = [ "ecdsa 0.14.8", "elliptic-curve", - "sha2 0.10.6", + "sha2 0.10.7", ] [[package]] @@ -4825,11 +4968,11 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.5.0" +version = "3.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ddb756ca205bd108aee3c62c6d3c994e1df84a59b9d6d4a5ea42ee1fd5a9a28" +checksum = "dd8e946cc0cc711189c0b0249fb8b599cbeeab9784d83c415719368bb8d4ac64" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "bitvec", "byte-slice-cast", "bytes", @@ -4840,9 +4983,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.4" +version = "3.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" +checksum = "2a296c3079b5fefbc499e1de58dc26c09b1b9a5952d26694ee89f04a43ebbb3e" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -4858,14 +5001,16 @@ checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" [[package]] name = "parity-util-mem" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if 1.0.0", + "hashbrown 0.12.3", "impl-trait-for-tuples", "parity-util-mem-derive", - "primitive-types 0.11.1", + "parking_lot 0.12.1", + "primitive-types", "winapi", ] @@ -4880,12 +5025,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -4916,7 +5055,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.8", ] [[package]] @@ -4929,28 +5068,28 @@ dependencies = [ "instant", "libc", "redox_syscall 0.2.16", - "smallvec 1.10.0", + "smallvec 1.11.0", "winapi", ] [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.16", - "smallvec 1.10.0", - "windows-sys 0.45.0", + "redox_syscall 0.3.5", + "smallvec 1.11.0", + "windows-targets 0.48.1", ] [[package]] name = "paste" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pbkdf2" @@ -4976,7 +5115,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -4985,7 +5124,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbaa01d616eb84eb35cd085fdeaa8671dc8d951bdc4a75bfc414466e76b039ce" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno 0.2.8", "libc", "libloading 0.6.7", @@ -5020,28 +5159,28 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pin-project" -version = "1.0.12" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.12" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.27", ] [[package]] @@ -5052,9 +5191,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" [[package]] name = "pin-utils" @@ -5091,12 +5230,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" dependencies = [ "autocfg", - "bitflags", + "bitflags 1.3.2", "cfg-if 1.0.0", "concurrent-queue", "libc", "log", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", "windows-sys 0.48.0", ] @@ -5125,14 +5264,14 @@ dependencies = [ [[package]] name = "polyval" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6" +checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" dependencies = [ "cfg-if 1.0.0", "cpufeatures", "opaque-debug 0.3.0", - "universal-hash 0.5.0", + "universal-hash 0.5.1", ] [[package]] @@ -5180,28 +5319,15 @@ dependencies = [ "elliptic-curve", ] -[[package]] -name = "primitive-types" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" -dependencies = [ - "fixed-hash 0.7.0", - "impl-codec", - "impl-serde 0.3.2", - "scale-info", - "uint", -] - [[package]] name = "primitive-types" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ - "fixed-hash 0.8.0", + "fixed-hash", "impl-codec", - "impl-serde 0.4.0", + "impl-serde", "scale-info", "uint", ] @@ -5242,9 +5368,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.56" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -5274,16 +5400,15 @@ dependencies = [ [[package]] name = "proptest" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f1b898011ce9595050a68e60f90bad083ff2987a695a42357134c8381fba70" +checksum = "4e35c06b98bf36aba164cc17cb25f7e232f5c4aeea73baa14b8a9f0d92dbfa65" dependencies = [ "bit-set", - "bitflags", + "bitflags 1.3.2", "byteorder", "lazy_static", "num-traits", - "quick-error 2.0.1", "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", @@ -5293,29 +5418,6 @@ dependencies = [ "unarray", ] -[[package]] -name = "prost" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-derive" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" -dependencies = [ - "anyhow", - "itertools 0.10.5", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "psm" version = "0.1.21" @@ -5331,12 +5433,6 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - [[package]] name = "quick-protobuf" version = "0.8.1" @@ -5372,9 +5468,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c" +checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" dependencies = [ "bytes", "rand 0.8.5", @@ -5390,9 +5486,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.26" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -5491,7 +5587,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", ] [[package]] @@ -5551,7 +5647,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.20", + "time 0.3.23", "x509-parser 0.13.2", "yasna", ] @@ -5564,7 +5660,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.20", + "time 0.3.23", "yasna", ] @@ -5583,7 +5679,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -5592,7 +5688,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -5601,40 +5697,41 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", "redox_syscall 0.2.16", "thiserror", ] [[package]] name = "ref-cast" -version = "1.0.16" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43faa91b1c8b36841ee70e97188a869d37ae21759da6846d4be66de5bf7b12c" +checksum = "61ef7e18e8841942ddb1cf845054f8008410030a3997875d9e49b7a363063df1" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.16" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d2275aab483050ab2a7364c1a46604865ee7d6906684e08db0f090acf74f9e7" +checksum = "2dfaf0c85b766276c797f3791f5bc6d5bd116b41d53049af2789666b0c0bc9fa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.27", ] [[package]] name = "regex" -version = "1.8.1" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.1", + "regex-automata 0.3.3", + "regex-syntax 0.7.4", ] [[package]] @@ -5646,6 +5743,17 @@ dependencies = [ "regex-syntax 0.6.29", ] +[[package]] +name = "regex-automata" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.7.4", +] + [[package]] name = "regex-syntax" version = "0.6.29" @@ -5654,9 +5762,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "remove_dir_all" @@ -5674,7 +5782,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ "hostname", - "quick-error 1.2.3", + "quick-error", ] [[package]] @@ -5792,13 +5900,27 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.13" +version = "0.35.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6380889b07a03b5ecf1d44dc9ede6fd2145d84b502a2a9ca0b03c48e0cc3220f" +dependencies = [ + "bitflags 1.3.2", + "errno 0.2.8", + "io-lifetimes 0.7.5", + "libc", + "linux-raw-sys 0.0.46", + "windows-sys 0.42.0", +] + +[[package]] +name = "rustix" +version = "0.36.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a38f9520be93aba504e8ca974197f46158de5dcaa9fa04b57c57cd6a679d658" +checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno 0.3.1", - "io-lifetimes", + "io-lifetimes 1.0.11", "libc", "linux-raw-sys 0.1.4", "windows-sys 0.45.0", @@ -5806,15 +5928,28 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.19" +version = "0.37.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +dependencies = [ + "bitflags 1.3.2", + "errno 0.3.1", + "io-lifetimes 1.0.11", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" dependencies = [ - "bitflags", + "bitflags 2.3.3", "errno 0.3.1", - "io-lifetimes", "libc", - "linux-raw-sys 0.3.7", + "linux-raw-sys 0.4.3", "windows-sys 0.48.0", ] @@ -5845,9 +5980,9 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", "rustls-pemfile", @@ -5857,13 +5992,19 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.0", + "base64 0.21.2", ] +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + [[package]] name = "rusty-fork" version = "0.3.0" @@ -5871,7 +6012,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" dependencies = [ "fnv", - "quick-error 1.2.3", + "quick-error", "tempfile", "wait-timeout", ] @@ -5889,9 +6030,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "salsa20" @@ -5915,21 +6056,65 @@ dependencies = [ [[package]] name = "scale-decode" -version = "0.4.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d823d4be477fc33321f93d08fb6c2698273d044f01362dc27573a750deb7c233" +checksum = "f0459d00b0dbd2e765009924a78ef36b2ff7ba116292d732f00eb0ed8e465d15" dependencies = [ "parity-scale-codec", + "primitive-types", "scale-bits", + "scale-decode-derive", "scale-info", + "smallvec 1.11.0", "thiserror", ] [[package]] -name = "scale-info" -version = "2.6.0" +name = "scale-decode-derive" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4391f0dfbb6690f035f6d2a15d6a12f88cc5395c36bcc056db07ffa2a90870ec" +dependencies = [ + "darling 0.14.4", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scale-encode" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0401b7cdae8b8aa33725f3611a051358d5b32887ecaa0fda5953a775b2d4d76" +dependencies = [ + "parity-scale-codec", + "primitive-types", + "scale-bits", + "scale-encode-derive", + "scale-info", + "smallvec 1.11.0", + "thiserror", +] + +[[package]] +name = "scale-encode-derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "316e0fb10ec0fee266822bd641bab5e332a4ab80ef8c5b5ff35e5401a394f5a6" +dependencies = [ + "darling 0.14.4", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "scale-info" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfdef77228a4c05dc94211441595746732131ad7f6530c6c18f045da7b7ab937" +checksum = "35c0a159d0c45c12b20c5a844feb1fe4bea86e28f17b92a5f0c42193634d3782" dependencies = [ "bitvec", "cfg-if 1.0.0", @@ -5941,9 +6126,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53012eae69e5aa5c14671942a5dd47de59d4cdcff8532a6dd0e081faf1119482" +checksum = "912e55f6d20e0e80d63733872b40e1227c0bce1e1ab81ba67d696339bfd7fd29" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5953,15 +6138,18 @@ dependencies = [ [[package]] name = "scale-value" -version = "0.6.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16a5e7810815bd295da73e4216d1dfbced3c7c7c7054d70fa5f6e4c58123fff4" +checksum = "f2096d36e94ce9bf87d8addb752423b6b19730dc88edd7cc452bb2b90573f7a7" dependencies = [ + "base58", + "blake2", "either", "frame-metadata", "parity-scale-codec", "scale-bits", "scale-decode", + "scale-encode", "scale-info", "serde", "thiserror", @@ -5970,11 +6158,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] @@ -6014,15 +6202,9 @@ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" [[package]] name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "scratch" -version = "1.0.5" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" @@ -6070,31 +6252,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" -dependencies = [ - "secp256k1-sys 0.4.2", -] - [[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-sys" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -6117,11 +6281,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.2" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -6130,9 +6294,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.8.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -6140,9 +6304,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" [[package]] name = "send_wrapper" @@ -6152,9 +6316,9 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "serde" -version = "1.0.160" +version = "1.0.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c" +checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b" dependencies = [ "serde_derive", ] @@ -6181,20 +6345,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.160" +version = "1.0.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df" +checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.27", ] [[package]] name = "serde_json" -version = "1.0.96" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" dependencies = [ "itoa", "ryu", @@ -6234,7 +6398,7 @@ checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -6264,13 +6428,13 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -6287,11 +6451,11 @@ dependencies = [ [[package]] name = "sha3" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c2bb1a323307527314a36bfb73f24febb08ce2b8a554bf4ffd6f51ad15198c" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "keccak", ] @@ -6312,9 +6476,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signal-hook" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" +checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" dependencies = [ "libc", "signal-hook-registry", @@ -6335,7 +6499,7 @@ version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "rand_core 0.6.4", ] @@ -6345,7 +6509,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fe458c98333f9c8152221191a77e2a44e8325d0193484af2e9421a53019e57d" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "rand_core 0.6.4", ] @@ -6369,9 +6533,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "smol" @@ -6403,7 +6567,7 @@ dependencies = [ "rand_core 0.6.4", "ring", "rustc_version", - "sha2 0.10.6", + "sha2 0.10.7", "subtle", ] @@ -6417,6 +6581,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "soketto" version = "0.7.1" @@ -6433,119 +6607,282 @@ dependencies = [ "sha-1", ] +[[package]] +name = "sp-api" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "hash-db 0.15.2", + "log", + "parity-scale-codec", + "sp-api-proc-macro 4.0.0-dev", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-version 5.0.0", + "thiserror", +] + +[[package]] +name = "sp-api" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "070df9182f9d4c703375218a1a8542af7ee879a2684f4776e141a3290b39ef9b" +dependencies = [ + "hash-db 0.15.2", + "log", + "parity-scale-codec", + "sp-api-proc-macro 4.0.0", + "sp-core 8.0.0", + "sp-runtime 8.0.0", + "sp-state-machine 0.14.0", + "sp-std 6.0.0", + "sp-trie 8.0.0", + "sp-version 6.0.0", + "thiserror", +] + +[[package]] +name = "sp-api-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "blake2", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp-api-proc-macro" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74e620b045c0a4fa640fa50623d7da6575115d8a70c54926cfd99f3f7727d323" +dependencies = [ + "blake2", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "sp-application-crypto" -version = "17.0.0" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-application-crypto" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", +] + +[[package]] +name = "sp-application-crypto" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f08604ba4bd856311946722958711a08bded5c929e1227f7a697c58deb09468" +checksum = "b6f13d58fdde9872787976bd5d911b1ca7dacabed098b8e6ef99462d071b29d3" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 16.0.0", - "sp-io", + "sp-core 8.0.0", + "sp-io 8.0.0", "sp-std 6.0.0", ] +[[package]] +name = "sp-application-crypto" +version = "23.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899492ea547816d5dfe9a5a2ecc32f65a7110805af6da3380aa4902371b31dc2" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 21.0.0", + "sp-io 23.0.0", + "sp-std 8.0.0", +] + +[[package]] +name = "sp-arithmetic" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "static_assertions", +] + +[[package]] +name = "sp-arithmetic" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "static_assertions", +] + [[package]] name = "sp-arithmetic" -version = "12.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7796939f2e3b68a3b9410ea17a2063b78038cd366f57fa772dd3be0798bd3412" +checksum = "bd6413ad82d166d40d995aa95ca6e0cbb473f973d3a2f0b433ae19813048c6c1" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", + "sp-debug-derive 6.0.0", "sp-std 6.0.0", "static_assertions", ] +[[package]] +name = "sp-arithmetic" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb6020576e544c6824a51d651bc8df8e6ab67cd59f1c9ac09868bb81a5199ded" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-std 8.0.0", + "static_assertions", +] + +[[package]] +name = "sp-beefy" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-api 4.0.0-dev", + "sp-application-crypto 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-mmr-primitives", + "sp-runtime 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", +] + [[package]] name = "sp-core" -version = "6.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77963e2aa8fadb589118c3aede2e78b6c4bcf1c01d588fbf33e915b390825fbd" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ + "array-bytes", "base58", - "bitflags", - "blake2-rfc", + "bitflags 1.3.2", + "blake2", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", - "hash-db", + "hash-db 0.15.2", "hash256-std-hasher", - "hex", - "impl-serde 0.3.2", + "impl-serde", "lazy_static", "libsecp256k1", "log", "merlin 2.0.1", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot 0.12.1", - "primitive-types 0.11.1", + "primitive-types", "rand 0.7.3", "regex", "scale-info", "schnorrkel", - "secp256k1 0.21.3", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 4.0.0", - "sp-debug-derive 4.0.0", - "sp-externalities 0.12.0", - "sp-runtime-interface 6.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "sp-core-hashing 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ss58-registry", "substrate-bip39", "thiserror", "tiny-bip39 0.8.2", - "wasmi 0.9.1", + "wasmi", "zeroize", ] [[package]] name = "sp-core" -version = "16.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c96dc3debbe5c22ebf18f99e6a53199efe748e6e584a1902adb88cbad66ae7c" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" dependencies = [ "array-bytes", "base58", - "bitflags", + "bitflags 1.3.2", "blake2", - "bounded-collections", "dyn-clonable", "ed25519-zebra", "futures", - "hash-db", + "hash-db 0.15.2", "hash256-std-hasher", - "impl-serde 0.4.0", + "impl-serde", "lazy_static", "libsecp256k1", "log", "merlin 2.0.1", "parity-scale-codec", "parking_lot 0.12.1", - "primitive-types 0.12.1", + "primitive-types", "rand 0.8.5", "regex", "scale-info", "schnorrkel", - "secp256k1 0.24.3", + "secp256k1", "secrecy", "serde", - "sp-core-hashing 6.0.0", - "sp-debug-derive 6.0.0", - "sp-externalities 0.17.0", - "sp-runtime-interface 13.0.0", - "sp-std 6.0.0", - "sp-storage 11.0.0", + "sp-core-hashing 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", "ss58-registry", "substrate-bip39", "thiserror", @@ -6554,373 +6891,1232 @@ dependencies = [ ] [[package]] -name = "sp-core-hashing" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec864a6a67249f0c8dd3d5acab43623a61677e85ff4f2f9b04b802d2fe780e83" -dependencies = [ - "blake2-rfc", - "byteorder", - "sha2 0.9.9", - "sp-std 4.0.0", - "tiny-keccak", - "twox-hash", -] - -[[package]] -name = "sp-core-hashing" -version = "6.0.0" +name = "sp-core" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc2d1947252b7a4e403b0a260f596920443742791765ec111daa2bbf98eff25" +checksum = "64002b155ecf2e000b65b777d392b9a79b2865823b17e4511cb131b45ba537cb" dependencies = [ + "array-bytes", + "base58", + "bitflags 1.3.2", "blake2", "byteorder", - "digest 0.10.6", - "sha2 0.10.6", - "sha3 0.10.7", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db 0.15.2", + "hash256-std-hasher", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin 2.0.1", + "num-traits", + "parity-scale-codec", + "parking_lot 0.12.1", + "primitive-types", + "rand 0.7.3", + "regex", + "scale-info", + "schnorrkel", + "secp256k1", + "secrecy", + "serde", + "sp-core-hashing 6.0.0", + "sp-debug-derive 6.0.0", + "sp-externalities 0.14.0", + "sp-runtime-interface 8.0.0", "sp-std 6.0.0", - "twox-hash", + "sp-storage 8.0.0", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39 0.8.2", + "wasmi", + "zeroize", ] [[package]] -name = "sp-debug-derive" -version = "4.0.0" +name = "sp-core" +version = "21.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d676664972e22a0796176e81e7bec41df461d1edf52090955cdab55f2c956ff2" +checksum = "f18d9e2f67d8661f9729f35347069ac29d92758b59135176799db966947a7336" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "sp-debug-derive" + "array-bytes", + "bitflags 1.3.2", + "blake2", + "bounded-collections", + "bs58", + "dyn-clonable", + "ed25519-zebra", + "futures", + "hash-db 0.16.0", + "hash256-std-hasher", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin 2.0.1", + "parity-scale-codec", + "parking_lot 0.12.1", + "paste", + "primitive-types", + "rand 0.8.5", + "regex", + "scale-info", + "schnorrkel", + "secp256k1", + "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 1.0.0", + "zeroize", +] + +[[package]] +name = "sp-core-hashing" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.7", + "sha2 0.10.7", + "sha3 0.10.8", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.7", + "sha2 0.10.7", + "sha3 0.10.8", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbc2d1947252b7a4e403b0a260f596920443742791765ec111daa2bbf98eff25" +dependencies = [ + "blake2", + "byteorder", + "digest 0.10.7", + "sha2 0.10.7", + "sha3 0.10.8", + "sp-std 6.0.0", + "twox-hash", +] + +[[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.7", + "sha3 0.10.8", + "sp-std 8.0.0", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing-proc-macro" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "proc-macro2", + "quote", + "sp-core-hashing 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "syn 1.0.109", +] + +[[package]] +name = "sp-core-hashing-proc-macro" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5833921310f9883f2093849d3f5e9e57e9890f6b60839498b08d4c72572cc602" +dependencies = [ + "proc-macro2", + "quote", + "sp-core-hashing 6.0.0", + "syn 1.0.109", +] + +[[package]] +name = "sp-debug-derive" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp-debug-derive" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp-debug-derive" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66fb9dc63d54de7d7bed62a505b6e0bd66c122525ea1abb348f6564717c3df2d" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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.27", +] + +[[package]] +name = "sp-externalities" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-externalities" +version = "0.13.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", +] + +[[package]] +name = "sp-externalities" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc449def822987afd81155448d79d371939fb7495f43df33f8277c64ca69ed38" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 6.0.0", + "sp-storage 8.0.0", +] + +[[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", +] + +[[package]] +name = "sp-inherents" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78893e4a6dd0355094eb1e352ba6f6999d1430be1a4796295ca16ae6783fef1" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-core 8.0.0", + "sp-runtime 8.0.0", + "sp-std 6.0.0", + "thiserror", +] + +[[package]] +name = "sp-io" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" +dependencies = [ + "bytes", + "futures", + "hash-db 0.15.2", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "secp256k1", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-keystore 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "bytes", + "ed25519", + "ed25519-dalek", + "futures", + "libsecp256k1", + "log", + "parity-scale-codec", + "secp256k1", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-keystore 0.13.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-runtime-interface 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-state-machine 0.13.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "178c67a394b51c27715c6d271f1deb0567e966d228efe485f053e33792444a08" +dependencies = [ + "bytes", + "ed25519-dalek", + "futures", + "hash-db 0.15.2", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "secp256k1", + "sp-core 8.0.0", + "sp-externalities 0.14.0", + "sp-keystore 0.14.0", + "sp-runtime-interface 8.0.0", + "sp-state-machine 0.14.0", + "sp-std 6.0.0", + "sp-tracing 7.0.0", + "sp-trie 8.0.0", + "sp-wasm-interface 8.0.0", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "23.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d597e35a9628fe7454b08965b2442e3ec0f264b0a90d41328e87422cec02e99" +dependencies = [ + "bytes", + "ed25519", + "ed25519-dalek", + "futures", + "libsecp256k1", + "log", + "parity-scale-codec", + "rustversion", + "secp256k1", + "sp-core 21.0.0", + "sp-externalities 0.19.0", + "sp-keystore 0.27.0", + "sp-runtime-interface 17.0.0", + "sp-state-machine 0.28.0", + "sp-std 8.0.0", + "sp-tracing 10.0.0", + "sp-trie 22.0.0", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-keystore" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" +dependencies = [ + "async-trait", + "futures", + "merlin 2.0.1", + "parity-scale-codec", + "parking_lot 0.12.1", + "schnorrkel", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror", +] + +[[package]] +name = "sp-keystore" +version = "0.13.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "async-trait", + "futures", + "merlin 2.0.1", + "parity-scale-codec", + "parking_lot 0.12.1", + "schnorrkel", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "thiserror", +] + +[[package]] +name = "sp-keystore" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e2a163dfcc8dfb5ff37df889d60949c875377693062559ac8e3412936a80d1a" +dependencies = [ + "async-trait", + "futures", + "merlin 2.0.1", + "parity-scale-codec", + "parking_lot 0.12.1", + "schnorrkel", + "sp-core 8.0.0", + "sp-externalities 0.14.0", + "thiserror", +] + +[[package]] +name = "sp-keystore" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9be3cdd67cc1d9c1db17c5cbc4ec4924054a8437009d167f21f6590797e4aa45" +dependencies = [ + "futures", + "parity-scale-codec", + "parking_lot 0.12.1", + "sp-core 21.0.0", + "sp-externalities 0.19.0", + "thiserror", +] + +[[package]] +name = "sp-mmr-primitives" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "ckb-merkle-mountain-range", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api 4.0.0-dev", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-runtime 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "thiserror", +] + +[[package]] +name = "sp-panic-handler" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-panic-handler" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-panic-handler" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4abed79c3d5b3622f65ab065676addd9923b9b122cd257df23e2757ce487c6d2" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-panic-handler" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd2de46003fa8212426838ca71cd42ee36a26480ba9ffea983506ce03131033" +dependencies = [ + "backtrace", + "lazy_static", + "regex", +] + +[[package]] +name = "sp-runtime" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "scale-info", + "serde", + "sp-application-crypto 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-weights 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-runtime" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "sp-application-crypto 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-arithmetic 6.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-io 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-weights 4.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", +] + +[[package]] +name = "sp-runtime" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17471f6d06c320da233298297296df1d08e4cf8f0294d6955415ef05ecfbad1c" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.7.3", + "scale-info", + "serde", + "sp-application-crypto 8.0.0", + "sp-arithmetic 7.0.0", + "sp-core 8.0.0", + "sp-io 8.0.0", + "sp-std 6.0.0", + "sp-weights 5.0.0", +] + +[[package]] +name = "sp-runtime" +version = "24.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21c5bfc764a1a8259d7e8f7cfd22c84006275a512c958d3ff966c92151e134d5" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "sp-application-crypto 23.0.0", + "sp-arithmetic 16.0.0", + "sp-core 21.0.0", + "sp-io 23.0.0", + "sp-std 8.0.0", + "sp-weights 20.0.0", +] + +[[package]] +name = "sp-runtime-interface" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface-proc-macro 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.13.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-runtime-interface-proc-macro 6.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-storage 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-tracing 6.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-wasm-interface 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0070b8bfa457e83889d78b890a369b4d7a39dcf66435b49aa2c2cee3c0c90efe" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types", + "sp-externalities 0.14.0", + "sp-runtime-interface-proc-macro 7.0.0", + "sp-std 6.0.0", + "sp-storage 8.0.0", + "sp-tracing 7.0.0", + "sp-wasm-interface 8.0.0", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "17.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e676128182f90015e916f806cba635c8141e341e7abbc45d25525472e1bbce8" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "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", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00083a77e938c4f35d0bde7ca0b6e5f616158ebe11af6063795aa664d92a238b" +dependencies = [ + "Inflector", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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", + "proc-macro2", + "quote", + "syn 2.0.27", +] + +[[package]] +name = "sp-staking" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84c9a790241612d8153077cf4cd06f57ced8824629c911e394a9726af222b76" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-core 8.0.0", + "sp-runtime 8.0.0", + "sp-std 6.0.0", +] + +[[package]] +name = "sp-state-machine" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" +dependencies = [ + "hash-db 0.15.2", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.12.1", + "rand 0.7.3", + "smallvec 1.11.0", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-panic-handler 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror", + "tracing", + "trie-root 0.17.0", +] + +[[package]] +name = "sp-state-machine" +version = "0.13.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "hash-db 0.15.2", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "rand 0.8.5", + "smallvec 1.11.0", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-externalities 0.13.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-panic-handler 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-trie 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "thiserror", + "tracing", +] + +[[package]] +name = "sp-state-machine" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a657e9ddc193a09f68d130c4231cf11545f5e922714a1074ba82e6e2a909516d" +dependencies = [ + "hash-db 0.15.2", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.12.1", + "rand 0.7.3", + "smallvec 1.11.0", + "sp-core 8.0.0", + "sp-externalities 0.14.0", + "sp-panic-handler 6.0.0", + "sp-std 6.0.0", + "sp-trie 8.0.0", + "thiserror", + "tracing", + "trie-root 0.17.0", +] + +[[package]] +name = "sp-state-machine" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ef45d31f9e7ac648f8899a0cd038a3608f8499028bff55b6c799702592325b6" +dependencies = [ + "hash-db 0.16.0", + "log", + "parity-scale-codec", + "parking_lot 0.12.1", + "rand 0.8.5", + "smallvec 1.11.0", + "sp-core 21.0.0", + "sp-externalities 0.19.0", + "sp-panic-handler 8.0.0", + "sp-std 8.0.0", + "sp-trie 22.0.0", + "thiserror", + "tracing", ] [[package]] -name = "sp-externalities" -version = "0.12.0" +name = "sp-std" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" + +[[package]] +name = "sp-std" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" + +[[package]] +name = "sp-std" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af0ee286f98455272f64ac5bb1384ff21ac029fbb669afbaf48477faff12760e" + +[[package]] +name = "sp-std" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53458e3c57df53698b3401ec0934bea8e8cfce034816873c0b0abbd83d7bac0d" + +[[package]] +name = "sp-storage" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcfd91f92a2a59224230a77c4a5d6f51709620c0aab4e51f108ccece6adc56f" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ - "environmental", + "impl-serde", "parity-scale-codec", - "sp-std 4.0.0", - "sp-storage 6.0.0", + "ref-cast", + "serde", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "sp-externalities" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57052935c9c9b070ea6b339ef0da3bf241b7e065fc37f9c551669ee83ecfc3c1" +name = "sp-storage" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" dependencies = [ - "environmental", + "impl-serde", "parity-scale-codec", - "sp-std 6.0.0", - "sp-storage 11.0.0", + "ref-cast", + "serde", + "sp-debug-derive 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", ] [[package]] -name = "sp-io" -version = "17.0.0" +name = "sp-storage" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578959f9a7e44fd2dd96e8b8bc893cea04fcd7c00a4ffbb0b91c5013899dd02b" +checksum = "2247b6ea6219336596869549792460a69e70bc1ec9d1ee5f537b345dbfecf76d" dependencies = [ - "bytes", - "ed25519", - "ed25519-dalek", - "futures", - "libsecp256k1", - "log", + "impl-serde", "parity-scale-codec", - "secp256k1 0.24.3", - "sp-core 16.0.0", - "sp-externalities 0.17.0", - "sp-keystore", - "sp-runtime-interface 13.0.0", - "sp-state-machine", + "ref-cast", + "serde", + "sp-debug-derive 6.0.0", "sp-std 6.0.0", - "sp-tracing 8.0.0", - "sp-trie", - "tracing", - "tracing-core", ] [[package]] -name = "sp-keystore" -version = "0.22.0" +name = "sp-storage" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "480dbd54b281c638209fbcfce69902b82a0a1af0e22219d46825eadced3136b6" +checksum = "94294be83f11d4958cfea89ed5798f0b6605f5defc3a996948848458abbcc18e" dependencies = [ - "async-trait", - "futures", - "merlin 2.0.1", + "impl-serde", "parity-scale-codec", - "parking_lot 0.12.1", - "schnorrkel", - "sp-core 16.0.0", - "sp-externalities 0.17.0", - "thiserror", + "ref-cast", + "serde", + "sp-debug-derive 8.0.0", + "sp-std 8.0.0", ] [[package]] -name = "sp-panic-handler" +name = "sp-tracing" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4abed79c3d5b3622f65ab065676addd9923b9b122cd257df23e2757ce487c6d2" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ - "backtrace", - "lazy_static", - "regex", + "parity-scale-codec", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing", + "tracing-core", + "tracing-subscriber 0.2.25", ] [[package]] -name = "sp-runtime" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ab2fd44668d3e8674e2253a43852857a47d49be7db737e98bf157e4bcebefd" +name = "sp-tracing" +version = "6.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" dependencies = [ - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", "parity-scale-codec", - "paste", - "rand 0.8.5", - "scale-info", - "serde", - "sp-application-crypto", - "sp-arithmetic", - "sp-core 16.0.0", - "sp-io", - "sp-std 6.0.0", - "sp-weights", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "tracing", + "tracing-core", + "tracing-subscriber 0.2.25", ] [[package]] -name = "sp-runtime-interface" -version = "6.0.0" +name = "sp-tracing" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158bf0305c75a50fc0e334b889568f519a126e32b87900c3f4251202dece7b4b" +checksum = "b22d28a0bc2365dfb86644d14f2682a79da35891d4656d4896fb09fb05ff1e6c" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", - "primitive-types 0.11.1", - "sp-externalities 0.12.0", - "sp-runtime-interface-proc-macro 5.0.0", - "sp-std 4.0.0", - "sp-storage 6.0.0", - "sp-tracing 5.0.0", - "sp-wasm-interface 6.0.0", - "static_assertions", + "sp-std 6.0.0", + "tracing", + "tracing-core", + "tracing-subscriber 0.2.25", ] [[package]] -name = "sp-runtime-interface" -version = "13.0.0" +name = "sp-tracing" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb7707246cee4967a8cc71e3ef0e82f562e8b1020606447a6a12b99c7c1b443" +checksum = "357f7591980dd58305956d32f8f6646d0a8ea9ea0e7e868e46f53b68ddf00cec" dependencies = [ - "bytes", - "impl-trait-for-tuples", "parity-scale-codec", - "primitive-types 0.12.1", - "sp-externalities 0.17.0", - "sp-runtime-interface-proc-macro 9.0.0", - "sp-std 6.0.0", - "sp-storage 11.0.0", - "sp-tracing 8.0.0", - "sp-wasm-interface 10.0.0", - "static_assertions", + "sp-std 8.0.0", + "tracing", + "tracing-core", + "tracing-subscriber 0.2.25", ] [[package]] -name = "sp-runtime-interface-proc-macro" -version = "5.0.0" +name = "sp-trie" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ecb916b9664ed9f90abef0ff5a3e61454c1efea5861b2997e03f39b59b955f" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ - "Inflector", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", + "ahash 0.7.6", + "hash-db 0.15.2", + "hashbrown 0.12.3", + "lazy_static", + "lru 0.8.1", + "memory-db 0.30.0", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.1", + "scale-info", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror", + "tracing", + "trie-db 0.24.0", + "trie-root 0.17.0", ] [[package]] -name = "sp-runtime-interface-proc-macro" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2773c90e5765847c5e8b4a24b553d38a9ca52ded47c142cfcfb7948f42827af9" +name = "sp-trie" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" dependencies = [ - "Inflector", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", + "ahash 0.7.6", + "hash-db 0.15.2", + "hashbrown 0.12.3", + "lazy_static", + "lru 0.8.1", + "memory-db 0.31.0", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.1", + "scale-info", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "thiserror", + "tracing", + "trie-db 0.24.0", + "trie-root 0.17.0", ] [[package]] -name = "sp-state-machine" -version = "0.22.0" +name = "sp-trie" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c957b8b4c252507c12674948db427c5e34fd1760ce256922f1ec5f89f781a4f" +checksum = "4675a9eae3187a0a2a12ba579c34c2c9bcc20b22d9b92f46f813395c972dd451" dependencies = [ - "hash-db", - "log", + "ahash 0.7.6", + "hash-db 0.15.2", + "hashbrown 0.12.3", + "lazy_static", + "lru 0.8.1", + "memory-db 0.31.0", + "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.1", - "rand 0.8.5", - "smallvec 1.10.0", - "sp-core 16.0.0", - "sp-externalities 0.17.0", - "sp-panic-handler", + "scale-info", + "sp-core 8.0.0", "sp-std 6.0.0", - "sp-trie", "thiserror", "tracing", + "trie-db 0.24.0", + "trie-root 0.17.0", ] [[package]] -name = "sp-std" -version = "4.0.0" +name = "sp-trie" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" +checksum = "48e4eeb7ef23f79eba8609db79ef9cef242f994f1f87a3c0387b4b5f177fda74" +dependencies = [ + "ahash 0.8.3", + "hash-db 0.16.0", + "hashbrown 0.13.2", + "lazy_static", + "memory-db 0.32.0", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.1", + "scale-info", + "schnellru", + "sp-core 21.0.0", + "sp-std 8.0.0", + "thiserror", + "tracing", + "trie-db 0.27.1", + "trie-root 0.18.0", +] [[package]] -name = "sp-std" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af0ee286f98455272f64ac5bb1384ff21ac029fbb669afbaf48477faff12760e" +name = "sp-version" +version = "5.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-core-hashing-proc-macro 5.0.0", + "sp-runtime 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-version-proc-macro 4.0.0-dev", + "thiserror", +] [[package]] -name = "sp-storage" +name = "sp-version" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dab53af846068e3e0716d3ccc70ea0db44035c79b2ed5821aaa6635039efa37" +checksum = "c2fcfdeddf36aa69a3f49781ad9320a4823997547e99629443a3ac6d7d8bbebd" dependencies = [ - "impl-serde 0.3.2", + "impl-serde", "parity-scale-codec", - "ref-cast", + "parity-wasm", + "scale-info", "serde", - "sp-debug-derive 4.0.0", - "sp-std 4.0.0", + "sp-core-hashing-proc-macro 6.0.0", + "sp-runtime 8.0.0", + "sp-std 6.0.0", + "sp-version-proc-macro 5.0.0", + "thiserror", ] [[package]] -name = "sp-storage" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c20cb0c562d1a159ecb2c7ca786828c81e432c535474967d2df3a484977cea4" +name = "sp-version-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" dependencies = [ - "impl-serde 0.4.0", "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 6.0.0", - "sp-std 6.0.0", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "sp-tracing" +name = "sp-version-proc-macro" version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a67e555d171c4238bd223393cda747dd20ec7d4f5fe5c042c056cb7fde9eda" +checksum = "97bbeece15266afc30881ecae586fd28e6c123810b9ced1b8706daa081fe9c2e" dependencies = [ "parity-scale-codec", - "sp-std 4.0.0", - "tracing", - "tracing-core", - "tracing-subscriber 0.2.25", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] -name = "sp-tracing" +name = "sp-wasm-interface" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmi", +] + +[[package]] +name = "sp-wasm-interface" +version = "7.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "wasmi", + "wasmtime 1.0.2", +] + +[[package]] +name = "sp-wasm-interface" version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e46bd547da89a9cda69b4ce4c91a5b7e1f86915190d83cd407b715d0c6bac042" +checksum = "3ebc377987d42f8fc20e3f4ec4fd1147dd098fe90bcb4269e1eddb04e920f889" dependencies = [ + "impl-trait-for-tuples", + "log", "parity-scale-codec", "sp-std 6.0.0", - "tracing", - "tracing-core", - "tracing-subscriber 0.2.25", + "wasmi", + "wasmtime 1.0.2", ] [[package]] -name = "sp-trie" -version = "16.0.0" +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 8.0.1", +] + +[[package]] +name = "sp-weights" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8efbe5b6d29a18fea7c2f52e0098135f2f864b31d335d5105b40a349866ba874" +checksum = "c671673133b30e6ab6d88139b06adcdaec5aa06548abe0e155a0c830b592793b" dependencies = [ - "ahash 0.8.3", - "hash-db", - "hashbrown 0.12.3", - "lazy_static", - "memory-db", - "nohash-hasher", + "impl-trait-for-tuples", "parity-scale-codec", - "parking_lot 0.12.1", "scale-info", - "schnellru", - "sp-core 16.0.0", - "sp-std 6.0.0", - "thiserror", - "tracing", - "trie-db", - "trie-root", + "serde", + "smallvec 1.11.0", + "sp-arithmetic 6.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "sp-wasm-interface" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d88debe690c2b24eaa9536a150334fcef2ae184c21a0e5b3e80135407a7d52" +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" dependencies = [ - "impl-trait-for-tuples", - "log", "parity-scale-codec", - "sp-std 4.0.0", - "wasmi 0.9.1", + "scale-info", + "serde", + "smallvec 1.11.0", + "sp-arithmetic 6.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-core 7.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-debug-derive 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", + "sp-std 5.0.0 (git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37)", ] [[package]] -name = "sp-wasm-interface" -version = "10.0.0" +name = "sp-weights" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbc05650b6338808892a7b04f0c56bb1f7f928bfa9ac58e0af2c1e5bef33229" +checksum = "dc146eec45285b3627a1671ebf22fc1589de8b81170309c33f4ec6cff0241731" dependencies = [ - "anyhow", "impl-trait-for-tuples", - "log", "parity-scale-codec", + "scale-info", + "serde", + "smallvec 1.11.0", + "sp-arithmetic 7.0.0", + "sp-core 8.0.0", + "sp-debug-derive 6.0.0", "sp-std 6.0.0", - "wasmi 0.13.2", - "wasmtime", ] [[package]] name = "sp-weights" -version = "14.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ebab7696f915aa548494aef3ca8d15217baf10458fe6edb87e60587a47de358" +checksum = "45d084c735544f70625b821c3acdbc7a2fc1893ca98b85f1942631284692c75b" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "smallvec 1.10.0", - "sp-arithmetic", - "sp-core 16.0.0", - "sp-debug-derive 6.0.0", - "sp-std 6.0.0", + "smallvec 1.11.0", + "sp-arithmetic 16.0.0", + "sp-core 21.0.0", + "sp-debug-derive 8.0.0", + "sp-std 8.0.0", ] [[package]] @@ -6947,9 +8143,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.40.0" +version = "1.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47a8ad42e5fc72d5b1eb104a5546937eaf39843499948bb666d6e93c62423b" +checksum = "bfc443bad666016e012538782d9e3006213a7db43e9fb1dda91657dc06a6fa08" dependencies = [ "Inflector", "num-format", @@ -7057,31 +8253,32 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subxt" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54639dba6a113584083968b6a8f457dedae612abe1bd214762101ca29f12e332" +checksum = "31a734d66fa935fbda56ba6a71d7e969f424c8c5608d416ba8499d71d8cbfc1f" dependencies = [ "base58", "blake2", "derivative", + "either", "frame-metadata", "futures", - "getrandom 0.2.9", + "getrandom 0.2.10", "hex", - "impl-serde 0.4.0", + "impl-serde", "jsonrpsee", "parity-scale-codec", - "parking_lot 0.12.1", - "primitive-types 0.12.1", + "primitive-types", "scale-bits", "scale-decode", + "scale-encode", "scale-info", "scale-value", "serde", "serde_json", - "sp-core 16.0.0", - "sp-core-hashing 6.0.0", - "sp-runtime", + "sp-core 21.0.0", + "sp-core-hashing 9.0.0", + "sp-runtime 24.0.0", "subxt-macro", "subxt-metadata", "thiserror", @@ -7090,47 +8287,47 @@ dependencies = [ [[package]] name = "subxt-codegen" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e86cb719003f1cedf2710a6e55ca4c37aba4c989bbd3b81dd1c52af9e4827e" +checksum = "4e2f231d97c145c564bd544212c0cc0c29c09ff516af199f4ce00c8e055f8138" dependencies = [ - "darling", "frame-metadata", "heck 0.4.1", "hex", "jsonrpsee", "parity-scale-codec", - "proc-macro-error", "proc-macro2", "quote", "scale-info", "subxt-metadata", - "syn 1.0.109", + "syn 2.0.27", + "thiserror", "tokio", ] [[package]] name = "subxt-macro" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c08de402a78c4c06c3ee3702c80e519efdcb65911348e018b6998d04404916" +checksum = "e544e41e1c84b616632cd2f86862342868f62e11e4cd9062a9e3dbf5fc871f64" dependencies = [ - "darling", + "darling 0.20.3", "proc-macro-error", "subxt-codegen", - "syn 1.0.109", + "syn 2.0.27", ] [[package]] name = "subxt-metadata" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2593ab5f53435e6352675af4f9851342607f37785d84c7a3fb3139550d3c35f0" +checksum = "a01ce5044c81db3404d38c56f1e69d72eff72c54e5913c9bba4c0b58d376031f" dependencies = [ "frame-metadata", "parity-scale-codec", "scale-info", - "sp-core-hashing 6.0.0", + "sp-core-hashing 9.0.0", + "thiserror", ] [[package]] @@ -7146,9 +8343,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.15" +version = "2.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" dependencies = [ "proc-macro2", "quote", @@ -7169,11 +8366,11 @@ dependencies = [ [[package]] name = "system-configuration" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "system-configuration-sys", ] @@ -7196,9 +8393,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.7" +version = "0.12.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5" +checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e" [[package]] name = "tempdir" @@ -7212,15 +8409,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.5.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" dependencies = [ "cfg-if 1.0.0", - "fastrand", + "fastrand 2.0.0", "redox_syscall 0.3.5", - "rustix 0.37.19", - "windows-sys 0.45.0", + "rustix 0.38.4", + "windows-sys 0.48.0", ] [[package]] @@ -7262,22 +8459,42 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.27", +] + +[[package]] +name = "thiserror-impl-no-std" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "58e6318948b519ba6dc2b442a6d0b904ebfb8d411a3ad3e07843615a72249758" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 1.0.109", +] + +[[package]] +name = "thiserror-no-std" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ad459d94dd517257cc96add8a43190ee620011bb6e6cdc82dafd97dfafafea" +dependencies = [ + "thiserror-impl-no-std", ] [[package]] @@ -7332,9 +8549,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.20" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" +checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" dependencies = [ "itoa", "serde", @@ -7344,15 +8561,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" +checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" dependencies = [ "time-core", ] @@ -7388,22 +8605,13 @@ dependencies = [ "pbkdf2 0.11.0", "rand 0.8.5", "rustc-hash", - "sha2 0.10.6", + "sha2 0.10.7", "thiserror", "unicode-normalization", "wasm-bindgen", "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinytemplate" version = "1.2.1" @@ -7431,19 +8639,20 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.28.0" +version = "1.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f" +checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" dependencies = [ "autocfg", + "backtrace", "bytes", "libc", "mio", "num_cpus", "parking_lot 0.12.1", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", "signal-hook-registry", - "socket2", + "socket2 0.4.9", "tokio-macros", "windows-sys 0.48.0", ] @@ -7456,7 +8665,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.27", ] [[package]] @@ -7487,7 +8696,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" dependencies = [ "futures-core", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", "tokio", ] @@ -7513,7 +8722,7 @@ dependencies = [ "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", "tokio", "tracing", ] @@ -7541,27 +8750,27 @@ checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if 1.0.0", "log", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.10", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.27", ] [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" dependencies = [ "once_cell", "valuable", @@ -7602,7 +8811,7 @@ dependencies = [ "serde", "serde_json", "sharded-slab", - "smallvec 1.10.0", + "smallvec 1.11.0", "thread_local", "tracing", "tracing-core", @@ -7620,7 +8829,7 @@ dependencies = [ "serde", "serde_json", "sharded-slab", - "smallvec 1.10.0", + "smallvec 1.11.0", "thread_local", "tracing-core", "tracing-log", @@ -7633,11 +8842,24 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ - "hash-db", + "hash-db 0.15.2", "hashbrown 0.12.3", "log", "rustc-hex", - "smallvec 1.10.0", + "smallvec 1.11.0", +] + +[[package]] +name = "trie-db" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85" +dependencies = [ + "hash-db 0.16.0", + "hashbrown 0.13.2", + "log", + "rustc-hex", + "smallvec 1.11.0", ] [[package]] @@ -7646,7 +8868,16 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891" dependencies = [ - "hash-db", + "hash-db 0.15.2", +] + +[[package]] +name = "trie-root" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" +dependencies = [ + "hash-db 0.16.0", ] [[package]] @@ -7666,8 +8897,8 @@ dependencies = [ "ipnet", "lazy_static", "rand 0.8.5", - "smallvec 1.10.0", - "socket2", + "smallvec 1.11.0", + "socket2 0.4.9", "thiserror", "tinyvec", "tokio", @@ -7688,7 +8919,7 @@ dependencies = [ "lru-cache", "parking_lot 0.12.1", "resolv-conf", - "smallvec 1.10.0", + "smallvec 1.11.0", "thiserror", "tokio", "tracing", @@ -7701,6 +8932,12 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +[[package]] +name = "tt-call" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" + [[package]] name = "tungstenite" version = "0.18.0" @@ -7746,7 +8983,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if 1.0.0", - "digest 0.10.6", + "digest 0.10.7", "rand 0.8.5", "static_assertions", ] @@ -7792,9 +9029,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.8" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -7835,9 +9072,9 @@ dependencies = [ [[package]] name = "universal-hash" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ "crypto-common", "subtle", @@ -7851,8 +9088,6 @@ checksum = "d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836" dependencies = [ "asynchronous-codec", "bytes", - "futures-io", - "futures-util", ] [[package]] @@ -7863,12 +9098,12 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" dependencies = [ "form_urlencoded", - "idna 0.3.0", + "idna 0.4.0", "percent-encoding", ] @@ -7886,11 +9121,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.3.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b55a3fef2a1e3b3a00ce878640918820d3c51081576ac657d23af9fc7928fdb" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", ] [[package]] @@ -7901,13 +9136,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-bag" -version = "1.0.0-alpha.9" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" -dependencies = [ - "ctor", - "version_check", -] +checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3" [[package]] name = "vcpkg" @@ -7959,11 +9190,10 @@ checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -8018,9 +9248,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -8028,24 +9258,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.27", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -8055,9 +9285,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -8065,22 +9295,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.27", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasm-timer" @@ -8097,48 +9327,24 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasmi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" -dependencies = [ - "downcast-rs", - "libc", - "memory_units 0.3.0", - "num-rational 0.2.4", - "num-traits", - "parity-wasm 0.42.2", - "wasmi-validation 0.4.1", -] - [[package]] name = "wasmi" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "parity-wasm 0.45.0", - "wasmi-validation 0.5.0", + "parity-wasm", + "wasmi-validation", "wasmi_core", ] -[[package]] -name = "wasmi-validation" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" -dependencies = [ - "parity-wasm 0.42.2", -] - [[package]] name = "wasmi-validation" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" dependencies = [ - "parity-wasm 0.45.0", + "parity-wasm", ] [[package]] @@ -8148,17 +9354,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ "downcast-rs", - "libm 0.2.6", - "memory_units 0.4.0", - "num-rational 0.4.1", + "libm 0.2.7", + "memory_units", + "num-rational", "num-traits", ] [[package]] name = "wasmparser" -version = "0.96.0" +version = "0.89.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adde01ade41ab9a5d10ec8ed0bb954238cf8625b5cd5a13093d6de2ad9c2be1a" +checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" +dependencies = [ + "indexmap", +] + +[[package]] +name = "wasmparser" +version = "0.102.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" dependencies = [ "indexmap", "url", @@ -8166,9 +9381,9 @@ dependencies = [ [[package]] name = "wasmtime" -version = "5.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ffcc607adc9da024e87ca814592d4bc67f5c5b58e488f5608d5734a1ebc23e" +checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" dependencies = [ "anyhow", "bincode", @@ -8182,30 +9397,64 @@ dependencies = [ "psm", "serde", "target-lexicon", - "wasmparser", - "wasmtime-environ", - "wasmtime-jit", - "wasmtime-runtime", - "windows-sys 0.42.0", + "wasmparser 0.89.1", + "wasmtime-environ 1.0.2", + "wasmtime-jit 1.0.2", + "wasmtime-runtime 1.0.2", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" +dependencies = [ + "anyhow", + "bincode", + "cfg-if 1.0.0", + "indexmap", + "libc", + "log", + "object 0.30.4", + "once_cell", + "paste", + "psm", + "serde", + "target-lexicon", + "wasmparser 0.102.0", + "wasmtime-environ 8.0.1", + "wasmtime-jit 8.0.1", + "wasmtime-runtime 8.0.1", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-asm-macros" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +dependencies = [ + "cfg-if 1.0.0", ] [[package]] name = "wasmtime-asm-macros" -version = "5.0.1" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cb5dc4d79cd7b2453c395f64e9013d2ad90bd083be556d5565cb224ebe8d57" +checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" dependencies = [ "cfg-if 1.0.0", ] [[package]] name = "wasmtime-environ" -version = "5.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9350c919553cddf14f78f9452119c8004d7ef6bfebb79a41a21819ed0c5604d8" +checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" dependencies = [ "anyhow", - "cranelift-entity", + "cranelift-entity 0.88.2", "gimli 0.26.2", "indexmap", "log", @@ -8213,15 +9462,34 @@ dependencies = [ "serde", "target-lexicon", "thiserror", - "wasmparser", - "wasmtime-types", + "wasmparser 0.89.1", + "wasmtime-types 1.0.2", +] + +[[package]] +name = "wasmtime-environ" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" +dependencies = [ + "anyhow", + "cranelift-entity 0.95.1", + "gimli 0.27.3", + "indexmap", + "log", + "object 0.30.4", + "serde", + "target-lexicon", + "thiserror", + "wasmparser 0.102.0", + "wasmtime-types 8.0.1", ] [[package]] name = "wasmtime-jit" -version = "5.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ba5779ea786386432b94c9fc9ad5597346c319e8239db0d98d5be5cc109a7e" +checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" dependencies = [ "addr2line 0.17.0", "anyhow", @@ -8232,39 +9500,72 @@ dependencies = [ "log", "object 0.29.0", "rustc-demangle", + "rustix 0.35.14", + "serde", + "target-lexicon", + "thiserror", + "wasmtime-environ 1.0.2", + "wasmtime-runtime 1.0.2", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-jit" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" +dependencies = [ + "addr2line 0.19.0", + "anyhow", + "bincode", + "cfg-if 1.0.0", + "cpp_demangle", + "gimli 0.27.3", + "log", + "object 0.30.4", + "rustc-demangle", "serde", "target-lexicon", - "wasmtime-environ", + "wasmtime-environ 8.0.1", "wasmtime-jit-icache-coherence", - "wasmtime-runtime", - "windows-sys 0.42.0", + "wasmtime-runtime 8.0.1", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-jit-debug" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" +dependencies = [ + "once_cell", ] [[package]] name = "wasmtime-jit-debug" -version = "5.0.1" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9841a44c82c74101c10ad4f215392761a2523b3c6c838597962bdb6de75fdb3" +checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" dependencies = [ "once_cell", ] [[package]] name = "wasmtime-jit-icache-coherence" -version = "5.0.1" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd4356c2493002da3b111d470c2ecea65a3017009afce8adc46eaa5758739891" +checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" dependencies = [ "cfg-if 1.0.0", "libc", - "windows-sys 0.42.0", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-runtime" -version = "5.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd26efea7a790fcf430e663ba2519f0ab6eb8980adf8b0c58c62b727da77c2ec" +checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" dependencies = [ "anyhow", "cc", @@ -8273,34 +9574,70 @@ dependencies = [ "libc", "log", "mach", - "memfd", "memoffset 0.6.5", "paste", "rand 0.8.5", - "rustix 0.36.13", - "wasmtime-asm-macros", - "wasmtime-environ", - "wasmtime-jit-debug", - "windows-sys 0.42.0", + "rustix 0.35.14", + "thiserror", + "wasmtime-asm-macros 1.0.2", + "wasmtime-environ 1.0.2", + "wasmtime-jit-debug 1.0.2", + "windows-sys 0.36.1", +] + +[[package]] +name = "wasmtime-runtime" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" +dependencies = [ + "anyhow", + "cc", + "cfg-if 1.0.0", + "indexmap", + "libc", + "log", + "mach", + "memfd", + "memoffset 0.8.0", + "paste", + "rand 0.8.5", + "rustix 0.36.15", + "wasmtime-asm-macros 8.0.1", + "wasmtime-environ 8.0.1", + "wasmtime-jit-debug 8.0.1", + "windows-sys 0.45.0", +] + +[[package]] +name = "wasmtime-types" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" +dependencies = [ + "cranelift-entity 0.88.2", + "serde", + "thiserror", + "wasmparser 0.89.1", ] [[package]] name = "wasmtime-types" -version = "5.0.1" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86e1e4f66a2b9a114f9def450ab9971828c968db6ea6fccd613724b771fa4913" +checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" dependencies = [ - "cranelift-entity", + "cranelift-entity 0.95.1", "serde", "thiserror", - "wasmparser", + "wasmparser 0.102.0", ] [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -8359,10 +9696,10 @@ dependencies = [ "sdp", "serde", "serde_json", - "sha2 0.10.6", + "sha2 0.10.7", "stun", "thiserror", - "time 0.3.20", + "time 0.3.23", "tokio", "turn", "url", @@ -8399,7 +9736,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "942be5bd85f072c3128396f6e5a9bfb93ca8c1939ded735d177b7bcba9a13d05" dependencies = [ "aes 0.6.0", - "aes-gcm 0.10.1", + "aes-gcm 0.10.2", "async-trait", "bincode", "block-modes", @@ -8423,7 +9760,7 @@ dependencies = [ "sec1", "serde", "sha1", - "sha2 0.10.6", + "sha2 0.10.7", "signature 1.6.4", "subtle", "thiserror", @@ -8465,7 +9802,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" dependencies = [ "log", - "socket2", + "socket2 0.4.9", "thiserror", "tokio", "webrtc-util", @@ -8532,7 +9869,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" dependencies = [ "async-trait", - "bitflags", + "bitflags 1.3.2", "bytes", "cc", "ipnet", @@ -8548,9 +9885,9 @@ dependencies = [ [[package]] name = "widestring" -version = "0.5.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" [[package]] name = "winapi" @@ -8602,7 +9939,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.48.1", ] [[package]] @@ -8648,7 +9985,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.0", + "windows-targets 0.48.1", ] [[package]] @@ -8668,9 +10005,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.0" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" dependencies = [ "windows_aarch64_gnullvm 0.48.0", "windows_aarch64_msvc 0.48.0", @@ -8827,11 +10164,12 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if 1.0.0", + "windows-sys 0.48.0", ] [[package]] @@ -8881,7 +10219,7 @@ dependencies = [ "ring", "rusticata-macros", "thiserror", - "time 0.3.20", + "time 0.3.23", ] [[package]] @@ -8899,7 +10237,7 @@ dependencies = [ "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.20", + "time 0.3.23", ] [[package]] @@ -8918,9 +10256,9 @@ dependencies = [ [[package]] name = "yap" -version = "0.7.2" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc77f52dc9e9b10d55d3f4462c3b7fc393c4f17975d641542833ab2d3bc26ef" +checksum = "e2a7eb6d82a11e4d0b8e6bda8347169aff4ccd8235d039bba7c47482d977dcf7" [[package]] name = "yasna" @@ -8928,7 +10266,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.20", + "time 0.3.23", ] [[package]] @@ -8948,5 +10286,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.27", ] diff --git a/Cargo.toml b/Cargo.toml index a93097d16..c37bd118c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,72 +1,68 @@ [package] name = "avail-light" version = "1.5.0" -edition = "2021" authors = ["Avail Team"] +edition = "2021" +license = "Apache-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -kate-recovery = { version = "0.8", git = "https://github.com/availproject/avail-core", tag = "da-primitives/v0.4.6" } -avail-subxt = { git = "https://github.com/availproject/avail.git", tag = "v1.6.1-rc3" } +# Internal deps +avail-core = { path = "../avail-core/core" } +avail-subxt = { path = "../avail_1/avail-subxt", features = ["api-dev"] } dusk-plonk = { git = "https://github.com/availproject/plonk.git", tag = "v0.12.0-polygon-2" } -url = "2.2.2" -tokio = { version = "1.21.2", features = ["full"] } -tokio-stream = "0.1.11" -futures-util = "0.3.17" -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0.68" -hyper = { version = "0.14.23", features = ["full", "http1"] } -hyper-tls = "0.5.0" -rand = "0.8.4" -regex = "1.5" -num = "0.4.0" -futures = { version = "0.3.15", default-features = false, features = [ - "std", - "thread-pool", -] } -chrono = "0.4.19" +kate-recovery = { path = "../avail-core/kate/recovery" } -libipld = { version = "0.12.0", default-features = false, features = [ - "dag-cbor", -] } -multihash = { version = "0.14.0", default-features = false, features = [ - "blake3", - "sha3", -] } -libp2p = { version = "0.51.0", features = ["full"] } -thiserror = "1.0.37" +# Substrate +codec = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "full", "bit-vec"] } +scale-info = { version = "2", features = ["bit-vec"] } +sp-arithmetic = { version = "*" } +sp-core = { version = "*" } + +# 3rd-party anyhow = "1.0.41" -tempdir = "0.3.7" -ed25519-dalek = "1.0.1" async-std = { version = "1.12.0", features = ["attributes"] } +chrono = "0.4.19" +clap = "4.3.0" confy = "0.4.0" +ed25519-dalek = "1.0.1" +futures = { version = "0.3.15", default-features = false, features = ["std", "thread-pool"] } +futures-util = "0.3.17" +hex = "0.4" +hyper = { version = "0.14.23", features = ["full", "http1"] } +hyper-tls = "0.5.0" +libipld = { version = "0.12.0", default-features = false, features = ["dag-cbor"] } +libp2p = { version = "0.51.0", features = ["full"] } +multihash = { version = "0.14.0", default-features = false, features = ["blake3", "sha3"] } +num = "0.4.0" num_cpus = "1.13.0" +prometheus-client = "0.19.0" +rand = "0.8.4" +rand_chacha = "0.3" +regex = "1.5" rocksdb = { version = "0.17.0", features = ["snappy", "multi-threaded-cf"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0.68" +smallvec = "1.6.1" +tempdir = "0.3.7" +thiserror = "1.0.37" threadpool = "1.8.1" -sp-core = "6.0.0" -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = [ - "derive", - "full", - "bit-vec", -] } -scale-info = { version = "2.0.0", features = ["bit-vec"] } -hex = "0.4" -warp = "0.3.2" +tokio = { version = "1.25", features = ["full"] } +tokio-stream = "0.1.12" tracing = "0.1.35" tracing-subscriber = { version = "0.3.15", features = ["json"] } -prometheus-client = "0.19.0" -clap = "4.3.0" -smallvec = "1.6.1" +url = "2.2.2" +warp = "0.3.2" -openssl = { version = "0.10", features = ["vendored"] } -void = "1.0.2" -itertools = "0.10.5" -base64 = "0.21.0" -mockall = "0.11.3" async-trait = "0.1.66" +base64 = "0.21.0" hex-literal = "0.4.0" +itertools = "0.10.5" +mockall = "0.11.3" +openssl = { version = "0.10", features = ["vendored"] } pcap = "1.1.0" +void = "1.0.2" [features] network-analysis = [] diff --git a/README.md b/README.md index 64d599825..d5c883eea 100644 --- a/README.md +++ b/README.md @@ -13,24 +13,24 @@ `avail-light` is a data availability light client with the following functionalities: -* Listening on the Avail network for finalized blocks -* Random sampling and proof verification of a predetermined number of cells (`{row, col}` pairs) on each new block. After successful block verification, confidence is calculated for a number of *cells* (`N`) in a matrix, with `N` depending on the percentage of certainty the light client wants to achieve. -* Data reconstruction through application client (WIP). -* HTTP endpoints exposing relevant data, both from the light and application clients +- Listening on the Avail network for finalized blocks +- Random sampling and proof verification of a predetermined number of cells (`{row, col}` pairs) on each new block. After successful block verification, confidence is calculated for a number of _cells_ (`N`) in a matrix, with `N` depending on the percentage of certainty the light client wants to achieve. +- Data reconstruction through application client (WIP). +- HTTP endpoints exposing relevant data, both from the light and application clients ### Modes of Operation 1. **Light-client Mode**: The basic mode of operation and is always active no matter the mode selected. If an `App_ID` is not provided (or is =0), this mode will commence. On each header received the client does random sampling using two mechanisms: - 1. DHT - client first tries to retrieve cells via Kademlia. - 2. RPC - if DHT retrieve fails, the client uses RPC calls to Avail nodes to retrieve the needed cells. The cells not already found in the DHT will be uploaded. + 1. DHT - client first tries to retrieve cells via Kademlia. + 2. RPC - if DHT retrieve fails, the client uses RPC calls to Avail nodes to retrieve the needed cells. The cells not already found in the DHT will be uploaded. - Once the data is received, light client verifies individual cells and calculates the confidence, which is then stored locally. +Once the data is received, light client verifies individual cells and calculates the confidence, which is then stored locally. 2. **App-Specific Mode**: If an **`App_ID` > 0** is given in the config file, the application client (part ot the light client) downloads all the relevant app data, reconstructs it and persists it locally. Reconstructed data is then available to accessed via an HTTP endpoint. (WIP) 3. **Fat-Client Mode**: The client retrieves larger contiguous chunks of the matrix on each block via RPC calls to an Avail node, and stores them on the DHT. This mode is activated when the `block_matrix_partition` parameter is set in the config file, and is mainly used with the `disable_proof_verification` flag because of the resource cost of cell validation. -**IMPORTANT**: disabling proof verification introduces a trust assumption towards the node, that the data provided is correct. + **IMPORTANT**: disabling proof verification introduces a trust assumption towards the node, that the data provided is correct. ## Installation @@ -66,7 +66,7 @@ bootstraps = [["12D3KooWMm1c4pzeLPGkkCJMAgFbsfQ8xmVDusg272icWsaNHWzN", "/ip4/127 Now, run the client: ```bash -cargo run -- -c config.yaml +cargo run -- -c config.yaml ``` ## Config reference @@ -171,12 +171,12 @@ max_kad_provided_keys = 1024 ## Notes -* When running the first light client in a network, it becomes a bootstrap client. Once its execution is started, it is paused until a second light client has been started and connected to it, so that the DHT bootstrap mechanism can complete successfully. -* Immediately after starting a fresh light client, block sync is executed to a block depth set in the `sync_blocks_depth` config parameter. The sync client is using both the DHT and RPC for that purpose. -* In order to spin up a fat client, config needs to contain the `block_matrix_partition` parameter set to a fraction of matrix. It is recommended to set the `disable_proof_verification` to true, because of the resource costs of proof verification. -* `sync_blocks_depth` needs to be set correspondingly to the max number of blocks the connected node is caching (if downloading data via RPC). -* Prometheus is used for exposing detailed metrics about the light client -* In order to use network analyzer, the light client has to be compiled with `--features 'network-analysis'` flag; when running the LC with network analyzer, sufficient capabilities have to be given to the client in order for it to have the permissions needed to listen on socket: `sudo setcap cap_net_raw,cap_net_admin=eip /path/to/light/client/binary` +- When running the first light client in a network, it becomes a bootstrap client. Once its execution is started, it is paused until a second light client has been started and connected to it, so that the DHT bootstrap mechanism can complete successfully. +- Immediately after starting a fresh light client, block sync is executed to a block depth set in the `sync_blocks_depth` config parameter. The sync client is using both the DHT and RPC for that purpose. +- In order to spin up a fat client, config needs to contain the `block_matrix_partition` parameter set to a fraction of matrix. It is recommended to set the `disable_proof_verification` to true, because of the resource costs of proof verification. +- `sync_blocks_depth` needs to be set correspondingly to the max number of blocks the connected node is caching (if downloading data via RPC). +- Prometheus is used for exposing detailed metrics about the light client +- In order to use network analyzer, the light client has to be compiled with `--features 'network-analysis'` flag; when running the LC with network analyzer, sufficient capabilities have to be given to the client in order for it to have the permissions needed to listen on socket: `sudo setcap cap_net_raw,cap_net_admin=eip /path/to/light/client/binary` ## Usage and examples @@ -192,7 +192,7 @@ Response: ```json { - "latest_block": 10 + "latest_block": 10 } ``` @@ -208,9 +208,9 @@ Response: ```json { - "block": 1, - "confidence": 93.75, - "serialised_confidence": "5232467296" + "block": 1, + "confidence": 93.75, + "serialised_confidence": "5232467296" } ``` @@ -231,10 +231,10 @@ Response: ```json { - "block": 46, - "extrinsics": [ - "ZXhhbXBsZQ==" - ] + "block": 46, + "extrinsics": [ + "ZXhhbXBsZQ==" + ] } ``` @@ -260,7 +260,7 @@ Response: ```json { - "AppClient": 1 + "AppClient": 1 } ``` @@ -274,9 +274,9 @@ Response: ```json { - "block_num": 10, - "confidence": 93.75, - "app_id": 1 + "block_num": 10, + "confidence": 93.75, + "app_id": 1 } ``` @@ -290,7 +290,7 @@ Response: ```json { - "latest_block": 255 + "latest_block": 255 } ``` @@ -338,7 +338,7 @@ Given a block number, it returns the confidence computed by the light client for > Path parameters: -* `block_number` - block number (requred) +- `block_number` - block number (requred) #### Responses @@ -347,7 +347,7 @@ In case when confidence is computed: > Status code: `200 OK` ```json -{"block":1,"confidence":93.75,"serialised_confidence":"5232467296"} +{ "block": 1, "confidence": 93.75, "serialised_confidence": "5232467296" } ``` If confidence is not computed, and specified block is before the latest processed block: @@ -372,11 +372,11 @@ Given a block number, it retrieves the hex-encoded extrinsics for the specified > Path parameters: -* `block_number` - block number (requred) +- `block_number` - block number (requred) > Query parameters: -* `decode` - `true` if decoded extrinsics are requested (boolean, optional, default is `false`) +- `decode` - `true` if decoded extrinsics are requested (boolean, optional, default is `false`) #### Responses @@ -385,7 +385,12 @@ If application data is available, and decode is `false` or unspecified: > Status code: `200 OK` ```json -{"block":1,"extrinsics":["0xc5018400d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01308e88ca257b65514b7b44fc1913a6a9af6abc34c3d22761b0e425674d68df7de26be1c8533a7bbd01fdb3a8daa5af77df6d3fb0a67cde8241f461f4fe16f188000000041d011c6578616d706c65"]} +{ + "block": 1, + "extrinsics": [ + "0xc5018400d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01308e88ca257b65514b7b44fc1913a6a9af6abc34c3d22761b0e425674d68df7de26be1c8533a7bbd01fdb3a8daa5af77df6d3fb0a67cde8241f461f4fe16f188000000041d011c6578616d706c65" + ] +} ``` If application data is available, and decode is `true`: @@ -393,7 +398,7 @@ If application data is available, and decode is `true`: > Status code: `200 OK` ```json -{"block":1,"extrinsics":["ZXhhbXBsZQ=="]} +{ "block": 1, "extrinsics": ["ZXhhbXBsZQ=="] } ``` If application data is not available, and specified block is the latest block: @@ -418,7 +423,7 @@ Retrieves the status of the latest block processed by the light client. > Path parameters: -* `block_number` - block number (requred) +- `block_number` - block number (requred) #### Responses @@ -427,7 +432,7 @@ If latest processed block exists, and `app_id` is configured (otherwise, `app_id > Status code: `200 OK` ```json -{"block_num":89,"confidence":93.75,"app_id":1} +{ "block_num": 89, "confidence": 93.75, "app_id": 1 } ``` If there are no processed blocks: diff --git a/dprint.json b/dprint.json new file mode 100644 index 000000000..b3f80c3cc --- /dev/null +++ b/dprint.json @@ -0,0 +1,20 @@ +{ + "incremental": true, + "useTabs": true, + "json": { + }, + "markdown": { + }, + "toml": { + }, + "includes": ["**/*.{json,md,toml}"], + "excludes": [ + "**/*-lock.json", + "**/target" + ], + "plugins": [ + "https://plugins.dprint.dev/json-0.15.6.wasm", + "https://plugins.dprint.dev/markdown-0.14.1.wasm", + "https://plugins.dprint.dev/toml-0.5.4.wasm" + ] +} diff --git a/src/app_client.rs b/src/app_client.rs index bfcaa6c62..36ce05c1d 100644 --- a/src/app_client.rs +++ b/src/app_client.rs @@ -14,17 +14,22 @@ use anyhow::{anyhow, Context, Result}; use async_trait::async_trait; +use avail_core::AppId; use avail_subxt::{avail, utils::H256}; use codec::Encode; use dusk_plonk::commitment_scheme::kzg10::PublicParameters; use kate_recovery::{ - com::{app_specific_rows, columns_positions, decode_app_extrinsics, reconstruct_columns}, + com::{ + app_specific_rows, columns_positions, decode_app_extrinsics, reconstruct_columns, Percent, + }, commitments, config::{self, CHUNK_SIZE}, data::{Cell, DataCell}, matrix::{Dimensions, Position}, }; use mockall::automock; +use rand::SeedableRng as _; +use rand_chacha::ChaChaRng; use rocksdb::DB; use std::{ collections::{HashMap, HashSet}, @@ -47,7 +52,7 @@ trait AppClient { &self, pp: PublicParameters, block_number: u32, - dimensions: &Dimensions, + dimensions: Dimensions, commitments: &[[u8; config::COMMITMENT_SIZE]], missing_rows: &[u32], ) -> Result)>>; @@ -55,7 +60,7 @@ trait AppClient { async fn fetch_rows_from_dht( &self, block_number: u32, - dimensions: &Dimensions, + dimensions: Dimensions, row_indexes: &[u32], ) -> Vec>>; @@ -64,7 +69,7 @@ trait AppClient { fn store_encoded_data_in_db( &self, - app_id: u32, + app_id: AppId, block_number: u32, data: &T, ) -> Result<()>; @@ -83,7 +88,7 @@ impl AppClient for AppClientImpl { &self, pp: PublicParameters, block_number: u32, - dimensions: &Dimensions, + dimensions: Dimensions, commitments: &[[u8; config::COMMITMENT_SIZE]], missing_rows: &[u32], ) -> Result)>> { @@ -114,7 +119,9 @@ impl AppClient for AppClientImpl { unfetched.len() ); - let missing_cells = columns_positions(dimensions, &unfetched, 0.66); + let mut rng = ChaChaRng::from_seed(Default::default()); + let missing_cells = + columns_positions(dimensions, &unfetched, Percent::from_percent(66), &mut rng); let (missing_fetched, _) = fetch_verified( &pp, @@ -163,7 +170,7 @@ impl AppClient for AppClientImpl { .flat_map(|cell| cell.data) .collect::>(); - if data.len() != dimensions.cols() as usize * config::CHUNK_SIZE { + if data.len() != dimensions.width() * config::CHUNK_SIZE { return Err(anyhow!("Row size is not valid after reconstruction")); } @@ -175,7 +182,7 @@ impl AppClient for AppClientImpl { async fn fetch_rows_from_dht( &self, block_number: u32, - dimensions: &Dimensions, + dimensions: Dimensions, row_indexes: &[u32], ) -> Vec>> { self.network_client @@ -193,7 +200,7 @@ impl AppClient for AppClientImpl { fn store_encoded_data_in_db( &self, - app_id: u32, + app_id: AppId, block_number: u32, data: &T, ) -> Result<()> { @@ -249,7 +256,7 @@ async fn fetch_verified( pp: &PublicParameters, network_client: &Client, block_number: u32, - dimensions: &Dimensions, + dimensions: Dimensions, commitments: &[[u8; config::COMMITMENT_SIZE]], positions: &[Position], ) -> Result<(Vec, Vec)> { @@ -271,13 +278,13 @@ async fn fetch_verified( async fn process_block( app_client: impl AppClient, cfg: &AppClientConfig, - app_id: u32, + app_id: AppId, block: &BlockVerified, pp: PublicParameters, ) -> Result<()> { let lookup = &block.lookup; let block_number = block.block_num; - let dimensions = &block.dimensions; + let dimensions = block.dimensions; let commitments = &block.commitments; @@ -352,7 +359,7 @@ async fn process_block( missing_rows.len() ); - if missing_rows.len() * dimensions.cols() as usize > cfg.threshold { + if missing_rows.len() * dimensions.width() > cfg.threshold { return Err(anyhow::anyhow!("Too many cells are missing")); } @@ -410,7 +417,7 @@ pub async fn run( db: Arc, network_client: Client, rpc_client: avail::Client, - app_id: u32, + app_id: AppId, mut block_receive: Receiver, pp: PublicParameters, ) { @@ -422,18 +429,7 @@ pub async fn run( info!(block_number, "Block available: {dimensions:?}"); - if block.dimensions.cols() == 0 { - info!(block_number, "Skipping empty block"); - continue; - } - - if block - .lookup - .index - .iter() - .filter(|&(id, _)| id == &app_id) - .count() == 0 - { + if block.lookup.range_of(app_id).is_none() { info!( block_number, "Skipping block with no cells for app {app_id}" @@ -459,8 +455,9 @@ pub async fn run( mod tests { use super::*; use crate::types::{AppClientConfig, RuntimeConfig}; + use avail_core::DataLookup; use hex_literal::hex; - use kate_recovery::{index::AppDataIndex, matrix::Dimensions, testnet}; + use kate_recovery::{matrix::Dimensions, testnet}; #[tokio::test] async fn test_process_blocks_without_rpc() { @@ -475,15 +472,14 @@ mod tests { ] .to_vec(); + let id_lens: Vec<(u32, usize)> = vec![(0, 1), (1, 69)]; + let lookup = DataLookup::from_id_and_len_iter(id_lens.into_iter()).unwrap(); let block = BlockVerified { header_hash: hex!("ec30fcc1f32db0f51ce6305c2601089741ea0b42853f402194b49b04bf936338") .into(), block_num: 270, dimensions, - lookup: AppDataIndex { - size: 70, - index: [(1, 1)].to_vec(), - }, + lookup, commitments: [ [ 171, 159, 250, 70, 135, 100, 125, 155, 243, 109, 243, 101, 158, 165, 185, 147, @@ -513,7 +509,7 @@ mod tests { mock_client .expect_store_encoded_data_in_db() .returning(|_, _, _: &Vec>| Ok(())); - process_block(mock_client, &cfg, 1, &block, pp) + process_block(mock_client, &cfg, AppId(1), &block, pp) .await .unwrap(); } @@ -532,15 +528,14 @@ mod tests { ] .to_vec(); + let id_lens: Vec<(u32, usize)> = vec![(0, 1), (1, 11)]; + let lookup = DataLookup::from_id_and_len_iter(id_lens.into_iter()).unwrap(); let block = BlockVerified { header_hash: hex!("5bc959e1d05c68f7e1b5bc3a83cfba4efe636ce7f86102c30bcd6a2794e75afe") .into(), block_num: 288, dimensions, - lookup: AppDataIndex { - size: 12, - index: [(1, 1)].to_vec(), - }, + lookup, commitments: [ [ 165, 227, 207, 130, 59, 77, 78, 242, 184, 232, 114, 218, 145, 167, 149, 53, 89, @@ -575,7 +570,7 @@ mod tests { mock_client .expect_store_encoded_data_in_db() .returning(|_, _, _: &Vec>| Ok(())); - process_block(mock_client, &cfg, 1, &block, pp) + process_block(mock_client, &cfg, AppId(1), &block, pp) .await .unwrap(); } diff --git a/src/data.rs b/src/data.rs index 41e25a8d7..2b4adb660 100644 --- a/src/data.rs +++ b/src/data.rs @@ -3,6 +3,7 @@ use std::sync::Arc; use anyhow::{anyhow, Context, Result}; +use avail_core::AppId; use avail_subxt::primitives::Header as DaHeader; use avail_subxt::utils::H256; use codec::{Decode, Encode}; @@ -42,8 +43,8 @@ pub fn get_last_full_node_ws_from_db(db: Arc) -> Result> { .map(Some)?) } -fn store_data_in_db(db: Arc, app_id: u32, block_number: u32, data: &[u8]) -> Result<()> { - let key = format!("{app_id}:{block_number}"); +fn store_data_in_db(db: Arc, app_id: AppId, block_number: u32, data: &[u8]) -> Result<()> { + let key = format!("{}:{block_number}", app_id.0); let cf_handle = db .cf_handle(APP_DATA_CF) .context("Failed to get cf handle")?; @@ -65,7 +66,7 @@ fn get_data_from_db(db: Arc, app_id: u32, block_number: u32) -> Result( db: Arc, - app_id: u32, + app_id: AppId, block_number: u32, data: &T, ) -> Result<()> { diff --git a/src/light_client.rs b/src/light_client.rs index 60d8fef60..ba1c8ae00 100644 --- a/src/light_client.rs +++ b/src/light_client.rs @@ -150,7 +150,7 @@ pub async fn process_block( return Ok(()); }; - if dimensions.cols() <= 2 { + if dimensions.cols().get() <= 2 { error!(block_number, "more than 2 columns is required"); return Ok(()); } @@ -158,7 +158,7 @@ pub async fn process_block( let commitments = commitments::from_slice(&commitment)?; let cell_count = rpc::cell_count_for_confidence(cfg.confidence); - let positions = rpc::generate_random_cells(&dimensions, cell_count); + let positions = rpc::generate_random_cells(dimensions, cell_count); info!( block_number, "cells_requested" = positions.len(), @@ -212,7 +212,7 @@ pub async fn process_block( if !cfg.disable_proof_verification { let (verified, unverified) = - proof::verify(block_number, &dimensions, &cells, &commitments, pp)?; + proof::verify(block_number, dimensions, &cells, &commitments, pp)?; let count = verified.len() - unverified.len(); info!( block_number, @@ -300,7 +300,7 @@ pub async fn process_block( .iter() .filter(|cell| !cell.position.is_extended()) .collect::>(); - let rpc_fetched_data_rows = data::rows(&dimensions, &rpc_fetched_data_cells); + let rpc_fetched_data_rows = data::rows(dimensions, &rpc_fetched_data_cells); let rows_len = rpc_fetched_data_rows.len(); let dht_insert_rows_success_rate = light_client @@ -445,8 +445,8 @@ mod tests { use super::rpc::cell_count_for_confidence; use super::*; use avail_subxt::{ - api::runtime_types::da_primitives::{ - asdr::data_lookup::DataLookup, + api::runtime_types::avail_core::{ + data_lookup::compact::CompactDataLookup, header::extension::{v1::HeaderExtension, HeaderExtension::V1}, kate_commitment::v1::KateCommitment, }, @@ -518,7 +518,7 @@ mod tests { ] .to_vec(), }, - app_lookup: DataLookup { + app_lookup: CompactDataLookup { size: 1, index: vec![], }, @@ -641,7 +641,7 @@ mod tests { ] .to_vec(), }, - app_lookup: DataLookup { + app_lookup: CompactDataLookup { size: 1, index: vec![], }, diff --git a/src/main.rs b/src/main.rs index d9c88a571..12ce9f2b6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,6 +9,7 @@ use std::{ use anyhow::{anyhow, Context, Result}; use async_std::stream::StreamExt; +use avail_core::AppId; use avail_subxt::primitives::Header; use clap::Parser; use consts::STATE_CF; @@ -278,7 +279,7 @@ async fn run(error_sender: Sender) -> Result<()> { db.clone(), network_client.clone(), rpc_client.clone(), - app_id, + AppId(app_id), block_rx, pp.clone(), )); diff --git a/src/network/client.rs b/src/network/client.rs index 9befc52c0..2b5b75ac7 100644 --- a/src/network/client.rs +++ b/src/network/client.rs @@ -279,7 +279,7 @@ impl Client { pub async fn fetch_rows_from_dht( &self, block_number: u32, - dimensions: &Dimensions, + dimensions: Dimensions, row_indexes: &[u32], ) -> Vec>> { let mut rows = vec![None; dimensions.extended_rows() as usize]; diff --git a/src/proof.rs b/src/proof.rs index 9d3715e5e..8c4d9521e 100644 --- a/src/proof.rs +++ b/src/proof.rs @@ -13,7 +13,7 @@ use tracing::error; /// Verifies proofs for given block, cells and commitments pub fn verify( block_num: u32, - dimensions: &Dimensions, + dimensions: Dimensions, cells: &[Cell], commitments: &[[u8; 48]], public_parameters: &PublicParameters, @@ -25,13 +25,12 @@ pub fn verify( for cell in cells { let commitment = commitments[cell.position.row as usize]; - let dimensions = dimensions.clone(); let tx = tx.clone(); let cell = cell.clone(); let public_parameters = public_parameters.clone(); pool.execute(move || { - let result = proof::verify(&public_parameters, &dimensions, &commitment, &cell); + let result = proof::verify(&public_parameters, dimensions, &commitment, &cell); if let Err(error) = tx.clone().send((cell.position, result)) { error!(block_num, "Failed to send proof verified message: {error}"); } diff --git a/src/rpc.rs b/src/rpc.rs index 4a17bd402..29e998cd1 100644 --- a/src/rpc.rs +++ b/src/rpc.rs @@ -9,13 +9,12 @@ use avail_subxt::{ rpc::{types::BlockNumber, RpcParams}, utils::H256, }; -use codec::Decode; use kate_recovery::{ data::Cell, matrix::{Dimensions, Position}, }; use rand::{seq::SliceRandom, thread_rng, Rng}; -use sp_core::ed25519::Public as EdPublic; +use sp_core::ed25519; use tracing::{debug, info, instrument, warn}; use crate::types::*; @@ -36,20 +35,17 @@ pub async fn get_header_by_hash(client: &avail::Client, hash: H256) -> Result Result> { - let grandpa_valset_raw = client +pub async fn get_valset_by_hash( + client: &avail::Client, + hash: H256, +) -> Result> { + let grandpa_valset = client .runtime_api() - .at(Some(hash)) - .await - .unwrap() - .call_raw("GrandpaApi_grandpa_authorities", None) + .at(hash) + .call_raw::>("GrandpaApi_grandpa_authorities", None) .await .unwrap(); - // Decode result to proper type - ed25519 public key and u64 weight. - let grandpa_valset: Vec<(EdPublic, u64)> = - Decode::decode(&mut &grandpa_valset_raw[..]).unwrap(); - // Drop weights, as they are not currently used. Ok(grandpa_valset.iter().map(|e| e.0).collect()) } @@ -57,7 +53,7 @@ pub async fn get_valset_by_hash(client: &avail::Client, hash: H256) -> Result Result> { +) -> Result> { let hash = get_block_hash(client, block).await?; get_valset_by_hash(client, hash).await } @@ -85,8 +81,7 @@ pub async fn get_set_id_by_hash(client: &avail::Client, hash: H256) -> Result Vec { +pub fn generate_random_cells(dimensions: Dimensions, cell_count: u32) -> Vec { let max_cells = dimensions.extended_size(); let count = if max_cells < cell_count.into() { debug!("Max cells count {max_cells} is lesser than cell_count {cell_count}"); @@ -118,7 +113,7 @@ pub fn generate_random_cells(dimensions: &Dimensions, cell_count: u32) -> Vec Deserialize<'de> for GrandpaJustification { #[derive(Clone, Debug)] enum Messages { Justification(GrandpaJustification), - ValidatorSetChange((Vec, u64)), + ValidatorSetChange((Vec, u64)), NewHeader(Header, Instant), } @@ -138,7 +134,7 @@ async fn subscribe_check_and_process( let auths: Vec<(AuthorityId, u64)> = new_auths.pop().unwrap(); let new_valset = auths .into_iter() - .map(|(a, _)| EdPublic::from_raw(a.0 .0 .0)) + .map(|(a, _)| ed25519::Public::from_raw(a.0 .0 .0)) .collect(); // Increment set_id @@ -225,10 +221,10 @@ async fn subscribe_check_and_process( .precommits .iter() .map(|precommit| { - let is_ok = ::verify_weak( - &precommit.clone().signature.0[..], - signed_message.as_slice(), - precommit.clone().id, + let is_ok = ::verify( + &precommit.signature, + &signed_message, + &precommit.id, ); is_ok .then(|| precommit.clone().id) diff --git a/src/sync_client.rs b/src/sync_client.rs index 20d15e985..f40b8ed5a 100644 --- a/src/sync_client.rs +++ b/src/sync_client.rs @@ -22,7 +22,7 @@ use codec::Encode; use dusk_plonk::commitment_scheme::kzg10::PublicParameters; use kate_recovery::{commitments, matrix::Dimensions}; use rocksdb::DB; -use sp_core::{blake2_256, ed25519::Public as EdPublic}; +use sp_core::{blake2_256, ed25519}; use std::{sync::Arc, time::SystemTime}; use tokio::sync::mpsc::Sender; use tracing::{error, info, warn}; @@ -151,7 +151,7 @@ async fn process_block( let app_lookup = extract_app_lookup(&header.extension); - info!(block_number, "App index {:?}", app_lookup.index); + info!(block_number, "App index {:?}", app_lookup); sync_client .store_block_header_in_db(header.clone(), block_number) @@ -181,7 +181,7 @@ async fn process_block( // now this is in `u64` let cell_count = rpc::cell_count_for_confidence(cfg.confidence); - let positions = rpc::generate_random_cells(&dimensions, cell_count); + let positions = rpc::generate_random_cells(dimensions, cell_count); let (dht_fetched, unfetched) = sync_client .fetch_cells_from_dht(&positions, block_number) @@ -218,7 +218,7 @@ async fn process_block( let cells_len = cells.len(); info!(block_number, "Fetched {cells_len} cells for verification"); - let (verified, _) = proof::verify(block_number, &dimensions, &cells, &commitments, pp)?; + let (verified, _) = proof::verify(block_number, dimensions, &cells, &commitments, pp)?; info!( block_number, @@ -271,7 +271,10 @@ pub async fn run( // Fetch validator set at current height let final_validator_set = rpc::get_valset_by_block_number(&rpc_client, end_block) .await - .expect("Couldn't get current validator set"); + .expect("Couldn't get current validator set") + .into_iter() + .map(|validator_pub| ed25519::Public::from_raw(validator_pub.0)) + .collect::>(); // Fetch the set ID from storage at current height let final_set_id = rpc::get_set_id_by_block_number(&rpc_client, end_block) @@ -281,7 +284,7 @@ pub async fn run( let start_block = end_block.saturating_sub(sync_blocks_depth); let mut last_hash: Option = None; let mut last_set_id: Option = None; - let mut last_validator_set: Option> = None; + let mut last_validator_set: Option> = None; info!("Syncing block headers from {start_block} to {end_block}"); let blocks = (start_block..=end_block) @@ -313,7 +316,7 @@ pub async fn run( last_validator_set = Some( new_auths[0] .iter() - .map(|a| EdPublic::from_raw(a.0 .0 .0 .0)) + .map(|a| ed25519::Public::from_raw(a.0 .0 .0 .0)) .collect(), ); let set_id = rpc::get_set_id_by_hash(&rpc_client, block_hash) @@ -358,8 +361,8 @@ mod tests { use super::*; use crate::types::{self, RuntimeConfig}; use avail_subxt::{ - api::runtime_types::da_primitives::{ - asdr::data_lookup::DataLookup, + api::runtime_types::avail_core::{ + data_lookup::compact::CompactDataLookup, header::extension::{v1::HeaderExtension, HeaderExtension::V1}, kate_commitment::v1::KateCommitment, }, @@ -405,7 +408,7 @@ mod tests { 137, 187, 186, 216, 97, 140, 16, 33, 52, 56, 170, 208, 118, 242, ], }, - app_lookup: DataLookup { + app_lookup: CompactDataLookup { size: 1, index: vec![], }, @@ -537,7 +540,7 @@ mod tests { 137, 187, 186, 216, 97, 140, 16, 33, 52, 56, 170, 208, 118, 242, ], }, - app_lookup: DataLookup { + app_lookup: CompactDataLookup { size: 1, index: vec![], }, diff --git a/src/types.rs b/src/types.rs index db2011bb0..d3b41e22d 100644 --- a/src/types.rs +++ b/src/types.rs @@ -6,11 +6,11 @@ use std::time::{Duration, Instant}; use crate::utils::{extract_app_lookup, extract_kate}; use anyhow::{Context, Result}; +use avail_core::DataLookup; use avail_subxt::{primitives::Header as DaHeader, utils::H256}; -use codec::Encode; +use codec::{Decode, Encode}; use kate_recovery::{ commitments, - index::AppDataIndex, matrix::{Dimensions, Partition}, }; use libp2p::{Multiaddr, PeerId}; @@ -44,7 +44,7 @@ pub struct BlockVerified { pub header_hash: H256, pub block_num: u32, pub dimensions: Dimensions, - pub lookup: AppDataIndex, + pub lookup: DataLookup, pub commitments: Vec<[u8; 48]>, } @@ -52,21 +52,15 @@ impl TryFrom for BlockVerified { type Error = anyhow::Error; fn try_from(header: DaHeader) -> Result { let hash: H256 = Encode::using_encoded(&header, blake2_256).into(); - let app_lookup = extract_app_lookup(&header.extension); + let enc_lookup = extract_app_lookup(&header.extension).encode(); + let lookup = DataLookup::decode(&mut enc_lookup.as_slice())?; let (rows, cols, _, commitment) = extract_kate(&header.extension); Ok(BlockVerified { header_hash: hash, block_num: header.number, dimensions: Dimensions::new(rows, cols).context("Invalid dimensions")?, - lookup: AppDataIndex { - size: app_lookup.size, - index: app_lookup - .index - .iter() - .map(|e| (e.app_id.0, e.start)) - .collect(), - }, + lookup, commitments: commitments::from_slice(&commitment)?, }) } diff --git a/src/utils.rs b/src/utils.rs index c9bec2228..4cc7811b4 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,6 +1,9 @@ +use avail_core::{ + data_lookup::compact::{CompactDataLookup, DataLookupItem}, + AppId, DataLookup, +}; use avail_subxt::{ - api::runtime_types::da_primitives::{ - asdr::data_lookup::DataLookup, + api::runtime_types::avail_core::{ header::extension::HeaderExtension, header::extension::{v1, v2}, }, @@ -40,11 +43,21 @@ pub(crate) fn extract_kate(extension: &HeaderExtension) -> (u16, u16, H256, Vec< } } -pub(crate) fn extract_app_lookup(extension: &HeaderExtension) -> &DataLookup { - match &extension { +pub(crate) fn extract_app_lookup(extension: &HeaderExtension) -> DataLookup { + let compact = match &extension { HeaderExtension::V1(v1::HeaderExtension { app_lookup, .. }) => app_lookup, HeaderExtension::V2(v2::HeaderExtension { app_lookup, .. }) => app_lookup, - } + }; + + let size = compact.size; + let index = compact + .index + .iter() + .map(|item| DataLookupItem::new(AppId(item.app_id.0), item.start)) + .collect::>(); + + let compact = CompactDataLookup::new(size, index); + DataLookup::try_from(compact).expect("Invalid app lookup") } pub fn filter_auth_set_changes(header: DaHeader) -> Vec> { @@ -71,13 +84,13 @@ pub fn filter_auth_set_changes(header: DaHeader) -> Vec> // TODO: Remove unused functions if not needed after next iteration #[allow(dead_code)] -fn can_reconstruct(dimensions: &Dimensions, columns: &[u16], cells: &[Cell]) -> bool { +fn can_reconstruct(dimensions: Dimensions, columns: &[u16], cells: &[Cell]) -> bool { columns.iter().all(|&col| { cells .iter() .filter(move |cell| cell.position.col == col) .count() as u16 - >= dimensions.rows() + >= dimensions.rows().into() }) } @@ -114,13 +127,13 @@ mod tests { let dimensions = Dimensions::new(1, 4).unwrap(); let columns = vec![0, 1]; let cells = vec![empty_cell(0, 0), empty_cell(0, 1)]; - assert!(can_reconstruct(&dimensions, &columns, &cells)); + assert!(can_reconstruct(dimensions, &columns, &cells)); let cells = vec![empty_cell(1, 0), empty_cell(0, 1)]; - assert!(can_reconstruct(&dimensions, &columns, &cells)); + assert!(can_reconstruct(dimensions, &columns, &cells)); let cells = vec![empty_cell(1, 0), empty_cell(1, 1)]; - assert!(can_reconstruct(&dimensions, &columns, &cells)); + assert!(can_reconstruct(dimensions, &columns, &cells)); let cells = vec![empty_cell(0, 0), empty_cell(1, 1)]; - assert!(can_reconstruct(&dimensions, &columns, &cells)); + assert!(can_reconstruct(dimensions, &columns, &cells)); } #[test] @@ -128,15 +141,15 @@ mod tests { let dimensions = Dimensions::new(1, 4).unwrap(); let columns = vec![0, 1]; let cells = vec![empty_cell(0, 0)]; - assert!(!can_reconstruct(&dimensions, &columns, &cells)); + assert!(!can_reconstruct(dimensions, &columns, &cells)); let cells = vec![empty_cell(0, 1)]; - assert!(!can_reconstruct(&dimensions, &columns, &cells)); + assert!(!can_reconstruct(dimensions, &columns, &cells)); let cells = vec![empty_cell(1, 0)]; - assert!(!can_reconstruct(&dimensions, &columns, &cells)); + assert!(!can_reconstruct(dimensions, &columns, &cells)); let cells = vec![empty_cell(1, 1)]; - assert!(!can_reconstruct(&dimensions, &columns, &cells)); + assert!(!can_reconstruct(dimensions, &columns, &cells)); let cells = vec![empty_cell(0, 2), empty_cell(0, 3)]; - assert!(!can_reconstruct(&dimensions, &columns, &cells)); + assert!(!can_reconstruct(dimensions, &columns, &cells)); } #[test] From 4d38165c453f46829762f74318cbdf62c781478f Mon Sep 17 00:00:00 2001 From: miguelDD1 Date: Wed, 2 Aug 2023 09:18:36 +0200 Subject: [PATCH 2/6] Update `avail` deps --- Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 25e1be706..8899e76dd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,10 +9,10 @@ license = "Apache-2.0" [dependencies] # Internal deps -avail-core = { path = "../avail-core/core" } -avail-subxt = { path = "../avail_1/avail-subxt", features = ["api-dev"] } +avail-core = { version = "0.5", git="https://github.com/availproject/avail-core", tag = "avail-core/v0.5.0" } +avail-subxt = { version = "0.3", git = "https://github.com/availproject/avail.git", tag = "v1.6.3" } dusk-plonk = { git = "https://github.com/availproject/plonk.git", tag = "v0.12.0-polygon-2" } -kate-recovery = { path = "../avail-core/kate/recovery" } +kate-recovery = { version = "0.9", git="https://github.com/availproject/avail-core", tag = "avail-core/v0.5.0" } # Substrate codec = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "full", "bit-vec"] } From b1fcf4a2da1d8cd643387732239ca449bc3a8af0 Mon Sep 17 00:00:00 2001 From: miguelDD1 Date: Wed, 2 Aug 2023 10:37:11 +0200 Subject: [PATCH 3/6] Checks only major & minor version to connect --- src/main.rs | 2 +- src/rpc.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 84e4f4648..66035ddc5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -152,7 +152,7 @@ async fn run(error_sender: Sender) -> Result<()> { let db = init_db(&cfg.avail_path).context("Cannot initialize database")?; let network_version = rpc::Version { - version: "1.6.2".to_string(), + version: "1.6".to_string(), spec_version: 11, spec_name: "data-avail".to_string(), }; diff --git a/src/rpc.rs b/src/rpc.rs index 29e998cd1..f4c7540ba 100644 --- a/src/rpc.rs +++ b/src/rpc.rs @@ -233,7 +233,7 @@ pub async fn connect_to_the_full_node( error }; - let Ok(client) = build_client(&full_node_ws, true).await.map_err(log_warn) else { continue }; + let Ok(client) = build_client(&full_node_ws, false).await.map_err(log_warn) else { continue }; let Ok(system_version) = get_system_version(&client).await.map_err(log_warn) else { continue; }; let Ok(runtime_version) = get_runtime_version(&client).await.map_err(log_warn) else { continue; }; From ab3d5f7f1999457ab8dd33aff934d14a1391e726 Mon Sep 17 00:00:00 2001 From: miguelDD1 Date: Fri, 4 Aug 2023 09:48:15 +0200 Subject: [PATCH 4/6] Remove Dprint stuff --- .github/workflows/default.yml | 5 +-- README.md | 77 ++++++++++++++++------------------- dprint.json | 20 --------- src/api/v2/README.md | 60 +++++++++++++++++++++++++-- 4 files changed, 94 insertions(+), 68 deletions(-) delete mode 100644 dprint.json diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index 3ef14e453..36f6142e7 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -37,10 +37,7 @@ jobs: - name: Install Protoc uses: arduino/setup-protoc@v1 - - - name: Check `TOML`, `JSON`, and `MarkDown` formatting - uses: dprint/check@v2.1 - + - name: Check code formatting uses: actions-rs/cargo@v1 with: diff --git a/README.md b/README.md index d5c883eea..64d599825 100644 --- a/README.md +++ b/README.md @@ -13,24 +13,24 @@ `avail-light` is a data availability light client with the following functionalities: -- Listening on the Avail network for finalized blocks -- Random sampling and proof verification of a predetermined number of cells (`{row, col}` pairs) on each new block. After successful block verification, confidence is calculated for a number of _cells_ (`N`) in a matrix, with `N` depending on the percentage of certainty the light client wants to achieve. -- Data reconstruction through application client (WIP). -- HTTP endpoints exposing relevant data, both from the light and application clients +* Listening on the Avail network for finalized blocks +* Random sampling and proof verification of a predetermined number of cells (`{row, col}` pairs) on each new block. After successful block verification, confidence is calculated for a number of *cells* (`N`) in a matrix, with `N` depending on the percentage of certainty the light client wants to achieve. +* Data reconstruction through application client (WIP). +* HTTP endpoints exposing relevant data, both from the light and application clients ### Modes of Operation 1. **Light-client Mode**: The basic mode of operation and is always active no matter the mode selected. If an `App_ID` is not provided (or is =0), this mode will commence. On each header received the client does random sampling using two mechanisms: - 1. DHT - client first tries to retrieve cells via Kademlia. - 2. RPC - if DHT retrieve fails, the client uses RPC calls to Avail nodes to retrieve the needed cells. The cells not already found in the DHT will be uploaded. + 1. DHT - client first tries to retrieve cells via Kademlia. + 2. RPC - if DHT retrieve fails, the client uses RPC calls to Avail nodes to retrieve the needed cells. The cells not already found in the DHT will be uploaded. -Once the data is received, light client verifies individual cells and calculates the confidence, which is then stored locally. + Once the data is received, light client verifies individual cells and calculates the confidence, which is then stored locally. 2. **App-Specific Mode**: If an **`App_ID` > 0** is given in the config file, the application client (part ot the light client) downloads all the relevant app data, reconstructs it and persists it locally. Reconstructed data is then available to accessed via an HTTP endpoint. (WIP) 3. **Fat-Client Mode**: The client retrieves larger contiguous chunks of the matrix on each block via RPC calls to an Avail node, and stores them on the DHT. This mode is activated when the `block_matrix_partition` parameter is set in the config file, and is mainly used with the `disable_proof_verification` flag because of the resource cost of cell validation. - **IMPORTANT**: disabling proof verification introduces a trust assumption towards the node, that the data provided is correct. +**IMPORTANT**: disabling proof verification introduces a trust assumption towards the node, that the data provided is correct. ## Installation @@ -66,7 +66,7 @@ bootstraps = [["12D3KooWMm1c4pzeLPGkkCJMAgFbsfQ8xmVDusg272icWsaNHWzN", "/ip4/127 Now, run the client: ```bash -cargo run -- -c config.yaml +cargo run -- -c config.yaml ``` ## Config reference @@ -171,12 +171,12 @@ max_kad_provided_keys = 1024 ## Notes -- When running the first light client in a network, it becomes a bootstrap client. Once its execution is started, it is paused until a second light client has been started and connected to it, so that the DHT bootstrap mechanism can complete successfully. -- Immediately after starting a fresh light client, block sync is executed to a block depth set in the `sync_blocks_depth` config parameter. The sync client is using both the DHT and RPC for that purpose. -- In order to spin up a fat client, config needs to contain the `block_matrix_partition` parameter set to a fraction of matrix. It is recommended to set the `disable_proof_verification` to true, because of the resource costs of proof verification. -- `sync_blocks_depth` needs to be set correspondingly to the max number of blocks the connected node is caching (if downloading data via RPC). -- Prometheus is used for exposing detailed metrics about the light client -- In order to use network analyzer, the light client has to be compiled with `--features 'network-analysis'` flag; when running the LC with network analyzer, sufficient capabilities have to be given to the client in order for it to have the permissions needed to listen on socket: `sudo setcap cap_net_raw,cap_net_admin=eip /path/to/light/client/binary` +* When running the first light client in a network, it becomes a bootstrap client. Once its execution is started, it is paused until a second light client has been started and connected to it, so that the DHT bootstrap mechanism can complete successfully. +* Immediately after starting a fresh light client, block sync is executed to a block depth set in the `sync_blocks_depth` config parameter. The sync client is using both the DHT and RPC for that purpose. +* In order to spin up a fat client, config needs to contain the `block_matrix_partition` parameter set to a fraction of matrix. It is recommended to set the `disable_proof_verification` to true, because of the resource costs of proof verification. +* `sync_blocks_depth` needs to be set correspondingly to the max number of blocks the connected node is caching (if downloading data via RPC). +* Prometheus is used for exposing detailed metrics about the light client +* In order to use network analyzer, the light client has to be compiled with `--features 'network-analysis'` flag; when running the LC with network analyzer, sufficient capabilities have to be given to the client in order for it to have the permissions needed to listen on socket: `sudo setcap cap_net_raw,cap_net_admin=eip /path/to/light/client/binary` ## Usage and examples @@ -192,7 +192,7 @@ Response: ```json { - "latest_block": 10 + "latest_block": 10 } ``` @@ -208,9 +208,9 @@ Response: ```json { - "block": 1, - "confidence": 93.75, - "serialised_confidence": "5232467296" + "block": 1, + "confidence": 93.75, + "serialised_confidence": "5232467296" } ``` @@ -231,10 +231,10 @@ Response: ```json { - "block": 46, - "extrinsics": [ - "ZXhhbXBsZQ==" - ] + "block": 46, + "extrinsics": [ + "ZXhhbXBsZQ==" + ] } ``` @@ -260,7 +260,7 @@ Response: ```json { - "AppClient": 1 + "AppClient": 1 } ``` @@ -274,9 +274,9 @@ Response: ```json { - "block_num": 10, - "confidence": 93.75, - "app_id": 1 + "block_num": 10, + "confidence": 93.75, + "app_id": 1 } ``` @@ -290,7 +290,7 @@ Response: ```json { - "latest_block": 255 + "latest_block": 255 } ``` @@ -338,7 +338,7 @@ Given a block number, it returns the confidence computed by the light client for > Path parameters: -- `block_number` - block number (requred) +* `block_number` - block number (requred) #### Responses @@ -347,7 +347,7 @@ In case when confidence is computed: > Status code: `200 OK` ```json -{ "block": 1, "confidence": 93.75, "serialised_confidence": "5232467296" } +{"block":1,"confidence":93.75,"serialised_confidence":"5232467296"} ``` If confidence is not computed, and specified block is before the latest processed block: @@ -372,11 +372,11 @@ Given a block number, it retrieves the hex-encoded extrinsics for the specified > Path parameters: -- `block_number` - block number (requred) +* `block_number` - block number (requred) > Query parameters: -- `decode` - `true` if decoded extrinsics are requested (boolean, optional, default is `false`) +* `decode` - `true` if decoded extrinsics are requested (boolean, optional, default is `false`) #### Responses @@ -385,12 +385,7 @@ If application data is available, and decode is `false` or unspecified: > Status code: `200 OK` ```json -{ - "block": 1, - "extrinsics": [ - "0xc5018400d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01308e88ca257b65514b7b44fc1913a6a9af6abc34c3d22761b0e425674d68df7de26be1c8533a7bbd01fdb3a8daa5af77df6d3fb0a67cde8241f461f4fe16f188000000041d011c6578616d706c65" - ] -} +{"block":1,"extrinsics":["0xc5018400d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d01308e88ca257b65514b7b44fc1913a6a9af6abc34c3d22761b0e425674d68df7de26be1c8533a7bbd01fdb3a8daa5af77df6d3fb0a67cde8241f461f4fe16f188000000041d011c6578616d706c65"]} ``` If application data is available, and decode is `true`: @@ -398,7 +393,7 @@ If application data is available, and decode is `true`: > Status code: `200 OK` ```json -{ "block": 1, "extrinsics": ["ZXhhbXBsZQ=="] } +{"block":1,"extrinsics":["ZXhhbXBsZQ=="]} ``` If application data is not available, and specified block is the latest block: @@ -423,7 +418,7 @@ Retrieves the status of the latest block processed by the light client. > Path parameters: -- `block_number` - block number (requred) +* `block_number` - block number (requred) #### Responses @@ -432,7 +427,7 @@ If latest processed block exists, and `app_id` is configured (otherwise, `app_id > Status code: `200 OK` ```json -{ "block_num": 89, "confidence": 93.75, "app_id": 1 } +{"block_num":89,"confidence":93.75,"app_id":1} ``` If there are no processed blocks: diff --git a/dprint.json b/dprint.json deleted file mode 100644 index b3f80c3cc..000000000 --- a/dprint.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "incremental": true, - "useTabs": true, - "json": { - }, - "markdown": { - }, - "toml": { - }, - "includes": ["**/*.{json,md,toml}"], - "excludes": [ - "**/*-lock.json", - "**/target" - ], - "plugins": [ - "https://plugins.dprint.dev/json-0.15.6.wasm", - "https://plugins.dprint.dev/markdown-0.14.1.wasm", - "https://plugins.dprint.dev/toml-0.5.4.wasm" - ] -} diff --git a/src/api/v2/README.md b/src/api/v2/README.md index 2a98e02bf..40db217a0 100644 --- a/src/api/v2/README.md +++ b/src/api/v2/README.md @@ -1,6 +1,6 @@ # API Version 2 -API version 2 is still under development and under the **api-v2** feature toggle.\ +API version 2 is still under development and under the **api-v2** feature toggle. To access new endpoints, light client has to be run with: ```sh @@ -17,7 +17,7 @@ cargo test --features api-v2 ## **GET** `/v2/version` -Gets the version of the light client binary, and the version of the compatible network. +Gets the version of the light client binary, and the version of the compatible network. Response: @@ -67,7 +67,7 @@ Content-Type: application/json } ``` -## Topics +### Topics - **header-verified** - header finality is verified and header is available - **confidence-achieved** - confidence is achieved @@ -76,3 +76,57 @@ Content-Type: application/json ### Data fields Filters **data-verified** message. Optional parameter used when **raw** transaction data is needed. If omitted, only decoded **data** is present in the message. + +## GET `/v2/ws/{subscription-id}` + +Connects to Avail Light Client web socket. Multiple connections are currently allowed. + +## Client-to-server messages + +Every request should contain unique **request_id** field, used to correlate request with response. + +### Request version + +Request Avail Light Client version data. + +```json +{ + "type": "version", + "request_id": "{uuid}" +} +``` +## Server-to-client messages + +If response contains ******request_id****** field, it will be pushed to the client which initiated request. Those messages are not subject to a topic filtering at the moment. + +### Version + +Version response. + +```json +{ + "topic": "version", + "request_id": "{uuid}", + "message": { + "version": "{version-string}", + "network_version": "{version-string}" + } +} +``` + +### Errors + +In case of errors, descriptive error message is sent: + +```json +{ + "topic": "error", + "request_id": "{uuid}", // Optional + "code": "{error-code}", + "message": "{descriptive-error-message}" +} +``` + +Error codes: + +- **bad-request** - request sent via web socket message is not valid From 1f62f5109e7ae4c43f356e122d0e1c53538a3459 Mon Sep 17 00:00:00 2001 From: miguelDD1 Date: Fri, 4 Aug 2023 10:41:23 +0200 Subject: [PATCH 5/6] Remove license --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 22dbba652..3e551bf10 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,6 @@ name = "avail-light" version = "1.5.0" authors = ["Avail Team"] edition = "2021" -license = "Apache-2.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html From 77a1b686fed89af0e35c7b743829288040ba5da3 Mon Sep 17 00:00:00 2001 From: miguelDD1 Date: Fri, 4 Aug 2023 12:25:00 +0200 Subject: [PATCH 6/6] Remove `.expect` --- src/types.rs | 5 ++++- src/utils.rs | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/types.rs b/src/types.rs index d3b41e22d..727c8cec3 100644 --- a/src/types.rs +++ b/src/types.rs @@ -5,6 +5,7 @@ use std::str::FromStr; use std::time::{Duration, Instant}; use crate::utils::{extract_app_lookup, extract_kate}; +use anyhow::anyhow; use anyhow::{Context, Result}; use avail_core::DataLookup; use avail_subxt::{primitives::Header as DaHeader, utils::H256}; @@ -52,7 +53,9 @@ impl TryFrom for BlockVerified { type Error = anyhow::Error; fn try_from(header: DaHeader) -> Result { let hash: H256 = Encode::using_encoded(&header, blake2_256).into(); - let enc_lookup = extract_app_lookup(&header.extension).encode(); + let enc_lookup = extract_app_lookup(&header.extension) + .map_err(|e| anyhow!("Invalid DataLookup: {}", e))? + .encode(); let lookup = DataLookup::decode(&mut enc_lookup.as_slice())?; let (rows, cols, _, commitment) = extract_kate(&header.extension); diff --git a/src/utils.rs b/src/utils.rs index 4cc7811b4..be846b13e 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,5 +1,6 @@ use avail_core::{ data_lookup::compact::{CompactDataLookup, DataLookupItem}, + data_lookup::Error as DataLookupError, AppId, DataLookup, }; use avail_subxt::{ @@ -43,7 +44,9 @@ pub(crate) fn extract_kate(extension: &HeaderExtension) -> (u16, u16, H256, Vec< } } -pub(crate) fn extract_app_lookup(extension: &HeaderExtension) -> DataLookup { +pub(crate) fn extract_app_lookup( + extension: &HeaderExtension, +) -> Result { let compact = match &extension { HeaderExtension::V1(v1::HeaderExtension { app_lookup, .. }) => app_lookup, HeaderExtension::V2(v2::HeaderExtension { app_lookup, .. }) => app_lookup, @@ -57,7 +60,7 @@ pub(crate) fn extract_app_lookup(extension: &HeaderExtension) -> DataLookup { .collect::>(); let compact = CompactDataLookup::new(size, index); - DataLookup::try_from(compact).expect("Invalid app lookup") + DataLookup::try_from(compact) } pub fn filter_auth_set_changes(header: DaHeader) -> Vec> {