From c9cb19baef0ba43320dd789b52864cfa24fe50cf Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Fri, 23 Feb 2024 15:49:30 +0100 Subject: [PATCH 01/11] comment for generating stage2 --- xcmp_relayer/src/main.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xcmp_relayer/src/main.rs b/xcmp_relayer/src/main.rs index 0e851af..3ea6fb7 100644 --- a/xcmp_relayer/src/main.rs +++ b/xcmp_relayer/src/main.rs @@ -107,6 +107,13 @@ async fn main() -> anyhow::Result<()> { // Keep track of Mmr Index which correspondings to the receiver.. // let _ = collect_all_mmr_roots_for_sender(&sender_api).await?; + // TODO: Collect all ParaHeaders from sender in order to generate opening in + // ParaHeader Merkle tree (ParaId, ParaHeader(As HeadData)) + // TODO: Add this as a RuntimeApi for generating this from the Relaychain directly + // since data is stored there and proof can easily be generated from Validator + // Then just Relay this over to receiver correctly in stage 2 of proof + // How to convert ParaHeader -> HeadData? Just encode the header as bytes?? + let _ = log_all_mmr_roots(¶_sender_api).await?; let _ = log_all_mmr_proofs(¶_sender_api).await?; let _ = get_proof_and_verify(¶_sender_api, &relay_api).await?; From adba8e8c497d90973c9c2d22740128341077d686 Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Mon, 4 Mar 2024 15:34:56 +0100 Subject: [PATCH 02/11] Adding ability to grab ParaMerkleProof.. wasm trap error.. --- Cargo.lock | 12 ++++++++++ Cargo.toml | 3 ++- build.sh | 20 ++++++++++++++-- xcmp_relayer/Cargo.toml | 2 ++ xcmp_relayer/src/main.rs | 49 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 83 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bfc3b15..e31aa18 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13361,6 +13361,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "subxt_test" +version = "0.1.0" +dependencies = [ + "anyhow", + "subxt", + "subxt-signer", + "tokio", +] + [[package]] name = "syn" version = "1.0.109" @@ -15416,6 +15426,8 @@ dependencies = [ "mmr-rpc", "parachain-template-runtime", "parity-scale-codec", + "polkadot-parachain-primitives", + "polkadot-runtime-parachains", "serde_json", "sp-core", "sp-mmr-primitives", diff --git a/Cargo.toml b/Cargo.toml index 2244097..7e5e3f3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ panic = "unwind" members = [ "node", "pallets/*", - "runtime", + "runtime", "subxt_test", "xcmp_relayer", ] resolver = "2" @@ -132,6 +132,7 @@ polkadot-cli = { git = "https://github.com/coax1d/polkadot-sdk", branch = "xcmp_ polkadot-primitives = { git = "https://github.com/coax1d/polkadot-sdk", branch = "xcmp_customized_sdk", default-features = false } pallet-xcm = { git = "https://github.com/coax1d/polkadot-sdk", default-features = false, branch = "xcmp_customized_sdk" } polkadot-parachain = { package = "polkadot-parachain-primitives", git = "https://github.com/coax1d/polkadot-sdk", default-features = false, branch = "xcmp_customized_sdk" } +polkadot-runtime-parachains = { git = "https://github.com/coax1d/polkadot-sdk", default-features = false, branch = "xcmp_customized_sdk" } polkadot-runtime-common = { git = "https://github.com/coax1d/polkadot-sdk", default-features = false, branch = "xcmp_customized_sdk" } xcm = { package = "staging-xcm", git = "https://github.com/coax1d/polkadot-sdk", default-features = false, branch = "xcmp_customized_sdk" } xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/coax1d/polkadot-sdk", default-features = false, branch = "xcmp_customized_sdk" } diff --git a/build.sh b/build.sh index 3adc0da..2f82af1 100755 --- a/build.sh +++ b/build.sh @@ -76,17 +76,27 @@ PARACHAIN_PID=$! echo "Parachain started with PID: $PARACHAIN_PID" sleep 5 +nohup ./bin/polkadot --alice --tmp --allow-private-ip --discover-local --chain zombienet/rococo-local.json --rpc-port 54886 & + +RELAYCHAIN_PID=$! + +echo "Relaychain started with PID: $RELAYCHAIN_PID" +sleep 5 + echo "Now building Relayer" cargo build --release -p xcmp_relayer if [ $? -eq 0 ]; then - echo "Building Parachain Succeeded" + echo "Building Relayer Succeeded" else - echo "Building Parachain Failed" + echo "Building Relayer Failed" + kill $PARACHAIN_PID + kill $RELAYCHAIN_PID exit 1 fi kill $PARACHAIN_PID +kill $RELAYCHAIN_PID sleep 2 @@ -96,4 +106,10 @@ else echo "Parachain node killed successfully" fi +if kill -0 $RELAYCHAIN_PID 2>/dev/null; then + echo "Relaychain node could not be killed" +else + echo "Relaychain node killed successfully" +fi + echo "Build complete!!" diff --git a/xcmp_relayer/Cargo.toml b/xcmp_relayer/Cargo.toml index 4514bcb..18e7d86 100644 --- a/xcmp_relayer/Cargo.toml +++ b/xcmp_relayer/Cargo.toml @@ -9,6 +9,8 @@ description = "Relayer for XCMP" [dependencies] runtime = { path = "../runtime", package = "parachain-template-runtime" } +polkadot-runtime-parachains = { workspace = true } +polkadot-parachain = { workspace = true } serde_json = { workspace = true } parity-scale-codec = { workspace = true } jsonrpsee = { workspace = true } diff --git a/xcmp_relayer/src/main.rs b/xcmp_relayer/src/main.rs index 3ea6fb7..47a11c2 100644 --- a/xcmp_relayer/src/main.rs +++ b/xcmp_relayer/src/main.rs @@ -31,6 +31,15 @@ use subxt_signer::{sr25519::dev, ecdsa::dev::alice}; #[subxt::subxt(runtime_metadata_url = "ws://localhost:54887")] pub mod polkadot { } +#[subxt::subxt(runtime_metadata_url = "ws://localhost:54886")] +pub mod relay { } + +use relay::runtime_types::polkadot_runtime_parachains::paras::{ + ParaMerkleProof, ParaLeaf, +}; + +use relay::runtime_types::polkadot_parachain_primitives::primitives::Id as ParaId; + use polkadot::runtime_types::{ pallet_xcmp_message_stuffer::XcmpProof, sp_mmr_primitives::Proof as XcmpProofType, @@ -88,6 +97,7 @@ type RelayBlockIndex = u32; lazy_static! { static ref BEEFY_MMR_MAP: Mutex)>> = Mutex::new(BTreeMap::new()); + static ref PARA_HEADERS_MAP: Mutex> = Mutex::new(BTreeMap::new()); } #[tokio::main] @@ -109,6 +119,7 @@ async fn main() -> anyhow::Result<()> { // TODO: Collect all ParaHeaders from sender in order to generate opening in // ParaHeader Merkle tree (ParaId, ParaHeader(As HeadData)) + let _ = collect_all_para_header_proofs(&relay_api).await?; // TODO: Add this as a RuntimeApi for generating this from the Relaychain directly // since data is stored there and proof can easily be generated from Validator // Then just Relay this over to receiver correctly in stage 2 of proof @@ -124,6 +135,44 @@ async fn main() -> anyhow::Result<()> { Ok(()) } +async fn collect_all_para_header_proofs(client: &MultiClient) -> anyhow::Result<()> { + let client = client.clone(); + task::spawn(async move { + let mut blocks_sub = client.subxt_client.blocks().subscribe_best().await?; + while let Some(block) = blocks_sub.next().await { + let block = block?; + + let id = ParaId(0u32); + + let para_merkle_call = relay::apis().paras_api().get_para_heads_proof(id); + let para_merkle_proof = match client.subxt_client + .runtime_api() + .at_latest() + .await? + .call(para_merkle_call) + .await { + Ok(opt_proof) => { + opt_proof + }, + Err(e) => { + log::error!("Error calling Para Merkle Proof Api with error {:?}", e); + None + } + }; + + if let Some(proof) = para_merkle_proof { + log::info!("Got Proof can store now into storage"); + } + else { + log::error!("No Para Merkle Proof obtained!!!!"); + } + + } + Ok::<(), anyhow::Error>(()) + }); + Ok(()) +} + async fn collect_relay_beefy_roots(client: &MultiClient) -> anyhow::Result<()> { let client = client.clone(); task::spawn(async move { From 9cd7edf50a10627c07b9d390ef1d048a19e22a30 Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Mon, 4 Mar 2024 15:42:47 +0100 Subject: [PATCH 03/11] fixing bug with paraId --- xcmp_relayer/src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xcmp_relayer/src/main.rs b/xcmp_relayer/src/main.rs index 47a11c2..92be5e4 100644 --- a/xcmp_relayer/src/main.rs +++ b/xcmp_relayer/src/main.rs @@ -142,7 +142,7 @@ async fn collect_all_para_header_proofs(client: &MultiClient) -> anyhow::Result< while let Some(block) = blocks_sub.next().await { let block = block?; - let id = ParaId(0u32); + let id = ParaId(1000u32); let para_merkle_call = relay::apis().paras_api().get_para_heads_proof(id); let para_merkle_proof = match client.subxt_client @@ -161,7 +161,7 @@ async fn collect_all_para_header_proofs(client: &MultiClient) -> anyhow::Result< }; if let Some(proof) = para_merkle_proof { - log::info!("Got Proof can store now into storage"); + log::info!("Got Proof can store now into storage {:?}", proof); } else { log::error!("No Para Merkle Proof obtained!!!!"); From d99163979a47e7380ad82c30430bacfb4ea50d7a Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Tue, 5 Mar 2024 17:46:37 +0100 Subject: [PATCH 04/11] fixing proof generation --- Cargo.lock | 2874 ++++++++--------------- pallets/xcmp_message_stuffer/Cargo.toml | 4 + pallets/xcmp_message_stuffer/src/lib.rs | 14 +- runtime/Cargo.toml | 1 + xcmp_relayer/src/main.rs | 245 +- 5 files changed, 1268 insertions(+), 1870 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e31aa18..333bc75 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,25 +36,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "aead" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "aead" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", -] - [[package]] name = "aead" version = "0.5.2" @@ -67,105 +48,48 @@ dependencies = [ [[package]] name = "aes" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" -dependencies = [ - "aes-soft", - "aesni", - "cipher 0.2.5", -] - -[[package]] -name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if", - "cipher 0.3.0", - "cpufeatures", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", - "cipher 0.4.4", + "cipher", "cpufeatures", ] -[[package]] -name = "aes-gcm" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" -dependencies = [ - "aead 0.4.3", - "aes 0.7.5", - "cipher 0.3.0", - "ctr 0.8.0", - "ghash 0.4.4", - "subtle", -] - [[package]] name = "aes-gcm" version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ - "aead 0.5.2", - "aes 0.8.3", - "cipher 0.4.4", - "ctr 0.9.2", - "ghash 0.5.0", + "aead", + "aes", + "cipher", + "ctr", + "ghash", "subtle", ] -[[package]] -name = "aes-soft" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" -dependencies = [ - "cipher 0.2.5", - "opaque-debug 0.3.0", -] - -[[package]] -name = "aesni" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" -dependencies = [ - "cipher 0.2.5", - "opaque-debug 0.3.0", -] - [[package]] name = "ahash" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", "once_cell", "version_check", ] [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.11", + "getrandom 0.2.12", "once_cell", "version_check", "zerocopy", @@ -218,9 +142,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.4" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" dependencies = [ "anstyle", "anstyle-parse", @@ -232,43 +156,43 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "anstyle-parse" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" [[package]] name = "approx" @@ -281,9 +205,9 @@ dependencies = [ [[package]] name = "aquamarine" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df752953c49ce90719c7bf1fc587bc8227aed04732ea0c0f85e5397d7fdbd1a1" +checksum = "d1da02abba9f9063d786eab1509833ebb2fac0f966862ca59439c76b9c566760" dependencies = [ "include_dir", "itertools 0.10.5", @@ -293,12 +217,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "arc-swap" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" - [[package]] name = "ark-bls12-381" version = "0.4.0" @@ -411,9 +329,9 @@ dependencies = [ [[package]] name = "ark-scale" -version = "0.0.11" +version = "0.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bd73bb6ddb72630987d37fa963e99196896c0d0ea81b7c894567e74a2f83af" +checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179" dependencies = [ "ark-ec", "ark-ff", @@ -486,9 +404,9 @@ dependencies = [ [[package]] name = "array-bytes" -version = "6.2.0" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de17a919934ad8c5cc99a1a74de4e2dab95d6121a8f27f94755ff525b630382c" +checksum = "6f840fb7195bcfc5e17ea40c26e5ce6d5b9ce5d584466e17703209657e459ae0" [[package]] name = "arrayref" @@ -517,29 +435,13 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "asn1-rs" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ff05a702273012438132f449575dbc804e27b2f3cbe3069aa237d26c98fa33" -dependencies = [ - "asn1-rs-derive 0.1.0", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror", - "time", -] - [[package]] name = "asn1-rs" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ - "asn1-rs-derive 0.4.0", + "asn1-rs-derive", "asn1-rs-impl", "displaydoc", "nom", @@ -549,18 +451,6 @@ dependencies = [ "time", ] -[[package]] -name = "asn1-rs-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8b7511298d5b7784b40b092d9e9dcd3a627a5707e4b5e507931ab0d44eeebf" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure", -] - [[package]] name = "asn1-rs-derive" version = "0.4.0" @@ -603,13 +493,13 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" +checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" dependencies = [ "concurrent-queue", - "event-listener 4.0.0", - "event-listener-strategy", + "event-listener 5.2.0", + "event-listener-strategy 0.5.0", "futures-core", "pin-project-lite 0.2.13", ] @@ -620,11 +510,11 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" dependencies = [ - "async-lock 3.1.2", + "async-lock 3.3.0", "async-task", "concurrent-queue", "fastrand 2.0.1", - "futures-lite 2.0.1", + "futures-lite 2.2.0", "slab", ] @@ -662,18 +552,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6d3b15875ba253d1110c740755e246537483f152fa334f91abd7fe84c88b3ff" +checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" dependencies = [ - "async-lock 3.1.2", + "async-lock 3.3.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.0.1", + "futures-lite 2.2.0", "parking", - "polling 3.3.1", - "rustix 0.38.25", + "polling 3.5.0", + "rustix 0.38.31", "slab", "tracing", "windows-sys 0.52.0", @@ -690,12 +580,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.1.2" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dea8b3453dd7cc96711834b75400d671b73e3656975fa68d9f277163b7f7e316" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ - "event-listener 4.0.0", - "event-listener-strategy", + "event-listener 4.0.3", + "event-listener-strategy 0.4.0", "pin-project-lite 0.2.13", ] @@ -723,7 +613,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.25", + "rustix 0.38.31", "windows-sys 0.48.0", ] @@ -735,7 +625,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -744,13 +634,13 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io 2.2.1", + "async-io 2.3.1", "async-lock 2.8.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.25", + "rustix 0.38.31", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -758,19 +648,19 @@ dependencies = [ [[package]] name = "async-task" -version = "4.5.0" +version = "4.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" +checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -832,7 +722,7 @@ dependencies = [ "cfg-if", "libc", "miniz_oxide", - "object 0.32.1", + "object 0.32.2", "rustc-demangle", ] @@ -845,7 +735,7 @@ dependencies = [ "ark-ec", "ark-ed-on-bls12-381-bandersnatch", "ark-ff", - "ark-scale 0.0.11", + "ark-scale 0.0.12", "ark-serialize", "ark-std", "dleq_vrf", @@ -864,12 +754,6 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" -[[package]] -name = "base16ct" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" - [[package]] name = "base16ct" version = "0.2.0" @@ -890,9 +774,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" @@ -912,10 +796,12 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "hash-db", "log", + "parity-scale-codec", + "scale-info", ] [[package]] @@ -939,13 +825,13 @@ dependencies = [ "lazy_static", "lazycell", "peeking_take_while", - "prettyplease 0.2.15", + "prettyplease 0.2.16", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -973,9 +859,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "bitvec" @@ -1049,7 +935,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" dependencies = [ - "block-padding 0.1.5", + "block-padding", "byte-tools", "byteorder", "generic-array 0.12.4", @@ -1073,16 +959,6 @@ dependencies = [ "generic-array 0.14.7", ] -[[package]] -name = "block-modes" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0" -dependencies = [ - "block-padding 0.2.1", - "cipher 0.2.5", -] - [[package]] name = "block-padding" version = "0.1.5" @@ -1092,24 +968,18 @@ dependencies = [ "byte-tools", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "blocking" version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" dependencies = [ - "async-channel 2.1.1", - "async-lock 3.1.2", + "async-channel 2.2.0", + "async-lock 3.3.0", "async-task", "fastrand 2.0.1", "futures-io", - "futures-lite 2.0.1", + "futures-lite 2.2.0", "piper", "tracing", ] @@ -1152,9 +1022,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.8.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ "memchr", "serde", @@ -1171,9 +1041,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" [[package]] name = "byte-slice-cast" @@ -1189,9 +1059,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" [[package]] name = "byteorder" @@ -1227,9 +1097,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff" +checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f" dependencies = [ "serde", ] @@ -1242,7 +1112,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.20", + "semver 1.0.22", "serde", "serde_json", "thiserror", @@ -1250,25 +1120,14 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723" dependencies = [ "jobserver", "libc", ] -[[package]] -name = "ccm" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aca1a8fbc20b50ac9673ff014abfb2b5f4085ee1a850d408f14a159c5853ac7" -dependencies = [ - "aead 0.3.2", - "cipher 0.2.5", - "subtle", -] - [[package]] name = "cexpr" version = "0.6.0" @@ -1280,9 +1139,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.5" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" +checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" dependencies = [ "smallvec", ] @@ -1306,7 +1165,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", - "cipher 0.4.4", + "cipher", "cpufeatures", ] @@ -1316,25 +1175,25 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ - "aead 0.5.2", + "aead", "chacha20", - "cipher 0.4.4", + "cipher", "poly1305", "zeroize", ] [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.4", ] [[package]] @@ -1350,24 +1209,6 @@ dependencies = [ "unsigned-varint", ] -[[package]] -name = "cipher" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array 0.14.7", -] - [[package]] name = "cipher" version = "0.4.4" @@ -1390,9 +1231,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" dependencies = [ "glob", "libc", @@ -1401,9 +1242,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.10" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272" +checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" dependencies = [ "clap_builder", "clap_derive", @@ -1411,43 +1252,42 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.9" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1" +checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim", + "strsim 0.11.0", ] [[package]] name = "clap_derive" -version = "4.4.7" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "coarsetime" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71367d3385c716342014ad17e3d19f7788ae514885a1f4c24f500260fb365e1a" +checksum = "13b3839cf01bb7960114be3ccf2340f541b6d0c81f8690b007b2b39f750f7e5d" dependencies = [ "libc", - "once_cell", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasix", "wasm-bindgen", ] @@ -1521,37 +1361,37 @@ checksum = "2382f75942f4b3be3690fe4f86365e9c853c1587d6ee58212cebf6e2a9ccd101" [[package]] name = "concurrent-queue" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" +checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" dependencies = [ "crossbeam-utils", ] [[package]] name = "console" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" dependencies = [ "encode_unicode", "lazy_static", "libc", "unicode-width", - "windows-sys 0.45.0", + "windows-sys 0.52.0", ] [[package]] name = "const-oid" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const-random" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" dependencies = [ "const-random-macro", ] @@ -1562,7 +1402,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", "once_cell", "tiny-keccak", ] @@ -1587,9 +1427,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1597,9 +1437,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core2" @@ -1631,9 +1471,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] @@ -1736,72 +1576,48 @@ dependencies = [ "wasmtime-types", ] -[[package]] -name = "crc" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.15" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset 0.9.0", - "scopeguard", ] [[package]] name = "crossbeam-queue" -version = "0.3.8" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -1809,18 +1625,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-bigint" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - [[package]] name = "crypto-bigint" version = "0.5.5" @@ -1864,28 +1668,19 @@ dependencies = [ "subtle", ] -[[package]] -name = "ctr" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" -dependencies = [ - "cipher 0.3.0", -] - [[package]] name = "ctr" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.4.4", + "cipher", ] [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "clap", "parity-scale-codec", @@ -1901,7 +1696,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -1924,7 +1719,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "cumulus-client-collator", @@ -1966,7 +1761,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -1995,7 +1790,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "anyhow", "async-trait", @@ -2010,7 +1805,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2033,7 +1828,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2057,7 +1852,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2092,7 +1887,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2110,7 +1905,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2127,7 +1922,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2158,18 +1953,18 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "cumulus-pallet-session-benchmarking" version = "3.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -2183,7 +1978,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2199,7 +1994,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -2220,7 +2015,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2234,7 +2029,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2252,7 +2047,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2275,7 +2070,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-primitives-core", "futures", @@ -2288,7 +2083,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2306,7 +2101,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2330,7 +2125,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2348,7 +2143,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "async-trait", @@ -2383,7 +2178,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2421,7 +2216,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2460,9 +2255,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" dependencies = [ "cfg-if", "cpufeatures", @@ -2483,7 +2278,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -2501,9 +2296,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.110" +version = "1.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7129e341034ecb940c9072817cd9007974ea696844fc4dd582dc1653a7fbe2e8" +checksum = "2673ca5ae28334544ec2a6b18ebe666c42a2650abfb48abbd532ed409a44be2b" dependencies = [ "cc", "cxxbridge-flags", @@ -2513,9 +2308,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.110" +version = "1.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a24f3f5f8eed71936f21e570436f024f5c2e25628f7496aa7ccd03b90109d5" +checksum = "9df46fe0eb43066a332586114174c449a62c25689f85a08f28fdcc8e12c380b9" dependencies = [ "cc", "codespan-reporting", @@ -2523,24 +2318,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "cxxbridge-flags" -version = "1.0.110" +version = "1.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06fdd177fc61050d63f67f5bd6351fac6ab5526694ea8e359cd9cd3b75857f44" +checksum = "886acf875df67811c11cd015506b3392b9e1820b1627af1a6f4e93ccdfc74d11" [[package]] name = "cxxbridge-macro" -version = "1.0.110" +version = "1.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "587663dd5fb3d10932c8aecfe7c844db1bcf0aee93eeab08fac13dc1212c2e7f" +checksum = "1d151cc139c3080e07f448f93a1284577ab2283d2a44acd902c6fba9ec20b6de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -2555,12 +2350,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.3" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" dependencies = [ - "darling_core 0.20.3", - "darling_macro 0.20.3", + "darling_core 0.20.8", + "darling_macro 0.20.8", ] [[package]] @@ -2573,22 +2368,22 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim", + "strsim 0.10.0", "syn 1.0.109", ] [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", - "syn 2.0.39", + "strsim 0.10.0", + "syn 2.0.52", ] [[package]] @@ -2604,13 +2399,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ - "darling_core 0.20.3", + "darling_core 0.20.8", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -2639,17 +2434,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "der" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - [[package]] name = "der" version = "0.7.8" @@ -2660,27 +2444,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "der-parser" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe398ac75057914d7d07307bf67dc7f3f574a26783b4fc7805a20ffa9f506e82" -dependencies = [ - "asn1-rs 0.3.1", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", -] - [[package]] name = "der-parser" version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs 0.5.2", + "asn1-rs", "displaydoc", "nom", "num-bigint", @@ -2690,9 +2460,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", ] @@ -2720,54 +2490,23 @@ dependencies = [ ] [[package]] -name = "derive_builder" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.11.2" +name = "derive_more" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "darling 0.14.4", + "convert_case", "proc-macro2", "quote", + "rustc_version", "syn 1.0.109", ] [[package]] -name = "derive_builder_macro" -version = "0.11.2" +name = "difflib" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" -dependencies = [ - "derive_builder_core", - "syn 1.0.109", -] - -[[package]] -name = "derive_more" -version = "0.99.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn 1.0.109", -] - -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" [[package]] name = "digest" @@ -2869,7 +2608,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -2891,18 +2630,18 @@ dependencies = [ [[package]] name = "docify" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4235e9b248e2ba4b92007fe9c646f3adf0ffde16dc74713eacc92b8bc58d8d2f" +checksum = "7cc4fd38aaa9fb98ac70794c82a00360d1e165a87fbf96a8a91f9dfc602aaee2" dependencies = [ "docify_macros", ] [[package]] name = "docify_macros" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47020e12d7c7505670d1363dd53d6c23724f71a90a3ae32ff8eba40de8404626" +checksum = "63fa215f3a0d40fb2a221b3aa90d8e1fbb8379785a990cb60d62ac71ebdc6460" dependencies = [ "common-path", "derive-syn-parse", @@ -2910,9 +2649,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.39", + "syn 2.0.52", "termcolor", - "toml 0.7.8", + "toml 0.8.2", "walkdir", ] @@ -2957,21 +2696,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" - -[[package]] -name = "ecdsa" -version = "0.14.8" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" -dependencies = [ - "der 0.6.1", - "elliptic-curve 0.12.3", - "rfc6979 0.3.1", - "signature 1.6.4", -] +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "ecdsa" @@ -2979,12 +2706,12 @@ version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "der 0.7.8", + "der", "digest 0.10.7", - "elliptic-curve 0.13.8", - "rfc6979 0.4.0", - "signature 2.2.0", - "spki 0.7.2", + "elliptic-curve", + "rfc6979", + "signature", + "spki", ] [[package]] @@ -2993,17 +2720,17 @@ version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "pkcs8 0.10.2", - "signature 2.2.0", + "pkcs8", + "signature", ] [[package]] name = "ed25519-dalek" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "ed25519", "rand_core 0.6.4", "serde", @@ -3032,7 +2759,7 @@ version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "ed25519", "hashbrown 0.14.3", "hex", @@ -3043,31 +2770,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" - -[[package]] -name = "elliptic-curve" -version = "0.12.3" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" -dependencies = [ - "base16ct 0.1.1", - "crypto-bigint 0.4.9", - "der 0.6.1", - "digest 0.10.7", - "ff 0.12.1", - "generic-array 0.14.7", - "group 0.12.1", - "hkdf", - "pem-rfc7468", - "pkcs8 0.9.0", - "rand_core 0.6.4", - "sec1 0.3.0", - "subtle", - "zeroize", -] +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "elliptic-curve" @@ -3075,15 +2780,15 @@ version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ - "base16ct 0.2.0", - "crypto-bigint 0.5.5", + "base16ct", + "crypto-bigint", "digest 0.10.7", - "ff 0.13.0", + "ff", "generic-array 0.14.7", - "group 0.13.0", - "pkcs8 0.10.2", + "group", + "pkcs8", "rand_core 0.6.4", - "sec1 0.7.3", + "sec1", "subtle", "zeroize", ] @@ -3108,33 +2813,33 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" +checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" dependencies = [ "enumflags2_derive", ] [[package]] name = "enumflags2_derive" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" +checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "enumn" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b" +checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -3152,9 +2857,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", "is-terminal", @@ -3204,9 +2909,20 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.0" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite 0.2.13", +] + +[[package]] +name = "event-listener" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae" +checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" dependencies = [ "concurrent-queue", "parking", @@ -3219,7 +2935,17 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" dependencies = [ - "event-listener 4.0.0", + "event-listener 4.0.3", + "pin-project-lite 0.2.13", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +dependencies = [ + "event-listener 5.2.0", "pin-project-lite 0.2.13", ] @@ -3258,15 +2984,16 @@ dependencies = [ [[package]] name = "expander" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f86a749cf851891866c10515ef6c299b5c69661465e9c3bbe7e07a2b77fb0f7" +checksum = "00e83c02035136f1592a47964ea60c05a50e4ed8b5892cfac197063850898d4d" dependencies = [ "blake2", "fs-err", + "prettier-please", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -3314,7 +3041,7 @@ checksum = "f5aa1e3ae159e592ad222dc90c5acbad632b527779ba88486abe92782ab268bd" dependencies = [ "expander 0.0.4", "indexmap 1.9.3", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -3330,16 +3057,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ff" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "ff" version = "0.13.0" @@ -3353,7 +3070,7 @@ dependencies = [ [[package]] name = "fflonk" version = "0.1.0" -source = "git+https://github.com/w3f/fflonk#1beb0585e1c8488956fac7f05da061f9b41e8948" +source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35" dependencies = [ "ark-ec", "ark-ff", @@ -3365,9 +3082,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" +checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382" [[package]] name = "file-per-thread-logger" @@ -3375,20 +3092,20 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" dependencies = [ - "env_logger 0.10.1", + "env_logger 0.10.2", "log", ] [[package]] name = "filetime" -version = "0.2.22" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", - "windows-sys 0.48.0", + "redox_syscall 0.4.1", + "windows-sys 0.52.0", ] [[package]] @@ -3454,7 +3171,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", ] @@ -3477,7 +3194,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-support-procedural", @@ -3502,7 +3219,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "Inflector", "array-bytes", @@ -3550,18 +3267,18 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -3578,7 +3295,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -3619,7 +3336,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-recursion", "futures", @@ -3641,7 +3358,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "aquamarine", "bitflags 1.3.2", @@ -3681,47 +3398,47 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse", - "expander 2.0.0", + "expander 2.1.0", "frame-support-procedural-tools", "itertools 0.10.5", "macro_magic", "proc-macro-warning", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cfg-if", "frame-support", @@ -3740,7 +3457,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -3755,7 +3472,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "sp-api", @@ -3764,7 +3481,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "parity-scale-codec", @@ -3798,7 +3515,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47" dependencies = [ - "rustix 0.38.25", + "rustix 0.38.31", "windows-sys 0.48.0", ] @@ -3810,9 +3527,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -3825,9 +3542,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -3835,15 +3552,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -3853,9 +3570,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" @@ -3874,27 +3591,26 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.0.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb" +checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" dependencies = [ "fastrand 2.0.1", "futures-core", "futures-io", - "memchr", "parking", "pin-project-lite 0.2.13", ] [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -3905,32 +3621,32 @@ checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" dependencies = [ "futures-io", "rustls 0.20.9", - "webpki 0.22.4", + "webpki", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -3996,9 +3712,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "libc", @@ -4006,23 +3722,22 @@ dependencies = [ ] [[package]] -name = "ghash" -version = "0.4.4" +name = "getrandom_or_panic" +version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "opaque-debug 0.3.0", - "polyval 0.5.3", + "rand_core 0.6.4", ] [[package]] name = "ghash" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ - "opaque-debug 0.3.0", - "polyval 0.6.1", + "opaque-debug 0.3.1", + "polyval", ] [[package]] @@ -4057,37 +3772,26 @@ dependencies = [ "aho-corasick", "bstr", "log", - "regex-automata 0.4.3", + "regex-automata 0.4.6", "regex-syntax 0.8.2", ] -[[package]] -name = "group" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" -dependencies = [ - "ff 0.12.1", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "group" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff 0.13.0", + "ff", "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.22" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" dependencies = [ "bytes", "fnv", @@ -4095,7 +3799,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.1.0", + "indexmap 2.2.5", "slab", "tokio", "tokio-util", @@ -4137,7 +3841,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash 0.7.7", + "ahash 0.7.8", ] [[package]] @@ -4146,7 +3850,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.11", ] [[package]] @@ -4155,7 +3859,7 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.11", "allocator-api2", "serde", ] @@ -4177,9 +3881,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -4195,9 +3899,9 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hkdf" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ "hmac 0.12.1", ] @@ -4244,11 +3948,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -4264,9 +3968,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -4275,9 +3979,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http", @@ -4310,9 +4014,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -4325,7 +4029,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite 0.2.13", - "socket2 0.4.10", + "socket2 0.5.6", "tokio", "tower-service", "tracing", @@ -4342,25 +4046,25 @@ dependencies = [ "http", "hyper", "log", - "rustls 0.21.9", + "rustls 0.21.10", "rustls-native-certs", "tokio", "tokio-rustls", - "webpki-roots 0.25.3", + "webpki-roots 0.25.4", ] [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -4415,7 +4119,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" dependencies = [ - "async-io 2.2.1", + "async-io 2.3.1", "core-foundation", "fnv", "futures", @@ -4489,9 +4193,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -4505,9 +4209,9 @@ checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" [[package]] name = "indicatif" -version = "0.17.7" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" dependencies = [ "console", "instant", @@ -4549,25 +4253,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "interceptor" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8a11ae2da61704edada656798b61c94b35ecac2c58eb955156987d5e6be90b" -dependencies = [ - "async-trait", - "bytes", - "log", - "rand 0.8.5", - "rtcp", - "rtp", - "thiserror", - "tokio", - "waitgroup", - "webrtc-srtp", - "webrtc-util", -] - [[package]] name = "intx" version = "0.1.0" @@ -4580,7 +4265,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -4597,7 +4282,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.5", + "socket2 0.5.6", "widestring", "windows-sys 0.48.0", "winreg", @@ -4611,13 +4296,13 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi 0.3.3", - "rustix 0.38.25", - "windows-sys 0.48.0", + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.52.0", ] [[package]] @@ -4649,24 +4334,24 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jobserver" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.66" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -4716,7 +4401,7 @@ dependencies = [ "tokio-rustls", "tokio-util", "tracing", - "webpki-roots 0.25.3", + "webpki-roots 0.25.4", ] [[package]] @@ -4835,7 +4520,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44e8ab85614a08792b9bff6c8feee23be78c98d0182d4c622c05256ab553892a" dependencies = [ "heck", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -4905,22 +4590,22 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" dependencies = [ "cfg-if", - "ecdsa 0.16.9", - "elliptic-curve 0.13.8", + "ecdsa", + "elliptic-curve", "once_cell", "sha2 0.10.8", ] [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -4928,7 +4613,7 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "polkadot-primitives", @@ -4997,18 +4682,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.150" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "2caa5afb8bf9f3a2652760ce7d4f62d21c4d5a423e68466fca30df82f2330164" dependencies = [ "cfg-if", - "winapi", + "windows-targets 0.52.4", ] [[package]] @@ -5019,14 +4704,14 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libp2p" -version = "0.51.3" +version = "0.51.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f210d259724eae82005b5c48078619b7745edb7b76de370b03f8ba59ea103097" +checksum = "f35eae38201a993ece6bdc823292d6abd1bffed1c4d0f4a3517d2bd8e1d917fe" dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.11", + "getrandom 0.2.12", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -5044,7 +4729,6 @@ dependencies = [ "libp2p-swarm", "libp2p-tcp", "libp2p-wasm-ext", - "libp2p-webrtc", "libp2p-websocket", "libp2p-yamux", "multiaddr", @@ -5356,12 +5040,12 @@ dependencies = [ "futures-rustls", "libp2p-core", "libp2p-identity", - "rcgen 0.10.0", + "rcgen", "ring 0.16.20", "rustls 0.20.9", "thiserror", - "webpki 0.22.4", - "x509-parser 0.14.0", + "webpki", + "x509-parser", "yasna", ] @@ -5379,37 +5063,6 @@ dependencies = [ "wasm-bindgen-futures", ] -[[package]] -name = "libp2p-webrtc" -version = "0.4.0-alpha.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba48592edbc2f60b4bc7c10d65445b0c3964c07df26fdf493b6880d33be36f8" -dependencies = [ - "async-trait", - "asynchronous-codec", - "bytes", - "futures", - "futures-timer", - "hex", - "if-watch", - "libp2p-core", - "libp2p-identity", - "libp2p-noise", - "log", - "multihash", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "rcgen 0.9.3", - "serde", - "stun", - "thiserror", - "tinytemplate", - "tokio", - "tokio-util", - "webrtc", -] - [[package]] name = "libp2p-websocket" version = "0.41.0" @@ -5448,7 +5101,7 @@ version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "libc", "redox_syscall 0.4.1", ] @@ -5518,9 +5171,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.12" +version = "1.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" +checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6" dependencies = [ "cc", "pkg-config", @@ -5574,9 +5227,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" @@ -5590,9 +5243,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "lru" @@ -5656,7 +5309,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -5670,7 +5323,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -5681,7 +5334,7 @@ checksum = "d710e1214dffbab3b5dacb21475dde7d6ed84c69ff722b3a47a782668d44fbac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -5692,7 +5345,7 @@ checksum = "b8fb85ec1620619edf2984a7693497d4ec88a9665d8b87e942856884c92dbf2a" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -5732,21 +5385,11 @@ dependencies = [ "rawpointer", ] -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest 0.10.7", -] - [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memfd" @@ -5754,7 +5397,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.25", + "rustix 0.38.31", ] [[package]] @@ -5766,15 +5409,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.8.0" @@ -5784,15 +5418,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] - [[package]] name = "memory-db" version = "0.32.0" @@ -5845,18 +5470,18 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.9" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -5866,7 +5491,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "log", @@ -5885,7 +5510,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "anyhow", "jsonrpsee 0.16.3", @@ -5978,7 +5603,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro-error", "proc-macro2", "quote", @@ -6008,9 +5633,9 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.32.3" +version = "0.32.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa" +checksum = "4541eb06dce09c0241ebbaab7102f0a01a0c8994afed2e5d0d66775016e25ac2" dependencies = [ "approx", "matrixmultiply", @@ -6123,7 +5748,6 @@ dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", - "memoffset 0.6.5", ] [[package]] @@ -6173,13 +5797,19 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-format" version = "0.4.4" @@ -6192,11 +5822,10 @@ dependencies = [ [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] @@ -6214,9 +5843,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] @@ -6227,7 +5856,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi 0.3.9", "libc", ] @@ -6251,36 +5880,27 @@ dependencies = [ [[package]] name = "object" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] -[[package]] -name = "oid-registry" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e20717fa0541f39bd146692035c37bedfa532b3e5071b35761082407546b2a" -dependencies = [ - "asn1-rs 0.3.1", -] - [[package]] name = "oid-registry" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "asn1-rs 0.5.2", + "asn1-rs", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "opaque-debug" @@ -6290,9 +5910,9 @@ checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" [[package]] name = "opaque-debug" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl-probe" @@ -6332,7 +5952,7 @@ dependencies = [ "expander 0.0.6", "itertools 0.10.5", "petgraph", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -6347,32 +5967,10 @@ dependencies = [ "num-traits", ] -[[package]] -name = "p256" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" -dependencies = [ - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.8", -] - -[[package]] -name = "p384" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" -dependencies = [ - "ecdsa 0.14.8", - "elliptic-curve 0.12.3", - "sha2 0.10.8", -] - [[package]] name = "pallet-aura" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -6389,7 +5987,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -6405,7 +6003,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -6419,7 +6017,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6443,7 +6041,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "aquamarine", "docify", @@ -6465,7 +6063,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6480,7 +6078,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -6500,7 +6098,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "binary-merkle-tree", @@ -6525,7 +6123,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6543,7 +6141,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6562,7 +6160,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "3.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6581,7 +6179,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6598,7 +6196,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "assert_matches", "frame-benchmarking", @@ -6615,7 +6213,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6633,7 +6231,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6656,7 +6254,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6670,7 +6268,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6689,7 +6287,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "docify", "frame-benchmarking", @@ -6708,7 +6306,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6731,7 +6329,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "enumflags2", "frame-benchmarking", @@ -6747,7 +6345,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6767,7 +6365,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6784,7 +6382,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6801,7 +6399,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "7.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6820,7 +6418,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6838,7 +6436,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6854,7 +6452,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6870,7 +6468,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -6889,7 +6487,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6909,7 +6507,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -6920,7 +6518,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -6937,7 +6535,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6976,7 +6574,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6993,7 +6591,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7008,7 +6606,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7026,7 +6624,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7041,7 +6639,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "assert_matches", "frame-benchmarking", @@ -7060,7 +6658,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "docify", "frame-benchmarking", @@ -7078,7 +6676,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -7100,7 +6698,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7117,7 +6715,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7135,7 +6733,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7158,18 +6756,18 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "log", "sp-arithmetic", @@ -7178,7 +6776,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "sp-api", @@ -7187,7 +6785,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7204,7 +6802,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7219,7 +6817,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7238,7 +6836,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7257,7 +6855,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -7273,7 +6871,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "jsonrpsee 0.16.3", "pallet-transaction-payment-rpc-runtime-api", @@ -7289,7 +6887,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -7301,7 +6899,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7318,7 +6916,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7334,7 +6932,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7349,7 +6947,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7364,7 +6962,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -7385,7 +6983,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7415,6 +7013,7 @@ dependencies = [ "pallet-balances", "pallet-mmr", "parity-scale-codec", + "polkadot-runtime-parachains", "scale-info", "serde", "sp-api", @@ -7431,7 +7030,7 @@ dependencies = [ [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -7540,6 +7139,7 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain-primitives", "polkadot-runtime-common", + "polkadot-runtime-parachains", "scale-info", "smallvec", "sp-api", @@ -7563,9 +7163,9 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e9ab494af9e6e813c72170f0d3c1de1500990d62c97cc05cc7576f91aa402f" +checksum = "592a28a24b09c9dc20ac8afaa6839abc417c720afe42c12e1e4a9d6aa2508d2e" dependencies = [ "blake2", "crc32fast", @@ -7579,13 +7179,14 @@ dependencies = [ "rand 0.8.5", "siphasher", "snap", + "winapi", ] [[package]] name = "parity-scale-codec" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -7598,11 +7199,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 2.0.2", "proc-macro2", "quote", "syn 1.0.109", @@ -7728,15 +7329,6 @@ dependencies = [ "base64 0.13.1", ] -[[package]] -name = "pem-rfc7468" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac" -dependencies = [ - "base64ct", -] - [[package]] name = "percent-encoding" version = "2.3.1" @@ -7745,9 +7337,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.5" +version = "2.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" +checksum = "56f8023d0fb78c8e03784ea1c7f3fa36e68a723138990b8d5a47d916b651e7a8" dependencies = [ "memchr", "thiserror", @@ -7756,9 +7348,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.5" +version = "2.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" +checksum = "b0d24f72393fd16ab6ac5738bc33cdb6a9aa73f8b902e8fe29cf4e67d7dd1026" dependencies = [ "pest", "pest_generator", @@ -7766,22 +7358,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.5" +version = "2.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" +checksum = "fdc17e2a6c7d0a492f0158d7a4bd66cc17280308bbaff78d5bef566dca35ab80" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "pest_meta" -version = "2.7.5" +version = "2.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" +checksum = "934cd7631c050f4674352a6e835d5f6711ffbfb9345c2fc0107155ac495ae293" dependencies = [ "once_cell", "pest", @@ -7795,27 +7387,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.1.0", + "indexmap 2.2.5", ] [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -7847,42 +7439,32 @@ dependencies = [ "futures-io", ] -[[package]] -name = "pkcs8" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" -dependencies = [ - "der 0.6.1", - "spki 0.6.0", -] - [[package]] name = "pkcs8" version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der 0.7.8", - "spki 0.7.2", + "der", + "spki", ] [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "platforms" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" +checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" [[package]] name = "polkadot-approval-distribution" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "futures-timer", @@ -7900,7 +7482,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "always-assert", "futures", @@ -7916,7 +7498,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "derive_more", "fatality", @@ -7939,7 +7521,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "fatality", "futures", @@ -7960,7 +7542,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "1.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "clap", "frame-benchmarking-cli", @@ -7987,7 +7569,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitvec", "fatality", @@ -8009,7 +7591,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "scale-info", @@ -8021,7 +7603,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "derive_more", "fatality", @@ -8046,7 +7628,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -8060,7 +7642,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "futures-timer", @@ -8081,7 +7663,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "always-assert", "async-trait", @@ -8104,7 +7686,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "parity-scale-codec", @@ -8122,7 +7704,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitvec", "derive_more", @@ -8151,7 +7733,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitvec", "futures", @@ -8173,7 +7755,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitvec", "fatality", @@ -8192,7 +7774,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "polkadot-node-subsystem", @@ -8207,7 +7789,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -8228,7 +7810,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "polkadot-node-metrics", @@ -8243,7 +7825,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "futures-timer", @@ -8260,7 +7842,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "fatality", "futures", @@ -8279,7 +7861,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -8296,7 +7878,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitvec", "fatality", @@ -8313,7 +7895,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitvec", "fatality", @@ -8330,7 +7912,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "always-assert", "futures", @@ -8358,7 +7940,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "polkadot-node-primitives", @@ -8374,7 +7956,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "cpu-time", "futures", @@ -8397,7 +7979,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-prepare-worker" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "libc", @@ -8420,7 +8002,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "polkadot-node-metrics", @@ -8435,7 +8017,7 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "lazy_static", "log", @@ -8453,7 +8035,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bs58 0.5.0", "futures", @@ -8472,7 +8054,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -8496,7 +8078,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bounded-vec", "futures", @@ -8518,7 +8100,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -8528,7 +8110,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "derive_more", @@ -8552,7 +8134,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "derive_more", @@ -8585,7 +8167,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -8608,7 +8190,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bounded-collections", "derive_more", @@ -8625,7 +8207,7 @@ dependencies = [ [[package]] name = "polkadot-performance-test" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "env_logger 0.9.3", "log", @@ -8643,7 +8225,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitvec", "hex-literal", @@ -8669,7 +8251,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "jsonrpsee 0.16.3", "mmr-rpc", @@ -8701,7 +8283,7 @@ dependencies = [ [[package]] name = "polkadot-runtime" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitvec", "frame-benchmarking", @@ -8798,7 +8380,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitvec", "frame-benchmarking", @@ -8844,7 +8426,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "polkadot-primitives", @@ -8858,7 +8440,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bs58 0.5.0", "frame-benchmarking", @@ -8871,7 +8453,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -8917,7 +8499,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "frame-benchmarking", @@ -9037,7 +8619,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -9061,7 +8643,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -9086,14 +8668,14 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.1" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e" +checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite 0.2.13", - "rustix 0.38.25", + "rustix 0.38.31", "tracing", "windows-sys 0.52.0", ] @@ -9105,39 +8687,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash 0.5.1", + "opaque-debug 0.3.1", + "universal-hash", ] [[package]] name = "polyval" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash 0.4.1", -] - -[[package]] -name = "polyval" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", "cpufeatures", - "opaque-debug 0.3.0", - "universal-hash 0.5.1", + "opaque-debug 0.3.1", + "universal-hash", ] [[package]] name = "portable-atomic" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" [[package]] name = "powerfmt" @@ -9181,11 +8751,21 @@ dependencies = [ "termtree", ] +[[package]] +name = "prettier-please" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" +dependencies = [ + "proc-macro2", + "syn 2.0.52", +] + [[package]] name = "prettyplease" -version = "0.1.25" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +checksum = "f28f53e8b192565862cf99343194579a022eb9c7dd3a8d03134734803c7b3125" dependencies = [ "proc-macro2", "syn 1.0.109", @@ -9193,12 +8773,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ "proc-macro2", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -9237,7 +8817,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime", + "toml_edit 0.20.2", ] [[package]] @@ -9272,14 +8862,14 @@ checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] @@ -9318,7 +8908,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -9344,7 +8934,7 @@ dependencies = [ "log", "multimap", "petgraph", - "prettyplease 0.1.25", + "prettyplease 0.1.11", "prost", "prost-types", "regex", @@ -9438,14 +9028,14 @@ dependencies = [ "thiserror", "tinyvec", "tracing", - "webpki 0.22.4", + "webpki", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -9515,7 +9105,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", ] [[package]] @@ -9544,9 +9134,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd" dependencies = [ "either", "rayon-core", @@ -9554,27 +9144,14 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ "crossbeam-deque", "crossbeam-utils", ] -[[package]] -name = "rcgen" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" -dependencies = [ - "pem", - "ring 0.16.20", - "time", - "x509-parser 0.13.2", - "yasna", -] - [[package]] name = "rcgen" version = "0.10.0" @@ -9596,15 +9173,6 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -9620,7 +9188,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom 0.2.11", + "getrandom 0.2.12", "libredox", "thiserror", ] @@ -9640,22 +9208,22 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acde58d073e9c79da00f2b5b84eed919c8326832648a5b109b3fce1bb1175280" +checksum = "c4846d4c50d1721b1a3bef8af76924eef20d5e723647333798c1b519b3a9473f" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925" +checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -9672,13 +9240,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.6", "regex-syntax 0.8.2", ] @@ -9693,9 +9261,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", @@ -9724,17 +9292,6 @@ dependencies = [ "quick-error", ] -[[package]] -name = "rfc6979" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" -dependencies = [ - "crypto-bigint 0.4.9", - "hmac 0.12.1", - "zeroize", -] - [[package]] name = "rfc6979" version = "0.4.0" @@ -9777,16 +9334,17 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.5" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", - "getrandom 0.2.11", + "cfg-if", + "getrandom 0.2.12", "libc", "spin 0.9.8", "untrusted 0.9.0", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -9802,7 +9360,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "binary-merkle-tree", "frame-benchmarking", @@ -9890,7 +9448,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "polkadot-primitives", @@ -9912,17 +9470,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "rtcp" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1919efd6d4a6a85d13388f9487549bb8e359f17198cc03ffd72f79b553873691" -dependencies = [ - "bytes", - "thiserror", - "webrtc-util", -] - [[package]] name = "rtnetlink" version = "0.10.1" @@ -9948,20 +9495,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "rtp" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a095411ff00eed7b12e4c6a118ba984d113e1079582570d56a5ee723f11f80" -dependencies = [ - "async-trait", - "bytes", - "rand 0.8.5", - "serde", - "thiserror", - "webrtc-util", -] - [[package]] name = "rustc-demangle" version = "0.1.23" @@ -9986,7 +9519,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.20", + "semver 1.0.22", ] [[package]] @@ -10028,28 +9561,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.25" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "errno", "libc", - "linux-raw-sys 0.4.11", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" -dependencies = [ - "base64 0.13.1", - "log", - "ring 0.16.20", - "sct 0.6.1", - "webpki 0.21.4", + "linux-raw-sys 0.4.13", + "windows-sys 0.52.0", ] [[package]] @@ -10060,20 +9580,20 @@ checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" dependencies = [ "log", "ring 0.16.20", - "sct 0.7.1", - "webpki 0.22.4", + "sct", + "webpki", ] [[package]] name = "rustls" -version = "0.21.9" +version = "0.21.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ "log", - "ring 0.17.5", + "ring 0.17.8", "rustls-webpki", - "sct 0.7.1", + "sct", ] [[package]] @@ -10094,7 +9614,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", ] [[package]] @@ -10103,7 +9623,7 @@ version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.5", + "ring 0.17.8", "untrusted 0.9.0", ] @@ -10137,9 +9657,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "safe_arch" @@ -10162,7 +9682,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "log", "sp-core", @@ -10173,7 +9693,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -10201,7 +9721,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "futures-timer", @@ -10224,7 +9744,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -10239,7 +9759,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -10258,18 +9778,18 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "chrono", @@ -10308,7 +9828,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "fnv", "futures", @@ -10334,7 +9854,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "hash-db", "kvdb", @@ -10360,7 +9880,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -10385,7 +9905,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -10414,7 +9934,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "fork-tree", @@ -10450,7 +9970,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "jsonrpsee 0.16.3", @@ -10472,7 +9992,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10506,7 +10026,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "jsonrpsee 0.16.3", @@ -10525,7 +10045,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "fork-tree", "parity-scale-codec", @@ -10538,9 +10058,9 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.11", "array-bytes", "async-trait", "dyn-clone", @@ -10579,7 +10099,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "finality-grandpa", "futures", @@ -10599,7 +10119,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -10622,7 +10142,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -10644,7 +10164,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -10656,7 +10176,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "anyhow", "cfg-if", @@ -10673,7 +10193,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "ansi_term", "futures", @@ -10689,7 +10209,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "parking_lot 0.12.1", @@ -10703,7 +10223,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10744,7 +10264,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-channel 1.9.0", "cid", @@ -10764,7 +10284,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -10781,9 +10301,9 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.11", "futures", "futures-timer", "libp2p", @@ -10799,7 +10319,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10820,7 +10340,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10854,7 +10374,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "futures", @@ -10872,7 +10392,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "bytes", @@ -10906,7 +10426,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -10915,7 +10435,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "jsonrpsee 0.16.3", @@ -10946,7 +10466,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "jsonrpsee 0.16.3", "parity-scale-codec", @@ -10965,7 +10485,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "http", "jsonrpsee 0.16.3", @@ -10980,7 +10500,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "futures", @@ -11008,7 +10528,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "directories 4.0.1", @@ -11072,7 +10592,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "log", "parity-scale-codec", @@ -11083,7 +10603,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "clap", "fs4", @@ -11097,7 +10617,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "jsonrpsee 0.16.3", "parity-scale-codec", @@ -11116,7 +10636,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "libc", @@ -11135,7 +10655,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "chrono", "futures", @@ -11154,7 +10674,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "ansi_term", "atty", @@ -11183,18 +10703,18 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -11220,7 +10740,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -11236,7 +10756,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-channel 1.9.0", "futures", @@ -11281,7 +10801,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27873eb6005868f8cc72dcfe109fae664cf51223d35387bc2f28be4c28d94c47" dependencies = [ "darling 0.14.4", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -11309,7 +10829,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "995491f110efdc6bea96d6a746140e32bfceb4ea47510750a5467295a4707a25" dependencies = [ "darling 0.14.4", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -11335,7 +10855,7 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abf2c68b89cafb3b8d918dd07b42be0da66ff202cf1155c5739a4e0c1ea0dc19" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -11363,11 +10883,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -11376,7 +10896,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.11", "cfg-if", "hashbrown 0.13.2", ] @@ -11416,6 +10936,23 @@ dependencies = [ "zeroize", ] +[[package]] +name = "schnorrkel" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" +dependencies = [ + "arrayref", + "arrayvec 0.7.4", + "curve25519-dalek 4.1.2", + "getrandom_or_panic", + "merlin 3.0.0", + "rand_core 0.6.4", + "sha2 0.10.8", + "subtle", + "zeroize", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -11428,62 +10965,26 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" -[[package]] -name = "sct" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" -dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", -] - [[package]] name = "sct" version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.5", + "ring 0.17.8", "untrusted 0.9.0", ] -[[package]] -name = "sdp" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d22a5ef407871893fd72b4562ee15e4742269b173959db4b8df6f538c414e13" -dependencies = [ - "rand 0.8.5", - "substring", - "thiserror", - "url", -] - -[[package]] -name = "sec1" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" -dependencies = [ - "base16ct 0.1.1", - "der 0.6.1", - "generic-array 0.14.7", - "pkcs8 0.9.0", - "subtle", - "zeroize", -] - [[package]] name = "sec1" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "base16ct 0.2.0", - "der 0.7.8", + "base16ct", + "der", "generic-array 0.14.7", - "pkcs8 0.10.2", + "pkcs8", "subtle", "zeroize", ] @@ -11567,9 +11068,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" dependencies = [ "serde", ] @@ -11582,38 +11083,38 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.193" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.12" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" dependencies = [ "itoa", "ryu", @@ -11622,9 +11123,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] @@ -11639,18 +11140,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", + "opaque-debug 0.3.1", ] [[package]] @@ -11675,7 +11165,7 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.9.0", - "opaque-debug 0.3.0", + "opaque-debug 0.3.1", ] [[package]] @@ -11710,9 +11200,9 @@ dependencies = [ [[package]] name = "shlex" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" @@ -11723,16 +11213,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" -dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", -] - [[package]] name = "signature" version = "2.2.0" @@ -11780,7 +11260,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "enumn", "parity-scale-codec", @@ -11791,18 +11271,18 @@ dependencies = [ [[package]] name = "slotmap" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" dependencies = [ "version_check", ] [[package]] name = "smallvec" -version = "1.11.2" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "smol" @@ -11830,7 +11310,7 @@ dependencies = [ "arrayvec 0.7.4", "async-lock 2.8.0", "atomic", - "base64 0.21.5", + "base64 0.21.7", "bip39", "blake2-rfc", "bs58 0.5.0", @@ -11882,7 +11362,7 @@ dependencies = [ "arrayvec 0.7.4", "async-lock 2.8.0", "atomic-take", - "base64 0.21.5", + "base64 0.21.7", "bip39", "blake2-rfc", "bs58 0.5.0", @@ -11922,8 +11402,8 @@ dependencies = [ "smallvec", "soketto", "twox-hash", - "wasmi 0.31.0", - "x25519-dalek 2.0.0", + "wasmi 0.31.2", + "x25519-dalek 2.0.1", "zeroize", ] @@ -11964,7 +11444,7 @@ checksum = "256b5bad1d6b49045e95fe87492ce73d5af81545d8b4d8318a872d2007024c33" dependencies = [ "async-channel 1.9.0", "async-lock 2.8.0", - "base64 0.21.5", + "base64 0.21.7", "blake2-rfc", "derive_more", "either", @@ -11994,22 +11474,22 @@ dependencies = [ [[package]] name = "snap" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" +checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "snow" -version = "0.9.4" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58021967fd0a5eeeb23b08df6cc244a4d4a5b4aec1d27c9e02fad1a58b4cd74e" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" dependencies = [ - "aes-gcm 0.10.3", + "aes-gcm", "blake2", "chacha20poly1305", - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "rand_core 0.6.4", - "ring 0.17.5", + "ring 0.17.8", "rustc_version", "sha2 0.10.8", "subtle", @@ -12027,12 +11507,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -12055,7 +11535,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "hash-db", "log", @@ -12076,21 +11556,21 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "Inflector", "blake2", - "expander 2.0.0", - "proc-macro-crate", + "expander 2.1.0", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "sp-application-crypto" version = "23.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "scale-info", @@ -12103,7 +11583,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "16.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "integer-sqrt", "num-traits", @@ -12117,7 +11597,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "scale-info", @@ -12130,7 +11610,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "sp-api", "sp-inherents", @@ -12141,7 +11621,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "futures", "log", @@ -12159,7 +11639,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "futures", @@ -12174,7 +11654,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "parity-scale-codec", @@ -12191,7 +11671,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "parity-scale-codec", @@ -12210,7 +11690,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "lazy_static", "parity-scale-codec", @@ -12229,7 +11709,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "finality-grandpa", "log", @@ -12247,7 +11727,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "scale-info", @@ -12259,7 +11739,7 @@ dependencies = [ [[package]] name = "sp-core" version = "21.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "array-bytes", "arrayvec 0.7.4", @@ -12321,7 +11801,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "9.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "blake2b_simd", "byteorder", @@ -12334,17 +11814,17 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "9.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "quote", "sp-core-hashing 9.0.0 (git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk)", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -12353,17 +11833,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "8.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "sp-externalities" version = "0.19.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "environmental", "parity-scale-codec", @@ -12374,7 +11854,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "serde_json", "sp-api", @@ -12385,7 +11865,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -12399,7 +11879,7 @@ dependencies = [ [[package]] name = "sp-io" version = "23.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bytes", "ed25519-dalek", @@ -12423,7 +11903,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "24.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "lazy_static", "sp-core", @@ -12434,7 +11914,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.27.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "parking_lot 0.12.1", @@ -12446,7 +11926,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "thiserror", "zstd 0.12.4", @@ -12455,7 +11935,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.1.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", @@ -12466,7 +11946,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -12484,7 +11964,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "scale-info", @@ -12498,7 +11978,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "sp-api", "sp-core", @@ -12508,7 +11988,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "8.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "backtrace", "lazy_static", @@ -12518,7 +11998,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "rustc-hash", "serde", @@ -12528,7 +12008,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "24.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "either", "hash256-std-hasher", @@ -12550,7 +12030,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "17.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -12568,19 +12048,19 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "11.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "Inflector", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "scale-info", @@ -12595,7 +12075,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -12609,7 +12089,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.28.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "hash-db", "log", @@ -12630,10 +12110,10 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "aes-gcm 0.10.3", - "curve25519-dalek 4.1.1", + "aes-gcm", + "curve25519-dalek 4.1.2", "ed25519-dalek", "hkdf", "parity-scale-codec", @@ -12648,7 +12128,7 @@ dependencies = [ "sp-runtime-interface", "sp-std 8.0.0 (git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk)", "thiserror", - "x25519-dalek 2.0.0", + "x25519-dalek 2.0.1", ] [[package]] @@ -12660,12 +12140,12 @@ checksum = "53458e3c57df53698b3401ec0934bea8e8cfce034816873c0b0abbd83d7bac0d" [[package]] name = "sp-std" version = "8.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" [[package]] name = "sp-storage" version = "13.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "impl-serde", "parity-scale-codec", @@ -12678,7 +12158,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "parity-scale-codec", @@ -12691,7 +12171,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "10.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "sp-std 8.0.0 (git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk)", @@ -12703,7 +12183,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "sp-api", "sp-runtime", @@ -12712,7 +12192,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "parity-scale-codec", @@ -12727,9 +12207,9 @@ dependencies = [ [[package]] name = "sp-trie" version = "22.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "ahash 0.8.6", + "ahash 0.8.11", "hash-db", "hashbrown 0.13.2", "lazy_static", @@ -12750,7 +12230,7 @@ dependencies = [ [[package]] name = "sp-version" version = "22.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "impl-serde", "parity-scale-codec", @@ -12767,18 +12247,18 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "8.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "sp-wasm-interface" version = "14.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -12791,7 +12271,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "20.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "parity-scale-codec", "scale-info", @@ -12828,29 +12308,19 @@ dependencies = [ [[package]] name = "spki" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" -dependencies = [ - "base64ct", - "der 0.6.1", -] - -[[package]] -name = "spki" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", - "der 0.7.8", + "der", ] [[package]] name = "ss58-registry" -version = "1.44.0" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35935738370302d5e33963665b77541e4b990a3e919ec904c837a56cfc891de1" +checksum = "b1114ee5900b8569bbc8b1a014a942f937b752af4b44f4607430b5f86cedaac0" dependencies = [ "Inflector", "num-format", @@ -12870,7 +12340,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-kusama-runtime" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "binary-merkle-tree", "bitvec", @@ -12976,7 +12446,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "bounded-collections", "derivative", @@ -12993,7 +12463,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "frame-system", @@ -13015,7 +12485,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "environmental", "frame-benchmarking", @@ -13072,6 +12542,12 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" + [[package]] name = "strum" version = "0.24.1" @@ -13110,37 +12586,18 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.39", -] - -[[package]] -name = "stun" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7e94b1ec00bad60e6410e058b52f1c66de3dc5fe4d62d09b3e52bb7d3b73e25" -dependencies = [ - "base64 0.13.1", - "crc", - "lazy_static", - "md-5", - "rand 0.8.5", - "ring 0.16.20", - "subtle", - "thiserror", - "tokio", - "url", - "webrtc-util", + "syn 2.0.52", ] [[package]] name = "substrate-bip39" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e620c7098893ba667438b47169c00aacdd9e7c10e042250ce2b60b087ec97328" +checksum = "6a7590dc041b9bc2825e52ce5af8416c73dbe9d0654402bfd4b4941938b94d8f" dependencies = [ "hmac 0.11.0", "pbkdf2 0.8.0", - "schnorrkel 0.9.1", + "schnorrkel 0.11.4", "sha2 0.9.9", "zeroize", ] @@ -13148,12 +12605,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -13172,7 +12629,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "hyper", "log", @@ -13184,7 +12641,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "jsonrpsee 0.16.3", @@ -13197,7 +12654,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "jsonrpsee 0.16.3", "parity-scale-codec", @@ -13214,7 +12671,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "ansi_term", "build-helper", @@ -13229,15 +12686,6 @@ dependencies = [ "wasm-opt", ] -[[package]] -name = "substring" -version = "1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86" -dependencies = [ - "autocfg", -] - [[package]] name = "subtle" version = "2.4.1" @@ -13296,7 +12744,7 @@ dependencies = [ "quote", "scale-info", "subxt-metadata", - "syn 2.0.39", + "syn 2.0.52", "thiserror", "tokio", ] @@ -13322,10 +12770,10 @@ name = "subxt-macro" version = "0.32.1" source = "git+https://github.com/paritytech/subxt?rev=d44941fb1bdb1b46ef8537dd7511654facc3f763#d44941fb1bdb1b46ef8537dd7511654facc3f763" dependencies = [ - "darling 0.20.3", + "darling 0.20.8", "proc-macro-error", "subxt-codegen", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -13384,9 +12832,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.39" +version = "2.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" dependencies = [ "proc-macro2", "quote", @@ -13434,28 +12882,27 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.12" +version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" [[package]] name = "tempfile" -version = "3.8.1" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand 2.0.1", - "redox_syscall 0.4.1", - "rustix 0.38.25", - "windows-sys 0.48.0", + "rustix 0.38.31", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] @@ -13468,9 +12915,9 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] @@ -13492,18 +12939,18 @@ checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -13514,9 +12961,9 @@ checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -13567,12 +13014,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.30" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ "deranged", "itoa", + "num-conv", "powerfmt", "serde", "time-core", @@ -13587,10 +13035,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" dependencies = [ + "num-conv", "time-core", ] @@ -13622,16 +13071,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -13649,9 +13088,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.34.0" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", @@ -13661,7 +13100,7 @@ dependencies = [ "parking_lot 0.12.1", "pin-project-lite 0.2.13", "signal-hook-registry", - "socket2 0.5.5", + "socket2 0.5.6", "tokio-macros", "windows-sys 0.48.0", ] @@ -13674,7 +13113,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -13694,7 +13133,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.9", + "rustls 0.21.10", "tokio", ] @@ -13743,14 +13182,26 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.20.2", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" dependencies = [ "serde", ] @@ -13761,7 +13212,20 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.5", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.2.5", "serde", "serde_spanned", "toml_datetime", @@ -13789,7 +13253,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "bytes", "futures-core", "futures-util", @@ -13833,7 +13297,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -13859,7 +13323,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "coarsetime", "polkadot-node-jaeger", @@ -13871,13 +13335,13 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ - "expander 2.0.0", - "proc-macro-crate", + "expander 2.1.0", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -13994,14 +13458,14 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "async-trait", "clap", @@ -14040,25 +13504,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4f195fd851901624eee5a58c4bb2b4f06399148fcd0ed336e6f1cb60a9881df" -[[package]] -name = "turn" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4712ee30d123ec7ae26d1e1b218395a16c87cdbaf4b3925d170d684af62ea5e8" -dependencies = [ - "async-trait", - "base64 0.13.1", - "futures", - "log", - "md-5", - "rand 0.8.5", - "ring 0.16.20", - "stun", - "thiserror", - "tokio", - "webrtc-util", -] - [[package]] name = "twox-hash" version = "1.6.3" @@ -14097,9 +13542,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -14128,16 +13573,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" -[[package]] -name = "universal-hash" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array 0.14.7", - "subtle", -] - [[package]] name = "universal-hash" version = "0.5.1" @@ -14189,15 +13624,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" -[[package]] -name = "uuid" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" -dependencies = [ - "getrandom 0.2.11", -] - [[package]] name = "valuable" version = "0.1.0" @@ -14222,15 +13648,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -[[package]] -name = "waitgroup" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292" -dependencies = [ - "atomic-waker", -] - [[package]] name = "waker-fn" version = "1.1.1" @@ -14239,9 +13656,9 @@ checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -14268,11 +13685,20 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasix" +version = "0.12.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fbb4ef9bbca0c1170e0b00dd28abc9e3b68669821600cad1caaed606583c6d" +dependencies = [ + "wasi 0.11.0+wasi-snapshot-preview1", +] + [[package]] name = "wasm-bindgen" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -14280,24 +13706,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.39" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -14307,9 +13733,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -14317,22 +13743,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.89" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-instrument" @@ -14414,9 +13840,9 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.31.0" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f341edb80021141d4ae6468cbeefc50798716a347d4085c3811900049ea8945" +checksum = "77a8281d1d660cdf54c76a3efa9ddd0c270cada1383a995db3ccb43d166456c7" dependencies = [ "smallvec", "spin 0.9.8", @@ -14427,9 +13853,9 @@ dependencies = [ [[package]] name = "wasmi_arena" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "401c1f35e413fac1846d4843745589d9ec678977ab35a384db8ae7830525d468" +checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" [[package]] name = "wasmi_core" @@ -14518,7 +13944,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" dependencies = [ "anyhow", - "base64 0.21.5", + "base64 0.21.7", "bincode", "directories-next", "file-per-thread-logger", @@ -14647,7 +14073,7 @@ dependencies = [ "log", "mach", "memfd", - "memoffset 0.8.0", + "memoffset", "paste", "rand 0.8.5", "rustix 0.36.17", @@ -14671,31 +14097,21 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.65" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.21.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" -dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", -] - [[package]] name = "webpki" version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" dependencies = [ - "ring 0.17.5", + "ring 0.17.8", "untrusted 0.9.0", ] @@ -14705,227 +14121,19 @@ version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ - "webpki 0.22.4", + "webpki", ] [[package]] name = "webpki-roots" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" - -[[package]] -name = "webrtc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3bc9049bdb2cea52f5fd4f6f728184225bdb867ed0dc2410eab6df5bdd67bb" -dependencies = [ - "arc-swap", - "async-trait", - "bytes", - "hex", - "interceptor", - "lazy_static", - "log", - "rand 0.8.5", - "rcgen 0.9.3", - "regex", - "ring 0.16.20", - "rtcp", - "rtp", - "rustls 0.19.1", - "sdp", - "serde", - "serde_json", - "sha2 0.10.8", - "stun", - "thiserror", - "time", - "tokio", - "turn", - "url", - "waitgroup", - "webrtc-data", - "webrtc-dtls", - "webrtc-ice", - "webrtc-mdns", - "webrtc-media", - "webrtc-sctp", - "webrtc-srtp", - "webrtc-util", -] - -[[package]] -name = "webrtc-data" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef36a4d12baa6e842582fe9ec16a57184ba35e1a09308307b67d43ec8883100" -dependencies = [ - "bytes", - "derive_builder", - "log", - "thiserror", - "tokio", - "webrtc-sctp", - "webrtc-util", -] - -[[package]] -name = "webrtc-dtls" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a00f4242f2db33307347bd5be53263c52a0331c96c14292118c9a6bb48d267" -dependencies = [ - "aes 0.6.0", - "aes-gcm 0.10.3", - "async-trait", - "bincode", - "block-modes", - "byteorder", - "ccm", - "curve25519-dalek 3.2.0", - "der-parser 8.2.0", - "elliptic-curve 0.12.3", - "hkdf", - "hmac 0.12.1", - "log", - "p256", - "p384", - "rand 0.8.5", - "rand_core 0.6.4", - "rcgen 0.10.0", - "ring 0.16.20", - "rustls 0.19.1", - "sec1 0.3.0", - "serde", - "sha1", - "sha2 0.10.8", - "signature 1.6.4", - "subtle", - "thiserror", - "tokio", - "webpki 0.21.4", - "webrtc-util", - "x25519-dalek 2.0.0", - "x509-parser 0.13.2", -] - -[[package]] -name = "webrtc-ice" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "465a03cc11e9a7d7b4f9f99870558fe37a102b65b93f8045392fef7c67b39e80" -dependencies = [ - "arc-swap", - "async-trait", - "crc", - "log", - "rand 0.8.5", - "serde", - "serde_json", - "stun", - "thiserror", - "tokio", - "turn", - "url", - "uuid", - "waitgroup", - "webrtc-mdns", - "webrtc-util", -] - -[[package]] -name = "webrtc-mdns" -version = "0.5.2" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" -dependencies = [ - "log", - "socket2 0.4.10", - "thiserror", - "tokio", - "webrtc-util", -] - -[[package]] -name = "webrtc-media" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f72e1650a8ae006017d1a5280efb49e2610c19ccc3c0905b03b648aee9554991" -dependencies = [ - "byteorder", - "bytes", - "rand 0.8.5", - "rtp", - "thiserror", -] - -[[package]] -name = "webrtc-sctp" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d47adcd9427eb3ede33d5a7f3424038f63c965491beafcc20bc650a2f6679c0" -dependencies = [ - "arc-swap", - "async-trait", - "bytes", - "crc", - "log", - "rand 0.8.5", - "thiserror", - "tokio", - "webrtc-util", -] - -[[package]] -name = "webrtc-srtp" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6183edc4c1c6c0175f8812eefdce84dfa0aea9c3ece71c2bf6ddd3c964de3da5" -dependencies = [ - "aead 0.4.3", - "aes 0.7.5", - "aes-gcm 0.9.4", - "async-trait", - "byteorder", - "bytes", - "ctr 0.8.0", - "hmac 0.11.0", - "log", - "rtcp", - "rtp", - "sha-1", - "subtle", - "thiserror", - "tokio", - "webrtc-util", -] - -[[package]] -name = "webrtc-util" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" -dependencies = [ - "async-trait", - "bitflags 1.3.2", - "bytes", - "cc", - "ipnet", - "lazy_static", - "libc", - "log", - "nix", - "rand 0.8.5", - "thiserror", - "tokio", - "winapi", -] +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "binary-merkle-tree", "bitvec", @@ -15024,7 +14232,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "frame-support", "polkadot-primitives", @@ -15044,14 +14252,14 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.25", + "rustix 0.38.31", ] [[package]] name = "wide" -version = "0.7.13" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c68938b57b33da363195412cfc5fc37c9ed49aa9cfe2156fde64b8d2c9498242" +checksum = "89beec544f246e679fc25490e3f8e08003bc4bf612068f325120dad4cea02c1c" dependencies = [ "bytemuck", "safe_arch", @@ -15100,7 +14308,7 @@ version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" dependencies = [ - "windows-core", + "windows-core 0.51.1", "windows-targets 0.48.5", ] @@ -15113,6 +14321,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.4", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -15137,7 +14354,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.4", ] [[package]] @@ -15172,17 +14389,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] @@ -15199,9 +14416,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" [[package]] name = "windows_aarch64_msvc" @@ -15217,9 +14434,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" [[package]] name = "windows_i686_gnu" @@ -15235,9 +14452,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" [[package]] name = "windows_i686_msvc" @@ -15253,9 +14470,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" [[package]] name = "windows_x86_64_gnu" @@ -15271,9 +14488,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" [[package]] name = "windows_x86_64_gnullvm" @@ -15289,9 +14506,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" [[package]] name = "windows_x86_64_msvc" @@ -15307,15 +14524,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" [[package]] name = "winnow" -version = "0.5.19" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" dependencies = [ "memchr", ] @@ -15352,48 +14569,29 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.1", + "curve25519-dalek 4.1.2", "rand_core 0.6.4", "serde", "zeroize", ] -[[package]] -name = "x509-parser" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb9bace5b5589ffead1afb76e43e34cff39cd0f3ce7e170ae0c29e53b88eb1c" -dependencies = [ - "asn1-rs 0.3.1", - "base64 0.13.1", - "data-encoding", - "der-parser 7.0.0", - "lazy_static", - "nom", - "oid-registry 0.4.0", - "ring 0.16.20", - "rusticata-macros", - "thiserror", - "time", -] - [[package]] name = "x509-parser" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" dependencies = [ - "asn1-rs 0.5.2", + "asn1-rs", "base64 0.13.1", "data-encoding", - "der-parser 8.2.0", + "der-parser", "lazy_static", "nom", - "oid-registry 0.6.1", + "oid-registry", "rusticata-macros", "thiserror", "time", @@ -15402,12 +14600,12 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "1.0.0" -source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#5a2f50838437d2678a82de30cc76f00756a559b9" +source = "git+https://github.com/coax1d/polkadot-sdk?branch=xcmp_customized_sdk#4beee1923bffef8b7d210e2a4befc763bfbad51f" dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -15416,7 +14614,7 @@ version = "0.1.0" dependencies = [ "anyhow", "directories 5.0.1", - "env_logger 0.10.1", + "env_logger 0.10.2", "futures", "hex", "hex-literal", @@ -15468,22 +14666,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.26" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.26" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] @@ -15503,7 +14701,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.39", + "syn 2.0.52", ] [[package]] diff --git a/pallets/xcmp_message_stuffer/Cargo.toml b/pallets/xcmp_message_stuffer/Cargo.toml index 21bfc1c..21ffee3 100644 --- a/pallets/xcmp_message_stuffer/Cargo.toml +++ b/pallets/xcmp_message_stuffer/Cargo.toml @@ -27,6 +27,9 @@ sp-runtime = { workspace = true, default-features = false } sp-mmr-primitives = { workspace = true } sp-api = { workspace = true } +# Polkadot +polkadot-runtime-parachains = { workspace = true } + # Cumulus cumulus-primitives-core = { workspace = true, default-features = false } @@ -52,6 +55,7 @@ default = ["std"] runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks"] std = [ "parity-scale-codec/std", + "polkadot-runtime-parachains/std", "cumulus-pallet-parachain-system/std", "cumulus-primitives-core/std", "frame-benchmarking/std", diff --git a/pallets/xcmp_message_stuffer/src/lib.rs b/pallets/xcmp_message_stuffer/src/lib.rs index afc94da..8281721 100644 --- a/pallets/xcmp_message_stuffer/src/lib.rs +++ b/pallets/xcmp_message_stuffer/src/lib.rs @@ -9,8 +9,9 @@ use frame_system::pallet_prelude::*; use cumulus_primitives_core::{ParaId, GetBeefyRoot}; use sp_runtime::traits::{Hash as HashT, Keccak256}; use sp_core::H256; +use polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}; -use sp_mmr_primitives::{Proof, EncodableOpaqueLeaf, DataOrHash}; +use sp_mmr_primitives::{Proof, EncodableOpaqueLeaf, DataOrHash, LeafIndex}; use scale_info::prelude::vec::Vec; #[cfg(test)] @@ -34,15 +35,18 @@ type XcmpMessages = <>::XcmpDataProvider as XcmpMess type MmrProof = Proof; type LeafOf = as LeafDataProvider>::LeafData; type ChannelId = u64; +// type BinaryMerkleProof = ParaMerkleProof; type BinaryMerkleProof = (); +#[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] +pub struct MyTestType; #[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] pub struct XcmpProof { // TODO: Probably should rename each of these stages to some fancy name // TODO: Remove tuples pub stage_1: (MmrProof, Vec), - pub stage_2: BinaryMerkleProof, + pub stage_2: ParaMerkleProof, pub stage_3: BinaryMerkleProof, pub stage_4: (MmrProof, Vec), } @@ -273,6 +277,12 @@ pub mod pallet { Ok(()) } + + #[pallet::call_index(3)] + #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] + pub fn tester(origin: OriginFor, test: MyTestType) -> DispatchResult { + Ok(()) + } } } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index c7f54b6..fd0a60d 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -59,6 +59,7 @@ sp-mmr-primitives = { workspace = true } # Polkadot pallet-xcm = { workspace = true } polkadot-parachain = { workspace = true } +polkadot-runtime-parachains = { workspace = true } polkadot-runtime-common = { workspace = true } xcm = { workspace = true } xcm-builder = { workspace = true } diff --git a/xcmp_relayer/src/main.rs b/xcmp_relayer/src/main.rs index 92be5e4..37bc52f 100644 --- a/xcmp_relayer/src/main.rs +++ b/xcmp_relayer/src/main.rs @@ -5,6 +5,7 @@ use jsonrpsee::{ rpc_params, }; use parity_scale_codec::{Decode, Encode}; +// use polkadot_runtime_parachains::ParaMerkleProof as RelayParaMerkleProof; use runtime::{Block, BlockNumber, Hash, Header, MmrParaA, UncheckedExtrinsic}; use std::{path::PathBuf, collections::BTreeMap}; use std::sync::Mutex; @@ -24,7 +25,7 @@ use futures::StreamExt; use subxt::{OnlineClient, PolkadotConfig, backend::rpc::{RpcClient, RpcClientT}}; use mmr_rpc::LeavesProof; -use sp_mmr_primitives::{Proof, EncodableOpaqueLeaf}; +use sp_mmr_primitives::{Proof, EncodableOpaqueLeaf, LeafIndex}; use subxt_signer::{sr25519::dev, ecdsa::dev::alice}; @@ -35,14 +36,16 @@ pub mod polkadot { } pub mod relay { } use relay::runtime_types::polkadot_runtime_parachains::paras::{ - ParaMerkleProof, ParaLeaf, + ParaMerkleProof as RelayParaMerkleProof, ParaLeaf as RelayParaLeaf, }; use relay::runtime_types::polkadot_parachain_primitives::primitives::Id as ParaId; use polkadot::runtime_types::{ - pallet_xcmp_message_stuffer::XcmpProof, + pallet_xcmp_message_stuffer::{XcmpProof}, sp_mmr_primitives::Proof as XcmpProofType, + polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}, + polkadot_parachain_primitives::primitives::Id as ParachainParaId }; /// The default endpoints for each @@ -92,12 +95,66 @@ impl ClientType { } } +impl From for ParaMerkleProof { + fn from(x: RelayParaMerkleProof) -> Self { + Self { + root: x.root, + proof: x.proof, + num_leaves: x.num_leaves, + leaf_index: x.leaf_index, + leaf: x.leaf.into(), + } + } +} + +impl From for ParaLeaf { + fn from(x: RelayParaLeaf) -> Self { + Self { + para_id: x.para_id.into(), + head_data: x.head_data, + } + } +} + +impl From for ParachainParaId { + fn from(x: ParaId) -> Self { + Self(x.0) + } +} + +impl Clone for RelayParaMerkleProof { + fn clone(&self) -> Self { + Self { + root: self.root.clone(), + proof: self.proof.clone(), + num_leaves: self.num_leaves.clone(), + leaf_index: self.leaf_index.clone(), + leaf: self.leaf.clone(), + } + } +} + +impl Clone for ParaId { + fn clone(&self) -> Self { + Self(self.0) + } +} + +impl Clone for RelayParaLeaf { + fn clone(&self) -> Self { + Self { + para_id: self.para_id.clone().into(), + head_data: self.head_data.clone() + } + } +} + type BeefyMmrRoot = H256; type RelayBlockIndex = u32; lazy_static! { static ref BEEFY_MMR_MAP: Mutex)>> = Mutex::new(BTreeMap::new()); - static ref PARA_HEADERS_MAP: Mutex> = Mutex::new(BTreeMap::new()); + static ref PARA_HEADERS_MAP: Mutex> = Mutex::new(BTreeMap::new()); } #[tokio::main] @@ -160,12 +217,46 @@ async fn collect_all_para_header_proofs(client: &MultiClient) -> anyhow::Result< } }; - if let Some(proof) = para_merkle_proof { - log::info!("Got Proof can store now into storage {:?}", proof); - } - else { - log::error!("No Para Merkle Proof obtained!!!!"); - } + // if let Some(proof) = para_merkle_proof { + // log::info!("Got Proof can store now into storage {:?}", proof); + // } + // else { + // log::error!("No Para Merkle Proof obtained!!!!"); + // } + + // let id = ParaId(1000u32); + + // let para_merkle_call = relay::apis().paras_api().get_para_heads_proof(id); + // let para_merkle_proof = match client.subxt_client + // .runtime_api() + // .at_latest() + // .await? + // .call(para_merkle_call) + // .await { + // Ok(opt_proof) => { + // opt_proof + // }, + // Err(e) => { + // log::error!("Error calling Para Merkle Proof Api with error {:?}", e); + // None + // } + // }; + + // let para_merkle_proof = para_merkle_proof.ok_or_else(|| { + // log::error!("No Para Merkle Proof obtained!!!!"); + // RelayerError::Default + // })?; + + // match PARA_HEADERS_MAP.try_lock() { + // Ok(mut s) => { + // log::info!( + // "Inserting into storage para_merkle_proof for relay block number {}", + // block.number() + // ); + // s.insert(H256::zero(), para_merkle_proof); + // }, + // Err(_) => log::error!("Could not lock PARA_HEADERS_MAP for writing") + // } } Ok::<(), anyhow::Error>(()) @@ -228,7 +319,7 @@ async fn collect_relay_beefy_roots(client: &MultiClient) -> anyhow::Result<()> { match BEEFY_MMR_MAP.try_lock() { Ok(mut s) => { - s.insert(root, (block.number(), proof)); + s.insert(root.clone(), (block.number(), proof)); log::info!( "Inserting into storage Beefy root {:?}, for relay block number {}", root, @@ -238,7 +329,42 @@ async fn collect_relay_beefy_roots(client: &MultiClient) -> anyhow::Result<()> { Err(_) => log::error!("Could not lock BEEFY_MMR_MAP for writing") } + let id = ParaId(1000u32); + + let para_merkle_call = relay::apis().paras_api().get_para_heads_proof(id); + let para_merkle_proof = match client.subxt_client + .runtime_api() + .at_latest() + .await? + .call(para_merkle_call) + .await { + Ok(opt_proof) => { + opt_proof + }, + Err(e) => { + log::error!("Error calling Para Merkle Proof Api with error {:?}", e); + None + } + }; + + let para_merkle_proof = para_merkle_proof.ok_or_else(|| { + log::error!("No Para Merkle Proof obtained!!!!"); + RelayerError::Default + })?; + + match PARA_HEADERS_MAP.try_lock() { + Ok(mut s) => { + log::info!( + "Inserting into storage para_merkle_proof for relay block number {}", + block.number() + ); + s.insert(root, para_merkle_proof); + }, + Err(_) => log::error!("Could not lock PARA_HEADERS_MAP for writing") + } + log::info!("Beefy Mmr Root from Relaychain Obtained:: {:?}", root); + log::info!("Para Merkle Proof from Relaychain Obtained"); } Ok::<(), anyhow::Error>(()) }); @@ -282,11 +408,57 @@ async fn generate_stage_1_proof(client: &MultiClient, relay_client: &MultiClient } )?; + let merkle_proof = match PARA_HEADERS_MAP.try_lock() { + Ok(s) => { + s.get(&beefy_root).cloned() + }, + Err(_) => { + log::info!("Could not lock PARA_HEADERS_MAP for reading"); + None + } + }.ok_or_else(|| { + log::info!("Could not read proof from PARA_HEADERS_MAP"); + RelayerError::Default + } + )?; + + let leaves = Decode::decode(&mut &proof.leaves.0[..]) + .map_err(|e| anyhow::Error::new(e))?; + let decoded_proof: XcmpProofType = Decode::decode(&mut &proof.proof.0[..]) + .map_err(|e| anyhow::Error::new(e))?; + + let dummy_proof: XcmpProofType = XcmpProofType:: { + leaf_indices: Vec::new(), + leaf_count: 0u64, + items: Vec::new(), + }; + + // let dummy_merkle = ParaMerkleProof { + // // pub root: sp_core::H256, + // // pub proof: Vec, + // // pub num_leaves: u64, + // // pub leaf_index: u64, + // // pub leaf: ParaLeaf + // root: H256::zero(), + // proof: Vec::new(), + // num_leaves: 0, + // leaf_index: 0, + // leaf: ParaLeaf { para_id: ParachainParaId(0u32), head_data: Vec::new() }, + // }; + + let xcmp_proof = XcmpProof { + stage_1: (decoded_proof, leaves), + stage_2: merkle_proof.into(), + stage_3: (), + // TODO: Remove. For now just testing stage 1 can pass + stage_4: (dummy_proof, Vec::new()), + }; + log::info!("Got Relayblock Num {} for Beefy Root {:?}", relay_block_num, beefy_root); // 3.) Send transaction to chain for proof log::info!("calling submit_big_proof"); - submit_big_proof(&client, proof, beefy_root).await?; + submit_big_proof(&client, xcmp_proof, beefy_root).await?; Ok(()) } @@ -313,25 +485,38 @@ async fn update_root(client: &MultiClient, root: H256) -> anyhow::Result<()> { Ok(()) } -async fn submit_big_proof(client: &MultiClient, proof: LeavesProof, beefy_root: H256) -> anyhow::Result<()> { +async fn submit_big_proof(client: &MultiClient, xcmp_proof: XcmpProof, beefy_root: H256) -> anyhow::Result<()> { let signer = dev::charlie(); - let leaves = Decode::decode(&mut &proof.leaves.0[..]) - .map_err(|e| anyhow::Error::new(e))?; - let decoded_proof: XcmpProofType = Decode::decode(&mut &proof.proof.0[..]) - .map_err(|e| anyhow::Error::new(e))?; - - let dummy_proof: XcmpProofType = XcmpProofType:: { - leaf_indices: Vec::new(), - leaf_count: 0u64, - items: Vec::new(), - }; - let xcmp_proof = XcmpProof { - stage_1: (decoded_proof, leaves), - stage_2: (), - stage_3: (), - // TODO: Remove. For now just testing stage 1 can pass - stage_4: (dummy_proof, Vec::new()), - }; + // let leaves = Decode::decode(&mut &proof.leaves.0[..]) + // .map_err(|e| anyhow::Error::new(e))?; + // let decoded_proof: XcmpProofType = Decode::decode(&mut &proof.proof.0[..]) + // .map_err(|e| anyhow::Error::new(e))?; + + // let dummy_proof: XcmpProofType = XcmpProofType:: { + // leaf_indices: Vec::new(), + // leaf_count: 0u64, + // items: Vec::new(), + // }; + + // let dummy_merkle = ParaMerkleProof { + // // pub root: sp_core::H256, + // // pub proof: Vec, + // // pub num_leaves: u64, + // // pub leaf_index: u64, + // // pub leaf: ParaLeaf + // root: H256::zero(), + // proof: Vec::new(), + // num_leaves: 0, + // leaf_index: 0, + // leaf: ParaLeaf { para_id: ParachainParaId(0u32), head_data: Vec::new() }, + // }; + // let xcmp_proof = XcmpProof { + // stage_1: (decoded_proof, leaves), + // stage_2: dummy_merkle, + // stage_3: (), + // // TODO: Remove. For now just testing stage 1 can pass + // stage_4: (dummy_proof, Vec::new()), + // }; log::info!("Constructed Dummy Proof and XCMP Proof"); From 220629083dc0e93fb8df4d01bf4671afe3acad6c Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Tue, 5 Mar 2024 18:55:55 +0100 Subject: [PATCH 05/11] small refactorings --- pallets/xcmp_message_stuffer/src/lib.rs | 20 +- xcmp_relayer/src/main.rs | 260 ++++++------------------ 2 files changed, 62 insertions(+), 218 deletions(-) diff --git a/pallets/xcmp_message_stuffer/src/lib.rs b/pallets/xcmp_message_stuffer/src/lib.rs index 8281721..d05be55 100644 --- a/pallets/xcmp_message_stuffer/src/lib.rs +++ b/pallets/xcmp_message_stuffer/src/lib.rs @@ -9,9 +9,9 @@ use frame_system::pallet_prelude::*; use cumulus_primitives_core::{ParaId, GetBeefyRoot}; use sp_runtime::traits::{Hash as HashT, Keccak256}; use sp_core::H256; -use polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}; +use polkadot_runtime_parachains::paras::ParaMerkleProof; -use sp_mmr_primitives::{Proof, EncodableOpaqueLeaf, DataOrHash, LeafIndex}; +use sp_mmr_primitives::{Proof, EncodableOpaqueLeaf, DataOrHash}; use scale_info::prelude::vec::Vec; #[cfg(test)] @@ -33,13 +33,9 @@ pub trait XcmpMessageProvider { type XcmpMessages = <>::XcmpDataProvider as XcmpMessageProvider<::Hash>>::XcmpMessages; type MmrProof = Proof; -type LeafOf = as LeafDataProvider>::LeafData; type ChannelId = u64; -// type BinaryMerkleProof = ParaMerkleProof; type BinaryMerkleProof = (); -#[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] -pub struct MyTestType; #[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] pub struct XcmpProof { @@ -128,7 +124,7 @@ pub mod pallet { // TODO: This will #[pallet::call_index(0)] #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] - pub fn submit_xcmp_proof(origin: OriginFor, mmr_proof: MmrProof, leaves: Vec, channel_id: u64) -> DispatchResult { + pub fn submit_test_proof(origin: OriginFor, mmr_proof: MmrProof, leaves: Vec, channel_id: u64) -> DispatchResult { ensure_signed(origin)?; log::info!( @@ -187,7 +183,7 @@ pub mod pallet { /// TODO: Change to support multiple leaves.. #[pallet::call_index(2)] #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] - pub fn submit_big_proof(origin: OriginFor, xcmp_proof: XcmpProof, beefy_root_targeted: H256) -> DispatchResult { + pub fn submit_xcmp_proof(origin: OriginFor, xcmp_proof: XcmpProof, beefy_root_targeted: H256) -> DispatchResult { ensure_signed(origin)?; log::info!( @@ -277,12 +273,6 @@ pub mod pallet { Ok(()) } - - #[pallet::call_index(3)] - #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] - pub fn tester(origin: OriginFor, test: MyTestType) -> DispatchResult { - Ok(()) - } } } @@ -292,7 +282,7 @@ pub mod pallet { pub struct OnNewRootSatisfier(PhantomData); impl pallet_mmr::primitives::OnNewRoot for OnNewRootSatisfier { - fn on_new_root(root: &sp_consensus_beefy::MmrRootHash) { + fn on_new_root(_root: &sp_consensus_beefy::MmrRootHash) { } } diff --git a/xcmp_relayer/src/main.rs b/xcmp_relayer/src/main.rs index 37bc52f..7b03d99 100644 --- a/xcmp_relayer/src/main.rs +++ b/xcmp_relayer/src/main.rs @@ -1,33 +1,27 @@ -use anyhow::anyhow; use jsonrpsee::{ core::client::ClientT, http_client::{HttpClient, HttpClientBuilder}, rpc_params, }; -use parity_scale_codec::{Decode, Encode}; -// use polkadot_runtime_parachains::ParaMerkleProof as RelayParaMerkleProof; -use runtime::{Block, BlockNumber, Hash, Header, MmrParaA, UncheckedExtrinsic}; -use std::{path::PathBuf, collections::BTreeMap}; -use std::sync::Mutex; -use lazy_static::lazy_static; - -use sp_runtime::traits::{ - Keccak256, - Block as BlockT +use parity_scale_codec::Decode; +use runtime::{BlockNumber, Hash, Header}; +use std::{ + collections::BTreeMap, + sync::Mutex, + time::Duration, }; +use lazy_static::lazy_static; + use sp_core::H256; use tokio::task; -use std::time::Duration; -use futures::StreamExt; -use subxt::{OnlineClient, PolkadotConfig, backend::rpc::{RpcClient, RpcClientT}}; +use subxt::{OnlineClient, PolkadotConfig}; use mmr_rpc::LeavesProof; -use sp_mmr_primitives::{Proof, EncodableOpaqueLeaf, LeafIndex}; -use subxt_signer::{sr25519::dev, ecdsa::dev::alice}; +use subxt_signer::sr25519::dev; #[subxt::subxt(runtime_metadata_url = "ws://localhost:54887")] pub mod polkadot { } @@ -42,7 +36,7 @@ use relay::runtime_types::polkadot_runtime_parachains::paras::{ use relay::runtime_types::polkadot_parachain_primitives::primitives::Id as ParaId; use polkadot::runtime_types::{ - pallet_xcmp_message_stuffer::{XcmpProof}, + pallet_xcmp_message_stuffer::XcmpProof, sp_mmr_primitives::Proof as XcmpProofType, polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}, polkadot_parachain_primitives::primitives::Id as ParachainParaId @@ -167,16 +161,15 @@ async fn main() -> anyhow::Result<()> { let para_receiver_api = MultiClient::new(DEFAULT_ENDPOINT_PARA_RECEIVER, DEFAULT_RPC_ENDPOINT_PARA_RECEIVER).await?; let relay_api = MultiClient::new(DEFAULT_ENDPOINT_RELAY, DEFAULT_RPC_ENDPOINT_RELAY).await?; - // Collect all Beefy Mmr Roots from Relaychain into a HashMap (BeefyMmrRoot -> Relaychain Block number) - let _ = collect_relay_beefy_roots(&relay_api).await?; + // 1.) Collect all Beefy Mmr Roots from Relaychain into a HashMap (BeefyMmrRoot -> Relaychain Block number) + // Collect all ParaHeaders from sender in order to generate opening in + // 2.) ParaHeader Merkle tree (ParaId, ParaHeader(As HeadData)) + let _ = collect_relay_data(&relay_api).await?; // TODO: Create mapping between Parablock Num -> Vec of all channel Mmr Roots for sender // Keep track of Mmr Index which correspondings to the receiver.. // let _ = collect_all_mmr_roots_for_sender(&sender_api).await?; - // TODO: Collect all ParaHeaders from sender in order to generate opening in - // ParaHeader Merkle tree (ParaId, ParaHeader(As HeadData)) - let _ = collect_all_para_header_proofs(&relay_api).await?; // TODO: Add this as a RuntimeApi for generating this from the Relaychain directly // since data is stored there and proof can easily be generated from Validator // Then just Relay this over to receiver correctly in stage 2 of proof @@ -186,85 +179,13 @@ async fn main() -> anyhow::Result<()> { let _ = log_all_mmr_proofs(¶_sender_api).await?; let _ = get_proof_and_verify(¶_sender_api, &relay_api).await?; - let subscribe = log_all_blocks(&vec![para_sender_api, para_receiver_api, relay_api]).await?; + let _subscribe = log_all_blocks(&vec![para_sender_api, para_receiver_api, relay_api]).await?; std::future::pending::<()>().await; Ok(()) } -async fn collect_all_para_header_proofs(client: &MultiClient) -> anyhow::Result<()> { - let client = client.clone(); - task::spawn(async move { - let mut blocks_sub = client.subxt_client.blocks().subscribe_best().await?; - while let Some(block) = blocks_sub.next().await { - let block = block?; - - let id = ParaId(1000u32); - - let para_merkle_call = relay::apis().paras_api().get_para_heads_proof(id); - let para_merkle_proof = match client.subxt_client - .runtime_api() - .at_latest() - .await? - .call(para_merkle_call) - .await { - Ok(opt_proof) => { - opt_proof - }, - Err(e) => { - log::error!("Error calling Para Merkle Proof Api with error {:?}", e); - None - } - }; - - // if let Some(proof) = para_merkle_proof { - // log::info!("Got Proof can store now into storage {:?}", proof); - // } - // else { - // log::error!("No Para Merkle Proof obtained!!!!"); - // } - - // let id = ParaId(1000u32); - - // let para_merkle_call = relay::apis().paras_api().get_para_heads_proof(id); - // let para_merkle_proof = match client.subxt_client - // .runtime_api() - // .at_latest() - // .await? - // .call(para_merkle_call) - // .await { - // Ok(opt_proof) => { - // opt_proof - // }, - // Err(e) => { - // log::error!("Error calling Para Merkle Proof Api with error {:?}", e); - // None - // } - // }; - - // let para_merkle_proof = para_merkle_proof.ok_or_else(|| { - // log::error!("No Para Merkle Proof obtained!!!!"); - // RelayerError::Default - // })?; - - // match PARA_HEADERS_MAP.try_lock() { - // Ok(mut s) => { - // log::info!( - // "Inserting into storage para_merkle_proof for relay block number {}", - // block.number() - // ); - // s.insert(H256::zero(), para_merkle_proof); - // }, - // Err(_) => log::error!("Could not lock PARA_HEADERS_MAP for writing") - // } - - } - Ok::<(), anyhow::Error>(()) - }); - Ok(()) -} - -async fn collect_relay_beefy_roots(client: &MultiClient) -> anyhow::Result<()> { +async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { let client = client.clone(); task::spawn(async move { let mut blocks_sub = client.subxt_client.blocks().subscribe_best().await?; @@ -272,22 +193,22 @@ async fn collect_relay_beefy_roots(client: &MultiClient) -> anyhow::Result<()> { let block = block?; let params = rpc_params![Option::::None, 0u64]; - log::info!("Before relay beefy root request"); + log::debug!("Before relay beefy root request"); let request: Option = match client.rpc_client.request("mmr_root", params).await { Ok(opt) => { - log::info!("Relay MMR root request success"); + log::debug!("Relay MMR root request success"); opt }, Err(e) => { - log::info!("Relay MMR root request failed with {:?}", e); + log::error!("Relay MMR root request failed with {:?}", e); None } }; // let request: Option = client.rpc_client.request("mmr_root", params).await?; - log::info!("After relay beefy root request"); + log::debug!("After relay beefy root request"); let root = request.ok_or(RelayerError::Default)?; - log::info!("Got Current Beefy Root from Relaychain {:?}", root); + log::debug!("Got Current Beefy Root from Relaychain {:?}", root); // let request: Option = client.rpc_client.request("chain_getBlock", rpc_params![Option::::None]).await?; let request: Option
= match client.rpc_client.request("chain_getHeader", rpc_params![Option::::None]).await { @@ -320,7 +241,7 @@ async fn collect_relay_beefy_roots(client: &MultiClient) -> anyhow::Result<()> { match BEEFY_MMR_MAP.try_lock() { Ok(mut s) => { s.insert(root.clone(), (block.number(), proof)); - log::info!( + log::debug!( "Inserting into storage Beefy root {:?}, for relay block number {}", root, block.number() @@ -354,25 +275,26 @@ async fn collect_relay_beefy_roots(client: &MultiClient) -> anyhow::Result<()> { match PARA_HEADERS_MAP.try_lock() { Ok(mut s) => { - log::info!( - "Inserting into storage para_merkle_proof for relay block number {}", - block.number() + log::debug!( + "Inserting into storage PARA_MERKLE_PROOF for relay block number {}, para_merkle_proof {:?}", + block.number(), + para_merkle_proof.clone() ); - s.insert(root, para_merkle_proof); + s.insert(root, para_merkle_proof.clone()); }, Err(_) => log::error!("Could not lock PARA_HEADERS_MAP for writing") } - log::info!("Beefy Mmr Root from Relaychain Obtained:: {:?}", root); - log::info!("Para Merkle Proof from Relaychain Obtained"); + log::debug!("Beefy Mmr Root from Relaychain Obtained:: {:?}", root); + log::debug!("Para Merkle Proof from Relaychain Obtained:: {:?}", para_merkle_proof); } Ok::<(), anyhow::Error>(()) }); Ok(()) } -async fn generate_stage_1_proof(client: &MultiClient, relay_client: &MultiClient) -> anyhow::Result<()> { - log::info!("Entered generate_stage_1_proof"); +async fn generate_stage_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient) -> anyhow::Result<()> { + log::info!("Entered generate xcmp proof"); let client = client.clone(); // 1.) For each para block on receiver get the current Beefy Root on chain via RPC or subxt let beefy_api_call = polkadot::apis().messaging_api().get_current_beefy_root(); @@ -391,7 +313,7 @@ async fn generate_stage_1_proof(client: &MultiClient, relay_client: &MultiClient H256::zero() } }; - log::info!("Beefy Root obtained in generate_stage_1_proof: {:?}", beefy_root); + log::info!("Beefy Root obtained in generate_stage_xcmp_proof: {:?}", beefy_root); // 2.) Then call RPC to generate mmr_proof for Relay block number corresponding to this Beefy Root let (relay_block_num, proof) = match BEEFY_MMR_MAP.try_lock() { @@ -433,32 +355,20 @@ async fn generate_stage_1_proof(client: &MultiClient, relay_client: &MultiClient items: Vec::new(), }; - // let dummy_merkle = ParaMerkleProof { - // // pub root: sp_core::H256, - // // pub proof: Vec, - // // pub num_leaves: u64, - // // pub leaf_index: u64, - // // pub leaf: ParaLeaf - // root: H256::zero(), - // proof: Vec::new(), - // num_leaves: 0, - // leaf_index: 0, - // leaf: ParaLeaf { para_id: ParachainParaId(0u32), head_data: Vec::new() }, - // }; - let xcmp_proof = XcmpProof { stage_1: (decoded_proof, leaves), stage_2: merkle_proof.into(), + // TODO: Implement stage_3: (), - // TODO: Remove. For now just testing stage 1 can pass + // TODO: Implement stage_4: (dummy_proof, Vec::new()), }; log::info!("Got Relayblock Num {} for Beefy Root {:?}", relay_block_num, beefy_root); // 3.) Send transaction to chain for proof - log::info!("calling submit_big_proof"); - submit_big_proof(&client, xcmp_proof, beefy_root).await?; + log::info!("calling submit_xcmp_proof"); + submit_xcmp_proof(&client, xcmp_proof, beefy_root).await?; Ok(()) } @@ -485,46 +395,14 @@ async fn update_root(client: &MultiClient, root: H256) -> anyhow::Result<()> { Ok(()) } -async fn submit_big_proof(client: &MultiClient, xcmp_proof: XcmpProof, beefy_root: H256) -> anyhow::Result<()> { +async fn submit_xcmp_proof(client: &MultiClient, xcmp_proof: XcmpProof, beefy_root: H256) -> anyhow::Result<()> { let signer = dev::charlie(); - // let leaves = Decode::decode(&mut &proof.leaves.0[..]) - // .map_err(|e| anyhow::Error::new(e))?; - // let decoded_proof: XcmpProofType = Decode::decode(&mut &proof.proof.0[..]) - // .map_err(|e| anyhow::Error::new(e))?; - - // let dummy_proof: XcmpProofType = XcmpProofType:: { - // leaf_indices: Vec::new(), - // leaf_count: 0u64, - // items: Vec::new(), - // }; - - // let dummy_merkle = ParaMerkleProof { - // // pub root: sp_core::H256, - // // pub proof: Vec, - // // pub num_leaves: u64, - // // pub leaf_index: u64, - // // pub leaf: ParaLeaf - // root: H256::zero(), - // proof: Vec::new(), - // num_leaves: 0, - // leaf_index: 0, - // leaf: ParaLeaf { para_id: ParachainParaId(0u32), head_data: Vec::new() }, - // }; - // let xcmp_proof = XcmpProof { - // stage_1: (decoded_proof, leaves), - // stage_2: dummy_merkle, - // stage_3: (), - // // TODO: Remove. For now just testing stage 1 can pass - // stage_4: (dummy_proof, Vec::new()), - // }; - - log::info!("Constructed Dummy Proof and XCMP Proof"); - - let tx = crate::polkadot::tx().msg_stuffer_para_a().submit_big_proof(xcmp_proof, beefy_root); + + let tx = crate::polkadot::tx().msg_stuffer_para_a().submit_xcmp_proof(xcmp_proof, beefy_root); let tx_progress = client.subxt_client.tx().sign_and_submit_then_watch_default(&tx, &signer).await?; let hash_tx = tx_progress.extrinsic_hash(); - log::info!("Got After submitting submit_BIG_xcmp_proof"); + log::info!("Got After submitting submit_xcmp_proof"); match tx_progress.wait_for_in_block().await { Ok(tx_in_block) => { match tx_in_block.wait_for_success().await { @@ -536,7 +414,7 @@ async fn submit_big_proof(client: &MultiClient, xcmp_proof: XcmpProof, beefy_roo log::info!("Tx didnt get in a block error {:?}", e); } } - log::info!("Hash of BIG_xcmp_proof_submission: {:?}", hash_tx); + log::info!("Hash of XCMP_proof_submission: {:?}", hash_tx); Ok(()) } @@ -554,11 +432,11 @@ async fn submit_proof(client: &MultiClient, proof: LeavesProof) -> anyhow: log::info!("Decoded proof {:?}", decoded_proof); - let tx = crate::polkadot::tx().msg_stuffer_para_a().submit_xcmp_proof(decoded_proof, leaves, channel_id); + let tx = crate::polkadot::tx().msg_stuffer_para_a().submit_test_proof(decoded_proof, leaves, channel_id); let tx_progress = client.subxt_client.tx().sign_and_submit_then_watch_default(&tx, &signer).await?; let hash_tx = tx_progress.extrinsic_hash(); - log::info!("Got After submitting submit_xcmp_proof"); + log::info!("Got After submitting submit_test_proof"); match tx_progress.wait_for_in_block().await { Ok(tx_in_block) => { match tx_in_block.wait_for_success().await { @@ -570,7 +448,7 @@ async fn submit_proof(client: &MultiClient, proof: LeavesProof) -> anyhow: log::info!("Tx didnt get in a block error {:?}", e); } } - log::info!("Hash of xcmp_proof_submission: {:?}", hash_tx); + log::info!("Hash of test_proof_submission: {:?}", hash_tx); Ok(()) } @@ -578,7 +456,6 @@ async fn submit_proof(client: &MultiClient, proof: LeavesProof) -> anyhow: async fn get_proof_and_verify(client: &MultiClient, relay_client: &MultiClient) -> anyhow::Result<()> { let client = client.clone(); let relay_client = relay_client.clone(); - let channel_id = 0u64; let mut root = generate_mmr_root(&client, Some(0)).await?; let mut proof = generate_mmr_proof(&client, 1u64, Some(0)).await?; @@ -588,12 +465,9 @@ async fn get_proof_and_verify(client: &MultiClient, relay_client: &MultiClient) let verification = request.ok_or(RelayerError::Default)?; log::info!("Was proof verified? Answer:: {}", verification); - let signer = dev::bob(); - task::spawn(async move { let mut blocks_sub = client.subxt_client.blocks().subscribe_best().await?; - while let Some(block) = blocks_sub.next().await { - let block = block?; + while let Some(_block) = blocks_sub.next().await { // check if current on chain root is equal to the original root to submit proof let onchain_root_query = crate::polkadot::storage().msg_stuffer_para_a().xcmp_channel_roots(0); @@ -605,7 +479,7 @@ async fn get_proof_and_verify(client: &MultiClient, relay_client: &MultiClient) .await { Ok(Some(root)) => root, Ok(None) => H256::zero(), - Err(e) => H256::zero() + Err(_) => H256::zero() }; let update_root_string = match update_root(&client, root).await { @@ -616,7 +490,7 @@ async fn get_proof_and_verify(client: &MultiClient, relay_client: &MultiClient) }; log::info!("{}", update_root_string); - let _ = generate_stage_1_proof(&client, &relay_client).await; + let _ = generate_stage_xcmp_proof(&client, &relay_client).await; if onchain_root == root { log::info!("onchain_root matches!!! submitting now!!"); @@ -651,9 +525,6 @@ async fn log_all_blocks(clients: &[MultiClient]) -> anyhow::Result<()> { while let Some(block) = blocks_sub.next().await { let block = block?; - let block_number = block.header().number; - let block_hash = block.hash(); - log::debug!("Block for {:?}: is block_hash {:?}, block_number {:?}", client_type, block.hash(), block.number()); } @@ -724,7 +595,7 @@ async fn log_all_mmr_proofs(client: &MultiClient) -> anyhow::Result<()> { async fn do_mean(vec: &[u64]) -> anyhow::Result { let mut sum = 0u64; - let mut len = vec.len() as u64; + let len = vec.len() as u64; vec.iter().for_each(|difference| sum += difference); Ok(sum / len) } @@ -770,16 +641,13 @@ async fn generate_mmr_proof( channel_id: Option ) -> anyhow::Result> { log::info!("Entering generate_mmr_proof block_num {}", block_num); - let block = client.subxt_client.blocks().at_latest().await?; - let mut params = jsonrpsee::core::params::ArrayParams::new(); - if let Some(id) = channel_id { - params = rpc_params![vec![block_num], Option::::None, Option::::None, id]; + let params = if let Some(id) = channel_id { + rpc_params![vec![block_num], Option::::None, Option::::None, id] } else { - params = rpc_params![vec![block_num], Option::::None, Option::::None]; - } - + rpc_params![vec![block_num], Option::::None, Option::::None] + }; let request: Option> = match client.rpc_client.request("mmr_generateProof", params).await { Ok(opt_proof) => { @@ -791,7 +659,6 @@ async fn generate_mmr_proof( None } }; - // let request: Option> = client.rpc_client.request("mmr_generateProof", params).await?; let proof = request.ok_or(RelayerError::Default)?; log::info!("Proof obtained:: {:?}", proof); Ok(proof) @@ -799,16 +666,12 @@ async fn generate_mmr_proof( // Call generate mmr proof for sender async fn generate_mmr_root(client: &MultiClient, channel_id: Option) -> anyhow::Result { - let block = client.subxt_client.blocks().at_latest().await?; - - - let mut params = jsonrpsee::core::params::ArrayParams::new(); - if let Some(id) = channel_id { - params = rpc_params![Option::::None, id]; + let params = if let Some(id) = channel_id { + rpc_params![Option::::None, id] } else { - params = rpc_params![Option::::None]; - } + rpc_params![Option::::None] + }; let request: Option = client.rpc_client.request("mmr_root", params).await?; let root = request.ok_or(RelayerError::Default)?; @@ -816,15 +679,6 @@ async fn generate_mmr_root(client: &MultiClient, channel_id: Option) -> any Ok(root) } -/// Takes a string and checks for a 0x prefix. Returns a string without a 0x prefix. -fn strip_0x_prefix(s: &str) -> &str { - if &s[..2] == "0x" { - &s[2..] - } else { - s - } -} - #[derive(Debug)] pub enum RelayerError { Default, From 5756679d80243124e8bb667988f6ad8412f16290 Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Mon, 11 Mar 2024 17:45:25 +0100 Subject: [PATCH 06/11] got stage4 and stage 3 proof generation setup --- pallets/xcmp_message_stuffer/src/lib.rs | 35 +++- runtime/src/lib.rs | 32 +++- xcmp_relayer/src/main.rs | 216 +++++++++++++++++++++--- 3 files changed, 260 insertions(+), 23 deletions(-) diff --git a/pallets/xcmp_message_stuffer/src/lib.rs b/pallets/xcmp_message_stuffer/src/lib.rs index d05be55..5d48323 100644 --- a/pallets/xcmp_message_stuffer/src/lib.rs +++ b/pallets/xcmp_message_stuffer/src/lib.rs @@ -31,19 +31,39 @@ pub trait XcmpMessageProvider { fn get_xcmp_messages(block_hash: Hash, para_id: ParaId) -> Self::XcmpMessages; } +#[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] +pub struct ChannelMerkleProof { + pub root: H256, + pub proof: Vec, + pub num_leaves: u64, + pub leaf_index: u64, + pub leaf: H256, +} + +impl Default for ChannelMerkleProof { + fn default() -> Self { + ChannelMerkleProof { + root: H256::zero(), + proof: Vec::new(), + num_leaves: 0u64, + leaf_index: 0u64, + leaf: H256::zero(), + } + } +} + type XcmpMessages = <>::XcmpDataProvider as XcmpMessageProvider<::Hash>>::XcmpMessages; type MmrProof = Proof; type ChannelId = u64; type BinaryMerkleProof = (); - #[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] pub struct XcmpProof { // TODO: Probably should rename each of these stages to some fancy name // TODO: Remove tuples pub stage_1: (MmrProof, Vec), pub stage_2: ParaMerkleProof, - pub stage_3: BinaryMerkleProof, + pub stage_3: ChannelMerkleProof, pub stage_4: (MmrProof, Vec), } @@ -121,7 +141,6 @@ pub mod pallet { #[pallet::call] impl, I: 'static> Pallet { - // TODO: This will #[pallet::call_index(0)] #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] pub fn submit_test_proof(origin: OriginFor, mmr_proof: MmrProof, leaves: Vec, channel_id: u64) -> DispatchResult { @@ -216,6 +235,7 @@ pub mod pallet { // Verify stage 2.. // grab ParaHeader root from stage_1_proof // let para_header_root = Decode::decode(stage_1_leaves) + // Take Last leaf element as the para_header_root selected // let (stage_2_proof, stage_2_leaves) = xcmp_proof.stage_2; // These are different leaves they arent the MmrLeaves they are Binary Merkle Leaves @@ -306,4 +326,13 @@ impl, I: 'static> LeafDataProvider for Pallet { parent_number_and_hash: ParentNumberAndHash::::leaf_data(), } } +} + +sp_api::decl_runtime_apis! { + /// API useful for BEEFY light clients. + pub trait ChannelMerkleApi + { + /// Return BinaryMerkle Proof for a particular parachains inclusion in ParaHeader tree + fn get_xcmp_channels_proof(channel_id: u64) -> Option; + } } \ No newline at end of file diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 12ce62a..91b764e 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -27,7 +27,9 @@ use sp_runtime::{ use sp_consensus_beefy::mmr::MmrLeafVersion; -use parity_scale_codec::Encode; +use parity_scale_codec::{Encode, Decode}; + +use polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}; use sp_std::prelude::*; #[cfg(feature = "std")] @@ -505,6 +507,28 @@ impl CollectXcmpChannelMmrRoots for XcmpChannelRootCollector { } } +use pallet_xcmp_message_stuffer::ChannelMerkleProof; +pub struct ChannelMerkleProofGen; +impl ChannelMerkleProofGen { + // TODO: Allow the channel_id to select the appropriate MMR and index of leaf + pub fn gen_merkle_proof(_channel_id: u64) -> Option { + let index_to_prove = 0; + + let merkle_proof = binary_merkle_tree::merkle_proof::( + vec![MmrParaA::mmr_root_hash(), MmrParaB::mmr_root_hash()], + index_to_prove + ); + let result_proof = ChannelMerkleProof { + root: merkle_proof.root, + proof: merkle_proof.proof, + num_leaves: merkle_proof.number_of_leaves as u64, + leaf_index: merkle_proof.leaf_index as u64, + leaf: merkle_proof.leaf, + }; + Some(result_proof) + } +} + parameter_types! { /// Version of the produced MMR leaf. @@ -735,6 +759,12 @@ impl_runtime_apis! { } } + impl pallet_xcmp_message_stuffer::ChannelMerkleApi for Runtime { + fn get_xcmp_channels_proof(channel_id: u64) -> Option { + ChannelMerkleProofGen::gen_merkle_proof(channel_id) + } + } + #[api_version(3)] impl mmr::MmrApi for Runtime { fn mmr_root(mmr_id: u64) -> Result { diff --git a/xcmp_relayer/src/main.rs b/xcmp_relayer/src/main.rs index 7b03d99..3e5675e 100644 --- a/xcmp_relayer/src/main.rs +++ b/xcmp_relayer/src/main.rs @@ -4,11 +4,9 @@ use jsonrpsee::{ rpc_params, }; use parity_scale_codec::Decode; -use runtime::{BlockNumber, Hash, Header}; +use runtime::{pallet_xcmp_message_stuffer::ChannelMerkleProof, BlockNumber, Hash, Header}; use std::{ - collections::BTreeMap, - sync::Mutex, - time::Duration, + collections::BTreeMap, ops::Sub, sync::Mutex, time::Duration }; use lazy_static::lazy_static; @@ -39,7 +37,8 @@ use polkadot::runtime_types::{ pallet_xcmp_message_stuffer::XcmpProof, sp_mmr_primitives::Proof as XcmpProofType, polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}, - polkadot_parachain_primitives::primitives::Id as ParachainParaId + polkadot_parachain_primitives::primitives::Id as ParachainParaId, + pallet_xcmp_message_stuffer::ChannelMerkleProof as SubxtChannelMerkleProof, }; /// The default endpoints for each @@ -50,6 +49,8 @@ const DEFAULT_RPC_ENDPOINT_PARA_RECEIVER: &str = "http://localhost:54887"; const DEFAULT_ENDPOINT_RELAY: &str = "ws://localhost:54886"; const DEFAULT_RPC_ENDPOINT_RELAY: &str = "http://localhost:54886"; +const RECEIVER_CHANNEL_ID: u64 = 0; + #[derive(Clone, Debug)] pub struct MultiClient { pub subxt_client: OnlineClient, @@ -89,6 +90,30 @@ impl ClientType { } } +impl From for ChannelMerkleProof { + fn from(x: SubxtChannelMerkleProof) -> Self { + Self { + root: x.root, + proof: x.proof, + num_leaves: x.num_leaves, + leaf_index: x.leaf_index, + leaf: x.leaf + } + } +} + +impl From for SubxtChannelMerkleProof { + fn from(x: ChannelMerkleProof) -> Self { + Self { + root: x.root, + proof: x.proof, + num_leaves: x.num_leaves, + leaf_index: x.leaf_index, + leaf: x.leaf + } + } +} + impl From for ParaMerkleProof { fn from(x: RelayParaMerkleProof) -> Self { Self { @@ -149,6 +174,8 @@ type RelayBlockIndex = u32; lazy_static! { static ref BEEFY_MMR_MAP: Mutex)>> = Mutex::new(BTreeMap::new()); static ref PARA_HEADERS_MAP: Mutex> = Mutex::new(BTreeMap::new()); + static ref MSG_ROOT_MAP: Mutex>> = Mutex::new(BTreeMap::new()); + static ref MSG_ROOT_CHANNEL_MERKLE_MAP: Mutex> = Mutex::new(BTreeMap::new()); } #[tokio::main] @@ -165,6 +192,7 @@ async fn main() -> anyhow::Result<()> { // Collect all ParaHeaders from sender in order to generate opening in // 2.) ParaHeader Merkle tree (ParaId, ParaHeader(As HeadData)) let _ = collect_relay_data(&relay_api).await?; + let _ = collect_para_data(¶_sender_api).await?; // TODO: Create mapping between Parablock Num -> Vec of all channel Mmr Roots for sender // Keep track of Mmr Index which correspondings to the receiver.. @@ -177,7 +205,7 @@ async fn main() -> anyhow::Result<()> { let _ = log_all_mmr_roots(¶_sender_api).await?; let _ = log_all_mmr_proofs(¶_sender_api).await?; - let _ = get_proof_and_verify(¶_sender_api, &relay_api).await?; + let _ = get_proof_and_verify(¶_sender_api, &relay_api, ¶_receiver_api).await?; let _subscribe = log_all_blocks(&vec![para_sender_api, para_receiver_api, relay_api]).await?; @@ -205,12 +233,10 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { } }; - // let request: Option = client.rpc_client.request("mmr_root", params).await?; log::debug!("After relay beefy root request"); let root = request.ok_or(RelayerError::Default)?; log::debug!("Got Current Beefy Root from Relaychain {:?}", root); - // let request: Option = client.rpc_client.request("chain_getBlock", rpc_params![Option::::None]).await?; let request: Option
= match client.rpc_client.request("chain_getHeader", rpc_params![Option::::None]).await { Ok(block) => { block @@ -230,7 +256,7 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { ); } - let proof = try_generate_mmr_proof(&client, block.number().into(), Some(0u64)) + let proof = try_generate_mmr_proof(&client, block.number().into(), Some(RECEIVER_CHANNEL_ID)) .await .map_err(|e| { log::error!("Failed to generate big proof from Relaychain with error {:?}", e); @@ -293,9 +319,158 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { Ok(()) } -async fn generate_stage_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient) -> anyhow::Result<()> { +async fn collect_para_data(client: &MultiClient) -> anyhow::Result<()> { + let client = client.clone(); + task::spawn(async move { + let mut blocks_sub = client.subxt_client.blocks().subscribe_best().await?; + while let Some(block) = blocks_sub.next().await { + let block = block?; + + let msg_root = generate_mmr_root(&client, Some(RECEIVER_CHANNEL_ID)).await?; + let msg_proof = generate_mmr_proof(&client, block.number().into(), Some(RECEIVER_CHANNEL_ID)).await?; + + match MSG_ROOT_MAP.try_lock() { + Ok(mut s) => { + s.insert(msg_root.clone(), msg_proof); + log::debug!( + "Inserting into storage Msg root {:?}", + msg_root + ); + }, + Err(_) => log::error!("Could not lock MSG_ROOT_MAP for writing") + } + + let channels_merkle_call = polkadot::apis().channel_merkle_api().get_xcmp_channels_proof(RECEIVER_CHANNEL_ID); + let channel_merkle_proof = match client.subxt_client + .runtime_api() + .at_latest() + .await? + .call(channels_merkle_call) + .await { + Ok(proof) => { + log::info!("Got channels merkle proof from 'get_xcmp_channels_proof' {:?}", proof); + proof + }, + Err(e) => { + log::info!("Got error from trying to call `get_xcmp_channels_proof` {:?}", e); + None + } + }.ok_or_else(|| { + log::error!("error in generating stage 3 of proof exited generate_xcmp_proof"); + RelayerError::Default + })?; + + let roots_match = match MSG_ROOT_MAP.try_lock() { + Ok(mut s) => { + if s.contains_key(&channel_merkle_proof.leaf.clone()) { + true + } + else { + false + } + } + Err(_) => { + log::error!("Could not lock MSG_ROOT_MAP for writing"); + false + } + }; + + if !roots_match { + log::error!("Roots dont match between msg_mmr_root and channel_merkle_root!!@£!@£"); + continue; + } + + match MSG_ROOT_CHANNEL_MERKLE_MAP.try_lock() { + Ok(mut s) => { + s.insert(msg_root.clone(), channel_merkle_proof.into()); + log::debug!( + "Inserting into storage msg_root for channel_merkle_proof {:?}", + msg_root + ); + }, + Err(_) => log::error!("Could not lock MSG_ROOT_CHANNEL_MERKLE_MAP for writing") + } + + } + Ok::<(), anyhow::Error>(()) + }); + Ok(()) +} + +async fn generate_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient, recv_client: &MultiClient) -> anyhow::Result<()> { log::info!("Entered generate xcmp proof"); let client = client.clone(); + let recv_client = recv_client.clone(); + + let block = client.subxt_client.blocks().at_latest().await?; + + let (stage_4_root, stage_4_proof) = match MSG_ROOT_MAP.try_lock() { + Ok(s) => { + s.iter().next().map(|(key, value)| (key.clone(), value.clone())) + }, + Err(_) => { + log::error!("Could not lock MSG_ROOT_MAP for reading"); + None + } + }.ok_or_else(|| { + log::error!("Could not read stage_4_root and stage_4_proof from MSG_ROOT_MAP"); + RelayerError::Default + } + )?; + + let roots_match = match MSG_ROOT_CHANNEL_MERKLE_MAP.try_lock() { + Ok(s) => { + if s.contains_key(&stage_4_root) { + true + } + else { + false + } + } + Err(_) => { + log::error!("Could not lock MSG_ROOT_CHANNEL_MERKLE_MAP for writing"); + false + } + }; + + if !roots_match { + log::error!("Stage 4 root doesnt exist yet for stage 3 generation proof generation failed.."); + return Err(RelayerError::Default.into()) + } + + let stage_4_leaves = Decode::decode(&mut &stage_4_proof.leaves.0[..]) + .map_err(|e| anyhow::Error::new(e))?; + let stage_4_decoded_proof: XcmpProofType = Decode::decode(&mut &stage_4_proof.proof.0[..]) + .map_err(|e| anyhow::Error::new(e))?; + + match MSG_ROOT_MAP.try_lock() { + Ok(mut s) => { + s.remove(&stage_4_root) + }, + Err(_) => { + log::error!("Could not lock MSG_ROOT_MAP for reading"); + None + } + }.ok_or_else(|| { + log::error!("Could not read stage_4_root and stage_4_proof from MSG_ROOT_MAP"); + RelayerError::Default + } + )?; + + let stage_3_proof = match MSG_ROOT_CHANNEL_MERKLE_MAP.try_lock() { + Ok(s) => { + s.get(&stage_4_root).cloned() + }, + Err(_) => { + log::error!("Could not lock MSG_ROOT_CHANNEL_MERKLE_MAP for reading"); + None + } + }.ok_or_else(|| { + log::error!("Could not read stage_4_root and stage_4_proof from MSG_ROOT_CHANNEL_MERKLE_MAP"); + RelayerError::Default + } + )?; + // 1.) For each para block on receiver get the current Beefy Root on chain via RPC or subxt let beefy_api_call = polkadot::apis().messaging_api().get_current_beefy_root(); let beefy_root = match client.subxt_client @@ -313,7 +488,9 @@ async fn generate_stage_xcmp_proof(client: &MultiClient, _relay_client: &MultiCl H256::zero() } }; - log::info!("Beefy Root obtained in generate_stage_xcmp_proof: {:?}", beefy_root); + log::info!("Beefy Root obtained in generate_xcmp_proof: {:?}", beefy_root); + + // 2.) Then call RPC to generate mmr_proof for Relay block number corresponding to this Beefy Root let (relay_block_num, proof) = match BEEFY_MMR_MAP.try_lock() { @@ -359,9 +536,9 @@ async fn generate_stage_xcmp_proof(client: &MultiClient, _relay_client: &MultiCl stage_1: (decoded_proof, leaves), stage_2: merkle_proof.into(), // TODO: Implement - stage_3: (), + stage_3: stage_3_proof.into(), // TODO: Implement - stage_4: (dummy_proof, Vec::new()), + stage_4: (stage_4_decoded_proof, stage_4_leaves), }; log::info!("Got Relayblock Num {} for Beefy Root {:?}", relay_block_num, beefy_root); @@ -453,11 +630,12 @@ async fn submit_proof(client: &MultiClient, proof: LeavesProof) -> anyhow: Ok(()) } -async fn get_proof_and_verify(client: &MultiClient, relay_client: &MultiClient) -> anyhow::Result<()> { +async fn get_proof_and_verify(client: &MultiClient, relay_client: &MultiClient, recv_client: &MultiClient) -> anyhow::Result<()> { let client = client.clone(); let relay_client = relay_client.clone(); - let mut root = generate_mmr_root(&client, Some(0)).await?; - let mut proof = generate_mmr_proof(&client, 1u64, Some(0)).await?; + let recv_client = recv_client.clone(); + let mut root = generate_mmr_root(&client, Some(RECEIVER_CHANNEL_ID)).await?; + let mut proof = generate_mmr_proof(&client, 1u64, Some(RECEIVER_CHANNEL_ID)).await?; let params = rpc_params![root, proof.clone()]; @@ -490,14 +668,14 @@ async fn get_proof_and_verify(client: &MultiClient, relay_client: &MultiClient) }; log::info!("{}", update_root_string); - let _ = generate_stage_xcmp_proof(&client, &relay_client).await; + let _ = generate_xcmp_proof(&client, &relay_client, &recv_client).await; if onchain_root == root { log::info!("onchain_root matches!!! submitting now!!"); let submit_proof_string = match submit_proof(&client, proof.clone()).await { Ok(_) => { - root = generate_mmr_root(&client, Some(0)).await?; - proof = generate_mmr_proof(&client, 1u64, Some(0)).await?; + root = generate_mmr_root(&client, Some(RECEIVER_CHANNEL_ID)).await?; + proof = generate_mmr_proof(&client, 1u64, Some(RECEIVER_CHANNEL_ID)).await?; "Submit proof successfully submitted".to_string() }, Err(e) => format!("Cant submit proof on chain yet {:?}", e), From faa79ef114a5d0ff3a79b5d9180e546880ca39f6 Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Tue, 12 Mar 2024 17:23:50 +0100 Subject: [PATCH 07/11] adding small func and test for digest --- xcmp_relayer/src/main.rs | 50 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/xcmp_relayer/src/main.rs b/xcmp_relayer/src/main.rs index 3e5675e..56490f6 100644 --- a/xcmp_relayer/src/main.rs +++ b/xcmp_relayer/src/main.rs @@ -3,8 +3,9 @@ use jsonrpsee::{ http_client::{HttpClient, HttpClientBuilder}, rpc_params, }; -use parity_scale_codec::Decode; +use parity_scale_codec::{Encode, Decode}; use runtime::{pallet_xcmp_message_stuffer::ChannelMerkleProof, BlockNumber, Hash, Header}; +// use polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}; use std::{ collections::BTreeMap, ops::Sub, sync::Mutex, time::Duration }; @@ -153,6 +154,18 @@ impl Clone for RelayParaMerkleProof { } } +impl Clone for SubxtChannelMerkleProof { + fn clone(&self) -> Self { + Self { + root: self.root.clone(), + proof: self.proof.clone(), + num_leaves: self.num_leaves.clone(), + leaf_index: self.leaf_index.clone(), + leaf: self.leaf.clone(), + } + } +} + impl Clone for ParaId { fn clone(&self) -> Self { Self(self.0) @@ -176,6 +189,7 @@ lazy_static! { static ref PARA_HEADERS_MAP: Mutex> = Mutex::new(BTreeMap::new()); static ref MSG_ROOT_MAP: Mutex>> = Mutex::new(BTreeMap::new()); static ref MSG_ROOT_CHANNEL_MERKLE_MAP: Mutex> = Mutex::new(BTreeMap::new()); + static ref CHANNEL_ROOT_PROOF_MAP: Mutex> = Mutex::new(BTreeMap::new()); } #[tokio::main] @@ -319,6 +333,30 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { Ok(()) } +async fn extract_xcmp_channel_root(leaf: ParaLeaf) -> anyhow::Result { + // First decode ParaLeaf.head_data into a ParaHeader + let header = Header::decode(&mut &leaf.head_data[..])?; + + // Extract the XcmpChannelBinaryMerkleRoot from the Digest + // Return the root + Ok(H256::zero()) +} + +#[tokio::test] +async fn test_decode() { + let header = Header { + parent_hash: H256::zero(), + state_root: H256::zero(), + extrinsics_root: H256::zero(), + number: 0u32, + digest: Default::default(), + }; + let dummy_input = ParaLeaf { para_id: ParaId(1000).into(), head_data: header.encode() }; + let result = extract_xcmp_channel_root(dummy_input).await; + assert!(result.is_ok()); + assert_eq!(result.unwrap(), H256::zero()); +} + async fn collect_para_data(client: &MultiClient) -> anyhow::Result<()> { let client = client.clone(); task::spawn(async move { @@ -360,6 +398,16 @@ async fn collect_para_data(client: &MultiClient) -> anyhow::Result<()> { RelayerError::Default })?; + // For grabbing the channel merkle proofs by their respective root later + match CHANNEL_ROOT_PROOF_MAP.try_lock() { + Ok(mut s) => { + s.insert(channel_merkle_proof.root, channel_merkle_proof.clone().into()); + }, + Err(_) => { + log::error!("Could not lock Channel ROOT Proof MAP for writing") + } + } + let roots_match = match MSG_ROOT_MAP.try_lock() { Ok(mut s) => { if s.contains_key(&channel_merkle_proof.leaf.clone()) { From 4d277f8ffa8724ec0aeb146b0e4b7e0ac93e7852 Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Tue, 19 Mar 2024 14:58:04 +0100 Subject: [PATCH 08/11] generating correct full proof --- Cargo.lock | 2 + xcmp_relayer/Cargo.toml | 2 + xcmp_relayer/src/main.rs | 304 +++++++++++++++++++++++++-------------- 3 files changed, 197 insertions(+), 111 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 333bc75..c269cf3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14613,6 +14613,7 @@ name = "xcmp_relayer" version = "0.1.0" dependencies = [ "anyhow", + "cumulus-primitives-core", "directories 5.0.1", "env_logger 0.10.2", "futures", @@ -14627,6 +14628,7 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-runtime-parachains", "serde_json", + "sp-consensus-beefy", "sp-core", "sp-mmr-primitives", "sp-runtime", diff --git a/xcmp_relayer/Cargo.toml b/xcmp_relayer/Cargo.toml index 18e7d86..d4e311f 100644 --- a/xcmp_relayer/Cargo.toml +++ b/xcmp_relayer/Cargo.toml @@ -11,6 +11,7 @@ runtime = { path = "../runtime", package = "parachain-template-runtime" } polkadot-runtime-parachains = { workspace = true } polkadot-parachain = { workspace = true } +cumulus-primitives-core = { workspace = true } serde_json = { workspace = true } parity-scale-codec = { workspace = true } jsonrpsee = { workspace = true } @@ -27,6 +28,7 @@ lazy_static = { workspace = true } sp-runtime = { workspace = true } sp-core = { workspace = true } sp-mmr-primitives = { workspace = true } +sp-consensus-beefy = { workspace = true } subxt = { workspace = true } subxt-signer = { workspace = true } diff --git a/xcmp_relayer/src/main.rs b/xcmp_relayer/src/main.rs index 56490f6..4af0663 100644 --- a/xcmp_relayer/src/main.rs +++ b/xcmp_relayer/src/main.rs @@ -4,7 +4,10 @@ use jsonrpsee::{ rpc_params, }; use parity_scale_codec::{Encode, Decode}; +use cumulus_primitives_core::xcmr_digest::extract_xcmp_channel_merkle_root; use runtime::{pallet_xcmp_message_stuffer::ChannelMerkleProof, BlockNumber, Hash, Header}; +use sp_mmr_primitives::EncodableOpaqueLeaf; +use sp_consensus_beefy::mmr::{MmrLeafVersion, MmrLeaf}; // use polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}; use std::{ collections::BTreeMap, ops::Sub, sync::Mutex, time::Duration @@ -29,7 +32,7 @@ pub mod polkadot { } pub mod relay { } use relay::runtime_types::polkadot_runtime_parachains::paras::{ - ParaMerkleProof as RelayParaMerkleProof, ParaLeaf as RelayParaLeaf, + ParaMerkleProof as RelayParaMerkleProof, ParaLeaf as RelayParaLeaf }; use relay::runtime_types::polkadot_parachain_primitives::primitives::Id as ParaId; @@ -186,6 +189,8 @@ type RelayBlockIndex = u32; lazy_static! { static ref BEEFY_MMR_MAP: Mutex)>> = Mutex::new(BTreeMap::new()); + // Mapping (ParaHeaderRoot, RelayBlockNum) -> (BeefyMmrRoot, Proof) + static ref LEAVES_BEEFY_MMR_MAP: Mutex)>> = Mutex::new(BTreeMap::new()); static ref PARA_HEADERS_MAP: Mutex> = Mutex::new(BTreeMap::new()); static ref MSG_ROOT_MAP: Mutex>> = Mutex::new(BTreeMap::new()); static ref MSG_ROOT_CHANNEL_MERKLE_MAP: Mutex> = Mutex::new(BTreeMap::new()); @@ -260,7 +265,7 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { None } }; - log::info!("After chain block request"); + log::debug!("After chain block request"); let rpc_header = request.ok_or(RelayerError::Default)?; if rpc_header.number != block.number() { log::error!( @@ -270,7 +275,7 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { ); } - let proof = try_generate_mmr_proof(&client, block.number().into(), Some(RECEIVER_CHANNEL_ID)) + let proof = generate_mmr_proof(&client, block.number().into(), Some(RECEIVER_CHANNEL_ID), Some(block.hash())) .await .map_err(|e| { log::error!("Failed to generate big proof from Relaychain with error {:?}", e); @@ -280,7 +285,7 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { match BEEFY_MMR_MAP.try_lock() { Ok(mut s) => { - s.insert(root.clone(), (block.number(), proof)); + s.insert(root.clone(), (block.number(), proof.clone())); log::debug!( "Inserting into storage Beefy root {:?}, for relay block number {}", root, @@ -290,13 +295,48 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { Err(_) => log::error!("Could not lock BEEFY_MMR_MAP for writing") } + // TODO: + // Decode Beefy proof leaves into MmrLeaf type get ParaHeaderRoot from extra_data field + // First go from EncodableOpaqueLeaf -> OpaqueLeaf -> MmrLeaf + let beefy_leaves: Vec = Decode::decode(&mut &proof.leaves.0[..]) + .map_err(|e| anyhow::Error::new(e))?; + + // TODO: Search through each leaf for the para_header_root from extra_data field + // the element should be one leaf since we only request leaves proof for one blocknum + + if beefy_leaves.len() > 1 { + log::error!("Beefy leaves are greater than 1!!!!! issue storing"); + } + + let leaf = &beefy_leaves[0]; + let leaf = leaf.clone().into_opaque_leaf(); + + let mmr_leaf: MmrLeaf = Decode::decode(&mut &leaf.0[..]) + .map_err(|e| { + log::error!("COULD NOT DECODE LEAF!! WITH ERROR {:?}", e); + anyhow::Error::new(e) + })?; + + match LEAVES_BEEFY_MMR_MAP.try_lock() { + Ok(mut s) => { + log::debug!( + "Inserting into storage LEAVES_BEEFY_MMR_MAP for MMR_LEAF {:?}", + mmr_leaf + ); + s.insert((mmr_leaf.leaf_extra, block.number()), (root.clone(), proof.clone())); + }, + Err(_) => log::error!("Could not lock LEAVES_BEEFY_MMR_MAP for writing") + } + + + // Store in (ParaHeaderRoot, RelayBlockNum) -> (BeefyMmrRoot, Proof) + let id = ParaId(1000u32); let para_merkle_call = relay::apis().paras_api().get_para_heads_proof(id); let para_merkle_proof = match client.subxt_client .runtime_api() - .at_latest() - .await? + .at(block.reference()) .call(para_merkle_call) .await { Ok(opt_proof) => { @@ -313,6 +353,22 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { RelayerError::Default })?; + let para_header_root = match extract_xcmp_channel_root(para_merkle_proof.leaf.clone().into()).await { + Ok(root) => { + log::debug!("Can decode extract root from Header Digest XcmpChannelRoot is {:?}", root); + root + }, + Err(_) => { + log::error!("COULD not extract Digest IN EXTRACT function!!!"); + H256::zero() + } + }; + + if para_header_root == H256::zero() { + log::error!("ParaHeader root not extracted zero H256 value"); + return Err(RelayerError::Default.into()) + } + match PARA_HEADERS_MAP.try_lock() { Ok(mut s) => { log::debug!( @@ -320,11 +376,14 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { block.number(), para_merkle_proof.clone() ); - s.insert(root, para_merkle_proof.clone()); + s.insert(para_header_root, para_merkle_proof.clone()); }, Err(_) => log::error!("Could not lock PARA_HEADERS_MAP for writing") } + // Now have the `para_header_root` which will be a leaf in the Beefy Mmr + // Need the Beefy Root + Proof which includes the opening for this leaf + log::debug!("Beefy Mmr Root from Relaychain Obtained:: {:?}", root); log::debug!("Para Merkle Proof from Relaychain Obtained:: {:?}", para_merkle_proof); } @@ -333,13 +392,20 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { Ok(()) } + + async fn extract_xcmp_channel_root(leaf: ParaLeaf) -> anyhow::Result { // First decode ParaLeaf.head_data into a ParaHeader let header = Header::decode(&mut &leaf.head_data[..])?; + log::debug!("EXTRACTED AND DECODED HEADERRR DANKEEEE!!!!!!{:?}", header); + + // extracting root from digest + let xcmp_channel_root: H256 = extract_xcmp_channel_merkle_root(&header.digest).ok_or(RelayerError::Default)?; + // Extract the XcmpChannelBinaryMerkleRoot from the Digest // Return the root - Ok(H256::zero()) + Ok(xcmp_channel_root) } #[tokio::test] @@ -364,8 +430,8 @@ async fn collect_para_data(client: &MultiClient) -> anyhow::Result<()> { while let Some(block) = blocks_sub.next().await { let block = block?; - let msg_root = generate_mmr_root(&client, Some(RECEIVER_CHANNEL_ID)).await?; - let msg_proof = generate_mmr_proof(&client, block.number().into(), Some(RECEIVER_CHANNEL_ID)).await?; + let msg_root = generate_mmr_root(&client, Some(RECEIVER_CHANNEL_ID), Some(block.hash())).await?; + let msg_proof = generate_mmr_proof(&client, block.number().into(), Some(RECEIVER_CHANNEL_ID), Some(block.hash())).await?; match MSG_ROOT_MAP.try_lock() { Ok(mut s) => { @@ -381,16 +447,15 @@ async fn collect_para_data(client: &MultiClient) -> anyhow::Result<()> { let channels_merkle_call = polkadot::apis().channel_merkle_api().get_xcmp_channels_proof(RECEIVER_CHANNEL_ID); let channel_merkle_proof = match client.subxt_client .runtime_api() - .at_latest() - .await? + .at(block.reference()) .call(channels_merkle_call) .await { Ok(proof) => { - log::info!("Got channels merkle proof from 'get_xcmp_channels_proof' {:?}", proof); + log::debug!("Got channels merkle proof from 'get_xcmp_channels_proof' {:?}", proof); proof }, Err(e) => { - log::info!("Got error from trying to call `get_xcmp_channels_proof` {:?}", e); + log::debug!("Got error from trying to call `get_xcmp_channels_proof` {:?}", e); None } }.ok_or_else(|| { @@ -483,6 +548,14 @@ async fn generate_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient, if !roots_match { log::error!("Stage 4 root doesnt exist yet for stage 3 generation proof generation failed.."); + match MSG_ROOT_CHANNEL_MERKLE_MAP.lock() { + Ok(s) => { + log::error!("Couldnt find stage_4_root: {:?}, in MSG_ROOT_CHANNEL_MERKLE_MAP {:?}", stage_4_root, s); + }, + Err(e) => { + log::error!("Could not lock MSG_ROOT_CHANNEL_MERKLE_MAP for PRINTING") + } + } return Err(RelayerError::Default.into()) } @@ -491,30 +564,81 @@ async fn generate_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient, let stage_4_decoded_proof: XcmpProofType = Decode::decode(&mut &stage_4_proof.proof.0[..]) .map_err(|e| anyhow::Error::new(e))?; - match MSG_ROOT_MAP.try_lock() { - Ok(mut s) => { - s.remove(&stage_4_root) + + let stage_3_proof = match MSG_ROOT_CHANNEL_MERKLE_MAP.try_lock() { + Ok(s) => { + s.get(&stage_4_root).cloned() }, Err(_) => { - log::error!("Could not lock MSG_ROOT_MAP for reading"); + log::error!("Could not lock MSG_ROOT_CHANNEL_MERKLE_MAP for reading"); None } }.ok_or_else(|| { - log::error!("Could not read stage_4_root and stage_4_proof from MSG_ROOT_MAP"); + log::error!("Could not read stage_3_root and stage_3_proof from MSG_ROOT_CHANNEL_MERKLE_MAP"); RelayerError::Default } )?; - let stage_3_proof = match MSG_ROOT_CHANNEL_MERKLE_MAP.try_lock() { + let stage_2_proof = match PARA_HEADERS_MAP.try_lock() { Ok(s) => { - s.get(&stage_4_root).cloned() + // Should instead be the stage_3_root + s.get(&stage_3_proof.root.clone()).cloned() }, Err(_) => { - log::error!("Could not lock MSG_ROOT_CHANNEL_MERKLE_MAP for reading"); + log::error!("Could not lock PARA_HEADERS_MAP for reading"); + None + }, + }.ok_or_else(|| { + log::error!("Could not read stage_2_root and stage_2 proof from PARA_HEADERS_MAP for stage 3 root {:?}", stage_3_proof.leaf); + RelayerError::Default + })?; + + // TODO: + // Lookup in `LEAVES_BEEFY_MMR_MAP` all values for keys (state_2_proof.root, _) collect into a vec + // Log size of this + // If size is 1 then place the proof and root into the stage_1 proof if not log error and go from there. + // Compare `para_header_root` to extra_data field. They should match.. + + let beefy_entries = match LEAVES_BEEFY_MMR_MAP.try_lock() { + Ok(mut s) => { + s.iter() + .filter(|((root, _), _)| *root == stage_2_proof.root) + .map(|(_, value)| value.clone()) + .collect::>() + }, + Err(_) => { + log::error!("Could not lock PARA_HEADERS_MAP for reading"); + Vec::new() + } + }; + + if beefy_entries.is_empty() { + log::error!("Beefy entries vec is empty.. issue with LOCK or lookup!"); + return Err(RelayerError::Default.into()) + } + + if beefy_entries.len() > 1 { + log::error!("Multiple Beefy Entries for same para_header_root taking the last!!!"); + } + + let stage_1_beefy_root = &beefy_entries[beefy_entries.len() - 1].0; + let stage_1_proof = &beefy_entries[beefy_entries.len() - 1].1; + + let stage_1_leaves = Decode::decode(&mut &stage_1_proof.leaves.0[..]) + .map_err(|e| anyhow::Error::new(e))?; + let stage_1_decoded_proof: XcmpProofType = Decode::decode(&mut &stage_1_proof.proof.0[..]) + .map_err(|e| anyhow::Error::new(e))?; + + match MSG_ROOT_MAP.try_lock() { + Ok(mut s) => { + s.remove(&stage_4_root) + }, + Err(_) => { + log::error!("Could not lock MSG_ROOT_MAP for reading"); None } }.ok_or_else(|| { - log::error!("Could not read stage_4_root and stage_4_proof from MSG_ROOT_CHANNEL_MERKLE_MAP"); + log::error!("Could not read stage_4_root and stage_4_proof from MSG_ROOT_MAP"); RelayerError::Default } )?; @@ -528,72 +652,27 @@ async fn generate_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient, .call(beefy_api_call) .await { Ok(root) => { - log::info!("Got root from `get_current_beefy_root` {:?}", root); + log::debug!("Got root from `get_current_beefy_root` {:?}", root); root }, Err(e) => { - log::info!("Got error from trying to call `get_current_beefy_root` {:?}", e); + log::error!("Got error from trying to call `get_current_beefy_root` {:?}", e); H256::zero() } }; - log::info!("Beefy Root obtained in generate_xcmp_proof: {:?}", beefy_root); - - - // 2.) Then call RPC to generate mmr_proof for Relay block number corresponding to this Beefy Root - let (relay_block_num, proof) = match BEEFY_MMR_MAP.try_lock() { - Ok(s) => { - s.get(&beefy_root).cloned() - }, - Err(_) => { - log::info!("Could not lock BEEFY_MMR_MAP for reading"); - None - } - }.ok_or_else(|| { - log::info!("Could not read relay_block_num and proof from BEEFY_MMR_MAP"); - RelayerError::Default - } - )?; - - let merkle_proof = match PARA_HEADERS_MAP.try_lock() { - Ok(s) => { - s.get(&beefy_root).cloned() - }, - Err(_) => { - log::info!("Could not lock PARA_HEADERS_MAP for reading"); - None - } - }.ok_or_else(|| { - log::info!("Could not read proof from PARA_HEADERS_MAP"); - RelayerError::Default - } - )?; - - let leaves = Decode::decode(&mut &proof.leaves.0[..]) - .map_err(|e| anyhow::Error::new(e))?; - let decoded_proof: XcmpProofType = Decode::decode(&mut &proof.proof.0[..]) - .map_err(|e| anyhow::Error::new(e))?; - - let dummy_proof: XcmpProofType = XcmpProofType:: { - leaf_indices: Vec::new(), - leaf_count: 0u64, - items: Vec::new(), - }; + log::info!("Beefy Root on Parachain {:?} Beefy Root needed to verify proof is {:?}", beefy_root, stage_1_beefy_root); let xcmp_proof = XcmpProof { - stage_1: (decoded_proof, leaves), - stage_2: merkle_proof.into(), - // TODO: Implement + stage_1: (stage_1_decoded_proof, stage_1_leaves), + stage_2: stage_2_proof.into(), stage_3: stage_3_proof.into(), - // TODO: Implement stage_4: (stage_4_decoded_proof, stage_4_leaves), }; - log::info!("Got Relayblock Num {} for Beefy Root {:?}", relay_block_num, beefy_root); - // 3.) Send transaction to chain for proof log::info!("calling submit_xcmp_proof"); - submit_xcmp_proof(&client, xcmp_proof, beefy_root).await?; + submit_xcmp_proof(&client, xcmp_proof, *stage_1_beefy_root).await?; Ok(()) } @@ -608,19 +687,20 @@ async fn update_root(client: &MultiClient, root: H256) -> anyhow::Result<()> { match tx_progress.wait_for_in_block().await { Ok(tx_in_block) => { match tx_in_block.wait_for_success().await { - Ok(events) => { log::info!("Got the tx in a block and it succeeded! {:?}", events); }, - Err(e) => { log::info!("Was not successful extrinsic ERROR:: {:?}", e); } + Ok(events) => { log::debug!("Got the tx in a block and it succeeded! {:?}", events); }, + Err(e) => { log::error!("Was not successful extrinsic ERROR:: {:?}", e); } } }, Err(e) => { - log::info!("Tx didnt get in a block error {:?}", e); + log::debug!("Tx didnt get in a block error {:?}", e); } } - log::info!("Hash of update_root: {:?}", hash_tx); + log::debug!("Hash of update_root: {:?}", hash_tx); Ok(()) } async fn submit_xcmp_proof(client: &MultiClient, xcmp_proof: XcmpProof, beefy_root: H256) -> anyhow::Result<()> { + log::info!("Entering `submit_xcmp_proof`"); let signer = dev::charlie(); let tx = crate::polkadot::tx().msg_stuffer_para_a().submit_xcmp_proof(xcmp_proof, beefy_root); @@ -650,30 +730,30 @@ async fn submit_proof(client: &MultiClient, proof: LeavesProof) -> anyhow: let leaves = Decode::decode(&mut &proof.leaves.0[..]) .map_err(|e| anyhow::Error::new(e))?; - log::info!("Decoded leaves {:?}", leaves); + log::debug!("Decoded leaves {:?}", leaves); let decoded_proof = Decode::decode(&mut &proof.proof.0[..]) .map_err(|e| anyhow::Error::new(e))?; - log::info!("Decoded proof {:?}", decoded_proof); + log::debug!("Decoded proof {:?}", decoded_proof); let tx = crate::polkadot::tx().msg_stuffer_para_a().submit_test_proof(decoded_proof, leaves, channel_id); let tx_progress = client.subxt_client.tx().sign_and_submit_then_watch_default(&tx, &signer).await?; let hash_tx = tx_progress.extrinsic_hash(); - log::info!("Got After submitting submit_test_proof"); + log::debug!("Got After submitting submit_test_proof"); match tx_progress.wait_for_in_block().await { Ok(tx_in_block) => { match tx_in_block.wait_for_success().await { - Ok(events) => { log::info!("Got the tx in a block and it succeeded! {:?}", events); }, - Err(e) => { log::info!("Was not successful extrinsic ERROR:: {:?}", e); } + Ok(events) => { log::debug!("Got the tx in a block and it succeeded! {:?}", events); }, + Err(e) => { log::debug!("Was not successful extrinsic ERROR:: {:?}", e); } } }, Err(e) => { - log::info!("Tx didnt get in a block error {:?}", e); + log::debug!("Tx didnt get in a block error {:?}", e); } } - log::info!("Hash of test_proof_submission: {:?}", hash_tx); + log::debug!("Hash of test_proof_submission: {:?}", hash_tx); Ok(()) } @@ -682,18 +762,19 @@ async fn get_proof_and_verify(client: &MultiClient, relay_client: &MultiClient, let client = client.clone(); let relay_client = relay_client.clone(); let recv_client = recv_client.clone(); - let mut root = generate_mmr_root(&client, Some(RECEIVER_CHANNEL_ID)).await?; - let mut proof = generate_mmr_proof(&client, 1u64, Some(RECEIVER_CHANNEL_ID)).await?; + let mut root = generate_mmr_root(&client, Some(RECEIVER_CHANNEL_ID), None).await?; + let mut proof = generate_mmr_proof(&client, 1u64, Some(RECEIVER_CHANNEL_ID), None).await?; let params = rpc_params![root, proof.clone()]; let request: Option = client.rpc_client.request("mmr_verifyProofStateless", params).await?; let verification = request.ok_or(RelayerError::Default)?; - log::info!("Was proof verified? Answer:: {}", verification); + log::debug!("Was proof verified? Answer:: {}", verification); task::spawn(async move { let mut blocks_sub = client.subxt_client.blocks().subscribe_best().await?; - while let Some(_block) = blocks_sub.next().await { + while let Some(block) = blocks_sub.next().await { + let block = block?; // check if current on chain root is equal to the original root to submit proof let onchain_root_query = crate::polkadot::storage().msg_stuffer_para_a().xcmp_channel_roots(0); @@ -714,24 +795,24 @@ async fn get_proof_and_verify(client: &MultiClient, relay_client: &MultiClient, }, Err(e) => format!("Cant update root on chain yet {:?}", e), }; - log::info!("{}", update_root_string); + log::debug!("{}", update_root_string); let _ = generate_xcmp_proof(&client, &relay_client, &recv_client).await; if onchain_root == root { - log::info!("onchain_root matches!!! submitting now!!"); + log::debug!("onchain_root matches!!! submitting now!!"); let submit_proof_string = match submit_proof(&client, proof.clone()).await { Ok(_) => { - root = generate_mmr_root(&client, Some(RECEIVER_CHANNEL_ID)).await?; - proof = generate_mmr_proof(&client, 1u64, Some(RECEIVER_CHANNEL_ID)).await?; + root = generate_mmr_root(&client, Some(RECEIVER_CHANNEL_ID), None).await?; + proof = generate_mmr_proof(&client, 1u64, Some(RECEIVER_CHANNEL_ID), None).await?; "Submit proof successfully submitted".to_string() }, Err(e) => format!("Cant submit proof on chain yet {:?}", e), }; - log::info!("{}", submit_proof_string); + log::debug!("{}", submit_proof_string); } else { - log::info!("Root on chain {:?} still doesnt match original root {:?}", onchain_root, root); + log::debug!("Root on chain {:?} still doesnt match original root {:?}", onchain_root, root); } } log::info!("EXITING!!!!!"); @@ -773,7 +854,7 @@ async fn log_all_mmr_roots(client: &MultiClient) -> anyhow::Result<()> { let params = rpc_params![Option::::None, para_id]; let request: Option = client.rpc_client.request("mmr_root", params).await?; let hash = request.ok_or(RelayerError::Default)?; - log::info!("Mmr root for block_hash {:?}, block_number {:?} root {:?}", block.hash(), block.number(), hash); + log::debug!("Mmr root for block_hash {:?}, block_number {:?} root {:?}", block.hash(), block.number(), hash); } Ok::<(), anyhow::Error>(()) @@ -809,8 +890,8 @@ async fn log_all_mmr_proofs(client: &MultiClient) -> anyhow::Result<()> { let curr_proof_size = proof.proof.len() as u64; proof_sizes.push(curr_proof_size); let mean = do_mean(&proof_sizes).await?; - log::info!("num of mmr blocks: {}, counter value: {}, proof_size: {}, curr_avg_proof_size: {}", mmr_blocks_to_query.len(), mmr_blocks_benchmark_counter, curr_proof_size, mean); - log::info!("Mmr proof for block_hash {:?}, block_number {:?}, proof {:?}", block.hash(), block.number(), proof); + log::debug!("num of mmr blocks: {}, counter value: {}, proof_size: {}, curr_avg_proof_size: {}", mmr_blocks_to_query.len(), mmr_blocks_benchmark_counter, curr_proof_size, mean); + log::debug!("Mmr proof for block_hash {:?}, block_number {:?}, proof {:?}", block.hash(), block.number(), proof); } Ok::<(), anyhow::Error>(()) @@ -837,7 +918,7 @@ async fn try_generate_mmr_proof( let mut attempts = 0u32; loop { - log::info!("Entering generate_mmr_proof block_num {}", block_num); + log::debug!("Entering generate_mmr_proof block_num {}", block_num); let params = match channel_id { Some(id) => rpc_params![vec![block_num], Option::::None, Option::::None, id], @@ -846,7 +927,7 @@ async fn try_generate_mmr_proof( match client.rpc_client.request::>, _>("mmr_generateProof", params).await { Ok(opt_proof) => { - log::info!("MMR proof obtained for block_num {}", block_num); + log::debug!("MMR proof obtained for block_num {}", block_num); return opt_proof.ok_or(anyhow::anyhow!("Proof was None")) }, Err(e) if attempts < MAX_ATTEMPTS => { @@ -864,44 +945,45 @@ async fn try_generate_mmr_proof( async fn generate_mmr_proof( client: &MultiClient, block_num: u64, - channel_id: Option + channel_id: Option, + block_hash: Option ) -> anyhow::Result> { - log::info!("Entering generate_mmr_proof block_num {}", block_num); + log::debug!("Entering generate_mmr_proof block_num {}", block_num); let params = if let Some(id) = channel_id { - rpc_params![vec![block_num], Option::::None, Option::::None, id] + rpc_params![vec![block_num], Option::::None, block_hash, id] } else { - rpc_params![vec![block_num], Option::::None, Option::::None] + rpc_params![vec![block_num], Option::::None, block_hash] }; let request: Option> = match client.rpc_client.request("mmr_generateProof", params).await { Ok(opt_proof) => { - log::info!("Got proof from request.. block_num {}", block_num); + log::debug!("Got proof from request.. block_num {}", block_num); opt_proof }, Err(e) => { - log::info!("Couldnt Get MMR request error {:?}", e); + log::error!("Couldnt Get MMR request error {:?}", e); None } }; let proof = request.ok_or(RelayerError::Default)?; - log::info!("Proof obtained:: {:?}", proof); + log::debug!("Proof obtained:: {:?}", proof); Ok(proof) } // Call generate mmr proof for sender -async fn generate_mmr_root(client: &MultiClient, channel_id: Option) -> anyhow::Result { +async fn generate_mmr_root(client: &MultiClient, channel_id: Option, block_hash: Option) -> anyhow::Result { let params = if let Some(id) = channel_id { - rpc_params![Option::::None, id] + rpc_params![block_hash, id] } else { - rpc_params![Option::::None] + rpc_params![block_hash] }; let request: Option = client.rpc_client.request("mmr_root", params).await?; let root = request.ok_or(RelayerError::Default)?; - log::info!("root obtained:: {:?}", root); + log::debug!("root obtained:: {:?}", root); Ok(root) } From 57ca65edc32edd061391f33f9a5020b78d492952 Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Tue, 19 Mar 2024 15:09:40 +0100 Subject: [PATCH 09/11] final cleanup --- xcmp_relayer/src/main.rs | 50 +++++++--------------------------------- 1 file changed, 8 insertions(+), 42 deletions(-) diff --git a/xcmp_relayer/src/main.rs b/xcmp_relayer/src/main.rs index 4af0663..c159def 100644 --- a/xcmp_relayer/src/main.rs +++ b/xcmp_relayer/src/main.rs @@ -8,7 +8,6 @@ use cumulus_primitives_core::xcmr_digest::extract_xcmp_channel_merkle_root; use runtime::{pallet_xcmp_message_stuffer::ChannelMerkleProof, BlockNumber, Hash, Header}; use sp_mmr_primitives::EncodableOpaqueLeaf; use sp_consensus_beefy::mmr::{MmrLeafVersion, MmrLeaf}; -// use polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}; use std::{ collections::BTreeMap, ops::Sub, sync::Mutex, time::Duration }; @@ -188,7 +187,6 @@ type BeefyMmrRoot = H256; type RelayBlockIndex = u32; lazy_static! { - static ref BEEFY_MMR_MAP: Mutex)>> = Mutex::new(BTreeMap::new()); // Mapping (ParaHeaderRoot, RelayBlockNum) -> (BeefyMmrRoot, Proof) static ref LEAVES_BEEFY_MMR_MAP: Mutex)>> = Mutex::new(BTreeMap::new()); static ref PARA_HEADERS_MAP: Mutex> = Mutex::new(BTreeMap::new()); @@ -207,23 +205,12 @@ async fn main() -> anyhow::Result<()> { let para_receiver_api = MultiClient::new(DEFAULT_ENDPOINT_PARA_RECEIVER, DEFAULT_RPC_ENDPOINT_PARA_RECEIVER).await?; let relay_api = MultiClient::new(DEFAULT_ENDPOINT_RELAY, DEFAULT_RPC_ENDPOINT_RELAY).await?; - // 1.) Collect all Beefy Mmr Roots from Relaychain into a HashMap (BeefyMmrRoot -> Relaychain Block number) - // Collect all ParaHeaders from sender in order to generate opening in - // 2.) ParaHeader Merkle tree (ParaId, ParaHeader(As HeadData)) let _ = collect_relay_data(&relay_api).await?; let _ = collect_para_data(¶_sender_api).await?; - // TODO: Create mapping between Parablock Num -> Vec of all channel Mmr Roots for sender - // Keep track of Mmr Index which correspondings to the receiver.. - // let _ = collect_all_mmr_roots_for_sender(&sender_api).await?; - - // TODO: Add this as a RuntimeApi for generating this from the Relaychain directly - // since data is stored there and proof can easily be generated from Validator - // Then just Relay this over to receiver correctly in stage 2 of proof - // How to convert ParaHeader -> HeadData? Just encode the header as bytes?? - let _ = log_all_mmr_roots(¶_sender_api).await?; let _ = log_all_mmr_proofs(¶_sender_api).await?; + let _ = get_proof_and_verify(¶_sender_api, &relay_api, ¶_receiver_api).await?; let _subscribe = log_all_blocks(&vec![para_sender_api, para_receiver_api, relay_api]).await?; @@ -283,27 +270,13 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { } )?; - match BEEFY_MMR_MAP.try_lock() { - Ok(mut s) => { - s.insert(root.clone(), (block.number(), proof.clone())); - log::debug!( - "Inserting into storage Beefy root {:?}, for relay block number {}", - root, - block.number() - ) - }, - Err(_) => log::error!("Could not lock BEEFY_MMR_MAP for writing") - } - - // TODO: // Decode Beefy proof leaves into MmrLeaf type get ParaHeaderRoot from extra_data field // First go from EncodableOpaqueLeaf -> OpaqueLeaf -> MmrLeaf let beefy_leaves: Vec = Decode::decode(&mut &proof.leaves.0[..]) .map_err(|e| anyhow::Error::new(e))?; - // TODO: Search through each leaf for the para_header_root from extra_data field + // Search through each leaf for the para_header_root from extra_data field // the element should be one leaf since we only request leaves proof for one blocknum - if beefy_leaves.len() > 1 { log::error!("Beefy leaves are greater than 1!!!!! issue storing"); } @@ -317,6 +290,7 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { anyhow::Error::new(e) })?; + // Store as (ParaHeaderRoot, RelayBlockNum) -> (BeefyMmrRoot, Proof) match LEAVES_BEEFY_MMR_MAP.try_lock() { Ok(mut s) => { log::debug!( @@ -328,9 +302,6 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { Err(_) => log::error!("Could not lock LEAVES_BEEFY_MMR_MAP for writing") } - - // Store in (ParaHeaderRoot, RelayBlockNum) -> (BeefyMmrRoot, Proof) - let id = ParaId(1000u32); let para_merkle_call = relay::apis().paras_api().get_para_heads_proof(id); @@ -369,6 +340,7 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { return Err(RelayerError::Default.into()) } + // Now have the `para_header_root` which will be a leaf in the Beefy Mmr match PARA_HEADERS_MAP.try_lock() { Ok(mut s) => { log::debug!( @@ -381,9 +353,6 @@ async fn collect_relay_data(client: &MultiClient) -> anyhow::Result<()> { Err(_) => log::error!("Could not lock PARA_HEADERS_MAP for writing") } - // Now have the `para_header_root` which will be a leaf in the Beefy Mmr - // Need the Beefy Root + Proof which includes the opening for this leaf - log::debug!("Beefy Mmr Root from Relaychain Obtained:: {:?}", root); log::debug!("Para Merkle Proof from Relaychain Obtained:: {:?}", para_merkle_proof); } @@ -404,7 +373,6 @@ async fn extract_xcmp_channel_root(leaf: ParaLeaf) -> anyhow::Result { let xcmp_channel_root: H256 = extract_xcmp_channel_merkle_root(&header.digest).ok_or(RelayerError::Default)?; // Extract the XcmpChannelBinaryMerkleRoot from the Digest - // Return the root Ok(xcmp_channel_root) } @@ -510,6 +478,8 @@ async fn collect_para_data(client: &MultiClient) -> anyhow::Result<()> { Ok(()) } +// TODO: Add documentation for this function and add helper functions for each step to make it smaller and +// easier to digest async fn generate_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient, recv_client: &MultiClient) -> anyhow::Result<()> { log::info!("Entered generate xcmp proof"); let client = client.clone(); @@ -581,7 +551,6 @@ async fn generate_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient, let stage_2_proof = match PARA_HEADERS_MAP.try_lock() { Ok(s) => { - // Should instead be the stage_3_root s.get(&stage_3_proof.root.clone()).cloned() }, Err(_) => { @@ -593,12 +562,9 @@ async fn generate_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient, RelayerError::Default })?; - // TODO: // Lookup in `LEAVES_BEEFY_MMR_MAP` all values for keys (state_2_proof.root, _) collect into a vec // Log size of this - // If size is 1 then place the proof and root into the stage_1 proof if not log error and go from there. - // Compare `para_header_root` to extra_data field. They should match.. - + // If size is 1 then place the proof and root into the stage_1 proof if not log error and take last entry let beefy_entries = match LEAVES_BEEFY_MMR_MAP.try_lock() { Ok(mut s) => { s.iter() @@ -643,7 +609,7 @@ async fn generate_xcmp_proof(client: &MultiClient, _relay_client: &MultiClient, } )?; - // 1.) For each para block on receiver get the current Beefy Root on chain via RPC or subxt + // Checking which is the current beefy root on chain for logging let beefy_api_call = polkadot::apis().messaging_api().get_current_beefy_root(); let beefy_root = match client.subxt_client .runtime_api() From 27769d922ed995a90eced0678599d3563a1a1e7a Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Fri, 22 Mar 2024 13:18:48 +0100 Subject: [PATCH 10/11] verifying full XCMP proof successfully --- Cargo.lock | 1 + pallets/xcmp_message_stuffer/Cargo.toml | 2 + pallets/xcmp_message_stuffer/src/lib.rs | 176 ++++++++++++++++-------- 3 files changed, 120 insertions(+), 59 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c269cf3..b224a3a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7003,6 +7003,7 @@ dependencies = [ name = "pallet-xcmp-message-stuffer" version = "0.1.0" dependencies = [ + "binary-merkle-tree", "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", "cumulus-primitives-core", diff --git a/pallets/xcmp_message_stuffer/Cargo.toml b/pallets/xcmp_message_stuffer/Cargo.toml index 21ffee3..f3c4be1 100644 --- a/pallets/xcmp_message_stuffer/Cargo.toml +++ b/pallets/xcmp_message_stuffer/Cargo.toml @@ -26,6 +26,7 @@ sp-core = { workspace = true, default-features = false } sp-runtime = { workspace = true, default-features = false } sp-mmr-primitives = { workspace = true } sp-api = { workspace = true } +binary-merkle-tree = { workspace = true } # Polkadot polkadot-runtime-parachains = { workspace = true } @@ -56,6 +57,7 @@ runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks"] std = [ "parity-scale-codec/std", "polkadot-runtime-parachains/std", + "binary-merkle-tree/std", "cumulus-pallet-parachain-system/std", "cumulus-primitives-core/std", "frame-benchmarking/std", diff --git a/pallets/xcmp_message_stuffer/src/lib.rs b/pallets/xcmp_message_stuffer/src/lib.rs index 5d48323..a07e4a8 100644 --- a/pallets/xcmp_message_stuffer/src/lib.rs +++ b/pallets/xcmp_message_stuffer/src/lib.rs @@ -2,16 +2,17 @@ pub use pallet::*; use pallet_mmr::{LeafDataProvider, ParentNumberAndHash, verify_leaves_proof}; -use sp_consensus_beefy::mmr::MmrLeafVersion; use frame_support::{dispatch::{DispatchResult}, pallet_prelude::*, WeakBoundedVec}; use frame_system::pallet_prelude::*; -use cumulus_primitives_core::{ParaId, GetBeefyRoot}; +use cumulus_primitives_core::{ParaId, GetBeefyRoot, xcmr_digest::extract_xcmp_channel_merkle_root}; use sp_runtime::traits::{Hash as HashT, Keccak256}; use sp_core::H256; -use polkadot_runtime_parachains::paras::ParaMerkleProof; +use polkadot_runtime_parachains::paras::{ParaMerkleProof, ParaLeaf}; +use binary_merkle_tree::Leaf; use sp_mmr_primitives::{Proof, EncodableOpaqueLeaf, DataOrHash}; +use sp_consensus_beefy::mmr::{MmrLeafVersion, MmrLeaf as BeefyMmrLeaf}; use scale_info::prelude::vec::Vec; #[cfg(test)] @@ -55,7 +56,6 @@ impl Default for ChannelMerkleProof { type XcmpMessages = <>::XcmpDataProvider as XcmpMessageProvider<::Hash>>::XcmpMessages; type MmrProof = Proof; type ChannelId = u64; -type BinaryMerkleProof = (); #[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] pub struct XcmpProof { @@ -119,6 +119,16 @@ pub mod pallet { XcmpProofLeavesNotValid, XcmpNoChannelRootForChannelId, XcmpBeefyRootTargetedNeverSeen, + XcmpStage1LeavesTooLarge, + XcmpStage1ProofDoesntVerify, + XcmpStage2RootDoesntMatch, + XcmpStage2LeafDoesntDecode, + XcmpStage2ProofDoesntVerify, + XcmpStage3HeaderDoesntDecode, + XcmpStage3CannotBeExtracted, + XcmpStage3RootDoesntMatch, + XcmpStage3ProofDoesntVerify, + XcmpStage4ProofDoesntVerify, } #[pallet::hooks] @@ -184,7 +194,7 @@ pub mod pallet { } /// TODO: This is just for testing relayer for now. The root should be updated by checking - /// the relaychain updated XCMPTrie + /// the relaychain updated XCMPTrie remove #[pallet::call_index(1)] #[pallet::weight(Weight::from_parts(10_000, 0) + T::DbWeight::get().writes(1))] pub fn update_root(origin: OriginFor, root: H256, channel_id: u64) -> DispatchResult { @@ -225,65 +235,96 @@ pub mod pallet { .collect(); // TODO: Replace this error with an Error that specifies stage_1 of proof verification failed - verify_leaves_proof(beefy_root_targeted.into(), nodes, stage_1_proof).map_err(|_| Error::::XcmpProofNotValid)?; + verify_leaves_proof(beefy_root_targeted.into(), nodes, stage_1_proof).map_err(|_| Error::::XcmpStage1ProofDoesntVerify)?; log::info!( target: LOG_TARGET, - "Verified Stage 1 Big XCMP Proof Successfully!!!", + "Verified Stage 1 XCMP Proof Successfully!!!", ); - // Verify stage 2.. - // grab ParaHeader root from stage_1_proof - // let para_header_root = Decode::decode(stage_1_leaves) - // Take Last leaf element as the para_header_root selected - // let (stage_2_proof, stage_2_leaves) = xcmp_proof.stage_2; - - // These are different leaves they arent the MmrLeaves they are Binary Merkle Leaves - // This will be a bit different but same rough idea as the Mmr - // let nodes: Vec<_> = stage_2_leaves - // .clone() - // .into_iter() - // .map(|leaf|DataOrHash::::Data(leaf.into_opaque_leaf())) - // .collect(); - - // binary merkle proof verification of para_header_root against stage_2_proof(leaves are (para_id, para_header)) - // verify_proof(root, nodes, stage_2_proof); - - // let (para_id, para_header) = Decode::decode(stage_2_leaves); - // Check channels storage to make sure this ParaId is someone that we support - // if !XcmpChannels::::exists(para_id) { - // return Error::::XcmpProofNoChannelWithSender - // } - - // Verify stage 3.. - // extract xcmp_root from paraheader.. - // let xcmp_root = extract(para_header) - // let (stage_3_proof, stage_3_leaves) = xcmp_proof.stage_3; - - // These are different leaves they arent the MmrLeaves they are Binary Merkle Leaves - // This will be a bit different but same rough idea as the Mmr - // let nodes: Vec<_> = stage_3_leaves - // .clone() - // .into_iter() - // .map(|leaf|DataOrHash::::Data(leaf.into_opaque_leaf())) - // .collect(); - - // binary merkle proof verification of xcmp_root against stage_3_proof(mmr_root_from_sender) - // verify_proof(xcmp_root, nodes, stage_3_proof)?; - - // Verify stage 4.. - // let mmr_root = Decode::decode(stage_3_leaves); - // let (stage_4_proof, stage_4_leaves) = xcmp_proof.stage_4; - - // let nodes: Vec<_> = stage_4_leaves - // .clone() - // .into_iter() - // .map(|leaf|DataOrHash::::Data(leaf.into_opaque_leaf())) - // .collect(); - - // TODO: Replace this error with an Error that specifies stage_4 of proof verification failed - // verify_leaves_proof(mmr_root.into(), nodes, stage_4_proof).map_err(|_| Error::::XcmpProofNotValid)?; + if stage_1_leaves.len() > 1 { + log::error!("stage_1_leaves length too long {}", stage_1_leaves.len()); + return Err(Error::::XcmpStage1LeavesTooLarge.into()) + } + + let stage_1_leaf = &stage_1_leaves[0]; + let stage_1_leaf = stage_1_leaf.clone().into_opaque_leaf(); + + let stage_2_leaf: BeefyMmrLeaf, H256, H256, H256> = Decode::decode(&mut &stage_1_leaf.0[..]) + .map_err(|e| { + log::error!("COULD NOT DECODE LEAF!! WITH ERROR {:?}", e); + Error::::XcmpStage2LeafDoesntDecode + })?; + + let stage_2_root_from_proof = xcmp_proof.stage_2.root; + let stage_2_root = stage_2_leaf.leaf_extra; + + if stage_2_root != stage_2_root_from_proof { + log::error!("Stage_2 Root no match failed to verify Proof!"); + return Err(Error::::XcmpStage2RootDoesntMatch.into()) + } + let stage_2_result = binary_merkle_tree::verify_proof::( + &xcmp_proof.stage_2.root, + xcmp_proof.stage_2.proof, + xcmp_proof.stage_2.num_leaves.try_into().unwrap(), + xcmp_proof.stage_2.leaf_index.try_into().unwrap(), + Leaf::Value(&xcmp_proof.stage_2.leaf.encode()), + ); + + if !stage_2_result { + log::error!("Stage 2 proof doesnt verify!!!!!!"); + return Err(Error::::XcmpStage2ProofDoesntVerify.into()) + } + + log::info!( + target: LOG_TARGET, + "Verified Stage 2 XCMP Proof Successfully!!!", + ); + + let stage_3_root = Self::extract_xcmp_channel_root(xcmp_proof.stage_2.leaf.clone())?; + + if stage_3_root != xcmp_proof.stage_3.root { + log::error!("Stage_3 Root no match failed to verify Proof!"); + return Err(Error::::XcmpStage3RootDoesntMatch.into()) + } + + let stage_3_result = binary_merkle_tree::verify_proof::( + &xcmp_proof.stage_3.root, + xcmp_proof.stage_3.proof, + xcmp_proof.stage_3.num_leaves.try_into().unwrap(), + xcmp_proof.stage_3.leaf_index.try_into().unwrap(), + &xcmp_proof.stage_3.leaf, + ); + + if !stage_3_result { + log::error!("Stage 3 proof doesnt verify!!!!!!"); + return Err(Error::::XcmpStage3ProofDoesntVerify.into()) + } + + log::info!( + target: LOG_TARGET, + "Verified Stage 3 XCMP Proof Successfully!!!", + ); + + let stage_4_root = xcmp_proof.stage_3.leaf; + + let (stage_4_proof, stage_4_leaves) = xcmp_proof.stage_4; + + let nodes: Vec<_> = stage_4_leaves + .clone() + .into_iter() + .map(|leaf|DataOrHash::::Data(leaf.into_opaque_leaf())) + .collect(); + + verify_leaves_proof(stage_4_root.into(), nodes, stage_4_proof).map_err(|_| Error::::XcmpStage4ProofDoesntVerify)?; + + log::info!( + target: LOG_TARGET, + "Verified Stage 4 XCMP Proof Successfully!!!", + ); + + // TODO: // Now process messages upstream // let xcmp_messages = Decode::decode(stage_4_leaves); // Send Xcmp Messages upstream to be decoded to XCM messages and processed @@ -297,7 +338,24 @@ pub mod pallet { } -// TODO: Add Inherent which can update the current `XcmpChannelRoots` against the current BeefyMmrRoot + +impl, I: 'static> Pallet { + + fn extract_xcmp_channel_root(leaf: ParaLeaf) -> Result> { + // First decode ParaLeaf.head_data into a ParaHeader + let header: sp_runtime::generic::Header = + sp_runtime::generic::Header::decode(&mut &leaf.head_data[..]) + .map_err(|_e| Error::::XcmpStage3HeaderDoesntDecode)?; + + log::debug!("EXTRACTED AND DECODED HEADERRR DANKEEEE!!!!!!{:?}", header); + + // extracting root from digest + let xcmp_channel_root: H256 = extract_xcmp_channel_merkle_root(&header.digest).ok_or(Error::::XcmpStage3CannotBeExtracted)?; + + // Extract the XcmpChannelBinaryMerkleRoot from the Digest + Ok(xcmp_channel_root) + } +} pub struct OnNewRootSatisfier(PhantomData); From 0a85368691d62e1a90a5bbca7cd60823cf0be6a3 Mon Sep 17 00:00:00 2001 From: Andrew Burger Date: Fri, 22 Mar 2024 13:32:11 +0100 Subject: [PATCH 11/11] removing merge stuff --- pallets/xcmp_message_stuffer/src/lib.rs | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pallets/xcmp_message_stuffer/src/lib.rs b/pallets/xcmp_message_stuffer/src/lib.rs index 15e5b78..a07e4a8 100644 --- a/pallets/xcmp_message_stuffer/src/lib.rs +++ b/pallets/xcmp_message_stuffer/src/lib.rs @@ -56,10 +56,6 @@ impl Default for ChannelMerkleProof { type XcmpMessages = <>::XcmpDataProvider as XcmpMessageProvider<::Hash>>::XcmpMessages; type MmrProof = Proof; type ChannelId = u64; -<<<<<<< HEAD -======= -type BinaryMerkleProof = (); ->>>>>>> main #[derive(Debug, PartialEq, Eq, Clone, Encode, Decode, TypeInfo)] pub struct XcmpProof { @@ -246,18 +242,10 @@ pub mod pallet { "Verified Stage 1 XCMP Proof Successfully!!!", ); -<<<<<<< HEAD if stage_1_leaves.len() > 1 { log::error!("stage_1_leaves length too long {}", stage_1_leaves.len()); return Err(Error::::XcmpStage1LeavesTooLarge.into()) } -======= - // Verify stage 2.. - // grab ParaHeader root from stage_1_proof - // let para_header_root = Decode::decode(stage_1_leaves) - // Take Last leaf element as the para_header_root selected - // let (stage_2_proof, stage_2_leaves) = xcmp_proof.stage_2; ->>>>>>> main let stage_1_leaf = &stage_1_leaves[0]; let stage_1_leaf = stage_1_leaf.clone().into_opaque_leaf();