From af3a36dc0ab0050c3376015f9ce8985255a0c85c Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 1 Jun 2024 20:25:24 +0100 Subject: [PATCH] * Upgrade / pin substrate to v1.9.0 * Add validator-set and im-online pallets * Terraform configuration for vault / agents * Not quite working otel operator configuration * Not quite viable due to wasm build failure Signed-off-by: Ryan --- Cargo.lock | 3068 +++++---- .../templates/chronicle-secret-volume.yaml | 12 - charts/chronicle/templates/statefulset.yaml | 3 - .../chronicle-test-infrastructure/Cargo.toml | 11 +- .../src/substitutes/mockchain.rs | 6 + crates/chronicle/src/bootstrap/mod.rs | 2 +- crates/common/src/prov/model/mod.rs | 2 +- crates/embedded-substrate/Cargo.toml | 7 +- crates/opactl/Cargo.toml | 10 +- crates/opactl/src/test/mockchain.rs | 6 + crates/pallet-chronicle/Cargo.toml | 19 +- crates/pallet-chronicle/src/mock.rs | 6 + crates/pallet-opa/Cargo.toml | 24 +- crates/runtime-api-chronicle/Cargo.toml | 5 +- docker/unified-builder | 2 +- node/node-chronicle/Cargo.toml | 85 +- node/node-chronicle/src/benchmarking.rs | 40 +- node/node-chronicle/src/chain_spec.rs | 193 +- node/node-chronicle/src/cli.rs | 9 +- node/node-chronicle/src/command.rs | 41 +- node/node-chronicle/src/rpc.rs | 4 - node/node-chronicle/src/service.rs | 113 +- node/runtime-chronicle/Cargo.toml | 71 +- node/runtime-chronicle/build.rs | 19 +- node/runtime-chronicle/src/lib.rs | 92 +- .../chronicle-substrate/bootnode.pod.txt | 277 + terraform/chronicle-substrate/bootnode.tf | 25 - terraform/chronicle-substrate/demo.pod.txt | 147 + terraform/chronicle-substrate/network.tf | 86 + terraform/chronicle-substrate/provider.tf | 2 + .../templates/bootnode.tmpl | 33 +- .../templates/validators.tmpl | 38 + terraform/chronicle-substrate/tree.txt | 5501 +++++++++++++++++ terraform/chronicle-substrate/variables.tf | 15 +- terraform/chronicle/provider.tf | 12 + terraform/chronicle/variables.tf | 462 ++ terraform/signoz/signoz.tf | 605 ++ terraform/signoz/variables.tf | 12 + terraform/vault-configuration/.gitignore | 3 + terraform/vault-configuration/Makefile | 53 +- terraform/vault-configuration/provider.tf | 7 +- terraform/vault-configuration/terraform.tf | 6 + terraform/vault-configuration/variables.tf | 52 +- terraform/vault-configuration/vault.tf | 100 +- terraform/vault-deployment/.gitignore | 3 + terraform/vault-deployment/Makefile | 38 +- terraform/vault-deployment/ca.crt | 19 - .../vault-deployment/templates/values.tmpl | 10 +- terraform/vault-deployment/tls.tf | 3 +- terraform/vault-deployment/vault.tf | 24 +- 50 files changed, 9794 insertions(+), 1589 deletions(-) delete mode 100644 charts/chronicle/templates/chronicle-secret-volume.yaml create mode 100644 terraform/chronicle-substrate/bootnode.pod.txt delete mode 100644 terraform/chronicle-substrate/bootnode.tf create mode 100644 terraform/chronicle-substrate/demo.pod.txt create mode 100644 terraform/chronicle-substrate/network.tf create mode 100644 terraform/chronicle-substrate/templates/validators.tmpl create mode 100644 terraform/chronicle-substrate/tree.txt create mode 100644 terraform/chronicle/provider.tf create mode 100644 terraform/chronicle/variables.tf create mode 100644 terraform/vault-configuration/terraform.tf delete mode 100644 terraform/vault-deployment/ca.crt diff --git a/Cargo.lock b/Cargo.lock index c24a3f253..2b654c81c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -34,11 +34,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ - "gimli 0.28.1", + "gimli 0.29.0", ] [[package]] @@ -204,9 +204,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.83" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" dependencies = [ "backtrace", ] @@ -228,7 +228,7 @@ dependencies = [ "chronicle-signing", "chronicle-telemetry", "chrono", - "common", + "common 0.7.5", "custom_error", "derivative", "diesel", @@ -244,7 +244,7 @@ dependencies = [ "metrics-exporter-prometheus", "opa", "opentelemetry", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "poem", "protocol-substrate", "protocol-substrate-chronicle", @@ -290,6 +290,20 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "aquamarine" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" +dependencies = [ + "include_dir", + "itertools 0.10.5", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "ark-bls12-377" version = "0.4.0" @@ -301,6 +315,18 @@ dependencies = [ "ark-std", ] +[[package]] +name = "ark-bls12-377-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-models-ext", + "ark-std", +] + [[package]] name = "ark-bls12-381" version = "0.4.0" @@ -313,6 +339,45 @@ dependencies = [ "ark-std", ] +[[package]] +name = "ark-bls12-381-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-models-ext", + "ark-serialize", + "ark-std", +] + +[[package]] +name = "ark-bw6-761" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-bw6-761-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2" +dependencies = [ + "ark-bw6-761", + "ark-ec", + "ark-ff", + "ark-models-ext", + "ark-std", +] + [[package]] name = "ark-ec" version = "0.4.2" @@ -327,9 +392,60 @@ dependencies = [ "hashbrown 0.13.2", "itertools 0.10.5", "num-traits", + "rayon", "zeroize", ] +[[package]] +name = "ark-ed-on-bls12-377" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6" +dependencies = [ + "ark-bls12-377", + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ed-on-bls12-377-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d" +dependencies = [ + "ark-ec", + "ark-ed-on-bls12-377", + "ark-ff", + "ark-models-ext", + "ark-std", +] + +[[package]] +name = "ark-ed-on-bls12-381-bandersnatch" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ed-on-bls12-381-bandersnatch-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346" +dependencies = [ + "ark-ec", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ff", + "ark-models-ext", + "ark-std", +] + [[package]] name = "ark-ff" version = "0.4.2" @@ -373,6 +489,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-models-ext" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", +] + [[package]] name = "ark-poly" version = "0.4.2" @@ -386,6 +515,35 @@ dependencies = [ "hashbrown 0.13.2", ] +[[package]] +name = "ark-scale" +version = "0.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "ark-secret-scalar" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "ark-std", + "ark-transcript", + "digest 0.10.7", + "getrandom_or_panic", + "zeroize", +] + [[package]] name = "ark-serialize" version = "0.4.2" @@ -417,6 +575,20 @@ checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", "rand 0.8.5", + "rayon", +] + +[[package]] +name = "ark-transcript" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "digest 0.10.7", + "rand_core 0.6.4", + "sha3", ] [[package]] @@ -587,7 +759,7 @@ dependencies = [ "bytes", "futures", "paste", - "prost 0.12.4", + "prost 0.12.6", "tokio", "tonic 0.10.2", ] @@ -780,16 +952,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener-strategy 0.5.2", + "event-listener-strategy", "futures-core", "pin-project-lite 0.2.14", ] [[package]] name = "async-executor" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" +checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" dependencies = [ "async-task", "concurrent-queue", @@ -804,7 +976,7 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" dependencies = [ - "async-lock 3.3.0", + "async-lock", "blocking", "futures-lite", ] @@ -827,7 +999,7 @@ dependencies = [ "fast_chemail", "fnv", "futures-util", - "handlebars 5.1.2", + "handlebars", "http 1.1.0", "indexmap 2.2.6", "mime", @@ -859,7 +1031,7 @@ dependencies = [ "proc-macro2", "quote", "strum 0.26.2", - "syn 2.0.64", + "syn 2.0.66", "thiserror", ] @@ -906,11 +1078,11 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ - "async-lock 3.3.0", + "async-lock", "cfg-if", "concurrent-queue", "futures-io", @@ -925,21 +1097,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" -dependencies = [ - "event-listener 2.5.3", -] - -[[package]] -name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener 5.3.1", + "event-listener-strategy", "pin-project-lite 0.2.14", ] @@ -956,18 +1119,18 @@ dependencies = [ [[package]] name = "async-process" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53fc6301894e04a92cb2584fedde80cb25ba8e02d9dc39d4a87d036e22f397d" +checksum = "f7eda79bbd84e29c2b308d1dc099d7de8dcc7035e48f4bf5dc4a531a44ff5e2a" dependencies = [ "async-channel 2.3.1", "async-io", - "async-lock 3.3.0", + "async-lock", "async-signal", "async-task", "blocking", "cfg-if", - "event-listener 5.3.0", + "event-listener 5.3.1", "futures-lite", "rustix 0.38.34", "tracing", @@ -976,12 +1139,12 @@ dependencies = [ [[package]] name = "async-signal" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda" +checksum = "329972aa325176e89114919f2a80fdae4f4c040f66a370b1a1159c6c0f94e7aa" dependencies = [ "async-io", - "async-lock 3.3.0", + "async-lock", "atomic-waker", "cfg-if", "futures-core", @@ -1022,7 +1185,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -1039,7 +1202,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -1137,19 +1300,42 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" dependencies = [ - "addr2line 0.21.0", + "addr2line 0.22.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.32.2", + "object 0.35.0", "rustc-demangle", ] +[[package]] +name = "bandersnatch_vrfs" +version = "0.0.4" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-bls12-381", + "ark-ec", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ff", + "ark-serialize", + "ark-std", + "dleq_vrf", + "fflonk", + "merlin 3.0.0", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "ring 0.1.0", + "sha2 0.10.8", + "sp-ark-bls12-381", + "sp-ark-ed-on-bls12-381-bandersnatch", + "zeroize", +] + [[package]] name = "base-x" version = "0.2.11" @@ -1234,7 +1420,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -1243,7 +1429,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" dependencies = [ - "bitcoin_hashes", + "bitcoin_hashes 0.11.0", "rand 0.8.5", "rand_core 0.6.4", "serde", @@ -1265,12 +1451,28 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bitcoin-internals" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" + [[package]] name = "bitcoin_hashes" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" +[[package]] +name = "bitcoin_hashes" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" +dependencies = [ + "bitcoin-internals", + "hex-conservative", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -1402,12 +1604,11 @@ dependencies = [ [[package]] name = "blocking" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ "async-channel 2.3.1", - "async-lock 3.3.0", "async-task", "futures-io", "futures-lite", @@ -1437,6 +1638,18 @@ dependencies = [ "serde", ] +[[package]] +name = "bounded-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d32385ecb91a31bddaf908e8dcf4a15aef1bcd3913cc03ebfad02ff6d568abc1" +dependencies = [ + "log", + "parity-scale-codec", + "scale-info", + "serde", +] + [[package]] name = "bs58" version = "0.4.0" @@ -1506,13 +1719,13 @@ dependencies = [ [[package]] name = "bytemuck_derive" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" +checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -1635,9 +1848,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.97" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" dependencies = [ "jobserver", "libc", @@ -1727,7 +1940,7 @@ dependencies = [ "clap 3.2.25", "clap_complete", "colored_json", - "common", + "common 0.7.5", "const_format", "diesel", "dotenvy", @@ -1785,13 +1998,13 @@ dependencies = [ "chronicle-telemetry", "chronicle-test-infrastructure", "chrono", - "common", + "common 0.7.5", "diesel", "futures", "insta", "lazy_static", "portpicker", - "prost-types 0.12.4", + "prost-types 0.12.6", "r2d2", "serde", "serde_arrow", @@ -1842,7 +2055,7 @@ dependencies = [ "chronicle-signing", "chronicle-telemetry", "chronicle-test-infrastructure", - "common", + "common 0.7.5", "embedded-substrate", "futures", "hex", @@ -1864,7 +2077,7 @@ dependencies = [ "async-graphql", "async-trait", "chrono", - "common", + "common 0.7.5", "derivative", "diesel", "diesel_migrations", @@ -1902,7 +2115,7 @@ dependencies = [ "assert_fs", "chronicle", "clap 3.2.25", - "common", + "common 0.7.5", "insta", "maplit", "owo-colors", @@ -1938,7 +2151,7 @@ dependencies = [ "chronicle-signing", "chronicle-telemetry", "chrono", - "common", + "common 0.7.5", "diesel", "frame-support", "frame-system", @@ -1954,9 +2167,9 @@ dependencies = [ "r2d2", "scale-info", "serde_json", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "subxt", "tempfile", "testcontainers", @@ -2065,15 +2278,30 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", "libloading", ] +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags 1.3.2", + "strsim 0.8.0", + "textwrap 0.11.0", + "unicode-width", + "vec_map", +] + [[package]] name = "clap" version = "3.2.25" @@ -2088,7 +2316,7 @@ dependencies = [ "once_cell", "strsim 0.10.0", "termcolor", - "textwrap", + "textwrap 0.16.1", ] [[package]] @@ -2111,6 +2339,7 @@ dependencies = [ "anstyle", "clap_lex 0.7.0", "strsim 0.11.1", + "terminal_size", ] [[package]] @@ -2144,7 +2373,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -2211,6 +2440,22 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "common" +version = "0.1.0" +source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "fflonk", + "getrandom_or_panic", + "merlin 3.0.0", + "rand_chacha 0.3.1", +] + [[package]] name = "common" version = "0.7.5" @@ -2300,8 +2545,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787" dependencies = [ "futures-core", - "prost 0.12.4", - "prost-types 0.12.4", + "prost 0.12.6", + "prost-types 0.12.6", "tonic 0.10.2", "tracing-core", ] @@ -2318,7 +2563,7 @@ dependencies = [ "futures-task", "hdrhistogram", "humantime", - "prost-types 0.12.4", + "prost-types 0.12.6", "serde", "serde_json", "thread_local", @@ -2473,7 +2718,7 @@ dependencies = [ "gimli 0.27.3", "hashbrown 0.13.2", "log", - "regalloc2", + "regalloc2 0.6.1", "smallvec", "target-lexicon", ] @@ -2549,9 +2794,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -2596,9 +2841,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -2633,9 +2878,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -2789,7 +3034,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -2822,7 +3067,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -2839,7 +3084,7 @@ checksum = "928bc249a7e3cd554fd2e8e08a426e9670c50bbfc9a621653cfa9accc9641783" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -2911,7 +3156,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -2944,7 +3189,20 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core 0.20.9", "quote", - "syn 2.0.64", + "syn 2.0.66", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core 0.9.10", ] [[package]] @@ -3053,7 +3311,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -3102,9 +3360,9 @@ dependencies = [ [[package]] name = "diesel" -version = "2.1.6" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff236accb9a5069572099f0b350a92e9560e8e63a9b8d546162f4a5e03026bb2" +checksum = "35b696af9ff4c0d2a507db2c5faafa8aa0205e297e5f11e203a24226d5355e7a" dependencies = [ "bitflags 2.5.0", "byteorder", @@ -3118,21 +3376,22 @@ dependencies = [ [[package]] name = "diesel_derives" -version = "2.1.4" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14701062d6bed917b5c7103bdffaee1e4609279e240488ad24e7bd979ca6866c" +checksum = "0d6fdd83d5947068817016e939596d246e5367279453f2a3433287894f2f2996" dependencies = [ "diesel_table_macro_syntax", + "dsl_auto_type", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] name = "diesel_migrations" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6036b3f0120c5961381b570ee20a02432d7e2d27ea60de9578799cf9156914ac" +checksum = "8a73ce704bad4231f001bff3314d91dce4aba0770cee8b233991859abc15c1f6" dependencies = [ "diesel", "migrations_internals", @@ -3141,11 +3400,11 @@ dependencies = [ [[package]] name = "diesel_table_macro_syntax" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5" +checksum = "209c735641a413bc68c4923a9d6ad4bcb3ca306b794edaa7eb0b3228a99ffb25" dependencies = [ - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -3253,7 +3512,23 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", +] + +[[package]] +name = "dleq_vrf" +version = "0.0.2" +source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-scale", + "ark-secret-scalar", + "ark-serialize", + "ark-std", + "ark-transcript", + "arrayvec 0.7.4", + "zeroize", ] [[package]] @@ -3283,7 +3558,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.64", + "syn 2.0.66", "termcolor", "toml 0.8.13", "walkdir", @@ -3308,13 +3583,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] -name = "dtoa" -version = "1.0.9" +name = "dsl_auto_type" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" - -[[package]] -name = "dyn-clonable" +checksum = "ab32c18ea6760d951659768a3e35ea72fc1ba0916d665a88dfe048b2a41e543f" +dependencies = [ + "darling 0.20.9", + "either", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "dtoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" + +[[package]] +name = "dyn-clonable" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4" @@ -3349,7 +3638,7 @@ dependencies = [ "der 0.6.1", "elliptic-curve 0.12.3", "rfc6979 0.3.1", - "serdect", + "serdect 0.1.0", "signature 1.6.4", ] @@ -3363,6 +3652,7 @@ dependencies = [ "digest 0.10.7", "elliptic-curve 0.13.8", "rfc6979 0.4.0", + "serdect 0.2.0", "signature 2.2.0", "spki 0.7.3", ] @@ -3423,9 +3713,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "elliptic-curve" @@ -3444,7 +3734,7 @@ dependencies = [ "pkcs8 0.9.0", "rand_core 0.6.4", "sec1 0.3.0", - "serdect", + "serdect 0.1.0", "subtle 2.5.0", "zeroize", ] @@ -3464,6 +3754,7 @@ dependencies = [ "pkcs8 0.10.2", "rand_core 0.6.4", "sec1 0.7.3", + "serdect 0.2.0", "subtle 2.5.0", "zeroize", ] @@ -3481,8 +3772,8 @@ dependencies = [ "protocol-substrate", "protocol-substrate-chronicle", "sc-cli", - "sp-io 27.0.0", - "sp-runtime 28.0.0", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "subxt", "tempfile", "thiserror", @@ -3572,38 +3863,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" dependencies = [ "concurrent-queue", - "parking", "pin-project-lite 0.2.14", ] [[package]] name = "event-listener" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", "pin-project-lite 0.2.14", ] -[[package]] -name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite 0.2.14", -] - [[package]] name = "event-listener-strategy" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.0", + "event-listener 5.3.1", "pin-project-lite 0.2.14", ] @@ -3627,7 +3907,7 @@ dependencies = [ "prettier-please", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -3642,6 +3922,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + [[package]] name = "fancy-regex" version = "0.11.0" @@ -3669,11 +3955,12 @@ checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fdlimit" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4c9e43643f5a3be4ca5b67d26b98031ff9db6806c3440ae32e02e3ceac3f1b" +checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", + "thiserror", ] [[package]] @@ -3696,6 +3983,19 @@ dependencies = [ "subtle 2.5.0", ] +[[package]] +name = "fflonk" +version = "0.1.0" +source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "merlin 3.0.0", +] + [[package]] name = "fiat-crypto" version = "0.2.9" @@ -3736,7 +4036,7 @@ dependencies = [ "log", "num-traits", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "scale-info", ] @@ -3811,9 +4111,8 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2d0a4310dcf0e5cce78e35e60dc2fda80ef61c8f8fc382e685dfc24fcf5db9" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", ] @@ -3845,9 +4144,8 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dd4946d63eab00d899f08a7e74e965cc6785c2298efaea6a2752905f4810407" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-support", "frame-support-procedural", @@ -3859,21 +4157,20 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-runtime-interface 21.0.0", - "sp-std 12.0.0", - "sp-storage 17.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" -version = "29.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e51c371bff90ba44767a79e72a036d7d648cee621cd2fe9f693e8c1d62941e" +version = "32.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -3884,7 +4181,7 @@ dependencies = [ "frame-support", "frame-system", "gethostname", - "handlebars 4.5.0", + "handlebars", "itertools 0.10.5", "lazy_static", "linked-hash-map", @@ -3903,38 +4200,38 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-database", - "sp-externalities 0.23.0", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-io 27.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "sp-storage 17.0.0", - "sp-trie 26.0.0", - "sp-wasm-interface 18.0.0", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", "thousands", ] [[package]] name = "frame-executive" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dda2c20ea3267ee20c9a5482f320236510c4ade6aec1dd930cb57dc5651c64f" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ + "aquamarine 0.3.3", "frame-support", "frame-system", "frame-try-runtime", "log", "parity-scale-codec", "scale-info", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-tracing 14.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] @@ -3962,20 +4259,20 @@ dependencies = [ [[package]] name = "frame-remote-externalities" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a30013df51f4d4e58472c4fecdbfeb141234ece5f6355e5b3a3e51d3f87d452d" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "futures", "indicatif", - "jsonrpsee 0.16.3", + "jsonrpsee 0.22.5", "log", "parity-scale-codec", "serde", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-crypto-hashing", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "spinners", "substrate-rpc-client", "tokio", @@ -3984,11 +4281,11 @@ dependencies = [ [[package]] name = "frame-support" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "023504bbdd0e8d1ebe3d9d289b009337cdb9a24c5e74615ffd7b188aa1664c2d" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ - "aquamarine", + "aquamarine 0.5.0", + "array-bytes 6.2.3", "bitflags 1.3.2", "docify", "environmental", @@ -4005,29 +4302,28 @@ dependencies = [ "serde_json", "smallvec", "sp-api", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-core-hashing-proc-macro", - "sp-debug-derive 12.0.0", + "sp-arithmetic 23.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-crypto-hashing-proc-macro", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-genesis-builder", "sp-inherents", - "sp-io 27.0.0", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-metadata-ir", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-staking", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-tracing 14.0.0", - "sp-weights 24.0.0", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-weights 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "static_assertions", "tt-call", ] [[package]] name = "frame-support-procedural" -version = "20.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6bc383298353ff2790ac1a301262c21ac196dbc26ef67a2213c46524a06dd1" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "Inflector", "cfg-expr", @@ -4039,75 +4335,71 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "sp-core-hashing 13.0.0", - "syn 2.0.64", + "sp-crypto-hashing", + "syn 2.0.66", ] [[package]] name = "frame-support-procedural-tools" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3ac1266522a8c9a2d2d26d205ec3028b88582d5f3cd5cbc75d0ec8271d197b7" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] name = "frame-support-procedural-tools-derive" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c078db2242ea7265faa486004e7fd8daaf1a577cfcac0070ce55d926922883" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] name = "frame-system" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57e316407c45a5093c833966a906301aa0dcbd05048061cd9cde2548d017bfd9" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "cfg-if", + "docify", "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-version", - "sp-weights 24.0.0", + "sp-weights 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "frame-system-benchmarking" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b1388055d29a7a1c4d41b1623d3fcbc9d7f31d17abe04500b270b26901d926" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "frame-system-rpc-runtime-api" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17572a34fd866ad6cab6977a2c30b38645e0a499b3486de00ae9103f7002d6d3" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", "sp-api", @@ -4115,15 +4407,14 @@ dependencies = [ [[package]] name = "frame-try-runtime" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f082e770275f9b46ddf46b09bc7a993f84db691c39d9e4d038ac07443cb17a18" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-support", "parity-scale-codec", "sp-api", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] @@ -4221,7 +4512,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -4388,7 +4679,7 @@ version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" dependencies = [ - "fallible-iterator", + "fallible-iterator 0.2.0", "indexmap 1.9.3", "stable_deref_trait", ] @@ -4398,6 +4689,16 @@ name = "gimli" version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +dependencies = [ + "fallible-iterator 0.3.0", + "stable_deref_trait", +] + +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "glob" @@ -4429,6 +4730,26 @@ dependencies = [ "walkdir", ] +[[package]] +name = "governor" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +dependencies = [ + "cfg-if", + "dashmap", + "futures", + "futures-timer", + "no-std-compat", + "nonzero_ext", + "parking_lot 0.12.3", + "portable-atomic", + "quanta", + "rand 0.8.5", + "smallvec", + "spinning_top", +] + [[package]] name = "gq-ws" version = "0.7.5" @@ -4484,15 +4805,15 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", "http 1.1.0", "indexmap 2.2.6", "slab", @@ -4513,20 +4834,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "handlebars" -version = "4.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faa67bab9ff362228eb3d00bd024a4965d8231bbb7921167f0cfa66c6626b225" -dependencies = [ - "log", - "pest", - "pest_derive", - "serde", - "serde_json", - "thiserror", -] - [[package]] name = "handlebars" version = "5.1.2" @@ -4631,6 +4938,15 @@ dependencies = [ "http 1.1.0", ] +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "heck" version = "0.4.1" @@ -4664,6 +4980,12 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hex-conservative" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" + [[package]] name = "hkdf" version = "0.12.4" @@ -4846,7 +5168,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.4", + "h2 0.4.5", "http 1.1.0", "http-body 1.0.0", "httparse", @@ -4872,7 +5194,6 @@ dependencies = [ "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", - "webpki-roots 0.25.4", ] [[package]] @@ -4918,9 +5239,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" dependencies = [ "bytes", "futures-channel", @@ -5147,9 +5468,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] @@ -5457,21 +5778,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "jsonrpsee" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "367a292944c07385839818bb71c8d76611138e2dedb0677d035b8da21d29c78b" -dependencies = [ - "jsonrpsee-core 0.16.3", - "jsonrpsee-http-client 0.16.3", - "jsonrpsee-proc-macros", - "jsonrpsee-server", - "jsonrpsee-types 0.16.3", - "jsonrpsee-ws-client", - "tracing", -] - [[package]] name = "jsonrpsee" version = "0.21.0" @@ -5484,36 +5790,52 @@ dependencies = [ "jsonrpsee-types 0.21.0", ] +[[package]] +name = "jsonrpsee" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfdb12a2381ea5b2e68c3469ec604a007b367778cdb14d09612c8069ebd616ad" +dependencies = [ + "jsonrpsee-core 0.22.5", + "jsonrpsee-http-client 0.22.5", + "jsonrpsee-proc-macros", + "jsonrpsee-server", + "jsonrpsee-types 0.22.5", + "jsonrpsee-ws-client", + "tokio", + "tracing", +] + [[package]] name = "jsonrpsee-client-transport" -version = "0.16.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8b3815d9f5d5de348e5f162b316dc9cdf4548305ebb15b4eb9328e66cf27d7a" +checksum = "3f9f9ed46590a8d5681975f126e22531698211b926129a40a2db47cbca429220" dependencies = [ "futures-util", "http 0.2.12", - "jsonrpsee-core 0.16.3", - "jsonrpsee-types 0.16.3", + "jsonrpsee-core 0.21.0", "pin-project", - "rustls-native-certs 0.6.3", + "rustls-native-certs 0.7.0", + "rustls-pki-types", "soketto", "thiserror", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls 0.25.0", "tokio-util", "tracing", - "webpki-roots 0.25.4", + "url", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.21.0" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9f9ed46590a8d5681975f126e22531698211b926129a40a2db47cbca429220" +checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa" dependencies = [ "futures-util", "http 0.2.12", - "jsonrpsee-core 0.21.0", + "jsonrpsee-core 0.22.5", "pin-project", "rustls-native-certs 0.7.0", "rustls-pki-types", @@ -5528,47 +5850,44 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.16.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5dde66c53d6dcdc8caea1874a45632ec0fcf5b437789f1e45766a1512ce803" +checksum = "776d009e2f591b78c038e0d053a796f94575d66ca4e77dd84bfc5e81419e436c" dependencies = [ "anyhow", - "arrayvec 0.7.4", - "async-lock 2.8.0", + "async-lock", "async-trait", "beef", - "futures-channel", "futures-timer", "futures-util", - "globset", "hyper 0.14.28", - "jsonrpsee-types 0.16.3", - "parking_lot 0.12.2", - "rand 0.8.5", + "jsonrpsee-types 0.21.0", + "pin-project", "rustc-hash", "serde", "serde_json", - "soketto", "thiserror", "tokio", + "tokio-stream", "tracing", ] [[package]] name = "jsonrpsee-core" -version = "0.21.0" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "776d009e2f591b78c038e0d053a796f94575d66ca4e77dd84bfc5e81419e436c" +checksum = "b4b257e1ec385e07b0255dde0b933f948b5c8b8c28d42afda9587c3a967b896d" dependencies = [ "anyhow", - "async-lock 3.3.0", "async-trait", "beef", "futures-timer", "futures-util", "hyper 0.14.28", - "jsonrpsee-types 0.21.0", + "jsonrpsee-types 0.22.5", + "parking_lot 0.12.3", "pin-project", + "rand 0.8.5", "rustc-hash", "serde", "serde_json", @@ -5580,34 +5899,35 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.16.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e5f9fabdd5d79344728521bb65e3106b49ec405a78b66fbff073b72b389fa43" +checksum = "78b7de9f3219d95985eb77fd03194d7c1b56c19bce1abfcc9d07462574b15572" dependencies = [ "async-trait", "hyper 0.14.28", "hyper-rustls", - "jsonrpsee-core 0.16.3", - "jsonrpsee-types 0.16.3", - "rustc-hash", + "jsonrpsee-core 0.21.0", + "jsonrpsee-types 0.21.0", "serde", "serde_json", "thiserror", "tokio", + "tower", "tracing", + "url", ] [[package]] name = "jsonrpsee-http-client" -version = "0.21.0" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b7de9f3219d95985eb77fd03194d7c1b56c19bce1abfcc9d07462574b15572" +checksum = "1ccf93fc4a0bfe05d851d37d7c32b7f370fe94336b52a2f0efc5f1981895c2e5" dependencies = [ "async-trait", "hyper 0.14.28", "hyper-rustls", - "jsonrpsee-core 0.21.0", - "jsonrpsee-types 0.21.0", + "jsonrpsee-core 0.22.5", + "jsonrpsee-types 0.22.5", "serde", "serde_json", "thiserror", @@ -5619,32 +5939,34 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.16.3" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44e8ab85614a08792b9bff6c8feee23be78c98d0182d4c622c05256ab553892a" +checksum = "7d0bb047e79a143b32ea03974a6bf59b62c2a4c5f5d42a381c907a8bbb3f75c0" dependencies = [ "heck 0.4.1", - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.66", ] [[package]] name = "jsonrpsee-server" -version = "0.16.3" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4d945a6008c9b03db3354fb3c83ee02d2faa9f2e755ec1dfb69c3551b8f4ba" +checksum = "12d8b6a9674422a8572e0b0abb12feeb3f2aeda86528c80d0350c2bd0923ab41" dependencies = [ - "futures-channel", "futures-util", "http 0.2.12", "hyper 0.14.28", - "jsonrpsee-core 0.16.3", - "jsonrpsee-types 0.16.3", + "jsonrpsee-core 0.22.5", + "jsonrpsee-types 0.22.5", + "pin-project", + "route-recognizer", "serde", "serde_json", "soketto", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -5654,23 +5976,22 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245ba8e5aa633dd1c1e4fae72bce06e71f42d34c14a2767c6b4d173b57bee5e5" +checksum = "3266dfb045c9174b24c77c2dfe0084914bb23a6b2597d70c9dc6018392e1cd1b" dependencies = [ "anyhow", "beef", "serde", "serde_json", "thiserror", - "tracing", ] [[package]] name = "jsonrpsee-types" -version = "0.21.0" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3266dfb045c9174b24c77c2dfe0084914bb23a6b2597d70c9dc6018392e1cd1b" +checksum = "150d6168405890a7a3231a3c74843f58b8959471f6df76078db2619ddee1d07d" dependencies = [ "anyhow", "beef", @@ -5681,14 +6002,15 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.16.3" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e1b3975ed5d73f456478681a417128597acd6a2487855fdb7b4a3d4d195bf5e" +checksum = "58b9db2dfd5bb1194b0ce921504df9ceae210a345bc2f6c5a61432089bbab070" dependencies = [ "http 0.2.12", - "jsonrpsee-client-transport 0.16.3", - "jsonrpsee-core 0.16.3", - "jsonrpsee-types 0.16.3", + "jsonrpsee-client-transport 0.22.5", + "jsonrpsee-core 0.22.5", + "jsonrpsee-types 0.22.5", + "url", ] [[package]] @@ -5710,7 +6032,7 @@ dependencies = [ "memchr", "num-cmp", "once_cell", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "percent-encoding", "regex", "reqwest", @@ -5757,7 +6079,7 @@ dependencies = [ "cfg-if", "ecdsa 0.14.8", "elliptic-curve 0.12.3", - "serdect", + "serdect 0.1.0", "sha2 0.10.8", "sha3", ] @@ -5772,6 +6094,7 @@ dependencies = [ "ecdsa 0.16.9", "elliptic-curve 0.13.8", "once_cell", + "serdect 0.2.0", "sha2 0.10.8", ] @@ -5806,7 +6129,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7a85fe66f9ff9cd74e169fdd2c94c6e1e74c412c99a73b4df3200b5d3760b2" dependencies = [ "kvdb", - "parking_lot 0.12.2", + "parking_lot 0.12.3", ] [[package]] @@ -5817,7 +6140,7 @@ checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" dependencies = [ "kvdb", "num_cpus", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "regex", "rocksdb", "smallvec", @@ -5919,9 +6242,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.154" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" @@ -6013,7 +6336,7 @@ dependencies = [ "multihash", "multistream-select", "once_cell", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "pin-project", "quick-protobuf", "rand 0.8.5", @@ -6033,7 +6356,7 @@ dependencies = [ "futures", "libp2p-core", "log", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "smallvec", "trust-dns-resolver", ] @@ -6195,7 +6518,7 @@ dependencies = [ "libp2p-identity", "libp2p-tls", "log", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "quinn-proto", "rand 0.8.5", "rustls 0.20.9", @@ -6311,7 +6634,7 @@ dependencies = [ "futures-rustls", "libp2p-core", "log", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "quicksink", "rw-stream-sink", "soketto", @@ -6407,9 +6730,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.16" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" dependencies = [ "cc", "pkg-config", @@ -6457,9 +6780,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lioness" @@ -6582,7 +6905,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -6596,7 +6919,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -6607,7 +6930,7 @@ checksum = "9ea73aa640dc01d62a590d48c0c3521ed739d53b27f919b25c3551e233481654" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -6618,7 +6941,7 @@ checksum = "ef9d79ae96aaba821963320eb2b6e34d17df1e5a83d8a1985c29cc5be59577b3" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -6697,6 +7020,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" version = "0.6.5" @@ -6796,19 +7128,19 @@ dependencies = [ [[package]] name = "migrations_internals" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f23f71580015254b020e856feac3df5878c2c7a8812297edd6c0a485ac9dada" +checksum = "fd01039851e82f8799046eabbb354056283fb265c8ec0996af940f4e85a380ff" dependencies = [ "serde", - "toml 0.7.8", + "toml 0.8.13", ] [[package]] name = "migrations_macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce3325ac70e67bbab5bd837a31cae01f1a6db64e0e744a33cb03a543469ef08" +checksum = "ffb161cc72176cb37aa47f1fc520d3ef02263d67d661f44f05d05a079e1237fd" dependencies = [ "migrations_internals", "proc-macro2", @@ -6829,9 +7161,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" dependencies = [ "adler", ] @@ -6863,7 +7195,7 @@ dependencies = [ "hashlink", "lioness", "log", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rand 0.8.5", "rand_chacha 0.3.1", "rand_distr", @@ -7051,20 +7383,19 @@ dependencies = [ [[package]] name = "names" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d66043b25d4a6cccb23619d10c19c25304b355a7dccd4a8e11423dd2382146" +checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" dependencies = [ "rand 0.8.5", ] [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -7187,6 +7518,12 @@ dependencies = [ "libc", ] +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + [[package]] name = "no-std-net" version = "0.5.0" @@ -7204,14 +7541,18 @@ checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" [[package]] name = "node-chronicle" -version = "4.0.0-dev" +version = "0.1.0" dependencies = [ "clap 4.5.4", + "common 0.7.5", "frame-benchmarking", "frame-benchmarking-cli", "frame-system", "futures", - "jsonrpsee 0.16.3", + "jsonrpsee 0.22.5", + "pallet-chronicle", + "pallet-im-online", + "pallet-session", "runtime-chronicle", "sc-basic-authorship", "sc-cli", @@ -7233,12 +7574,13 @@ dependencies = [ "sp-blockchain", "sp-consensus-aura", "sp-consensus-grandpa", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-io 27.0.0", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-keyring", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-timestamp", + "structopt", "substrate-build-script-utils", "substrate-frame-rpc-system", "tracing", @@ -7267,6 +7609,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -7445,6 +7793,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "object" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" +dependencies = [ + "memchr", +] + [[package]] name = "oid-registry" version = "0.6.1" @@ -7493,7 +7850,7 @@ dependencies = [ "chronicle-signing", "chronicle-telemetry", "clap 4.5.4", - "common", + "common 0.7.5", "const_format", "frame-support", "frame-system", @@ -7515,9 +7872,9 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "subxt", "tempfile", "thiserror", @@ -7564,7 +7921,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -7625,7 +7982,7 @@ dependencies = [ "opentelemetry-proto", "opentelemetry-semantic-conventions", "opentelemetry_sdk", - "prost 0.12.4", + "prost 0.12.6", "thiserror", "tokio", "tonic 0.11.0", @@ -7639,7 +7996,7 @@ checksum = "3a8fddc9b68f5b80dae9d6f510b88e02396f006ad48cac349411fbecc80caae4" dependencies = [ "opentelemetry", "opentelemetry_sdk", - "prost 0.12.4", + "prost 0.12.6", "tonic 0.11.0", ] @@ -7704,9 +8061,8 @@ checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" [[package]] name = "pallet-aura" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04fbef67cf62445b7fd8e68241e6b71d9fb8c77abb3d52259eebf525a4cd5586" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-support", "frame-system", @@ -7714,25 +8070,24 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 27.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-consensus-aura", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "pallet-authorship" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d38eab59f7d15fe43c81fc3cd92f4c1f895ca6d0efb74fc2a6d6d7d3d34d413" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] @@ -7740,7 +8095,7 @@ name = "pallet-chronicle" version = "0.7.5" dependencies = [ "chronicle-telemetry", - "common", + "common 0.7.5", "frame-benchmarking", "frame-support", "frame-system", @@ -7749,20 +8104,19 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 25.0.0", - "sp-core-hashing 14.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-core-hashing 15.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "tracing", "uuid 1.8.0", ] [[package]] name = "pallet-grandpa" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87c7f4cd94a526054dfebf7a84fbcaf6385033defa246ad83e321e71f8c5a92" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-benchmarking", "frame-support", @@ -7772,14 +8126,34 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 27.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-consensus-grandpa", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-session", "sp-staking", - "sp-std 12.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", +] + +[[package]] +name = "pallet-im-online" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "parity-scale-codec", + "scale-info", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-staking", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] @@ -7787,7 +8161,7 @@ name = "pallet-opa" version = "0.7.5" dependencies = [ "chronicle-telemetry", - "common", + "common 0.7.5", "frame-benchmarking", "frame-support", "frame-system", @@ -7798,20 +8172,19 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 25.0.0", - "sp-core-hashing 14.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-core-hashing 15.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "tracing", "uuid 1.8.0", ] [[package]] name = "pallet-session" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "768a6fb5333efc2bd2a3538c1d6ffa4178398660d4e3be89f2eb82d4e9088ae6" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-support", "frame-system", @@ -7820,21 +8193,20 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-session", "sp-staking", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "pallet-sudo" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcec9f73ecb8d0439a13043a253a9fd90aa6bf5aece6470194bbfc7f79256d88" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "docify", "frame-benchmarking", @@ -7842,16 +8214,15 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "pallet-timestamp" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b25ec8749cf3f481b5e5199be701bac0dea835851b83fc7c455192762711858d" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "docify", "frame-benchmarking", @@ -7861,13 +8232,26 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io 27.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-storage 17.0.0", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-timestamp", ] +[[package]] +name = "parity-bip39" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" +dependencies = [ + "bitcoin_hashes 0.13.0", + "rand 0.8.5", + "rand_core 0.6.4", + "serde", + "unicode-normalization", +] + [[package]] name = "parity-db" version = "0.4.13" @@ -7881,8 +8265,8 @@ dependencies = [ "libc", "log", "lz4", - "memmap2", - "parking_lot 0.12.2", + "memmap2 0.5.10", + "parking_lot 0.12.3", "rand 0.8.5", "siphasher 0.3.11", "snap", @@ -7947,9 +8331,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core 0.9.10", @@ -7997,6 +8381,17 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" +[[package]] +name = "password-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle 2.5.0", +] + [[package]] name = "paste" version = "1.0.15" @@ -8028,6 +8423,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", + "password-hash", ] [[package]] @@ -8106,7 +8502,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -8223,7 +8619,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -8246,9 +8642,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" dependencies = [ "atomic-waker", "fastrand", @@ -8289,9 +8685,9 @@ checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" [[package]] name = "plotters" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" +checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" dependencies = [ "num-traits", "plotters-backend", @@ -8302,24 +8698,24 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" +checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" [[package]] name = "plotters-svg" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" +checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" dependencies = [ "plotters-backend", ] [[package]] name = "poem" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b735eaaaa6bc7ed2dcbcab1d5373afe1f6d03a37d8695ba3c42101f733a8455" +checksum = "e88b6912ed1e8833d7c22c9c986c517f4518d7d37e3c04566d917c789aaea591" dependencies = [ "base64 0.22.1", "bytes", @@ -8334,7 +8730,7 @@ dependencies = [ "opentelemetry", "opentelemetry-http", "opentelemetry-semantic-conventions", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "percent-encoding", "pin-project-lite 0.2.14", "poem-derive", @@ -8362,14 +8758,97 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", +] + +[[package]] +name = "polkavm" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3693e5efdb2bf74e449cd25fd777a28bd7ed87e41f5d5da75eb31b4de48b94" +dependencies = [ + "libc", + "log", + "polkavm-assembler", + "polkavm-common", + "polkavm-linux-raw", +] + +[[package]] +name = "polkavm-assembler" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa96d6d868243acc12de813dd48e756cbadcc8e13964c70d272753266deadc1" +dependencies = [ + "log", +] + +[[package]] +name = "polkavm-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92" +dependencies = [ + "log", +] + +[[package]] +name = "polkavm-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606" +dependencies = [ + "polkavm-derive-impl-macro", +] + +[[package]] +name = "polkavm-derive-impl" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c" +dependencies = [ + "polkavm-common", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "polkavm-derive-impl-macro" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" +dependencies = [ + "polkavm-derive-impl", + "syn 2.0.66", ] +[[package]] +name = "polkavm-linker" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c7be503e60cf56c0eb785f90aaba4b583b36bff00e93997d93fef97f9553c39" +dependencies = [ + "gimli 0.28.1", + "hashbrown 0.14.5", + "log", + "object 0.32.2", + "polkavm-common", + "regalloc2 0.9.3", + "rustc-demangle", +] + +[[package]] +name = "polkavm-linux-raw" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120" + [[package]] name = "polling" -version = "3.7.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" dependencies = [ "cfg-if", "concurrent-queue", @@ -8432,9 +8911,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "pq-sys" -version = "0.4.8" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c0052426df997c0cbd30789eb44ca097e3541717a7b8fa36b1c464ee7edebd" +checksum = "5576e3fa8738e1a71285f7211ff83458514aa4864aa34c2bdb422445448d4c4b" dependencies = [ "vcpkg", ] @@ -8487,7 +8966,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" dependencies = [ "proc-macro2", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -8516,7 +8995,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -8597,14 +9076,14 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] name = "proc-macro2" -version = "1.0.82" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" +checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" dependencies = [ "unicode-ident", ] @@ -8619,7 +9098,7 @@ dependencies = [ "fnv", "lazy_static", "memchr", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "thiserror", ] @@ -8631,7 +9110,7 @@ checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" dependencies = [ "dtoa", "itoa", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "prometheus-client-derive-encode", ] @@ -8643,7 +9122,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -8678,12 +9157,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", - "prost-derive 0.12.4", + "prost-derive 0.12.6", ] [[package]] @@ -8723,15 +9202,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -8745,11 +9224,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ - "prost 0.12.4", + "prost 0.12.6", ] [[package]] @@ -8775,7 +9254,7 @@ dependencies = [ "anyhow", "async-trait", "chronicle-signing", - "common", + "common 0.7.5", "derivative", "futures", "hex", @@ -8798,7 +9277,7 @@ dependencies = [ "chronicle-signing", "chronicle-telemetry", "clap_builder", - "common", + "common 0.7.5", "embedded-substrate", "futures", "hex", @@ -8823,7 +9302,7 @@ version = "0.7.5" dependencies = [ "async-trait", "chronicle-signing", - "common", + "common 0.7.5", "derivative", "futures", "glob", @@ -8846,9 +9325,9 @@ dependencies = [ [[package]] name = "psl" -version = "2.1.39" +version = "2.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b320cda4ad7e8f4269fa415754418f83b38c666a5e2e99ea48825b274a373f3" +checksum = "1974a879d346d076e35208ba95a747484936715433227ee27e4b271a981bca5b" dependencies = [ "psl-types", ] @@ -8962,7 +9441,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51de85fb3fb6524929c8a2eb85e6b6d363de4e8c48f9e2c2eac4944abc181c93" dependencies = [ "log", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "scheduled-thread-pool", ] @@ -9197,7 +9676,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -9212,6 +9691,19 @@ dependencies = [ "smallvec", ] +[[package]] +name = "regalloc2" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad156d539c879b7a24a363a2016d77961786e71f48f2e2fc8302a92abd2429a6" +dependencies = [ + "hashbrown 0.13.2", + "log", + "rustc-hash", + "slice-group-by", + "smallvec", +] + [[package]] name = "regex" version = "1.10.4" @@ -9346,6 +9838,22 @@ dependencies = [ "uncased", ] +[[package]] +name = "ring" +version = "0.1.0" +source = "git+https://github.com/w3f/ring-proof#b273d33f9981e2bb3375ab45faeb537f7ee35224" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "blake2 0.10.6", + "common 0.1.0", + "fflonk", + "merlin 3.0.0", +] + [[package]] name = "ring" version = "0.16.20" @@ -9386,6 +9894,12 @@ dependencies = [ "librocksdb-sys", ] +[[package]] +name = "route-recognizer" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" + [[package]] name = "rpassword" version = "7.3.1" @@ -9437,9 +9951,9 @@ dependencies = [ name = "runtime-api-chronicle" version = "1.0.0" dependencies = [ - "common", + "common 0.7.5", "sp-api", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] @@ -9456,7 +9970,9 @@ dependencies = [ "pallet-aura", "pallet-chronicle", "pallet-grandpa", + "pallet-im-online", "pallet-opa", + "pallet-session", "pallet-sudo", "pallet-timestamp", "parity-scale-codec", @@ -9466,14 +9982,16 @@ dependencies = [ "sp-block-builder", "sp-consensus-aura", "sp-consensus-grandpa", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-genesis-builder", "sp-inherents", "sp-offchain", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-session", - "sp-std 12.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-transaction-pool", "sp-version", + "substrate-validator-set", "substrate-wasm-builder", ] @@ -9497,7 +10015,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.64", + "syn 2.0.66", "walkdir", ] @@ -9605,7 +10123,7 @@ dependencies = [ "bitflags 2.5.0", "errno", "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] @@ -9816,63 +10334,62 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "20.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b4c5976a9cff7fcf24c946276a62ea7837862b6f3bf9f8011f08faf4f08474" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "log", - "sp-core 25.0.0", - "sp-wasm-interface 18.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", ] [[package]] name = "sc-basic-authorship" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0aa6c85e3e0b5af9cab7078166d8c4575b7b9edac0ade6be1aadee828420104" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "futures", "futures-timer", "log", "parity-scale-codec", "sc-block-builder", - "sc-client-api", "sc-proposer-metrics", "sc-telemetry", "sc-transaction-pool-api", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-prometheus-endpoint", ] [[package]] name = "sc-block-builder" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d3999b9b758c09a6c1155e481b683ee87712f071cc5a0679f9ee4906a14a404" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", - "sc-client-api", "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sc-chain-spec" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7e711ea9870d3fb8e2a3ea5b601a9e20c63d0d2f457f40146407721e246a77" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ - "memmap2", + "array-bytes 6.2.3", + "docify", + "log", + "memmap2 0.9.4", + "parity-scale-codec", "sc-chain-spec-derive", "sc-client-api", "sc-executor", @@ -9881,37 +10398,40 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-crypto-hashing", + "sp-genesis-builder", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sc-chain-spec-derive" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f25158f791eb48715da9322375598b541cadd1f193674e8a4d77c79ffa3d95d" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] name = "sc-cli" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22c61058223f80c1f961b03f7737529609a3283eef91129e971a1966101c18ea" +version = "0.36.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "array-bytes 6.2.3", "chrono", "clap 4.5.4", "fdlimit", "futures", + "itertools 0.10.5", "libp2p-identity", "log", "names", + "parity-bip39", "parity-scale-codec", "rand 0.8.5", "regex", @@ -9928,50 +10448,47 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-keyring", - "sp-keystore 0.31.0", - "sp-panic-handler 12.0.0", - "sp-runtime 28.0.0", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-panic-handler 13.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-version", "thiserror", - "tiny-bip39", "tokio", ] [[package]] name = "sc-client-api" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d32101f415f4d7ddbe8b5de1c1387a78d6dce070e26407ec605fe9f3fc9e23" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "sc-executor", "sc-transaction-pool-api", "sc-utils", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-database", - "sp-externalities 0.23.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-statement-store", - "sp-storage 17.0.0", - "sp-trie 26.0.0", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4ced79f609a44782874d856cf39d256838957195ef34f4fb8ced90bf4b725d0" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "hash-db", "kvdb", @@ -9981,24 +10498,23 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "sc-client-api", "sc-state-db", "schnellru", - "sp-arithmetic 20.0.0", + "sp-arithmetic 23.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-blockchain", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-database", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "sp-trie 26.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sc-consensus" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86e4100cc8fb3876708e1ec5a7c63af3baa75febd5051beb9ddd1e4835fdfc27" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "futures", @@ -10006,25 +10522,24 @@ dependencies = [ "libp2p-identity", "log", "mockall", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "sc-client-api", "sc-utils", "serde", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-consensus-aura" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e3e282836a7deeeb71d965a0942828f81ae2b03fd67515b733d5f33dd5da855" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "futures", @@ -10036,25 +10551,24 @@ dependencies = [ "sc-consensus-slots", "sc-telemetry", "sp-api", - "sp-application-crypto 27.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-aura", "sp-consensus-slots", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-consensus-grandpa" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cbc5db21ea2c4ba65b23315e73e69e8155630fb47c84b93d40b0e759c9d86d" +version = "0.19.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "ahash 0.8.11", "array-bytes 6.2.3", @@ -10066,7 +10580,7 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rand 0.8.5", "sc-block-builder", "sc-chain-spec", @@ -10075,28 +10589,29 @@ dependencies = [ "sc-network", "sc-network-common", "sc-network-gossip", + "sc-network-sync", "sc-telemetry", "sc-transaction-pool-api", "sc-utils", "serde_json", "sp-api", - "sp-application-crypto 27.0.0", - "sp-arithmetic 20.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-arithmetic 23.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-crypto-hashing", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-prometheus-endpoint", "thiserror", ] [[package]] name = "sc-consensus-slots" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2059681962e33394682627e7bd7245b5094236594f5c97c4c96988d901bda534" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "futures", @@ -10106,76 +10621,85 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-telemetry", - "sp-arithmetic 20.0.0", + "sp-arithmetic 23.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-blockchain", "sp-consensus", "sp-consensus-slots", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sc-executor" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225f2ad733bc7234a6638d5203624194824b2f78ab631bc911223f536a66b9c8" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "sc-executor-common", + "sc-executor-polkavm", "sc-executor-wasmtime", "schnellru", "sp-api", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-io 27.0.0", - "sp-panic-handler 12.0.0", - "sp-runtime-interface 21.0.0", - "sp-trie 26.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-panic-handler 13.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-version", - "sp-wasm-interface 18.0.0", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "tracing", ] [[package]] name = "sc-executor-common" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169c1cfe81ba0e0d44ab4ada1600e30b6a9de588c792db73e32a854a6e3e1a87" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ + "polkavm", "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface 18.0.0", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", "wasm-instrument", ] +[[package]] +name = "sc-executor-polkavm" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "log", + "polkavm", + "sc-executor-common", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", +] + [[package]] name = "sc-executor-wasmtime" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9167d733e928c528273be63b905ec750cfda85d740453071463da69f7d633bc" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "anyhow", "cfg-if", "libc", "log", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface 21.0.0", - "sp-wasm-interface 18.0.0", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "wasmtime", ] [[package]] name = "sc-informant" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7189a0b95fe5d79895a107c6c057bc9351cd9c867552200815199cde25bcdb9d" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "ansi_term", "futures", @@ -10184,34 +10708,34 @@ dependencies = [ "sc-client-api", "sc-network", "sc-network-common", + "sc-network-sync", "sp-blockchain", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sc-keystore" -version = "22.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abecdf9778fccc254c0b5e227ea8b90fd59247044a30ad293a068b180427d244" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "array-bytes 6.2.3", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "serde_json", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", ] [[package]] name = "sc-mixnet" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53ea71ec60601c18d6adcaf7a62698fc2e886c16dc8fdf8d61b3b76244dea38" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "array-bytes 4.2.0", "arrayvec 0.7.4", "blake2 0.10.6", + "bytes", "futures", "futures-timer", "libp2p-identity", @@ -10219,24 +10743,23 @@ dependencies = [ "mixnet", "multiaddr", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "sc-client-api", "sc-network", "sc-transaction-pool-api", "sp-api", "sp-consensus", - "sp-core 25.0.0", - "sp-keystore 0.31.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-mixnet", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", ] [[package]] name = "sc-network" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01f519592a971199c486d412dbf38ba54096857080bf4b9d29c9ffabcfee3745" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -10253,7 +10776,7 @@ dependencies = [ "log", "mockall", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "partial_sort", "pin-project", "rand 0.8.5", @@ -10263,12 +10786,14 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-arithmetic 20.0.0", + "sp-arithmetic 23.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-blockchain", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-prometheus-endpoint", "thiserror", + "tokio", + "tokio-stream", "unsigned-varint", "wasm-timer", "zeroize", @@ -10276,30 +10801,28 @@ dependencies = [ [[package]] name = "sc-network-bitswap" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fe63a55e03d8bc796ff1e94e7fb62a62acfd7a80a47865a97b55c13371c3e05" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-channel 1.9.0", "cid", "futures", "libp2p-identity", "log", - "prost 0.11.9", + "prost 0.12.6", "prost-build", "sc-client-api", "sc-network", "sp-blockchain", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", "unsigned-varint", ] [[package]] name = "sc-network-common" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d236686d15275e4aa49ca929a06fb6fac28aa70e35ee185b981036c149f9e9d" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -10310,14 +10833,13 @@ dependencies = [ "sc-consensus", "sp-consensus", "sp-consensus-grandpa", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sc-network-gossip" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b884a9f7cd348c4c1899c0bbf95237e39dffba4baec48d4b98c1046f6bb04fa5" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "ahash 0.8.11", "futures", @@ -10326,17 +10848,17 @@ dependencies = [ "log", "sc-network", "sc-network-common", + "sc-network-sync", "schnellru", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-prometheus-endpoint", "tracing", ] [[package]] name = "sc-network-light" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac888fd720ef8bb2ff7d2b7f7b2e54d17bb85a417cf1e1b6f0f64f7e644936d" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -10344,21 +10866,20 @@ dependencies = [ "libp2p-identity", "log", "parity-scale-codec", - "prost 0.11.9", + "prost 0.12.6", "prost-build", "sc-client-api", "sc-network", "sp-blockchain", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", ] [[package]] name = "sc-network-sync" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10c697aa8f52cf194b9f00113a7d0d3ce5d1456bedd6169a9caae10737f02907" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -10370,7 +10891,7 @@ dependencies = [ "log", "mockall", "parity-scale-codec", - "prost 0.11.9", + "prost 0.12.6", "prost-build", "sc-client-api", "sc-consensus", @@ -10379,22 +10900,22 @@ dependencies = [ "sc-utils", "schnellru", "smallvec", - "sp-arithmetic 20.0.0", + "sp-arithmetic 23.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-blockchain", "sp-consensus", "sp-consensus-grandpa", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-prometheus-endpoint", "thiserror", + "tokio", "tokio-stream", ] [[package]] name = "sc-network-transactions" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7c9bfc7b58ce229d1512158b8f13dc849ec24857d1c29a41a867fb8afb5c09" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "array-bytes 6.2.3", "futures", @@ -10403,17 +10924,17 @@ dependencies = [ "parity-scale-codec", "sc-network", "sc-network-common", + "sc-network-sync", "sc-utils", "sp-consensus", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-prometheus-endpoint", ] [[package]] name = "sc-offchain" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47950facab8dedf71c39667ccce8834252944e8f091f3a3bcdfc0b4503573da4" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "array-bytes 6.2.3", "bytes", @@ -10427,7 +10948,7 @@ dependencies = [ "num_cpus", "once_cell", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rand 0.8.5", "sc-client-api", "sc-network", @@ -10435,20 +10956,19 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "sp-api", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-keystore 0.31.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-offchain", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "threadpool", "tracing", ] [[package]] name = "sc-proposer-metrics" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "221845dce4e7adb57eca5f73318699b377cff29aef92a586e71aa5cef62f879b" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -10456,15 +10976,14 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb277280b6b3519e4a2e693b75d4ca516ebb4a928162e6a1791b217b2be60c9f" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "futures", - "jsonrpsee 0.16.3", + "jsonrpsee 0.22.5", "log", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -10476,11 +10995,11 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core 25.0.0", - "sp-keystore 0.31.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-offchain", "sp-rpc", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-session", "sp-statement-store", "sp-version", @@ -10489,11 +11008,10 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def499ac717db8442fe18543e52330d5f105027b666df73c0b38e81e9105078b" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ - "jsonrpsee 0.16.3", + "jsonrpsee 0.22.5", "parity-scale-codec", "sc-chain-spec", "sc-mixnet", @@ -10501,21 +11019,23 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-rpc", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-version", "thiserror", ] [[package]] name = "sc-rpc-server" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8083e1b026dcf397f8c1122b3fba6cc744c6962996df6a30e0fb75223f7637" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ + "futures", + "governor", "http 0.2.12", - "jsonrpsee 0.16.3", + "hyper 0.14.28", + "jsonrpsee 0.22.5", "log", "serde_json", "substrate-prometheus-endpoint", @@ -10526,27 +11046,29 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "198ea9287111b4060ce1d70dce99804b99d1a92b5fb23a79d94bf0cb460ca3ce" +version = "0.34.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "array-bytes 6.2.3", "futures", "futures-util", "hex", - "jsonrpsee 0.16.3", + "jsonrpsee 0.22.5", "log", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", + "rand 0.8.5", "sc-chain-spec", "sc-client-api", + "sc-rpc", "sc-transaction-pool-api", "sc-utils", "serde", "sp-api", "sp-blockchain", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-rpc", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-version", "thiserror", "tokio", @@ -10555,22 +11077,20 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3623ae5bd7b089da9796a3f1edd974c94f34dd4b4b527146662ef409ae9cd38c" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "directories", "exit-future", "futures", "futures-timer", - "jsonrpsee 0.16.3", + "jsonrpsee 0.22.5", "log", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "pin-project", "rand 0.8.5", - "sc-block-builder", "sc-chain-spec", "sc-client-api", "sc-client-db", @@ -10593,21 +11113,22 @@ dependencies = [ "sc-transaction-pool", "sc-transaction-pool-api", "sc-utils", + "schnellru", "serde", "serde_json", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-session", - "sp-state-machine 0.32.0", - "sp-storage 17.0.0", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie 26.0.0", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-version", "static_init", "substrate-prometheus-endpoint", @@ -10620,31 +11141,29 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3635fe572adfe796886e18910c8b94f7ce67f9ae3e2c161176e122ddf0baa7e4" +version = "0.30.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "log", "parity-scale-codec", - "parking_lot 0.12.2", - "sp-core 25.0.0", + "parking_lot 0.12.3", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sc-statement-store" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58635973b3a8ca0a40c885b6bc1a61365e5424bf4312ef86963c799f50cfa15b" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "log", "parity-db", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "sc-client-api", "sc-keystore", "sp-api", "sp-blockchain", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-statement-store", "substrate-prometheus-endpoint", "tokio", @@ -10652,10 +11171,10 @@ dependencies = [ [[package]] name = "sc-sysinfo" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60967710b85e650652832df73915b64c315f7b437e53c4635bd26106d6d05c21" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ + "derive_more", "futures", "libc", "log", @@ -10665,22 +11184,22 @@ dependencies = [ "sc-telemetry", "serde", "serde_json", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-crypto-hashing", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sc-telemetry" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28e214e4d46cac02321bc3dc6fd72f019ac10819d1ac8f24f6935a4ae74ef273" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "chrono", "futures", "libp2p", "log", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "pin-project", "rand 0.8.5", "sc-utils", @@ -10692,17 +11211,17 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bcd745ea216ba0c0a344cff2c41b12e27846d5fca4b28f56ff77e1d3ff3634" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "ansi_term", - "atty", "chrono", + "is-terminal", "lazy_static", "libc", "log", - "parking_lot 0.12.2", + "parity-scale-codec", + "parking_lot 0.12.3", "regex", "rustc-hash", "sc-client-api", @@ -10710,10 +11229,10 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-rpc", - "sp-runtime 28.0.0", - "sp-tracing 14.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", "tracing", "tracing-log 0.1.4", @@ -10722,21 +11241,19 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c4ae9e4f957d7274ac6b59d667b66262caf6482dbb1b63f1c370528626b1272" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] name = "sc-transaction-pool" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f6db45a057a619670e07deefb4e69aab83386f076363db424907da2b2e82590" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "futures", @@ -10744,16 +11261,17 @@ dependencies = [ "linked-hash-map", "log", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "sc-client-api", "sc-transaction-pool-api", "sc-utils", "serde", "sp-api", "sp-blockchain", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-tracing 14.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-crypto-hashing", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror", @@ -10761,9 +11279,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1491607f296bb8cce09a5eb3a03320c60ad52bb8120127b26f69c32bcaccd8f2" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "futures", @@ -10771,25 +11288,24 @@ dependencies = [ "parity-scale-codec", "serde", "sp-blockchain", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", ] [[package]] name = "sc-utils" -version = "11.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a4769c82dde62b9243dcc166be52e0c5d2d61cf2599923271118d9c8b997b1" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-channel 1.9.0", "futures", "futures-timer", "lazy_static", "log", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "prometheus", - "sp-arithmetic 20.0.0", + "sp-arithmetic 23.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] @@ -10942,7 +11458,7 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.64", + "syn 2.0.66", "thiserror", ] @@ -11002,7 +11518,7 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3cbc66816425a074528352f5789333ecff06ca41b36b0b0efdfbb29edc391a19" dependencies = [ - "parking_lot 0.12.2", + "parking_lot 0.12.3", ] [[package]] @@ -11085,7 +11601,7 @@ dependencies = [ "der 0.6.1", "generic-array 0.14.7", "pkcs8 0.9.0", - "serdect", + "serdect 0.1.0", "subtle 2.5.0", "zeroize", ] @@ -11100,6 +11616,7 @@ dependencies = [ "der 0.7.9", "generic-array 0.14.7", "pkcs8 0.10.2", + "serdect 0.2.0", "subtle 2.5.0", "zeroize", ] @@ -11226,18 +11743,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] [[package]] name = "serde_arrow" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42134606eddcd2475fb1d5ecdba0d7dda5ef287b6cf1c44949e09849b2cdb27f" +checksum = "c3225856c8d6dcee83d7d328076eb57b5e9dea372a5de8360928f74cf1b7dd9d" dependencies = [ "arrow-array", "arrow-buffer", @@ -11260,13 +11777,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -11356,6 +11873,16 @@ dependencies = [ "serde", ] +[[package]] +name = "serdect" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" +dependencies = [ + "base16ct 0.2.0", + "serde", +] + [[package]] name = "sha-1" version = "0.9.8" @@ -11562,7 +12089,7 @@ dependencies = [ "async-executor", "async-fs", "async-io", - "async-lock 3.3.0", + "async-lock", "async-net", "async-process", "blocking", @@ -11576,7 +12103,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9" dependencies = [ "arrayvec 0.7.4", - "async-lock 3.3.0", + "async-lock", "atomic-take", "base64 0.21.7", "bip39", @@ -11631,7 +12158,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5496f2d116b7019a526b1039ec2247dd172b8670633b1a64a614c9ea12c9d8c7" dependencies = [ "async-channel 2.3.1", - "async-lock 3.3.0", + "async-lock", "base64 0.21.7", "blake2-rfc", "derive_more", @@ -11647,7 +12174,7 @@ dependencies = [ "log", "lru 0.12.3", "no-std-net 0.6.0", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "pin-project", "rand 0.8.5", "rand_chacha 0.3.1", @@ -11722,189 +12249,198 @@ dependencies = [ [[package]] name = "sp-api" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f582f92ce47c86e4ffffe81fdd5120fea7c850dc0800653a7fa203bcc1532335" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "hash-db", "log", "parity-scale-codec", "scale-info", "sp-api-proc-macro", - "sp-core 25.0.0", - "sp-externalities 0.23.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-metadata-ir", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-version", "thiserror", ] [[package]] name = "sp-api-proc-macro" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a896941b2d27365a6f937ebce11e36d55132dc32104f6a48b4cd765b55efd252" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "Inflector", "blake2 0.10.6", "expander", - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] name = "sp-application-crypto" -version = "27.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a93da025616ab59639f8e378df579c5aaa2c8b9999f328a0239156a57c991b53" +checksum = "7e4fe7a9b7fa9da76272b201e2fb3c7900d97d32a46b66af9a04dad457f73c71" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 30.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4fe7a9b7fa9da76272b201e2fb3c7900d97d32a46b66af9a04dad457f73c71" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-std 14.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-arithmetic" -version = "20.0.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f80b5c16afb61dde1037a469d570adcc686440036429e50abe2301ba9d61aad5" +checksum = "f42721f072b421f292a072e8f52a3b3c0fbc27428f0c9fe24067bc47046bad63" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 12.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "static_assertions", ] [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f42721f072b421f292a072e8f52a3b3c0fbc27428f0c9fe24067bc47046bad63" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "integer-sqrt", "num-traits", "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "static_assertions", ] +[[package]] +name = "sp-ark-bls12-381" +version = "0.4.2" +source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" +dependencies = [ + "ark-bls12-381-ext", + "sp-crypto-ec-utils", +] + +[[package]] +name = "sp-ark-ed-on-bls12-381-bandersnatch" +version = "0.4.2" +source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" +dependencies = [ + "ark-ed-on-bls12-381-bandersnatch-ext", + "sp-crypto-ec-utils", +] + [[package]] name = "sp-block-builder" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cd16df3d1cdad862d3e764f10f7675876b011e032907423fdfa377ae2ec8575" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "sp-api", "sp-inherents", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-blockchain" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4932b97cde61874f395bab9b02443e3bd2046943abb280b63f83da9d0b623ea7" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "futures", "log", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "schnellru", "sp-api", "sp-consensus", "sp-database", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", ] [[package]] name = "sp-consensus" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c5d7170fb7cfb18024ef7eeb40d272d22b9c3587d85cde2d091e8463b397f06" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "futures", "log", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", ] [[package]] name = "sp-consensus-aura" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643a7c486a645f398d219d1fbcc8a416cad5018164a212fefde5c2ef00a182e4" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto 27.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-consensus-slots", "sp-inherents", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-timestamp", ] [[package]] name = "sp-consensus-babe" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "268f9b2e36d4e136c09ad87876cdcfd7ff734cb5917f333fefebff248f95a24f" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", "serde", "sp-api", - "sp-application-crypto 27.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-consensus-slots", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-timestamp", ] [[package]] name = "sp-consensus-grandpa" -version = "10.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28bbee685900110419913f281ce0f29457fbc17418f00d15f0212c8043aba167" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "finality-grandpa", "log", @@ -11912,23 +12448,22 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-consensus-slots" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "895b0c176d4eead833ddee5251d3cccbaeb0191ca3f33f84b11d347bebc6e21f" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std 12.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-timestamp", ] @@ -11941,7 +12476,7 @@ dependencies = [ "array-bytes 6.2.3", "bitflags 1.3.2", "blake2 0.10.6", - "bounded-collections", + "bounded-collections 0.1.9", "bs58 0.5.1", "dyn-clonable", "ed25519-zebra 3.1.0", @@ -11954,7 +12489,7 @@ dependencies = [ "log", "merlin 2.0.1", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "paste", "primitive-types", "rand 0.8.5", @@ -11971,7 +12506,7 @@ dependencies = [ "sp-std 12.0.0", "sp-storage 17.0.0", "ss58-registry", - "substrate-bip39", + "substrate-bip39 0.4.6", "thiserror", "tiny-bip39", "tracing", @@ -11989,7 +12524,7 @@ dependencies = [ "bip39", "bitflags 1.3.2", "blake2 0.10.6", - "bounded-collections", + "bounded-collections 0.1.9", "bs58 0.5.1", "dyn-clonable", "ed25519-zebra 3.1.0", @@ -12002,7 +12537,7 @@ dependencies = [ "log", "merlin 3.0.0", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "paste", "primitive-types", "rand 0.8.5", @@ -12011,14 +12546,61 @@ dependencies = [ "secp256k1 0.28.2", "secrecy", "serde", - "sp-core-hashing 15.0.0", - "sp-debug-derive 14.0.0", - "sp-externalities 0.25.0", - "sp-runtime-interface 24.0.0", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-core-hashing 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 24.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 19.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ss58-registry", - "substrate-bip39", + "substrate-bip39 0.4.6", + "thiserror", + "tracing", + "w3f-bls", + "zeroize", +] + +[[package]] +name = "sp-core" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "array-bytes 6.2.3", + "bandersnatch_vrfs", + "bitflags 1.3.2", + "blake2 0.10.6", + "bounded-collections 0.2.0", + "bs58 0.5.1", + "dyn-clonable", + "ed25519-zebra 3.1.0", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "itertools 0.10.5", + "k256 0.13.3", + "libsecp256k1", + "log", + "merlin 3.0.0", + "parity-bip39", + "parity-scale-codec", + "parking_lot 0.12.3", + "paste", + "primitive-types", + "rand 0.8.5", + "scale-info", + "schnorrkel 0.11.4", + "secp256k1 0.28.2", + "secrecy", + "serde", + "sp-crypto-hashing", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "ss58-registry", + "substrate-bip39 0.4.7", "thiserror", "tracing", "w3f-bls", @@ -12041,9 +12623,9 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "14.0.0" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1936171e56a51272757760cc50883d2a8c37c650b3602a0aeed05b0c4fffc5f1" +checksum = "1e0f4990add7b2cefdeca883c0efa99bb4d912cb2196120e1500c0cc099553b0" dependencies = [ "blake2b_simd", "byteorder", @@ -12056,8 +12638,35 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0f4990add7b2cefdeca883c0efa99bb4d912cb2196120e1500c0cc099553b0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "sp-crypto-hashing", +] + +[[package]] +name = "sp-crypto-ec-utils" +version = "0.10.0" +source = "git+https://github.com/paritytech/polkadot-sdk#fc6c31829fc2e24e11a02b6a2adec27bc5d8918f" +dependencies = [ + "ark-bls12-377", + "ark-bls12-377-ext", + "ark-bls12-381", + "ark-bls12-381-ext", + "ark-bw6-761", + "ark-bw6-761-ext", + "ark-ec", + "ark-ed-on-bls12-377", + "ark-ed-on-bls12-377-ext", + "ark-ed-on-bls12-381-bandersnatch", + "ark-ed-on-bls12-381-bandersnatch-ext", + "ark-scale", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk)", +] + +[[package]] +name = "sp-crypto-hashing" +version = "0.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "blake2b_simd", "byteorder", @@ -12068,24 +12677,22 @@ dependencies = [ ] [[package]] -name = "sp-core-hashing-proc-macro" -version = "13.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ce3e6931303769197da81facefa86159fa1085dcd96ecb7e7407b5b93582a0" +name = "sp-crypto-hashing-proc-macro" +version = "0.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "quote", - "sp-core-hashing 13.0.0", - "syn 2.0.64", + "sp-crypto-hashing", + "syn 2.0.66", ] [[package]] name = "sp-database" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c6e8c710d6a71512af6f42d9dba9c3d1f6ad793846480babf459bbde3d60a94" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "kvdb", - "parking_lot 0.12.2", + "parking_lot 0.12.3", ] [[package]] @@ -12096,7 +12703,7 @@ checksum = "50535e1a5708d3ba5c1195b59ebefac61cc8679c2c24716b87a86e8b7ed2e4a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -12107,7 +12714,27 @@ checksum = "48d09fa0a5f7299fb81ee25ae3853d26200f7a348148aed6de76be905c007dbe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", +] + +[[package]] +name = "sp-debug-derive" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "sp-debug-derive" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#fc6c31829fc2e24e11a02b6a2adec27bc5d8918f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", ] [[package]] @@ -12130,42 +12757,61 @@ checksum = "63867ec85950ced90d4ab1bba902a47db1b1efdf2829f653945669b2bb470a9c" dependencies = [ "environmental", "parity-scale-codec", - "sp-std 14.0.0", - "sp-storage 19.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 19.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-externalities" +version = "0.25.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", +] + +[[package]] +name = "sp-externalities" +version = "0.25.0" +source = "git+https://github.com/paritytech/polkadot-sdk#fc6c31829fc2e24e11a02b6a2adec27bc5d8918f" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", ] [[package]] name = "sp-genesis-builder" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0cb71d40ad47e40bdcce5ae5531c7d7ba579cd495a0e0413642fb063fa66f84" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "serde_json", "sp-api", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-inherents" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604229aa145be0cff853b47ffed8bc2c62eb08ec6974d6307b9a559c378e6dc5" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", ] [[package]] name = "sp-io" -version = "27.0.0" +version = "30.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ced350da15e8ba3a106206840acc42a6d3eb0d7e8bf7aa43ab00eac0bdf956f" +checksum = "c55f26d89feedaf0faf81688b6e1e1e81329cd8b4c6a4fd6c5b97ed9dd068b8a" dependencies = [ "bytes", "ed25519-dalek", @@ -12173,15 +12819,15 @@ dependencies = [ "log", "parity-scale-codec", "rustversion", - "secp256k1 0.24.3", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-keystore 0.31.0", - "sp-runtime-interface 21.0.0", - "sp-state-machine 0.32.0", - "sp-std 12.0.0", - "sp-tracing 14.0.0", - "sp-trie 26.0.0", + "secp256k1 0.28.2", + "sp-core 28.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-keystore 0.34.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 24.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.35.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 16.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 29.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "tracing-core", ] @@ -12189,71 +12835,67 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55f26d89feedaf0faf81688b6e1e1e81329cd8b4c6a4fd6c5b97ed9dd068b8a" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "bytes", "ed25519-dalek", "libsecp256k1", "log", "parity-scale-codec", + "polkavm-derive", "rustversion", "secp256k1 0.28.2", - "sp-core 28.0.0", - "sp-externalities 0.25.0", - "sp-keystore 0.34.0", - "sp-runtime-interface 24.0.0", - "sp-state-machine 0.35.0", - "sp-std 14.0.0", - "sp-tracing 16.0.0", - "sp-trie 29.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-crypto-hashing", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "tracing", "tracing-core", ] [[package]] name = "sp-keyring" -version = "28.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655ec0b35cb9cb9029fb323aa676b07d58deb872cecc7566e50278409a00ee95" +version = "31.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ - "lazy_static", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "strum 0.24.1", ] [[package]] name = "sp-keystore" -version = "0.31.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8ec5ebbba70bee83d79c3fe5e49f12df0a4bb6029858ddf9a15eea7539a592" +checksum = "96806a28a62ed9ddecd0b28857b1344d029390f7c5c42a2ff9199cbf5638635c" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.2", - "sp-core 25.0.0", - "sp-externalities 0.23.0", + "parking_lot 0.12.3", + "sp-core 28.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", ] [[package]] name = "sp-keystore" version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96806a28a62ed9ddecd0b28857b1344d029390f7c5c42a2ff9199cbf5638635c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", - "parking_lot 0.12.2", - "sp-core 28.0.0", - "sp-externalities 0.25.0", - "thiserror", + "parking_lot 0.12.3", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-maybe-compressed-blob" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8846768f036429227e49f6ab523fbee4bc6edfee278a361bf27999590fe020d4" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "thiserror", "zstd 0.12.4", @@ -12261,45 +12903,42 @@ dependencies = [ [[package]] name = "sp-metadata-ir" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca9ff0e522a74725ac92f009d38deeb12e880f5296afbd78a6c6b970b773278" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", "scale-info", - "sp-std 12.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-mixnet" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf61f28ca97aab6c21a3c6e0ed496e60d505e5de1f43fd4ba748c9afaa4fc85" +version = "0.4.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto 27.0.0", - "sp-std 12.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-offchain" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9310227f043ed99877b0449a683025a7461431a00995dcd6ef423a273d0fd85d" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "sp-api", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-panic-handler" -version = "12.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00e40857ed3e0187f145b037c733545c5633859f1bd1d1b09deb52805fa696a" +checksum = "d8f5a17a0a11de029a8b811cb6e8b32ce7e02183cc04a3e965c383246798c416" dependencies = [ "backtrace", "lazy_static", @@ -12309,8 +12948,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f5a17a0a11de029a8b811cb6e8b32ce7e02183cc04a3e965c383246798c416" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "backtrace", "lazy_static", @@ -12319,21 +12957,21 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51867fea921f54bbaa2bf505f373559b5f3b80e8d7f38ecb9677f0d3795a3e6a" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "rustc-hash", "serde", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-runtime" -version = "28.0.0" +version = "31.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9c40ff7303e62219b55635e5245d963358cb77d6916250991ebcb82c0be2c6" +checksum = "a3bb49a4475d390198dfd3d41bef4564ab569fbaf1b5e38ae69b35fc01199d91" dependencies = [ + "docify", "either", "hash256-std-hasher", "impl-trait-for-tuples", @@ -12343,19 +12981,19 @@ dependencies = [ "rand 0.8.5", "scale-info", "serde", - "sp-application-crypto 27.0.0", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-io 27.0.0", - "sp-std 12.0.0", - "sp-weights 24.0.0", + "simple-mermaid", + "sp-application-crypto 30.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic 23.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 28.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 30.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-weights 27.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-runtime" version = "31.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3bb49a4475d390198dfd3d41bef4564ab569fbaf1b5e38ae69b35fc01199d91" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "docify", "either", @@ -12368,12 +13006,12 @@ dependencies = [ "scale-info", "serde", "simple-mermaid", - "sp-application-crypto 30.0.0", - "sp-arithmetic 23.0.0", - "sp-core 28.0.0", - "sp-io 30.0.0", - "sp-std 14.0.0", - "sp-weights 27.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-arithmetic 23.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-weights 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] @@ -12405,12 +13043,50 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", - "sp-externalities 0.25.0", - "sp-runtime-interface-proc-macro 17.0.0", - "sp-std 14.0.0", - "sp-storage 19.0.0", - "sp-tracing 16.0.0", - "sp-wasm-interface 20.0.0", + "sp-externalities 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface-proc-macro 17.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 19.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 16.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 20.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkavm-derive", + "primitive-types", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#fc6c31829fc2e24e11a02b6a2adec27bc5d8918f" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkavm-derive", + "primitive-types", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk)", "static_assertions", ] @@ -12424,7 +13100,7 @@ dependencies = [ "proc-macro-crate 1.1.3", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -12438,57 +13114,81 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "Inflector", + "expander", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#fc6c31829fc2e24e11a02b6a2adec27bc5d8918f" +dependencies = [ + "Inflector", + "expander", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.66", ] [[package]] name = "sp-session" -version = "24.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248dd8f49aa96b56bf0a7d513691ddb4194f9359fdb93e94397eabdef1036085" +version = "27.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core 25.0.0", - "sp-keystore 0.31.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-staking", - "sp-std 12.0.0", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-staking" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee0feed0137234598bd1f76d0b468c585ea16619ea9ed1acbba82dd24ac79788" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", - "sp-core 25.0.0", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-state-machine" -version = "0.32.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96e087fa4430befd2047b61d912c9d6fa4eaed408c4b58b46c6e9acd7965f2d3" +checksum = "718c779ad1d6fcc0be64c7ce030b33fa44b5c8914b3a1319ef63bb5f27fb98df" dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rand 0.8.5", "smallvec", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-panic-handler 12.0.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", + "sp-core 28.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-panic-handler 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 29.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-db", @@ -12497,20 +13197,19 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718c779ad1d6fcc0be64c7ce030b33fa44b5c8914b3a1319ef63bb5f27fb98df" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rand 0.8.5", "smallvec", - "sp-core 28.0.0", - "sp-externalities 0.25.0", - "sp-panic-handler 13.0.0", - "sp-std 14.0.0", - "sp-trie 29.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-panic-handler 13.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", "tracing", "trie-db", @@ -12518,9 +13217,8 @@ dependencies = [ [[package]] name = "sp-statement-store" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8654bcd37602b1811414050d34d14f543873bd4e64e50d210a0116b660c600" +version = "10.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "aes-gcm", "curve25519-dalek 4.1.2", @@ -12531,12 +13229,13 @@ dependencies = [ "scale-info", "sha2 0.10.8", "sp-api", - "sp-application-crypto 27.0.0", - "sp-core 25.0.0", - "sp-externalities 0.23.0", - "sp-runtime 28.0.0", - "sp-runtime-interface 21.0.0", - "sp-std 12.0.0", + "sp-application-crypto 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-crypto-hashing", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", "x25519-dalek 2.0.1", ] @@ -12559,6 +13258,16 @@ version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12f8ee986414b0a9ad741776762f4083cd3a5128449b982a3919c4df36874834" +[[package]] +name = "sp-std" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" + +[[package]] +name = "sp-std" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#fc6c31829fc2e24e11a02b6a2adec27bc5d8918f" + [[package]] name = "sp-storage" version = "17.0.0" @@ -12583,21 +13292,45 @@ dependencies = [ "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0", - "sp-std 14.0.0", + "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-storage" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", +] + +[[package]] +name = "sp-storage" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#fc6c31829fc2e24e11a02b6a2adec27bc5d8918f" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", ] [[package]] name = "sp-timestamp" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004a7f453240db80b2967c0e1c6411836efc7daa7afae98fd16202caa51460e0" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", ] @@ -12621,57 +13354,78 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0351810b9d074df71c4514c5228ed05c250607cba131c1c9d1526760ab69c05c" dependencies = [ "parity-scale-codec", - "sp-std 14.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing", + "tracing-core", + "tracing-subscriber 0.2.25", +] + +[[package]] +name = "sp-tracing" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "tracing", "tracing-core", "tracing-subscriber 0.2.25", ] +[[package]] +name = "sp-tracing" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#fc6c31829fc2e24e11a02b6a2adec27bc5d8918f" +dependencies = [ + "parity-scale-codec", + "tracing", + "tracing-core", + "tracing-subscriber 0.3.18", +] + [[package]] name = "sp-transaction-pool" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7cd2afe89c474339d15d06e73639171ebe4d280be6904d9349072103da21427" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "sp-api", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-transaction-storage-proof" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ae7c4954431b8479f7b2b6b82f0551cc360a1ee59b6a5276eef86a1099eaed" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-core 25.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-runtime 28.0.0", - "sp-std 12.0.0", - "sp-trie 26.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-trie 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "sp-trie" -version = "26.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e359b358263cc322c3f678c272a3a519621d9853dcfa1374dfcbdb5f54c6f85" +checksum = "2e4d24d84a0beb44a71dcac1b41980e1edf7fb722c7f3046710136a283cd479b" dependencies = [ "ahash 0.8.11", "hash-db", - "hashbrown 0.13.2", "lazy_static", "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rand 0.8.5", "scale-info", "schnellru", - "sp-core 25.0.0", - "sp-std 12.0.0", + "sp-core 28.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.25.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "tracing", "trie-db", @@ -12681,8 +13435,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e4d24d84a0beb44a71dcac1b41980e1edf7fb722c7f3046710136a283cd479b" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "ahash 0.8.11", "hash-db", @@ -12690,13 +13443,13 @@ dependencies = [ "memory-db", "nohash-hasher", "parity-scale-codec", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rand 0.8.5", "scale-info", "schnellru", - "sp-core 28.0.0", - "sp-externalities 0.25.0", - "sp-std 14.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "thiserror", "tracing", "trie-db", @@ -12705,32 +13458,30 @@ dependencies = [ [[package]] name = "sp-version" -version = "26.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e93da332eba3cb59a65f128da5edd5c70e1475692b45470104e7465b1278471" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "impl-serde", "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-core-hashing-proc-macro", - "sp-runtime 28.0.0", - "sp-std 12.0.0", + "sp-crypto-hashing-proc-macro", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-version-proc-macro", "thiserror", ] [[package]] name = "sp-version-proc-macro" -version = "12.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49535d8c7184dab46d15639c68374a30cbb1534e392fa09a1ebb059a993ad436" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -12757,40 +13508,62 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std 14.0.0", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmtime", +] + +[[package]] +name = "sp-wasm-interface" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "anyhow", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "wasmtime", ] +[[package]] +name = "sp-wasm-interface" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk#fc6c31829fc2e24e11a02b6a2adec27bc5d8918f" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", +] + [[package]] name = "sp-weights" -version = "24.0.0" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751676c1263e7f3600af16bad26a7978a816bc532676fe05eafa23b862c05b9e" +checksum = "9e874bdf9dd3fd3242f5b7867a4eaedd545b02f29041a46d222a9d9d5caaaa5c" dependencies = [ + "bounded-collections 0.1.9", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 20.0.0", - "sp-core 25.0.0", - "sp-debug-derive 12.0.0", - "sp-std 12.0.0", + "sp-arithmetic 23.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 14.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "sp-weights" version = "27.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e874bdf9dd3fd3242f5b7867a4eaedd545b02f29041a46d222a9d9d5caaaa5c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ - "bounded-collections", + "bounded-collections 0.2.0", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 23.0.0", - "sp-debug-derive 14.0.0", - "sp-std 14.0.0", + "sp-arithmetic 23.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] @@ -12816,6 +13589,15 @@ dependencies = [ "strum 0.24.1", ] +[[package]] +name = "spinning_top" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" +dependencies = [ + "lock_api", +] + [[package]] name = "spki" version = "0.6.0" @@ -12906,6 +13688,12 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + [[package]] name = "strsim" version = "0.10.0" @@ -12918,6 +13706,30 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "structopt" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" +dependencies = [ + "clap 2.34.0", + "lazy_static", + "structopt-derive", +] + +[[package]] +name = "structopt-derive" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" +dependencies = [ + "heck 0.3.3", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "strum" version = "0.24.1" @@ -12959,7 +13771,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -12975,21 +13787,31 @@ dependencies = [ "zeroize", ] +[[package]] +name = "substrate-bip39" +version = "0.4.7" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" +dependencies = [ + "hmac 0.12.1", + "pbkdf2 0.12.2", + "schnorrkel 0.11.4", + "sha2 0.10.8", + "zeroize", +] + [[package]] name = "substrate-build-script-utils" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a3b7556a62d77b7b8abc34e425817f6f563c2f2aa7142f1c4e93e6422156cc1" +version = "11.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" [[package]] name = "substrate-frame-rpc-system" -version = "25.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c241af714c378075b1185e574202cbb9105e849b8c9ea44ef87880bdb3e9a75" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "frame-system-rpc-runtime-api", "futures", - "jsonrpsee 0.16.3", + "jsonrpsee 0.22.5", "log", "parity-scale-codec", "sc-rpc-api", @@ -12997,15 +13819,14 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core 25.0.0", - "sp-runtime 28.0.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "substrate-prometheus-endpoint" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ededbe617291db8a47d6e5155486ff1e5425f0bbf5dcb7f752730466a62bd293" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "hyper 0.14.28", "log", @@ -13016,33 +13837,52 @@ dependencies = [ [[package]] name = "substrate-rpc-client" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5575c2bef89385e5406565b8fe5620856d414e3846c60927a78f0788cb288c8c" +version = "0.33.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", - "jsonrpsee 0.16.3", + "jsonrpsee 0.22.5", "log", "sc-rpc-api", "serde", - "sp-runtime 28.0.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", +] + +[[package]] +name = "substrate-validator-set" +version = "1.1.0" +source = "git+https://github.com/gautamdhameja/substrate-validator-set.git#2c5e00ca3fd99380978d653fd79c8635aeb84c0c" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-session", + "parity-scale-codec", + "scale-info", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-staking", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-weights 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", ] [[package]] name = "substrate-wasm-builder" -version = "14.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ab1707dbbd129622b771a9b80b25f0ebf1c04854b907bc44b51ec96fb4005b" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ - "ansi_term", "build-helper", "cargo_metadata", + "console", "filetime", "parity-wasm", + "polkavm-linker", "sp-maybe-compressed-blob", "strum 0.24.1", "tempfile", - "toml 0.7.8", + "toml 0.8.13", "walkdir", "wasm-opt", ] @@ -13085,9 +13925,9 @@ dependencies = [ "scale-value 0.13.0", "serde", "serde_json", - "sp-core 28.0.0", - "sp-core-hashing 15.0.0", - "sp-runtime 31.0.1", + "sp-core 28.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core-hashing 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 31.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "subxt-lightclient", "subxt-macro", "subxt-metadata", @@ -13113,7 +13953,7 @@ dependencies = [ "scale-info", "scale-typegen", "subxt-metadata", - "syn 2.0.64", + "syn 2.0.66", "thiserror", "tokio", ] @@ -13147,7 +13987,7 @@ dependencies = [ "quote", "scale-typegen", "subxt-codegen", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -13159,7 +13999,7 @@ dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", "scale-info", - "sp-core-hashing 15.0.0", + "sp-core-hashing 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", ] @@ -13176,9 +14016,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.64" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ad3dee41f36859875573074334c200d1add8e4a87bb37113ebd31d926b7b11f" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -13288,6 +14128,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix 0.38.34", + "windows-sys 0.48.0", +] + [[package]] name = "termtree" version = "0.4.1" @@ -13311,6 +14161,15 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + [[package]] name = "textwrap" version = "0.16.1" @@ -13319,22 +14178,22 @@ checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" -version = "1.0.60" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.60" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -13478,16 +14337,16 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", "libc", "mio", "num_cpus", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "pin-project-lite 0.2.14", "signal-hook-registry", "socket2 0.5.7", @@ -13508,13 +14367,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -13673,7 +14532,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.8", + "winnow 0.6.9", ] [[package]] @@ -13694,7 +14553,7 @@ dependencies = [ "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.12.4", + "prost 0.12.6", "tokio", "tokio-stream", "tower", @@ -13721,7 +14580,7 @@ dependencies = [ "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.12.4", + "prost 0.12.6", "tokio", "tokio-stream", "tower", @@ -13800,7 +14659,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] @@ -13987,7 +14846,7 @@ dependencies = [ "ipconfig", "lazy_static", "lru-cache", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "resolv-conf", "smallvec", "thiserror", @@ -14004,9 +14863,8 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "845090aa8572116b06813914fc1d09448fe895d82982b63d58de4f91b4eb79b6" +version = "0.38.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fceb82372a3019b37117aa453d564b212de" dependencies = [ "async-trait", "clap 4.5.4", @@ -14022,19 +14880,19 @@ dependencies = [ "sp-api", "sp-consensus-aura", "sp-consensus-babe", - "sp-core 25.0.0", - "sp-debug-derive 12.0.0", - "sp-externalities 0.23.0", + "sp-core 28.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-inherents", - "sp-io 27.0.0", - "sp-keystore 0.31.0", + "sp-io 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-keystore 0.34.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-rpc", - "sp-runtime 28.0.0", - "sp-state-machine 0.32.0", + "sp-runtime 31.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", + "sp-state-machine 0.35.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "sp-timestamp", "sp-transaction-storage-proof", "sp-version", - "sp-weights 24.0.0", + "sp-weights 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0)", "substrate-rpc-client", "zstd 0.12.4", ] @@ -14155,6 +15013,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + [[package]] name = "unicode-width" version = "0.1.12" @@ -14331,6 +15195,12 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + [[package]] name = "version_check" version = "0.9.4" @@ -14428,7 +15298,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", "wasm-bindgen-shared", ] @@ -14462,7 +15332,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -14475,9 +15345,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-instrument" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa1dafb3e60065305741e83db35c6c2584bb3725b692b5b66148a38d72ace6cd" +checksum = "2a47ecb37b9734d1085eaa5ae1a81e60801fd8c28d4cabdd8aedb982021918bc" dependencies = [ "parity-wasm", ] @@ -14841,9 +15711,9 @@ dependencies = [ [[package]] name = "wide" -version = "0.7.19" +version = "0.7.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aab6594190de06d718a5dbc5fa781ab62f8903797056480e549ca74add6b7065" +checksum = "cd8dc749a1b03f3c255a3064a4f5c0ee5ed09b7c6bc6d4525d31f779cd74d7fc" dependencies = [ "bytemuck", "safe_arch", @@ -14857,9 +15727,9 @@ checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" [[package]] name = "wildmatch" -version = "2.3.3" +version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "939e59c1bc731542357fdaad98b209ef78c8743d652bb61439d16b16a79eb025" +checksum = "3928939971918220fed093266b809d1ee4ec6c1a2d72692ff6876898f3b16c19" [[package]] name = "winapi" @@ -15136,9 +16006,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6" dependencies = [ "memchr", ] @@ -15210,7 +16080,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys 0.4.14", "rustix 0.38.34", ] @@ -15223,7 +16093,7 @@ dependencies = [ "futures", "log", "nohash-hasher", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rand 0.8.5", "static_assertions", ] @@ -15266,14 +16136,14 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -15286,7 +16156,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.64", + "syn 2.0.66", ] [[package]] diff --git a/charts/chronicle/templates/chronicle-secret-volume.yaml b/charts/chronicle/templates/chronicle-secret-volume.yaml deleted file mode 100644 index 417380c01..000000000 --- a/charts/chronicle/templates/chronicle-secret-volume.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: chronicle-secrets - annotations: - "helm.sh/resource-policy": keep -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi diff --git a/charts/chronicle/templates/statefulset.yaml b/charts/chronicle/templates/statefulset.yaml index cff0e60a1..5828be395 100644 --- a/charts/chronicle/templates/statefulset.yaml +++ b/charts/chronicle/templates/statefulset.yaml @@ -107,9 +107,6 @@ spec: mountPath: /var/lib/chronicle/store/ {{- include "lib.volumeMounts" .Values.extraVolumeMounts | nindent 12 }} volumes: - - name: chronicle-secrets - persistentVolumeClaim: - claimName: chronicle-secrets - name: chronicle-data persistentVolumeClaim: claimName: chronicle-data diff --git a/crates/chronicle-test-infrastructure/Cargo.toml b/crates/chronicle-test-infrastructure/Cargo.toml index 860305443..df40dcbd7 100644 --- a/crates/chronicle-test-infrastructure/Cargo.toml +++ b/crates/chronicle-test-infrastructure/Cargo.toml @@ -18,8 +18,12 @@ common = { path = "../common", features = [ "std", ] } diesel = { workspace = true } -frame-support = { version = "25.0.0", features = ["std"] } -frame-system = { version = "25.0.0", features = ["std"] } +frame-support = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', features = ["std"] } +frame-system = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', features = ["std"] } +sp-core = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0' } +sp-io = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0' } +sp-runtime = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0' } + futures = { workspace = true } insta = { workspace = true, features = ["json", "yaml"] } lazy_static = { workspace = true } @@ -36,9 +40,6 @@ scale-info = { version = "2.10.0", default-features = false, features = [ "derive", ] } serde_json = { workspace = true } -sp-core = { version = "25.0.0" } -sp-io = { version = "27.0.0" } -sp-runtime = { version = "28.0.0" } subxt = { version = "0.34", features = ["substrate-compat"] } tempfile = { workspace = true } testcontainers = { workspace = true } diff --git a/crates/chronicle-test-infrastructure/src/substitutes/mockchain.rs b/crates/chronicle-test-infrastructure/src/substitutes/mockchain.rs index 1032ea03d..a32a6b3fd 100644 --- a/crates/chronicle-test-infrastructure/src/substitutes/mockchain.rs +++ b/crates/chronicle-test-infrastructure/src/substitutes/mockchain.rs @@ -40,6 +40,12 @@ impl frame_system::Config for Test { type SS58Prefix = ConstU16<42>; type SystemWeightInfo = (); type Version = (); + type RuntimeTask = (); + type SingleBlockMigrations = (); + type MultiBlockMigrator = (); + type PreInherents = (); + type PostInherents = (); + type PostTransactions = (); } impl pallet_chronicle::Config for Test { diff --git a/crates/chronicle/src/bootstrap/mod.rs b/crates/chronicle/src/bootstrap/mod.rs index 4e582379a..55ccdc9fb 100644 --- a/crates/chronicle/src/bootstrap/mod.rs +++ b/crates/chronicle/src/bootstrap/mod.rs @@ -303,7 +303,7 @@ pub async fn api( options: &ArgMatches, remote_opa: Option, liveness_check_interval: Option, -) -> Result { +) -> Result { use protocol_substrate::PolkadotConfig; let embedded_tp = in_mem_ledger(options).await?; diff --git a/crates/common/src/prov/model/mod.rs b/crates/common/src/prov/model/mod.rs index 2133d5b28..472637191 100644 --- a/crates/common/src/prov/model/mod.rs +++ b/crates/common/src/prov/model/mod.rs @@ -575,7 +575,7 @@ pub struct ProvSummary { pub total_delegations: usize, } -use std::fmt; +use core::fmt; impl fmt::Display for ProvSummary { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { diff --git a/crates/embedded-substrate/Cargo.toml b/crates/embedded-substrate/Cargo.toml index c54743b62..970f8203c 100644 --- a/crates/embedded-substrate/Cargo.toml +++ b/crates/embedded-substrate/Cargo.toml @@ -13,9 +13,10 @@ portpicker = { workspace = true } protocol-abstract = { path = "../protocol-abstract" } protocol-substrate = { path = "../protocol-substrate" } protocol-substrate-chronicle = { path = "../protocol-substrate-chronicle" } -sc-cli = { version = "0.33.0" } -sp-io = { version = "27.0.0" } -sp-runtime = { version = "28.0.0" } +sc-cli = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0' } +sp-io = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0' } +sp-runtime = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0' } + subxt = { version = "0.34", features = ["substrate-compat"] } tempfile = { version = "3" } thiserror = { workspace = true } diff --git a/crates/opactl/Cargo.toml b/crates/opactl/Cargo.toml index 4f62b8757..817a79a9c 100644 --- a/crates/opactl/Cargo.toml +++ b/crates/opactl/Cargo.toml @@ -35,8 +35,8 @@ uuid = { workspace = true, features = ["v4"] } [dev-dependencies] chronicle-telemetry = { path = "../chronicle-telemetry" } -frame-support = { version = "25.0.0", features = ["std"] } -frame-system = { version = "25.0.0", features = ["std"] } +frame-support = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', features = ["std"] } +frame-system = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', features = ["std"] } hex = { workspace = true } insta = { workspace = true, features = ["yaml"] } pallet-opa = { path = "../pallet-opa", features = ["std"] } @@ -50,9 +50,9 @@ scale-info = { version = "2.10.0", default-features = false, features = [ ] } scale-value = { version = "^0.14" } serde_json = { workspace = true } -sp-core = { version = "25.0.0" } -sp-io = { version = "27.0.0" } -sp-runtime = { version = "28.0.0" } +sp-core = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', features = ["std"] } +sp-io = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', features = ["std"] } +sp-runtime = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', features = ["std"] } subxt = { version = "0.34", features = ["substrate-compat"] } tempfile = { workspace = true } diff --git a/crates/opactl/src/test/mockchain.rs b/crates/opactl/src/test/mockchain.rs index a29dfd4d8..d89246e1e 100644 --- a/crates/opactl/src/test/mockchain.rs +++ b/crates/opactl/src/test/mockchain.rs @@ -40,6 +40,12 @@ impl frame_system::Config for Test { type SS58Prefix = ConstU16<42>; type SystemWeightInfo = (); type Version = (); + type RuntimeTask = (); + type SingleBlockMigrations = (); + type MultiBlockMigrator = (); + type PreInherents = (); + type PostInherents = (); + type PostTransactions = (); } impl pallet_opa::Config for Test { diff --git a/crates/pallet-chronicle/Cargo.toml b/crates/pallet-chronicle/Cargo.toml index f5b25aeb3..9bde56245 100644 --- a/crates/pallet-chronicle/Cargo.toml +++ b/crates/pallet-chronicle/Cargo.toml @@ -10,9 +10,13 @@ version = "0.7.5" common = { path = "../common", default-features = false, features = [ "parity-encoding", ] } -frame-benchmarking = { version = "25.0.0", default-features = false, optional = true } -frame-support = { version = "25.0.0", default-features = false } -frame-system = { version = "25.0.0", default-features = false } + +frame-benchmarking = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +frame-system = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-core = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-core-hashing = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-std = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } macro-attr-2018 = { workspace = true } newtype-derive-2018 = { workspace = true } parity-scale-codec = { version = "^3.4.0", default-features = false, features = [ @@ -22,9 +26,6 @@ scale-info = { version = "^2.10.0", default-features = false, features = [ "derive", ] } serde = { version = "1.0", default-features = false } -sp-core = { version = "25.0.0", default-features = false } -sp-core-hashing = { version = "14", default-features = false } -sp-std = { version = "12.0.0", default-features = false } tracing = { version = "0.1", default-features = false, features = [ "attributes", ] } @@ -32,9 +33,9 @@ uuid = { version = "1.5.0", default-features = false } [dev-dependencies] chronicle-telemetry = { path = "../chronicle-telemetry" } -sp-core = { version = "25.0.0" } -sp-io = { version = "27.0.0" } -sp-runtime = { version = "28.0.0" } +sp-core = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-io = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } uuid = { version = "1.5.0", default-features = true } [features] diff --git a/crates/pallet-chronicle/src/mock.rs b/crates/pallet-chronicle/src/mock.rs index e06b80987..17c30eaa7 100644 --- a/crates/pallet-chronicle/src/mock.rs +++ b/crates/pallet-chronicle/src/mock.rs @@ -42,6 +42,12 @@ impl frame_system::Config for Test { type SS58Prefix = ConstU16<42>; type SystemWeightInfo = (); type Version = (); + type RuntimeTask = (); + type SingleBlockMigrations = (); + type MultiBlockMigrator = (); + type PreInherents = (); + type PostInherents = (); + type PostTransactions = (); } impl pallet_template::Config for Test { diff --git a/crates/pallet-opa/Cargo.toml b/crates/pallet-opa/Cargo.toml index 17eb24b7a..d1c05bbf4 100644 --- a/crates/pallet-opa/Cargo.toml +++ b/crates/pallet-opa/Cargo.toml @@ -10,9 +10,14 @@ version = "0.7.5" common = { path = "../common", default-features = false, features = [ "parity-encoding", ] } -frame-benchmarking = { version = "25.0.0", default-features = false, optional = true } -frame-support = { version = "25.0.0", default-features = false } -frame-system = { version = "25.0.0", default-features = false } + +# Start Generation Here +frame-benchmarking = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false, optional = true } +frame-support = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +frame-system = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-core = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-core-hashing = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-std = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } k256 = { version = "0.11", default-features = false, features = [ "arithmetic", "ecdsa", @@ -29,20 +34,19 @@ scale-info = { version = "^2.10.0", default-features = false, features = [ ] } serde = { version = "1", default-features = false } serde_json = { version = "1", default-features = false, features = ["alloc"] } -sp-core = { version = "25", default-features = false } -sp-core-hashing = { version = "14", default-features = false } -sp-std = { version = "12.0.0", default-features = false } tracing = { version = "0.1", default-features = false, features = [ "attributes", ] } uuid = { version = "1.5", default-features = false } + [dev-dependencies] chronicle-telemetry = { path = "../chronicle-telemetry" } -sp-core = { version = "25.0.0" } -sp-io = { version = "27.0.0" } -sp-runtime = { version = "28.0.0" } -uuid = { version = "1.5.0", default-features = true } +sp-core = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0' } +sp-io = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0' } +sp-runtime = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0' } +uuid = { version = "1.5.0", default-features = false } + [features] default = ["std"] diff --git a/crates/runtime-api-chronicle/Cargo.toml b/crates/runtime-api-chronicle/Cargo.toml index b529e3513..a49e61757 100644 --- a/crates/runtime-api-chronicle/Cargo.toml +++ b/crates/runtime-api-chronicle/Cargo.toml @@ -7,8 +7,9 @@ edition = "2021" targets = ["x86_64-unknown-linux-gnu"] [dependencies] -sp-api = { version = "23.0.0", default-features = false } -sp-core = { version = "25.0.0", default-features = false } + +sp-api = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-core = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } #Local dependencies common = { path = "../common", default-features = false, features = ["parity-encoding"] } diff --git a/docker/unified-builder b/docker/unified-builder index e67b2c37d..7b723d980 100644 --- a/docker/unified-builder +++ b/docker/unified-builder @@ -12,7 +12,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -ARG RUST_VERSION=1.76 +ARG RUST_VERSION=1.78 ARG CARGO_HOME=.cargo_cached FROM --platform=${BUILDPLATFORM} rust:${RUST_VERSION} as hostbase ENV PKG_CONFIG_ALLOW_CROSS=1 diff --git a/node/node-chronicle/Cargo.toml b/node/node-chronicle/Cargo.toml index ddff0b35e..037d6556d 100644 --- a/node/node-chronicle/Cargo.toml +++ b/node/node-chronicle/Cargo.toml @@ -8,7 +8,7 @@ license = "MIT-0" name = "node-chronicle" publish = false repository = "https://github.com/substrate-developer-hub/substrate-node-template/" -version = "4.0.0-dev" +version = "0.1.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] @@ -21,54 +21,63 @@ path = "src/main.rs" name = "node_chronicle" path = "src/lib.rs" + [dependencies] -clap = { version = "4.4.2", features = ["derive"] } -frame-system = { version = "25.0.0" } -futures = { version = "0.3.21", features = ["thread-pool"] } -sc-cli = { version = "0.33.0" } -sc-client-api = { version = "25.0.0" } -sc-consensus = { version = "0.30.0" } -sc-consensus-aura = { version = "0.31.0" } -sc-consensus-grandpa = { version = "0.16.0" } -sc-executor = { version = "0.29.0" } -sc-network = { version = "0.31.0" } -sc-offchain = { version = "26.0.0" } -sc-service = { version = "0.32.0" } -sc-statement-store = { version = "7.0.0" } -sc-telemetry = { version = "12.0.0" } -sc-transaction-pool = { version = "25.0.0" } -sc-transaction-pool-api = { version = "25.0.0" } -sp-consensus-aura = { version = "0.29.0" } -sp-consensus-grandpa = { version = "10.0.0" } -sp-core = { version = "25.0.0" } -sp-inherents = { version = "23.0.0" } -sp-io = { version = "27.0.0" } -sp-keyring = { version = "28.0.0" } -sp-runtime = { version = "28.0.0" } -sp-timestamp = { version = "23.0.0" } +clap = { version = "^4.5.1", features = ["derive"] } +frame-system = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0'} +futures = { version = "^0.3.21", features = ["thread-pool"] } +sc-cli = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-client-api = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-consensus = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-consensus-aura = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-consensus-grandpa = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-executor = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-network = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-offchain = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-service = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-statement-store = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-telemetry = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-transaction-pool = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-transaction-pool-api = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-consensus-aura = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-consensus-grandpa = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-core = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-inherents = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-io = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-keyring = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-runtime = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-timestamp = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +pallet-im-online = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +pallet-session = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} + tracing = { workspace = true } + + # These dependencies are used for the node template's RPCs -jsonrpsee = { version = "0.16", features = ["server"] } -sc-basic-authorship = { version = "0.31.0" } -sc-rpc-api = { version = "0.30.0" } -sp-api = { version = "23.0.0" } -sp-block-builder = { version = "23.0.0" } -sp-blockchain = { version = "25.0.0" } -substrate-frame-rpc-system = { version = "25.0.0" } +jsonrpsee = { version = "^0.22", features = ["server"] } +structopt = "0.3.8" +sc-basic-authorship = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sc-rpc-api = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-api = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-block-builder = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +sp-blockchain = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +substrate-frame-rpc-system = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} # These dependencies are used for runtime benchmarking -frame-benchmarking = { version = "25.0.0" } -frame-benchmarking-cli = { version = "29.0.0" } +frame-benchmarking = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} +frame-benchmarking-cli = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} + + +try-runtime-cli = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0', optional = true} # Local Dependencies runtime-chronicle = { path = "../runtime-chronicle" } - -# CLI-specific dependencies -try-runtime-cli = { version = "0.35.0", optional = true } +pallet-chronicle = { path = "../../crates/pallet-chronicle"} +common = {path = "../../crates/common"} [build-dependencies] -substrate-build-script-utils = { version = "9.0.0" } +substrate-build-script-utils = { git = 'https://github.com/paritytech/polkadot-sdk', tag = 'polkadot-v1.9.0'} [features] default = [] diff --git a/node/node-chronicle/src/benchmarking.rs b/node/node-chronicle/src/benchmarking.rs index 17d3b32b8..1288331a6 100644 --- a/node/node-chronicle/src/benchmarking.rs +++ b/node/node-chronicle/src/benchmarking.rs @@ -4,10 +4,11 @@ use crate::service::FullClient; -use runtime::{AccountId, Balance, SystemCall}; -use runtime_chronicle as runtime; +use pallet_chronicle::chronicle_core::OperationSubmission; +use runtime::{AccountId, SystemCall}; use sc_cli::Result; use sc_client_api::BlockBackend; +use runtime_chronicle::{self as runtime, pallet_opa::operations::ChronicleOperation, RuntimeCall}; use sp_core::{Encode, Pair}; use sp_inherents::{InherentData, InherentDataProvider}; use sp_keyring::Sr25519Keyring; @@ -55,19 +56,46 @@ impl frame_benchmarking_cli::ExtrinsicBuilder for RemarkBuilder { /// Generates `Balances::TransferKeepAlive` extrinsics for the benchmarks. /// /// Note: Should only be used for benchmarking. -pub struct TransferKeepAliveBuilder { +pub struct OperationSubmissionBuilder { client: Arc, dest: AccountId, - value: Balance, + value: ChronicleOperation, } -impl TransferKeepAliveBuilder { +impl OperationSubmissionBuilder { /// Creates a new [`Self`] from the given client. - pub fn new(client: Arc, dest: AccountId, value: Balance) -> Self { + pub fn new(client: Arc, dest: AccountId, value: ChronicleOperation) -> Self { Self { client, dest, value } } } +impl frame_benchmarking_cli::ExtrinsicBuilder for OperationSubmissionBuilder { + fn pallet(&self) -> &str { + "balances" + } + + fn extrinsic(&self) -> &str { + "transfer_keep_alive" + } + + fn build(&self, nonce: u32) -> std::result::Result { + let acc = Sr25519Keyring::Bob.pair(); + let extrinsic: OpaqueExtrinsic = create_benchmark_extrinsic( + self.client.as_ref(), + acc, + RuntimeCall::Chronicle(pallet_chronicle::Call::apply { operations: OperationSubmission { + correlation_id: [0; 16], + items: vec![self.value.clone()].into(), + identity: common::identity::SignedIdentity::new_no_identity().into(), + }}), + nonce, + ) + .into(); + + Ok(extrinsic) + } +} + /// Create a transaction using the given `call`. /// /// Note: Should only be used for benchmarking. diff --git a/node/node-chronicle/src/chain_spec.rs b/node/node-chronicle/src/chain_spec.rs index effc16352..8a9d6e091 100644 --- a/node/node-chronicle/src/chain_spec.rs +++ b/node/node-chronicle/src/chain_spec.rs @@ -1,13 +1,14 @@ use runtime_chronicle::{ - pallet_chronicle, AccountId, AuraConfig, GrandpaConfig, Runtime, RuntimeGenesisConfig, - Signature, SudoConfig, SystemConfig, WASM_BINARY, + opaque::SessionKeys, pallet_chronicle, AccountId, AuraConfig, GrandpaConfig, ImOnlineConfig, Runtime, RuntimeGenesisConfig, SessionConfig, Signature, SudoConfig, SystemConfig, ValidatorSetConfig, WASM_BINARY }; use sc_service::ChainType; -use sc_telemetry::log; +use sc_telemetry::{log, serde_json}; use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_consensus_grandpa::AuthorityId as GrandpaId; use sp_core::{sr25519, Pair, Public}; use sp_runtime::traits::{IdentifyAccount, Verify}; +use pallet_im_online::sr25519::AuthorityId as ImOnlineId; +use serde_json::to_value; // The URL for the telemetry server. // const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; @@ -33,97 +34,63 @@ where } /// Generate an Aura authority key. -pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) { - (get_from_seed::(s), get_from_seed::(s)) +pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId, ImOnlineId) { + (get_from_seed::(s), get_from_seed::(s), get_from_seed::(s)) } pub fn development_config() -> Result { let wasm_binary = WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?; log::info!("development configuration"); - Ok(ChainSpec::from_genesis( - // Name - "Development", - // ID - "dev", - ChainType::Development, - move || { - testnet_genesis( - wasm_binary, - // Initial PoA authorities + + Ok(ChainSpec::builder(wasm_binary, None) + .with_name("Development") + .with_id("dev") + .with_chain_type(ChainType::Development) + .with_genesis_config( + serde_json::to_value(genesis( vec![authority_keys_from_seed("Alice")], - // Sudo account get_account_id_from_seed::("Alice"), - // Pre-funded accounts true, - ) - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - None, - None, - // Properties - None, - // Extensions - None, - )) + )).expect("Genesis config should be serializable") + ) + .with_protocol_id("chronicle") + .build()) } pub fn local_testnet_config() -> Result { let wasm_binary = WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?; log::info!("testnet configuration"); - Ok(ChainSpec::from_genesis( - // Name - "Local Testnet", - // ID - "local_testnet", - ChainType::Local, - move || { - testnet_genesis( - wasm_binary, - // Initial PoA authorities + Ok(ChainSpec::builder( + wasm_binary, + None + ) + .with_name("Local Testnet") + .with_id("local_testnet") + .with_chain_type(ChainType::Local) + .with_genesis_config( + to_value(genesis( vec![authority_keys_from_seed("Alice"), authority_keys_from_seed("Bob")], - // Sudo account get_account_id_from_seed::("Alice"), - // Pre-funded accounts true, - ) - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - None, - // Properties - None, - None, - // Extensions - None, - )) + )).expect("Genesis config should be serializable") + ) + .with_protocol_id("chronicle") + .build()) +} + +fn session_keys(aura: AuraId, grandpa: GrandpaId, im_online: ImOnlineId) -> SessionKeys { + SessionKeys { aura, grandpa, im_online } } /// Configure initial storage state for FRAME modules. -fn testnet_genesis( - wasm_binary: &[u8], - initial_authorities: Vec<(AuraId, GrandpaId)>, +fn genesis( + initial_authorities: Vec<(AuraId, GrandpaId, ImOnlineId)>, root_key: AccountId, _enable_println: bool, ) -> RuntimeGenesisConfig { RuntimeGenesisConfig { system: SystemConfig { - // Add Wasm runtime to storage. - code: wasm_binary.to_vec(), - ..Default::default() - }, - aura: AuraConfig { - authorities: initial_authorities.iter().map(|x| (x.0.clone())).collect(), - }, - grandpa: GrandpaConfig { - authorities: initial_authorities.iter().map(|x| (x.1.clone(), 1)).collect(), ..Default::default() }, sudo: SudoConfig { @@ -131,69 +98,51 @@ fn testnet_genesis( key: Some(root_key), }, chronicle: pallet_chronicle::GenesisConfig:: { ..Default::default() }, + validator_set: ValidatorSetConfig { + initial_validators: initial_authorities.iter().map(|x| { + sp_runtime::AccountId32::from(x.0.clone().into_inner()) + }).collect::>(), + }, + session: SessionConfig { + keys: initial_authorities.iter().map(|x| { + ( + sp_runtime::AccountId32::from(x.0.clone().into_inner()), + sp_runtime::AccountId32::from(x.0.clone().into_inner()), + session_keys(x.0.clone(), x.1.clone(), x.2.clone()) + ) + }).collect::>(), + }, + aura: AuraConfig { + authorities: vec![], + }, + grandpa: GrandpaConfig { + ..Default::default() + }, + im_online: ImOnlineConfig { keys: vec![] }, } } + pub fn chronicle_config() -> Result { let wasm_binary = WASM_BINARY.ok_or_else(|| "Development wasm not available".to_string())?; log::info!("testnet configuration"); - Ok(ChainSpec::from_genesis( - // Name - "Chronicle Mainnet", - // ID - "chronicle", - ChainType::Local, - move || { - mainnet_genesis( - wasm_binary, - // Initial PoA authorities + Ok(ChainSpec::builder( + wasm_binary, + None + ) + .with_name("Chronicle Mainnet") + .with_id("chronicle") + .with_chain_type(ChainType::Local) + .with_genesis_config( + serde_json::to_value(genesis( vec![], - // Sudo account get_account_id_from_seed::("Alice"), - // Pre-funded accounts true, - ) - }, - // Bootnodes - vec![], - // Telemetry - None, - // Protocol ID - Some("chronicle"), - // Properties - None, - None, - // Extensions - None, - )) + )).expect("Genesis config should be serializable") + ) + .with_protocol_id("chronicle") + .build()) } -/// Configure initial storage state for FRAME modules. -fn mainnet_genesis( - wasm_binary: &[u8], - initial_authorities: Vec<(AuraId, GrandpaId)>, - root_key: AccountId, - _enable_println: bool, -) -> RuntimeGenesisConfig { - RuntimeGenesisConfig { - system: SystemConfig { - // Add Wasm runtime to storage. - code: wasm_binary.to_vec(), - ..Default::default() - }, - aura: AuraConfig { - authorities: initial_authorities.iter().map(|x| (x.0.clone())).collect(), - }, - grandpa: GrandpaConfig { - authorities: initial_authorities.iter().map(|x| (x.1.clone(), 1)).collect(), - ..Default::default() - }, - sudo: SudoConfig { - // Assign network admin rights. - key: Some(root_key), - }, - chronicle: pallet_chronicle::GenesisConfig:: { ..Default::default() }, - } -} diff --git a/node/node-chronicle/src/cli.rs b/node/node-chronicle/src/cli.rs index 15ceaa062..7f1b67b36 100644 --- a/node/node-chronicle/src/cli.rs +++ b/node/node-chronicle/src/cli.rs @@ -41,12 +41,9 @@ pub enum Subcommand { #[command(subcommand)] Benchmark(frame_benchmarking_cli::BenchmarkCmd), - /// Try some command against runtime state. - #[cfg(feature = "try-runtime")] - TryRuntime(try_runtime_cli::TryRuntimeCmd), - - /// Try some command against runtime state. Note: `try-runtime` feature must be enabled. - #[cfg(not(feature = "try-runtime"))] + /// Try-runtime has migrated to a standalone CLI + /// (). The subcommand exists as a stub and + /// deprecation notice. It will be removed entirely some time after January 2024. TryRuntime, /// Db meta columns information. diff --git a/node/node-chronicle/src/command.rs b/node/node-chronicle/src/command.rs index c425aed2e..e0381642f 100644 --- a/node/node-chronicle/src/command.rs +++ b/node/node-chronicle/src/command.rs @@ -1,14 +1,15 @@ use crate::{ - benchmarking::{inherent_benchmark_data, RemarkBuilder}, + benchmarking::{inherent_benchmark_data, RemarkBuilder, OperationSubmissionBuilder}, chain_spec, cli::{Cli, Subcommand}, service, }; -use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}; +use frame_benchmarking_cli::{BenchmarkCmd, ExtrinsicFactory, SUBSTRATE_REFERENCE_HARDWARE}; use runtime_chronicle::Block; use sc_cli::SubstrateCli; use sc_service::PartialComponents; +use sp_keyring::AccountKeyring; #[cfg(feature = "try-runtime")] use try_runtime_cli::block_building_info::timestamp_with_aura_info; @@ -48,7 +49,6 @@ impl SubstrateCli for Cli { } } -/// Parse and run command line arguments pub fn run() -> sc_cli::Result<()> { let cli = Cli::from_args(); @@ -120,7 +120,7 @@ pub fn run() -> sc_cli::Result<()> { ) } - cmd.run::(config) + cmd.run::, ()>(config) }, BenchmarkCmd::Block(cmd) => { let PartialComponents { client, .. } = service::new_partial(&config)?; @@ -152,8 +152,14 @@ pub fn run() -> sc_cli::Result<()> { &ext_builder, ) }, - BenchmarkCmd::Extrinsic(_cmd) => { - todo!() // use chronicle here + BenchmarkCmd::Extrinsic(cmd) => { + let PartialComponents { client, .. } = service::new_partial(&config)?; + // Register the *Remark* and *TKA* builders. + let ext_factory = ExtrinsicFactory(vec![ + Box::new(RemarkBuilder::new(client.clone())), + ]); + + cmd.run(client, inherent_benchmark_data()?, Vec::new(), &ext_factory) }, BenchmarkCmd::Machine(cmd) => cmd.run(&config, SUBSTRATE_REFERENCE_HARDWARE.clone()), @@ -161,28 +167,7 @@ pub fn run() -> sc_cli::Result<()> { }) }, #[cfg(feature = "try-runtime")] - Some(Subcommand::TryRuntime(cmd)) => { - use crate::service::ExecutorDispatch; - use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch}; - let runner = cli.create_runner(cmd)?; - runner.async_run(|config| { - // we don't need any of the components of new_partial, just a runtime, or a task - // manager to do `async_run`. - let registry = config.prometheus_config.as_ref().map(|cfg| &cfg.registry); - let task_manager = - sc_service::TaskManager::new(config.tokio_handle.clone(), registry) - .map_err(|e| sc_cli::Error::Service(sc_service::Error::Prometheus(e)))?; - let info_provider = timestamp_with_aura_info(6000); - - Ok(( - cmd.run::::ExtendHostFunctions, - >, _>(Some(info_provider)), - task_manager, - )) - }) - }, + Some(Subcommand::TryRuntime) => Err(try_runtime_cli::DEPRECATION_NOTICE.into()), #[cfg(not(feature = "try-runtime"))] Some(Subcommand::TryRuntime) => Err("TryRuntime wasn't enabled when building the node. \ You can enable it with `--features try-runtime`." diff --git a/node/node-chronicle/src/rpc.rs b/node/node-chronicle/src/rpc.rs index db91f7ec4..2c9b1b01c 100644 --- a/node/node-chronicle/src/rpc.rs +++ b/node/node-chronicle/src/rpc.rs @@ -45,10 +45,6 @@ where module.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?; - // Extend this RPC with a custom API by using the following syntax. - // `YourRpcStruct` should have a reference to a client, which is needed - // to call into the runtime. - //module.merge(YourRpcTrait::into_rpc(YourRpcStruct::new(ReferenceToClient, ...)))?;` Ok(module) } diff --git a/node/node-chronicle/src/service.rs b/node/node-chronicle/src/service.rs index 8eaa302a2..63f07c0c2 100644 --- a/node/node-chronicle/src/service.rs +++ b/node/node-chronicle/src/service.rs @@ -1,67 +1,41 @@ //! Service and ServiceFactory implementation. Specialized wrapper over substrate service. - use futures::FutureExt; use runtime_chronicle::{self, opaque::Block, RuntimeApi}; use sc_client_api::{Backend, BlockBackend}; use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams}; use sc_consensus_grandpa::SharedVoterState; -pub use sc_executor::NativeElseWasmExecutor; use sc_service::{error::Error as ServiceError, Configuration, TaskManager, WarpSyncParams}; use sc_telemetry::{Telemetry, TelemetryWorker}; use sc_transaction_pool_api::OffchainTransactionPoolFactory; use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; use std::{sync::Arc, time::Duration}; -// Our native executor instance. -pub struct ExecutorDispatch; - -impl sc_executor::NativeExecutionDispatch for ExecutorDispatch { - /// Only enable the benchmarking host functions when we actually want to benchmark. - #[cfg(feature = "runtime-benchmarks")] - type ExtendHostFunctions = frame_benchmarking::benchmarking::HostFunctions; - /// Otherwise we only use the default Substrate host functions. - #[cfg(not(feature = "runtime-benchmarks"))] - type ExtendHostFunctions = (); - - fn dispatch(method: &str, data: &[u8]) -> Option> { - runtime_chronicle::api::dispatch(method, data) - } - - fn native_version() -> sc_executor::NativeVersion { - runtime_chronicle::native_version() - } -} - -pub(crate) type FullClient = - sc_service::TFullClient>; +pub(crate) type FullClient = sc_service::TFullClient< + Block, + RuntimeApi, + sc_executor::WasmExecutor, +>; type FullBackend = sc_service::TFullBackend; type FullSelectChain = sc_consensus::LongestChain; -const JUSTIFICATION_IMPORT_PERIOD: u32 = 32; - -#[allow(clippy::type_complexity)] -pub fn new_partial( - config: &Configuration, -) -> Result< - sc_service::PartialComponents< - FullClient, - FullBackend, - FullSelectChain, - sc_consensus::DefaultImportQueue, - sc_transaction_pool::FullPool, - ( - sc_consensus_grandpa::GrandpaBlockImport< - FullBackend, - Block, - FullClient, - FullSelectChain, - >, - sc_consensus_grandpa::LinkHalf, - Option, - ), - >, - ServiceError, -> { +/// The minimum period of blocks on which justifications will be +/// imported and generated. +const GRANDPA_JUSTIFICATION_PERIOD: u32 = 512; + +pub type Service = sc_service::PartialComponents< + FullClient, + FullBackend, + FullSelectChain, + sc_consensus::DefaultImportQueue, + sc_transaction_pool::FullPool, + ( + sc_consensus_grandpa::GrandpaBlockImport, + sc_consensus_grandpa::LinkHalf, + Option, + ), +>; + +pub fn new_partial(config: &Configuration) -> Result { let telemetry = config .telemetry_endpoints .clone() @@ -73,7 +47,7 @@ pub fn new_partial( }) .transpose()?; - let executor = sc_service::new_native_or_wasm_executor(config); + let executor = sc_service::new_wasm_executor::(config); let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts::( config, @@ -99,29 +73,35 @@ pub fn new_partial( let (grandpa_block_import, grandpa_link) = sc_consensus_grandpa::block_import( client.clone(), - JUSTIFICATION_IMPORT_PERIOD, + GRANDPA_JUSTIFICATION_PERIOD, &client, select_chain.clone(), telemetry.as_ref().map(|x| x.handle()), )?; - let slot_duration = sc_consensus_aura::slot_duration(&*client)?; - + let cidp_client = client.clone(); let import_queue = sc_consensus_aura::import_queue::(ImportQueueParams { block_import: grandpa_block_import.clone(), justification_import: Some(Box::new(grandpa_block_import.clone())), client: client.clone(), - create_inherent_data_providers: move |_, ()| async move { - let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); + create_inherent_data_providers: move |parent_hash, _| { + let cidp_client = cidp_client.clone(); + async move { + let slot_duration = sc_consensus_aura::standalone::slot_duration_at( + &*cidp_client, + parent_hash, + )?; + let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); - let slot = - sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( - *timestamp, - slot_duration, - ); + let slot = + sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration( + *timestamp, + slot_duration, + ); - Ok((slot, timestamp)) + Ok((slot, timestamp)) + } }, spawner: &task_manager.spawn_essential_handle(), registry: config.prometheus_registry(), @@ -161,9 +141,9 @@ pub fn new_full(config: Configuration) -> Result { &client.block_hash(0).ok().flatten().expect("Genesis block exists; qed"), &config.chain_spec, ); - net_config.add_notification_protocol(sc_consensus_grandpa::grandpa_peers_set_config( - grandpa_protocol_name.clone(), - )); + let (grandpa_protocol_config, grandpa_notification_service) = + sc_consensus_grandpa::grandpa_peers_set_config(grandpa_protocol_name.clone()); + net_config.add_notification_protocol(grandpa_protocol_config); let warp_sync = Arc::new(sc_consensus_grandpa::warp_proof::NetworkProvider::new( backend.clone(), @@ -179,9 +159,9 @@ pub fn new_full(config: Configuration) -> Result { transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), import_queue, - block_relay: None, block_announce_validator_builder: None, warp_sync_params: Some(WarpSyncParams::WithProvider(warp_sync)), + block_relay: None, })?; if config.offchain_worker.enabled { @@ -294,7 +274,7 @@ pub fn new_full(config: Configuration) -> Result { let grandpa_config = sc_consensus_grandpa::Config { // FIXME #1578 make this available through chainspec gossip_duration: Duration::from_millis(333), - justification_generation_period: 512, + justification_generation_period: GRANDPA_JUSTIFICATION_PERIOD, name: Some(name), observer_enabled: false, keystore, @@ -314,6 +294,7 @@ pub fn new_full(config: Configuration) -> Result { link: grandpa_link, network, sync: Arc::new(sync_service), + notification_service: grandpa_notification_service, voting_rule: sc_consensus_grandpa::VotingRulesBuilder::default().build(), prometheus_registry, shared_voter_state: SharedVoterState::empty(), diff --git a/node/runtime-chronicle/Cargo.toml b/node/runtime-chronicle/Cargo.toml index cd54b44f2..bd0ee11ec 100644 --- a/node/runtime-chronicle/Cargo.toml +++ b/node/runtime-chronicle/Cargo.toml @@ -10,49 +10,60 @@ version = "4.0.0" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] - [dependencies] -frame-executive = { version = "25.0.0", default-features = false } -frame-support = { version = "25.0.0", default-features = false } -frame-system = { version = "25.0.0", default-features = false } -frame-try-runtime = { version = "0.31.0", default-features = false, optional = true } -pallet-aura = { version = "24.0.0", default-features = false } -pallet-grandpa = { version = "25.0.0", default-features = false } -pallet-sudo = { version = "25.0.0", default-features = false } -pallet-timestamp = { version = "24.0.0", default-features = false } +frame-executive = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +frame-support = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +frame-system = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +frame-try-runtime = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false, optional = true } +pallet-aura = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +pallet-grandpa = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +pallet-sudo = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +pallet-session = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +pallet-timestamp = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +pallet-im-online = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } + parity-scale-codec = { version = "^3.4.0", default-features = false, features = [ - "derive", + "derive", ] } scale-info = { version = "^2.10.0", default-features = false, features = [ - "derive", + "derive", ] } -sp-api = { version = "23.0.0", default-features = false } -sp-block-builder = { version = "23.0.0", default-features = false } -sp-consensus-aura = { version = "0.29.0", default-features = false } -sp-consensus-grandpa = { version = "10.0.0", default-features = false } -sp-core = { version = "25.0.0", default-features = false } -sp-inherents = { version = "23.0.0", default-features = false } -sp-offchain = { version = "23.0.0", default-features = false } -sp-runtime = { version = "28.0.0", default-features = false } -sp-session = { version = "24.0.0", default-features = false } -sp-std = { version = "12.0.0", default-features = false } -sp-transaction-pool = { version = "23.0.0", default-features = false } -sp-version = { version = "26.0.0", default-features = false } +sp-api = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-block-builder = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-consensus-aura = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-consensus-grandpa = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-genesis-builder = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-core = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-inherents = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-offchain = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-runtime = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-session = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-std = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-transaction-pool = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } +sp-version = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } # Used for the node template's RPCs -frame-system-rpc-runtime-api = { version = "23.0.0", default-features = false } +frame-system-rpc-runtime-api = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false } # Used for runtime benchmarking -frame-benchmarking = { version = "25.0.0", default-features = false, optional = true } -frame-system-benchmarking = { version = "25.0.0", default-features = false, optional = true } +frame-benchmarking = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false, optional = true } +frame-system-benchmarking = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0', default-features = false, optional = true } + # Local Dependencies pallet-chronicle = { default-features = false, path = "../../crates/pallet-chronicle" } pallet-opa = { default-features = false, path = "../../crates/pallet-opa" } runtime-api-chronicle = { default-features = false, path = "../../crates/runtime-api-chronicle" } + +[dependencies.validator-set] +default-features = false +package = 'substrate-validator-set' +git = 'https://github.com/gautamdhameja/substrate-validator-set.git' +version = '1.1.0' + [build-dependencies] -substrate-wasm-builder = { version = "14.0.0", optional = true } +substrate-wasm-builder = { git = 'https://github.com/paritytech/polkadot-sdk.git', tag = 'polkadot-v1.9.0'} [features] default = ["std"] @@ -68,6 +79,9 @@ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks", ] std = [ + "pallet-im-online/std", + "validator-set/std", + "pallet-session/std", "pallet-chronicle/std", "runtime-api-chronicle/std", "frame-try-runtime?/std", @@ -96,8 +110,7 @@ std = [ "sp-session/std", "sp-std/std", "sp-transaction-pool/std", - "sp-version/std", - "substrate-wasm-builder", + "sp-version/std" ] try-runtime = [ "frame-try-runtime/try-runtime", diff --git a/node/runtime-chronicle/build.rs b/node/runtime-chronicle/build.rs index c03d61853..02d6973f2 100644 --- a/node/runtime-chronicle/build.rs +++ b/node/runtime-chronicle/build.rs @@ -1,10 +1,13 @@ +#[cfg(feature = "std")] fn main() { - #[cfg(feature = "std")] - { - substrate_wasm_builder::WasmBuilder::new() - .with_current_project() - .export_heap_base() - .import_memory() - .build(); - } + substrate_wasm_builder::WasmBuilder::new() + .with_current_project() + .export_heap_base() + .import_memory() + .build() } + +/// The wasm builder is deactivated when compiling +/// this crate for wasm to speed up the compilation. +#[cfg(not(feature = "std"))] +fn main() {} diff --git a/node/runtime-chronicle/src/lib.rs b/node/runtime-chronicle/src/lib.rs index 0546af27d..87f80e8a2 100644 --- a/node/runtime-chronicle/src/lib.rs +++ b/node/runtime-chronicle/src/lib.rs @@ -6,13 +6,16 @@ #[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); +use frame_support::pallet_prelude::TransactionPriority; +use frame_system::EnsureRoot; use pallet_grandpa::AuthorityId as GrandpaId; use sp_api::impl_runtime_apis; use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use pallet_im_online::sr25519::AuthorityId as ImOnlineId; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; use sp_runtime::{ create_runtime_str, generic, impl_opaque_keys, - traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, NumberFor, Verify}, + traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, NumberFor, OpaqueKeys, Verify}, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, MultiSignature, }; @@ -85,6 +88,7 @@ pub mod opaque { pub struct SessionKeys { pub aura: Aura, pub grandpa: Grandpa, + pub im_online: ImOnline, } } } @@ -197,6 +201,48 @@ impl frame_system::Config for Runtime { /// The set code logic, just the default since we're not a parachain. type OnSetCode = (); type MaxConsumers = frame_support::traits::ConstU32<16>; + + type RuntimeTask = RuntimeTask; + type SingleBlockMigrations = (); + type MultiBlockMigrator = (); + type PreInherents = (); + type PostInherents = (); + type PostTransactions = (); +} + +parameter_types! { + pub const MinAuthorities: u32 = 2; +} + +impl validator_set::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type AddRemoveOrigin = EnsureRoot; + type MinAuthorities = MinAuthorities; + type WeightInfo = validator_set::weights::SubstrateWeight; +} + +parameter_types! { + pub const Period: u32 = 2 * MINUTES; + pub const Offset: u32 = 0; +} + +parameter_types! { + pub const ImOnlineUnsignedPriority: TransactionPriority = TransactionPriority::max_value(); + pub const MaxKeys: u32 = 10_000; + pub const MaxPeerInHeartbeats: u32 = 10_000; + pub const MaxPeerDataEncodingSize: u32 = 1_000; +} + +impl pallet_session::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type ValidatorId = ::AccountId; + type ValidatorIdOf = validator_set::ValidatorOf; + type ShouldEndSession = pallet_session::PeriodicSessions; + type NextSessionRotation = pallet_session::PeriodicSessions; + type SessionManager = ValidatorSet; + type SessionHandler = ::KeyTypeIdProviders; + type Keys = opaque::SessionKeys; + type WeightInfo = (); } impl pallet_aura::Config for Runtime { @@ -232,6 +278,29 @@ impl pallet_sudo::Config for Runtime { type WeightInfo = pallet_sudo::weights::SubstrateWeight; } +impl frame_system::offchain::SigningTypes for Runtime { + type Public = ::Signer; + type Signature = Signature; +} + + +impl frame_system::offchain::SendTransactionTypes> for Runtime { + type OverarchingCall = RuntimeCall; + type Extrinsic = UncheckedExtrinsic; +} + +impl pallet_im_online::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type AuthorityId = ImOnlineId; + type NextSessionRotation = pallet_session::PeriodicSessions; + type ValidatorSet = ValidatorSet; + type ReportUnresponsiveness = ValidatorSet; + type UnsignedPriority = ImOnlineUnsignedPriority; + type WeightInfo = pallet_im_online::weights::SubstrateWeight; + type MaxKeys = MaxKeys; + type MaxPeerInHeartbeats = MaxPeerInHeartbeats; +} + /// Configure the pallet-template in pallets/template. impl pallet_chronicle::Config for Runtime { type RuntimeEvent = RuntimeEvent; @@ -253,6 +322,9 @@ construct_runtime!( Aura: pallet_aura, Grandpa: pallet_grandpa, Sudo: pallet_sudo, + ValidatorSet: validator_set, + Session: pallet_session, + ImOnline: pallet_im_online, Chronicle: pallet_chronicle, Opa: pallet_opa, } @@ -322,11 +394,23 @@ impl_runtime_apis! { Executive::execute_block(block); } - fn initialize_block(header: &::Header) { - Executive::initialize_block(header) - } + + fn initialize_block(header: &::Header) -> sp_runtime::ExtrinsicInclusionMode { + Executive::initialize_block(header); + sp_runtime::ExtrinsicInclusionMode::AllExtrinsics + } } + impl sp_genesis_builder::GenesisBuilder for Runtime { + fn create_default_config() -> Vec { + frame_support::genesis_builder_helper::create_default_config::() + } + + fn build_config(config: Vec) -> sp_genesis_builder::Result { + frame_support::genesis_builder_helper::build_config::(config) + } + } + impl sp_api::Metadata for Runtime { fn metadata() -> OpaqueMetadata { OpaqueMetadata::new(Runtime::metadata().into()) diff --git a/terraform/chronicle-substrate/bootnode.pod.txt b/terraform/chronicle-substrate/bootnode.pod.txt new file mode 100644 index 000000000..b4d5b99fc --- /dev/null +++ b/terraform/chronicle-substrate/bootnode.pod.txt @@ -0,0 +1,277 @@ +Name: bootnode-0 +Namespace: chronicle-substrate +Priority: 0 +Service Account: bootnode +Node: docker-desktop/192.168.65.3 +Start Time: Thu, 23 May 2024 22:09:19 +0100 +Labels: app.kubernetes.io/component=substrate-node + app.kubernetes.io/instance=chronicle-substrate + app.kubernetes.io/managed-by=Helm + app.kubernetes.io/name=node + app.kubernetes.io/version=local + apps.kubernetes.io/pod-index=0 + chain=local + controller-revision-hash=bootnode-6ff74ffd48 + database=rocksdb + helm.sh/chart=node-5.8.0 + pruning=archive + release=chronicle-substrate + role=full + statefulset.kubernetes.io/pod-name=bootnode-0 +Annotations: vault.hashicorp.com/agent-init-first: true + vault.hashicorp.com/agent-inject: true + vault.hashicorp.com/agent-inject-secret-aura: kv/chronicle-substrate/aura + vault.hashicorp.com/agent-inject-secret-bootnode-key: kv/chronicle-substrate/bootnode-key + vault.hashicorp.com/agent-inject-status: injected + vault.hashicorp.com/agent-inject-template-aura: {{ with secret "kv/chronicle-substrate/aura" }}{{ .Data.data.secretSeed }}{{ end }} + vault.hashicorp.com/agent-inject-template-bootnode-key: + {{ with secret "kv/chronicle-substrate/bootnode-key" }}{{ .Data.data.data }}{{ end }} + vault.hashicorp.com/agent-pre-populate-only: true + vault.hashicorp.com/auth-type: kubernetes + vault.hashicorp.com/role: admin +Status: Pending +IP: 10.1.0.144 +IPs: + IP: 10.1.0.144 +Controlled By: StatefulSet/bootnode +Init Containers: + vault-agent-init: + Container ID: docker://7ebe8bae640b5041400930844c848bdd9b2e6894f8d7b2397df9f8b96bc1c46c + Image: hashicorp/vault:1.16 + Image ID: docker-pullable://hashicorp/vault@sha256:e139ff28c23e1f22a6e325696318141259b177097d8e238a3a4c5b84862fadd8 + Port: + Host Port: + Command: + /bin/sh + -ec + Args: + echo ${VAULT_CONFIG?} | base64 -d > /home/vault/config.json && vault agent -config=/home/vault/config.json + State: Running + Started: Thu, 23 May 2024 22:09:19 +0100 + Ready: False + Restart Count: 0 + Limits: + cpu: 500m + memory: 128Mi + Requests: + cpu: 250m + memory: 64Mi + Environment: + NAMESPACE: chronicle-substrate (v1:metadata.namespace) + HOST_IP: (v1:status.hostIP) + POD_IP: (v1:status.podIP) + VAULT_LOG_LEVEL: info + VAULT_LOG_FORMAT: standard + VAULT_CONFIG: eyJhdXRvX2F1dGgiOnsibWV0aG9kIjp7InR5cGUiOiJrdWJlcm5ldGVzIiwibW91bnRfcGF0aCI6ImF1dGgva3ViZXJuZXRlcyIsImNvbmZpZyI6eyJyb2xlIjoiYWRtaW4iLCJ0b2tlbl9wYXRoIjoiL3Zhci9ydW4vc2VjcmV0cy9rdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3Rva2VuIn19LCJzaW5rIjpbeyJ0eXBlIjoiZmlsZSIsImNvbmZpZyI6eyJwYXRoIjoiL2hvbWUvdmF1bHQvLnZhdWx0LXRva2VuIn19XX0sImV4aXRfYWZ0ZXJfYXV0aCI6dHJ1ZSwicGlkX2ZpbGUiOiIvaG9tZS92YXVsdC8ucGlkIiwidmF1bHQiOnsiYWRkcmVzcyI6Imh0dHBzOi8vdmF1bHQudmF1bHQuc3ZjOjgyMDAifSwidGVtcGxhdGUiOlt7ImRlc3RpbmF0aW9uIjoiL3ZhdWx0L3NlY3JldHMvYm9vdG5vZGUta2V5IiwiY29udGVudHMiOiJ7eyB3aXRoIHNlY3JldCBcImt2L2Nocm9uaWNsZS1zdWJzdHJhdGUvYm9vdG5vZGUta2V5XCIgfX17eyAuRGF0YS5kYXRhLmRhdGEgfX17eyBlbmQgfX1cbiIsImxlZnRfZGVsaW1pdGVyIjoie3siLCJyaWdodF9kZWxpbWl0ZXIiOiJ9fSJ9LHsiZGVzdGluYXRpb24iOiIvdmF1bHQvc2VjcmV0cy9hdXJhIiwiY29udGVudHMiOiJ7eyB3aXRoIHNlY3JldCBcImt2L2Nocm9uaWNsZS1zdWJzdHJhdGUvYXVyYVwiIH19e3sgLkRhdGEuZGF0YS5zZWNyZXRTZWVkIH19e3sgZW5kIH19XG4iLCJsZWZ0X2RlbGltaXRlciI6Int7IiwicmlnaHRfZGVsaW1pdGVyIjoifX0ifV0sInRlbXBsYXRlX2NvbmZpZyI6eyJleGl0X29uX3JldHJ5X2ZhaWx1cmUiOnRydWV9fQ== + Mounts: + /home/vault from home-init (rw) + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-nwmnb (ro) + /vault/secrets from vault-secrets (rw) + inject-vault-keys: + Container ID: + Image: node-chronicle-arm64:local + Image ID: + Port: + Host Port: + Command: + /bin/sh + Args: + -c + set -eu + NODE_KEY_PATH="/vault/secrets/bootnode-key" + if [ ! -f ${NODE_KEY_PATH} ]; then + echo "Error: File ${NODE_KEY_PATH} does not exist" + exit 1 + fi + NODE_PEER_ID="$(cat ${NODE_KEY_PATH} | node-chronicle key inspect-node-key)" + echo "Inserted node key at ${NODE_KEY_PATH} with peer-id: ${NODE_PEER_ID}" + if [ ! -f /vault/secrets/aura ]; then + echo "Error: File /vault/secrets/aura does not exist" + exit 1 + fi + node-chronicle key insert \ + --keystore-path /keystore \ + --key-type aura \ + --scheme sr25519 \ + --suri "$(cat /vault/secrets/aura)//${HOSTNAME}//aura" \ + && echo "Inserted key aura (type=aura, scheme=sr25519) into Keystore" \ + || echo "Failed to insert key aura (type=aura, scheme=sr25519) into Keystore." + + State: Waiting + Reason: PodInitializing + Ready: False + Restart Count: 0 + Environment: + CHAIN: local + Mounts: + /keystore from chain-keystore (rw) + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-nwmnb (ro) + /vault/secrets from vault-secrets (rw) + retrieve-service-info: + Container ID: + Image: paritytech/kubetools-kubectl:latest + Image ID: + Port: + Host Port: + Command: + /bin/sh + Args: + -c + set -eu -o pipefail + POD_INDEX="${HOSTNAME##*-}" + RELAY_CHAIN_P2P_PORT="$(kubectl --namespace chronicle-substrate get service bootnode-${POD_INDEX}-relay-chain-p2p -o jsonpath='{.spec.ports[?(@.name=="p2p")].nodePort}')" + echo "${RELAY_CHAIN_P2P_PORT}" > /chain-data/relay_chain_p2p_port + echo "Retrieved Kubernetes service node port from bootnode-${POD_INDEX}-relay-chain-p2p" + echo "Saved ${RELAY_CHAIN_P2P_PORT} to /chain-data/relay_chain_p2p_port" + + State: Waiting + Reason: PodInitializing + Ready: False + Restart Count: 0 + Environment: + Mounts: + /chain-data from chain-data (rw) + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-nwmnb (ro) + /vault/secrets from vault-secrets (rw) + chainspec-generator: + Container ID: + Image: node-chronicle-arm64:local + Image ID: + Port: + Host Port: + Command: + /bin/bash + Args: + -c + apt update && apt install -y jq && + node-chronicle build-spec --chain local > base.json + if [ ! -s base.json ]; then + echo "base.json is empty or missing." + exit 1 + fi + echo '{"bootNodes":["/dns/bootnode-0/tcp/30333/p2p/12D3KooWRpzRTivvJ5ySvgbFnPeEE6rDhitQKL1fFJvvBGhnenSk"]}' > override1.json + jq -s '.[0] * .[1]' base.json override1.json | sed 's/1e+18/1000000000000000000/' > plain.json + if [ ! -s plain.json ]; then + echo "plain.json is empty or malformed after jq processing." + exit 1 + fi + cut -c -256 plain.json + node-chronicle build-spec --chain plain.json --raw > chainspec.json + if [ ! -s chainspec.json ]; then + echo "chainspec.json failed to generate." + exit 1 + fi + cp chainspec.json /chain-data/chainspec.json + + State: Waiting + Reason: PodInitializing + Ready: False + Restart Count: 0 + Environment: + VAULT_LOG_LEVEL: debug + Mounts: + /chain-data from chain-data (rw) + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-nwmnb (ro) + /vault/secrets from vault-secrets (rw) +Containers: + local: + Container ID: + Image: node-chronicle-arm64:local + Image ID: + Ports: 9944/TCP, 9615/TCP, 30333/TCP + Host Ports: 0/TCP, 0/TCP, 0/TCP + Command: + /bin/sh + Args: + -c + set -eu + POD_INDEX="${HOSTNAME##*-}" + RELAY_CHAIN_P2P_PORT="$(cat /chain-data/relay_chain_p2p_port)" + echo "RELAY_CHAIN_P2P_PORT=${RELAY_CHAIN_P2P_PORT}" + exec node-chronicle \ + --name=${POD_NAME} \ + --base-path=/chain-data \ + --keystore-path=/keystore \ + --chain=/chain-data/chainspec.json \ + --database=rocksdb \ + --state-pruning=archive \ + --prometheus-external \ + --prometheus-port 9615 \ + --unsafe-rpc-external \ + --rpc-port=9944 \ + --rpc-cors=all \ + --node-key $(cat /vault/secrets/bootnode-key) \ + --allow-private-ipv4 \ + --discover-local \ + --listen-addr=/ip4/0.0.0.0/tcp/30333 \ + + State: Waiting + Reason: PodInitializing + Ready: False + Restart Count: 0 + Startup: http-get http://:rpc/health delay=0s timeout=1s period=10s #success=1 #failure=30 + Environment: + CHAIN: local + NODE_NAME: $(POD_NAME) + POD_NAME: bootnode-0 (v1:metadata.name) + Mounts: + /chain-data from chain-data (rw) + /keystore from chain-keystore (rw) + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-nwmnb (ro) + /vault/secrets from vault-secrets (rw) + chainspec: + Container ID: + Image: nginxinc/nginx-unprivileged:stable + Image ID: + Port: 8080/TCP + Host Port: 0/TCP + State: Waiting + Reason: PodInitializing + Ready: False + Restart Count: 0 + Environment: + Mounts: + /usr/share/nginx/html/chainspec.json from chain-data (ro,path="chainspec.json") + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-nwmnb (ro) + /vault/secrets from vault-secrets (rw) +Conditions: + Type Status + PodReadyToStartContainers True + Initialized False + Ready False + ContainersReady False + PodScheduled True +Volumes: + chain-data: + Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace) + ClaimName: chain-data-bootnode-0 + ReadOnly: false + chain-keystore: + Type: EmptyDir (a temporary directory that shares a pod's lifetime) + Medium: Memory + SizeLimit: + kube-api-access-nwmnb: + Type: Projected (a volume that contains injected data from multiple sources) + TokenExpirationSeconds: 3607 + ConfigMapName: kube-root-ca.crt + ConfigMapOptional: + DownwardAPI: true + home-init: + Type: EmptyDir (a temporary directory that shares a pod's lifetime) + Medium: Memory + SizeLimit: + vault-secrets: + Type: EmptyDir (a temporary directory that shares a pod's lifetime) + Medium: Memory + SizeLimit: +QoS Class: Burstable +Node-Selectors: +Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s + node.kubernetes.io/unreachable:NoExecute op=Exists for 300s +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Scheduled 7m43s default-scheduler Successfully assigned chronicle-substrate/bootnode-0 to docker-desktop + Normal Pulled 7m43s kubelet Container image "hashicorp/vault:1.16" already present on machine + Normal Created 7m43s kubelet Created container vault-agent-init + Normal Started 7m43s kubelet Started container vault-agent-init diff --git a/terraform/chronicle-substrate/bootnode.tf b/terraform/chronicle-substrate/bootnode.tf deleted file mode 100644 index 3b1cf162d..000000000 --- a/terraform/chronicle-substrate/bootnode.tf +++ /dev/null @@ -1,25 +0,0 @@ -#------------------------------------------------------------------------------ -# Bootnode deployment -#------------------------------------------------------------------------------ -resource "helm_release" "bootnode" { - name = var.helm_release_name - repository = "https://paritytech.github.io/helm-charts/" - chart = "node" - namespace = var.kubernetes_namespace - - values = [ - templatefile("templates/bootnode.tmpl", { - helm_release_name = var.helm_release_name - - kubernetes_namespace = var.kubernetes_namespace - kubernetes_image_pull_secrets = var.kubernetes_image_pull_secrets - - chronicle_node_repository = var.chronicle-node-repository - bootnode_key = var.bootnode-key - - node = { - command = "node-chronicle" - } - }) - ] -} diff --git a/terraform/chronicle-substrate/demo.pod.txt b/terraform/chronicle-substrate/demo.pod.txt new file mode 100644 index 000000000..a67a0d22e --- /dev/null +++ b/terraform/chronicle-substrate/demo.pod.txt @@ -0,0 +1,147 @@ +Name: demo-pod +Namespace: chronicle-substrate +Priority: 0 +Service Account: default +Node: docker-desktop/192.168.65.3 +Start Time: Thu, 23 May 2024 22:02:12 +0100 +Labels: +Annotations: vault.hashicorp.com/agent-inject: true + vault.hashicorp.com/agent-inject-secret-aura: kv/chronicle-substrate/aura + vault.hashicorp.com/agent-inject-status: injected + vault.hashicorp.com/ca-cert: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + vault.hashicorp.com/role: admin +Status: Running +IP: 10.1.0.143 +IPs: + IP: 10.1.0.143 +Init Containers: + vault-agent-init: + Container ID: docker://0c650b616145a99091270b4a4848357b5bbe47ef6223d16bc1c7f18fcffe06b1 + Image: hashicorp/vault:1.16 + Image ID: docker-pullable://hashicorp/vault@sha256:e139ff28c23e1f22a6e325696318141259b177097d8e238a3a4c5b84862fadd8 + Port: + Host Port: + Command: + /bin/sh + -ec + Args: + echo ${VAULT_CONFIG?} | base64 -d > /home/vault/config.json && vault agent -config=/home/vault/config.json + State: Terminated + Reason: Completed + Exit Code: 0 + Started: Thu, 23 May 2024 22:02:12 +0100 + Finished: Thu, 23 May 2024 22:02:12 +0100 + Ready: True + Restart Count: 0 + Limits: + cpu: 500m + memory: 128Mi + Requests: + cpu: 250m + memory: 64Mi + Environment: + NAMESPACE: chronicle-substrate (v1:metadata.namespace) + HOST_IP: (v1:status.hostIP) + POD_IP: (v1:status.podIP) + VAULT_LOG_LEVEL: info + VAULT_LOG_FORMAT: standard + VAULT_CONFIG: eyJhdXRvX2F1dGgiOnsibWV0aG9kIjp7InR5cGUiOiJrdWJlcm5ldGVzIiwibW91bnRfcGF0aCI6ImF1dGgva3ViZXJuZXRlcyIsImNvbmZpZyI6eyJyb2xlIjoiYWRtaW4iLCJ0b2tlbl9wYXRoIjoiL3Zhci9ydW4vc2VjcmV0cy9rdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3Rva2VuIn19LCJzaW5rIjpbeyJ0eXBlIjoiZmlsZSIsImNvbmZpZyI6eyJwYXRoIjoiL2hvbWUvdmF1bHQvLnZhdWx0LXRva2VuIn19XX0sImV4aXRfYWZ0ZXJfYXV0aCI6dHJ1ZSwicGlkX2ZpbGUiOiIvaG9tZS92YXVsdC8ucGlkIiwidmF1bHQiOnsiYWRkcmVzcyI6Imh0dHBzOi8vdmF1bHQudmF1bHQuc3ZjOjgyMDAiLCJjYV9jZXJ0IjoiL3Zhci9ydW4vc2VjcmV0cy9rdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L2NhLmNydCJ9LCJ0ZW1wbGF0ZSI6W3siZGVzdGluYXRpb24iOiIvdmF1bHQvc2VjcmV0cy9hdXJhIiwiY29udGVudHMiOiJ7eyB3aXRoIHNlY3JldCBcImt2L2Nocm9uaWNsZS1zdWJzdHJhdGUvYXVyYVwiIH19e3sgcmFuZ2UgJGssICR2IDo9IC5EYXRhIH19e3sgJGsgfX06IHt7ICR2IH19XG57eyBlbmQgfX17eyBlbmQgfX0iLCJsZWZ0X2RlbGltaXRlciI6Int7IiwicmlnaHRfZGVsaW1pdGVyIjoifX0ifV0sInRlbXBsYXRlX2NvbmZpZyI6eyJleGl0X29uX3JldHJ5X2ZhaWx1cmUiOnRydWV9fQ== + Mounts: + /home/vault from home-init (rw) + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-qgjjq (ro) + /vault/secrets from vault-secrets (rw) +Containers: + demo-container: + Container ID: docker://919a861d708deb09e57be21cf5c16bc9f10c324c291bd19f01995cf81ebc7fee + Image: alpine + Image ID: docker-pullable://alpine@sha256:77726ef6b57ddf65bb551896826ec38bc3e53f75cdde31354fbffb4f25238ebd + Port: + Host Port: + Command: + sh + -c + sleep 3600 + State: Running + Started: Thu, 23 May 2024 22:02:15 +0100 + Ready: True + Restart Count: 0 + Environment: + Mounts: + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-qgjjq (ro) + /vault/secrets from vault-secrets (rw) + vault-agent: + Container ID: docker://ba836795513a44c0b11c068f06cd08216ef628d976a1ed46fd22e540f7c6cb49 + Image: hashicorp/vault:1.16 + Image ID: docker-pullable://hashicorp/vault@sha256:e139ff28c23e1f22a6e325696318141259b177097d8e238a3a4c5b84862fadd8 + Port: + Host Port: + Command: + /bin/sh + -ec + Args: + echo ${VAULT_CONFIG?} | base64 -d > /home/vault/config.json && vault agent -config=/home/vault/config.json + State: Running + Started: Thu, 23 May 2024 22:02:15 +0100 + Ready: True + Restart Count: 0 + Limits: + cpu: 500m + memory: 128Mi + Requests: + cpu: 250m + memory: 64Mi + Environment: + NAMESPACE: chronicle-substrate (v1:metadata.namespace) + HOST_IP: (v1:status.hostIP) + POD_IP: (v1:status.podIP) + VAULT_LOG_LEVEL: info + VAULT_LOG_FORMAT: standard + VAULT_CONFIG: eyJhdXRvX2F1dGgiOnsibWV0aG9kIjp7InR5cGUiOiJrdWJlcm5ldGVzIiwibW91bnRfcGF0aCI6ImF1dGgva3ViZXJuZXRlcyIsImNvbmZpZyI6eyJyb2xlIjoiYWRtaW4iLCJ0b2tlbl9wYXRoIjoiL3Zhci9ydW4vc2VjcmV0cy9rdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3Rva2VuIn19LCJzaW5rIjpbeyJ0eXBlIjoiZmlsZSIsImNvbmZpZyI6eyJwYXRoIjoiL2hvbWUvdmF1bHQvLnZhdWx0LXRva2VuIn19XX0sImV4aXRfYWZ0ZXJfYXV0aCI6ZmFsc2UsInBpZF9maWxlIjoiL2hvbWUvdmF1bHQvLnBpZCIsInZhdWx0Ijp7ImFkZHJlc3MiOiJodHRwczovL3ZhdWx0LnZhdWx0LnN2Yzo4MjAwIiwiY2FfY2VydCI6Ii92YXIvcnVuL3NlY3JldHMva3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9jYS5jcnQifSwidGVtcGxhdGUiOlt7ImRlc3RpbmF0aW9uIjoiL3ZhdWx0L3NlY3JldHMvYXVyYSIsImNvbnRlbnRzIjoie3sgd2l0aCBzZWNyZXQgXCJrdi9jaHJvbmljbGUtc3Vic3RyYXRlL2F1cmFcIiB9fXt7IHJhbmdlICRrLCAkdiA6PSAuRGF0YSB9fXt7ICRrIH19OiB7eyAkdiB9fVxue3sgZW5kIH19e3sgZW5kIH19IiwibGVmdF9kZWxpbWl0ZXIiOiJ7eyIsInJpZ2h0X2RlbGltaXRlciI6In19In1dLCJ0ZW1wbGF0ZV9jb25maWciOnsiZXhpdF9vbl9yZXRyeV9mYWlsdXJlIjp0cnVlfX0= + Mounts: + /home/vault from home-sidecar (rw) + /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-qgjjq (ro) + /vault/secrets from vault-secrets (rw) +Conditions: + Type Status + PodReadyToStartContainers True + Initialized True + Ready True + ContainersReady True + PodScheduled True +Volumes: + kube-api-access-qgjjq: + Type: Projected (a volume that contains injected data from multiple sources) + TokenExpirationSeconds: 3607 + ConfigMapName: kube-root-ca.crt + ConfigMapOptional: + DownwardAPI: true + home-init: + Type: EmptyDir (a temporary directory that shares a pod's lifetime) + Medium: Memory + SizeLimit: + home-sidecar: + Type: EmptyDir (a temporary directory that shares a pod's lifetime) + Medium: Memory + SizeLimit: + vault-secrets: + Type: EmptyDir (a temporary directory that shares a pod's lifetime) + Medium: Memory + SizeLimit: +QoS Class: Burstable +Node-Selectors: +Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s + node.kubernetes.io/unreachable:NoExecute op=Exists for 300s +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Scheduled 14m default-scheduler Successfully assigned chronicle-substrate/demo-pod to docker-desktop + Normal Pulled 14m kubelet Container image "hashicorp/vault:1.16" already present on machine + Normal Created 14m kubelet Created container vault-agent-init + Normal Started 14m kubelet Started container vault-agent-init + Normal Pulling 14m kubelet Pulling image "alpine" + Normal Pulled 14m kubelet Successfully pulled image "alpine" in 1.204s (1.204s including waiting) + Normal Created 14m kubelet Created container demo-container + Normal Started 14m kubelet Started container demo-container + Normal Pulled 14m kubelet Container image "hashicorp/vault:1.16" already present on machine + Normal Created 14m kubelet Created container vault-agent + Normal Started 14m kubelet Started container vault-agent diff --git a/terraform/chronicle-substrate/network.tf b/terraform/chronicle-substrate/network.tf new file mode 100644 index 000000000..1a5d00240 --- /dev/null +++ b/terraform/chronicle-substrate/network.tf @@ -0,0 +1,86 @@ +#------------------------------------------------------------------------------ +# Bootnode deployment +#------------------------------------------------------------------------------ +resource "helm_release" "bootnode" { + name = "${var.helm_release_name}-bootnode" + repository = "https://paritytech.github.io/helm-charts/" + chart = "node" + namespace = var.kubernetes_namespace + + values = [ + templatefile("templates/bootnode.tmpl", { + helm_release_name = var.helm_release_name + + kubernetes_namespace = var.kubernetes_namespace + kubernetes_image_pull_secrets = var.kubernetes_image_pull_secrets + + chronicle_node_repository = var.chronicle-node-repository + + node = { + command = "node-chronicle" + tracing = { + enabled = true + } + } + }) + ] +} + +resource "helm_release" "validators" { + name = "${var.helm_release_name}-validators" + repository = "https://paritytech.github.io/helm-charts/" + chart = "node" + namespace = var.kubernetes_namespace + + values = [ + templatefile("templates/validators.tmpl", { + helm_release_name = var.helm_release_name + + kubernetes_namespace = var.kubernetes_namespace + kubernetes_image_pull_secrets = var.kubernetes_image_pull_secrets + + chronicle_node_repository = var.chronicle-node-repository + + node = { + command = "node-chronicle" + tracing = { + enabled = true + } + } + }) + ] + + depends_on = [helm_release.bootnode] +} + + +resource "kubernetes_manifest" "bootnode_service_monitor" { + manifest = { + apiVersion = "monitoring.coreos.com/v1" + kind = "ServiceMonitor" + metadata = { + name = "bootnode-service-monitor" + namespace = var.kubernetes_namespace + labels = { + release = "prometheus-operator" + } + } + spec = { + selector = { + matchLabels = { + component = "substrate-node" + } + } + namespaceSelector = { + matchNames = [var.kubernetes_namespace] + } + endpoints = [ + { + port = 9625 + interval = "30s" + } + ] + } + } +} + diff --git a/terraform/chronicle-substrate/provider.tf b/terraform/chronicle-substrate/provider.tf index d9112c608..88aba7036 100644 --- a/terraform/chronicle-substrate/provider.tf +++ b/terraform/chronicle-substrate/provider.tf @@ -8,3 +8,5 @@ provider "helm" { } } + + diff --git a/terraform/chronicle-substrate/templates/bootnode.tmpl b/terraform/chronicle-substrate/templates/bootnode.tmpl index 49882025c..874c3b11e 100644 --- a/terraform/chronicle-substrate/templates/bootnode.tmpl +++ b/terraform/chronicle-substrate/templates/bootnode.tmpl @@ -1,8 +1,21 @@ fullnameOverride: bootnode +initContainers: + injectKeys: + debug: true +jaegerAgent: + collector: + url: 127.0.0.1 + port: 14250 image: repository: ${chronicle_node_repository} tag: local pullPolicy: IfNotPresent + debug: true +podAnnotations: + sidecar.opentelemetry.io/inject: "true" + vault.hashicorp.com/ca-cert: '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' + vault.hashicorp.com/agent-inject-template-bootnode_key: '{{ with secret "kv/chronicle-substrate/bootnode_key" }}{{ .Data.data.key }}{{ end }}' + vault.hashicorp.com/agent-inject-template-bootnode_peer: '{{ with secret "kv/chronicle-substrate/bootnode_peer" }}{{ .Data.data.peer_id }}{{ end }}' node: chain: local customChainspec: true # see extraInitContainers, chainspec-generator @@ -18,24 +31,26 @@ node: perNodeServices: relayP2pService: enabled: true + prometheus: + enabled: true vault: - enabled: false + enabled: true + authRole: admin + authType: kubernetes keys: - name: aura type: aura scheme: sr25519 - vaultPath: kv/chronicle_substrate/aura # path at which the secret is located in Vault + vaultPath: kv/chronicle-substrate/aura # path at which the secret is located in Vault vaultKey: secretSeed # key under which the secret value is stored in Vault extraDerivation: "//$${HOSTNAME}//aura" # allows to have unique derived keys for each pod of the statefulset nodeKey: name: bootnode_key - vaultPath: kv/chronicle-substrate/bootnode_key vaultKey: key + vaultPath: kv/chronicle-substrate/bootnode_key env: - name: VAULT_LOG_LEVEL value: "debug" - - customNodeKey: ${bootnode_key} flags: - "--allow-private-ipv4" - "--discover-local" @@ -66,11 +81,6 @@ ingress: extraInitContainers: - name: chainspec-generator image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - annotations: - vault.hashicorp.com/agent-inject: "true" - vault.hashicorp.com/role: 'bootnode' - vault.hashicorp.com/agent-inject-secret-bootnode_key: 'kv/chronicle_substrate/bootnode_key' - vault.hashicorp.com/agent-inject-secret-bootnode_peer: 'kv/chronicle_substrate/bootnode_peer' securityContext: runAsUser: 0 command: [ "/bin/bash" ] @@ -83,7 +93,8 @@ extraInitContainers: echo "base.json is empty or missing." exit 1 fi - echo '{"bootNodes":["/dns/bootnode-0/tcp/30333/p2p/12D3KooWRpzRTivvJ5ySvgbFnPeEE6rDhitQKL1fFJvvBGhnenSk"]}' > override1.json + BOOTNODE_PEER=$(cat /vault/secrets/bootnode_peer) + echo "{\"bootNodes\":[\"/dns/bootnode-0/tcp/30333/p2p/$${BOOTNODE_PEER}\"]}" > override1.json jq -s '.[0] * .[1]' base.json override1.json | sed 's/1e+18/1000000000000000000/' > plain.json if [ ! -s plain.json ]; then echo "plain.json is empty or malformed after jq processing." diff --git a/terraform/chronicle-substrate/templates/validators.tmpl b/terraform/chronicle-substrate/templates/validators.tmpl new file mode 100644 index 000000000..9c08fc26e --- /dev/null +++ b/terraform/chronicle-substrate/templates/validators.tmpl @@ -0,0 +1,38 @@ +image: + repository: ${chronicle_node_repository} + tag: local + pullPolicy: IfNotPresent + +node: + chain: local + command: node-chronicle + customChainspecUrl: http://bootnode:8080/chainspec.json + forceDownloadChainspec: true + role: authority + replicas: 2 + vault: + enabled: true + authRole: admin + authType: kubernetes + keys: + - name: aura + type: aura + scheme: sr25519 + vaultPath: kv/chronicle-substrate/aura # path at which the secret is located in Vault + vaultKey: secretSeed # key under which the secret value is stored in Vault + extraDerivation: "//$${HOSTNAME}//aura" # allows to have unique derived keys for each pod of the statefulset + - name: grankey + type: grandpa + scheme: sr25519 + vaultPath: kv/chronicle-substrate/grankey + vaultKey: secretSeed + extraDerivation: "//$${HOSTNAME}//gran" # allows to have unique derived keys for each pod of the statefulset + chainData: + pruning: 1000 + storageClass: "" + chainKeystore: + storageClass: "" + keys: {} + flags: + - "--allow-private-ipv4" + - "--discover-local" diff --git a/terraform/chronicle-substrate/tree.txt b/terraform/chronicle-substrate/tree.txt new file mode 100644 index 000000000..78dea8f1e --- /dev/null +++ b/terraform/chronicle-substrate/tree.txt @@ -0,0 +1,5501 @@ +api v0.7.5 (/Users/ryan/code/chronicle/crates/api) +├── anyhow v1.0.86 +│ └── backtrace v0.3.72 +│ ├── addr2line v0.22.0 +│ │ └── gimli v0.29.0 +│ ├── cfg-if v1.0.0 +│ ├── libc v0.2.155 +│ ├── miniz_oxide v0.7.3 +│ │ └── adler v1.0.2 +│ ├── object v0.35.0 +│ │ └── memchr v2.7.2 +│ └── rustc-demangle v0.1.24 +│ [build-dependencies] +│ └── cc v1.0.98 +│ ├── jobserver v0.1.31 +│ │ └── libc v0.2.155 +│ ├── libc v0.2.155 +│ └── once_cell v1.19.0 +├── async-graphql v7.0.5 +│ ├── async-graphql-derive v7.0.5 (proc-macro) +│ │ ├── Inflector v0.11.4 +│ │ │ ├── lazy_static v1.4.0 +│ │ │ │ └── spin v0.5.2 +│ │ │ └── regex v1.10.4 +│ │ │ ├── aho-corasick v1.1.3 +│ │ │ │ └── memchr v2.7.2 +│ │ │ ├── memchr v2.7.2 +│ │ │ ├── regex-automata v0.4.6 +│ │ │ │ ├── aho-corasick v1.1.3 (*) +│ │ │ │ ├── memchr v2.7.2 +│ │ │ │ └── regex-syntax v0.8.3 +│ │ │ └── regex-syntax v0.8.3 +│ │ ├── async-graphql-parser v7.0.5 +│ │ │ ├── async-graphql-value v7.0.5 +│ │ │ │ ├── bytes v1.6.0 +│ │ │ │ │ └── serde v1.0.203 +│ │ │ │ │ └── serde_derive v1.0.203 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 +│ │ │ │ │ │ └── unicode-ident v1.0.12 +│ │ │ │ │ ├── quote v1.0.36 +│ │ │ │ │ │ └── proc-macro2 v1.0.84 (*) +│ │ │ │ │ └── syn v2.0.66 +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── unicode-ident v1.0.12 +│ │ │ │ ├── indexmap v2.2.6 +│ │ │ │ │ ├── equivalent v1.0.1 +│ │ │ │ │ ├── hashbrown v0.14.5 +│ │ │ │ │ │ ├── ahash v0.8.11 +│ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ ├── getrandom v0.2.15 +│ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ └── zerocopy v0.7.34 +│ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ └── version_check v0.9.4 +│ │ │ │ │ │ └── allocator-api2 v0.2.18 +│ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ └── serde_json v1.0.117 +│ │ │ │ ├── itoa v1.0.11 +│ │ │ │ ├── ryu v1.0.18 +│ │ │ │ └── serde v1.0.203 (*) +│ │ │ ├── pest v2.7.10 +│ │ │ │ ├── memchr v2.7.2 +│ │ │ │ ├── thiserror v1.0.61 +│ │ │ │ │ └── thiserror-impl v1.0.61 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ └── ucd-trie v0.1.6 +│ │ │ ├── serde v1.0.203 (*) +│ │ │ └── serde_json v1.0.117 (*) +│ │ ├── darling v0.20.9 +│ │ │ ├── darling_core v0.20.9 +│ │ │ │ ├── fnv v1.0.7 +│ │ │ │ ├── ident_case v1.0.1 +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ ├── strsim v0.11.1 +│ │ │ │ └── syn v2.0.66 (*) +│ │ │ └── darling_macro v0.20.9 (proc-macro) +│ │ │ ├── darling_core v0.20.9 (*) +│ │ │ ├── quote v1.0.36 (*) +│ │ │ └── syn v2.0.66 (*) +│ │ ├── proc-macro-crate v3.1.0 +│ │ │ └── toml_edit v0.21.1 +│ │ │ ├── indexmap v2.2.6 (*) +│ │ │ ├── toml_datetime v0.6.6 +│ │ │ │ └── serde v1.0.203 (*) +│ │ │ └── winnow v0.5.40 +│ │ ├── proc-macro2 v1.0.84 (*) +│ │ ├── quote v1.0.36 (*) +│ │ ├── strum v0.26.2 +│ │ │ └── strum_macros v0.26.2 (proc-macro) +│ │ │ ├── heck v0.4.1 +│ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ ├── quote v1.0.36 (*) +│ │ │ ├── rustversion v1.0.17 (proc-macro) +│ │ │ └── syn v2.0.66 (*) +│ │ ├── syn v2.0.66 (*) +│ │ └── thiserror v1.0.61 (*) +│ ├── async-graphql-parser v7.0.5 (*) +│ ├── async-graphql-value v7.0.5 (*) +│ ├── async-stream v0.3.5 +│ │ ├── async-stream-impl v0.3.5 (proc-macro) +│ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ ├── quote v1.0.36 (*) +│ │ │ └── syn v2.0.66 (*) +│ │ ├── futures-core v0.3.30 +│ │ └── pin-project-lite v0.2.14 +│ ├── async-trait v0.1.80 (proc-macro) +│ │ ├── proc-macro2 v1.0.84 (*) +│ │ ├── quote v1.0.36 (*) +│ │ └── syn v2.0.66 (*) +│ ├── base64 v0.22.1 +│ ├── blocking v1.6.1 +│ │ ├── async-channel v2.3.1 +│ │ │ ├── concurrent-queue v2.5.0 +│ │ │ │ └── crossbeam-utils v0.8.20 +│ │ │ ├── event-listener-strategy v0.5.2 +│ │ │ │ ├── event-listener v5.3.1 +│ │ │ │ │ ├── concurrent-queue v2.5.0 (*) +│ │ │ │ │ ├── parking v2.2.0 +│ │ │ │ │ └── pin-project-lite v0.2.14 +│ │ │ │ └── pin-project-lite v0.2.14 +│ │ │ ├── futures-core v0.3.30 +│ │ │ └── pin-project-lite v0.2.14 +│ │ ├── async-task v4.7.1 +│ │ ├── futures-io v0.3.30 +│ │ ├── futures-lite v2.3.0 +│ │ │ ├── futures-core v0.3.30 +│ │ │ └── pin-project-lite v0.2.14 +│ │ └── piper v0.2.2 +│ │ ├── atomic-waker v1.1.2 +│ │ ├── fastrand v2.1.0 +│ │ └── futures-io v0.3.30 +│ ├── bytes v1.6.0 (*) +│ ├── chrono v0.4.38 +│ │ ├── iana-time-zone v0.1.60 +│ │ │ └── core-foundation-sys v0.8.6 +│ │ ├── num-traits v0.2.19 +│ │ │ └── libm v0.2.8 +│ │ │ [build-dependencies] +│ │ │ └── autocfg v1.3.0 +│ │ └── serde v1.0.203 (*) +│ ├── fast_chemail v0.9.6 +│ │ └── ascii_utils v0.9.3 +│ ├── fnv v1.0.7 +│ ├── futures-util v0.3.30 +│ │ ├── futures-channel v0.3.30 +│ │ │ ├── futures-core v0.3.30 +│ │ │ └── futures-sink v0.3.30 +│ │ ├── futures-core v0.3.30 +│ │ ├── futures-io v0.3.30 +│ │ ├── futures-macro v0.3.30 (proc-macro) +│ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ ├── quote v1.0.36 (*) +│ │ │ └── syn v2.0.66 (*) +│ │ ├── futures-sink v0.3.30 +│ │ ├── futures-task v0.3.30 +│ │ ├── memchr v2.7.2 +│ │ ├── pin-project-lite v0.2.14 +│ │ ├── pin-utils v0.1.0 +│ │ └── slab v0.4.9 +│ │ [build-dependencies] +│ │ └── autocfg v1.3.0 +│ ├── handlebars v5.1.2 +│ │ ├── log v0.4.21 +│ │ ├── pest v2.7.10 (*) +│ │ ├── pest_derive v2.7.10 (proc-macro) +│ │ │ ├── pest v2.7.10 (*) +│ │ │ └── pest_generator v2.7.10 +│ │ │ ├── pest v2.7.10 (*) +│ │ │ ├── pest_meta v2.7.10 +│ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ └── pest v2.7.10 (*) +│ │ │ │ [build-dependencies] +│ │ │ │ └── sha2 v0.10.8 +│ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ ├── cpufeatures v0.2.12 +│ │ │ │ │ └── libc v0.2.155 +│ │ │ │ └── digest v0.10.7 +│ │ │ │ ├── block-buffer v0.10.4 +│ │ │ │ │ └── generic-array v0.14.7 +│ │ │ │ │ ├── typenum v1.17.0 +│ │ │ │ │ └── zeroize v1.8.1 +│ │ │ │ │ └── zeroize_derive v1.4.2 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ [build-dependencies] +│ │ │ │ │ └── version_check v0.9.4 +│ │ │ │ ├── const-oid v0.9.6 +│ │ │ │ ├── crypto-common v0.1.6 +│ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ ├── rand_core v0.6.4 +│ │ │ │ │ │ └── getrandom v0.2.15 (*) +│ │ │ │ │ └── typenum v1.17.0 +│ │ │ │ └── subtle v2.5.0 +│ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ ├── quote v1.0.36 (*) +│ │ │ └── syn v2.0.66 (*) +│ │ ├── serde v1.0.203 (*) +│ │ ├── serde_json v1.0.117 +│ │ │ ├── itoa v1.0.11 +│ │ │ ├── ryu v1.0.18 +│ │ │ └── serde v1.0.203 (*) +│ │ └── thiserror v1.0.61 (*) +│ ├── http v1.1.0 +│ │ ├── bytes v1.6.0 (*) +│ │ ├── fnv v1.0.7 +│ │ └── itoa v1.0.11 +│ ├── indexmap v2.2.6 (*) +│ ├── mime v0.3.17 +│ ├── multer v3.1.0 +│ │ ├── bytes v1.6.0 (*) +│ │ ├── encoding_rs v0.8.34 +│ │ │ └── cfg-if v1.0.0 +│ │ ├── futures-util v0.3.30 (*) +│ │ ├── http v1.1.0 (*) +│ │ ├── httparse v1.8.0 +│ │ ├── memchr v2.7.2 +│ │ ├── mime v0.3.17 +│ │ └── spin v0.9.8 +│ │ [build-dependencies] +│ │ └── version_check v0.9.4 +│ ├── num-traits v0.2.19 (*) +│ ├── once_cell v1.19.0 +│ ├── opentelemetry v0.22.0 +│ │ ├── futures-core v0.3.30 +│ │ ├── futures-sink v0.3.30 +│ │ ├── once_cell v1.19.0 +│ │ ├── pin-project-lite v0.2.14 +│ │ ├── thiserror v1.0.61 (*) +│ │ └── urlencoding v2.1.3 +│ ├── pin-project-lite v0.2.14 +│ ├── regex v1.10.4 (*) +│ ├── serde v1.0.203 (*) +│ ├── serde_json v1.0.117 (*) +│ ├── serde_urlencoded v0.7.1 +│ │ ├── form_urlencoded v1.2.1 +│ │ │ └── percent-encoding v2.3.1 +│ │ ├── itoa v1.0.11 +│ │ ├── ryu v1.0.18 +│ │ └── serde v1.0.203 (*) +│ ├── static_assertions_next v1.1.2 +│ ├── tempfile v3.10.1 +│ │ ├── cfg-if v1.0.0 +│ │ ├── fastrand v2.1.0 +│ │ └── rustix v0.38.34 +│ │ ├── bitflags v2.5.0 +│ │ ├── errno v0.3.9 +│ │ │ └── libc v0.2.155 +│ │ └── libc v0.2.155 +│ ├── thiserror v1.0.61 (*) +│ └── uuid v1.8.0 +│ ├── getrandom v0.2.15 (*) +│ └── serde v1.0.203 (*) +├── async-graphql-poem v7.0.5 +│ ├── async-graphql v7.0.5 (*) +│ ├── futures-util v0.3.30 (*) +│ ├── http v1.1.0 (*) +│ ├── mime v0.3.17 +│ ├── poem v3.0.1 +│ │ ├── base64 v0.22.1 +│ │ ├── bytes v1.6.0 (*) +│ │ ├── futures-util v0.3.30 (*) +│ │ ├── headers v0.4.0 +│ │ │ ├── base64 v0.21.7 +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── headers-core v0.3.0 +│ │ │ │ └── http v1.1.0 (*) +│ │ │ ├── http v1.1.0 (*) +│ │ │ ├── httpdate v1.0.3 +│ │ │ ├── mime v0.3.17 +│ │ │ └── sha1 v0.10.6 +│ │ │ ├── cfg-if v1.0.0 +│ │ │ ├── cpufeatures v0.2.12 (*) +│ │ │ └── digest v0.10.7 (*) +│ │ ├── http v1.1.0 (*) +│ │ ├── http-body-util v0.1.1 +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── futures-core v0.3.30 +│ │ │ ├── http v1.1.0 (*) +│ │ │ ├── http-body v1.0.0 +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ └── http v1.1.0 (*) +│ │ │ └── pin-project-lite v0.2.14 +│ │ ├── hyper v1.3.1 +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── futures-channel v0.3.30 (*) +│ │ │ ├── futures-util v0.3.30 (*) +│ │ │ ├── h2 v0.4.5 +│ │ │ │ ├── atomic-waker v1.1.2 +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ ├── fnv v1.0.7 +│ │ │ │ ├── futures-core v0.3.30 +│ │ │ │ ├── futures-sink v0.3.30 +│ │ │ │ ├── http v1.1.0 (*) +│ │ │ │ ├── indexmap v2.2.6 (*) +│ │ │ │ ├── slab v0.4.9 (*) +│ │ │ │ ├── tokio v1.38.0 +│ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ ├── mio v0.8.11 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── num_cpus v1.16.0 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── parking_lot v0.12.3 +│ │ │ │ │ │ ├── lock_api v0.4.12 +│ │ │ │ │ │ │ └── scopeguard v1.2.0 +│ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ └── autocfg v1.3.0 +│ │ │ │ │ │ └── parking_lot_core v0.9.10 +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ ├── pin-project-lite v0.2.14 +│ │ │ │ │ ├── signal-hook-registry v1.4.2 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── socket2 v0.5.7 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ └── tokio-macros v2.3.0 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ ├── tokio-util v0.7.11 +│ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ ├── futures-core v0.3.30 +│ │ │ │ │ ├── futures-io v0.3.30 +│ │ │ │ │ ├── futures-sink v0.3.30 +│ │ │ │ │ ├── pin-project-lite v0.2.14 +│ │ │ │ │ └── tokio v1.38.0 (*) +│ │ │ │ └── tracing v0.1.40 +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── pin-project-lite v0.2.14 +│ │ │ │ ├── tracing-attributes v0.1.27 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ └── tracing-core v0.1.32 +│ │ │ │ └── once_cell v1.19.0 +│ │ │ ├── http v1.1.0 (*) +│ │ │ ├── http-body v1.0.0 (*) +│ │ │ ├── httparse v1.8.0 +│ │ │ ├── httpdate v1.0.3 +│ │ │ ├── itoa v1.0.11 +│ │ │ ├── pin-project-lite v0.2.14 +│ │ │ ├── smallvec v1.13.2 +│ │ │ ├── tokio v1.38.0 (*) +│ │ │ └── want v0.3.1 +│ │ │ └── try-lock v0.2.5 +│ │ ├── hyper-util v0.1.5 +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── futures-channel v0.3.30 (*) +│ │ │ ├── futures-util v0.3.30 (*) +│ │ │ ├── http v1.1.0 (*) +│ │ │ ├── http-body v1.0.0 (*) +│ │ │ ├── hyper v1.3.1 (*) +│ │ │ ├── pin-project-lite v0.2.14 +│ │ │ ├── socket2 v0.5.7 (*) +│ │ │ ├── tokio v1.38.0 (*) +│ │ │ ├── tower v0.4.13 +│ │ │ │ ├── futures-core v0.3.30 +│ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ ├── indexmap v1.9.3 +│ │ │ │ │ ├── hashbrown v0.12.3 +│ │ │ │ │ │ └── ahash v0.7.8 +│ │ │ │ │ │ ├── getrandom v0.2.15 (*) +│ │ │ │ │ │ └── once_cell v1.19.0 +│ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ └── version_check v0.9.4 +│ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ [build-dependencies] +│ │ │ │ │ └── autocfg v1.3.0 +│ │ │ │ ├── pin-project v1.1.5 +│ │ │ │ │ └── pin-project-internal v1.1.5 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ ├── pin-project-lite v0.2.14 +│ │ │ │ ├── rand v0.8.5 +│ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ ├── rand_chacha v0.3.1 +│ │ │ │ │ │ ├── ppv-lite86 v0.2.17 +│ │ │ │ │ │ └── rand_core v0.6.4 (*) +│ │ │ │ │ └── rand_core v0.6.4 (*) +│ │ │ │ ├── slab v0.4.9 (*) +│ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ ├── tokio-util v0.7.11 (*) +│ │ │ │ ├── tower-layer v0.3.2 +│ │ │ │ ├── tower-service v0.3.2 +│ │ │ │ └── tracing v0.1.40 (*) +│ │ │ ├── tower-service v0.3.2 +│ │ │ └── tracing v0.1.40 (*) +│ │ ├── mime v0.3.17 +│ │ ├── nix v0.28.0 +│ │ │ ├── bitflags v2.5.0 +│ │ │ ├── cfg-if v1.0.0 +│ │ │ └── libc v0.2.155 +│ │ │ [build-dependencies] +│ │ │ └── cfg_aliases v0.1.1 +│ │ ├── opentelemetry v0.22.0 (*) +│ │ ├── opentelemetry-http v0.11.1 +│ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── http v0.2.12 +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ ├── fnv v1.0.7 +│ │ │ │ └── itoa v1.0.11 +│ │ │ └── opentelemetry v0.22.0 (*) +│ │ ├── opentelemetry-semantic-conventions v0.14.0 +│ │ ├── parking_lot v0.12.3 (*) +│ │ ├── percent-encoding v2.3.1 +│ │ ├── pin-project-lite v0.2.14 +│ │ ├── poem-derive v3.0.0 (proc-macro) +│ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ ├── quote v1.0.36 (*) +│ │ │ └── syn v2.0.66 (*) +│ │ ├── regex v1.10.4 (*) +│ │ ├── rfc7239 v0.1.1 +│ │ │ └── uncased v0.9.10 +│ │ │ [build-dependencies] +│ │ │ └── version_check v0.9.4 +│ │ ├── serde v1.0.203 (*) +│ │ ├── serde_json v1.0.117 (*) +│ │ ├── serde_urlencoded v0.7.1 (*) +│ │ ├── smallvec v1.13.2 +│ │ ├── sync_wrapper v1.0.1 +│ │ │ └── futures-core v0.3.30 +│ │ ├── thiserror v1.0.61 (*) +│ │ ├── tokio v1.38.0 (*) +│ │ ├── tokio-tungstenite v0.21.0 +│ │ │ ├── futures-util v0.3.30 (*) +│ │ │ ├── log v0.4.21 +│ │ │ ├── tokio v1.38.0 (*) +│ │ │ └── tungstenite v0.21.0 +│ │ │ ├── byteorder v1.5.0 +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── data-encoding v2.6.0 +│ │ │ ├── http v1.1.0 (*) +│ │ │ ├── httparse v1.8.0 +│ │ │ ├── log v0.4.21 +│ │ │ ├── rand v0.8.5 (*) +│ │ │ ├── sha1 v0.10.6 (*) +│ │ │ ├── thiserror v1.0.61 (*) +│ │ │ ├── url v2.5.0 +│ │ │ │ ├── form_urlencoded v1.2.1 (*) +│ │ │ │ ├── idna v0.5.0 +│ │ │ │ │ ├── unicode-bidi v0.3.15 +│ │ │ │ │ └── unicode-normalization v0.1.22 +│ │ │ │ │ └── tinyvec v1.6.0 +│ │ │ │ │ └── tinyvec_macros v0.1.1 +│ │ │ │ ├── percent-encoding v2.3.1 +│ │ │ │ └── serde v1.0.203 (*) +│ │ │ └── utf-8 v0.7.6 +│ │ ├── tokio-util v0.7.11 (*) +│ │ ├── tracing v0.1.40 (*) +│ │ └── wildmatch v2.3.4 +│ ├── serde_json v1.0.117 (*) +│ ├── tokio v1.38.0 (*) +│ ├── tokio-stream v0.1.15 +│ │ ├── futures-core v0.3.30 +│ │ ├── pin-project-lite v0.2.14 +│ │ ├── tokio v1.38.0 (*) +│ │ └── tokio-util v0.7.11 (*) +│ └── tokio-util v0.7.11 (*) +├── async-stream v0.3.5 (*) +├── async-trait v0.1.80 (proc-macro) (*) +├── base64 v0.21.7 +├── cached v0.42.0 +│ ├── async-trait v0.1.80 (proc-macro) (*) +│ ├── async_once v0.2.6 +│ ├── cached_proc_macro v0.16.0 (proc-macro) +│ │ ├── cached_proc_macro_types v0.1.1 +│ │ ├── darling v0.14.4 +│ │ │ ├── darling_core v0.14.4 +│ │ │ │ ├── fnv v1.0.7 +│ │ │ │ ├── ident_case v1.0.1 +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ ├── strsim v0.10.0 +│ │ │ │ └── syn v1.0.109 +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── unicode-ident v1.0.12 +│ │ │ └── darling_macro v0.14.4 (proc-macro) +│ │ │ ├── darling_core v0.14.4 (*) +│ │ │ ├── quote v1.0.36 (*) +│ │ │ └── syn v1.0.109 (*) +│ │ ├── proc-macro2 v1.0.84 (*) +│ │ ├── quote v1.0.36 (*) +│ │ └── syn v1.0.109 (*) +│ ├── cached_proc_macro_types v0.1.1 +│ ├── futures v0.3.30 +│ │ ├── futures-channel v0.3.30 (*) +│ │ ├── futures-core v0.3.30 +│ │ ├── futures-executor v0.3.30 +│ │ │ ├── futures-core v0.3.30 +│ │ │ ├── futures-task v0.3.30 +│ │ │ ├── futures-util v0.3.30 (*) +│ │ │ └── num_cpus v1.16.0 (*) +│ │ ├── futures-io v0.3.30 +│ │ ├── futures-sink v0.3.30 +│ │ ├── futures-task v0.3.30 +│ │ └── futures-util v0.3.30 (*) +│ ├── hashbrown v0.13.2 +│ │ └── ahash v0.8.11 (*) +│ ├── instant v0.1.13 +│ │ └── cfg-if v1.0.0 +│ ├── lazy_static v1.4.0 (*) +│ ├── once_cell v1.19.0 +│ ├── thiserror v1.0.61 (*) +│ └── tokio v1.38.0 (*) +├── cfg-if v1.0.0 +├── chronicle-persistence v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-persistence) +│ ├── async-graphql v7.0.5 (*) +│ ├── async-trait v0.1.80 (proc-macro) (*) +│ ├── chrono v0.4.38 (*) +│ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) +│ │ ├── Inflector v0.11.4 (*) +│ │ ├── anyhow v1.0.86 (*) +│ │ ├── async-graphql v7.0.5 (*) +│ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ ├── chrono v0.4.38 (*) +│ │ ├── diesel v2.2.0 +│ │ │ ├── bitflags v2.5.0 +│ │ │ ├── byteorder v1.5.0 +│ │ │ ├── chrono v0.4.38 (*) +│ │ │ ├── diesel_derives v2.2.0 (proc-macro) +│ │ │ │ ├── diesel_table_macro_syntax v0.2.0 +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ ├── dsl_auto_type v0.1.0 +│ │ │ │ │ ├── darling v0.20.9 (*) +│ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ ├── heck v0.5.0 +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v2.0.66 (*) +│ │ │ ├── itoa v1.0.11 +│ │ │ ├── pq-sys v0.6.0 +│ │ │ ├── r2d2 v0.8.10 +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ └── scheduled-thread-pool v0.2.7 +│ │ │ │ └── parking_lot v0.12.3 (*) +│ │ │ └── uuid v1.8.0 (*) +│ │ ├── futures v0.3.30 (*) +│ │ ├── hashbrown v0.13.2 (*) +│ │ ├── hex v0.4.3 +│ │ ├── iref v2.2.3 +│ │ │ ├── pct-str v1.2.0 +│ │ │ │ └── utf8-decode v1.0.1 +│ │ │ └── smallvec v1.13.2 +│ │ ├── iri-string v0.7.2 +│ │ ├── json-ld v0.14.2 +│ │ │ ├── contextual v0.1.6 +│ │ │ ├── futures v0.3.30 (*) +│ │ │ ├── json-ld-compaction v0.14.2 +│ │ │ │ ├── contextual v0.1.6 +│ │ │ │ ├── derivative v2.2.0 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ ├── iref v2.2.3 (*) +│ │ │ │ ├── json-ld-context-processing v0.14.2 +│ │ │ │ │ ├── contextual v0.1.6 +│ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ ├── iref v2.2.3 (*) +│ │ │ │ │ ├── json-ld-core v0.14.2 +│ │ │ │ │ │ ├── contextual v0.1.6 +│ │ │ │ │ │ ├── derivative v2.2.0 (proc-macro) (*) +│ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ ├── hashbrown v0.13.2 (*) +│ │ │ │ │ │ ├── iref v2.2.3 (*) +│ │ │ │ │ │ ├── json-ld-syntax v0.14.2 +│ │ │ │ │ │ │ ├── contextual v0.1.6 +│ │ │ │ │ │ │ ├── decoded-char v0.1.1 +│ │ │ │ │ │ │ ├── derivative v2.2.0 (proc-macro) (*) +│ │ │ │ │ │ │ ├── hashbrown v0.13.2 (*) +│ │ │ │ │ │ │ ├── indexmap v1.9.3 (*) +│ │ │ │ │ │ │ ├── iref v2.2.3 (*) +│ │ │ │ │ │ │ ├── json-syntax v0.9.6 +│ │ │ │ │ │ │ │ ├── contextual v0.1.6 +│ │ │ │ │ │ │ │ ├── decoded-char v0.1.1 +│ │ │ │ │ │ │ │ ├── hashbrown v0.12.3 (*) +│ │ │ │ │ │ │ │ ├── indexmap v1.9.3 (*) +│ │ │ │ │ │ │ │ ├── json-number v0.4.8 +│ │ │ │ │ │ │ │ │ ├── lexical v6.1.1 +│ │ │ │ │ │ │ │ │ │ └── lexical-core v0.8.5 +│ │ │ │ │ │ │ │ │ │ ├── lexical-parse-float v0.8.5 +│ │ │ │ │ │ │ │ │ │ │ ├── lexical-parse-integer v0.8.6 +│ │ │ │ │ │ │ │ │ │ │ │ ├── lexical-util v0.8.5 +│ │ │ │ │ │ │ │ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ │ │ │ ├── lexical-util v0.8.5 (*) +│ │ │ │ │ │ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ │ │ ├── lexical-parse-integer v0.8.6 (*) +│ │ │ │ │ │ │ │ │ │ ├── lexical-util v0.8.5 (*) +│ │ │ │ │ │ │ │ │ │ ├── lexical-write-float v0.8.5 +│ │ │ │ │ │ │ │ │ │ │ ├── lexical-util v0.8.5 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── lexical-write-integer v0.8.5 +│ │ │ │ │ │ │ │ │ │ │ │ ├── lexical-util v0.8.5 (*) +│ │ │ │ │ │ │ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ │ │ └── lexical-write-integer v0.8.5 (*) +│ │ │ │ │ │ │ │ │ ├── ryu-js v0.2.2 +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ │ │ │ ├── locspan v0.7.16 +│ │ │ │ │ │ │ │ │ ├── contextual v0.1.6 +│ │ │ │ │ │ │ │ │ └── hashbrown v0.13.2 (*) +│ │ │ │ │ │ │ │ ├── locspan-derive v0.6.0 (proc-macro) +│ │ │ │ │ │ │ │ │ ├── proc-macro-error v1.0.4 +│ │ │ │ │ │ │ │ │ │ ├── proc-macro-error-attr v1.0.4 (proc-macro) +│ │ │ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ │ │ └── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ │ │ └── version_check v0.9.4 +│ │ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ │ └── version_check v0.9.4 +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ │ ├── ryu-js v0.2.2 +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ ├── smallstr v0.3.0 +│ │ │ │ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ │ │ ├── langtag v0.3.4 +│ │ │ │ │ │ │ ├── locspan v0.7.16 (*) +│ │ │ │ │ │ │ ├── locspan-derive v0.6.0 (proc-macro) (*) +│ │ │ │ │ │ │ ├── rdf-types v0.14.9 +│ │ │ │ │ │ │ │ ├── contextual v0.1.6 +│ │ │ │ │ │ │ │ ├── iref v2.2.3 (*) +│ │ │ │ │ │ │ │ ├── langtag v0.3.4 +│ │ │ │ │ │ │ │ ├── locspan v0.7.16 (*) +│ │ │ │ │ │ │ │ ├── locspan-derive v0.6.0 (proc-macro) (*) +│ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── json-syntax v0.9.6 (*) +│ │ │ │ │ │ ├── langtag v0.3.4 +│ │ │ │ │ │ ├── locspan v0.7.16 (*) +│ │ │ │ │ │ ├── locspan-derive v0.6.0 (proc-macro) (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── mime v0.3.17 +│ │ │ │ │ │ ├── mown v0.2.2 +│ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ ├── permutohedron v0.2.4 +│ │ │ │ │ │ ├── pretty_dtoa v0.3.0 +│ │ │ │ │ │ │ └── ryu_floating_decimal v0.1.0 +│ │ │ │ │ │ ├── rdf-types v0.14.9 (*) +│ │ │ │ │ │ ├── ryu-js v0.2.2 +│ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ ├── static-iref v2.0.0 (proc-macro) +│ │ │ │ │ │ │ └── iref v2.2.3 (*) +│ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ ├── json-ld-syntax v0.14.2 (*) +│ │ │ │ │ ├── locspan v0.7.16 (*) +│ │ │ │ │ ├── mown v0.2.2 +│ │ │ │ │ ├── rdf-types v0.14.9 (*) +│ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ ├── json-ld-core v0.14.2 (*) +│ │ │ │ ├── json-ld-expansion v0.14.2 +│ │ │ │ │ ├── contextual v0.1.6 +│ │ │ │ │ ├── derivative v2.2.0 (proc-macro) (*) +│ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ ├── iref v2.2.3 (*) +│ │ │ │ │ ├── json-ld-context-processing v0.14.2 (*) +│ │ │ │ │ ├── json-ld-core v0.14.2 (*) +│ │ │ │ │ ├── json-ld-syntax v0.14.2 (*) +│ │ │ │ │ ├── json-syntax v0.9.6 (*) +│ │ │ │ │ ├── langtag v0.3.4 +│ │ │ │ │ ├── locspan v0.7.16 (*) +│ │ │ │ │ ├── mown v0.2.2 +│ │ │ │ │ ├── rdf-types v0.14.9 (*) +│ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ ├── json-ld-syntax v0.14.2 (*) +│ │ │ │ ├── json-syntax v0.9.6 (*) +│ │ │ │ ├── langtag v0.3.4 +│ │ │ │ ├── locspan v0.7.16 (*) +│ │ │ │ ├── mown v0.2.2 +│ │ │ │ ├── rdf-types v0.14.9 (*) +│ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ ├── json-ld-context-processing v0.14.2 (*) +│ │ │ ├── json-ld-core v0.14.2 (*) +│ │ │ ├── json-ld-expansion v0.14.2 (*) +│ │ │ ├── json-ld-syntax v0.14.2 (*) +│ │ │ ├── json-syntax v0.9.6 (*) +│ │ │ ├── locspan v0.7.16 (*) +│ │ │ ├── rdf-types v0.14.9 (*) +│ │ │ └── thiserror v1.0.61 (*) +│ │ ├── json-syntax v0.9.6 (*) +│ │ ├── k256 v0.11.6 +│ │ │ ├── cfg-if v1.0.0 +│ │ │ ├── ecdsa v0.14.8 +│ │ │ │ ├── der v0.6.1 +│ │ │ │ │ ├── const-oid v0.9.6 +│ │ │ │ │ ├── pem-rfc7468 v0.6.0 +│ │ │ │ │ │ └── base64ct v1.6.0 +│ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ ├── elliptic-curve v0.12.3 +│ │ │ │ │ ├── base16ct v0.1.1 +│ │ │ │ │ ├── crypto-bigint v0.4.9 +│ │ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ ├── der v0.6.1 (*) +│ │ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ │ ├── ff v0.12.1 +│ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ ├── group v0.12.1 +│ │ │ │ │ │ ├── ff v0.12.1 (*) +│ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ ├── pem-rfc7468 v0.6.0 (*) +│ │ │ │ │ ├── pkcs8 v0.9.0 +│ │ │ │ │ │ ├── der v0.6.1 (*) +│ │ │ │ │ │ └── spki v0.6.0 +│ │ │ │ │ │ ├── base64ct v1.6.0 +│ │ │ │ │ │ └── der v0.6.1 (*) +│ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ ├── sec1 v0.3.0 +│ │ │ │ │ │ ├── base16ct v0.1.1 +│ │ │ │ │ │ ├── der v0.6.1 (*) +│ │ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ │ ├── pkcs8 v0.9.0 (*) +│ │ │ │ │ │ ├── serdect v0.1.0 +│ │ │ │ │ │ │ ├── base16ct v0.1.1 +│ │ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ ├── serdect v0.1.0 (*) +│ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ ├── rfc6979 v0.3.1 +│ │ │ │ │ ├── crypto-bigint v0.4.9 (*) +│ │ │ │ │ ├── hmac v0.12.1 +│ │ │ │ │ │ └── digest v0.10.7 (*) +│ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ ├── serdect v0.1.0 (*) +│ │ │ │ └── signature v1.6.4 +│ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ └── rand_core v0.6.4 (*) +│ │ │ ├── elliptic-curve v0.12.3 (*) +│ │ │ ├── serdect v0.1.0 (*) +│ │ │ ├── sha2 v0.10.8 (*) +│ │ │ └── sha3 v0.10.8 +│ │ │ ├── digest v0.10.7 (*) +│ │ │ └── keccak v0.1.5 +│ │ │ └── cpufeatures v0.2.12 (*) +│ │ ├── lazy_static v1.4.0 (*) +│ │ ├── locspan v0.7.16 (*) +│ │ ├── macro-attr-2018 v3.0.0 +│ │ ├── mime v0.3.17 +│ │ ├── newtype-derive-2018 v0.2.3 +│ │ │ └── generics v0.5.3 +│ │ ├── opa v0.9.0 (https://github.com/chronicleworks/opa-rs?rev=9fa2fbce#9fa2fbce) +│ │ │ ├── anyhow v1.0.86 (*) +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── flate2 v1.0.30 +│ │ │ │ ├── crc32fast v1.4.2 +│ │ │ │ │ └── cfg-if v1.0.0 +│ │ │ │ ├── libz-sys v1.1.18 +│ │ │ │ │ [build-dependencies] +│ │ │ │ │ ├── cc v1.0.98 (*) +│ │ │ │ │ ├── pkg-config v0.3.30 +│ │ │ │ │ └── vcpkg v0.2.15 +│ │ │ │ └── miniz_oxide v0.7.3 (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── serde_json v1.0.117 (*) +│ │ │ ├── tar v0.4.40 +│ │ │ │ ├── filetime v0.2.23 +│ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ └── libc v0.2.155 +│ │ │ │ ├── libc v0.2.155 +│ │ │ │ └── xattr v1.3.1 +│ │ │ │ └── rustix v0.38.34 (*) +│ │ │ ├── tempfile v3.10.1 (*) +│ │ │ ├── thiserror v1.0.61 (*) +│ │ │ ├── tracing v0.1.40 (*) +│ │ │ ├── walkdir v2.5.0 +│ │ │ │ └── same-file v1.0.6 +│ │ │ ├── wasmtime v8.0.1 +│ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ ├── bincode v1.3.3 +│ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ ├── indexmap v1.9.3 (*) +│ │ │ │ ├── libc v0.2.155 +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── object v0.30.4 +│ │ │ │ │ ├── crc32fast v1.4.2 (*) +│ │ │ │ │ ├── hashbrown v0.13.2 (*) +│ │ │ │ │ ├── indexmap v1.9.3 (*) +│ │ │ │ │ └── memchr v2.7.2 +│ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ │ ├── psm v0.1.21 +│ │ │ │ │ [build-dependencies] +│ │ │ │ │ └── cc v1.0.98 (*) +│ │ │ │ ├── rayon v1.10.0 +│ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ └── rayon-core v1.12.1 +│ │ │ │ │ ├── crossbeam-deque v0.8.5 +│ │ │ │ │ │ ├── crossbeam-epoch v0.9.18 +│ │ │ │ │ │ │ └── crossbeam-utils v0.8.20 +│ │ │ │ │ │ └── crossbeam-utils v0.8.20 +│ │ │ │ │ └── crossbeam-utils v0.8.20 +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ ├── target-lexicon v0.12.14 +│ │ │ │ ├── wasmparser v0.102.0 +│ │ │ │ │ ├── indexmap v1.9.3 (*) +│ │ │ │ │ └── url v2.5.0 (*) +│ │ │ │ ├── wasmtime-cache v8.0.1 +│ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ ├── base64 v0.21.7 +│ │ │ │ │ ├── bincode v1.3.3 (*) +│ │ │ │ │ ├── directories-next v2.0.0 +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ └── dirs-sys-next v0.1.2 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── file-per-thread-logger v0.1.6 +│ │ │ │ │ │ ├── env_logger v0.10.2 +│ │ │ │ │ │ │ ├── humantime v2.1.0 +│ │ │ │ │ │ │ ├── is-terminal v0.4.12 +│ │ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ │ │ └── termcolor v1.4.1 +│ │ │ │ │ │ └── log v0.4.21 +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── rustix v0.36.17 +│ │ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ │ ├── errno v0.3.9 (*) +│ │ │ │ │ │ ├── io-lifetimes v1.0.11 +│ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ ├── toml v0.5.11 +│ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ └── zstd v0.11.2+zstd.1.5.2 +│ │ │ │ │ └── zstd-safe v5.0.2+zstd.1.5.2 +│ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ └── zstd-sys v2.0.10+zstd.1.5.6 +│ │ │ │ │ [build-dependencies] +│ │ │ │ │ ├── cc v1.0.98 (*) +│ │ │ │ │ └── pkg-config v0.3.30 +│ │ │ │ ├── wasmtime-cranelift v8.0.1 +│ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ ├── cranelift-codegen v0.95.1 +│ │ │ │ │ │ ├── bumpalo v3.16.0 +│ │ │ │ │ │ ├── cranelift-bforest v0.95.1 +│ │ │ │ │ │ │ └── cranelift-entity v0.95.1 +│ │ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ │ ├── cranelift-codegen-shared v0.95.1 +│ │ │ │ │ │ ├── cranelift-entity v0.95.1 (*) +│ │ │ │ │ │ ├── gimli v0.27.3 +│ │ │ │ │ │ │ ├── fallible-iterator v0.2.0 +│ │ │ │ │ │ │ ├── indexmap v1.9.3 (*) +│ │ │ │ │ │ │ └── stable_deref_trait v1.2.0 +│ │ │ │ │ │ ├── hashbrown v0.13.2 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── regalloc2 v0.6.1 +│ │ │ │ │ │ │ ├── fxhash v0.2.1 +│ │ │ │ │ │ │ │ └── byteorder v1.5.0 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── slice-group-by v0.3.1 +│ │ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ └── target-lexicon v0.12.14 +│ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ ├── cranelift-codegen-meta v0.95.1 +│ │ │ │ │ │ │ └── cranelift-codegen-shared v0.95.1 +│ │ │ │ │ │ └── cranelift-isle v0.95.1 +│ │ │ │ │ ├── cranelift-entity v0.95.1 (*) +│ │ │ │ │ ├── cranelift-frontend v0.95.1 +│ │ │ │ │ │ ├── cranelift-codegen v0.95.1 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ └── target-lexicon v0.12.14 +│ │ │ │ │ ├── cranelift-native v0.95.1 +│ │ │ │ │ │ ├── cranelift-codegen v0.95.1 (*) +│ │ │ │ │ │ └── target-lexicon v0.12.14 +│ │ │ │ │ ├── cranelift-wasm v0.95.1 +│ │ │ │ │ │ ├── cranelift-codegen v0.95.1 (*) +│ │ │ │ │ │ ├── cranelift-entity v0.95.1 (*) +│ │ │ │ │ │ ├── cranelift-frontend v0.95.1 (*) +│ │ │ │ │ │ ├── itertools v0.10.5 +│ │ │ │ │ │ │ └── either v1.12.0 +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ ├── wasmparser v0.102.0 (*) +│ │ │ │ │ │ └── wasmtime-types v8.0.1 +│ │ │ │ │ │ ├── cranelift-entity v0.95.1 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ └── wasmparser v0.102.0 (*) +│ │ │ │ │ ├── gimli v0.27.3 (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── object v0.30.4 (*) +│ │ │ │ │ ├── target-lexicon v0.12.14 +│ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ ├── wasmparser v0.102.0 (*) +│ │ │ │ │ ├── wasmtime-cranelift-shared v8.0.1 +│ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ ├── cranelift-codegen v0.95.1 (*) +│ │ │ │ │ │ ├── cranelift-native v0.95.1 (*) +│ │ │ │ │ │ ├── gimli v0.27.3 (*) +│ │ │ │ │ │ ├── object v0.30.4 (*) +│ │ │ │ │ │ ├── target-lexicon v0.12.14 +│ │ │ │ │ │ └── wasmtime-environ v8.0.1 +│ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ ├── cranelift-entity v0.95.1 (*) +│ │ │ │ │ │ ├── gimli v0.27.3 (*) +│ │ │ │ │ │ ├── indexmap v1.9.3 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── object v0.30.4 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── target-lexicon v0.12.14 +│ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── wasmparser v0.102.0 (*) +│ │ │ │ │ │ └── wasmtime-types v8.0.1 (*) +│ │ │ │ │ └── wasmtime-environ v8.0.1 (*) +│ │ │ │ ├── wasmtime-environ v8.0.1 (*) +│ │ │ │ ├── wasmtime-jit v8.0.1 +│ │ │ │ │ ├── addr2line v0.19.0 +│ │ │ │ │ │ └── gimli v0.27.3 (*) +│ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ ├── bincode v1.3.3 (*) +│ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ ├── cpp_demangle v0.3.5 +│ │ │ │ │ │ └── cfg-if v1.0.0 +│ │ │ │ │ ├── gimli v0.27.3 (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── object v0.30.4 (*) +│ │ │ │ │ ├── rustc-demangle v0.1.24 +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── target-lexicon v0.12.14 +│ │ │ │ │ ├── wasmtime-environ v8.0.1 (*) +│ │ │ │ │ ├── wasmtime-jit-debug v8.0.1 +│ │ │ │ │ │ ├── object v0.30.4 (*) +│ │ │ │ │ │ └── once_cell v1.19.0 +│ │ │ │ │ ├── wasmtime-jit-icache-coherence v8.0.1 +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ └── wasmtime-runtime v8.0.1 +│ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ ├── indexmap v1.9.3 (*) +│ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── mach v0.3.2 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── memfd v0.6.4 +│ │ │ │ │ │ └── rustix v0.38.34 (*) +│ │ │ │ │ ├── memoffset v0.8.0 +│ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ └── autocfg v1.3.0 +│ │ │ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ ├── rustix v0.36.17 (*) +│ │ │ │ │ ├── wasmtime-asm-macros v8.0.1 +│ │ │ │ │ │ └── cfg-if v1.0.0 +│ │ │ │ │ ├── wasmtime-environ v8.0.1 (*) +│ │ │ │ │ └── wasmtime-jit-debug v8.0.1 (*) +│ │ │ │ │ [build-dependencies] +│ │ │ │ │ └── cc v1.0.98 (*) +│ │ │ │ └── wasmtime-runtime v8.0.1 (*) +│ │ │ └── which v4.4.2 +│ │ │ ├── either v1.12.0 +│ │ │ ├── home v0.5.9 +│ │ │ └── rustix v0.38.34 (*) +│ │ ├── parity-scale-codec v3.6.12 +│ │ │ ├── arrayvec v0.7.4 +│ │ │ ├── byte-slice-cast v1.2.2 +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v1.0.109 (*) +│ │ │ ├── parity-scale-codec-derive v3.6.12 (proc-macro) +│ │ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v1.0.109 (*) +│ │ │ └── serde v1.0.203 (*) +│ │ ├── percent-encoding v2.3.1 +│ │ ├── rdf-types v0.14.9 (*) +│ │ ├── reqwest v0.11.27 +│ │ │ ├── base64 v0.21.7 +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── encoding_rs v0.8.34 (*) +│ │ │ ├── futures-core v0.3.30 +│ │ │ ├── futures-util v0.3.30 (*) +│ │ │ ├── h2 v0.3.26 +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ ├── fnv v1.0.7 +│ │ │ │ ├── futures-core v0.3.30 +│ │ │ │ ├── futures-sink v0.3.30 +│ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ ├── indexmap v2.2.6 (*) +│ │ │ │ ├── slab v0.4.9 (*) +│ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ ├── tokio-util v0.7.11 (*) +│ │ │ │ └── tracing v0.1.40 (*) +│ │ │ ├── http v0.2.12 (*) +│ │ │ ├── http-body v0.4.6 +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ └── pin-project-lite v0.2.14 +│ │ │ ├── hyper v0.14.28 +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ ├── futures-channel v0.3.30 (*) +│ │ │ │ ├── futures-core v0.3.30 +│ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ ├── h2 v0.3.26 (*) +│ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ ├── http-body v0.4.6 (*) +│ │ │ │ ├── httparse v1.8.0 +│ │ │ │ ├── httpdate v1.0.3 +│ │ │ │ ├── itoa v1.0.11 +│ │ │ │ ├── pin-project-lite v0.2.14 +│ │ │ │ ├── socket2 v0.5.7 (*) +│ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ ├── tower-service v0.3.2 +│ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ └── want v0.3.1 (*) +│ │ │ ├── hyper-rustls v0.24.2 +│ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── rustls v0.21.12 +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── ring v0.17.8 +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ ├── getrandom v0.2.15 (*) +│ │ │ │ │ │ ├── spin v0.9.8 +│ │ │ │ │ │ └── untrusted v0.9.0 +│ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ └── cc v1.0.98 (*) +│ │ │ │ │ ├── rustls-webpki v0.101.7 +│ │ │ │ │ │ ├── ring v0.17.8 (*) +│ │ │ │ │ │ └── untrusted v0.9.0 +│ │ │ │ │ └── sct v0.7.1 +│ │ │ │ │ ├── ring v0.17.8 (*) +│ │ │ │ │ └── untrusted v0.9.0 +│ │ │ │ ├── rustls-native-certs v0.6.3 +│ │ │ │ │ ├── rustls-pemfile v1.0.4 +│ │ │ │ │ │ └── base64 v0.21.7 +│ │ │ │ │ └── security-framework v2.11.0 +│ │ │ │ │ ├── bitflags v2.5.0 +│ │ │ │ │ ├── core-foundation v0.9.4 +│ │ │ │ │ │ ├── core-foundation-sys v0.8.6 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── core-foundation-sys v0.8.6 +│ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ └── security-framework-sys v2.11.0 +│ │ │ │ │ ├── core-foundation-sys v0.8.6 +│ │ │ │ │ └── libc v0.2.155 +│ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ └── tokio-rustls v0.24.1 +│ │ │ │ ├── rustls v0.21.12 (*) +│ │ │ │ └── tokio v1.38.0 (*) +│ │ │ ├── hyper-tls v0.5.0 +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ ├── native-tls v0.2.12 +│ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ ├── security-framework v2.11.0 (*) +│ │ │ │ │ ├── security-framework-sys v2.11.0 (*) +│ │ │ │ │ └── tempfile v3.10.1 (*) +│ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ └── tokio-native-tls v0.3.1 +│ │ │ │ ├── native-tls v0.2.12 (*) +│ │ │ │ └── tokio v1.38.0 (*) +│ │ │ ├── ipnet v2.9.0 +│ │ │ ├── log v0.4.21 +│ │ │ ├── mime v0.3.17 +│ │ │ ├── native-tls v0.2.12 (*) +│ │ │ ├── once_cell v1.19.0 +│ │ │ ├── percent-encoding v2.3.1 +│ │ │ ├── pin-project-lite v0.2.14 +│ │ │ ├── rustls v0.21.12 (*) +│ │ │ ├── rustls-pemfile v1.0.4 (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── serde_json v1.0.117 (*) +│ │ │ ├── serde_urlencoded v0.7.1 (*) +│ │ │ ├── sync_wrapper v0.1.2 +│ │ │ ├── system-configuration v0.5.1 +│ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ ├── core-foundation v0.9.4 (*) +│ │ │ │ └── system-configuration-sys v0.5.0 +│ │ │ │ ├── core-foundation-sys v0.8.6 +│ │ │ │ └── libc v0.2.155 +│ │ │ ├── tokio v1.38.0 (*) +│ │ │ ├── tokio-native-tls v0.3.1 (*) +│ │ │ ├── tokio-rustls v0.24.1 (*) +│ │ │ ├── tower-service v0.3.2 +│ │ │ ├── url v2.5.0 (*) +│ │ │ └── webpki-roots v0.25.4 +│ │ ├── rust-embed v6.8.1 +│ │ │ ├── rust-embed-impl v6.8.1 (proc-macro) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ ├── rust-embed-utils v7.8.1 +│ │ │ │ │ ├── globset v0.4.14 +│ │ │ │ │ │ ├── aho-corasick v1.1.3 (*) +│ │ │ │ │ │ ├── bstr v1.9.1 +│ │ │ │ │ │ │ └── memchr v2.7.2 +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── regex-automata v0.4.6 (*) +│ │ │ │ │ │ └── regex-syntax v0.8.3 +│ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ └── walkdir v2.5.0 (*) +│ │ │ │ ├── syn v2.0.66 (*) +│ │ │ │ └── walkdir v2.5.0 (*) +│ │ │ ├── rust-embed-utils v7.8.1 (*) +│ │ │ └── walkdir v2.5.0 (*) +│ │ ├── scale-decode v0.10.0 +│ │ │ ├── derive_more v0.99.17 (proc-macro) +│ │ │ │ ├── convert_case v0.4.0 +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ [build-dependencies] +│ │ │ │ └── rustc_version v0.4.0 +│ │ │ │ └── semver v1.0.23 +│ │ │ │ └── serde v1.0.203 (*) +│ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ ├── primitive-types v0.12.2 +│ │ │ │ ├── fixed-hash v0.8.0 +│ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ ├── rustc-hex v2.1.0 +│ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ ├── impl-codec v0.6.0 +│ │ │ │ │ └── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── impl-serde v0.4.0 +│ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ ├── scale-info v2.11.3 +│ │ │ │ │ ├── bitvec v1.0.1 +│ │ │ │ │ │ ├── funty v2.0.0 +│ │ │ │ │ │ ├── radium v0.7.0 +│ │ │ │ │ │ ├── tap v1.0.1 +│ │ │ │ │ │ └── wyz v0.5.1 +│ │ │ │ │ │ └── tap v1.0.1 +│ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ ├── derive_more v0.99.17 (proc-macro) (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-info-derive v2.11.3 (proc-macro) +│ │ │ │ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ └── uint v0.9.5 +│ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ ├── crunchy v0.2.2 +│ │ │ │ ├── hex v0.4.3 +│ │ │ │ └── static_assertions v1.1.0 +│ │ │ ├── scale-bits v0.4.0 +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ └── serde v1.0.203 (*) +│ │ │ ├── scale-decode-derive v0.10.0 (proc-macro) +│ │ │ │ ├── darling v0.14.4 (*) +│ │ │ │ ├── proc-macro-crate v1.1.3 +│ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ └── toml v0.5.11 (*) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v1.0.109 (*) +│ │ │ ├── scale-info v2.11.3 (*) +│ │ │ └── smallvec v1.13.2 +│ │ ├── scale-encode v0.5.0 +│ │ │ ├── derive_more v0.99.17 (proc-macro) (*) +│ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ ├── primitive-types v0.12.2 (*) +│ │ │ ├── scale-bits v0.4.0 (*) +│ │ │ ├── scale-encode-derive v0.5.0 (proc-macro) +│ │ │ │ ├── darling v0.14.4 (*) +│ │ │ │ ├── proc-macro-crate v1.1.3 (*) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v1.0.109 (*) +│ │ │ ├── scale-info v2.11.3 (*) +│ │ │ └── smallvec v1.13.2 +│ │ ├── scale-info v2.11.3 (*) +│ │ ├── serde v1.0.203 (*) +│ │ ├── serde_derive v1.0.203 (proc-macro) (*) +│ │ ├── serde_json v1.0.117 (*) +│ │ ├── serde_yaml v0.9.34+deprecated +│ │ │ ├── indexmap v2.2.6 (*) +│ │ │ ├── itoa v1.0.11 +│ │ │ ├── ryu v1.0.18 +│ │ │ ├── serde v1.0.203 (*) +│ │ │ └── unsafe-libyaml v0.2.11 +│ │ ├── sp-core v25.0.0 +│ │ │ ├── array-bytes v6.2.3 +│ │ │ ├── bitflags v1.3.2 +│ │ │ ├── blake2 v0.10.6 +│ │ │ │ └── digest v0.10.7 (*) +│ │ │ ├── bounded-collections v0.1.9 +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ └── serde v1.0.203 (*) +│ │ │ ├── bs58 v0.5.1 +│ │ │ ├── dyn-clonable v0.9.0 +│ │ │ │ ├── dyn-clonable-impl v0.9.0 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ └── dyn-clone v1.0.17 +│ │ │ ├── ed25519-zebra v3.1.0 +│ │ │ │ ├── curve25519-dalek v3.2.0 +│ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ ├── digest v0.9.0 +│ │ │ │ │ │ └── generic-array v0.14.7 (*) +│ │ │ │ │ ├── rand_core v0.5.1 +│ │ │ │ │ │ └── getrandom v0.1.16 +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ ├── hashbrown v0.12.3 (*) +│ │ │ │ ├── hex v0.4.3 +│ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ ├── sha2 v0.9.9 +│ │ │ │ │ ├── block-buffer v0.9.0 +│ │ │ │ │ │ └── generic-array v0.14.7 (*) +│ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ ├── cpufeatures v0.2.12 (*) +│ │ │ │ │ ├── digest v0.9.0 (*) +│ │ │ │ │ └── opaque-debug v0.3.1 +│ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ ├── futures v0.3.30 (*) +│ │ │ ├── hash-db v0.16.0 +│ │ │ ├── hash256-std-hasher v0.15.2 +│ │ │ │ └── crunchy v0.2.2 +│ │ │ ├── impl-serde v0.4.0 (*) +│ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ ├── libsecp256k1 v0.7.1 +│ │ │ │ ├── arrayref v0.3.7 +│ │ │ │ ├── base64 v0.13.1 +│ │ │ │ ├── digest v0.9.0 (*) +│ │ │ │ ├── hmac-drbg v0.3.0 +│ │ │ │ │ ├── digest v0.9.0 (*) +│ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ └── hmac v0.8.1 +│ │ │ │ │ ├── crypto-mac v0.8.0 +│ │ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ └── digest v0.9.0 (*) +│ │ │ │ ├── libsecp256k1-core v0.3.0 +│ │ │ │ │ ├── crunchy v0.2.2 +│ │ │ │ │ ├── digest v0.9.0 (*) +│ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ ├── sha2 v0.9.9 (*) +│ │ │ │ └── typenum v1.17.0 +│ │ │ │ [build-dependencies] +│ │ │ │ ├── libsecp256k1-gen-ecmult v0.3.0 +│ │ │ │ │ └── libsecp256k1-core v0.3.0 +│ │ │ │ │ ├── crunchy v0.2.2 +│ │ │ │ │ ├── digest v0.9.0 (*) +│ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ └── libsecp256k1-gen-genmult v0.3.0 +│ │ │ │ └── libsecp256k1-core v0.3.0 (*) +│ │ │ ├── log v0.4.21 +│ │ │ ├── merlin v2.0.1 +│ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ ├── keccak v0.1.5 (*) +│ │ │ │ ├── rand_core v0.5.1 (*) +│ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ ├── primitive-types v0.12.2 (*) +│ │ │ ├── rand v0.8.5 (*) +│ │ │ ├── regex v1.10.4 (*) +│ │ │ ├── scale-info v2.11.3 (*) +│ │ │ ├── schnorrkel v0.9.1 +│ │ │ │ ├── arrayref v0.3.7 +│ │ │ │ ├── arrayvec v0.5.2 +│ │ │ │ ├── curve25519-dalek v2.1.3 +│ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ ├── digest v0.8.1 +│ │ │ │ │ │ └── generic-array v0.12.4 +│ │ │ │ │ │ └── typenum v1.17.0 +│ │ │ │ │ ├── rand_core v0.5.1 (*) +│ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ ├── getrandom v0.1.16 (*) +│ │ │ │ ├── merlin v2.0.1 (*) +│ │ │ │ ├── rand v0.7.3 +│ │ │ │ │ ├── getrandom v0.1.16 (*) +│ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ ├── rand_chacha v0.2.2 +│ │ │ │ │ │ ├── ppv-lite86 v0.2.17 +│ │ │ │ │ │ └── rand_core v0.5.1 (*) +│ │ │ │ │ └── rand_core v0.5.1 (*) +│ │ │ │ ├── rand_core v0.5.1 (*) +│ │ │ │ ├── sha2 v0.8.2 +│ │ │ │ │ ├── block-buffer v0.7.3 +│ │ │ │ │ │ ├── block-padding v0.1.5 +│ │ │ │ │ │ │ └── byte-tools v0.3.1 +│ │ │ │ │ │ ├── byte-tools v0.3.1 +│ │ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ │ └── generic-array v0.12.4 (*) +│ │ │ │ │ ├── digest v0.8.1 (*) +│ │ │ │ │ ├── fake-simd v0.1.2 +│ │ │ │ │ └── opaque-debug v0.2.3 +│ │ │ │ ├── subtle v2.5.0 +│ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ ├── secp256k1 v0.24.3 +│ │ │ │ └── secp256k1-sys v0.6.1 +│ │ │ │ [build-dependencies] +│ │ │ │ └── cc v1.0.98 (*) +│ │ │ ├── secrecy v0.8.0 +│ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── sp-core-hashing v13.0.0 +│ │ │ │ ├── blake2b_simd v1.0.2 +│ │ │ │ │ ├── arrayref v0.3.7 +│ │ │ │ │ ├── arrayvec v0.7.4 +│ │ │ │ │ └── constant_time_eq v0.3.0 +│ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ ├── sha3 v0.10.8 (*) +│ │ │ │ └── twox-hash v1.6.3 +│ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ └── static_assertions v1.1.0 +│ │ │ ├── sp-debug-derive v12.0.0 (proc-macro) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v2.0.66 (*) +│ │ │ ├── sp-externalities v0.23.0 +│ │ │ │ ├── environmental v1.1.4 +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── sp-std v12.0.0 +│ │ │ │ └── sp-storage v17.0.0 +│ │ │ │ ├── impl-serde v0.4.0 (*) +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── ref-cast v1.0.23 +│ │ │ │ │ └── ref-cast-impl v1.0.23 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ ├── sp-debug-derive v12.0.0 (proc-macro) (*) +│ │ │ │ └── sp-std v12.0.0 +│ │ │ ├── sp-runtime-interface v21.0.0 +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── primitive-types v0.12.2 (*) +│ │ │ │ ├── sp-externalities v0.23.0 (*) +│ │ │ │ ├── sp-runtime-interface-proc-macro v15.0.0 (proc-macro) +│ │ │ │ │ ├── Inflector v0.11.4 (*) +│ │ │ │ │ ├── proc-macro-crate v1.1.3 (*) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ ├── sp-std v12.0.0 +│ │ │ │ ├── sp-storage v17.0.0 (*) +│ │ │ │ ├── sp-tracing v14.0.0 +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── sp-std v12.0.0 +│ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ ├── tracing-core v0.1.32 (*) +│ │ │ │ │ └── tracing-subscriber v0.2.25 +│ │ │ │ │ ├── ansi_term v0.12.1 +│ │ │ │ │ ├── chrono v0.4.38 (*) +│ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ ├── matchers v0.0.1 +│ │ │ │ │ │ └── regex-automata v0.1.10 +│ │ │ │ │ │ └── regex-syntax v0.6.29 +│ │ │ │ │ ├── parking_lot v0.11.2 +│ │ │ │ │ │ ├── instant v0.1.13 (*) +│ │ │ │ │ │ ├── lock_api v0.4.12 (*) +│ │ │ │ │ │ └── parking_lot_core v0.8.6 +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ ├── instant v0.1.13 (*) +│ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ ├── sharded-slab v0.1.7 +│ │ │ │ │ │ └── lazy_static v1.4.0 (*) +│ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ ├── thread_local v1.1.8 +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ └── once_cell v1.19.0 +│ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ ├── tracing-core v0.1.32 (*) +│ │ │ │ │ ├── tracing-log v0.1.4 +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ └── tracing-core v0.1.32 (*) +│ │ │ │ │ └── tracing-serde v0.1.3 +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ └── tracing-core v0.1.32 (*) +│ │ │ │ ├── sp-wasm-interface v18.0.0 +│ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── sp-std v12.0.0 +│ │ │ │ │ └── wasmtime v8.0.1 (*) +│ │ │ │ └── static_assertions v1.1.0 +│ │ │ ├── sp-std v12.0.0 +│ │ │ ├── sp-storage v17.0.0 (*) +│ │ │ ├── ss58-registry v1.47.0 +│ │ │ │ └── num-format v0.4.4 +│ │ │ │ ├── arrayvec v0.7.4 +│ │ │ │ └── itoa v1.0.11 +│ │ │ │ [build-dependencies] +│ │ │ │ ├── Inflector v0.11.4 (*) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ └── unicode-xid v0.2.4 +│ │ │ ├── substrate-bip39 v0.4.6 +│ │ │ │ ├── hmac v0.11.0 +│ │ │ │ │ ├── crypto-mac v0.11.0 +│ │ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ └── digest v0.9.0 (*) +│ │ │ │ ├── pbkdf2 v0.8.0 +│ │ │ │ │ └── crypto-mac v0.11.0 (*) +│ │ │ │ ├── schnorrkel v0.11.4 +│ │ │ │ │ ├── arrayref v0.3.7 +│ │ │ │ │ ├── arrayvec v0.7.4 +│ │ │ │ │ ├── curve25519-dalek v4.1.2 +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ ├── platforms v3.4.0 +│ │ │ │ │ │ └── rustc_version v0.4.0 (*) +│ │ │ │ │ ├── getrandom_or_panic v0.0.3 +│ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ └── rand_core v0.6.4 (*) +│ │ │ │ │ ├── merlin v3.0.0 +│ │ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ │ ├── keccak v0.1.5 (*) +│ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ ├── serde_bytes v0.11.14 +│ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ ├── sha2 v0.9.9 (*) +│ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ ├── thiserror v1.0.61 (*) +│ │ │ ├── tiny-bip39 v1.0.0 +│ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ ├── hmac v0.12.1 (*) +│ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ ├── pbkdf2 v0.11.0 +│ │ │ │ │ └── digest v0.10.7 (*) +│ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ ├── rustc-hash v1.1.0 +│ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ ├── unicode-normalization v0.1.22 (*) +│ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ ├── tracing v0.1.40 (*) +│ │ │ └── zeroize v1.8.1 (*) +│ │ ├── thiserror v1.0.61 (*) +│ │ ├── thiserror-no-std v2.0.2 +│ │ │ └── thiserror-impl-no-std v2.0.2 (proc-macro) +│ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ ├── quote v1.0.36 (*) +│ │ │ └── syn v1.0.109 (*) +│ │ ├── tracing v0.1.40 (*) +│ │ ├── url v2.5.0 (*) +│ │ └── uuid v1.8.0 (*) +│ │ [build-dependencies] +│ │ ├── glob v0.3.1 +│ │ ├── lazy_static v1.4.0 (*) +│ │ └── serde_json v1.0.117 (*) +│ │ [dev-dependencies] +│ │ ├── assert_fs v1.1.1 +│ │ │ ├── anstyle v1.0.7 +│ │ │ ├── doc-comment v0.3.3 +│ │ │ ├── globwalk v0.9.1 +│ │ │ │ ├── bitflags v2.5.0 +│ │ │ │ ├── ignore v0.4.22 +│ │ │ │ │ ├── crossbeam-deque v0.8.5 (*) +│ │ │ │ │ ├── globset v0.4.14 (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── memchr v2.7.2 +│ │ │ │ │ ├── regex-automata v0.4.6 (*) +│ │ │ │ │ ├── same-file v1.0.6 +│ │ │ │ │ └── walkdir v2.5.0 (*) +│ │ │ │ └── walkdir v2.5.0 (*) +│ │ │ ├── predicates v3.1.0 +│ │ │ │ ├── anstyle v1.0.7 +│ │ │ │ ├── difflib v0.4.0 +│ │ │ │ └── predicates-core v1.0.6 +│ │ │ ├── predicates-core v1.0.6 +│ │ │ ├── predicates-tree v1.0.9 +│ │ │ │ ├── predicates-core v1.0.6 +│ │ │ │ └── termtree v0.4.1 +│ │ │ └── tempfile v3.10.1 (*) +│ │ ├── criterion v0.5.1 +│ │ │ ├── anes v0.1.6 +│ │ │ ├── cast v0.3.0 +│ │ │ ├── ciborium v0.2.2 +│ │ │ │ ├── ciborium-io v0.2.2 +│ │ │ │ ├── ciborium-ll v0.2.2 +│ │ │ │ │ ├── ciborium-io v0.2.2 +│ │ │ │ │ └── half v2.4.1 +│ │ │ │ │ ├── bytemuck v1.16.0 +│ │ │ │ │ │ └── bytemuck_derive v1.7.0 (proc-macro) +│ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ └── serde v1.0.203 (*) +│ │ │ ├── clap v4.5.4 +│ │ │ │ ├── clap_builder v4.5.2 +│ │ │ │ │ ├── anstream v0.6.14 +│ │ │ │ │ │ ├── anstyle v1.0.7 +│ │ │ │ │ │ ├── anstyle-parse v0.2.4 +│ │ │ │ │ │ │ └── utf8parse v0.2.1 +│ │ │ │ │ │ ├── anstyle-query v1.0.3 +│ │ │ │ │ │ ├── colorchoice v1.0.1 +│ │ │ │ │ │ ├── is_terminal_polyfill v1.70.0 +│ │ │ │ │ │ └── utf8parse v0.2.1 +│ │ │ │ │ ├── anstyle v1.0.7 +│ │ │ │ │ ├── clap_lex v0.7.0 +│ │ │ │ │ ├── strsim v0.11.1 +│ │ │ │ │ └── terminal_size v0.3.0 +│ │ │ │ │ └── rustix v0.38.34 (*) +│ │ │ │ └── clap_derive v4.5.4 (proc-macro) +│ │ │ │ ├── heck v0.5.0 +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v2.0.66 (*) +│ │ │ ├── criterion-plot v0.5.0 +│ │ │ │ ├── cast v0.3.0 +│ │ │ │ └── itertools v0.10.5 (*) +│ │ │ ├── futures v0.3.30 (*) +│ │ │ ├── is-terminal v0.4.12 (*) +│ │ │ ├── itertools v0.10.5 (*) +│ │ │ ├── num-traits v0.2.19 (*) +│ │ │ ├── once_cell v1.19.0 +│ │ │ ├── oorandom v11.1.3 +│ │ │ ├── plotters v0.3.6 +│ │ │ │ ├── num-traits v0.2.19 (*) +│ │ │ │ ├── plotters-backend v0.3.6 +│ │ │ │ └── plotters-svg v0.3.6 +│ │ │ │ └── plotters-backend v0.3.6 +│ │ │ ├── rayon v1.10.0 (*) +│ │ │ ├── regex v1.10.4 (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── serde_derive v1.0.203 (proc-macro) (*) +│ │ │ ├── serde_json v1.0.117 (*) +│ │ │ ├── tinytemplate v1.2.1 +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ └── serde_json v1.0.117 (*) +│ │ │ ├── tokio v1.38.0 (*) +│ │ │ └── walkdir v2.5.0 (*) +│ │ ├── insta v1.39.0 +│ │ │ ├── console v0.15.8 +│ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ └── libc v0.2.155 +│ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ ├── linked-hash-map v0.5.6 +│ │ │ ├── pest v2.7.10 (*) +│ │ │ ├── pest_derive v2.7.10 (proc-macro) (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── similar v2.5.0 +│ │ │ └── toml v0.5.11 (*) +│ │ ├── mockito v1.4.0 +│ │ │ ├── assert-json-diff v2.0.2 +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ └── serde_json v1.0.117 (*) +│ │ │ ├── colored v2.1.0 +│ │ │ │ └── lazy_static v1.4.0 (*) +│ │ │ ├── futures-core v0.3.30 +│ │ │ ├── hyper v0.14.28 (*) +│ │ │ ├── log v0.4.21 +│ │ │ ├── rand v0.8.5 (*) +│ │ │ ├── regex v1.10.4 (*) +│ │ │ ├── serde_json v1.0.117 (*) +│ │ │ ├── serde_urlencoded v0.7.1 (*) +│ │ │ ├── similar v2.5.0 +│ │ │ └── tokio v1.38.0 (*) +│ │ ├── proptest v1.4.0 +│ │ │ ├── bit-set v0.5.3 +│ │ │ │ └── bit-vec v0.6.3 +│ │ │ ├── bit-vec v0.6.3 +│ │ │ ├── bitflags v2.5.0 +│ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ ├── num-traits v0.2.19 (*) +│ │ │ ├── rand v0.8.5 (*) +│ │ │ ├── rand_chacha v0.3.1 (*) +│ │ │ ├── rand_xorshift v0.3.0 +│ │ │ │ └── rand_core v0.6.4 (*) +│ │ │ ├── regex-syntax v0.8.3 +│ │ │ ├── rusty-fork v0.3.0 +│ │ │ │ ├── fnv v1.0.7 +│ │ │ │ ├── quick-error v1.2.3 +│ │ │ │ ├── tempfile v3.10.1 (*) +│ │ │ │ └── wait-timeout v0.2.0 +│ │ │ │ └── libc v0.2.155 +│ │ │ ├── tempfile v3.10.1 (*) +│ │ │ └── unarray v0.1.4 +│ │ ├── tempfile v3.10.1 (*) +│ │ ├── testcontainers v0.14.0 +│ │ │ ├── bollard-stubs v1.41.0 +│ │ │ │ ├── chrono v0.4.38 (*) +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ └── serde_with v1.14.0 +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ └── serde_with_macros v1.5.2 (proc-macro) +│ │ │ │ ├── darling v0.13.4 +│ │ │ │ │ ├── darling_core v0.13.4 +│ │ │ │ │ │ ├── fnv v1.0.7 +│ │ │ │ │ │ ├── ident_case v1.0.1 +│ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ ├── strsim v0.10.0 +│ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ └── darling_macro v0.13.4 (proc-macro) +│ │ │ │ │ ├── darling_core v0.13.4 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v1.0.109 (*) +│ │ │ ├── futures v0.3.30 (*) +│ │ │ ├── hex v0.4.3 +│ │ │ ├── hmac v0.12.1 (*) +│ │ │ ├── log v0.4.21 +│ │ │ ├── rand v0.8.5 (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── serde_json v1.0.117 (*) +│ │ │ └── sha2 v0.10.8 (*) +│ │ └── tokio v1.38.0 (*) +│ ├── derivative v2.2.0 (proc-macro) (*) +│ ├── diesel v2.2.0 (*) +│ ├── diesel_migrations v2.2.0 +│ │ ├── diesel v2.2.0 (*) +│ │ ├── migrations_internals v2.2.0 +│ │ │ ├── serde v1.0.203 (*) +│ │ │ └── toml v0.8.13 +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── serde_spanned v0.6.6 +│ │ │ │ └── serde v1.0.203 (*) +│ │ │ ├── toml_datetime v0.6.6 (*) +│ │ │ └── toml_edit v0.22.13 +│ │ │ ├── indexmap v2.2.6 (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── serde_spanned v0.6.6 (*) +│ │ │ ├── toml_datetime v0.6.6 (*) +│ │ │ └── winnow v0.6.9 +│ │ └── migrations_macros v2.2.0 (proc-macro) +│ │ ├── migrations_internals v2.2.0 (*) +│ │ ├── proc-macro2 v1.0.84 (*) +│ │ └── quote v1.0.36 (*) +│ ├── hex v0.4.3 +│ ├── protocol-substrate-chronicle v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate-chronicle) +│ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ ├── chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) +│ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ ├── k256 v0.11.6 (*) +│ │ │ ├── rand v0.8.5 (*) +│ │ │ ├── secret-vault v1.12.1 +│ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ ├── chrono v0.4.38 (*) +│ │ │ │ ├── hex v0.4.3 +│ │ │ │ ├── rsb_derive v0.5.1 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ ├── rvstruct v0.3.2 +│ │ │ │ │ └── rvs_derive v0.3.2 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ ├── secret-vault-value v0.3.8 +│ │ │ │ │ ├── hex v0.4.3 +│ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ [build-dependencies] +│ │ │ │ └── cargo-husky v1.5.0 +│ │ │ ├── secret-vault-value v0.3.8 (*) +│ │ │ ├── thiserror v1.0.61 (*) +│ │ │ ├── tokio v1.38.0 (*) +│ │ │ ├── tokio-stream v0.1.15 (*) +│ │ │ ├── tracing v0.1.40 (*) +│ │ │ ├── url v2.5.0 (*) +│ │ │ └── vaultrs v0.7.2 +│ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ ├── bytes v1.6.0 (*) +│ │ │ ├── derive_builder v0.12.0 +│ │ │ │ └── derive_builder_macro v0.12.0 (proc-macro) +│ │ │ │ ├── derive_builder_core v0.12.0 +│ │ │ │ │ ├── darling v0.14.4 (*) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ └── syn v1.0.109 (*) +│ │ │ ├── http v0.2.12 (*) +│ │ │ ├── reqwest v0.11.27 (*) +│ │ │ ├── rustify v0.5.3 +│ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ ├── reqwest v0.11.27 (*) +│ │ │ │ ├── rustify_derive v0.5.3 (proc-macro) +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ ├── serde_urlencoded v0.7.1 (*) +│ │ │ │ │ ├── syn v1.0.109 (*) +│ │ │ │ │ └── synstructure v0.12.6 +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ ├── syn v1.0.109 (*) +│ │ │ │ │ └── unicode-xid v0.2.4 +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ ├── serde_urlencoded v0.7.1 (*) +│ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ └── url v2.5.0 (*) +│ │ │ ├── rustify_derive v0.5.3 (proc-macro) (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── serde_json v1.0.117 (*) +│ │ │ ├── thiserror v1.0.61 (*) +│ │ │ ├── tracing v0.1.40 (*) +│ │ │ └── url v2.5.0 (*) +│ │ │ [dev-dependencies] +│ │ │ └── testcontainers v0.14.0 (*) +│ │ ├── clap_builder v4.5.2 (*) +│ │ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +│ │ ├── futures v0.3.30 (*) +│ │ ├── hex v0.4.3 +│ │ ├── k256 v0.11.6 (*) +│ │ ├── opa v0.9.0 (https://github.com/chronicleworks/opa-rs?rev=9fa2fbce#9fa2fbce) (*) +│ │ ├── parity-scale-codec v3.6.12 (*) +│ │ ├── protocol-abstract v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-abstract) +│ │ │ ├── anyhow v1.0.86 (*) +│ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ ├── futures v0.3.30 (*) +│ │ │ ├── k256 v0.11.6 (*) +│ │ │ ├── pallet-chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-chronicle) +│ │ │ │ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +│ │ │ │ ├── frame-benchmarking v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── aquamarine v0.5.0 (proc-macro) +│ │ │ │ │ │ │ ├── include_dir v0.7.3 +│ │ │ │ │ │ │ │ └── include_dir_macros v0.7.3 (proc-macro) +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ └── quote v1.0.36 (*) +│ │ │ │ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ │ │ │ ├── proc-macro-error v1.0.4 (*) +│ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ │ ├── docify v0.2.8 +│ │ │ │ │ │ │ └── docify_macros v0.2.8 (proc-macro) +│ │ │ │ │ │ │ ├── common-path v1.0.0 +│ │ │ │ │ │ │ ├── derive-syn-parse v0.2.0 (proc-macro) +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ │ │ ├── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── termcolor v1.4.1 +│ │ │ │ │ │ │ ├── toml v0.8.13 (*) +│ │ │ │ │ │ │ └── walkdir v2.5.0 (*) +│ │ │ │ │ │ ├── environmental v1.1.4 +│ │ │ │ │ │ ├── frame-metadata v16.0.0 +│ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ │ ├── frame-support-procedural v23.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── Inflector v0.11.4 (*) +│ │ │ │ │ │ │ ├── cfg-expr v0.15.8 +│ │ │ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ │ │ ├── derive-syn-parse v0.1.5 (proc-macro) +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ ├── expander v2.1.0 +│ │ │ │ │ │ │ │ ├── blake2 v0.10.6 (*) +│ │ │ │ │ │ │ │ ├── fs-err v2.11.0 +│ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ └── autocfg v1.3.0 +│ │ │ │ │ │ │ │ ├── prettier-please v0.2.0 +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── frame-support-procedural-tools v10.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── frame-support-procedural-tools-derive v11.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ │ │ │ ├── macro_magic v0.5.0 +│ │ │ │ │ │ │ │ ├── macro_magic_core v0.5.0 +│ │ │ │ │ │ │ │ │ ├── const-random v0.1.18 +│ │ │ │ │ │ │ │ │ │ └── const-random-macro v0.1.16 (proc-macro) +│ │ │ │ │ │ │ │ │ │ ├── getrandom v0.2.15 (*) +│ │ │ │ │ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ │ │ │ │ └── tiny-keccak v2.0.2 +│ │ │ │ │ │ │ │ │ │ └── crunchy v0.2.2 +│ │ │ │ │ │ │ │ │ ├── derive-syn-parse v0.1.5 (proc-macro) (*) +│ │ │ │ │ │ │ │ │ ├── macro_magic_core_macros v0.5.0 (proc-macro) +│ │ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ ├── macro_magic_macros v0.5.0 (proc-macro) +│ │ │ │ │ │ │ │ │ ├── macro_magic_core v0.5.0 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── proc-macro-warning v1.0.2 +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ ├── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── blake2b_simd v1.0.2 (*) +│ │ │ │ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ │ │ │ ├── sha3 v0.10.8 (*) +│ │ │ │ │ │ │ │ └── twox-hash v1.6.3 (*) +│ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ │ ├── k256 v0.13.3 +│ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ ├── ecdsa v0.16.9 +│ │ │ │ │ │ │ │ ├── der v0.7.9 +│ │ │ │ │ │ │ │ │ ├── const-oid v0.9.6 +│ │ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ │ │ │ │ ├── elliptic-curve v0.13.8 +│ │ │ │ │ │ │ │ │ ├── base16ct v0.2.0 +│ │ │ │ │ │ │ │ │ ├── crypto-bigint v0.5.5 +│ │ │ │ │ │ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ │ │ │ │ │ ├── ff v0.13.0 +│ │ │ │ │ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ │ │ │ │ ├── group v0.13.0 +│ │ │ │ │ │ │ │ │ │ ├── ff v0.13.0 (*) +│ │ │ │ │ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ │ │ │ │ ├── pkcs8 v0.10.2 +│ │ │ │ │ │ │ │ │ │ ├── der v0.7.9 (*) +│ │ │ │ │ │ │ │ │ │ └── spki v0.7.3 +│ │ │ │ │ │ │ │ │ │ └── der v0.7.9 (*) +│ │ │ │ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ │ │ ├── sec1 v0.7.3 +│ │ │ │ │ │ │ │ │ │ ├── base16ct v0.2.0 +│ │ │ │ │ │ │ │ │ │ ├── der v0.7.9 (*) +│ │ │ │ │ │ │ │ │ │ ├── generic-array v0.14.7 (*) +│ │ │ │ │ │ │ │ │ │ ├── serdect v0.2.0 +│ │ │ │ │ │ │ │ │ │ │ ├── base16ct v0.2.0 +│ │ │ │ │ │ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ │ │ ├── serdect v0.2.0 (*) +│ │ │ │ │ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ │ ├── rfc6979 v0.4.0 +│ │ │ │ │ │ │ │ │ ├── hmac v0.12.1 (*) +│ │ │ │ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ │ │ │ ├── serdect v0.2.0 (*) +│ │ │ │ │ │ │ │ ├── signature v2.2.0 +│ │ │ │ │ │ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ │ │ │ │ │ └── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ │ └── spki v0.7.3 (*) +│ │ │ │ │ │ │ ├── elliptic-curve v0.13.8 (*) +│ │ │ │ │ │ │ ├── serdect v0.2.0 (*) +│ │ │ │ │ │ │ └── sha2 v0.10.8 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── macro_magic v0.5.0 +│ │ │ │ │ │ │ └── macro_magic_macros v0.5.0 (proc-macro) (*) +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── hash-db v0.16.0 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ ├── sp-api-proc-macro v15.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── Inflector v0.11.4 (*) +│ │ │ │ │ │ │ │ ├── blake2 v0.10.6 (*) +│ │ │ │ │ │ │ │ ├── expander v2.1.0 (*) +│ │ │ │ │ │ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ │ │ │ ├── blake2 v0.10.6 (*) +│ │ │ │ │ │ │ │ ├── bounded-collections v0.2.0 +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── bs58 v0.5.1 +│ │ │ │ │ │ │ │ ├── dyn-clonable v0.9.0 (*) +│ │ │ │ │ │ │ │ ├── ed25519-zebra v3.1.0 (*) +│ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── hash-db v0.16.0 +│ │ │ │ │ │ │ │ ├── hash256-std-hasher v0.15.2 (*) +│ │ │ │ │ │ │ │ ├── impl-serde v0.4.0 (*) +│ │ │ │ │ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ │ │ │ │ ├── k256 v0.13.3 (*) +│ │ │ │ │ │ │ │ ├── libsecp256k1 v0.7.1 (*) +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── merlin v3.0.0 (*) +│ │ │ │ │ │ │ │ ├── parity-bip39 v2.0.1 +│ │ │ │ │ │ │ │ │ ├── bitcoin_hashes v0.13.0 +│ │ │ │ │ │ │ │ │ │ ├── bitcoin-internals v0.2.0 +│ │ │ │ │ │ │ │ │ │ └── hex-conservative v0.1.2 +│ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ └── unicode-normalization v0.1.22 (*) +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ │ │ │ │ │ ├── primitive-types v0.12.2 (*) +│ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ ├── schnorrkel v0.11.4 (*) +│ │ │ │ │ │ │ │ ├── secp256k1 v0.28.2 +│ │ │ │ │ │ │ │ │ └── secp256k1-sys v0.9.2 +│ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ └── cc v1.0.98 (*) +│ │ │ │ │ │ │ │ ├── secrecy v0.8.0 (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-debug-derive v14.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── environmental v1.1.4 +│ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ └── sp-storage v19.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── impl-serde v0.4.0 (*) +│ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ ├── ref-cast v1.0.23 (*) +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ ├── sp-debug-derive v14.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── sp-runtime-interface v24.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ ├── primitive-types v0.12.2 (*) +│ │ │ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-runtime-interface-proc-macro v17.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ ├── Inflector v0.11.4 (*) +│ │ │ │ │ │ │ │ │ │ ├── expander v2.1.0 (*) +│ │ │ │ │ │ │ │ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── sp-storage v19.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-tracing v16.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ │ │ ├── tracing-core v0.1.32 (*) +│ │ │ │ │ │ │ │ │ │ └── tracing-subscriber v0.2.25 (*) +│ │ │ │ │ │ │ │ │ ├── sp-wasm-interface v20.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ └── wasmtime v8.0.1 (*) +│ │ │ │ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── sp-storage v19.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── ss58-registry v1.47.0 (*) +│ │ │ │ │ │ │ │ ├── substrate-bip39 v0.4.7 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── hmac v0.12.1 (*) +│ │ │ │ │ │ │ │ │ ├── pbkdf2 v0.12.2 +│ │ │ │ │ │ │ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ │ │ │ │ │ │ └── password-hash v0.5.0 +│ │ │ │ │ │ │ │ │ │ ├── base64ct v1.6.0 +│ │ │ │ │ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ │ │ │ │ ├── schnorrkel v0.11.4 (*) +│ │ │ │ │ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-metadata-ir v0.6.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── frame-metadata v16.0.0 (*) +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── docify v0.2.8 (*) +│ │ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ │ ├── hash256-std-hasher v0.15.2 (*) +│ │ │ │ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── simple-mermaid v0.1.1 +│ │ │ │ │ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ │ ├── ed25519-dalek v2.1.1 +│ │ │ │ │ │ │ │ │ │ │ ├── curve25519-dalek v4.1.2 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── ed25519 v2.2.3 +│ │ │ │ │ │ │ │ │ │ │ │ └── signature v2.2.0 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ │ │ │ ├── libsecp256k1 v0.7.1 (*) +│ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ │ ├── secp256k1 v0.28.2 (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ │ └── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-runtime-interface v24.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ │ ├── hash-db v0.16.0 +│ │ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ │ ├── sp-panic-handler v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ │ │ ├── backtrace v0.3.72 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ │ │ │ │ └── regex v1.10.4 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ │ ├── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ │ │ ├── ahash v0.8.11 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── hash-db v0.16.0 +│ │ │ │ │ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── memory-db v0.32.0 +│ │ │ │ │ │ │ │ │ │ │ │ │ └── hash-db v0.16.0 +│ │ │ │ │ │ │ │ │ │ │ │ ├── nohash-hasher v0.2.0 +│ │ │ │ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── schnellru v0.2.3 +│ │ │ │ │ │ │ │ │ │ │ │ │ ├── ahash v0.8.11 (*) +│ │ │ │ │ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ │ │ │ │ └── hashbrown v0.13.2 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ │ │ │ │ ├── trie-db v0.28.0 +│ │ │ │ │ │ │ │ │ │ │ │ │ ├── hash-db v0.16.0 +│ │ │ │ │ │ │ │ │ │ │ │ │ ├── hashbrown v0.13.2 (*) +│ │ │ │ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ │ │ │ ├── rustc-hex v2.1.0 +│ │ │ │ │ │ │ │ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ │ │ │ └── trie-root v0.18.0 +│ │ │ │ │ │ │ │ │ │ │ │ └── hash-db v0.16.0 +│ │ │ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ │ │ │ └── trie-db v0.28.0 (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ │ ├── sp-tracing v16.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ ├── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ │ │ └── tracing-core v0.1.32 (*) +│ │ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ │ └── rustversion v1.0.17 (proc-macro) +│ │ │ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── sp-arithmetic v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── integer-sqrt v0.1.5 +│ │ │ │ │ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ │ │ │ ├── num-traits v0.2.19 (*) +│ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ └── sp-weights v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── bounded-collections v0.2.0 (*) +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ ├── sp-arithmetic v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-debug-derive v14.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── sp-runtime-interface v24.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── impl-serde v0.4.0 (*) +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── parity-wasm v0.45.0 +│ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── sp-crypto-hashing-proc-macro v0.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ ├── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── sp-version-proc-macro v13.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── sp-arithmetic v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-crypto-hashing-proc-macro v0.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-debug-derive v14.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-genesis-builder v0.7.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-metadata-ir v0.6.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-staking v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── sp-tracing v16.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-weights v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── static_assertions v1.1.0 +│ │ │ │ │ │ └── tt-call v1.0.9 +│ │ │ │ │ ├── frame-support-procedural v23.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ ├── docify v0.2.8 (*) +│ │ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ └── sp-weights v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── linregress v0.5.3 +│ │ │ │ │ │ └── nalgebra v0.32.5 +│ │ │ │ │ │ ├── approx v0.5.1 +│ │ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ ├── matrixmultiply v0.3.8 +│ │ │ │ │ │ │ └── rawpointer v0.2.1 +│ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ └── autocfg v1.3.0 +│ │ │ │ │ │ ├── nalgebra-macros v0.2.1 (proc-macro) +│ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ ├── num-complex v0.4.6 +│ │ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ ├── num-rational v0.4.2 +│ │ │ │ │ │ │ ├── num-bigint v0.4.5 +│ │ │ │ │ │ │ │ ├── num-integer v0.1.46 +│ │ │ │ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ │ ├── num-integer v0.1.46 (*) +│ │ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ ├── num-traits v0.2.19 (*) +│ │ │ │ │ │ ├── simba v0.8.1 +│ │ │ │ │ │ │ ├── approx v0.5.1 (*) +│ │ │ │ │ │ │ ├── num-complex v0.4.6 (*) +│ │ │ │ │ │ │ ├── num-traits v0.2.19 (*) +│ │ │ │ │ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ │ │ │ │ └── wide v0.7.21 +│ │ │ │ │ │ │ ├── bytemuck v1.16.0 (*) +│ │ │ │ │ │ │ └── safe_arch v0.7.1 +│ │ │ │ │ │ │ └── bytemuck v1.16.0 (*) +│ │ │ │ │ │ └── typenum v1.17.0 +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime-interface v24.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── sp-storage v19.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── macro-attr-2018 v3.0.0 +│ │ │ │ ├── newtype-derive-2018 v0.2.3 (*) +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core-hashing v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ └── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ └── uuid v1.8.0 (*) +│ │ │ │ [dev-dependencies] +│ │ │ │ ├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) +│ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ ├── console-subscriber v0.2.0 +│ │ │ │ │ │ ├── console-api v0.6.0 +│ │ │ │ │ │ │ ├── futures-core v0.3.30 +│ │ │ │ │ │ │ ├── prost v0.12.6 +│ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ └── prost-derive v0.12.6 (proc-macro) +│ │ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ │ ├── itertools v0.12.1 +│ │ │ │ │ │ │ │ │ └── either v1.12.0 +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── prost-types v0.12.6 +│ │ │ │ │ │ │ │ └── prost v0.12.6 (*) +│ │ │ │ │ │ │ ├── tonic v0.10.2 +│ │ │ │ │ │ │ │ ├── async-stream v0.3.5 (*) +│ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ ├── axum v0.6.20 +│ │ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ │ ├── axum-core v0.3.4 +│ │ │ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ │ │ │ │ ├── http-body v0.4.6 (*) +│ │ │ │ │ │ │ │ │ │ ├── mime v0.3.17 +│ │ │ │ │ │ │ │ │ │ ├── tower-layer v0.3.2 +│ │ │ │ │ │ │ │ │ │ └── tower-service v0.3.2 +│ │ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ │ └── rustversion v1.0.17 (proc-macro) +│ │ │ │ │ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ │ │ │ ├── http-body v0.4.6 (*) +│ │ │ │ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ │ │ │ ├── itoa v1.0.11 +│ │ │ │ │ │ │ │ │ ├── matchit v0.7.3 +│ │ │ │ │ │ │ │ │ ├── memchr v2.7.2 +│ │ │ │ │ │ │ │ │ ├── mime v0.3.17 +│ │ │ │ │ │ │ │ │ ├── percent-encoding v2.3.1 +│ │ │ │ │ │ │ │ │ ├── pin-project-lite v0.2.14 +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ ├── sync_wrapper v0.1.2 +│ │ │ │ │ │ │ │ │ ├── tower v0.4.13 (*) +│ │ │ │ │ │ │ │ │ ├── tower-layer v0.3.2 +│ │ │ │ │ │ │ │ │ └── tower-service v0.3.2 +│ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ └── rustversion v1.0.17 (proc-macro) +│ │ │ │ │ │ │ │ ├── base64 v0.21.7 +│ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ ├── h2 v0.3.26 (*) +│ │ │ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ │ │ ├── http-body v0.4.6 (*) +│ │ │ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ │ │ ├── hyper-timeout v0.4.1 +│ │ │ │ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ │ │ │ ├── pin-project-lite v0.2.14 +│ │ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ │ └── tokio-io-timeout v1.2.0 +│ │ │ │ │ │ │ │ │ ├── pin-project-lite v0.2.14 +│ │ │ │ │ │ │ │ │ └── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ ├── percent-encoding v2.3.1 +│ │ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ │ ├── prost v0.12.6 (*) +│ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ ├── tokio-stream v0.1.15 (*) +│ │ │ │ │ │ │ │ ├── tower v0.4.13 (*) +│ │ │ │ │ │ │ │ ├── tower-layer v0.3.2 +│ │ │ │ │ │ │ │ ├── tower-service v0.3.2 +│ │ │ │ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ │ │ │ └── tracing-core v0.1.32 (*) +│ │ │ │ │ │ ├── crossbeam-channel v0.5.13 +│ │ │ │ │ │ │ └── crossbeam-utils v0.8.20 +│ │ │ │ │ │ ├── crossbeam-utils v0.8.20 +│ │ │ │ │ │ ├── futures-task v0.3.30 +│ │ │ │ │ │ ├── hdrhistogram v7.5.4 +│ │ │ │ │ │ │ ├── base64 v0.21.7 +│ │ │ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ │ │ ├── flate2 v1.0.30 (*) +│ │ │ │ │ │ │ ├── nom v7.1.3 +│ │ │ │ │ │ │ │ ├── memchr v2.7.2 +│ │ │ │ │ │ │ │ └── minimal-lexical v0.2.1 +│ │ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ ├── humantime v2.1.0 +│ │ │ │ │ │ ├── prost-types v0.12.6 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ ├── thread_local v1.1.8 (*) +│ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ ├── tokio-stream v0.1.15 (*) +│ │ │ │ │ │ ├── tonic v0.10.2 (*) +│ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ ├── tracing-core v0.1.32 (*) +│ │ │ │ │ │ └── tracing-subscriber v0.3.18 +│ │ │ │ │ │ ├── matchers v0.1.0 +│ │ │ │ │ │ │ └── regex-automata v0.1.10 (*) +│ │ │ │ │ │ ├── nu-ansi-term v0.46.0 +│ │ │ │ │ │ │ └── overload v0.1.1 +│ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ ├── sharded-slab v0.1.7 (*) +│ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ ├── thread_local v1.1.8 (*) +│ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ ├── tracing-core v0.1.32 (*) +│ │ │ │ │ │ ├── tracing-log v0.2.0 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ │ └── tracing-core v0.1.32 (*) +│ │ │ │ │ │ └── tracing-serde v0.1.3 (*) +│ │ │ │ │ ├── opentelemetry-otlp v0.15.0 +│ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ ├── futures-core v0.3.30 +│ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ ├── opentelemetry v0.22.0 (*) +│ │ │ │ │ │ ├── opentelemetry-proto v0.5.0 +│ │ │ │ │ │ │ ├── opentelemetry v0.22.0 (*) +│ │ │ │ │ │ │ ├── opentelemetry_sdk v0.22.1 +│ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ ├── crossbeam-channel v0.5.13 (*) +│ │ │ │ │ │ │ │ ├── futures-channel v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── futures-executor v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── glob v0.3.1 +│ │ │ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ │ │ ├── opentelemetry v0.22.0 (*) +│ │ │ │ │ │ │ │ ├── ordered-float v4.2.0 +│ │ │ │ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ │ │ ├── percent-encoding v2.3.1 +│ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ ├── prost v0.12.6 (*) +│ │ │ │ │ │ │ └── tonic v0.11.0 +│ │ │ │ │ │ │ ├── async-stream v0.3.5 (*) +│ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ ├── axum v0.6.20 (*) +│ │ │ │ │ │ │ ├── base64 v0.21.7 +│ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ ├── h2 v0.3.26 (*) +│ │ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ │ ├── http-body v0.4.6 (*) +│ │ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ │ ├── hyper-timeout v0.4.1 (*) +│ │ │ │ │ │ │ ├── percent-encoding v2.3.1 +│ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ ├── prost v0.12.6 (*) +│ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ ├── tokio-stream v0.1.15 (*) +│ │ │ │ │ │ │ ├── tower v0.4.13 (*) +│ │ │ │ │ │ │ ├── tower-layer v0.3.2 +│ │ │ │ │ │ │ ├── tower-service v0.3.2 +│ │ │ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ │ │ ├── opentelemetry-semantic-conventions v0.14.0 +│ │ │ │ │ │ ├── opentelemetry_sdk v0.22.1 (*) +│ │ │ │ │ │ ├── prost v0.12.6 (*) +│ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ └── tonic v0.11.0 (*) +│ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ ├── tracing-flame v0.2.0 +│ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ └── tracing-subscriber v0.3.18 (*) +│ │ │ │ │ ├── tracing-log v0.1.4 (*) +│ │ │ │ │ ├── tracing-opentelemetry v0.23.0 +│ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ ├── opentelemetry v0.22.0 (*) +│ │ │ │ │ │ ├── opentelemetry_sdk v0.22.1 (*) +│ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ ├── tracing-core v0.1.32 (*) +│ │ │ │ │ │ ├── tracing-log v0.2.0 (*) +│ │ │ │ │ │ └── tracing-subscriber v0.3.18 (*) +│ │ │ │ │ ├── tracing-subscriber v0.3.18 (*) +│ │ │ │ │ └── url v2.5.0 (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ └── uuid v1.8.0 (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── subxt v0.34.0 +│ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ ├── base58 v0.2.0 +│ │ │ │ ├── blake2 v0.10.6 (*) +│ │ │ │ ├── derivative v2.2.0 (proc-macro) (*) +│ │ │ │ ├── either v1.12.0 +│ │ │ │ ├── frame-metadata v16.0.0 (*) +│ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ ├── hex v0.4.3 +│ │ │ │ ├── impl-serde v0.4.0 (*) +│ │ │ │ ├── instant v0.1.13 (*) +│ │ │ │ ├── jsonrpsee v0.21.0 +│ │ │ │ │ ├── jsonrpsee-client-transport v0.21.0 +│ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ ├── jsonrpsee-core v0.21.0 +│ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ ├── async-lock v3.3.0 +│ │ │ │ │ │ │ │ ├── event-listener v4.0.3 +│ │ │ │ │ │ │ │ │ ├── concurrent-queue v2.5.0 (*) +│ │ │ │ │ │ │ │ │ ├── parking v2.2.0 +│ │ │ │ │ │ │ │ │ └── pin-project-lite v0.2.14 +│ │ │ │ │ │ │ │ ├── event-listener-strategy v0.4.0 +│ │ │ │ │ │ │ │ │ ├── event-listener v4.0.3 (*) +│ │ │ │ │ │ │ │ │ └── pin-project-lite v0.2.14 +│ │ │ │ │ │ │ │ └── pin-project-lite v0.2.14 +│ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ ├── beef v0.5.2 +│ │ │ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ ├── jsonrpsee-types v0.21.0 +│ │ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ │ ├── beef v0.5.2 (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ ├── rustc-hash v1.1.0 +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ ├── tokio-stream v0.1.15 (*) +│ │ │ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ ├── rustls-native-certs v0.7.0 +│ │ │ │ │ │ │ ├── rustls-pemfile v2.1.2 +│ │ │ │ │ │ │ │ ├── base64 v0.22.1 +│ │ │ │ │ │ │ │ └── rustls-pki-types v1.7.0 +│ │ │ │ │ │ │ ├── rustls-pki-types v1.7.0 +│ │ │ │ │ │ │ └── security-framework v2.11.0 (*) +│ │ │ │ │ │ ├── rustls-pki-types v1.7.0 +│ │ │ │ │ │ ├── soketto v0.7.1 +│ │ │ │ │ │ │ ├── base64 v0.13.1 +│ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ ├── flate2 v1.0.30 (*) +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ │ ├── httparse v1.8.0 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ └── sha-1 v0.9.8 +│ │ │ │ │ │ │ ├── block-buffer v0.9.0 (*) +│ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ ├── cpufeatures v0.2.12 (*) +│ │ │ │ │ │ │ ├── digest v0.9.0 (*) +│ │ │ │ │ │ │ └── opaque-debug v0.3.1 +│ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ ├── tokio-rustls v0.25.0 +│ │ │ │ │ │ │ ├── rustls v0.22.4 +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── ring v0.17.8 (*) +│ │ │ │ │ │ │ │ ├── rustls-pki-types v1.7.0 +│ │ │ │ │ │ │ │ ├── rustls-webpki v0.102.4 +│ │ │ │ │ │ │ │ │ ├── ring v0.17.8 (*) +│ │ │ │ │ │ │ │ │ ├── rustls-pki-types v1.7.0 +│ │ │ │ │ │ │ │ │ └── untrusted v0.9.0 +│ │ │ │ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ ├── rustls-pki-types v1.7.0 +│ │ │ │ │ │ │ └── tokio v1.38.0 (*) +│ │ │ │ │ │ ├── tokio-util v0.7.11 (*) +│ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ └── url v2.5.0 (*) +│ │ │ │ │ ├── jsonrpsee-core v0.21.0 (*) +│ │ │ │ │ └── jsonrpsee-types v0.21.0 (*) +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── primitive-types v0.12.2 (*) +│ │ │ │ ├── scale-bits v0.4.0 (*) +│ │ │ │ ├── scale-decode v0.10.0 (*) +│ │ │ │ ├── scale-encode v0.5.0 (*) +│ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ ├── scale-value v0.13.0 +│ │ │ │ │ ├── base58 v0.2.0 +│ │ │ │ │ ├── blake2 v0.10.6 (*) +│ │ │ │ │ ├── derive_more v0.99.17 (proc-macro) (*) +│ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ ├── frame-metadata v15.1.0 +│ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ └── scale-info v2.11.3 (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-bits v0.4.0 (*) +│ │ │ │ │ ├── scale-decode v0.10.0 (*) +│ │ │ │ │ ├── scale-encode v0.5.0 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ └── yap v0.11.0 +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ ├── sp-core v28.0.0 +│ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ ├── bip39 v2.0.0 +│ │ │ │ │ │ ├── bitcoin_hashes v0.11.0 +│ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ └── unicode-normalization v0.1.22 (*) +│ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ ├── blake2 v0.10.6 (*) +│ │ │ │ │ ├── bounded-collections v0.1.9 (*) +│ │ │ │ │ ├── bs58 v0.5.1 +│ │ │ │ │ ├── dyn-clonable v0.9.0 (*) +│ │ │ │ │ ├── ed25519-zebra v3.1.0 (*) +│ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ ├── hash-db v0.16.0 +│ │ │ │ │ ├── hash256-std-hasher v0.15.2 (*) +│ │ │ │ │ ├── impl-serde v0.4.0 (*) +│ │ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ │ ├── libsecp256k1 v0.7.1 (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── merlin v3.0.0 (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ │ │ ├── primitive-types v0.12.2 (*) +│ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── schnorrkel v0.11.4 (*) +│ │ │ │ │ ├── secp256k1 v0.28.2 (*) +│ │ │ │ │ ├── secrecy v0.8.0 (*) +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── sp-core-hashing v15.0.0 +│ │ │ │ │ │ ├── blake2b_simd v1.0.2 (*) +│ │ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ │ ├── sha3 v0.10.8 (*) +│ │ │ │ │ │ └── twox-hash v1.6.3 (*) +│ │ │ │ │ ├── sp-debug-derive v14.0.0 (proc-macro) +│ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ ├── sp-externalities v0.25.0 +│ │ │ │ │ │ ├── environmental v1.1.4 +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ │ └── sp-storage v19.0.0 +│ │ │ │ │ │ ├── impl-serde v0.4.0 (*) +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── ref-cast v1.0.23 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── sp-debug-derive v14.0.0 (proc-macro) (*) +│ │ │ │ │ │ └── sp-std v14.0.0 +│ │ │ │ │ ├── sp-runtime-interface v24.0.0 +│ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── primitive-types v0.12.2 (*) +│ │ │ │ │ │ ├── sp-externalities v0.25.0 (*) +│ │ │ │ │ │ ├── sp-runtime-interface-proc-macro v17.0.0 (proc-macro) +│ │ │ │ │ │ │ ├── Inflector v0.11.4 (*) +│ │ │ │ │ │ │ ├── expander v2.1.0 (*) +│ │ │ │ │ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ │ ├── sp-storage v19.0.0 (*) +│ │ │ │ │ │ ├── sp-tracing v16.0.0 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ ├── tracing-core v0.1.32 (*) +│ │ │ │ │ │ │ └── tracing-subscriber v0.2.25 (*) +│ │ │ │ │ │ ├── sp-wasm-interface v20.0.0 +│ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ │ │ └── wasmtime v8.0.1 (*) +│ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ ├── sp-storage v19.0.0 (*) +│ │ │ │ │ ├── ss58-registry v1.47.0 (*) +│ │ │ │ │ ├── substrate-bip39 v0.4.6 (*) +│ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ ├── sp-core-hashing v15.0.0 (*) +│ │ │ │ ├── sp-runtime v31.0.1 +│ │ │ │ │ ├── docify v0.2.8 (*) +│ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ ├── hash256-std-hasher v0.15.2 (*) +│ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── paste v1.0.15 (proc-macro) +│ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── simple-mermaid v0.1.1 +│ │ │ │ │ ├── sp-application-crypto v30.0.0 +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── sp-core v28.0.0 (*) +│ │ │ │ │ │ ├── sp-io v30.0.0 +│ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ ├── ed25519-dalek v2.1.1 (*) +│ │ │ │ │ │ │ ├── libsecp256k1 v0.7.1 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── secp256k1 v0.28.2 (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (*) +│ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (*) +│ │ │ │ │ │ │ ├── sp-keystore v0.34.0 +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (*) +│ │ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (*) +│ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ ├── sp-runtime-interface v24.0.0 (*) +│ │ │ │ │ │ │ ├── sp-state-machine v0.35.0 +│ │ │ │ │ │ │ │ ├── hash-db v0.16.0 +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (*) +│ │ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (*) +│ │ │ │ │ │ │ │ ├── sp-panic-handler v13.0.0 +│ │ │ │ │ │ │ │ │ ├── backtrace v0.3.72 (*) +│ │ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ │ └── regex v1.10.4 (*) +│ │ │ │ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ │ │ │ ├── sp-trie v29.0.0 +│ │ │ │ │ │ │ │ │ ├── ahash v0.8.11 (*) +│ │ │ │ │ │ │ │ │ ├── hash-db v0.16.0 +│ │ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ │ ├── memory-db v0.32.0 (*) +│ │ │ │ │ │ │ │ │ ├── nohash-hasher v0.2.0 +│ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ │ ├── schnellru v0.2.3 (*) +│ │ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (*) +│ │ │ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (*) +│ │ │ │ │ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ │ ├── trie-db v0.28.0 (*) +│ │ │ │ │ │ │ │ │ └── trie-root v0.18.0 (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ └── trie-db v0.28.0 (*) +│ │ │ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ │ │ ├── sp-tracing v16.0.0 (*) +│ │ │ │ │ │ │ ├── sp-trie v29.0.0 (*) +│ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ └── tracing-core v0.1.32 (*) +│ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ └── rustversion v1.0.17 (proc-macro) +│ │ │ │ │ │ └── sp-std v14.0.0 +│ │ │ │ │ ├── sp-arithmetic v23.0.0 +│ │ │ │ │ │ ├── integer-sqrt v0.1.5 (*) +│ │ │ │ │ │ ├── num-traits v0.2.19 (*) +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ ├── sp-core v28.0.0 (*) +│ │ │ │ │ ├── sp-io v30.0.0 (*) +│ │ │ │ │ ├── sp-std v14.0.0 +│ │ │ │ │ └── sp-weights v27.0.0 +│ │ │ │ │ ├── bounded-collections v0.1.9 (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ ├── sp-arithmetic v23.0.0 (*) +│ │ │ │ │ ├── sp-debug-derive v14.0.0 (proc-macro) (*) +│ │ │ │ │ └── sp-std v14.0.0 +│ │ │ │ ├── subxt-macro v0.34.0 (proc-macro) +│ │ │ │ │ ├── darling v0.20.9 (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── proc-macro-error v1.0.4 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ ├── scale-typegen v0.1.1 +│ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ ├── scale-info v2.11.3 +│ │ │ │ │ │ │ ├── bitvec v1.0.1 (*) +│ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ ├── derive_more v0.99.17 (proc-macro) (*) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── scale-info-derive v2.11.3 (proc-macro) (*) +│ │ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ │ ├── syn v2.0.66 (*) +│ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ ├── subxt-codegen v0.34.0 +│ │ │ │ │ │ ├── frame-metadata v16.0.0 (*) +│ │ │ │ │ │ ├── heck v0.4.1 +│ │ │ │ │ │ ├── hex v0.4.3 +│ │ │ │ │ │ ├── jsonrpsee v0.21.0 +│ │ │ │ │ │ │ ├── jsonrpsee-client-transport v0.21.0 (*) +│ │ │ │ │ │ │ ├── jsonrpsee-core v0.21.0 +│ │ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ │ ├── async-lock v3.3.0 (*) +│ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ ├── beef v0.5.2 (*) +│ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ │ │ ├── jsonrpsee-types v0.21.0 (*) +│ │ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ │ ├── rustc-hash v1.1.0 +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ ├── tokio-stream v0.1.15 (*) +│ │ │ │ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ │ │ │ ├── jsonrpsee-http-client v0.21.0 +│ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ │ │ ├── hyper-rustls v0.24.2 (*) +│ │ │ │ │ │ │ │ ├── jsonrpsee-core v0.21.0 (*) +│ │ │ │ │ │ │ │ ├── jsonrpsee-types v0.21.0 (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ ├── tower v0.4.13 (*) +│ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ └── url v2.5.0 (*) +│ │ │ │ │ │ │ └── jsonrpsee-types v0.21.0 (*) +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ ├── scale-typegen v0.1.1 (*) +│ │ │ │ │ │ ├── subxt-metadata v0.34.0 +│ │ │ │ │ │ │ ├── frame-metadata v16.0.0 (*) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ ├── sp-core-hashing v15.0.0 (*) +│ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── syn v2.0.66 (*) +│ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ └── tokio v1.38.0 (*) +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ ├── subxt-metadata v0.34.0 (*) +│ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ ├── tokio-util v0.7.11 (*) +│ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ └── url v2.5.0 (*) +│ │ │ ├── thiserror v1.0.61 (*) +│ │ │ ├── tokio v1.38.0 (*) +│ │ │ └── tracing v0.1.40 (*) +│ │ ├── protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) +│ │ │ ├── anyhow v1.0.86 (*) +│ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ ├── chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) (*) +│ │ │ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +│ │ │ ├── derivative v2.2.0 (proc-macro) (*) +│ │ │ ├── futures v0.3.30 (*) +│ │ │ ├── hex v0.4.3 +│ │ │ ├── k256 v0.11.6 (*) +│ │ │ ├── pallet-chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-chronicle) (*) +│ │ │ ├── protocol-abstract v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-abstract) (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ ├── subxt v0.34.0 (*) +│ │ │ ├── thiserror v1.0.61 (*) +│ │ │ ├── tokio v1.38.0 (*) +│ │ │ ├── tracing v0.1.40 (*) +│ │ │ └── uuid v1.8.0 (*) +│ │ ├── scale-encode v0.5.0 (*) +│ │ ├── scale-info v2.11.3 (*) +│ │ ├── serde v1.0.203 (*) +│ │ ├── subxt v0.34.0 (*) +│ │ ├── thiserror v1.0.61 (*) +│ │ ├── tokio v1.38.0 (*) +│ │ ├── tracing v0.1.40 (*) +│ │ └── uuid v1.8.0 (*) +│ │ [dev-dependencies] +│ │ ├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) +│ │ └── embedded-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/embedded-substrate) +│ │ ├── anyhow v1.0.86 (*) +│ │ ├── lazy_static v1.4.0 (*) +│ │ ├── node-chronicle v0.1.0 (/Users/ryan/code/chronicle/node/node-chronicle) +│ │ │ ├── clap v4.5.4 (*) +│ │ │ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +│ │ │ ├── frame-benchmarking v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── frame-benchmarking-cli v32.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── Inflector v0.11.4 (*) +│ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ ├── chrono v0.4.38 (*) +│ │ │ │ ├── clap v4.5.4 (*) +│ │ │ │ ├── comfy-table v7.1.1 +│ │ │ │ │ ├── strum v0.26.2 +│ │ │ │ │ ├── strum_macros v0.26.2 (proc-macro) (*) +│ │ │ │ │ └── unicode-width v0.1.12 +│ │ │ │ ├── frame-benchmarking v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── gethostname v0.2.3 +│ │ │ │ │ └── libc v0.2.155 +│ │ │ │ ├── handlebars v5.1.2 (*) +│ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ ├── linked-hash-map v0.5.6 +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ ├── rand_pcg v0.3.1 +│ │ │ │ │ └── rand_core v0.6.4 (*) +│ │ │ │ ├── sc-block-builder v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-block-builder v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ ├── schnellru v0.2.3 (*) +│ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── sp-database v10.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── kvdb v0.13.0 +│ │ │ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ │ │ └── parking_lot v0.12.3 (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-cli v0.36.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ ├── chrono v0.4.38 (*) +│ │ │ │ │ ├── clap v4.5.4 (*) +│ │ │ │ │ ├── fdlimit v0.3.0 +│ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ │ ├── libp2p-identity v0.1.3 +│ │ │ │ │ │ ├── bs58 v0.4.0 +│ │ │ │ │ │ ├── ed25519-dalek v2.1.1 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── multiaddr v0.17.1 +│ │ │ │ │ │ │ ├── arrayref v0.3.7 +│ │ │ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ │ │ ├── data-encoding v2.6.0 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── multibase v0.9.1 +│ │ │ │ │ │ │ │ ├── base-x v0.2.11 +│ │ │ │ │ │ │ │ ├── data-encoding v2.6.0 +│ │ │ │ │ │ │ │ └── data-encoding-macro v0.1.15 +│ │ │ │ │ │ │ │ ├── data-encoding v2.6.0 +│ │ │ │ │ │ │ │ └── data-encoding-macro-internal v0.1.13 (proc-macro) +│ │ │ │ │ │ │ │ ├── data-encoding v2.6.0 +│ │ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ ├── multihash v0.17.0 +│ │ │ │ │ │ │ │ ├── blake2b_simd v1.0.2 (*) +│ │ │ │ │ │ │ │ ├── blake2s_simd v1.0.2 +│ │ │ │ │ │ │ │ │ ├── arrayref v0.3.7 +│ │ │ │ │ │ │ │ │ ├── arrayvec v0.7.4 +│ │ │ │ │ │ │ │ │ └── constant_time_eq v0.3.0 +│ │ │ │ │ │ │ │ ├── blake3 v1.5.1 +│ │ │ │ │ │ │ │ │ ├── arrayref v0.3.7 +│ │ │ │ │ │ │ │ │ ├── arrayvec v0.7.4 +│ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ └── constant_time_eq v0.3.0 +│ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ └── cc v1.0.98 (*) +│ │ │ │ │ │ │ │ ├── core2 v0.4.0 +│ │ │ │ │ │ │ │ │ └── memchr v2.7.2 +│ │ │ │ │ │ │ │ ├── digest v0.10.7 (*) +│ │ │ │ │ │ │ │ ├── multihash-derive v0.8.1 (proc-macro) +│ │ │ │ │ │ │ │ │ ├── proc-macro-crate v1.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── proc-macro-error v1.0.4 (*) +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ ├── syn v1.0.109 (*) +│ │ │ │ │ │ │ │ │ └── synstructure v0.12.6 (*) +│ │ │ │ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ │ │ │ ├── sha3 v0.10.8 (*) +│ │ │ │ │ │ │ │ └── unsigned-varint v0.7.2 +│ │ │ │ │ │ │ │ ├── asynchronous-codec v0.6.2 +│ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ ├── futures-sink v0.3.30 +│ │ │ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── memchr v2.7.2 +│ │ │ │ │ │ │ │ │ └── pin-project-lite v0.2.14 +│ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ ├── futures-io v0.3.30 +│ │ │ │ │ │ │ │ └── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ ├── percent-encoding v2.3.1 +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── static_assertions v1.1.0 +│ │ │ │ │ │ │ ├── unsigned-varint v0.7.2 (*) +│ │ │ │ │ │ │ └── url v2.5.0 (*) +│ │ │ │ │ │ ├── multihash v0.17.0 (*) +│ │ │ │ │ │ ├── quick-protobuf v0.8.1 +│ │ │ │ │ │ │ └── byteorder v1.5.0 +│ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── names v0.14.0 +│ │ │ │ │ │ └── rand v0.8.5 (*) +│ │ │ │ │ ├── parity-bip39 v2.0.1 (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ ├── rpassword v7.3.1 +│ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ └── rtoolbox v0.0.2 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── fnv v1.0.7 +│ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ ├── sc-executor v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ ├── sc-executor-common v0.29.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── polkavm v0.9.3 +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── polkavm-assembler v0.9.0 +│ │ │ │ │ │ │ │ │ │ └── log v0.4.21 +│ │ │ │ │ │ │ │ │ └── polkavm-common v0.9.0 +│ │ │ │ │ │ │ │ │ └── log v0.4.21 +│ │ │ │ │ │ │ │ ├── sc-allocator v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-wasm-interface v20.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── sp-maybe-compressed-blob v11.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ └── zstd v0.12.4 +│ │ │ │ │ │ │ │ │ └── zstd-safe v6.0.6 +│ │ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ │ └── zstd-sys v2.0.10+zstd.1.5.6 (*) +│ │ │ │ │ │ │ │ ├── sp-wasm-interface v20.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ └── wasm-instrument v0.4.0 +│ │ │ │ │ │ │ │ └── parity-wasm v0.45.0 +│ │ │ │ │ │ │ ├── sc-executor-polkavm v0.29.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── polkavm v0.9.3 (*) +│ │ │ │ │ │ │ │ ├── sc-executor-common v0.29.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ └── sp-wasm-interface v20.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-executor-wasmtime v0.29.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ ├── rustix v0.36.17 (*) +│ │ │ │ │ │ │ │ ├── sc-allocator v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sc-executor-common v0.29.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-runtime-interface v24.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-wasm-interface v20.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ └── wasmtime v8.0.1 (*) +│ │ │ │ │ │ │ ├── schnellru v0.2.3 (*) +│ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-panic-handler v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime-interface v24.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-wasm-interface v20.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── async-channel v1.9.0 +│ │ │ │ │ │ │ │ ├── concurrent-queue v2.5.0 (*) +│ │ │ │ │ │ │ │ ├── event-listener v2.5.3 +│ │ │ │ │ │ │ │ └── futures-core v0.3.30 +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ ├── prometheus v0.13.4 +│ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ ├── fnv v1.0.7 +│ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ ├── memchr v2.7.2 +│ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ └── sp-arithmetic v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-database v10.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-statement-store v10.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── aes-gcm v0.10.3 +│ │ │ │ │ │ │ │ ├── aead v0.5.2 +│ │ │ │ │ │ │ │ │ ├── crypto-common v0.1.6 (*) +│ │ │ │ │ │ │ │ │ └── generic-array v0.14.7 (*) +│ │ │ │ │ │ │ │ ├── aes v0.8.4 +│ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ ├── cipher v0.4.4 +│ │ │ │ │ │ │ │ │ │ ├── crypto-common v0.1.6 (*) +│ │ │ │ │ │ │ │ │ │ └── inout v0.1.3 +│ │ │ │ │ │ │ │ │ │ └── generic-array v0.14.7 (*) +│ │ │ │ │ │ │ │ │ └── cpufeatures v0.2.12 (*) +│ │ │ │ │ │ │ │ ├── cipher v0.4.4 (*) +│ │ │ │ │ │ │ │ ├── ctr v0.9.2 +│ │ │ │ │ │ │ │ │ └── cipher v0.4.4 (*) +│ │ │ │ │ │ │ │ ├── ghash v0.5.1 +│ │ │ │ │ │ │ │ │ ├── opaque-debug v0.3.1 +│ │ │ │ │ │ │ │ │ └── polyval v0.6.2 +│ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ ├── cpufeatures v0.2.12 (*) +│ │ │ │ │ │ │ │ │ ├── opaque-debug v0.3.1 +│ │ │ │ │ │ │ │ │ └── universal-hash v0.5.1 +│ │ │ │ │ │ │ │ │ ├── crypto-common v0.1.6 (*) +│ │ │ │ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ │ │ ├── curve25519-dalek v4.1.2 (*) +│ │ │ │ │ │ │ ├── ed25519-dalek v2.1.1 (*) +│ │ │ │ │ │ │ ├── hkdf v0.12.4 +│ │ │ │ │ │ │ │ └── hmac v0.12.1 (*) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime-interface v24.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ └── x25519-dalek v2.0.1 +│ │ │ │ │ │ │ ├── curve25519-dalek v4.1.2 (*) +│ │ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ ├── sp-storage v19.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ └── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── prometheus v0.13.4 (*) +│ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ └── tokio v1.38.0 (*) +│ │ │ │ │ ├── sc-client-db v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── hash-db v0.16.0 +│ │ │ │ │ │ ├── kvdb v0.13.0 (*) +│ │ │ │ │ │ ├── kvdb-memorydb v0.13.0 +│ │ │ │ │ │ │ ├── kvdb v0.13.0 (*) +│ │ │ │ │ │ │ └── parking_lot v0.12.3 (*) +│ │ │ │ │ │ ├── kvdb-rocksdb v0.19.0 +│ │ │ │ │ │ │ ├── kvdb v0.13.0 (*) +│ │ │ │ │ │ │ ├── num_cpus v1.16.0 (*) +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ │ │ ├── rocksdb v0.21.0 +│ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ └── librocksdb-sys v0.11.0+8.1.1 +│ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ └── tikv-jemalloc-sys v0.5.4+5.3.0-patched +│ │ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ └── cc v1.0.98 (*) +│ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ ├── bindgen v0.65.1 +│ │ │ │ │ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ │ │ │ │ ├── cexpr v0.6.0 +│ │ │ │ │ │ │ │ │ │ └── nom v7.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── clang-sys v1.8.1 +│ │ │ │ │ │ │ │ │ │ ├── glob v0.3.1 +│ │ │ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ │ │ └── libloading v0.8.3 +│ │ │ │ │ │ │ │ │ │ └── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ │ └── glob v0.3.1 +│ │ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ │ ├── lazycell v1.3.0 +│ │ │ │ │ │ │ │ │ ├── peeking_take_while v0.1.2 +│ │ │ │ │ │ │ │ │ ├── prettyplease v0.2.20 +│ │ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ │ │ │ │ ├── rustc-hash v1.1.0 +│ │ │ │ │ │ │ │ │ ├── shlex v1.3.0 +│ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ ├── cc v1.0.98 (*) +│ │ │ │ │ │ │ │ └── glob v0.3.1 +│ │ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ │ ├── linked-hash-map v0.5.6 +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── parity-db v0.4.13 +│ │ │ │ │ │ │ ├── blake2 v0.10.6 (*) +│ │ │ │ │ │ │ ├── crc32fast v1.4.2 (*) +│ │ │ │ │ │ │ ├── fs2 v0.4.3 +│ │ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ │ ├── hex v0.4.3 +│ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── lz4 v1.24.0 +│ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ └── lz4-sys v1.9.4 +│ │ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ └── cc v1.0.98 (*) +│ │ │ │ │ │ │ ├── memmap2 v0.5.10 +│ │ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ ├── siphasher v0.3.11 +│ │ │ │ │ │ │ └── snap v1.1.1 +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-state-db v0.30.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ └── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── schnellru v0.2.3 (*) +│ │ │ │ │ │ ├── sp-arithmetic v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-database v10.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ └── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sc-keystore v25.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ ├── sc-mixnet v0.4.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── array-bytes v4.2.0 +│ │ │ │ │ │ ├── arrayvec v0.7.4 +│ │ │ │ │ │ ├── blake2 v0.10.6 (*) +│ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── mixnet v0.7.0 +│ │ │ │ │ │ │ ├── arrayref v0.3.7 +│ │ │ │ │ │ │ ├── arrayvec v0.7.4 +│ │ │ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ │ │ ├── blake2 v0.10.6 (*) +│ │ │ │ │ │ │ ├── c2-chacha v0.3.3 +│ │ │ │ │ │ │ │ ├── cipher v0.2.5 +│ │ │ │ │ │ │ │ │ └── generic-array v0.14.7 (*) +│ │ │ │ │ │ │ │ └── ppv-lite86 v0.2.17 +│ │ │ │ │ │ │ ├── curve25519-dalek v4.1.2 (*) +│ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ ├── hashlink v0.8.4 +│ │ │ │ │ │ │ │ └── hashbrown v0.14.5 (*) +│ │ │ │ │ │ │ ├── lioness v0.1.2 +│ │ │ │ │ │ │ │ ├── arrayref v0.3.7 +│ │ │ │ │ │ │ │ ├── blake2 v0.8.1 +│ │ │ │ │ │ │ │ │ ├── byte-tools v0.3.1 +│ │ │ │ │ │ │ │ │ ├── crypto-mac v0.7.0 +│ │ │ │ │ │ │ │ │ │ ├── generic-array v0.12.4 (*) +│ │ │ │ │ │ │ │ │ │ └── subtle v1.0.0 +│ │ │ │ │ │ │ │ │ ├── digest v0.8.1 (*) +│ │ │ │ │ │ │ │ │ └── opaque-debug v0.2.3 +│ │ │ │ │ │ │ │ ├── chacha v0.3.0 +│ │ │ │ │ │ │ │ │ ├── byteorder v1.5.0 +│ │ │ │ │ │ │ │ │ └── keystream v1.0.0 +│ │ │ │ │ │ │ │ └── keystream v1.0.0 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ ├── rand_chacha v0.3.1 (*) +│ │ │ │ │ │ │ ├── rand_distr v0.4.3 +│ │ │ │ │ │ │ │ ├── num-traits v0.2.19 (*) +│ │ │ │ │ │ │ │ └── rand v0.8.5 (*) +│ │ │ │ │ │ │ ├── subtle v2.5.0 +│ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ ├── multiaddr v0.17.1 (*) +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ │ │ ├── async-channel v1.9.0 (*) +│ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ ├── asynchronous-codec v0.6.2 (*) +│ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ ├── fnv v1.0.7 +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ ├── ip_network v0.4.1 +│ │ │ │ │ │ │ ├── libp2p v0.51.4 +│ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ ├── getrandom v0.2.15 (*) +│ │ │ │ │ │ │ │ ├── instant v0.1.13 (*) +│ │ │ │ │ │ │ │ ├── libp2p-allow-block-list v0.1.1 +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 +│ │ │ │ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ │ │ │ ├── fnv v1.0.7 +│ │ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ │ │ ├── instant v0.1.13 (*) +│ │ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ ├── multiaddr v0.17.1 (*) +│ │ │ │ │ │ │ │ │ │ ├── multihash v0.17.0 (*) +│ │ │ │ │ │ │ │ │ │ ├── multistream-select v0.12.1 +│ │ │ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ │ │ └── unsigned-varint v0.7.2 (*) +│ │ │ │ │ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ │ │ │ ├── quick-protobuf v0.8.1 (*) +│ │ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ │ ├── rw-stream-sink v0.3.0 +│ │ │ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ │ ├── unsigned-varint v0.7.2 (*) +│ │ │ │ │ │ │ │ │ │ └── void v1.0.2 +│ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-swarm v0.42.2 +│ │ │ │ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ │ │ │ ├── fnv v1.0.7 +│ │ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ │ │ ├── instant v0.1.13 (*) +│ │ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ │ ├── libp2p-swarm-derive v0.32.0 (proc-macro) +│ │ │ │ │ │ │ │ │ │ │ ├── heck v0.4.1 +│ │ │ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ │ │ └── void v1.0.2 +│ │ │ │ │ │ │ │ │ └── void v1.0.2 +│ │ │ │ │ │ │ │ ├── libp2p-connection-limits v0.1.0 +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-swarm v0.42.2 (*) +│ │ │ │ │ │ │ │ │ └── void v1.0.2 +│ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ ├── libp2p-dns v0.39.0 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ └── trust-dns-resolver v0.22.0 +│ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ │ ├── lru-cache v0.1.2 +│ │ │ │ │ │ │ │ │ │ └── linked-hash-map v0.5.6 +│ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ ├── resolv-conf v0.7.0 +│ │ │ │ │ │ │ │ │ │ ├── hostname v0.3.1 +│ │ │ │ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ │ │ │ └── match_cfg v0.1.0 +│ │ │ │ │ │ │ │ │ │ └── quick-error v1.2.3 +│ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ │ └── trust-dns-proto v0.22.0 +│ │ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ ├── data-encoding v2.6.0 +│ │ │ │ │ │ │ │ │ ├── enum-as-inner v0.5.1 (proc-macro) +│ │ │ │ │ │ │ │ │ │ ├── heck v0.4.1 +│ │ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ │ │ ├── futures-channel v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── futures-io v0.3.30 +│ │ │ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── idna v0.2.3 +│ │ │ │ │ │ │ │ │ │ ├── matches v0.1.10 +│ │ │ │ │ │ │ │ │ │ ├── unicode-bidi v0.3.15 +│ │ │ │ │ │ │ │ │ │ └── unicode-normalization v0.1.22 (*) +│ │ │ │ │ │ │ │ │ ├── ipnet v2.9.0 +│ │ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ ├── socket2 v0.4.10 +│ │ │ │ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ ├── tinyvec v1.6.0 (*) +│ │ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ │ └── url v2.5.0 (*) +│ │ │ │ │ │ │ │ ├── libp2p-identify v0.42.2 +│ │ │ │ │ │ │ │ │ ├── asynchronous-codec v0.6.2 (*) +│ │ │ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-swarm v0.42.2 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── lru v0.10.1 +│ │ │ │ │ │ │ │ │ │ └── hashbrown v0.13.2 (*) +│ │ │ │ │ │ │ │ │ ├── quick-protobuf v0.8.1 (*) +│ │ │ │ │ │ │ │ │ ├── quick-protobuf-codec v0.1.0 +│ │ │ │ │ │ │ │ │ │ ├── asynchronous-codec v0.6.2 (*) +│ │ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ │ ├── quick-protobuf v0.8.1 (*) +│ │ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ │ └── unsigned-varint v0.7.2 (*) +│ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ └── void v1.0.2 +│ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ ├── libp2p-kad v0.43.3 +│ │ │ │ │ │ │ │ │ ├── arrayvec v0.7.4 +│ │ │ │ │ │ │ │ │ ├── asynchronous-codec v0.6.2 (*) +│ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ │ │ ├── fnv v1.0.7 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ │ ├── instant v0.1.13 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-swarm v0.42.2 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── quick-protobuf v0.8.1 (*) +│ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ ├── uint v0.9.5 (*) +│ │ │ │ │ │ │ │ │ ├── unsigned-varint v0.7.2 (*) +│ │ │ │ │ │ │ │ │ └── void v1.0.2 +│ │ │ │ │ │ │ │ ├── libp2p-mdns v0.43.1 +│ │ │ │ │ │ │ │ │ ├── data-encoding v2.6.0 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── if-watch v3.2.0 +│ │ │ │ │ │ │ │ │ │ ├── core-foundation v0.9.4 (*) +│ │ │ │ │ │ │ │ │ │ ├── fnv v1.0.7 +│ │ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ │ ├── if-addrs v0.10.2 +│ │ │ │ │ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ │ │ │ │ ├── ipnet v2.9.0 +│ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ ├── system-configuration v0.5.1 (*) +│ │ │ │ │ │ │ │ │ │ └── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-swarm v0.42.2 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ │ ├── socket2 v0.4.10 (*) +│ │ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ │ ├── trust-dns-proto v0.22.0 (*) +│ │ │ │ │ │ │ │ │ └── void v1.0.2 +│ │ │ │ │ │ │ │ ├── libp2p-noise v0.42.2 +│ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ ├── curve25519-dalek v3.2.0 (*) +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ │ │ │ ├── quick-protobuf v0.8.1 (*) +│ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ ├── sha2 v0.10.8 (*) +│ │ │ │ │ │ │ │ │ ├── snow v0.9.6 +│ │ │ │ │ │ │ │ │ │ ├── rand_core v0.6.4 (*) +│ │ │ │ │ │ │ │ │ │ ├── ring v0.17.8 (*) +│ │ │ │ │ │ │ │ │ │ └── subtle v2.5.0 +│ │ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ │ └── rustc_version v0.4.0 (*) +│ │ │ │ │ │ │ │ │ ├── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ ├── x25519-dalek v1.1.1 +│ │ │ │ │ │ │ │ │ │ ├── curve25519-dalek v3.2.0 (*) +│ │ │ │ │ │ │ │ │ │ ├── rand_core v0.5.1 (*) +│ │ │ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ │ │ ├── libp2p-ping v0.42.0 +│ │ │ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ │ ├── instant v0.1.13 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-swarm v0.42.2 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ └── void v1.0.2 +│ │ │ │ │ │ │ │ ├── libp2p-request-response v0.24.1 +│ │ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── instant v0.1.13 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-swarm v0.42.2 (*) +│ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ │ │ │ ├── libp2p-swarm v0.42.2 (*) +│ │ │ │ │ │ │ │ ├── libp2p-tcp v0.39.0 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ │ ├── if-watch v3.2.0 (*) +│ │ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── socket2 v0.4.10 (*) +│ │ │ │ │ │ │ │ │ └── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ ├── libp2p-wasm-ext v0.39.0 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── js-sys v0.3.69 +│ │ │ │ │ │ │ │ │ │ └── wasm-bindgen v0.2.92 +│ │ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ │ └── wasm-bindgen-macro v0.2.92 (proc-macro) +│ │ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ │ └── wasm-bindgen-macro-support v0.2.92 +│ │ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ │ ├── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ │ │ ├── wasm-bindgen-backend v0.2.92 +│ │ │ │ │ │ │ │ │ │ │ ├── bumpalo v3.16.0 +│ │ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ │ │ │ └── wasm-bindgen-shared v0.2.92 +│ │ │ │ │ │ │ │ │ │ └── wasm-bindgen-shared v0.2.92 +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── parity-send-wrapper v0.1.0 +│ │ │ │ │ │ │ │ │ ├── wasm-bindgen v0.2.92 (*) +│ │ │ │ │ │ │ │ │ └── wasm-bindgen-futures v0.4.42 +│ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ ├── js-sys v0.3.69 (*) +│ │ │ │ │ │ │ │ │ └── wasm-bindgen v0.2.92 (*) +│ │ │ │ │ │ │ │ ├── libp2p-websocket v0.41.0 +│ │ │ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── futures-rustls v0.22.2 +│ │ │ │ │ │ │ │ │ │ ├── futures-io v0.3.30 +│ │ │ │ │ │ │ │ │ │ ├── rustls v0.20.9 +│ │ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ │ ├── ring v0.16.20 +│ │ │ │ │ │ │ │ │ │ │ │ └── untrusted v0.7.1 +│ │ │ │ │ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ │ │ │ │ └── cc v1.0.98 (*) +│ │ │ │ │ │ │ │ │ │ │ ├── sct v0.7.1 (*) +│ │ │ │ │ │ │ │ │ │ │ └── webpki v0.22.4 +│ │ │ │ │ │ │ │ │ │ │ ├── ring v0.17.8 (*) +│ │ │ │ │ │ │ │ │ │ │ └── untrusted v0.9.0 +│ │ │ │ │ │ │ │ │ │ └── webpki v0.22.4 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ ├── quicksink v0.1.2 +│ │ │ │ │ │ │ │ │ │ ├── futures-core v0.3.30 +│ │ │ │ │ │ │ │ │ │ ├── futures-sink v0.3.30 +│ │ │ │ │ │ │ │ │ │ └── pin-project-lite v0.1.12 +│ │ │ │ │ │ │ │ │ ├── rw-stream-sink v0.3.0 (*) +│ │ │ │ │ │ │ │ │ ├── soketto v0.7.1 (*) +│ │ │ │ │ │ │ │ │ ├── url v2.5.0 (*) +│ │ │ │ │ │ │ │ │ └── webpki-roots v0.22.6 +│ │ │ │ │ │ │ │ │ └── webpki v0.22.4 (*) +│ │ │ │ │ │ │ │ ├── libp2p-yamux v0.43.1 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── libp2p-core v0.39.2 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ │ └── yamux v0.10.2 +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── nohash-hasher v0.2.0 +│ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ │ └── static_assertions v1.1.0 +│ │ │ │ │ │ │ │ ├── multiaddr v0.17.1 (*) +│ │ │ │ │ │ │ │ └── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ ├── linked_hash_set v0.1.4 +│ │ │ │ │ │ │ │ └── linked-hash-map v0.5.6 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── mockall v0.11.4 +│ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ ├── downcast v0.11.0 +│ │ │ │ │ │ │ │ ├── fragile v2.0.0 +│ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ ├── mockall_derive v0.11.4 (proc-macro) +│ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ │ ├── predicates v2.1.5 +│ │ │ │ │ │ │ │ │ ├── difflib v0.4.0 +│ │ │ │ │ │ │ │ │ ├── float-cmp v0.9.0 +│ │ │ │ │ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ │ │ │ │ │ ├── normalize-line-endings v0.3.0 +│ │ │ │ │ │ │ │ │ ├── predicates-core v1.0.6 +│ │ │ │ │ │ │ │ │ └── regex v1.10.4 (*) +│ │ │ │ │ │ │ │ └── predicates-tree v1.0.9 (*) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ ├── partial_sort v0.2.0 +│ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-network-common v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── sc-consensus v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── mockall v0.11.4 (*) +│ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-consensus-grandpa v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── finality-grandpa v0.16.2 +│ │ │ │ │ │ │ │ │ │ ├── either v1.12.0 +│ │ │ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ │ ├── num-traits v0.2.19 (*) +│ │ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ │ │ └── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ └── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ └── prost-build v0.11.9 +│ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ ├── heck v0.4.1 +│ │ │ │ │ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── multimap v0.8.3 +│ │ │ │ │ │ │ │ ├── petgraph v0.6.5 +│ │ │ │ │ │ │ │ │ ├── fixedbitset v0.4.2 +│ │ │ │ │ │ │ │ │ └── indexmap v2.2.6 (*) +│ │ │ │ │ │ │ │ ├── prettyplease v0.1.11 +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ │ ├── prost v0.11.9 +│ │ │ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ │ │ └── prost-derive v0.11.9 (proc-macro) +│ │ │ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ │ ├── prost-types v0.11.9 +│ │ │ │ │ │ │ │ │ └── prost v0.11.9 (*) +│ │ │ │ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ │ │ │ ├── syn v1.0.109 (*) +│ │ │ │ │ │ │ │ ├── tempfile v3.10.1 (*) +│ │ │ │ │ │ │ │ └── which v4.4.2 (*) +│ │ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ ├── sp-arithmetic v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ ├── tokio-stream v0.1.15 (*) +│ │ │ │ │ │ │ ├── unsigned-varint v0.7.2 (*) +│ │ │ │ │ │ │ ├── wasm-timer v0.2.5 +│ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── parking_lot v0.11.2 (*) +│ │ │ │ │ │ │ │ └── pin-utils v0.1.0 +│ │ │ │ │ │ │ └── zeroize v1.8.1 (*) +│ │ │ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-mixnet v0.4.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sc-service v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ ├── directories v5.0.1 +│ │ │ │ │ │ │ └── dirs-sys v0.4.1 +│ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ └── option-ext v0.2.0 +│ │ │ │ │ │ ├── exit-future v0.2.0 +│ │ │ │ │ │ │ └── futures v0.3.30 (*) +│ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ ├── jsonrpsee v0.22.5 +│ │ │ │ │ │ │ ├── jsonrpsee-core v0.22.5 +│ │ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ ├── beef v0.5.2 (*) +│ │ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ │ │ ├── jsonrpsee-types v0.22.5 +│ │ │ │ │ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ │ │ │ │ ├── beef v0.5.2 (*) +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ ├── rustc-hash v1.1.0 +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ │ │ │ ├── jsonrpsee-proc-macros v0.22.5 (proc-macro) +│ │ │ │ │ │ │ │ ├── heck v0.4.1 +│ │ │ │ │ │ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── jsonrpsee-server v0.22.5 +│ │ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ │ │ ├── jsonrpsee-core v0.22.5 (*) +│ │ │ │ │ │ │ │ ├── jsonrpsee-types v0.22.5 (*) +│ │ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ │ ├── route-recognizer v0.3.1 +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ ├── soketto v0.7.1 (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ ├── tokio-stream v0.1.15 (*) +│ │ │ │ │ │ │ │ ├── tokio-util v0.7.11 (*) +│ │ │ │ │ │ │ │ ├── tower v0.4.13 (*) +│ │ │ │ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ │ │ │ ├── jsonrpsee-types v0.22.5 (*) +│ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ ├── sc-chain-spec v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ │ │ ├── docify v0.2.8 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── memmap2 v0.9.4 +│ │ │ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── sc-chain-spec-derive v11.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-executor v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-telemetry v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── chrono v0.4.38 (*) +│ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── libp2p v0.51.4 (*) +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ └── wasm-timer v0.2.5 (*) +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-genesis-builder v0.7.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-client-db v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-consensus v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-executor v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-informant v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── ansi_term v0.12.1 +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-network-common v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-network-sync v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ │ │ │ ├── async-channel v1.9.0 (*) +│ │ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ │ ├── fork-tree v12.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ └── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ ├── libp2p v0.51.4 (*) +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── mockall v0.11.4 (*) +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── prost v0.12.6 (*) +│ │ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sc-consensus v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sc-network-common v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── schnellru v0.2.3 (*) +│ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ ├── sp-arithmetic v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-consensus-grandpa v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ │ └── tokio-stream v0.1.15 (*) +│ │ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ │ └── prost-build v0.11.9 (*) +│ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-keystore v25.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-network-bitswap v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── async-channel v1.9.0 (*) +│ │ │ │ │ │ │ ├── cid v0.9.0 +│ │ │ │ │ │ │ │ ├── core2 v0.4.0 (*) +│ │ │ │ │ │ │ │ ├── multibase v0.9.1 (*) +│ │ │ │ │ │ │ │ ├── multihash v0.17.0 (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ └── unsigned-varint v0.7.2 (*) +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── prost v0.12.6 (*) +│ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ └── unsigned-varint v0.7.2 (*) +│ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ └── prost-build v0.11.9 (*) +│ │ │ │ │ │ ├── sc-network-common v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-network-light v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ │ │ ├── async-channel v1.9.0 (*) +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── libp2p-identity v0.1.3 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── prost v0.12.6 (*) +│ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ └── prost-build v0.11.9 (*) +│ │ │ │ │ │ ├── sc-network-sync v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-network-transactions v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── libp2p v0.51.4 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-network-common v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-network-sync v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-rpc v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── jsonrpsee v0.22.5 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ ├── sc-block-builder v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-chain-spec v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-mixnet v0.4.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-rpc-api v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── jsonrpsee v0.22.5 (*) +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── sc-chain-spec v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sc-mixnet v0.4.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-rpc v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── rustc-hash v1.1.0 +│ │ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ │ └── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ ├── sc-tracing v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── ansi_term v0.12.1 +│ │ │ │ │ │ │ │ ├── chrono v0.4.38 (*) +│ │ │ │ │ │ │ │ ├── is-terminal v0.4.12 (*) +│ │ │ │ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ │ │ │ ├── rustc-hash v1.1.0 +│ │ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sc-tracing-proc-macro v11.0.0 (proc-macro) (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ │ ├── proc-macro-crate v3.1.0 (*) +│ │ │ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-rpc v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-tracing v16.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ │ │ ├── tracing-log v0.1.4 (*) +│ │ │ │ │ │ │ │ └── tracing-subscriber v0.2.25 (*) +│ │ │ │ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-offchain v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ └── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-rpc v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-session v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ ├── sp-staking v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── sp-statement-store v10.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── tokio v1.38.0 (*) +│ │ │ │ │ │ ├── sc-rpc-server v11.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── governor v0.6.3 +│ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ ├── dashmap v5.5.3 +│ │ │ │ │ │ │ │ │ ├── cfg-if v1.0.0 +│ │ │ │ │ │ │ │ │ ├── hashbrown v0.14.5 (*) +│ │ │ │ │ │ │ │ │ ├── lock_api v0.4.12 (*) +│ │ │ │ │ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ │ │ │ │ └── parking_lot_core v0.9.10 (*) +│ │ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ │ ├── no-std-compat v0.4.1 +│ │ │ │ │ │ │ │ ├── nonzero_ext v0.3.0 +│ │ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ │ ├── portable-atomic v1.6.0 +│ │ │ │ │ │ │ │ ├── quanta v0.12.3 +│ │ │ │ │ │ │ │ │ ├── crossbeam-utils v0.8.20 +│ │ │ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ │ │ └── once_cell v1.19.0 +│ │ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ │ ├── smallvec v1.13.2 +│ │ │ │ │ │ │ │ └── spinning_top v0.3.0 +│ │ │ │ │ │ │ │ └── lock_api v0.4.12 (*) +│ │ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ │ │ │ ├── jsonrpsee v0.22.5 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ ├── tower v0.4.13 (*) +│ │ │ │ │ │ │ └── tower-http v0.4.4 +│ │ │ │ │ │ │ ├── bitflags v2.5.0 +│ │ │ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ │ │ ├── futures-core v0.3.30 +│ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ ├── http v0.2.12 (*) +│ │ │ │ │ │ │ ├── http-body v0.4.6 (*) +│ │ │ │ │ │ │ ├── http-range-header v0.3.1 +│ │ │ │ │ │ │ ├── pin-project-lite v0.2.14 +│ │ │ │ │ │ │ ├── tower-layer v0.3.2 +│ │ │ │ │ │ │ └── tower-service v0.3.2 +│ │ │ │ │ │ ├── sc-rpc-spec-v2 v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── futures-util v0.3.30 (*) +│ │ │ │ │ │ │ ├── hex v0.4.3 +│ │ │ │ │ │ │ ├── jsonrpsee v0.22.5 (*) +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ ├── sc-chain-spec v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-rpc v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-rpc v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ │ └── tokio-stream v0.1.15 (*) +│ │ │ │ │ │ ├── sc-sysinfo v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── derive_more v0.99.17 (proc-macro) (*) +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ │ │ │ ├── rand_pcg v0.3.1 (*) +│ │ │ │ │ │ │ ├── regex v1.10.4 (*) +│ │ │ │ │ │ │ ├── sc-telemetry v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── sc-telemetry v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-tracing v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-transaction-pool v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ │ │ ├── linked-hash-map v0.5.6 +│ │ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-tracing v16.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-transaction-pool v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ │ └── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── schnellru v0.2.3 (*) +│ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-session v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-storage v19.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-transaction-pool v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-transaction-storage-proof v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ └── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── static_init v1.0.3 +│ │ │ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ │ │ ├── parking_lot v0.11.2 (*) +│ │ │ │ │ │ │ ├── parking_lot_core v0.8.6 (*) +│ │ │ │ │ │ │ └── static_init_macro v1.0.2 (proc-macro) +│ │ │ │ │ │ │ ├── memchr v2.7.2 +│ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ └── cfg_aliases v0.1.1 +│ │ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ │ └── cfg_aliases v0.1.1 +│ │ │ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── tempfile v3.10.1 (*) +│ │ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ │ ├── tokio v1.38.0 (*) +│ │ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ │ └── tracing-futures v0.2.5 +│ │ │ │ │ │ ├── pin-project v1.1.5 (*) +│ │ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ │ ├── sc-telemetry v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sc-tracing v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-keyring v31.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ └── strum v0.24.1 +│ │ │ │ │ │ └── strum_macros v0.24.3 (proc-macro) +│ │ │ │ │ │ ├── heck v0.4.1 +│ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ ├── rustversion v1.0.17 (proc-macro) +│ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-panic-handler v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ │ └── tokio v1.38.0 (*) +│ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-client-db v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-executor v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-service v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-sysinfo v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-database v10.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-storage v19.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-wasm-interface v20.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ └── thousands v0.2.0 +│ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── futures v0.3.30 (*) +│ │ │ ├── jsonrpsee v0.22.5 (*) +│ │ │ ├── pallet-chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-chronicle) (*) +│ │ │ ├── pallet-im-online v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── pallet-authorship v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-staking v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ ├── pallet-session v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── impl-trait-for-tuples v0.2.2 (proc-macro) (*) +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── pallet-timestamp v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── docify v0.2.8 (*) +│ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── sp-storage v19.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── sp-timestamp v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-session v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-staking v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ └── sp-trie v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── runtime-chronicle v4.0.0 (/Users/ryan/code/chronicle/node/runtime-chronicle) +│ │ │ │ ├── frame-executive v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── aquamarine v0.3.3 (proc-macro) +│ │ │ │ │ │ ├── include_dir v0.7.3 (*) +│ │ │ │ │ │ ├── itertools v0.10.5 (*) +│ │ │ │ │ │ ├── proc-macro-error v1.0.4 (*) +│ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ └── syn v1.0.109 (*) +│ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-try-runtime v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ └── sp-tracing v16.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-system-rpc-runtime-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ └── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-try-runtime v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── pallet-aura v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── pallet-timestamp v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-consensus-aura v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-consensus-slots v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ │ └── sp-timestamp v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ │ └── sp-timestamp v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── pallet-chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-chronicle) (*) +│ │ │ │ ├── pallet-grandpa v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── pallet-authorship v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── pallet-session v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-consensus-grandpa v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-session v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-staking v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── pallet-im-online v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── pallet-opa v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-opa) +│ │ │ │ │ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +│ │ │ │ │ ├── frame-benchmarking v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── k256 v0.11.6 (*) +│ │ │ │ │ ├── macro-attr-2018 v3.0.0 +│ │ │ │ │ ├── newtype-derive-2018 v0.2.3 (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-core-hashing v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── tracing v0.1.40 (*) +│ │ │ │ │ └── uuid v1.8.0 (*) +│ │ │ │ │ [dev-dependencies] +│ │ │ │ │ ├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) +│ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── uuid v1.8.0 (*) +│ │ │ │ ├── pallet-session v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── pallet-sudo v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── docify v0.2.8 (*) +│ │ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── pallet-timestamp v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── runtime-api-chronicle v1.0.0 (/Users/ryan/code/chronicle/crates/runtime-api-chronicle) +│ │ │ │ │ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +│ │ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-block-builder v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-consensus-aura v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-consensus-grandpa v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-genesis-builder v0.7.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-offchain v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-session v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── sp-transaction-pool v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-version v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ └── substrate-validator-set v1.1.0 (https://github.com/gautamdhameja/substrate-validator-set.git#2c5e00ca) +│ │ │ │ ├── frame-benchmarking v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── pallet-session v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── scale-info v2.11.3 (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-staking v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-std v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ └── sp-weights v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ [build-dependencies] +│ │ │ │ └── substrate-wasm-builder v17.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── build-helper v0.1.1 +│ │ │ │ │ └── semver v0.6.0 +│ │ │ │ │ └── semver-parser v0.7.0 +│ │ │ │ ├── cargo_metadata v0.15.4 +│ │ │ │ │ ├── camino v1.1.7 +│ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ ├── cargo-platform v0.1.8 +│ │ │ │ │ │ └── serde v1.0.203 (*) +│ │ │ │ │ ├── semver v1.0.23 (*) +│ │ │ │ │ ├── serde v1.0.203 (*) +│ │ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ │ ├── console v0.15.8 +│ │ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ │ ├── libc v0.2.155 +│ │ │ │ │ └── unicode-width v0.1.12 +│ │ │ │ ├── filetime v0.2.23 (*) +│ │ │ │ ├── parity-wasm v0.45.0 +│ │ │ │ ├── polkavm-linker v0.9.2 +│ │ │ │ │ ├── gimli v0.28.1 +│ │ │ │ │ │ └── stable_deref_trait v1.2.0 +│ │ │ │ │ ├── hashbrown v0.14.5 (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── object v0.32.2 +│ │ │ │ │ │ └── memchr v2.7.2 +│ │ │ │ │ ├── polkavm-common v0.9.0 (*) +│ │ │ │ │ ├── regalloc2 v0.9.3 +│ │ │ │ │ │ ├── hashbrown v0.13.2 (*) +│ │ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ │ ├── rustc-hash v1.1.0 +│ │ │ │ │ │ ├── slice-group-by v0.3.1 +│ │ │ │ │ │ └── smallvec v1.13.2 +│ │ │ │ │ └── rustc-demangle v0.1.24 +│ │ │ │ ├── sp-maybe-compressed-blob v11.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── strum v0.24.1 +│ │ │ │ │ └── strum_macros v0.24.3 (proc-macro) (*) +│ │ │ │ ├── tempfile v3.10.1 (*) +│ │ │ │ ├── toml v0.8.13 (*) +│ │ │ │ ├── walkdir v2.5.0 (*) +│ │ │ │ └── wasm-opt v0.116.1 +│ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ ├── libc v0.2.155 +│ │ │ │ ├── strum v0.24.1 (*) +│ │ │ │ ├── strum_macros v0.24.3 (proc-macro) (*) +│ │ │ │ ├── tempfile v3.10.1 (*) +│ │ │ │ ├── thiserror v1.0.61 (*) +│ │ │ │ ├── wasm-opt-cxx-sys v0.116.0 +│ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ ├── cxx v1.0.122 +│ │ │ │ │ │ ├── cxxbridge-macro v1.0.122 (proc-macro) +│ │ │ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ │ └── link-cplusplus v1.0.9 +│ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ └── cc v1.0.98 (*) +│ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ ├── cc v1.0.98 (*) +│ │ │ │ │ │ └── cxxbridge-flags v1.0.122 +│ │ │ │ │ └── wasm-opt-sys v0.116.0 +│ │ │ │ │ └── cxx v1.0.122 (*) +│ │ │ │ │ [build-dependencies] +│ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ ├── cc v1.0.98 (*) +│ │ │ │ │ └── cxx-build v1.0.122 +│ │ │ │ │ ├── cc v1.0.98 (*) +│ │ │ │ │ ├── codespan-reporting v0.11.1 +│ │ │ │ │ │ ├── termcolor v1.4.1 +│ │ │ │ │ │ └── unicode-width v0.1.12 +│ │ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ │ ├── scratch v1.0.7 +│ │ │ │ │ └── syn v2.0.66 (*) +│ │ │ │ │ [build-dependencies] +│ │ │ │ │ ├── anyhow v1.0.86 (*) +│ │ │ │ │ └── cxx-build v1.0.122 (*) +│ │ │ │ └── wasm-opt-sys v0.116.0 (*) +│ │ │ ├── sc-basic-authorship v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── sc-block-builder v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-proposer-metrics v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ └── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-telemetry v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ └── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-cli v0.36.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-consensus v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-consensus-aura v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── sc-block-builder v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-consensus v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-consensus-slots v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sc-consensus v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sc-telemetry v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-arithmetic v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-consensus-slots v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── sp-state-machine v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-telemetry v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-block-builder v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-consensus-aura v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-consensus-slots v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ ├── sc-consensus-grandpa v0.19.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── ahash v0.8.11 (*) +│ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ │ │ ├── dyn-clone v1.0.17 +│ │ │ │ ├── finality-grandpa v0.16.2 (*) +│ │ │ │ ├── fork-tree v12.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ ├── sc-block-builder v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-chain-spec v27.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-consensus v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-network-common v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-network-gossip v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ │ ├── ahash v0.8.11 (*) +│ │ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ │ ├── libp2p v0.51.4 (*) +│ │ │ │ │ ├── log v0.4.21 +│ │ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sc-network-common v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── sc-network-sync v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── schnellru v0.2.3 (*) +│ │ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ │ └── tracing v0.1.40 (*) +│ │ │ │ ├── sc-network-sync v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-telemetry v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── serde_json v1.0.117 (*) +│ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-application-crypto v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-arithmetic v23.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-consensus v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-consensus-grandpa v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-crypto-hashing v0.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ └── thiserror v1.0.61 (*) +│ │ │ ├── sc-executor v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-offchain v29.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── array-bytes v6.2.3 +│ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ ├── fnv v1.0.7 +│ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ ├── futures-timer v3.0.3 +│ │ │ │ ├── hyper v0.14.28 (*) +│ │ │ │ ├── hyper-rustls v0.24.2 (*) +│ │ │ │ ├── libp2p v0.51.4 (*) +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── num_cpus v1.16.0 (*) +│ │ │ │ ├── once_cell v1.19.0 +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ ├── rand v0.8.5 (*) +│ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-network v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-network-common v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-utils v14.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-externalities v0.25.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-keystore v0.34.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-offchain v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── threadpool v1.8.1 +│ │ │ │ │ └── num_cpus v1.16.0 (*) +│ │ │ │ └── tracing v0.1.40 (*) +│ │ │ ├── sc-rpc-api v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-service v0.35.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-statement-store v10.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── parity-db v0.4.13 (*) +│ │ │ │ ├── parking_lot v0.12.3 (*) +│ │ │ │ ├── sc-client-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-keystore v25.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-statement-store v10.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── substrate-prometheus-endpoint v0.17.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ └── tokio v1.38.0 (*) +│ │ │ ├── sc-telemetry v15.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-transaction-pool v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-block-builder v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-consensus-aura v0.32.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-consensus-grandpa v13.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-inherents v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-keyring v31.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── sp-timestamp v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ ├── structopt v0.3.26 +│ │ │ │ ├── clap v2.34.0 +│ │ │ │ │ ├── ansi_term v0.12.1 +│ │ │ │ │ ├── atty v0.2.14 +│ │ │ │ │ │ └── libc v0.2.155 +│ │ │ │ │ ├── bitflags v1.3.2 +│ │ │ │ │ ├── strsim v0.8.0 +│ │ │ │ │ ├── textwrap v0.11.0 +│ │ │ │ │ │ └── unicode-width v0.1.12 +│ │ │ │ │ ├── unicode-width v0.1.12 +│ │ │ │ │ └── vec_map v0.8.2 +│ │ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ │ └── structopt-derive v0.4.18 (proc-macro) +│ │ │ │ ├── heck v0.3.3 +│ │ │ │ │ └── unicode-segmentation v1.11.0 +│ │ │ │ ├── proc-macro-error v1.0.4 (*) +│ │ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ │ ├── quote v1.0.36 (*) +│ │ │ │ └── syn v1.0.109 (*) +│ │ │ ├── substrate-frame-rpc-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ │ │ ├── frame-system-rpc-runtime-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── futures v0.3.30 (*) +│ │ │ │ ├── jsonrpsee v0.22.5 (*) +│ │ │ │ ├── log v0.4.21 +│ │ │ │ ├── parity-scale-codec v3.6.12 (*) +│ │ │ │ ├── sc-rpc-api v0.33.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sc-transaction-pool-api v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-api v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-block-builder v26.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-blockchain v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ │ └── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ │ └── tracing v0.1.40 (*) +│ │ │ [build-dependencies] +│ │ │ └── substrate-build-script-utils v11.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) +│ │ ├── portpicker v0.1.1 +│ │ │ └── rand v0.8.5 (*) +│ │ ├── protocol-abstract v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-abstract) (*) +│ │ ├── protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) (*) +│ │ ├── protocol-substrate-chronicle v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate-chronicle) (*) +│ │ ├── sc-cli v0.36.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ ├── subxt v0.34.0 (*) +│ │ ├── tempfile v3.10.1 (*) +│ │ ├── thiserror v1.0.61 (*) +│ │ ├── tokio v1.38.0 (*) +│ │ └── tracing v0.1.40 (*) +│ │ [dev-dependencies] +│ │ ├── chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) (*) +│ │ └── uuid v1.8.0 (*) +│ ├── r2d2 v0.8.10 (*) +│ ├── serde_json v1.0.117 (*) +│ ├── thiserror v1.0.61 (*) +│ ├── tracing v0.1.40 (*) +│ └── uuid v1.8.0 (*) +├── chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) (*) +├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) +├── chrono v0.4.38 (*) +├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +├── custom_error v1.9.2 +├── derivative v2.2.0 (proc-macro) (*) +├── diesel v2.2.0 (*) +├── diesel_migrations v2.2.0 (*) +├── futures v0.3.30 (*) +├── hex v0.4.3 +├── iref v2.2.3 (*) +├── json-ld v0.14.2 (*) +├── jwtk v0.2.4 +│ ├── base64 v0.13.1 +│ ├── foreign-types v0.3.2 +│ │ └── foreign-types-shared v0.1.1 +│ ├── openssl v0.10.64 +│ │ ├── bitflags v2.5.0 +│ │ ├── cfg-if v1.0.0 +│ │ ├── foreign-types v0.3.2 (*) +│ │ ├── libc v0.2.155 +│ │ ├── once_cell v1.19.0 +│ │ ├── openssl-macros v0.1.1 (proc-macro) +│ │ │ ├── proc-macro2 v1.0.84 (*) +│ │ │ ├── quote v1.0.36 (*) +│ │ │ └── syn v2.0.66 (*) +│ │ └── openssl-sys v0.9.102 +│ │ └── libc v0.2.155 +│ │ [build-dependencies] +│ │ ├── cc v1.0.98 (*) +│ │ ├── pkg-config v0.3.30 +│ │ └── vcpkg v0.2.15 +│ ├── openssl-sys v0.9.102 (*) +│ ├── reqwest v0.11.27 (*) +│ ├── serde v1.0.203 (*) +│ ├── serde_json v1.0.117 (*) +│ ├── smallvec v1.13.2 +│ └── tokio v1.38.0 (*) +├── lazy_static v1.4.0 (*) +├── metrics v0.22.3 +│ └── ahash v0.8.11 (*) +├── metrics-exporter-prometheus v0.14.0 +│ ├── base64 v0.22.1 +│ ├── http-body-util v0.1.1 (*) +│ ├── hyper v1.3.1 (*) +│ ├── hyper-tls v0.6.0 +│ │ ├── bytes v1.6.0 (*) +│ │ ├── http-body-util v0.1.1 (*) +│ │ ├── hyper v1.3.1 (*) +│ │ ├── hyper-util v0.1.5 (*) +│ │ ├── native-tls v0.2.12 (*) +│ │ ├── tokio v1.38.0 (*) +│ │ ├── tokio-native-tls v0.3.1 (*) +│ │ └── tower-service v0.3.2 +│ ├── hyper-util v0.1.5 (*) +│ ├── indexmap v2.2.6 (*) +│ ├── ipnet v2.9.0 +│ ├── metrics v0.22.3 (*) +│ ├── metrics-util v0.16.3 +│ │ ├── crossbeam-epoch v0.9.18 (*) +│ │ ├── crossbeam-utils v0.8.20 +│ │ ├── hashbrown v0.14.5 (*) +│ │ ├── metrics v0.22.3 (*) +│ │ ├── num_cpus v1.16.0 (*) +│ │ ├── quanta v0.12.3 (*) +│ │ └── sketches-ddsketch v0.2.2 +│ ├── quanta v0.12.3 (*) +│ ├── thiserror v1.0.61 (*) +│ ├── tokio v1.38.0 (*) +│ └── tracing v0.1.40 (*) +├── opa v0.9.0 (https://github.com/chronicleworks/opa-rs?rev=9fa2fbce#9fa2fbce) (*) +├── opentelemetry v0.22.0 (*) +├── parking_lot v0.12.3 (*) +├── poem v3.0.1 (*) +├── protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) (*) +├── protocol-substrate-chronicle v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate-chronicle) (*) +├── protocol-substrate-opa v0.7.5 (/Users/ryan/code/chronicle/crates/protocol-substrate-opa) +│ ├── async-trait v0.1.80 (proc-macro) (*) +│ ├── chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) (*) +│ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +│ ├── derivative v2.2.0 (proc-macro) (*) +│ ├── futures v0.3.30 (*) +│ ├── hex v0.4.3 +│ ├── lazy_static v1.4.0 (*) +│ ├── opa v0.9.0 (https://github.com/chronicleworks/opa-rs?rev=9fa2fbce#9fa2fbce) (*) +│ ├── pallet-opa v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-opa) (*) +│ ├── protocol-abstract v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-abstract) (*) +│ ├── protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) (*) +│ ├── rand v0.8.5 (*) +│ ├── rand_core v0.6.4 (*) +│ ├── serde v1.0.203 (*) +│ ├── serde_json v1.0.117 (*) +│ ├── subxt v0.34.0 (*) +│ ├── thiserror v1.0.61 (*) +│ ├── tokio v1.38.0 (*) +│ ├── tracing v0.1.40 (*) +│ └── uuid v1.8.0 (*) +│ [build-dependencies] +│ └── glob v0.3.1 +├── r2d2 v0.8.10 (*) +├── rand v0.8.5 (*) +├── rand_core v0.6.4 (*) +├── reqwest v0.11.27 (*) +├── rust-embed v6.8.1 (*) +├── serde v1.0.203 (*) +├── serde_derive v1.0.203 (proc-macro) (*) +├── serde_json v1.0.117 (*) +├── thiserror v1.0.61 (*) +├── tokio v1.38.0 (*) +├── tokio-stream v0.1.15 (*) +├── tracing v0.1.40 (*) +├── url v2.5.0 (*) +├── user-error v1.2.8 +└── uuid v1.8.0 (*) +[dev-dependencies] +├── assert_fs v1.1.1 (*) +├── insta v1.39.0 (*) +└── tempfile v3.10.1 (*) + +chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle) +├── Inflector v0.11.4 (*) +├── api v0.7.5 (/Users/ryan/code/chronicle/crates/api) (*) +├── async-graphql v7.0.5 (*) +├── async-signals v0.4.0 +│ ├── futures-core v0.3.30 +│ ├── nix v0.23.2 +│ │ ├── bitflags v1.3.2 +│ │ ├── cfg-if v1.0.0 +│ │ ├── libc v0.2.155 +│ │ └── memoffset v0.6.5 +│ │ [build-dependencies] +│ │ └── autocfg v1.3.0 +│ └── once_cell v1.19.0 +├── async-trait v0.1.80 (proc-macro) (*) +├── cfg-if v1.0.0 +├── chronicle-arrow v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-arrow) +│ ├── api v0.7.5 (/Users/ryan/code/chronicle/crates/api) (*) +│ ├── arrow v50.0.0 +│ │ ├── arrow-arith v50.0.0 +│ │ │ ├── arrow-array v50.0.0 +│ │ │ │ ├── ahash v0.8.11 (*) +│ │ │ │ ├── arrow-buffer v50.0.0 +│ │ │ │ │ ├── bytes v1.6.0 (*) +│ │ │ │ │ ├── half v2.4.1 (*) +│ │ │ │ │ └── num v0.4.3 +│ │ │ │ │ ├── num-bigint v0.4.5 (*) +│ │ │ │ │ ├── num-complex v0.4.6 (*) +│ │ │ │ │ ├── num-integer v0.1.46 (*) +│ │ │ │ │ ├── num-iter v0.1.45 +│ │ │ │ │ │ ├── num-integer v0.1.46 (*) +│ │ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ │ │ [build-dependencies] +│ │ │ │ │ │ └── autocfg v1.3.0 +│ │ │ │ │ ├── num-rational v0.4.2 (*) +│ │ │ │ │ └── num-traits v0.2.19 (*) +│ │ │ │ ├── arrow-data v50.0.0 +│ │ │ │ │ ├── arrow-buffer v50.0.0 (*) +│ │ │ │ │ ├── arrow-schema v50.0.0 +│ │ │ │ │ ├── half v2.4.1 (*) +│ │ │ │ │ └── num v0.4.3 (*) +│ │ │ │ ├── arrow-schema v50.0.0 +│ │ │ │ ├── chrono v0.4.38 (*) +│ │ │ │ ├── chrono-tz v0.8.6 +│ │ │ │ │ ├── chrono v0.4.38 (*) +│ │ │ │ │ └── phf v0.11.2 +│ │ │ │ │ └── phf_shared v0.11.2 +│ │ │ │ │ └── siphasher v0.3.11 +│ │ │ │ │ [build-dependencies] +│ │ │ │ │ └── chrono-tz-build v0.2.1 +│ │ │ │ │ ├── parse-zoneinfo v0.3.1 +│ │ │ │ │ │ └── regex v1.10.4 (*) +│ │ │ │ │ ├── phf v0.11.2 (*) +│ │ │ │ │ └── phf_codegen v0.11.2 +│ │ │ │ │ ├── phf_generator v0.11.2 +│ │ │ │ │ │ ├── phf_shared v0.11.2 (*) +│ │ │ │ │ │ └── rand v0.8.5 (*) +│ │ │ │ │ └── phf_shared v0.11.2 (*) +│ │ │ │ ├── half v2.4.1 (*) +│ │ │ │ ├── hashbrown v0.14.5 (*) +│ │ │ │ └── num v0.4.3 (*) +│ │ │ ├── arrow-buffer v50.0.0 (*) +│ │ │ ├── arrow-data v50.0.0 (*) +│ │ │ ├── arrow-schema v50.0.0 +│ │ │ ├── chrono v0.4.38 (*) +│ │ │ ├── half v2.4.1 (*) +│ │ │ └── num v0.4.3 (*) +│ │ ├── arrow-array v50.0.0 (*) +│ │ ├── arrow-buffer v50.0.0 (*) +│ │ ├── arrow-cast v50.0.0 +│ │ │ ├── arrow-array v50.0.0 (*) +│ │ │ ├── arrow-buffer v50.0.0 (*) +│ │ │ ├── arrow-data v50.0.0 (*) +│ │ │ ├── arrow-schema v50.0.0 +│ │ │ ├── arrow-select v50.0.0 +│ │ │ │ ├── ahash v0.8.11 (*) +│ │ │ │ ├── arrow-array v50.0.0 (*) +│ │ │ │ ├── arrow-buffer v50.0.0 (*) +│ │ │ │ ├── arrow-data v50.0.0 (*) +│ │ │ │ ├── arrow-schema v50.0.0 +│ │ │ │ └── num v0.4.3 (*) +│ │ │ ├── base64 v0.21.7 +│ │ │ ├── chrono v0.4.38 (*) +│ │ │ ├── comfy-table v7.1.1 (*) +│ │ │ ├── half v2.4.1 (*) +│ │ │ ├── lexical-core v0.8.5 (*) +│ │ │ └── num v0.4.3 (*) +│ │ ├── arrow-csv v50.0.0 +│ │ │ ├── arrow-array v50.0.0 (*) +│ │ │ ├── arrow-buffer v50.0.0 (*) +│ │ │ ├── arrow-cast v50.0.0 (*) +│ │ │ ├── arrow-data v50.0.0 (*) +│ │ │ ├── arrow-schema v50.0.0 +│ │ │ ├── chrono v0.4.38 (*) +│ │ │ ├── csv v1.3.0 +│ │ │ │ ├── csv-core v0.1.11 +│ │ │ │ │ └── memchr v2.7.2 +│ │ │ │ ├── itoa v1.0.11 +│ │ │ │ ├── ryu v1.0.18 +│ │ │ │ └── serde v1.0.203 (*) +│ │ │ ├── csv-core v0.1.11 (*) +│ │ │ ├── lazy_static v1.4.0 (*) +│ │ │ ├── lexical-core v0.8.5 (*) +│ │ │ └── regex v1.10.4 (*) +│ │ ├── arrow-data v50.0.0 (*) +│ │ ├── arrow-ipc v50.0.0 +│ │ │ ├── arrow-array v50.0.0 (*) +│ │ │ ├── arrow-buffer v50.0.0 (*) +│ │ │ ├── arrow-cast v50.0.0 (*) +│ │ │ ├── arrow-data v50.0.0 (*) +│ │ │ ├── arrow-schema v50.0.0 +│ │ │ └── flatbuffers v23.5.26 +│ │ │ └── bitflags v1.3.2 +│ │ │ [build-dependencies] +│ │ │ └── rustc_version v0.4.0 (*) +│ │ ├── arrow-json v50.0.0 +│ │ │ ├── arrow-array v50.0.0 (*) +│ │ │ ├── arrow-buffer v50.0.0 (*) +│ │ │ ├── arrow-cast v50.0.0 (*) +│ │ │ ├── arrow-data v50.0.0 (*) +│ │ │ ├── arrow-schema v50.0.0 +│ │ │ ├── chrono v0.4.38 (*) +│ │ │ ├── half v2.4.1 (*) +│ │ │ ├── indexmap v2.2.6 (*) +│ │ │ ├── lexical-core v0.8.5 (*) +│ │ │ ├── num v0.4.3 (*) +│ │ │ ├── serde v1.0.203 (*) +│ │ │ └── serde_json v1.0.117 (*) +│ │ ├── arrow-ord v50.0.0 +│ │ │ ├── arrow-array v50.0.0 (*) +│ │ │ ├── arrow-buffer v50.0.0 (*) +│ │ │ ├── arrow-data v50.0.0 (*) +│ │ │ ├── arrow-schema v50.0.0 +│ │ │ ├── arrow-select v50.0.0 (*) +│ │ │ ├── half v2.4.1 (*) +│ │ │ └── num v0.4.3 (*) +│ │ ├── arrow-row v50.0.0 +│ │ │ ├── ahash v0.8.11 (*) +│ │ │ ├── arrow-array v50.0.0 (*) +│ │ │ ├── arrow-buffer v50.0.0 (*) +│ │ │ ├── arrow-data v50.0.0 (*) +│ │ │ ├── arrow-schema v50.0.0 +│ │ │ ├── half v2.4.1 (*) +│ │ │ └── hashbrown v0.14.5 (*) +│ │ ├── arrow-schema v50.0.0 +│ │ ├── arrow-select v50.0.0 (*) +│ │ └── arrow-string v50.0.0 +│ │ ├── arrow-array v50.0.0 (*) +│ │ ├── arrow-buffer v50.0.0 (*) +│ │ ├── arrow-data v50.0.0 (*) +│ │ ├── arrow-schema v50.0.0 +│ │ ├── arrow-select v50.0.0 (*) +│ │ ├── num v0.4.3 (*) +│ │ ├── regex v1.10.4 (*) +│ │ └── regex-syntax v0.8.3 +│ ├── arrow-array v50.0.0 (*) +│ ├── arrow-buffer v50.0.0 (*) +│ ├── arrow-data v50.0.0 (*) +│ ├── arrow-flight v50.0.0 +│ │ ├── arrow-array v50.0.0 (*) +│ │ ├── arrow-buffer v50.0.0 (*) +│ │ ├── arrow-cast v50.0.0 (*) +│ │ ├── arrow-ipc v50.0.0 (*) +│ │ ├── arrow-schema v50.0.0 +│ │ ├── base64 v0.21.7 +│ │ ├── bytes v1.6.0 (*) +│ │ ├── futures v0.3.30 (*) +│ │ ├── paste v1.0.15 (proc-macro) +│ │ ├── prost v0.12.6 (*) +│ │ ├── tokio v1.38.0 (*) +│ │ └── tonic v0.10.2 (*) +│ ├── arrow-ipc v50.0.0 (*) +│ ├── arrow-schema v50.0.0 +│ ├── chronicle-persistence v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-persistence) (*) +│ ├── chrono v0.4.38 (*) +│ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +│ ├── diesel v2.2.0 (*) +│ ├── futures v0.3.30 (*) +│ ├── lazy_static v1.4.0 (*) +│ ├── prost-types v0.12.6 (*) +│ ├── r2d2 v0.8.10 (*) +│ ├── serde v1.0.203 (*) +│ ├── serde_json v1.0.117 (*) +│ ├── thiserror v1.0.61 (*) +│ ├── tokio v1.38.0 (*) +│ ├── tonic v0.10.2 (*) +│ ├── tracing v0.1.40 (*) +│ └── uuid v1.8.0 (*) +│ [dev-dependencies] +│ ├── arrow-json v50.0.0 (*) +│ ├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) +│ ├── chronicle-test-infrastructure v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-test-infrastructure) +│ │ ├── api v0.7.5 (/Users/ryan/code/chronicle/crates/api) (*) +│ │ ├── async-trait v0.1.80 (proc-macro) (*) +│ │ ├── chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle) (*) +│ │ ├── chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) (*) +│ │ ├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) +│ │ ├── chrono v0.4.38 (*) +│ │ ├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +│ │ ├── diesel v2.2.0 (*) +│ │ ├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ ├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ ├── futures v0.3.30 (*) +│ │ ├── insta v1.39.0 (*) +│ │ ├── lazy_static v1.4.0 (*) +│ │ ├── pallet-chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-chronicle) (*) +│ │ ├── parity-scale-codec v3.6.12 (*) +│ │ ├── portpicker v0.1.1 (*) +│ │ ├── protocol-abstract v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-abstract) (*) +│ │ ├── protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) (*) +│ │ ├── protocol-substrate-chronicle v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate-chronicle) (*) +│ │ ├── r2d2 v0.8.10 (*) +│ │ ├── scale-info v2.11.3 (*) +│ │ ├── serde_json v1.0.117 (*) +│ │ ├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ ├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ ├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +│ │ ├── subxt v0.34.0 (*) +│ │ ├── tempfile v3.10.1 (*) +│ │ ├── testcontainers v0.14.0 (*) +│ │ ├── tokio v1.38.0 (*) +│ │ ├── tokio-stream v0.1.15 (*) +│ │ ├── tracing v0.1.40 (*) +│ │ └── uuid v1.8.0 (*) +│ │ [dev-dependencies] +│ │ └── assert_fs v1.1.1 (*) +│ ├── insta v1.39.0 (*) +│ ├── portpicker v0.1.1 (*) +│ ├── serde v1.0.203 (*) +│ └── serde_arrow v0.11.4 +│ ├── arrow-array v50.0.0 (*) +│ ├── arrow-buffer v50.0.0 (*) +│ ├── arrow-data v50.0.0 (*) +│ ├── arrow-schema v50.0.0 +│ ├── bytemuck v1.16.0 (*) +│ ├── chrono v0.4.38 (*) +│ ├── half v2.4.1 (*) +│ └── serde v1.0.203 (*) +├── chronicle-persistence v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-persistence) (*) +├── chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) (*) +├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) +├── chrono v0.4.38 (*) +├── clap v3.2.25 +│ ├── atty v0.2.14 (*) +│ ├── bitflags v1.3.2 +│ ├── clap_derive v3.2.25 (proc-macro) +│ │ ├── heck v0.4.1 +│ │ ├── proc-macro-error v1.0.4 (*) +│ │ ├── proc-macro2 v1.0.84 (*) +│ │ ├── quote v1.0.36 (*) +│ │ └── syn v1.0.109 (*) +│ ├── clap_lex v0.2.4 +│ │ └── os_str_bytes v6.6.1 +│ ├── indexmap v1.9.3 (*) +│ ├── once_cell v1.19.0 +│ ├── strsim v0.10.0 +│ ├── termcolor v1.4.1 +│ └── textwrap v0.16.1 +├── clap_complete v3.2.5 +│ └── clap v3.2.25 (*) +├── colored_json v3.2.0 +│ ├── is-terminal v0.4.12 (*) +│ ├── serde v1.0.203 (*) +│ ├── serde_json v1.0.117 (*) +│ └── yansi v0.5.1 +├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +├── const_format v0.2.32 +│ └── const_format_proc_macros v0.2.32 (proc-macro) +│ ├── proc-macro2 v1.0.84 (*) +│ ├── quote v1.0.36 (*) +│ └── unicode-xid v0.2.4 +├── diesel v2.2.0 (*) +├── dotenvy v0.15.7 +├── futures v0.3.30 (*) +├── genco v0.16.1 +│ ├── genco-macros v0.16.1 (proc-macro) +│ │ ├── proc-macro2 v1.0.84 (*) +│ │ ├── quote v1.0.36 (*) +│ │ └── syn v1.0.109 (*) +│ ├── relative-path v1.9.3 +│ └── smallvec v1.13.2 +├── hex v0.4.3 +├── iri-string v0.7.2 +├── is-terminal v0.4.12 (*) +├── jsonschema v0.17.1 +│ ├── ahash v0.8.11 (*) +│ ├── anyhow v1.0.86 (*) +│ ├── base64 v0.21.7 +│ ├── bytecount v0.6.8 +│ ├── clap v4.5.4 (*) +│ ├── fancy-regex v0.11.0 +│ │ ├── bit-set v0.5.3 (*) +│ │ └── regex v1.10.4 (*) +│ ├── fraction v0.13.1 +│ │ ├── lazy_static v1.4.0 (*) +│ │ └── num v0.4.3 (*) +│ ├── iso8601 v0.6.1 +│ │ └── nom v7.1.3 (*) +│ ├── itoa v1.0.11 +│ ├── memchr v2.7.2 +│ ├── num-cmp v0.1.0 +│ ├── once_cell v1.19.0 +│ ├── parking_lot v0.12.3 (*) +│ ├── percent-encoding v2.3.1 +│ ├── regex v1.10.4 (*) +│ ├── reqwest v0.11.27 (*) +│ ├── serde v1.0.203 (*) +│ ├── serde_json v1.0.117 (*) +│ ├── time v0.3.36 +│ │ ├── deranged v0.3.11 +│ │ │ └── powerfmt v0.2.0 +│ │ ├── num-conv v0.1.0 +│ │ ├── powerfmt v0.2.0 +│ │ ├── time-core v0.1.2 +│ │ └── time-macros v0.2.18 (proc-macro) +│ │ ├── num-conv v0.1.0 +│ │ └── time-core v0.1.2 +│ ├── url v2.5.0 (*) +│ └── uuid v1.8.0 (*) +├── libc v0.2.155 +├── opa v0.9.0 (https://github.com/chronicleworks/opa-rs?rev=9fa2fbce#9fa2fbce) (*) +├── opentelemetry v0.22.0 (*) +├── percent-encoding v2.3.1 +├── protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) (*) +├── protocol-substrate-chronicle v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate-chronicle) (*) +├── protocol-substrate-opa v0.7.5 (/Users/ryan/code/chronicle/crates/protocol-substrate-opa) (*) +├── question v0.2.2 +├── rand v0.8.5 (*) +├── rand_core v0.6.4 (*) +├── serde v1.0.203 (*) +├── serde_derive v1.0.203 (proc-macro) (*) +├── serde_json v1.0.117 (*) +├── serde_yaml v0.9.34+deprecated (*) +├── shellexpand v3.1.0 +│ └── dirs v5.0.1 +│ └── dirs-sys v0.4.1 (*) +├── thiserror v1.0.61 (*) +├── tokio v1.38.0 (*) +├── toml v0.7.8 +│ ├── serde v1.0.203 (*) +│ ├── serde_spanned v0.6.6 (*) +│ ├── toml_datetime v0.6.6 (*) +│ └── toml_edit v0.19.15 +│ ├── indexmap v2.2.6 (*) +│ ├── serde v1.0.203 (*) +│ ├── serde_spanned v0.6.6 (*) +│ ├── toml_datetime v0.6.6 (*) +│ └── winnow v0.5.40 +├── tracing v0.1.40 (*) +├── tracing-log v0.1.4 (*) +├── url v2.5.0 (*) +├── user-error v1.2.8 +├── uuid v1.8.0 (*) +└── valico v3.6.1 + ├── addr v0.11.8 + │ ├── no-std-net v0.5.0 + │ │ └── serde v1.0.203 (*) + │ ├── psl v2.1.41 + │ │ └── psl-types v2.0.11 + │ └── psl-types v2.0.11 + ├── base64 v0.13.1 + ├── chrono v0.4.38 (*) + ├── json-pointer v0.3.4 + │ └── serde_json v1.0.117 (*) + ├── jsonway v2.0.0 + │ ├── serde v1.0.203 (*) + │ └── serde_json v1.0.117 (*) + ├── percent-encoding v2.3.1 + ├── phf v0.8.0 + │ └── phf_shared v0.8.0 + │ └── siphasher v0.3.11 + ├── regex v1.10.4 (*) + ├── serde v1.0.203 (*) + ├── serde_json v1.0.117 (*) + ├── uritemplate-next v0.2.0 + │ └── regex v1.10.4 (*) + ├── url v2.5.0 (*) + └── uuid v0.8.2 + └── getrandom v0.2.15 (*) + [build-dependencies] + └── phf_codegen v0.8.0 + ├── phf_generator v0.8.0 + │ ├── phf_shared v0.8.0 (*) + │ └── rand v0.7.3 + │ ├── getrandom v0.1.16 (*) + │ ├── libc v0.2.155 + │ ├── rand_chacha v0.2.2 (*) + │ ├── rand_core v0.5.1 (*) + │ └── rand_pcg v0.2.1 + │ └── rand_core v0.5.1 (*) + └── phf_shared v0.8.0 (*) +[dev-dependencies] +├── assert_fs v1.1.1 (*) +├── embedded-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/embedded-substrate) (*) +├── insta v1.39.0 (*) +├── mockito v1.4.0 (*) +├── protocol-abstract v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-abstract) (*) +├── protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) (*) +├── protocol-substrate-chronicle v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate-chronicle) (*) +├── protocol-substrate-opa v0.7.5 (/Users/ryan/code/chronicle/crates/protocol-substrate-opa) (*) +└── tempfile v3.10.1 (*) + +chronicle-arrow v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-arrow) (*) + +chronicle-data v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-data) +├── arrow-array v50.0.0 (*) +├── arrow-data v50.0.0 (*) +├── arrow-flight v50.0.0 (*) +├── arrow-ipc v50.0.0 (*) +├── arrow-schema v50.0.0 +├── clap v4.5.4 (*) +├── prettytable-rs v0.10.0 +│ ├── csv v1.3.0 (*) +│ ├── encode_unicode v1.0.0 +│ ├── is-terminal v0.4.12 (*) +│ ├── lazy_static v1.4.0 (*) +│ ├── term v0.7.0 +│ │ └── dirs-next v2.0.0 +│ │ ├── cfg-if v1.0.0 +│ │ └── dirs-sys-next v0.1.2 (*) +│ └── unicode-width v0.1.12 +├── tokio v1.38.0 (*) +└── tonic v0.10.2 (*) + +chronicle-domain v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-domain) +└── chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle) (*) +[build-dependencies] +└── chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle) (*) +[dev-dependencies] +└── tempfile v3.10.1 (*) + +chronicle-domain-lint v0.7.6 (/Users/ryan/code/chronicle/crates/chronicle-domain-lint) +├── chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle) (*) +└── clap v3.2.25 (*) + +chronicle-example v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-domain-test) +├── chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle) (*) +├── chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) (*) +├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) +├── tracing v0.1.40 (*) +├── tracing-log v0.1.4 (*) +└── uuid v1.8.0 (*) +[build-dependencies] +└── chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle) (*) +[dev-dependencies] +├── chronicle-test-infrastructure v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-test-infrastructure) (*) +├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +├── embedded-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/embedded-substrate) (*) +├── futures v0.3.30 (*) +├── hex v0.4.3 +├── insta v1.39.0 (*) +├── protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) (*) +├── protocol-substrate-chronicle v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate-chronicle) (*) +├── protocol-substrate-opa v0.7.5 (/Users/ryan/code/chronicle/crates/protocol-substrate-opa) (*) +├── tempfile v3.10.1 (*) +└── tokio v1.38.0 (*) + +chronicle-persistence v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-persistence) (*) + +chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) (*) + +chronicle-synth v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-synth) +├── chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle) (*) +├── clap v3.2.25 (*) +├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +├── maplit v1.0.2 +├── owo-colors v3.5.0 +├── serde v1.0.203 (*) +├── serde_json v1.0.117 (*) +├── serde_yaml v0.9.34+deprecated (*) +└── thiserror v1.0.61 (*) +[dev-dependencies] +├── assert_fs v1.1.1 (*) +└── insta v1.39.0 (*) + +chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) + +chronicle-test-infrastructure v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-test-infrastructure) (*) + +common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) + +embedded-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/embedded-substrate) (*) + +gq-ws v0.7.5 (/Users/ryan/code/chronicle/crates/gq-subscribe) +├── anyhow v1.0.86 (*) +├── clap v3.2.25 (*) +├── http v0.2.12 (*) +├── rand v0.8.5 (*) +├── serde_json v1.0.117 (*) +└── tungstenite v0.20.1 + ├── byteorder v1.5.0 + ├── bytes v1.6.0 (*) + ├── data-encoding v2.6.0 + ├── http v0.2.12 (*) + ├── httparse v1.8.0 + ├── log v0.4.21 + ├── rand v0.8.5 (*) + ├── sha1 v0.10.6 (*) + ├── thiserror v1.0.61 (*) + ├── url v2.5.0 (*) + └── utf-8 v0.7.6 + +node-chronicle v0.1.0 (/Users/ryan/code/chronicle/node/node-chronicle) (*) + +oauth-token v0.7.5 (/Users/ryan/code/chronicle/crates/id-provider) +├── anyhow v1.0.86 (*) +├── oauth2 v4.4.2 +│ ├── base64 v0.13.1 +│ ├── chrono v0.4.38 (*) +│ ├── http v0.2.12 (*) +│ ├── rand v0.8.5 (*) +│ ├── reqwest v0.11.27 (*) +│ ├── serde v1.0.203 (*) +│ ├── serde_json v1.0.117 (*) +│ ├── serde_path_to_error v0.1.16 +│ │ ├── itoa v1.0.11 +│ │ └── serde v1.0.203 (*) +│ ├── sha2 v0.10.8 (*) +│ ├── thiserror v1.0.61 (*) +│ └── url v2.5.0 (*) +└── url v2.5.0 (*) + +opactl v0.7.5 (/Users/ryan/code/chronicle/crates/opactl) +├── async-trait v0.1.80 (proc-macro) (*) +├── chronicle-signing v0.1.0 (/Users/ryan/code/chronicle/crates/chronicle-signing) (*) +├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) +├── clap v4.5.4 (*) +├── common v0.7.5 (/Users/ryan/code/chronicle/crates/common) (*) +├── const_format v0.2.32 (*) +├── futures v0.3.30 (*) +├── k256 v0.11.6 (*) +├── lazy_static v1.4.0 (*) +├── protocol-abstract v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-abstract) (*) +├── protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) (*) +├── protocol-substrate-opa v0.7.5 (/Users/ryan/code/chronicle/crates/protocol-substrate-opa) (*) +├── rand v0.8.5 (*) +├── rand_core v0.6.4 (*) +├── serde v1.0.203 (*) +├── serde_derive v1.0.203 (proc-macro) (*) +├── serde_json v1.0.117 (*) +├── thiserror v1.0.61 (*) +├── tokio v1.38.0 (*) +├── tokio-stream v0.1.15 (*) +├── tracing v0.1.40 (*) +├── url v2.5.0 (*) +├── user-error v1.2.8 +└── uuid v1.8.0 (*) +[dev-dependencies] +├── chronicle-telemetry v0.7.5 (/Users/ryan/code/chronicle/crates/chronicle-telemetry) (*) +├── frame-support v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +├── frame-system v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +├── hex v0.4.3 +├── insta v1.39.0 (*) +├── pallet-opa v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-opa) (*) +├── parity-scale-codec v3.6.12 (*) +├── portpicker v0.1.1 (*) +├── scale-info v2.11.3 (*) +├── scale-value v0.14.1 +│ ├── base58 v0.2.0 +│ ├── blake2 v0.10.6 (*) +│ ├── derive_more v0.99.17 (proc-macro) (*) +│ ├── either v1.12.0 +│ ├── frame-metadata v15.1.0 (*) +│ ├── parity-scale-codec v3.6.12 (*) +│ ├── scale-bits v0.5.0 +│ │ ├── parity-scale-codec v3.6.12 (*) +│ │ ├── scale-info v2.11.3 (*) +│ │ ├── scale-type-resolver v0.1.1 +│ │ │ ├── scale-info v2.11.3 (*) +│ │ │ └── smallvec v1.13.2 +│ │ └── serde v1.0.203 (*) +│ ├── scale-decode v0.11.1 +│ │ ├── derive_more v0.99.17 (proc-macro) (*) +│ │ ├── parity-scale-codec v3.6.12 (*) +│ │ ├── scale-bits v0.5.0 (*) +│ │ ├── scale-type-resolver v0.1.1 (*) +│ │ └── smallvec v1.13.2 +│ ├── scale-encode v0.6.0 +│ │ ├── derive_more v0.99.17 (proc-macro) (*) +│ │ ├── parity-scale-codec v3.6.12 (*) +│ │ ├── scale-bits v0.5.0 (*) +│ │ ├── scale-type-resolver v0.1.1 (*) +│ │ └── smallvec v1.13.2 +│ ├── scale-info v2.11.3 (*) +│ ├── scale-type-resolver v0.1.1 (*) +│ ├── serde v1.0.203 (*) +│ └── yap v0.11.0 +├── serde_json v1.0.117 (*) +├── sp-core v28.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +├── sp-io v30.0.0 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +├── sp-runtime v31.0.1 (https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.9.0#3c3d6fce) (*) +├── subxt v0.34.0 (*) +└── tempfile v3.10.1 (*) + +pallet-chronicle v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-chronicle) (*) + +pallet-opa v0.7.5 (/Users/ryan/code/chronicle/crates/pallet-opa) (*) + +protocol-abstract v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-abstract) (*) + +protocol-substrate v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate) (*) + +protocol-substrate-chronicle v0.1.0 (/Users/ryan/code/chronicle/crates/protocol-substrate-chronicle) (*) + +protocol-substrate-opa v0.7.5 (/Users/ryan/code/chronicle/crates/protocol-substrate-opa) (*) + +runtime-api-chronicle v1.0.0 (/Users/ryan/code/chronicle/crates/runtime-api-chronicle) (*) + +runtime-chronicle v4.0.0 (/Users/ryan/code/chronicle/node/runtime-chronicle) (*) diff --git a/terraform/chronicle-substrate/variables.tf b/terraform/chronicle-substrate/variables.tf index 289fb9836..d76ed0059 100644 --- a/terraform/chronicle-substrate/variables.tf +++ b/terraform/chronicle-substrate/variables.tf @@ -7,13 +7,7 @@ variable "chronicle-node-repository" { variable "kubernetes_namespace" { type = string description = "The Kubernetes namespace to deploy Vault into" - default = "vault" -} - -variable "kubernetes_sa_name" { - type = string - description = "The Kubernetes Service Account that Vault will use" - default = "vault-sa" + default = "chronicle-substrate" } variable "kubernetes_image_pull_secrets" { @@ -28,13 +22,6 @@ variable "kubernetes_extra_secret_environment_variables" { default = null } - -variable "bootnode-key" { - type = string - description = "The bootnode key" - default = "80c30ac6ba927c6e5c0c9681aa9674f1d181d180853bcd3485cee9d18e931238" -} - variable "helm_release_name" { type = string description = "The name of the Helm release" diff --git a/terraform/chronicle/provider.tf b/terraform/chronicle/provider.tf new file mode 100644 index 000000000..88aba7036 --- /dev/null +++ b/terraform/chronicle/provider.tf @@ -0,0 +1,12 @@ +provider "kubernetes" { + config_path = "~/.kube/config" +} + +provider "helm" { + kubernetes { + config_path = "~/.kube/config" + } +} + + + diff --git a/terraform/chronicle/variables.tf b/terraform/chronicle/variables.tf new file mode 100644 index 000000000..66808d1b1 --- /dev/null +++ b/terraform/chronicle/variables.tf @@ -0,0 +1,462 @@ +variable "global_image_tag" { + description = "Global image tag" + type = string + default = "" +} + +variable "affinity" { + description = "Custom affinity rules for the chronicle pod" + type = map(any) + default = {} +} + +variable "auth_required" { + description = "If true, require authentication, rejecting 'anonymous' requests" + type = bool + default = false +} + +variable "auth_id_claims" { + description = "Chronicle provides default values ['iss', 'sub']" + type = list(string) + default = [] +} + +variable "auth_jwks_url" { + description = "URL for JWKS" + type = string + default = "" +} + +variable "auth_userinfo_url" { + description = "URL for userinfo" + type = string + default = "" +} + +variable "backtrace_level" { + description = "Backtrace level for Chronicle" + type = string + default = "full" +} + +variable "dev_id_provider_enabled" { + description = "Enable the devIdProvider" + type = bool + default = true +} + +variable "dev_id_provider_image_pull_policy" { + description = "The image pull policy for the id-provider container" + type = string + default = "IfNotPresent" +} + +variable "dev_id_provider_image_repository" { + description = "The image repository for the id-provider container" + type = string + default = "blockchaintp/id-provider-amd64" +} + +variable "dev_id_provider_image_tag" { + description = "The image tag for the id-provider container" + type = string + default = "BTP2.1.0-0.7.4" +} + +variable "opa_enabled" { + description = "Enable OPA" + type = bool + default = false +} + +variable "endpoints_arrow_enabled" { + description = "Enable arrow endpoint" + type = bool + default = true +} + +variable "endpoints_data_enabled" { + description = "Enable data endpoint" + type = bool + default = true +} + +variable "endpoints_graphql_enabled" { + description = "Enable GraphQL endpoint" + type = bool + default = true +} + +variable "extra_volumes" { + description = "A list of additional volumes to add to chronicle" + type = list(any) + default = [] +} + +variable "extra_volume_mounts" { + description = "A list of additional volume mounts to add to chronicle" + type = list(any) + default = [] +} + +variable "health_check_enabled" { + description = "Enable the liveness depth charge check" + type = bool + default = false +} + +variable "health_check_interval" { + description = "The interval between health checks" + type = string + default = "1800" +} + +variable "image_repository" { + description = "The repository of the image" + type = string + default = "blockchaintp/chronicle-amd64" +} + +variable "image_tag" { + description = "The tag of the image to use" + type = string + default = "BTP2.1.0-0.7.4" +} + +variable "image_pull_policy" { + description = "The image pull policy to use" + type = string + default = "IfNotPresent" +} + +variable "image_pull_secrets_enabled" { + description = "Use the list of named imagePullSecrets" + type = bool + default = false +} + +variable "image_pull_secrets_value" { + description = "A list of named secret references" + type = list(any) + default = [] +} + +variable "ingress_api_version" { + description = "The apiVersion of the ingress" + type = string + default = "" +} + +variable "ingress_enabled" { + description = "Enable the ingress to the main service rest-api" + type = bool + default = false +} + +variable "ingress_cert_manager" { + description = "Enable the acme certmanager for this ingress" + type = bool + default = false +} + +variable "ingress_hostname" { + description = "Primary hostname for the ingress" + type = string + default = "" +} + +variable "ingress_path" { + description = "Path for the ingress's primary hostname" + type = string + default = "/" +} + +variable "ingress_path_type" { + description = "PathType for the ingress's primary hostname" + type = string + default = "" +} + +variable "ingress_annotations" { + description = "Annotations for the ingress" + type = map(any) + default = {} +} + +variable "ingress_tls" { + description = "Enable TLS on the ingress with a secret at hostname-tls" + type = bool + default = false +} + +variable "ingress_extra_hosts" { + description = "List of extra hosts to add to the ingress" + type = list(any) + default = [] +} + +variable "ingress_extra_paths" { + description = "List of extra paths to add to the primary host of the ingress" + type = list(any) + default = [] +} + +variable "ingress_extra_tls" { + description = "List of extra TLS entries" + type = list(any) + default = [] +} + +variable "ingress_hosts" { + description = "List of ingress host and path declarations for the chronicle ingress" + type = list(any) + default = [] +} + +variable "log_level" { + description = "Log level for Chronicle" + type = string + default = "info" +} + +variable "port" { + description = "The port on which the chronicle service listens" + type = number + default = 9982 +} + +variable "replicas" { + description = "Number of Chronicle replicas to run" + type = number + default = 1 +} + +variable "service_account_create" { + description = "Create a service account" + type = bool + default = true +} + +variable "service_account_name" { + description = "Name of the service account" + type = string + default = "" +} + +variable "test_api_enabled" { + description = "Enable api-test Jobs and Services" + type = bool + default = true +} + +variable "test_api_image_pull_policy" { + description = "The image pull policy for the api-test container" + type = string + default = "IfNotPresent" +} + +variable "test_api_image_repository" { + description = "The image repository for the api-test container" + type = string + default = "blockchaintp/chronicle-helm-api-test-amd64" +} + +variable "test_api_image_tag" { + description = "The image tag for the api-test container" + type = string + default = "BTP2.1.0-0.7.4" +} + +variable "test_auth_enabled" { + description = "Enable auth-related testing" + type = bool + default = true +} + +variable "test_auth_token" { + description = "Provide a token for auth-related testing" + type = string + default = "" +} + +variable "postgres_enabled" { + description = "Create an internal postgres instance" + type = bool + default = true +} + +variable "postgres_env" { + description = "Postgres environment variables" + type = map(any) + default = {} +} + +variable "postgres_image_registry" { + description = "Postgres image registry" + type = string + default = "" +} + +variable "postgres_image_repository" { + description = "Postgres image repository" + type = string + default = "postgres" +} + +variable "postgres_image_tag" { + description = "Postgres image tag" + type = string + default = "11" +} + +variable "postgres_user" { + description = "User for the postgres database" + type = string + default = "postgres" +} + +variable "postgres_host" { + description = "Host for the postgres database" + type = string + default = "localhost" +} + +variable "postgres_database" { + description = "Database for the postgres database" + type = string + default = "postgres" +} + +variable "postgres_port" { + description = "Port for the postgres database" + type = number + default = 5432 +} + +variable "postgres_password" { + description = "Password for the postgres database" + type = string + default = "postgres" +} + +variable "postgres_existing_password_secret" { + description = "Name of a secret containing the postgres password" + type = string + default = "" +} + +variable "postgres_existing_password_secret_key" { + description = "Name of the key in a secret containing the postgres password" + type = string + default = "" +} + +variable "postgres_tls" { + description = "Postgres TLS configuration" + type = string + default = "" +} + +variable "postgres_persistence_enabled" { + description = "Allocate a PVC for the postgres instance" + type = bool + default = false +} + +variable "postgres_persistence_annotations" { + description = "Custom annotations to the postgres PVC's" + type = map(any) + default = {} +} + +variable "postgres_persistence_access_modes" { + description = "Postgres PVC access modes" + type = list(string) + default = ["ReadWriteOnce"] +} + +variable "postgres_persistence_storage_class" { + description = "Postgres PVC storageClass" + type = string + default = "" +} + +variable "postgres_persistence_size" { + description = "Postgres PVC volume size" + type = string + default = "40Gi" +} + +variable "postgres_resources" { + description = "Resources for postgres" + type = map(any) + default = {} +} + +variable "resources" { + description = "Resources for chronicle" + type = map(any) + default = {} +} + +variable "volumes" { + description = "Volumes for chronicle" + type = map(any) + default = {} +} + +variable "node_vault_keys" { + description = "Vault keys for the node" + type = list(map(string)) + default = [ + { + name = "aura", + type = "aura", + scheme = "secp256k1", + vaultPath = "kv/secret/chronicle-node", + vaultKey = "aura", + extraDerivation = "//${HOSTNAME}//aura" + } + ] +} + +variable "node_vault_node_key" { + description = "Node key for the vault" + type = map(string) + default = { + name = "bootnode-key", + vaultPath = "kv/secret/chronicle-node", + vaultKey = "bootnode-key" + } +} + +variable "node_image_pull_policy" { + description = "The image pull policy for the node" + type = string + default = "IfNotPresent" +} + +variable "node_image_repository" { + description = "The image repository for the node" + type = string + default = "blockchaintp/chronicle-node-amd64" +} + +variable "node_image_tag" { + description = "The image tag for the node" + type = string + default = "BTP2.1.0-0.8.0" +} + +variable "node_chain" { + description = "Chain for the node" + type = string + default = "chronicle" +} + +variable "node_command" { + description = "Command for the node" + type = string + default = "node-chronicle" +} diff --git a/terraform/signoz/signoz.tf b/terraform/signoz/signoz.tf index 97cb64dd4..91b8786cb 100644 --- a/terraform/signoz/signoz.tf +++ b/terraform/signoz/signoz.tf @@ -20,3 +20,608 @@ resource "helm_release" "signoz" { value = var.signoz_storage_size } } + +resource "helm_release" "opentelemetry_operator" { + name = "opentelemetry-operator" + repository = var.opentelemetry_operator_helm_repository + chart = var.opentelemetry_operator_helm_chart_name + namespace = var.signoz_namespace + create_namespace = true + + + set { + name = "manager.collectorImage.repository" + value = "ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib" + } +} + +resource "helm_release" "cert_manager" { + name = "cert-manager" + repository = "https://charts.jetstack.io" + chart = "cert-manager" + namespace = "cert-manager" + create_namespace = true + version = "v1.14.5" + + set { + name = "installCRDs" + value = "true" + } +} + + + +variable "namespaces" { + type = list(string) + description = "List of Kubernetes namespaces to deploy OpenTelemetry Collector into" + default = ["chronicle-substrate","chronicle","vault"] +} + +resource "kubernetes_namespace" "namespaces" { + for_each = toset(var.namespaces) + metadata { + name = each.key + } +} + +resource "kubernetes_manifest" "prometheus_service_monitor_crd" { + manifest = { + apiVersion = "apiextensions.k8s.io/v1" + kind = "CustomResourceDefinition" + metadata = { + name = "servicemonitors.monitoring.coreos.com" + annotations = { + "controller-gen.kubebuilder.io/version" = "v0.14.0" + "operator.prometheus.io/version" = "0.74.0" + } + } + spec = { + group = "monitoring.coreos.com" + names = { + categories = ["prometheus-operator"] + kind = "ServiceMonitor" + listKind = "ServiceMonitorList" + plural = "servicemonitors" + shortNames = ["smon"] + singular = "servicemonitor" + } + scope = "Namespaced" + versions = [ + { + name = "v1" + schema = { + openAPIV3Schema = { + description = "ServiceMonitor defines monitoring for a set of services." + properties = { + apiVersion = { + description = "APIVersion defines the versioned schema of this representation of an object." + type = "string" + } + kind = { + description = "Kind is a string value representing the REST resource this object represents." + type = "string" + } + metadata = { + type = "object" + } + spec = { + description = "Specification of desired Service selection for target discovery by Prometheus." + properties = { + attachMetadata = { + description = "`attachMetadata` defines additional metadata which is added to the discovered targets." + properties = { + node = { + description = "When set to true, Prometheus must have the `get` permission on the `Nodes` objects." + type = "boolean" + } + } + type = "object" + } + bodySizeLimit = { + description = "When defined, bodySizeLimit specifies a job level limit on the size of uncompressed response body that will be accepted by Prometheus." + pattern = "(^0|([0-9]*[.])?[0-9]+((K|M|G|T|E|P)i?)?B)$" + type = "string" + } + endpoints = { + description = "List of endpoints part of this ServiceMonitor." + items = { + description = "Endpoint defines an endpoint serving Prometheus metrics to be scraped by Prometheus." + properties = { + authorization = { + description = "`authorization` configures the Authorization header credentials to use when scraping the target." + properties = { + credentials = { + description = "Selects a key of a Secret in the namespace that contains the credentials for authentication." + properties = { + key = { + description = "The key of the secret to select from. Must be a valid secret key." + type = "string" + } + name = { + description = "Name of the referent." + type = "string" + } + optional = { + description = "Specify whether the Secret or its key must be defined" + type = "boolean" + } + } + required = ["key"] + type = "object" + } + type = { + description = "Defines the authentication type. The value is case-insensitive." + type = "string" + } + } + type = "object" + } + basicAuth = { + description = "`basicAuth` configures the Basic Authentication credentials to use when scraping the target." + properties = { + password = { + description = "`password` specifies a key of a Secret containing the password for authentication." + properties = { + key = { + description = "The key of the secret to select from. Must be a valid secret key." + type = "string" + } + name = { + description = "Name of the referent." + type = "string" + } + optional = { + description = "Specify whether the Secret or its key must be defined" + type = "boolean" + } + } + required = ["key"] + type = "object" + } + username = { + description = "`username` specifies a key of a Secret containing the username for authentication." + properties = { + key = { + description = "The key of the secret to select from. Must be a valid secret key." + type = "string" + } + name = { + description = "Name of the referent." + type = "string" + } + optional = { + description = "Specify whether the Secret or its key must be defined" + type = "boolean" + } + } + required = ["key"] + type = "object" + } + } + type = "object" + } + bearerTokenFile = { + description = "File to read bearer token for scraping the target." + type = "string" + } + bearerTokenSecret = { + description = "`bearerTokenSecret` specifies a key of a Secret containing the bearer token for scraping targets." + properties = { + key = { + description = "The key of the secret to select from. Must be a valid secret key." + type = "string" + } + name = { + description = "Name of the referent." + type = "string" + } + optional = { + description = "Specify whether the Secret or its key must be defined" + type = "boolean" + } + } + required = ["key"] + type = "object" + } + enableHttp2 = { + description = "`enableHttp2` can be used to disable HTTP2 when scraping the target." + type = "boolean" + } + filterRunning = { + description = "When true, the pods which are not running are dropped during the target discovery." + type = "boolean" + } + followRedirects = { + description = "`followRedirects` defines whether the scrape requests should follow HTTP 3xx redirects." + type = "boolean" + } + honorLabels = { + description = "When true, `honorLabels` preserves the metric's labels when they collide with the target's labels." + type = "boolean" + } + honorTimestamps = { + description = "`honorTimestamps` controls whether Prometheus preserves the timestamps when exposed by the target." + type = "boolean" + } + interval = { + description = "Interval at which metrics should be scraped." + type = "string" + } + metricRelabelings = { + description = "MetricRelabelConfigs to apply to samples before ingestion." + items = { + description = "MetricRelabelConfig allows to relabel samples before ingestion." + properties = { + action = { + description = "Action to perform based on regex matching." + type = "string" + } + regex = { + description = "Regex to match against." + type = "string" + } + replacement = { + description = "Replacement value for regex matches." + type = "string" + } + } + required = ["action", "regex", "replacement"] + type = "object" + } + type = "array" + } + path = { + description = "HTTP path to scrape for metrics." + type = "string" + } + port = { + description = "Name of the port to scrape metrics from." + type = "string" + } + proxyUrl = { + description = "Optional URL of a proxy server to use for scraping." + type = "string" + } + relabelings = { + description = "RelabelConfigs to apply to samples before scraping." + items = { + description = "RelabelConfig allows to relabel samples before scraping." + properties = { + action = { + description = "Action to perform based on regex matching." + type = "string" + } + regex = { + description = "Regex to match against." + type = "string" + } + replacement = { + description = "Replacement value for regex matches." + type = "string" + } + } + required = ["action", "regex", "replacement"] + type = "object" + } + type = "array" + } + scheme = { + description = "HTTP scheme to use for scraping." + type = "string" + } + scrapeTimeout = { + description = "Timeout after which the scrape is ended." + type = "string" + } + targetPort = { + description = "Name or number of the port to scrape metrics from." + type = "string" + } + tlsConfig = { + description = "TLS configuration to use when scraping the target." + properties = { + caFile = { + description = "Path to the CA cert file in the Prometheus container for the targets." + type = "string" + } + caSecret = { + description = "Secret containing the CA cert file for the targets." + properties = { + key = { + description = "The key of the secret to select from. Must be a valid secret key." + type = "string" + } + name = { + description = "Name of the referent." + type = "string" + } + optional = { + description = "Specify whether the Secret or its key must be defined" + type = "boolean" + } + } + required = ["key"] + type = "object" + } + certFile = { + description = "Path to the client cert file in the Prometheus container for the targets." + type = "string" + } + insecureSkipVerify = { + description = "Disable target certificate validation." + type = "boolean" + } + keyFile = { + description = "Path to the client key file in the Prometheus container for the targets." + type = "string" + } + keySecret = { + description = "Secret containing the client key file for the targets." + properties = { + key = { + description = "The key of the secret to select from. Must be a valid secret key." + type = "string" + } + name = { + description = "Name of the referent." + type = "string" + } + optional = { + description = "Specify whether the Secret or its key must be defined" + type = "boolean" + } + } + required = ["key"] + type = "object" + } + serverName = { + description = "Used to verify the hostname for the targets." + type = "string" + } + } + type = "object" + } + trackTimestampsStaleness = { + description = "`trackTimestampsStaleness` defines whether Prometheus tracks staleness of the metrics that have an explicit timestamp present in scraped data." + type = "boolean" + } + } + type = "object" + } + type = "array" + } + jobLabel = { + description = "`jobLabel` selects the label from the associated Kubernetes `Service` object which will be used as the `job` label for all metrics." + type = "string" + } + keepDroppedTargets = { + description = "Per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit." + format = "int64" + type = "integer" + } + labelLimit = { + description = "Per-scrape limit on number of labels that will be accepted for a sample." + format = "int64" + type = "integer" + } + labelNameLengthLimit = { + description = "Per-scrape limit on length of labels name that will be accepted for a sample." + format = "int64" + type = "integer" + } + labelValueLengthLimit = { + description = "Per-scrape limit on length of labels value that will be accepted for a sample." + format = "int64" + type = "integer" + } + namespaceSelector = { + description = "Selector to select which namespaces the Kubernetes `Endpoints` objects are discovered from." + properties = { + any = { + description = "Boolean describing whether all namespaces are selected in contrast to a list restricting them." + type = "boolean" + } + matchNames = { + description = "List of namespace names to select from." + items = { + type = "string" + } + type = "array" + } + } + type = "object" + } + podTargetLabels = { + description = "`podTargetLabels` defines the labels which are transferred from the associated Kubernetes `Pod` object onto the ingested metrics." + items = { + type = "string" + } + type = "array" + } + sampleLimit = { + description = "`sampleLimit` defines a per-scrape limit on the number of scraped samples that will be accepted." + format = "int64" + type = "integer" + } + scrapeClass = { + description = "The scrape class to apply." + minLength = 1 + type = "string" + } + scrapeProtocols = { + description = "`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the protocols supported by Prometheus in order of preference." + items = { + description = "ScrapeProtocol represents a protocol used by Prometheus for scraping metrics." + enum = [ + "PrometheusProto", + "OpenMetricsText0.0.1", + "OpenMetricsText1.0.0", + "PrometheusText0.0.4" + ] + type = "string" + } + type = "array" + } + selector = { + description = "Label selector to select the Kubernetes `Endpoints` objects." + properties = { + matchExpressions = { + description = "matchExpressions is a list of label selector requirements. The requirements are ANDed." + items = { + description = "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values." + properties = { + key = { + description = "key is the label key that the selector applies to." + type = "string" + } + operator = { + description = "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist." + type = "string" + } + values = { + description = "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty." + items = { + type = "string" + } + type = "array" + } + } + required = ["key", "operator"] + type = "object" + } + type = "array" + } + matchLabels = { + additionalProperties = { + type = "string" + } + description = "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is `key`, the operator is `In`, and the values array contains only `value`." + type = "object" + } + } + type = "object" + } + targetLabels = { + description = "`targetLabels` defines the labels which are transferred from the associated Kubernetes `Service` object onto the ingested metrics." + items = { + type = "string" + } + type = "array" + } + targetLimit = { + description = "`targetLimit` defines a limit on the number of scraped targets that will be accepted." + format = "int64" + type = "integer" + } + } + required = ["selector"] + type = "object" + } + } + required = ["spec"] + type = "object" + } + } + served = true + storage = true + } + ] + } + } +} + + +resource "kubernetes_manifest" "opentelemetry_collector" { + count = length(var.namespaces) + manifest = { + apiVersion = "opentelemetry.io/v1beta1" + kind = "OpenTelemetryCollector" + metadata = { + name = "opentelemetry-collector-injected" + namespace = var.namespaces[count.index] + } + spec = { + mode = "sidecar" + config = { + receivers = { + otlp = { + protocols = { + grpc = { + endpoint = "0.0.0.0:4317" + } + http = { + endpoint = "0.0.0.0:4318" + } + } + } + jaeger = { + protocols = { + grpc = { + endpoint = "0.0.0.0:14250" + } + } + } + prometheus = { + config = { + scrape_configs = [ + { + job_name = "opentelemetry-collector" + scrape_interval = "10s" + static_configs = [ + { + targets = ["$${env.MY_POD_IP}:8888"] + } + ] + } + ] + } + } + } + processors = { + memory_limiter = { + check_interval = "1s" + limit_percentage = 75 + spike_limit_percentage = 15 + } + batch = { + send_batch_size = 10000 + timeout = "10s" + } + } + exporters = { + otlp = { + endpoint = "signoz-otel-collector.${var.signoz_namespace}.svc.cluster.local:4317" + tls = { + insecure = true + } + } + } + service = { + pipelines = { + logs = { + exporters = ["otlp"] + processors = ["memory_limiter", "batch"] + receivers = ["otlp"] + } + metrics = { + exporters = ["otlp"] + processors = ["memory_limiter", "batch"] + receivers = ["otlp", "prometheus"] + } + traces = { + exporters = ["otlp"] + processors = ["memory_limiter", "batch"] + receivers = ["otlp","jaeger"] + } + } + telemetry = { + metrics = { + address = "$${env.MY_POD_IP}:8888" + } + } + } + } + } + } +} + diff --git a/terraform/signoz/variables.tf b/terraform/signoz/variables.tf index e7a2f9ebb..13dfe939d 100644 --- a/terraform/signoz/variables.tf +++ b/terraform/signoz/variables.tf @@ -35,3 +35,15 @@ variable "signoz_storage_size" { default = "20" } +variable "opentelemetry_operator_helm_chart_name" { + type = string + description = "The chart name in the Helm repository for OpenTelemetry Collector" + default = "opentelemetry-operator" +} + +variable "opentelemetry_operator_helm_repository" { + type = string + description = "The location of the Helm repository for OpenTelemetry Collector" + default = "https://open-telemetry.github.io/opentelemetry-helm-charts" +} + diff --git a/terraform/vault-configuration/.gitignore b/terraform/vault-configuration/.gitignore index 9de4d2724..2ee831f9c 100644 --- a/terraform/vault-configuration/.gitignore +++ b/terraform/vault-configuration/.gitignore @@ -23,3 +23,6 @@ override.tf.json # Ignore CLI configuration files .terraformrc terraform.rc + +# Don't bring in certs +*.pem diff --git a/terraform/vault-configuration/Makefile b/terraform/vault-configuration/Makefile index b2ca114ed..df4535c26 100644 --- a/terraform/vault-configuration/Makefile +++ b/terraform/vault-configuration/Makefile @@ -1,11 +1,52 @@ -TF_VAR_bootnode_key := $(shell docker run --platform=linux/amd64 parity/polkadot key generate-node-key 2>/dev/null) +KEYGEN_IMAGE := node-chronicle-arm64 +KEYGEN_TAG := local + +TF_VAR_aura_key := $(shell docker run $(KEYGEN_IMAGE):$(KEYGEN_TAG) node-chronicle key generate --network substrate --output-type json) +export TF_VAR_aura_key + +TF_VAR_grankey_key := $(shell docker run $(KEYGEN_IMAGE):$(KEYGEN_TAG) node-chronicle key generate --network substrate --output-type json) +export TF_VAR_grankey_key + +TF_VAR_bootnode_key := $(shell docker run $(KEYGEN_IMAGE):$(KEYGEN_TAG) node-chronicle key generate-node-key) export TF_VAR_bootnode_key -TF_VAR_bootnode_peer_id := $(shell echo $(TF_VAR_bootnode_key) | docker run --platform=linux/amd64 -i parity/polkadot key inspect-node-key) +TF_VAR_bootnode_peer_id := $(shell echo $(TF_VAR_bootnode_key) | docker run -i $(KEYGEN_IMAGE):$(KEYGEN_TAG) node-chronicle key inspect-node-key) export TF_VAR_bootnode_peer_id -TF_VAR_aura_key := $(shell docker run --platform=linux/amd64 parity/polkadot key generate --network substrate --output-type json) -export TF_VAR_aura_key +TF_VAR_sa_jwt_token := $(shell kubectl get secret vault-auth-secret --namespace vault --output 'go-template={{ .data.token }}' | base64 --decode) +export TF_VAR_sa_jwt_token + +TF_VAR_k8s_host := https://kubernetes.default.svc +export TF_VAR_k8s_host + +ca: + kubectl config view --raw --minify --flatten --output 'jsonpath={.clusters[].cluster.certificate-authority-data}' | base64 --decode > ca_crt.pem + +format: + @terraform fmt \ + -write=true \ + -recursive + +# https://github.com/terraform-linters/tflint +lint: format ## Check for possible errors, best practices, etc in current directory! + @tflint + +# https://github.com/liamg/tfsec +check-security: format ## Static analysis of your terraform templates to spot potential security issues. + @tfsec . + +documentation: lint check-security ## Generate README.md for a module + @terraform-docs \ + markdown table \ + --sort-by-required . > README.md + +apply: ca + kubectl port-forward service/vault-ui 8200:8200 --namespace vault &> /dev/null & \ + VAULT_TLS_SERVER_NAME=vault-0.vault-internal terraform apply; + @kill $$! # Stop the port-forwarding process + +destroy: + kubectl port-forward service/vault-ui 8200:8200 --namespace vault &> /dev/null & \ + VAULT_TLS_SERVER_NAME=vault-0.vault-internal terraform destroy; + @kill $$! # Stop the port-forwarding proces -apply: - VAULT_TLS_SERVER_NAME=vault-0.vault-internal terraform apply diff --git a/terraform/vault-configuration/provider.tf b/terraform/vault-configuration/provider.tf index da874ddf3..46b013b2a 100644 --- a/terraform/vault-configuration/provider.tf +++ b/terraform/vault-configuration/provider.tf @@ -1,4 +1,5 @@ -provider vault { - address = "https://localhost:8200" - ca_cert_file = var.vault_service_ca +provider "vault" { + address = "https://localhost:8200" + token = var.vault_token + ca_cert_file = "${path.module}/ca_crt.pem" } diff --git a/terraform/vault-configuration/terraform.tf b/terraform/vault-configuration/terraform.tf new file mode 100644 index 000000000..00c531bce --- /dev/null +++ b/terraform/vault-configuration/terraform.tf @@ -0,0 +1,6 @@ +terraform { + backend "kubernetes" { + secret_suffix = "vault-config-state" + config_path = "~/.kube/config" + } +} diff --git a/terraform/vault-configuration/variables.tf b/terraform/vault-configuration/variables.tf index a0194e067..167dc1d1d 100644 --- a/terraform/vault-configuration/variables.tf +++ b/terraform/vault-configuration/variables.tf @@ -1,48 +1,60 @@ variable "node_service_account" { description = "The service account for the Chronicle Substrate node." type = string - sensitive = false - default = "bootnode" + sensitive = false + default = "vault-sa" } variable "vault_token" { description = "A vault access token with root permission" type = string - sensitive = true - default = "s.VL1OYyHeeQ1Qxyg9FqSyKjBe" + sensitive = true } variable "bootnode_key" { description = "The bootnode key for the Chronicle Substrate node." type = string - sensitive = true + sensitive = true } variable "aura_key" { description = "The aura key for the Chronicle Substrate node." type = string - default = < ca.crt +KUBERNETES_SERVICE_HOST := kubernetes.default.svc +KUBERNETES_SERVICE_PORT := "$(kubectl get svc kubernetes -n default -o jsonpath='{.spec.ports[0].port}')" -apply: get-ca +ca: + kubectl config view --raw --minify --flatten --output 'jsonpath={.clusters[].cluster.certificate-authority-data}' | base64 --decode > ca_crt.pem + +apply: ca terraform apply +.ONESHELL: unseal: apply - kubectl exec --stdin=true --tty=true vault-0 --namespace vault -- vault operator init -key-shares=1 -key-threshold=1 + @retry=0; \ + while [[ $$retry -lt 5 ]]; do \ + output=$$(kubectl exec vault-0 --namespace vault -- vault operator init -key-shares=1 -key-threshold=1); \ + if [[ $$? -eq 0 ]]; then \ + unseal_keys=$$(echo "$$output" | awk '/Unseal Key/ {print $$NF}'); \ + root_token=$$(echo "$$output" | awk '/Initial Root Token/ {print $$NF}'); \ + break; \ + fi; \ + ((retry++)); \ + echo "Retrying in 3 seconds..."; \ + sleep 3; \ + done; \ + num_pods=$$(kubectl get pods --namespace vault -l app.kubernetes.io/name=vault -o jsonpath='{.items[*].metadata.name}' | wc -w); \ + for ((i=0; i<$$num_pods; i++)); do \ + pod_name="vault-$$i"; \ + for key in $$unseal_keys; do \ + kubectl exec $$pod_name --namespace vault -- vault operator unseal $$key; \ + done; \ + done; \ + echo "Unseal Keys: $$unseal_keys"; \ + echo "Root Token: $$root_token" diff --git a/terraform/vault-deployment/ca.crt b/terraform/vault-deployment/ca.crt deleted file mode 100644 index 9f8cbd92b..000000000 --- a/terraform/vault-deployment/ca.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDBTCCAe2gAwIBAgIIRowbf+1CpuEwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE -AxMKa3ViZXJuZXRlczAeFw0yNDA1MDIxNzI0NDVaFw0zNDA0MzAxNzI5NDVaMBUx -EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQCowu170MUmx0kLkx0HA9u/4pwqofAcz+pmu5r6NVtHp9CxqGFMO1Tsr8Yr -kz1rA+yIA4eU+8SF2fbhUNP8Ei6Sux1QkMCbVAHvII0l2JFhw4TUV1vT6Xcg1WTJ -7SyqavBtDLDl0wU0SJrx4YvXAacZQQtj//2u6m/VX1fFa8DtB0tcKMsE3zTicsdo -uI0w57EnVSsKzGY7nhB6NFlwq4CKlcjgQsm8Bi15Ahv+dnXjOoU967Kw6unMc5u9 -8eVcXKPfKuHOtMy60k18VxT4W9Tu6AbyTxOOSNp6lMKIxXpiXLN6oxXzmCHTUFf+ -ls56tOhfftuoGwuZZpPotO7mOtG9AgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTz3ndg3ynImbZifOEIWO/U/fmcljAV -BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQBtMcla5REp -68IbAMz0/D/cRiXu+9GcZkY/kR26LYC9wnWZBJAEa8mhgSuMyWvGakD6hhMLOr2n -Q2BCMiPZDUs1toAnzzK1TqmeypBNxJhlS6QJlRQUqcrKYHr2asFpMpBghEn5Y4zN -G9uWIgvkWT32XDapcEsrrYdfbUYiZ66312RahCxYeLW6gq3TMR2vCf2NLqomFDzg -RDyR6KPfMovDDEnPbW5bWKXz1c6jC/sRZYrGzU05K0SCgIZrSM8EWnRNyaxUzCtK -WJOnCF5srd5uw/XL4jSJPOD7Rb5ZlOK9ong6GwsDiWPPqjJK6dmwy26sOKhyIeQR -WLMqyYe0y3Tm ------END CERTIFICATE----- diff --git a/terraform/vault-deployment/templates/values.tmpl b/terraform/vault-deployment/templates/values.tmpl index ff37497e9..6d9f616ae 100644 --- a/terraform/vault-deployment/templates/values.tmpl +++ b/terraform/vault-deployment/templates/values.tmpl @@ -15,11 +15,18 @@ injector: agentImage: repository: ${vault_image_repository} tag: "${vault_image_tag}" + + logFormat: json server: + annotations: + sidecar.opentelemetry.io/inject: "true" + logLevel: debug + logFormat: json + metrics: + enabled: true serviceAccount: create: false name: ${kubernetes_vault_service_account} - logLevel: debug image: repository: ${vault_image_repository} tag: "${vault_image_tag}" @@ -47,7 +54,6 @@ server: tls_cert_file = "/vault/userconfig/${kubernetes_secret_name_tls_cert}/tls.crt" tls_key_file = "/vault/userconfig/${kubernetes_secret_name_tls_cert}/tls.key" tls_client_ca_file = "/vault/userconfig/${kubernetes_secret_name_tls_ca}/ca.crt" - } storage "raft" { diff --git a/terraform/vault-deployment/tls.tf b/terraform/vault-deployment/tls.tf index 277bda6dc..a3a57a410 100644 --- a/terraform/vault-deployment/tls.tf +++ b/terraform/vault-deployment/tls.tf @@ -34,8 +34,7 @@ resource "tls_cert_request" "vault_cert_request" { dns_names = concat(local.dns_names, [ "*.vault.svc.${var.cluster_name}", - "*.vault.svc", - "*.vault" + "*.vault.svc" ]) ip_addresses = ["127.0.0.1"] diff --git a/terraform/vault-deployment/vault.tf b/terraform/vault-deployment/vault.tf index 7fc1c7cad..82e90023e 100644 --- a/terraform/vault-deployment/vault.tf +++ b/terraform/vault-deployment/vault.tf @@ -29,19 +29,37 @@ resource "kubernetes_secret" "tls_ca" { } data = { - "ca.crt" = file("ca.crt") + "ca.crt" = file("ca_crt.pem") } } - resource "kubernetes_service_account" "vault" { metadata { name = var.kubernetes_sa_name namespace = var.kubernetes_namespace - annotations = null } } + +#------------------------------------------------------------------------------ +# We need to be able to get API tokens for the vault service account, +# Long lived tokens will cause problems with the vault agent +#------------------------------------------------------------------------------ + +resource "kubernetes_secret" "vault_auth_secret" { + metadata { + name = "vault-auth-secret" + namespace = var.kubernetes_namespace + annotations = { + "kubernetes.io/service-account.name" = kubernetes_service_account.vault.metadata.0.name + } + } + + type = "kubernetes.io/service-account-token" +} + + + #------------------------------------------------------------------------------ # Vault deployment #------------------------------------------------------------------------------