From 89ddfb28c8d576a0d9b83c9cc7f6c16c6d513f52 Mon Sep 17 00:00:00 2001 From: Cyrill Leutwiler Date: Thu, 21 Nov 2024 12:22:15 +0100 Subject: [PATCH 1/5] CI: ignore the broken test (#116) Signed-off-by: Cyrill Leutwiler --- crates/differential/src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/differential/src/lib.rs b/crates/differential/src/lib.rs index d294b10..2462b84 100644 --- a/crates/differential/src/lib.rs +++ b/crates/differential/src/lib.rs @@ -557,6 +557,7 @@ allocated bytes: 3711"#; } #[test] + #[ignore] // https://github.com/ethereum/go-ethereum/issues/30778 fn bench_flipper() { let log_runtime = Evm::default() .code_blob(EVM_BIN_RUNTIME_FIXTURE.as_bytes().to_vec()) From 87f2bcefb3ee4890081d693556ab5d36504c7b00 Mon Sep 17 00:00:00 2001 From: Cyrill Leutwiler Date: Thu, 21 Nov 2024 21:48:42 +0100 Subject: [PATCH 2/5] dump the elf shared object into the debug output directory (#119) Signed-off-by: Cyrill Leutwiler --- crates/common/src/extension.rs | 3 +++ crates/linker/src/lib.rs | 9 ++------- crates/llvm-context/src/debug_config/ir_type.rs | 3 +++ crates/llvm-context/src/debug_config/mod.rs | 10 ++++++++++ crates/llvm-context/src/polkavm/context/mod.rs | 10 ++++++++-- 5 files changed, 26 insertions(+), 9 deletions(-) diff --git a/crates/common/src/extension.rs b/crates/common/src/extension.rs index 64e2385..d37fe4c 100644 --- a/crates/common/src/extension.rs +++ b/crates/common/src/extension.rs @@ -41,3 +41,6 @@ pub static EXTENSION_POLKAVM_ASSEMBLY: &str = "pvmasm"; /// The PolkaVM bytecode file extension. pub static EXTENSION_POLKAVM_BINARY: &str = "pvm"; + +/// The ELF shared object file extension. +pub static EXTENSION_SHARED_OBJECT: &str = "so"; diff --git a/crates/linker/src/lib.rs b/crates/linker/src/lib.rs index b5c81cb..e49bb37 100644 --- a/crates/linker/src/lib.rs +++ b/crates/linker/src/lib.rs @@ -29,7 +29,7 @@ fn invoke_lld(cmd_args: &[&str]) -> bool { unsafe { LLDELFLink(args.as_ptr(), args.len()) == 0 } } -fn polkavm_linker>(code: T) -> anyhow::Result> { +pub fn polkavm_linker>(code: T) -> anyhow::Result> { let mut config = polkavm_linker::Config::default(); config.set_strip(true); config.set_optimize(true); @@ -79,10 +79,5 @@ pub fn link>(input: T) -> anyhow::Result> { return Err(anyhow::anyhow!("ld.lld failed")); } - if env::var("PVM_LINKER_DUMP_SO").is_ok() { - fs::copy(&output_path, "/tmp/out.so")?; - }; - - let blob = fs::read(&output_path)?; - polkavm_linker(blob) + Ok(fs::read(&output_path)?) } diff --git a/crates/llvm-context/src/debug_config/ir_type.rs b/crates/llvm-context/src/debug_config/ir_type.rs index 2ea88f9..43a4448 100644 --- a/crates/llvm-context/src/debug_config/ir_type.rs +++ b/crates/llvm-context/src/debug_config/ir_type.rs @@ -15,6 +15,8 @@ pub enum IRType { LLVM, /// Whether to dump the assembly code. Assembly, + /// Whether to dump the ELF shared object + SO, /// Whether to jump JSON #[cfg(debug_assertions)] JSON, @@ -31,6 +33,7 @@ impl IRType { Self::Assembly => revive_common::EXTENSION_POLKAVM_ASSEMBLY, #[cfg(debug_assertions)] Self::JSON => revive_common::EXTENSION_JSON, + Self::SO => revive_common::EXTENSION_SHARED_OBJECT, } } } diff --git a/crates/llvm-context/src/debug_config/mod.rs b/crates/llvm-context/src/debug_config/mod.rs index 49c31ac..f44cb19 100644 --- a/crates/llvm-context/src/debug_config/mod.rs +++ b/crates/llvm-context/src/debug_config/mod.rs @@ -94,6 +94,16 @@ impl DebugConfig { Ok(()) } + /// Dumps the code object. + pub fn dump_object(&self, contract_path: &str, code: &[u8]) -> anyhow::Result<()> { + let mut file_path = self.output_directory.to_owned(); + let full_file_name = Self::full_file_name(contract_path, None, IRType::SO); + file_path.push(full_file_name); + std::fs::write(file_path, code)?; + + Ok(()) + } + /// Dumps the stage output as a json file suitable for use with --recursive-process #[cfg(debug_assertions)] pub fn dump_stage_output( diff --git a/crates/llvm-context/src/polkavm/context/mod.rs b/crates/llvm-context/src/polkavm/context/mod.rs index bf39ded..9feb925 100644 --- a/crates/llvm-context/src/polkavm/context/mod.rs +++ b/crates/llvm-context/src/polkavm/context/mod.rs @@ -296,11 +296,17 @@ where ) })?; - let bytecode = revive_linker::link(buffer.as_slice())?; + let shared_object = revive_linker::link(buffer.as_slice())?; + + if let Some(ref debug_config) = self.debug_config { + debug_config.dump_object(contract_path, &shared_object)?; + } + + let polkavm_bytecode = revive_linker::polkavm_linker(shared_object)?; let build = match crate::polkavm::build_assembly_text( contract_path, - &bytecode, + &polkavm_bytecode, metadata_hash, self.debug_config(), ) { From dbb47fd13e381d285ad9a050e025bdfaf86034cb Mon Sep 17 00:00:00 2001 From: Cyrill Leutwiler Date: Fri, 22 Nov 2024 08:56:09 +0100 Subject: [PATCH 3/5] experimental: support for debug info (#118) Signed-off-by: wpt967 Signed-off-by: xermicus --- Cargo.lock | 253 +++++++++--------- crates/linker/src/lib.rs | 4 +- crates/llvm-context/src/debug_config/mod.rs | 97 ++++--- crates/llvm-context/src/lib.rs | 1 + .../src/optimizer/settings/mod.rs | 2 +- .../src/polkavm/context/debug_info.rs | 127 +++++++-- .../polkavm/context/function/declaration.rs | 4 + .../src/polkavm/context/function/mod.rs | 10 + .../context/function/runtime/deploy_code.rs | 7 +- .../polkavm/context/function/runtime/entry.rs | 6 +- .../function/runtime/immutable_data_load.rs | 4 +- .../context/function/runtime/runtime_code.rs | 7 +- .../llvm-context/src/polkavm/context/mod.rs | 151 +++++++++-- .../llvm-context/src/polkavm/context/tests.rs | 2 +- crates/llvm-context/src/polkavm/mod.rs | 10 +- crates/solidity/src/evmla/assembly/mod.rs | 23 +- .../src/evmla/ethereal_ir/function/mod.rs | 4 +- crates/solidity/src/lib.rs | 14 +- crates/solidity/src/process/input.rs | 4 +- crates/solidity/src/process/mod.rs | 21 +- crates/solidity/src/project/contract/mod.rs | 8 +- crates/solidity/src/project/mod.rs | 4 +- crates/solidity/src/resolc/arguments.rs | 5 + crates/solidity/src/resolc/main.rs | 9 +- .../src/solc/standard_json/output/mod.rs | 6 +- crates/solidity/src/test_utils.rs | 13 +- .../src/tests/cli-tests/src/entities.ts | 6 + .../src/tests/cli-tests/tests/common.test.ts | 68 ++++- crates/solidity/src/yul/lexer/mod.rs | 20 +- .../lexer/token/lexeme/comment/multi_line.rs | 14 +- .../lexer/token/lexeme/comment/single_line.rs | 4 +- .../src/yul/lexer/token/lexeme/identifier.rs | 5 +- .../src/yul/lexer/token/lexeme/keyword.rs | 3 + .../yul/lexer/token/lexeme/literal/integer.rs | 4 + .../yul/lexer/token/lexeme/literal/string.rs | 3 + .../solidity/src/yul/lexer/token/location.rs | 10 +- crates/solidity/src/yul/lexer/token/mod.rs | 4 +- crates/solidity/src/yul/parser/error.rs | 3 + .../src/yul/parser/statement/assignment.rs | 10 +- .../src/yul/parser/statement/block.rs | 23 +- .../yul/parser/statement/expression/mod.rs | 6 +- .../parser/statement/function_definition.rs | 12 +- .../src/yul/parser/statement/object.rs | 16 ++ .../parser/statement/variable_declaration.rs | 8 +- 44 files changed, 730 insertions(+), 285 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 77cb70e..651ce61 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -203,7 +203,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "syn-solidity 0.4.2", "tiny-keccak", ] @@ -219,7 +219,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -235,7 +235,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "syn-solidity 0.8.12", "tiny-keccak", ] @@ -251,7 +251,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "syn-solidity 0.8.12", ] @@ -371,7 +371,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -805,7 +805,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -822,7 +822,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -1366,9 +1366,9 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytemuck" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" +checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" [[package]] name = "byteorder" @@ -1524,7 +1524,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2004,7 +2004,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2220,7 +2220,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2246,7 +2246,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2264,7 +2264,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2288,7 +2288,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2299,7 +2299,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2340,7 +2340,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2351,7 +2351,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2364,7 +2364,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2384,7 +2384,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "unicode-xid", ] @@ -2438,7 +2438,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2478,7 +2478,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.87", + "syn 2.0.89", "termcolor", "toml 0.8.19", "walkdir", @@ -2626,7 +2626,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2637,7 +2637,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2728,7 +2728,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -2930,7 +2930,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -3066,7 +3066,7 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -3078,7 +3078,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -3088,7 +3088,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -3218,7 +3218,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -3402,9 +3402,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ "atomic-waker", "bytes", @@ -3635,9 +3635,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" dependencies = [ "bytes", "futures-channel", @@ -3815,7 +3815,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -3894,13 +3894,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.89", ] [[package]] @@ -3971,7 +3971,7 @@ source = "git+https://github.com/TheDan64/inkwell.git?rev=7b410298b6a93450adaa90 dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4049,9 +4049,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "540654e97a3f4470a492cd30ff187bc95d89557a903a2bbf112e2fae98104ef2" [[package]] name = "jni" @@ -4196,7 +4196,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4313,9 +4313,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.162" +version = "0.2.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" +checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" [[package]] name = "libm" @@ -4484,7 +4484,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4498,7 +4498,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4509,7 +4509,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4520,7 +4520,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -4560,7 +4560,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.40", + "rustix 0.38.41", ] [[package]] @@ -4707,7 +4707,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -5383,7 +5383,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -6148,7 +6148,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -6768,9 +6768,9 @@ checksum = "16b56e3a2420138bdb970f84dfb9c774aea80fa0e7371549eedec0d80c209c67" [[package]] name = "parity-scale-codec" -version = "3.6.12" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +checksum = "8be4817d39f3272f69c59fe05d0535ae6456c2dc2fa1ba02910296c7e0a5c590" dependencies = [ "arrayvec", "bitvec", @@ -6778,19 +6778,20 @@ dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec-derive", + "rustversion", "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "8781a75c6205af67215f382092b6e0a4ff3734798523e69073d4bcd294ec767b" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.89", ] [[package]] @@ -6890,7 +6891,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7526,7 +7527,7 @@ dependencies = [ "polkavm-common 0.9.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7538,7 +7539,7 @@ dependencies = [ "polkavm-common 0.14.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7548,7 +7549,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" dependencies = [ "polkavm-derive-impl 0.9.0", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7558,7 +7559,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b569754b15060d03000c09e3bf11509d527f60b75d79b4c30c3625b5071d9702" dependencies = [ "polkavm-derive-impl 0.14.0", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7667,7 +7668,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7748,7 +7749,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -7759,14 +7760,14 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "307e3004becf10f5a6e0d59d20f3cd28231b0e0827a96cd3e0ce6d14bc1e4bb3" dependencies = [ "unicode-ident", ] @@ -7924,7 +7925,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -8349,9 +8350,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.40" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ "bitflags 2.6.0", "errno", @@ -8362,9 +8363,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.16" +version = "0.23.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e" +checksum = "7f1a745511c54ba6d4465e8d5dfbd81b45791756de28d4981af70d6dca128f1e" dependencies = [ "log", "once_cell", @@ -8613,7 +8614,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -8641,14 +8642,14 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] name = "scale-info" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aa7ffc1c0ef49b0452c6e2986abf2b07743320641ffd5fc63d552458e3b779b" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "bitvec", "cfg-if", @@ -8660,14 +8661,14 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.5" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46385cc24172cf615450267463f937c10072516359b3ff1cb24228a4a08bf951" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -8698,9 +8699,9 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ "windows-sys 0.59.0", ] @@ -8878,7 +8879,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" dependencies = [ - "semver-parser 0.10.2", + "semver-parser 0.10.3", ] [[package]] @@ -8898,9 +8899,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] @@ -8946,14 +8947,14 @@ checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", "memchr", @@ -9489,7 +9490,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -9729,7 +9730,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac368751210517c4309f" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -9780,7 +9781,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae dependencies = [ "quote", "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -9790,17 +9791,17 @@ source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac368751210517c4309f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -9816,7 +9817,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac368751210517c4309f" dependencies = [ "environmental", "parity-scale-codec", @@ -10025,7 +10026,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac368751210517c4309f" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -10051,20 +10052,20 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac368751210517c4309f" dependencies = [ "Inflector", "expander", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -10146,7 +10147,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac368751210517c4309f" [[package]] name = "sp-storage" @@ -10163,7 +10164,7 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac368751210517c4309f" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10198,7 +10199,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac368751210517c4309f" dependencies = [ "parity-scale-codec", "tracing", @@ -10277,7 +10278,7 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -10295,7 +10296,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac368751210517c4309f" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -10527,7 +10528,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -10654,9 +10655,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.87" +version = "2.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" dependencies = [ "proc-macro2", "quote", @@ -10672,7 +10673,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -10684,7 +10685,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -10695,7 +10696,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -10719,7 +10720,7 @@ dependencies = [ "cfg-if", "fastrand", "once_cell", - "rustix 0.38.40", + "rustix 0.38.41", "windows-sys 0.59.0", ] @@ -10764,7 +10765,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -10876,7 +10877,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -11006,7 +11007,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -11144,9 +11145,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-normalization" @@ -11306,7 +11307,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "wasm-bindgen-shared", ] @@ -11340,7 +11341,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -11698,15 +11699,15 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.40", + "rustix 0.38.41", "windows-sys 0.48.0", ] [[package]] name = "wide" -version = "0.7.28" +version = "0.7.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b828f995bf1e9622031f8009f8481a85406ce1f4d4588ff746d872043e855690" +checksum = "58e6db2670d2be78525979e9a5f9c69d296fd7d670549fe9ebf70f8708cb5019" dependencies = [ "bytemuck", "safe_arch", @@ -12007,7 +12008,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -12066,7 +12067,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "synstructure", ] @@ -12088,7 +12089,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -12108,7 +12109,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", "synstructure", ] @@ -12129,7 +12130,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] @@ -12151,7 +12152,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.89", ] [[package]] diff --git a/crates/linker/src/lib.rs b/crates/linker/src/lib.rs index e49bb37..2670df9 100644 --- a/crates/linker/src/lib.rs +++ b/crates/linker/src/lib.rs @@ -29,9 +29,9 @@ fn invoke_lld(cmd_args: &[&str]) -> bool { unsafe { LLDELFLink(args.as_ptr(), args.len()) == 0 } } -pub fn polkavm_linker>(code: T) -> anyhow::Result> { +pub fn polkavm_linker>(code: T, strip_binary: bool) -> anyhow::Result> { let mut config = polkavm_linker::Config::default(); - config.set_strip(true); + config.set_strip(strip_binary); config.set_optimize(true); polkavm_linker::program_from_elf(config, code.as_ref()) diff --git a/crates/llvm-context/src/debug_config/mod.rs b/crates/llvm-context/src/debug_config/mod.rs index f44cb19..f60ae6e 100644 --- a/crates/llvm-context/src/debug_config/mod.rs +++ b/crates/llvm-context/src/debug_config/mod.rs @@ -13,41 +13,52 @@ use self::ir_type::IRType; #[derive(Debug, Default, Serialize, Deserialize, Clone)] pub struct DebugConfig { /// The directory to dump the IRs to. - pub output_directory: PathBuf, + pub output_directory: Option, + /// Whether debug info should be emitted. + pub emit_debug_info: bool, } impl DebugConfig { /// A shortcut constructor. - pub fn new(output_directory: PathBuf) -> Self { - Self { output_directory } + pub const fn new(output_directory: Option, emit_debug_info: bool) -> Self { + Self { + output_directory, + emit_debug_info, + } } /// Dumps the Yul IR. pub fn dump_yul(&self, contract_path: &str, code: &str) -> anyhow::Result<()> { - let mut file_path = self.output_directory.to_owned(); - let full_file_name = Self::full_file_name(contract_path, None, IRType::Yul); - file_path.push(full_file_name); - std::fs::write(file_path, code)?; + if let Some(output_directory) = self.output_directory.as_ref() { + let mut file_path = output_directory.to_owned(); + let full_file_name = Self::full_file_name(contract_path, None, IRType::Yul); + file_path.push(full_file_name); + std::fs::write(file_path, code)?; + } Ok(()) } /// Dumps the EVM legacy assembly IR. pub fn dump_evmla(&self, contract_path: &str, code: &str) -> anyhow::Result<()> { - let mut file_path = self.output_directory.to_owned(); - let full_file_name = Self::full_file_name(contract_path, None, IRType::EVMLA); - file_path.push(full_file_name); - std::fs::write(file_path, code)?; + if let Some(output_directory) = self.output_directory.as_ref() { + let mut file_path = output_directory.to_owned(); + let full_file_name = Self::full_file_name(contract_path, None, IRType::EVMLA); + file_path.push(full_file_name); + std::fs::write(file_path, code)?; + } Ok(()) } /// Dumps the Ethereal IR. pub fn dump_ethir(&self, contract_path: &str, code: &str) -> anyhow::Result<()> { - let mut file_path = self.output_directory.to_owned(); - let full_file_name = Self::full_file_name(contract_path, None, IRType::EthIR); - file_path.push(full_file_name); - std::fs::write(file_path, code)?; + if let Some(output_directory) = self.output_directory.as_ref() { + let mut file_path = output_directory.to_owned(); + let full_file_name = Self::full_file_name(contract_path, None, IRType::EthIR); + file_path.push(full_file_name); + std::fs::write(file_path, code)?; + } Ok(()) } @@ -58,12 +69,15 @@ impl DebugConfig { contract_path: &str, module: &inkwell::module::Module, ) -> anyhow::Result<()> { - let llvm_code = module.print_to_string().to_string(); + if let Some(output_directory) = self.output_directory.as_ref() { + let llvm_code = module.print_to_string().to_string(); - let mut file_path = self.output_directory.to_owned(); - let full_file_name = Self::full_file_name(contract_path, Some("unoptimized"), IRType::LLVM); - file_path.push(full_file_name); - std::fs::write(file_path, llvm_code)?; + let mut file_path = output_directory.to_owned(); + let full_file_name = + Self::full_file_name(contract_path, Some("unoptimized"), IRType::LLVM); + file_path.push(full_file_name); + std::fs::write(file_path, llvm_code)?; + } Ok(()) } @@ -74,32 +88,39 @@ impl DebugConfig { contract_path: &str, module: &inkwell::module::Module, ) -> anyhow::Result<()> { - let llvm_code = module.print_to_string().to_string(); + if let Some(output_directory) = self.output_directory.as_ref() { + let llvm_code = module.print_to_string().to_string(); - let mut file_path = self.output_directory.to_owned(); - let full_file_name = Self::full_file_name(contract_path, Some("optimized"), IRType::LLVM); - file_path.push(full_file_name); - std::fs::write(file_path, llvm_code)?; + let mut file_path = output_directory.to_owned(); + let full_file_name = + Self::full_file_name(contract_path, Some("optimized"), IRType::LLVM); + file_path.push(full_file_name); + std::fs::write(file_path, llvm_code)?; + } Ok(()) } /// Dumps the assembly. pub fn dump_assembly(&self, contract_path: &str, code: &str) -> anyhow::Result<()> { - let mut file_path = self.output_directory.to_owned(); - let full_file_name = Self::full_file_name(contract_path, None, IRType::Assembly); - file_path.push(full_file_name); - std::fs::write(file_path, code)?; + if let Some(output_directory) = self.output_directory.as_ref() { + let mut file_path = output_directory.to_owned(); + let full_file_name = Self::full_file_name(contract_path, None, IRType::Assembly); + file_path.push(full_file_name); + std::fs::write(file_path, code)?; + } Ok(()) } /// Dumps the code object. pub fn dump_object(&self, contract_path: &str, code: &[u8]) -> anyhow::Result<()> { - let mut file_path = self.output_directory.to_owned(); - let full_file_name = Self::full_file_name(contract_path, None, IRType::SO); - file_path.push(full_file_name); - std::fs::write(file_path, code)?; + if let Some(output_directory) = self.output_directory.as_ref() { + let mut file_path = output_directory.to_owned(); + let full_file_name = Self::full_file_name(contract_path, None, IRType::SO); + file_path.push(full_file_name); + std::fs::write(file_path, code)?; + } Ok(()) } @@ -112,10 +133,12 @@ impl DebugConfig { contract_suffix: Option<&str>, stage_json: &Vec, ) -> anyhow::Result<()> { - let mut file_path = self.output_directory.to_owned(); - let full_file_name = Self::full_file_name(contract_path, contract_suffix, IRType::JSON); - file_path.push(full_file_name); - std::fs::write(file_path, stage_json)?; + if let Some(output_directory) = self.output_directory.as_ref() { + let mut file_path = output_directory.to_owned(); + let full_file_name = Self::full_file_name(contract_path, contract_suffix, IRType::JSON); + file_path.push(full_file_name); + std::fs::write(file_path, stage_json)?; + } Ok(()) } diff --git a/crates/llvm-context/src/lib.rs b/crates/llvm-context/src/lib.rs index 82397fd..72aad25 100644 --- a/crates/llvm-context/src/lib.rs +++ b/crates/llvm-context/src/lib.rs @@ -16,6 +16,7 @@ pub use self::polkavm::context::argument::Argument as PolkaVMArgument; pub use self::polkavm::context::attribute::Attribute as PolkaVMAttribute; pub use self::polkavm::context::build::Build as PolkaVMBuild; pub use self::polkavm::context::code_type::CodeType as PolkaVMCodeType; +pub use self::polkavm::context::debug_info::DebugInfo; pub use self::polkavm::context::evmla_data::EVMLAData as PolkaVMContextEVMLAData; pub use self::polkavm::context::function::block::evmla_data::key::Key as PolkaVMFunctionBlockKey; pub use self::polkavm::context::function::block::evmla_data::EVMLAData as PolkaVMFunctionBlockEVMLAData; diff --git a/crates/llvm-context/src/optimizer/settings/mod.rs b/crates/llvm-context/src/optimizer/settings/mod.rs index ac312ff..56dd7c0 100644 --- a/crates/llvm-context/src/optimizer/settings/mod.rs +++ b/crates/llvm-context/src/optimizer/settings/mod.rs @@ -9,7 +9,7 @@ use itertools::Itertools; use self::size_level::SizeLevel; -/// The LLVM optimizer settings. +/// The LLVM optimizer and code-gen settings. #[derive(Debug, Serialize, Deserialize, Clone, Eq)] pub struct Settings { /// The middle-end optimization level. diff --git a/crates/llvm-context/src/polkavm/context/debug_info.rs b/crates/llvm-context/src/polkavm/context/debug_info.rs index d90ad01..5c61f04 100644 --- a/crates/llvm-context/src/polkavm/context/debug_info.rs +++ b/crates/llvm-context/src/polkavm/context/debug_info.rs @@ -1,7 +1,43 @@ //! The LLVM debug information. +use std::cell::RefCell; + use inkwell::debug_info::AsDIScope; -use num::Zero; +use inkwell::debug_info::DIScope; + +/// Debug info scope stack +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct ScopeStack<'ctx> { + stack: Vec>, +} + +// Abstract the type of the DIScope stack. +impl<'ctx> ScopeStack<'ctx> { + pub fn from(item: DIScope<'ctx>) -> Self { + Self { stack: vec![item] } + } + + /// Return the top of the scope stack, or None if the stack is empty. + pub fn top(&self) -> Option> { + self.stack.last().copied() + } + + /// Push a scope onto the stack. + pub fn push(&mut self, scope: DIScope<'ctx>) { + self.stack.push(scope) + } + + /// Pop the scope at the top of the stack and return it. + /// Return None if the stack is empty. + pub fn pop(&mut self) -> Option> { + self.stack.pop() + } + + /// Return the number of scopes on the stack. + pub fn len(&self) -> usize { + self.stack.len() + } +} /// The LLVM debug information. pub struct DebugInfo<'ctx> { @@ -9,6 +45,8 @@ pub struct DebugInfo<'ctx> { compile_unit: inkwell::debug_info::DICompileUnit<'ctx>, /// The debug info builder. builder: inkwell::debug_info::DebugInfoBuilder<'ctx>, + /// Enclosing debug info scopes. + scope_stack: RefCell>, } impl<'ctx> DebugInfo<'ctx> { @@ -35,19 +73,43 @@ impl<'ctx> DebugInfo<'ctx> { Self { compile_unit, builder, + scope_stack: RefCell::new(ScopeStack::from(compile_unit.as_debug_info_scope())), } } + /// Prepare an LLVM-IR module for debug-info generation + pub fn initialize_module( + &self, + llvm: &'ctx inkwell::context::Context, + module: &inkwell::module::Module<'ctx>, + ) { + let debug_metadata_value = llvm + .i32_type() + .const_int(inkwell::debug_info::debug_metadata_version() as u64, false); + module.add_basic_value_flag( + "Debug Info Version", + inkwell::module::FlagBehavior::Warning, + debug_metadata_value, + ); + self.push_scope(self.compilation_unit().get_file().as_debug_info_scope()); + } + + /// Finalize debug-info for an LLVM-IR module. + pub fn finalize_module(&self) { + self.builder().finalize() + } + /// Creates a function info. pub fn create_function( &self, name: &str, ) -> anyhow::Result> { + let flags = inkwell::debug_info::DIFlagsConstants::ZERO; let subroutine_type = self.builder.create_subroutine_type( self.compile_unit.get_file(), - Some(self.create_type(revive_common::BIT_LENGTH_FIELD)?), + Some(self.create_word_type(Some(flags))?.as_type()), &[], - inkwell::debug_info::DIFlags::zero(), + flags, ); let function = self.builder.create_function( @@ -60,7 +122,7 @@ impl<'ctx> DebugInfo<'ctx> { true, false, 1, - inkwell::debug_info::DIFlags::zero(), + flags, false, ); @@ -74,24 +136,55 @@ impl<'ctx> DebugInfo<'ctx> { Ok(function) } - /// Creates a primitive type info. - pub fn create_type( + /// Creates primitive integer type debug-info. + pub fn create_primitive_type( &self, bit_length: usize, - ) -> anyhow::Result> { + flags: Option, + ) -> anyhow::Result> { + let di_flags = flags.unwrap_or(inkwell::debug_info::DIFlagsConstants::ZERO); + let di_encoding: u32 = 0; + let type_name = String::from("U") + bit_length.to_string().as_str(); self.builder - .create_basic_type( - "U256", - bit_length as u64, - 0, - inkwell::debug_info::DIFlags::zero(), - ) - .map(|basic_type| basic_type.as_type()) + .create_basic_type(type_name.as_str(), bit_length as u64, di_encoding, di_flags) .map_err(|error| anyhow::anyhow!("Debug info error: {}", error)) } - /// Finalizes the builder. - pub fn finalize(&self) { - self.builder.finalize(); + /// Returns the debug-info model of word-sized integer types. + pub fn create_word_type( + &self, + flags: Option, + ) -> anyhow::Result> { + self.create_primitive_type(revive_common::BIT_LENGTH_WORD, flags) + } + + /// Return the DIBuilder. + pub fn builder(&self) -> &inkwell::debug_info::DebugInfoBuilder<'ctx> { + &self.builder + } + + /// Return the compilation unit. { + pub fn compilation_unit(&self) -> &inkwell::debug_info::DICompileUnit<'ctx> { + &self.compile_unit + } + + /// Push a debug-info scope onto the stack. + pub fn push_scope(&self, scope: DIScope<'ctx>) { + self.scope_stack.borrow_mut().push(scope) + } + + /// Pop the top of the debug-info scope stack and return it. + pub fn pop_scope(&self) -> Option> { + self.scope_stack.borrow_mut().pop() + } + + /// Return the top of the debug-info scope stack. + pub fn top_scope(&self) -> Option> { + self.scope_stack.borrow().top() + } + + /// Return the number of debug-info scopes on the scope stack. + pub fn num_scopes(&self) -> usize { + self.scope_stack.borrow().len() } } diff --git a/crates/llvm-context/src/polkavm/context/function/declaration.rs b/crates/llvm-context/src/polkavm/context/function/declaration.rs index c4c41f6..f95ea2d 100644 --- a/crates/llvm-context/src/polkavm/context/function/declaration.rs +++ b/crates/llvm-context/src/polkavm/context/function/declaration.rs @@ -17,4 +17,8 @@ impl<'ctx> Declaration<'ctx> { ) -> Self { Self { r#type, value } } + + pub fn function_value(&self) -> inkwell::values::FunctionValue<'ctx> { + self.value + } } diff --git a/crates/llvm-context/src/polkavm/context/function/mod.rs b/crates/llvm-context/src/polkavm/context/function/mod.rs index 1a63631..9527e41 100644 --- a/crates/llvm-context/src/polkavm/context/function/mod.rs +++ b/crates/llvm-context/src/polkavm/context/function/mod.rs @@ -11,6 +11,8 @@ pub mod yul_data; use std::collections::HashMap; +use inkwell::debug_info::AsDIScope; + use crate::optimizer::settings::size_level::SizeLevel; use crate::optimizer::Optimizer; use crate::polkavm::context::attribute::Attribute; @@ -94,6 +96,14 @@ impl<'ctx> Function<'ctx> { self.declaration } + /// Returns the debug-info scope. + pub fn get_debug_scope(&self) -> Option> { + self.declaration() + .function_value() + .get_subprogram() + .map(|scp| scp.as_debug_info_scope()) + } + /// Returns the N-th parameter of the function. pub fn get_nth_param(&self, index: usize) -> inkwell::values::BasicValueEnum<'ctx> { self.declaration() diff --git a/crates/llvm-context/src/polkavm/context/function/runtime/deploy_code.rs b/crates/llvm-context/src/polkavm/context/function/runtime/deploy_code.rs index 8649da3..279b1e8 100644 --- a/crates/llvm-context/src/polkavm/context/function/runtime/deploy_code.rs +++ b/crates/llvm-context/src/polkavm/context/function/runtime/deploy_code.rs @@ -54,12 +54,14 @@ where } fn into_llvm(self, context: &mut Context) -> anyhow::Result<()> { - context.set_current_function(runtime::FUNCTION_DEPLOY_CODE)?; + context.set_current_function(runtime::FUNCTION_DEPLOY_CODE, None)?; context.set_basic_block(context.current_function().borrow().entry_block()); context.set_code_type(CodeType::Deploy); self.inner.into_llvm(context)?; + context.set_debug_location(0, 0, None)?; + match context .basic_block() .get_last_instruction() @@ -72,8 +74,11 @@ where } context.set_basic_block(context.current_function().borrow().return_block()); + context.set_debug_location(0, 0, None)?; context.build_return(None); + context.pop_debug_scope(); + Ok(()) } } diff --git a/crates/llvm-context/src/polkavm/context/function/runtime/entry.rs b/crates/llvm-context/src/polkavm/context/function/runtime/entry.rs index 397434a..582c926 100644 --- a/crates/llvm-context/src/polkavm/context/function/runtime/entry.rs +++ b/crates/llvm-context/src/polkavm/context/function/runtime/entry.rs @@ -125,6 +125,8 @@ impl Entry { where D: Dependency + Clone, { + context.set_debug_location(0, 0, None)?; + let is_deploy = context .current_function() .borrow() @@ -214,7 +216,7 @@ where true, ); - context.set_current_function(runtime::FUNCTION_ENTRY)?; + context.set_current_function(runtime::FUNCTION_ENTRY, None)?; context.set_basic_block(context.current_function().borrow().entry_block()); Self::initialize_globals(context)?; @@ -225,6 +227,8 @@ where context.set_basic_block(context.current_function().borrow().return_block()); context.build_unreachable(); + context.pop_debug_scope(); + Ok(()) } } diff --git a/crates/llvm-context/src/polkavm/context/function/runtime/immutable_data_load.rs b/crates/llvm-context/src/polkavm/context/function/runtime/immutable_data_load.rs index e9e1665..dbb21e5 100644 --- a/crates/llvm-context/src/polkavm/context/function/runtime/immutable_data_load.rs +++ b/crates/llvm-context/src/polkavm/context/function/runtime/immutable_data_load.rs @@ -34,7 +34,7 @@ where } fn into_llvm(self, context: &mut Context) -> anyhow::Result<()> { - context.set_current_function(runtime::FUNCTION_LOAD_IMMUTABLE_DATA)?; + context.set_current_function(runtime::FUNCTION_LOAD_IMMUTABLE_DATA, None)?; context.set_basic_block(context.current_function().borrow().entry_block()); let immutable_data_size_pointer = context @@ -111,6 +111,8 @@ where context.set_basic_block(return_block); context.build_return(None); + context.pop_debug_scope(); + Ok(()) } } diff --git a/crates/llvm-context/src/polkavm/context/function/runtime/runtime_code.rs b/crates/llvm-context/src/polkavm/context/function/runtime/runtime_code.rs index 439340c..8cf1435 100644 --- a/crates/llvm-context/src/polkavm/context/function/runtime/runtime_code.rs +++ b/crates/llvm-context/src/polkavm/context/function/runtime/runtime_code.rs @@ -54,11 +54,14 @@ where } fn into_llvm(self, context: &mut Context) -> anyhow::Result<()> { - context.set_current_function(runtime::FUNCTION_RUNTIME_CODE)?; + context.set_current_function(runtime::FUNCTION_RUNTIME_CODE, None)?; context.set_basic_block(context.current_function().borrow().entry_block()); context.set_code_type(CodeType::Runtime); + self.inner.into_llvm(context)?; + context.set_debug_location(0, 0, None)?; + match context .basic_block() .get_last_instruction() @@ -73,6 +76,8 @@ where context.set_basic_block(context.current_function().borrow().return_block()); context.build_unreachable(); + context.pop_debug_scope(); + Ok(()) } } diff --git a/crates/llvm-context/src/polkavm/context/mod.rs b/crates/llvm-context/src/polkavm/context/mod.rs index 9feb925..65c4ac5 100644 --- a/crates/llvm-context/src/polkavm/context/mod.rs +++ b/crates/llvm-context/src/polkavm/context/mod.rs @@ -5,7 +5,7 @@ pub mod argument; pub mod attribute; pub mod build; pub mod code_type; -// pub mod debug_info; +pub mod debug_info; pub mod evmla_data; pub mod function; pub mod global; @@ -21,6 +21,8 @@ use std::cell::RefCell; use std::collections::HashMap; use std::rc::Rc; +use inkwell::debug_info::AsDIScope; +use inkwell::debug_info::DIScope; use inkwell::types::BasicType; use inkwell::values::BasicValue; @@ -35,7 +37,7 @@ use self::address_space::AddressSpace; use self::attribute::Attribute; use self::build::Build; use self::code_type::CodeType; -// use self::debug_info::DebugInfo; +use self::debug_info::DebugInfo; use self::evmla_data::EVMLAData; use self::function::declaration::Declaration as FunctionDeclaration; use self::function::intrinsics::Intrinsics; @@ -85,9 +87,9 @@ where /// Whether to append the metadata hash at the end of bytecode. include_metadata_hash: bool, /// The debug info of the current module. - // debug_info: DebugInfo<'ctx>, + debug_info: Option>, /// The debug configuration telling whether to dump the needed IRs. - debug_config: Option, + debug_config: DebugConfig, /// The Solidity data. solidity_data: Option, @@ -207,7 +209,7 @@ where optimizer: Optimizer, dependency_manager: Option, include_metadata_hash: bool, - debug_config: Option, + debug_config: DebugConfig, ) -> Self { Self::link_stdlib_module(llvm, &module); Self::link_polkavm_imports(llvm, &module); @@ -216,6 +218,11 @@ where let intrinsics = Intrinsics::new(llvm, &module); let llvm_runtime = LLVMRuntime::new(llvm, &module, &optimizer); + let debug_info = debug_config.emit_debug_info.then(|| { + let debug_info = DebugInfo::new(&module); + debug_info.initialize_module(llvm, &module); + debug_info + }); Self { llvm, @@ -232,7 +239,8 @@ where dependency_manager, include_metadata_hash, - // debug_info, + + debug_info, debug_config, solidity_data: None, @@ -255,9 +263,9 @@ where let target_machine = TargetMachine::new(Target::PVM, self.optimizer.settings())?; target_machine.set_target_data(self.module()); - if let Some(ref debug_config) = self.debug_config { - debug_config.dump_llvm_ir_unoptimized(contract_path, self.module())?; - } + self.debug_config + .dump_llvm_ir_unoptimized(contract_path, self.module())?; + self.verify().map_err(|error| { anyhow::anyhow!( "The contract `{}` unoptimized LLVM IR verification error: {}", @@ -275,9 +283,10 @@ where error ) })?; - if let Some(ref debug_config) = self.debug_config { - debug_config.dump_llvm_ir_optimized(contract_path, self.module())?; - } + + self.debug_config + .dump_llvm_ir_optimized(contract_path, self.module())?; + self.verify().map_err(|error| { anyhow::anyhow!( "The contract `{}` optimized LLVM IR verification error: {}", @@ -298,11 +307,11 @@ where let shared_object = revive_linker::link(buffer.as_slice())?; - if let Some(ref debug_config) = self.debug_config { - debug_config.dump_object(contract_path, &shared_object)?; - } + self.debug_config + .dump_object(contract_path, &shared_object)?; - let polkavm_bytecode = revive_linker::polkavm_linker(shared_object)?; + let polkavm_bytecode = + revive_linker::polkavm_linker(shared_object, !self.debug_config().emit_debug_info)?; let build = match crate::polkavm::build_assembly_text( contract_path, @@ -428,6 +437,21 @@ where ) -> anyhow::Result>>> { let value = self.module().add_function(name, r#type, linkage); + if self.debug_info().is_some() { + self.builder().unset_current_debug_location(); + let func_scope = match value.get_subprogram() { + None => { + let fn_name = value.get_name().to_str()?; + let scp = self.build_function_debug_info(fn_name, 0)?; + value.set_subprogram(scp); + scp + } + Some(scp) => scp, + }; + self.push_debug_scope(func_scope.as_debug_info_scope()); + self.set_debug_location(0, 0, Some(func_scope.as_debug_info_scope()))?; + } + let entry_block = self.llvm.append_basic_block(value, "entry"); let return_block = self.llvm.append_basic_block(value, "return"); @@ -461,6 +485,8 @@ where let function = Rc::new(RefCell::new(function)); self.functions.insert(name.to_string(), function.clone()); + self.pop_debug_scope(); + Ok(function) } @@ -476,15 +502,95 @@ where .expect("Must be declared before use") } - /// Sets the current active function. - pub fn set_current_function(&mut self, name: &str) -> anyhow::Result<()> { + /// Sets the current active function. If debug-info generation is enabled, + /// constructs a debug-scope and pushes in on the scope-stack. + pub fn set_current_function(&mut self, name: &str, line: Option) -> anyhow::Result<()> { let function = self.functions.get(name).cloned().ok_or_else(|| { anyhow::anyhow!("Failed to activate an undeclared function `{}`", name) })?; self.current_function = Some(function); + + if let Some(scope) = self.current_function().borrow().get_debug_scope() { + self.push_debug_scope(scope); + } + self.set_debug_location(line.unwrap_or_default(), 0, None)?; + Ok(()) } + /// Builds a debug-info scope for a function. + pub fn build_function_debug_info( + &self, + name: &str, + line_no: u32, + ) -> anyhow::Result> { + let Some(debug_info) = self.debug_info() else { + anyhow::bail!("expected debug-info builders"); + }; + let builder = debug_info.builder(); + let file = debug_info.compilation_unit().get_file(); + let scope = file.as_debug_info_scope(); + let flags = inkwell::debug_info::DIFlagsConstants::PUBLIC; + let return_type = debug_info.create_word_type(Some(flags))?.as_type(); + let subroutine_type = builder.create_subroutine_type(file, Some(return_type), &[], flags); + + Ok(builder.create_function( + scope, + name, + None, + file, + line_no, + subroutine_type, + false, + true, + 1, + flags, + false, + )) + } + + /// Set the debug info location. + /// + /// No-op if the emitting debug info is disabled. + /// + /// If `scope` is `None` the top scope will be used. + pub fn set_debug_location( + &self, + line: u32, + column: u32, + scope: Option>, + ) -> anyhow::Result<()> { + let Some(debug_info) = self.debug_info() else { + return Ok(()); + }; + let scope = match scope { + Some(scp) => scp, + None => debug_info.top_scope().expect("expected a debug-info scope"), + }; + let location = + debug_info + .builder() + .create_debug_location(self.llvm(), line, column, scope, None); + + self.builder().set_current_debug_location(location); + + Ok(()) + } + + /// Pushes a debug-info scope to the stack. + pub fn push_debug_scope(&self, scope: DIScope<'ctx>) { + if let Some(debug_info) = self.debug_info() { + debug_info.push_scope(scope); + } + } + + /// Pops the top of the debug-info scope stack. + pub fn pop_debug_scope(&self) { + if let Some(debug_info) = self.debug_info() { + debug_info.pop_scope(); + } + } + /// Pushes a new loop context to the stack. pub fn push_loop( &mut self, @@ -554,9 +660,14 @@ where .expect("The dependency manager is unset") } + /// Returns the debug info. + pub fn debug_info(&self) -> Option<&DebugInfo<'ctx>> { + self.debug_info.as_ref() + } + /// Returns the debug config reference. - pub fn debug_config(&self) -> Option<&DebugConfig> { - self.debug_config.as_ref() + pub fn debug_config(&self) -> &DebugConfig { + &self.debug_config } /// Appends a new basic block to the current function. diff --git a/crates/llvm-context/src/polkavm/context/tests.rs b/crates/llvm-context/src/polkavm/context/tests.rs index 5498822..3e40481 100644 --- a/crates/llvm-context/src/polkavm/context/tests.rs +++ b/crates/llvm-context/src/polkavm/context/tests.rs @@ -15,7 +15,7 @@ pub fn create_context( let module = llvm.create_module("test"); let optimizer = Optimizer::new(optimizer_settings); - Context::::new(llvm, module, optimizer, None, true, None) + Context::::new(llvm, module, optimizer, None, true, Default::default()) } #[test] diff --git a/crates/llvm-context/src/polkavm/mod.rs b/crates/llvm-context/src/polkavm/mod.rs index 5c88713..b6395b6 100644 --- a/crates/llvm-context/src/polkavm/mod.rs +++ b/crates/llvm-context/src/polkavm/mod.rs @@ -29,7 +29,7 @@ pub fn build_assembly_text( contract_path: &str, bytecode: &[u8], metadata_hash: Option<[u8; revive_common::BYTE_LENGTH_WORD]>, - debug_config: Option<&DebugConfig>, + debug_config: &DebugConfig, ) -> anyhow::Result { let program_blob = ProgramBlob::parse(bytecode.into()) .map_err(anyhow::Error::msg) @@ -49,9 +49,7 @@ pub fn build_assembly_text( format!("Failed to convert disassembled code to string for contract: {contract_path}") })?; - if let Some(debug_config) = debug_config { - debug_config.dump_assembly(contract_path, &assembly_text)?; - } + debug_config.dump_assembly(contract_path, &assembly_text)?; Ok(Build::new( assembly_text.to_owned(), @@ -98,7 +96,7 @@ pub trait Dependency { path: &str, optimizer_settings: OptimizerSettings, include_metadata_hash: bool, - debug_config: Option, + debug_config: DebugConfig, ) -> anyhow::Result; /// Resolves a full contract path. @@ -118,7 +116,7 @@ impl Dependency for DummyDependency { _path: &str, _optimizer_settings: OptimizerSettings, _include_metadata_hash: bool, - _debug_config: Option, + _debug_config: DebugConfig, ) -> anyhow::Result { Ok(String::new()) } diff --git a/crates/solidity/src/evmla/assembly/mod.rs b/crates/solidity/src/evmla/assembly/mod.rs index 06ac8e9..6e0a56e 100644 --- a/crates/solidity/src/evmla/assembly/mod.rs +++ b/crates/solidity/src/evmla/assembly/mod.rs @@ -212,9 +212,10 @@ where ) -> anyhow::Result<()> { let full_path = self.full_path().to_owned(); - if let Some(debug_config) = context.debug_config() { - debug_config.dump_evmla(full_path.as_str(), self.to_string().as_str())?; - } + context + .debug_config() + .dump_evmla(full_path.as_str(), self.to_string().as_str())?; + let deploy_code_blocks = EtherealIR::get_blocks( context.evmla().version.to_owned(), revive_llvm_context::PolkaVMCodeType::Deploy, @@ -228,9 +229,11 @@ where .ok_or_else(|| anyhow::anyhow!("Runtime code data not found"))? .remove("0") .expect("Always exists"); - if let Some(debug_config) = context.debug_config() { - debug_config.dump_evmla(full_path.as_str(), data.to_string().as_str())?; - } + + context + .debug_config() + .dump_evmla(full_path.as_str(), data.to_string().as_str())?; + let runtime_code_instructions = match data { Data::Assembly(assembly) => assembly .code @@ -253,9 +256,11 @@ where blocks.extend(runtime_code_blocks); let mut ethereal_ir = EtherealIR::new(context.evmla().version.to_owned(), extra_metadata, blocks)?; - if let Some(debug_config) = context.debug_config() { - debug_config.dump_ethir(full_path.as_str(), ethereal_ir.to_string().as_str())?; - } + + context + .debug_config() + .dump_ethir(full_path.as_str(), ethereal_ir.to_string().as_str())?; + ethereal_ir.declare(context)?; ethereal_ir.into_llvm(context)?; diff --git a/crates/solidity/src/evmla/ethereal_ir/function/mod.rs b/crates/solidity/src/evmla/ethereal_ir/function/mod.rs index 52547cd..afb6efb 100644 --- a/crates/solidity/src/evmla/ethereal_ir/function/mod.rs +++ b/crates/solidity/src/evmla/ethereal_ir/function/mod.rs @@ -1175,7 +1175,7 @@ where } fn into_llvm(self, context: &mut revive_llvm_context::PolkaVMContext) -> anyhow::Result<()> { - context.set_current_function(self.name.as_str())?; + context.set_current_function(self.name.as_str(), None)?; for (key, blocks) in self.blocks.iter() { for (index, block) in blocks.iter().enumerate() { @@ -1297,6 +1297,8 @@ where } } + context.pop_debug_scope(); + Ok(()) } } diff --git a/crates/solidity/src/lib.rs b/crates/solidity/src/lib.rs index b5c38ab..1edc20a 100644 --- a/crates/solidity/src/lib.rs +++ b/crates/solidity/src/lib.rs @@ -54,7 +54,7 @@ pub fn yul( solc: &mut SolcCompiler, optimizer_settings: revive_llvm_context::OptimizerSettings, include_metadata_hash: bool, - debug_config: Option, + debug_config: revive_llvm_context::DebugConfig, ) -> anyhow::Result { let path = match input_files.len() { 1 => input_files.first().expect("Always exists"), @@ -85,7 +85,7 @@ pub fn llvm_ir( input_files: &[PathBuf], optimizer_settings: revive_llvm_context::OptimizerSettings, include_metadata_hash: bool, - debug_config: Option, + debug_config: revive_llvm_context::DebugConfig, ) -> anyhow::Result { let path = match input_files.len() { 1 => input_files.first().expect("Always exists"), @@ -119,7 +119,7 @@ pub fn standard_output( allow_paths: Option, remappings: Option>, suppressed_warnings: Option>, - debug_config: Option, + debug_config: revive_llvm_context::DebugConfig, ) -> anyhow::Result { let solc_version = solc.version()?; let solc_pipeline = SolcPipeline::new(&solc_version, force_evmla); @@ -178,7 +178,7 @@ pub fn standard_output( libraries, solc_pipeline, &solc_version, - debug_config.as_ref(), + &debug_config, )?; let build = project.compile(optimizer_settings, include_metadata_hash, debug_config)?; @@ -195,7 +195,7 @@ pub fn standard_json( base_path: Option, include_paths: Vec, allow_paths: Option, - debug_config: Option, + debug_config: revive_llvm_context::DebugConfig, ) -> anyhow::Result<()> { let solc_version = solc.version()?; let solc_pipeline = SolcPipeline::new(&solc_version, force_evmla); @@ -240,7 +240,7 @@ pub fn standard_json( libraries, solc_pipeline, &solc_version, - debug_config.as_ref(), + &debug_config, )?; if detect_missing_libraries { @@ -271,7 +271,7 @@ pub fn combined_json( allow_paths: Option, remappings: Option>, suppressed_warnings: Option>, - debug_config: Option, + debug_config: revive_llvm_context::DebugConfig, output_directory: Option, overwrite: bool, ) -> anyhow::Result<()> { diff --git a/crates/solidity/src/process/input.rs b/crates/solidity/src/process/input.rs index 203ea66..e80290e 100644 --- a/crates/solidity/src/process/input.rs +++ b/crates/solidity/src/process/input.rs @@ -19,7 +19,7 @@ pub struct Input { /// The optimizer settings. pub optimizer_settings: revive_llvm_context::OptimizerSettings, /// The debug output config. - pub debug_config: Option, + pub debug_config: revive_llvm_context::DebugConfig, } impl Input { @@ -29,7 +29,7 @@ impl Input { project: Project, include_metadata_hash: bool, optimizer_settings: revive_llvm_context::OptimizerSettings, - debug_config: Option, + debug_config: revive_llvm_context::DebugConfig, ) -> Self { Self { contract, diff --git a/crates/solidity/src/process/mod.rs b/crates/solidity/src/process/mod.rs index 3d882ae..5135503 100644 --- a/crates/solidity/src/process/mod.rs +++ b/crates/solidity/src/process/mod.rs @@ -85,17 +85,16 @@ pub fn call(input: Input) -> anyhow::Result { })?; #[cfg(debug_assertions)] - if let Some(dbg_config) = &input.debug_config { - dbg_config - .dump_stage_output(&input.contract.path, Some("stage"), &input_json) - .map_err(|error| { - anyhow::anyhow!( - "{:?} failed to log the recursive process output: {:?}", - executable, - error, - ) - })?; - } + input + .debug_config + .dump_stage_output(&input.contract.path, Some("stage"), &input_json) + .map_err(|error| { + anyhow::anyhow!( + "{:?} failed to log the recursive process output: {:?}", + executable, + error, + ) + })?; process .stdin diff --git a/crates/solidity/src/project/contract/mod.rs b/crates/solidity/src/project/contract/mod.rs index fdbdb3f..24d56fd 100644 --- a/crates/solidity/src/project/contract/mod.rs +++ b/crates/solidity/src/project/contract/mod.rs @@ -79,7 +79,7 @@ impl Contract { project: Project, optimizer_settings: revive_llvm_context::OptimizerSettings, include_metadata_hash: bool, - debug_config: Option, + debug_config: revive_llvm_context::DebugConfig, ) -> anyhow::Result { let llvm = inkwell::context::Context::create(); let optimizer = revive_llvm_context::Optimizer::new(optimizer_settings); @@ -104,6 +104,7 @@ impl Contract { let module = match self.ir { IR::LLVMIR(ref llvm_ir) => { + // Create the output module let memory_buffer = inkwell::memory_buffer::MemoryBuffer::create_from_memory_range_copy( llvm_ir.source.as_bytes(), @@ -114,6 +115,7 @@ impl Contract { } _ => llvm.create_module(self.path.as_str()), }; + let mut context = revive_llvm_context::PolkaVMContext::new( &llvm, module, @@ -151,6 +153,10 @@ impl Contract { ) })?; + if let Some(debug_info) = context.debug_info() { + debug_info.finalize_module() + } + let build = context.build(self.path.as_str(), metadata_hash)?; Ok(ContractBuild::new( diff --git a/crates/solidity/src/project/mod.rs b/crates/solidity/src/project/mod.rs index c6fc5df..cca89e6 100644 --- a/crates/solidity/src/project/mod.rs +++ b/crates/solidity/src/project/mod.rs @@ -63,7 +63,7 @@ impl Project { self, optimizer_settings: revive_llvm_context::OptimizerSettings, include_metadata_hash: bool, - debug_config: Option, + debug_config: revive_llvm_context::DebugConfig, ) -> anyhow::Result { let project = self.clone(); let results: BTreeMap> = self @@ -238,7 +238,7 @@ impl revive_llvm_context::PolkaVMDependency for Project { identifier: &str, optimizer_settings: revive_llvm_context::OptimizerSettings, include_metadata_hash: bool, - debug_config: Option, + debug_config: revive_llvm_context::DebugConfig, ) -> anyhow::Result { let contract_path = project.resolve_path(identifier)?; let contract = project diff --git a/crates/solidity/src/resolc/arguments.rs b/crates/solidity/src/resolc/arguments.rs index bb877a9..01d997a 100644 --- a/crates/solidity/src/resolc/arguments.rs +++ b/crates/solidity/src/resolc/arguments.rs @@ -138,6 +138,11 @@ pub struct Arguments { #[structopt(long = "suppress-warnings")] pub suppress_warnings: Option>, + /// Generate source based debug information in the output code file. This only has an effect + /// with the LLVM-IR code generator and is ignored otherwise. + #[structopt(short = 'g')] + pub emit_source_debug_info: bool, + /// Dump all IRs to files in the specified directory. /// Only for testing and debugging. #[structopt(long = "debug-output-dir")] diff --git a/crates/solidity/src/resolc/main.rs b/crates/solidity/src/resolc/main.rs index 881895b..9861f24 100644 --- a/crates/solidity/src/resolc/main.rs +++ b/crates/solidity/src/resolc/main.rs @@ -66,11 +66,12 @@ fn main_inner() -> anyhow::Result<()> { let debug_config = match arguments.debug_output_directory { Some(ref debug_output_directory) => { std::fs::create_dir_all(debug_output_directory.as_path())?; - Some(revive_llvm_context::DebugConfig::new( - debug_output_directory.to_owned(), - )) + revive_llvm_context::DebugConfig::new( + Some(debug_output_directory.to_owned()), + arguments.emit_source_debug_info, + ) } - None => None, + None => revive_llvm_context::DebugConfig::new(None, arguments.emit_source_debug_info), }; let (input_files, remappings) = arguments.split_input_files_and_remappings()?; diff --git a/crates/solidity/src/solc/standard_json/output/mod.rs b/crates/solidity/src/solc/standard_json/output/mod.rs index 0d64285..c590688 100644 --- a/crates/solidity/src/solc/standard_json/output/mod.rs +++ b/crates/solidity/src/solc/standard_json/output/mod.rs @@ -56,7 +56,7 @@ impl Output { libraries: BTreeMap>, pipeline: SolcPipeline, solc_version: &SolcVersion, - debug_config: Option<&revive_llvm_context::DebugConfig>, + debug_config: &revive_llvm_context::DebugConfig, ) -> anyhow::Result { if let SolcPipeline::EVMLA = pipeline { self.preprocess_dependencies()?; @@ -90,9 +90,7 @@ impl Output { continue; } - if let Some(debug_config) = debug_config { - debug_config.dump_yul(full_path.as_str(), ir_optimized.as_str())?; - } + debug_config.dump_yul(full_path.as_str(), ir_optimized.as_str())?; let mut lexer = Lexer::new(ir_optimized.to_owned()); let object = Object::parse(&mut lexer, None).map_err(|error| { diff --git a/crates/solidity/src/test_utils.rs b/crates/solidity/src/test_utils.rs index ef80629..855a011 100644 --- a/crates/solidity/src/test_utils.rs +++ b/crates/solidity/src/test_utils.rs @@ -23,6 +23,9 @@ static EVM_BLOB_CACHE: Lazy>>> = Lazy::new(Def static EVM_RUNTIME_BLOB_CACHE: Lazy>>> = Lazy::new(Default::default); +const DEBUG_CONFIG: revive_llvm_context::DebugConfig = + revive_llvm_context::DebugConfig::new(None, true); + #[derive(Hash, PartialEq, Eq)] struct CachedBlob { contract_name: String, @@ -102,9 +105,10 @@ pub fn build_solidity_with_options( let mut output = solc.standard_json(input, pipeline, None, vec![], None)?; - let project = output.try_to_project(sources, libraries, pipeline, &solc_version, None)?; + let project = + output.try_to_project(sources, libraries, pipeline, &solc_version, &DEBUG_CONFIG)?; - let build: crate::Build = project.compile(optimizer_settings, false, None)?; + let build: crate::Build = project.compile(optimizer_settings, false, DEBUG_CONFIG)?; build.write_to_standard_json(&mut output, &solc_version)?; Ok(output) @@ -194,7 +198,8 @@ pub fn build_solidity_and_detect_missing_libraries( let mut output = solc.standard_json(input, pipeline, None, vec![], None)?; - let project = output.try_to_project(sources, libraries, pipeline, &solc_version, None)?; + let project = + output.try_to_project(sources, libraries, pipeline, &solc_version, &DEBUG_CONFIG)?; let missing_libraries = project.get_missing_libraries(); missing_libraries.write_to_standard_json(&mut output, &solc.version()?)?; @@ -212,7 +217,7 @@ pub fn build_yul(source_code: &str) -> anyhow::Result<()> { let project = Project::try_from_yul_string(PathBuf::from("test.yul").as_path(), source_code, None)?; - let _build = project.compile(optimizer_settings, false, None)?; + let _build = project.compile(optimizer_settings, false, DEBUG_CONFIG)?; Ok(()) } diff --git a/crates/solidity/src/tests/cli-tests/src/entities.ts b/crates/solidity/src/tests/cli-tests/src/entities.ts index 48a6c37..a232ad1 100644 --- a/crates/solidity/src/tests/cli-tests/src/entities.ts +++ b/crates/solidity/src/tests/cli-tests/src/entities.ts @@ -3,8 +3,11 @@ import * as path from 'path'; const outputDir = 'artifacts'; const binExtension = ':C.pvm'; const asmExtension = ':C.pvmasm'; +const llvmExtension = '.ll' const contractSolFilename = 'contract.sol'; const contractYulFilename = 'contract.yul'; +const contractOptimizedLLVMFilename = contractSolFilename + '.C.optimized'; +const contractUnoptimizedLLVMFilename = contractSolFilename + '.C.unoptimized'; const pathToOutputDir = path.join(__dirname, '..', outputDir); const pathToContracts = path.join(__dirname, '..', 'src', 'contracts'); const pathToBasicYulContract = path.join(pathToContracts, 'yul', contractYulFilename); @@ -16,8 +19,11 @@ export const paths = { outputDir: outputDir, binExtension: binExtension, asmExtension: asmExtension, + llvmExtension: llvmExtension, contractSolFilename: contractSolFilename, contractYulFilename: contractYulFilename, + contractOptimizedLLVMFilename: contractOptimizedLLVMFilename, + contractUnoptimizedLLVMFilename: contractUnoptimizedLLVMFilename, pathToOutputDir: pathToOutputDir, pathToContracts: pathToContracts, pathToBasicSolContract: pathToBasicSolContract, diff --git a/crates/solidity/src/tests/cli-tests/tests/common.test.ts b/crates/solidity/src/tests/cli-tests/tests/common.test.ts index ea5a8f7..afd624f 100644 --- a/crates/solidity/src/tests/cli-tests/tests/common.test.ts +++ b/crates/solidity/src/tests/cli-tests/tests/common.test.ts @@ -1,4 +1,4 @@ -import {executeCommand, isFolderExist, isFileExist, isFileEmpty} from "../src/helper"; +import { executeCommand, isFolderExist, isFileExist, isFileEmpty } from "../src/helper"; import { paths } from '../src/entities'; @@ -76,3 +76,69 @@ describe("Default run a command from the help", () => { expect(result.output).not.toMatch(/([Ee]rror|[Ww]arning|[Ff]ail)/i); }); }); + +describe("Run resolc with source debug information", () => { + const commands = [ + `resolc -g ${paths.pathToBasicSolContract} --bin --asm --output-dir "${paths.pathToOutputDir}"`, + `resolc --disable-solc-optimizer -g ${paths.pathToBasicSolContract} --bin --asm --output-dir "${paths.pathToOutputDir}"` + ]; // potential issue on resolc with full path on Windows cmd`; + + for (var idx in commands) { + const command = commands[idx]; + const result = executeCommand(command); + + it("Compiler run successful", () => { + expect(result.output).toMatch(/(Compiler run successful.)/i); + }); + it("Exit code = 0", () => { + expect(result.exitCode).toBe(0); + }); + it("Output dir is created", () => { + expect(isFolderExist(paths.pathToOutputDir)).toBe(true); + }); + it("Output files are created", () => { // a bug on windows + expect(isFileExist(paths.pathToOutputDir, paths.contractSolFilename, paths.binExtension)).toBe(true); + expect(isFileExist(paths.pathToOutputDir, paths.contractSolFilename, paths.asmExtension)).toBe(true); + }); + it("the output files are not empty", () => { + expect(isFileEmpty(paths.pathToSolBinOutputFile)).toBe(false); + expect(isFileEmpty(paths.pathToSolAsmOutputFile)).toBe(false); + }); + it("No 'Error'/'Fail' in the output", () => { + expect(result.output).not.toMatch(/([Ee]rror|[Ff]ail)/i); + }); + } +}); + +describe("Run resolc with source debug information, check LLVM debug-info", () => { + const commands = [ + `resolc -g ${paths.pathToBasicSolContract} --debug-output-dir="${paths.pathToOutputDir}"`, + `resolc -g --disable-solc-optimizer ${paths.pathToBasicSolContract} --debug-output-dir="${paths.pathToOutputDir}"` + ]; // potential issue on resolc with full path on Windows cmd`; + + for (var idx in commands) { + const command = commands[idx]; + const result = executeCommand(command); + + it("Compiler run successful", () => { + expect(result.output).toMatch(/(Compiler run successful.)/i); + }); + it("Exit code = 0", () => { + expect(result.exitCode).toBe(0); + }); + it("Output dir is created", () => { + expect(isFolderExist(paths.pathToOutputDir)).toBe(true); + }); + it("Output files are created", () => { // a bug on windows + expect(isFileExist(paths.pathToOutputDir, paths.contractOptimizedLLVMFilename, paths.llvmExtension)).toBe(true); + expect(isFileExist(paths.pathToOutputDir, paths.contractUnoptimizedLLVMFilename, paths.llvmExtension)).toBe(true); + }); + it("the output files are not empty", () => { + expect(isFileEmpty(paths.pathToSolBinOutputFile)).toBe(false); + expect(isFileEmpty(paths.pathToSolAsmOutputFile)).toBe(false); + }); + it("No 'Error'/'Fail' in the output", () => { + expect(result.output).not.toMatch(/([Ee]rror|[Ff]ail)/i); + }); + } +}); diff --git a/crates/solidity/src/yul/lexer/mod.rs b/crates/solidity/src/yul/lexer/mod.rs index b7296e4..ca26e8f 100644 --- a/crates/solidity/src/yul/lexer/mod.rs +++ b/crates/solidity/src/yul/lexer/mod.rs @@ -21,7 +21,7 @@ pub struct Lexer { /// The input source code. input: String, /// The number of characters processed so far. - offset: usize, + offset: u32, /// The current location. location: Location, /// The peeked lexeme, waiting to be fetched. @@ -48,8 +48,17 @@ impl Lexer { return Ok(peeked); } - while self.offset < self.input.len() { - let input = &self.input[self.offset..]; + while self.offset + < self + .input + .len() + .try_into() + .map_err(|_| Error::InvalidLexeme { + location: self.location, + sequence: Default::default(), + })? + { + let input = &self.input[(self.offset as usize)..]; if input.starts_with(|character| char::is_ascii_whitespace(&character)) { if input.starts_with('\n') { @@ -101,12 +110,13 @@ impl Lexer { return Ok(token); } - let end = self.input[self.offset..] + let end = self.input[(self.offset as usize)..] .find(char::is_whitespace) .unwrap_or(self.input.len()); return Err(Error::InvalidLexeme { location: self.location, - sequence: self.input[self.offset..self.offset + end].to_owned(), + sequence: self.input[(self.offset as usize)..(self.offset as usize) + end] + .to_owned(), }); } diff --git a/crates/solidity/src/yul/lexer/token/lexeme/comment/multi_line.rs b/crates/solidity/src/yul/lexer/token/lexeme/comment/multi_line.rs index 248ad0f..84dbf58 100644 --- a/crates/solidity/src/yul/lexer/token/lexeme/comment/multi_line.rs +++ b/crates/solidity/src/yul/lexer/token/lexeme/comment/multi_line.rs @@ -19,12 +19,20 @@ impl Comment { let end_position = input.find(Self::END).unwrap_or(input.len()); let input = &input[..end_position]; - let length = end_position + Self::END.len(); - let lines = input.matches('\n').count(); + let length = (end_position + Self::END.len()) + .try_into() + .expect("the YUL should be of reasonable size"); + let lines = input + .matches('\n') + .count() + .try_into() + .expect("the YUL should be of reasonable size"); let columns = match input.rfind('\n') { Some(new_line) => end_position - (new_line + 1), None => end_position, - }; + } + .try_into() + .expect("the YUL should be of reasonable size"); Token::new(Location::new(lines, columns), Lexeme::Comment, length) } diff --git a/crates/solidity/src/yul/lexer/token/lexeme/comment/single_line.rs b/crates/solidity/src/yul/lexer/token/lexeme/comment/single_line.rs index 9afacdd..c30c2e5 100644 --- a/crates/solidity/src/yul/lexer/token/lexeme/comment/single_line.rs +++ b/crates/solidity/src/yul/lexer/token/lexeme/comment/single_line.rs @@ -17,7 +17,9 @@ impl Comment { /// Returns the comment's length, including the trimmed whitespace around it. pub fn parse(input: &str) -> Token { let end_position = input.find(Self::END).unwrap_or(input.len()); - let length = end_position + Self::END.len(); + let length = (end_position + Self::END.len()) + .try_into() + .expect("the YUL should be of reasonable size"); Token::new(Location::new(1, 1), Lexeme::Comment, length) } diff --git a/crates/solidity/src/yul/lexer/token/lexeme/identifier.rs b/crates/solidity/src/yul/lexer/token/lexeme/identifier.rs index 9a2a6d4..df2aa89 100644 --- a/crates/solidity/src/yul/lexer/token/lexeme/identifier.rs +++ b/crates/solidity/src/yul/lexer/token/lexeme/identifier.rs @@ -26,7 +26,10 @@ impl Identifier { let end = input.find(Self::cannot_continue).unwrap_or(input.len()); let inner = input[..end].to_string(); - let length = inner.len(); + let length = inner + .len() + .try_into() + .expect("the YUL should be of reasonable size"); if let Some(token) = Keyword::parse(inner.as_str()) { return Some(token); diff --git a/crates/solidity/src/yul/lexer/token/lexeme/keyword.rs b/crates/solidity/src/yul/lexer/token/lexeme/keyword.rs index 6686158..c32cbe4 100644 --- a/crates/solidity/src/yul/lexer/token/lexeme/keyword.rs +++ b/crates/solidity/src/yul/lexer/token/lexeme/keyword.rs @@ -58,6 +58,9 @@ impl Keyword { if length != input.len() { return None; } + let length = length + .try_into() + .expect("the YUL should be of reasonable size"); Some(Token::new(Location::new(0, length), lexeme, length)) } diff --git a/crates/solidity/src/yul/lexer/token/lexeme/literal/integer.rs b/crates/solidity/src/yul/lexer/token/lexeme/literal/integer.rs index d60ad0f..354ed58 100644 --- a/crates/solidity/src/yul/lexer/token/lexeme/literal/integer.rs +++ b/crates/solidity/src/yul/lexer/token/lexeme/literal/integer.rs @@ -54,6 +54,10 @@ impl Integer { return None; }; + let length = length + .try_into() + .expect("the YUL should be of reasonable size"); + let token = Token::new( Location::new(0, length), Lexeme::Literal(Literal::Integer(value)), diff --git a/crates/solidity/src/yul/lexer/token/lexeme/literal/string.rs b/crates/solidity/src/yul/lexer/token/lexeme/literal/string.rs index 234e51e..458b6a1 100644 --- a/crates/solidity/src/yul/lexer/token/lexeme/literal/string.rs +++ b/crates/solidity/src/yul/lexer/token/lexeme/literal/string.rs @@ -69,6 +69,9 @@ impl String { .to_owned(); let literal = Self::new(string, is_hex_string); + let length = length + .try_into() + .expect("the YUL should be of reasonable size"); Some(Token::new( Location::new(0, length), diff --git a/crates/solidity/src/yul/lexer/token/location.rs b/crates/solidity/src/yul/lexer/token/location.rs index bc3441a..672182b 100644 --- a/crates/solidity/src/yul/lexer/token/location.rs +++ b/crates/solidity/src/yul/lexer/token/location.rs @@ -7,9 +7,9 @@ use serde::Serialize; #[derive(Debug, Serialize, Deserialize, Clone, Copy, Eq)] pub struct Location { /// The line number, starting from 1. - pub line: usize, + pub line: u32, /// The column number, starting from 1. - pub column: usize, + pub column: u32, } impl Default for Location { @@ -20,13 +20,13 @@ impl Default for Location { impl Location { /// Creates a default location. - pub fn new(line: usize, column: usize) -> Self { + pub fn new(line: u32, column: u32) -> Self { Self { line, column } } /// Mutates the location by shifting the original one down by `lines` and /// setting the column to `column`. - pub fn shift_down(&mut self, lines: usize, column: usize) { + pub fn shift_down(&mut self, lines: u32, column: u32) { if lines == 0 { self.shift_right(column); return; @@ -37,7 +37,7 @@ impl Location { } /// Mutates the location by shifting the original one rightward by `columns`. - pub fn shift_right(&mut self, columns: usize) { + pub fn shift_right(&mut self, columns: u32) { self.column += columns; } } diff --git a/crates/solidity/src/yul/lexer/token/mod.rs b/crates/solidity/src/yul/lexer/token/mod.rs index da10d26..30d9fa4 100644 --- a/crates/solidity/src/yul/lexer/token/mod.rs +++ b/crates/solidity/src/yul/lexer/token/mod.rs @@ -15,12 +15,12 @@ pub struct Token { /// The lexeme. pub lexeme: Lexeme, /// The token length, including whitespaces. - pub length: usize, + pub length: u32, } impl Token { /// A shortcut constructor. - pub fn new(location: Location, lexeme: Lexeme, length: usize) -> Self { + pub fn new(location: Location, lexeme: Lexeme, length: u32) -> Self { Self { location, lexeme, diff --git a/crates/solidity/src/yul/parser/error.rs b/crates/solidity/src/yul/parser/error.rs index ac49fe5..33daf3e 100644 --- a/crates/solidity/src/yul/parser/error.rs +++ b/crates/solidity/src/yul/parser/error.rs @@ -57,4 +57,7 @@ pub enum Error { /// The list of invalid attributes. values: BTreeSet, }, + /// Invalid code length. + #[error("The line or column length exceed the maximum of u32::MAX")] + InvalidLength, } diff --git a/crates/solidity/src/yul/parser/statement/assignment.rs b/crates/solidity/src/yul/parser/statement/assignment.rs index 007378d..d93d34c 100644 --- a/crates/solidity/src/yul/parser/statement/assignment.rs +++ b/crates/solidity/src/yul/parser/statement/assignment.rs @@ -47,7 +47,11 @@ impl Assignment { .into()); } }; - let length = identifier.inner.len(); + let length = identifier + .inner + .len() + .try_into() + .map_err(|_| Error::Parser(ParserError::InvalidLength))?; match lexer.peek()? { Token { @@ -115,6 +119,8 @@ where mut self, context: &mut revive_llvm_context::PolkaVMContext, ) -> anyhow::Result<()> { + context.set_debug_location(self.location.line, 0, None)?; + let value = match self.initializer.into_llvm(context)? { Some(value) => value, None => return Ok(()), @@ -142,6 +148,8 @@ where context.build_store(tuple_pointer, value.to_llvm())?; for (index, binding) in self.bindings.into_iter().enumerate() { + context.set_debug_location(self.location.line, 0, None)?; + let field_pointer = context.build_gep( tuple_pointer, &[ diff --git a/crates/solidity/src/yul/parser/statement/block.rs b/crates/solidity/src/yul/parser/statement/block.rs index ffa2c63..b4ba92d 100644 --- a/crates/solidity/src/yul/parser/statement/block.rs +++ b/crates/solidity/src/yul/parser/statement/block.rs @@ -5,6 +5,8 @@ use std::collections::HashSet; use serde::Deserialize; use serde::Serialize; +use inkwell::debug_info::AsDIScope; + use crate::yul::error::Error; use crate::yul::lexer::token::lexeme::symbol::Symbol; use crate::yul::lexer::token::lexeme::Lexeme; @@ -153,9 +155,26 @@ where function.into_llvm(context)?; } - context.set_current_function(current_function.as_str())?; + context.set_current_function(current_function.as_str(), Some(self.location.line))?; + + if let Some(debug_info) = context.debug_info() { + let di_builder = debug_info.builder(); + let di_scope = debug_info.top_scope().expect("expected a debug-info scope"); + let di_block_scope = di_builder + .create_lexical_block( + di_scope, + debug_info.compilation_unit().get_file(), + self.location.line, + 0, + ) + .as_debug_info_scope(); + context.push_debug_scope(di_block_scope); + context.set_debug_location(self.location.line, 0, None)?; + } + context.set_basic_block(current_block); for statement in local_statements.into_iter() { + context.set_debug_location(statement.location().line, 0, None)?; if context.basic_block().get_terminator().is_some() { break; } @@ -194,6 +213,8 @@ where } } + context.pop_debug_scope(); + Ok(()) } } diff --git a/crates/solidity/src/yul/parser/statement/expression/mod.rs b/crates/solidity/src/yul/parser/statement/expression/mod.rs index 10432dc..80a5a62 100644 --- a/crates/solidity/src/yul/parser/statement/expression/mod.rs +++ b/crates/solidity/src/yul/parser/statement/expression/mod.rs @@ -55,7 +55,11 @@ impl Expression { .into()); } }; - let length = identifier.inner.len(); + let length = identifier + .inner + .len() + .try_into() + .map_err(|_| Error::Parser(ParserError::InvalidLength))?; match lexer.peek()? { Token { diff --git a/crates/solidity/src/yul/parser/statement/function_definition.rs b/crates/solidity/src/yul/parser/statement/function_definition.rs index 7ff9775..fb5eb6b 100644 --- a/crates/solidity/src/yul/parser/statement/function_definition.rs +++ b/crates/solidity/src/yul/parser/statement/function_definition.rs @@ -4,6 +4,7 @@ use std::collections::BTreeSet; use std::collections::HashSet; use inkwell::types::BasicType; + use serde::Deserialize; use serde::Serialize; @@ -229,14 +230,15 @@ where mut self, context: &mut revive_llvm_context::PolkaVMContext, ) -> anyhow::Result<()> { - context.set_current_function(self.identifier.as_str())?; - let r#return = context.current_function().borrow().r#return(); - + context.set_current_function(self.identifier.as_str(), Some(self.location.line))?; context.set_basic_block(context.current_function().borrow().entry_block()); + + let r#return = context.current_function().borrow().r#return(); match r#return { revive_llvm_context::PolkaVMFunctionReturn::None => {} revive_llvm_context::PolkaVMFunctionReturn::Primitive { pointer } => { let identifier = self.result.pop().expect("Always exists"); + let r#type = identifier.r#type.unwrap_or_default(); context.build_store(pointer, r#type.into_llvm(context).const_zero())?; context @@ -288,6 +290,8 @@ where } self.body.into_llvm(context)?; + context.set_debug_location(self.location.line, 0, None)?; + match context .basic_block() .get_last_instruction() @@ -314,6 +318,8 @@ where } } + context.pop_debug_scope(); + Ok(()) } } diff --git a/crates/solidity/src/yul/parser/statement/object.rs b/crates/solidity/src/yul/parser/statement/object.rs index 5c08d38..4f10102 100644 --- a/crates/solidity/src/yul/parser/statement/object.rs +++ b/crates/solidity/src/yul/parser/statement/object.rs @@ -2,6 +2,8 @@ use std::collections::HashSet; +use inkwell::debug_info::AsDIScope; + use serde::Deserialize; use serde::Serialize; @@ -217,16 +219,30 @@ where } fn into_llvm(self, context: &mut revive_llvm_context::PolkaVMContext) -> anyhow::Result<()> { + if let Some(debug_info) = context.debug_info() { + let di_builder = debug_info.builder(); + let object_name: &str = self.identifier.as_str(); + let di_parent_scope = debug_info + .top_scope() + .expect("expected an existing debug-info scope"); + let object_scope = di_builder.create_namespace(di_parent_scope, object_name, true); + context.push_debug_scope(object_scope.as_debug_info_scope()); + } + if self.identifier.ends_with("_deployed") { revive_llvm_context::PolkaVMImmutableDataLoadFunction.into_llvm(context)?; revive_llvm_context::PolkaVMRuntimeCodeFunction::new(self.code).into_llvm(context)?; } else { revive_llvm_context::PolkaVMDeployCodeFunction::new(self.code).into_llvm(context)?; } + context.set_debug_location(self.location.line, 0, None)?; if let Some(object) = self.inner_object { object.into_llvm(context)?; } + context.set_debug_location(self.location.line, 0, None)?; + + context.pop_debug_scope(); Ok(()) } diff --git a/crates/solidity/src/yul/parser/statement/variable_declaration.rs b/crates/solidity/src/yul/parser/statement/variable_declaration.rs index 3733cca..8232fda 100644 --- a/crates/solidity/src/yul/parser/statement/variable_declaration.rs +++ b/crates/solidity/src/yul/parser/statement/variable_declaration.rs @@ -101,7 +101,9 @@ where ) -> anyhow::Result<()> { if self.bindings.len() == 1 { let identifier = self.bindings.remove(0); - let r#type = identifier.r#type.unwrap_or_default().into_llvm(context); + context.set_debug_location(self.location.line, 0, None)?; + let identifier_type = identifier.r#type.clone().unwrap_or_default(); + let r#type = identifier_type.into_llvm(context); let pointer = context.build_alloca(r#type, identifier.inner.as_str()); context .current_function() @@ -116,7 +118,7 @@ where .current_function() .borrow_mut() .yul_mut() - .insert_constant(identifier.inner, constant); + .insert_constant(identifier.inner.clone(), constant); } value.to_llvm() @@ -131,6 +133,8 @@ where } for (index, binding) in self.bindings.iter().enumerate() { + context.set_debug_location(self.location.line, 0, None)?; + let yul_type = binding .r#type .to_owned() From 84d47fa73885fbdd2fbebe15b477ed4aa0ec988c Mon Sep 17 00:00:00 2001 From: xermicus Date: Fri, 22 Nov 2024 16:14:07 +0100 Subject: [PATCH 4/5] fix missing semicolon Signed-off-by: xermicus --- crates/solidity/src/tests/cli-tests/src/entities.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/solidity/src/tests/cli-tests/src/entities.ts b/crates/solidity/src/tests/cli-tests/src/entities.ts index a232ad1..4189c93 100644 --- a/crates/solidity/src/tests/cli-tests/src/entities.ts +++ b/crates/solidity/src/tests/cli-tests/src/entities.ts @@ -3,7 +3,7 @@ import * as path from 'path'; const outputDir = 'artifacts'; const binExtension = ':C.pvm'; const asmExtension = ':C.pvmasm'; -const llvmExtension = '.ll' +const llvmExtension = '.ll'; const contractSolFilename = 'contract.sol'; const contractYulFilename = 'contract.yul'; const contractOptimizedLLVMFilename = contractSolFilename + '.C.optimized'; From 01b5ed5ba38567e9c02a6b44e7849c2098ae8481 Mon Sep 17 00:00:00 2001 From: Ermal Kaleci Date: Sat, 23 Nov 2024 18:05:21 +0100 Subject: [PATCH 5/5] Implement delegate_call (#80) --- Cargo.lock | 714 +++++++++--------- Cargo.toml | 2 +- crates/integration/contracts/Delegate.sol | 84 +++ crates/integration/src/tests.rs | 1 + crates/llvm-context/src/polkavm/evm/call.rs | 82 +- crates/runtime-api/src/calling_convention.rs | 27 + crates/runtime-api/src/polkavm_imports.c | 2 + crates/runtime-api/src/polkavm_imports.rs | 5 +- .../ethereal_ir/function/block/element/mod.rs | 1 - .../statement/expression/function_call/mod.rs | 1 - 10 files changed, 547 insertions(+), 372 deletions(-) create mode 100644 crates/integration/contracts/Delegate.sol diff --git a/Cargo.lock b/Cargo.lock index 651ce61..dd77638 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -748,7 +748,7 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "asset-test-utils" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", @@ -777,7 +777,7 @@ dependencies = [ [[package]] name = "assets-common" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -906,7 +906,7 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "binary-merkle-tree" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "hash-db", "log", @@ -1074,7 +1074,7 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-runtime", "finality-grandpa", @@ -1085,13 +1085,13 @@ dependencies = [ "sp-consensus-grandpa", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "bp-messages" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-runtime", @@ -1101,13 +1101,13 @@ dependencies = [ "serde", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "bp-parachains" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-polkadot-core", @@ -1118,26 +1118,26 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "bp-polkadot" version = "0.5.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-polkadot-core", "bp-runtime", "frame-support", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "bp-polkadot-core" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-messages", "bp-runtime", @@ -1148,13 +1148,13 @@ dependencies = [ "serde", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "bp-relayers" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-messages", @@ -1166,13 +1166,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "bp-runtime" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -1187,7 +1187,7 @@ dependencies = [ "sp-io", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", "trie-db", ] @@ -1195,7 +1195,7 @@ dependencies = [ [[package]] name = "bp-test-utils" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-parachains", @@ -1208,14 +1208,14 @@ dependencies = [ "sp-consensus-grandpa", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", ] [[package]] name = "bp-xcm-bridge-hub" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-messages", "bp-runtime", @@ -1225,14 +1225,14 @@ dependencies = [ "serde", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", ] [[package]] name = "bp-xcm-bridge-hub-router" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -1244,7 +1244,7 @@ dependencies = [ [[package]] name = "bridge-hub-common" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1254,14 +1254,14 @@ dependencies = [ "snowbridge-core", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", ] [[package]] name = "bridge-hub-test-utils" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "asset-test-utils", "bp-header-chain", @@ -1295,7 +1295,7 @@ dependencies = [ "sp-io", "sp-keyring", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -1304,7 +1304,7 @@ dependencies = [ [[package]] name = "bridge-runtime-common" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-messages", @@ -1326,7 +1326,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", "sp-weights", "staging-xcm", @@ -1929,7 +1929,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -1946,7 +1946,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -1963,7 +1963,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -1983,12 +1983,12 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-inherents", "sp-io", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", "sp-version", "staging-xcm", @@ -1999,7 +1999,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2010,7 +2010,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -2023,7 +2023,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-solo-to-para" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2038,7 +2038,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2053,7 +2053,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bounded-collections", "bp-xcm-bridge-hub-router", @@ -2078,7 +2078,7 @@ dependencies = [ [[package]] name = "cumulus-ping" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-pallet-xcm", "cumulus-primitives-core", @@ -2093,7 +2093,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "sp-api", "sp-consensus-aura", @@ -2102,7 +2102,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2118,7 +2118,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2132,17 +2132,17 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", ] [[package]] name = "cumulus-primitives-storage-weight-reclaim" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", @@ -2159,7 +2159,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-timestamp" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "sp-inherents", @@ -2169,7 +2169,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2186,7 +2186,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -2873,7 +2873,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-support-procedural", @@ -2889,15 +2889,15 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "static_assertions", ] [[package]] name = "frame-benchmarking-pallet-pov" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -2925,7 +2925,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2936,7 +2936,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2952,7 +2952,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "aquamarine", "frame-support", @@ -2964,7 +2964,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] @@ -2993,7 +2993,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "array-bytes", "const-hex", @@ -3009,7 +3009,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "aquamarine", "array-bytes", @@ -3033,7 +3033,7 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-crypto-hashing-proc-macro", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -3041,8 +3041,8 @@ dependencies = [ "sp-runtime", "sp-staking", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", "sp-weights", "static_assertions", @@ -3052,7 +3052,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "Inflector", "cfg-expr", @@ -3065,14 +3065,14 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "syn 2.0.89", ] [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -3084,7 +3084,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "proc-macro2", "quote", @@ -3094,7 +3094,7 @@ dependencies = [ [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cfg-if", "docify", @@ -3106,7 +3106,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-version", "sp-weights", ] @@ -3114,7 +3114,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -3128,7 +3128,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "parity-scale-codec", @@ -3138,7 +3138,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "parity-scale-codec", @@ -4834,7 +4834,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-alliance" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4845,7 +4845,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-io", "sp-runtime", ] @@ -4853,7 +4853,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4871,7 +4871,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-ops" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4889,7 +4889,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-tx-payment" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4904,7 +4904,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4918,7 +4918,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4935,7 +4935,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "29.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4951,7 +4951,7 @@ dependencies = [ [[package]] name = "pallet-assets-freezer" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -4966,7 +4966,7 @@ dependencies = [ [[package]] name = "pallet-atomic-swap" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -4980,7 +4980,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -4996,7 +4996,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5011,7 +5011,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5024,7 +5024,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5047,7 +5047,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "aquamarine", "docify", @@ -5062,13 +5062,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -5083,7 +5083,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5102,7 +5102,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "array-bytes", "binary-merkle-tree", @@ -5127,7 +5127,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5144,7 +5144,7 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-runtime", @@ -5157,13 +5157,13 @@ dependencies = [ "scale-info", "sp-consensus-grandpa", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "pallet-bridge-messages" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-messages", @@ -5175,14 +5175,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", ] [[package]] name = "pallet-bridge-parachains" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-parachains", @@ -5196,13 +5196,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "pallet-bridge-relayers" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-header-chain", "bp-messages", @@ -5220,13 +5220,13 @@ dependencies = [ "scale-info", "sp-arithmetic", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "pallet-broker" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bitvec", "frame-benchmarking", @@ -5244,7 +5244,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5262,7 +5262,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5281,7 +5281,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -5298,7 +5298,7 @@ dependencies = [ [[package]] name = "pallet-collective-content" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5312,7 +5312,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bitflags 1.3.2", "environmental", @@ -5334,7 +5334,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-builder", "wasm-instrument", @@ -5344,7 +5344,7 @@ dependencies = [ [[package]] name = "pallet-contracts-mock-network" version = "3.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5369,7 +5369,7 @@ dependencies = [ "sp-io", "sp-keystore", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -5379,7 +5379,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "proc-macro2", "quote", @@ -5389,7 +5389,7 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -5400,7 +5400,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "assert_matches", "frame-benchmarking", @@ -5416,7 +5416,7 @@ dependencies = [ [[package]] name = "pallet-core-fellowship" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5434,7 +5434,7 @@ dependencies = [ [[package]] name = "pallet-delegated-staking" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5449,7 +5449,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5466,7 +5466,7 @@ dependencies = [ [[package]] name = "pallet-dev-mode" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5481,7 +5481,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5503,7 +5503,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5516,7 +5516,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5534,7 +5534,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -5552,7 +5552,7 @@ dependencies = [ [[package]] name = "pallet-glutton" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "blake2", "frame-benchmarking", @@ -5570,7 +5570,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5592,7 +5592,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5608,7 +5608,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5627,7 +5627,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5643,7 +5643,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5656,7 +5656,7 @@ dependencies = [ [[package]] name = "pallet-lottery" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5669,7 +5669,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5685,7 +5685,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "environmental", "frame-benchmarking", @@ -5704,7 +5704,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cfg-if", "docify", @@ -5722,7 +5722,7 @@ dependencies = [ [[package]] name = "pallet-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5741,7 +5741,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5758,7 +5758,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "log", "parity-scale-codec", @@ -5769,7 +5769,7 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5785,7 +5785,7 @@ dependencies = [ [[package]] name = "pallet-nfts" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5802,7 +5802,7 @@ dependencies = [ [[package]] name = "pallet-nfts-runtime-api" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "pallet-nfts", "parity-scale-codec", @@ -5812,7 +5812,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5827,7 +5827,7 @@ dependencies = [ [[package]] name = "pallet-node-authorization" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5842,7 +5842,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5854,13 +5854,13 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "pallet-nomination-pools-benchmarking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5873,14 +5873,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-staking", ] [[package]] name = "pallet-nomination-pools-runtime-api" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -5890,7 +5890,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -5906,7 +5906,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5929,7 +5929,7 @@ dependencies = [ [[package]] name = "pallet-paged-list" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -5946,7 +5946,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -5963,7 +5963,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -5979,7 +5979,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -5989,7 +5989,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6007,7 +6007,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6021,7 +6021,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6038,7 +6038,7 @@ dependencies = [ [[package]] name = "pallet-remark" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6054,7 +6054,7 @@ dependencies = [ [[package]] name = "pallet-revive" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bitflags 1.3.2", "derive_more 0.99.18", @@ -6083,7 +6083,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-weights", "staging-xcm", "staging-xcm-builder", @@ -6093,7 +6093,7 @@ dependencies = [ [[package]] name = "pallet-revive-fixtures" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "anyhow", "frame-system", @@ -6110,7 +6110,7 @@ dependencies = [ [[package]] name = "pallet-revive-mock-network" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -6134,7 +6134,7 @@ dependencies = [ "sp-io", "sp-keystore", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -6144,7 +6144,7 @@ dependencies = [ [[package]] name = "pallet-revive-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "proc-macro2", "quote", @@ -6154,7 +6154,7 @@ dependencies = [ [[package]] name = "pallet-revive-uapi" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -6166,7 +6166,7 @@ dependencies = [ [[package]] name = "pallet-root-offences" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -6181,7 +6181,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "4.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -6195,7 +6195,7 @@ dependencies = [ [[package]] name = "pallet-safe-mode" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -6213,7 +6213,7 @@ dependencies = [ [[package]] name = "pallet-salary" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6231,7 +6231,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -6248,7 +6248,7 @@ dependencies = [ [[package]] name = "pallet-scored-pool" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -6261,7 +6261,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -6282,7 +6282,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6298,7 +6298,7 @@ dependencies = [ [[package]] name = "pallet-skip-feeless-payment" version = "3.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -6310,7 +6310,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6327,7 +6327,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6348,7 +6348,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "log", "sp-arithmetic", @@ -6357,7 +6357,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "sp-api", @@ -6367,7 +6367,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6383,7 +6383,7 @@ dependencies = [ [[package]] name = "pallet-statement" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -6400,7 +6400,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -6415,7 +6415,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -6427,14 +6427,14 @@ dependencies = [ "sp-inherents", "sp-io", "sp-runtime", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-timestamp", ] [[package]] name = "pallet-tips" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6452,7 +6452,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6468,7 +6468,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6480,7 +6480,7 @@ dependencies = [ [[package]] name = "pallet-transaction-storage" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6499,7 +6499,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -6518,7 +6518,7 @@ dependencies = [ [[package]] name = "pallet-tx-pause" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -6535,7 +6535,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6549,7 +6549,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6564,7 +6564,7 @@ dependencies = [ [[package]] name = "pallet-verify-signature" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6580,7 +6580,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6594,7 +6594,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6608,7 +6608,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -6631,7 +6631,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -6649,7 +6649,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-messages", "bp-runtime", @@ -6662,7 +6662,7 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -6671,7 +6671,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" version = "0.5.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bp-xcm-bridge-hub-router", "frame-benchmarking", @@ -6682,7 +6682,7 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-builder", ] @@ -6690,7 +6690,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -6720,7 +6720,7 @@ dependencies = [ [[package]] name = "parachains-runtimes-test-utils" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-pallet-parachain-system", "cumulus-pallet-xcmp-queue", @@ -6740,7 +6740,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -6963,7 +6963,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -6974,7 +6974,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bounded-collections", "derive_more 0.99.18", @@ -6990,7 +6990,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bitvec", "hex-literal", @@ -7011,14 +7011,14 @@ dependencies = [ "sp-keystore", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "thiserror", ] [[package]] name = "polkadot-runtime-common" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bitvec", "frame-benchmarking", @@ -7068,19 +7068,19 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bs58", "frame-benchmarking", "parity-scale-codec", "polkadot-primitives", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "polkadot-runtime-parachains" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -7120,7 +7120,7 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-executor", ] @@ -7128,7 +7128,7 @@ dependencies = [ [[package]] name = "polkadot-sdk" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "asset-test-utils", "assets-common", @@ -7320,11 +7320,11 @@ dependencies = [ "sp-consensus-slots", "sp-core", "sp-core-hashing", - "sp-crypto-ec-utils 0.10.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-crypto-ec-utils 0.10.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-crypto-hashing-proc-macro", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -7336,22 +7336,22 @@ dependencies = [ "sp-npos-elections", "sp-offchain", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-session", "sp-staking", "sp-state-machine", "sp-statement-store", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-timestamp", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie", "sp-version", "sp-version-proc-macro", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-weights", "staging-parachain-info", "staging-xcm", @@ -7374,7 +7374,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "frame-benchmarking", @@ -7400,7 +7400,7 @@ dependencies = [ "sp-offchain", "sp-runtime", "sp-session", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-transaction-pool", "sp-version", ] @@ -8234,7 +8234,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "polkadot-primitives", @@ -8505,18 +8505,18 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "log", "sp-core", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "thiserror", ] [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "parking_lot", @@ -8526,25 +8526,25 @@ dependencies = [ "schnellru", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-io", "sp-panic-handler", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", "sp-version", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "tracing", ] [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "polkavm 0.9.3", "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "thiserror", "wasm-instrument", ] @@ -8552,18 +8552,18 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "log", "polkavm 0.9.3", "sc-executor-common", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "anyhow", "cfg-if", @@ -8573,8 +8573,8 @@ dependencies = [ "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "wasmtime", ] @@ -9108,7 +9108,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "enumn", "parity-scale-codec", @@ -9135,7 +9135,7 @@ dependencies = [ [[package]] name = "snowbridge-beacon-primitives" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "byte-slice-cast", "frame-support", @@ -9149,7 +9149,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "ssz_rs", "ssz_rs_derive", ] @@ -9157,7 +9157,7 @@ dependencies = [ [[package]] name = "snowbridge-core" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "ethabi-decode", "frame-support", @@ -9172,7 +9172,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-builder", ] @@ -9180,7 +9180,7 @@ dependencies = [ [[package]] name = "snowbridge-ethereum" version = "0.3.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "ethabi-decode", "ethbloom", @@ -9194,7 +9194,7 @@ dependencies = [ "serde-big-array", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] @@ -9215,7 +9215,7 @@ dependencies = [ [[package]] name = "snowbridge-outbound-queue-merkle-tree" version = "0.3.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9226,20 +9226,20 @@ dependencies = [ [[package]] name = "snowbridge-outbound-queue-runtime-api" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "parity-scale-codec", "snowbridge-core", "snowbridge-outbound-queue-merkle-tree", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "snowbridge-pallet-ethereum-client" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -9256,26 +9256,26 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "static_assertions", ] [[package]] name = "snowbridge-pallet-ethereum-client-fixtures" version = "0.9.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "hex-literal", "snowbridge-beacon-primitives", "snowbridge-core", "sp-core", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "snowbridge-pallet-inbound-queue" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "alloy-primitives 0.4.2", "alloy-sol-types 0.4.2", @@ -9294,7 +9294,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-executor", ] @@ -9302,19 +9302,19 @@ dependencies = [ [[package]] name = "snowbridge-pallet-inbound-queue-fixtures" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "hex-literal", "snowbridge-beacon-primitives", "snowbridge-core", "sp-core", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "snowbridge-pallet-outbound-queue" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bridge-hub-common", "ethabi-decode", @@ -9330,13 +9330,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "snowbridge-pallet-system" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-benchmarking", "frame-support", @@ -9348,7 +9348,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-executor", ] @@ -9356,7 +9356,7 @@ dependencies = [ [[package]] name = "snowbridge-router-primitives" version = "0.9.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "hex-literal", @@ -9367,7 +9367,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-executor", ] @@ -9375,14 +9375,14 @@ dependencies = [ [[package]] name = "snowbridge-runtime-common" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "log", "parity-scale-codec", "snowbridge-core", "sp-arithmetic", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -9391,7 +9391,7 @@ dependencies = [ [[package]] name = "snowbridge-runtime-test-common" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -9422,12 +9422,12 @@ dependencies = [ [[package]] name = "snowbridge-system-runtime-api" version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "snowbridge-core", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", ] @@ -9460,7 +9460,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "hash-db", @@ -9469,10 +9469,10 @@ dependencies = [ "scale-info", "sp-api-proc-macro", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-metadata-ir", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-state-machine", "sp-trie", "sp-version", @@ -9482,7 +9482,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "Inflector", "blake2", @@ -9496,7 +9496,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9508,7 +9508,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "docify", "integer-sqrt", @@ -9540,7 +9540,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9552,7 +9552,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "sp-api", "sp-inherents", @@ -9562,7 +9562,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "async-trait", "parity-scale-codec", @@ -9578,7 +9578,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "async-trait", "parity-scale-codec", @@ -9596,7 +9596,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9604,7 +9604,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-io", "sp-keystore", "sp-mmr-primitives", @@ -9616,7 +9616,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "finality-grandpa", "log", @@ -9633,7 +9633,7 @@ dependencies = [ [[package]] name = "sp-consensus-pow" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "sp-api", @@ -9644,7 +9644,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9655,7 +9655,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "array-bytes", "bandersnatch_vrfs", @@ -9685,12 +9685,12 @@ dependencies = [ "secp256k1 0.28.2", "secrecy 0.8.0", "serde", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "ss58-registry", "substrate-bip39", "thiserror", @@ -9702,15 +9702,15 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -9724,7 +9724,7 @@ dependencies = [ "ark-ed-on-bls12-381-bandersnatch", "ark-ed-on-bls12-381-bandersnatch-ext", "ark-scale", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] @@ -9764,7 +9764,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "blake2b_simd", "byteorder", @@ -9777,17 +9777,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "syn 2.0.89", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "proc-macro2", "quote", @@ -9807,11 +9807,11 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "environmental", "parity-scale-codec", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] @@ -9827,7 +9827,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9839,7 +9839,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -9852,7 +9852,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bytes", "docify", @@ -9864,12 +9864,12 @@ dependencies = [ "rustversion", "secp256k1 0.28.2", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-keystore", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-state-machine", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", "tracing", "tracing-core", @@ -9878,7 +9878,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "sp-core", "sp-runtime", @@ -9888,18 +9888,18 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "parking_lot", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "thiserror", "zstd 0.12.4", @@ -9908,7 +9908,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-metadata 16.0.0", "parity-scale-codec", @@ -9918,7 +9918,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9929,7 +9929,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "log", "parity-scale-codec", @@ -9938,7 +9938,7 @@ dependencies = [ "serde", "sp-api", "sp-core", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-runtime", "thiserror", ] @@ -9946,7 +9946,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -9959,7 +9959,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "sp-api", "sp-core", @@ -9969,7 +9969,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "backtrace", "regex", @@ -9978,7 +9978,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "binary-merkle-tree", "docify", @@ -9997,7 +9997,7 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-trie", "sp-weights", "tracing", @@ -10007,19 +10007,19 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive 0.9.1", "primitive-types 0.13.1", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "static_assertions", ] @@ -10045,7 +10045,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "Inflector", "expander", @@ -10071,7 +10071,7 @@ dependencies = [ [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "scale-info", @@ -10085,7 +10085,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -10098,7 +10098,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "hash-db", "log", @@ -10107,7 +10107,7 @@ dependencies = [ "rand", "smallvec", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-panic-handler", "sp-trie", "thiserror", @@ -10118,7 +10118,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -10131,10 +10131,10 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "thiserror", "x25519-dalek", ] @@ -10142,7 +10142,7 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" [[package]] name = "sp-std" @@ -10152,13 +10152,13 @@ source = "git+https://github.com/paritytech/polkadot-sdk#56d97c3ad8c86e602bc7ac3 [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] @@ -10176,7 +10176,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "async-trait", "parity-scale-codec", @@ -10188,7 +10188,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "tracing", @@ -10210,7 +10210,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "sp-api", "sp-runtime", @@ -10219,7 +10219,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "async-trait", "parity-scale-codec", @@ -10233,7 +10233,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "ahash", "hash-db", @@ -10245,7 +10245,7 @@ dependencies = [ "scale-info", "schnellru", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "thiserror", "tracing", "trie-db", @@ -10255,7 +10255,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10264,7 +10264,7 @@ dependencies = [ "serde", "sp-crypto-hashing-proc-macro", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "sp-version-proc-macro", "thiserror", ] @@ -10272,7 +10272,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -10284,7 +10284,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -10307,7 +10307,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -10315,7 +10315,7 @@ dependencies = [ "serde", "smallvec", "sp-arithmetic", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", ] [[package]] @@ -10394,7 +10394,7 @@ dependencies = [ [[package]] name = "staging-parachain-info" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -10407,7 +10407,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "array-bytes", "bounded-collections", @@ -10428,7 +10428,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -10450,7 +10450,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "environmental", "frame-benchmarking", @@ -10534,7 +10534,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -10546,7 +10546,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "build-helper", "cargo_metadata", @@ -10736,7 +10736,7 @@ dependencies = [ [[package]] name = "testnet-parachains-constants" version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -11677,7 +11677,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "polkadot-primitives", @@ -12003,7 +12003,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "Inflector", "proc-macro2", @@ -12014,7 +12014,7 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "parity-scale-codec", @@ -12028,7 +12028,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2#a77940bac783108fcae783c553528c8d5328e5b2" +source = "git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4#0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" dependencies = [ "frame-support", "frame-system", @@ -12041,7 +12041,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=a77940bac783108fcae783c553528c8d5328e5b2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?rev=0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", diff --git a/Cargo.toml b/Cargo.toml index bb6a6ca..fe4555f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -67,7 +67,7 @@ log = { version = "0.4" } # polkadot-sdk and friends codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" } scale-info = { version = "2.11.1", default-features = false } -polkadot-sdk = { git = "https://github.com/paritytech/polkadot-sdk", rev = "a77940bac783108fcae783c553528c8d5328e5b2" } +polkadot-sdk = { git = "https://github.com/paritytech/polkadot-sdk", rev = "0449b214accd0f0fbf7ea3e8f3a8d8b7f99445e4" } # llvm [workspace.dependencies.inkwell] diff --git a/crates/integration/contracts/Delegate.sol b/crates/integration/contracts/Delegate.sol new file mode 100644 index 0000000..8119be6 --- /dev/null +++ b/crates/integration/contracts/Delegate.sol @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8; + +/* runner.json +{ + "differential": true, + "actions": [ + { + "Upload": { + "code": { + "Solidity": { + "contract": "Logic" + } + } + } + }, + { + "Instantiate": { + "code": { + "Solidity": { + "contract": "Tester" + } + } + } + }, + { + "Call": { + "dest": { + "Instantiated": 0 + }, + "value": 123, + "data": "6466414b0000000000000000000000000000000000000000000000000000000000000020" + } + } + ] +} +*/ + +contract Logic { + // NOTE: storage layout must be the same as contract Tester + uint256 public num; + address public sender; + uint256 public value; + + uint public immutable multiplier = 4; + + event DidSetVars(); + + function setVars(uint256 _num) public payable returns (uint256) { + num = _num * multiplier; + sender = msg.sender; + value = msg.value; + emit DidSetVars(); + return _num; + } +} + +contract Tester { + uint256 public num; + address public sender; + uint256 public value; + + uint public immutable multiplier = 2; + + function setVars(uint256 _num) public payable returns (bool, bytes memory) { + Logic impl = new Logic(); + + // Tester's storage is set, Logic is not modified. + (bool success, bytes memory data) = address(impl).delegatecall( + abi.encodeWithSignature("setVars(uint256)", _num) + ); + + assert(success); + assert(impl.num() == 0); + assert(impl.sender() == address(0)); + assert(impl.value() == 0); + assert(num == _num * 4); + assert(sender == msg.sender); + assert(value == msg.value); + + return (success, data); + } +} diff --git a/crates/integration/src/tests.rs b/crates/integration/src/tests.rs index c8a9c50..a7667e7 100644 --- a/crates/integration/src/tests.rs +++ b/crates/integration/src/tests.rs @@ -45,6 +45,7 @@ test_spec!(return_data_oob, "ReturnDataOob", "ReturnDataOob.sol"); test_spec!(immutables, "Immutables", "Immutables.sol"); test_spec!(transaction, "Transaction", "Transaction.sol"); test_spec!(block_hash, "BlockHash", "BlockHash.sol"); +test_spec!(delegate, "Delegate", "Delegate.sol"); fn instantiate(path: &str, contract: &str) -> Vec { vec![Instantiate { diff --git a/crates/llvm-context/src/polkavm/evm/call.rs b/crates/llvm-context/src/polkavm/evm/call.rs index 1cf67d2..c2aa476 100644 --- a/crates/llvm-context/src/polkavm/evm/call.rs +++ b/crates/llvm-context/src/polkavm/evm/call.rs @@ -13,7 +13,7 @@ const REENTRANT_CALL_FLAG: u32 = 0b0000_1000; #[allow(clippy::too_many_arguments)] pub fn call<'ctx, D>( context: &mut Context<'ctx, D>, - _gas: inkwell::values::IntValue<'ctx>, + gas: inkwell::values::IntValue<'ctx>, address: inkwell::values::IntValue<'ctx>, value: Option>, input_offset: inkwell::values::IntValue<'ctx>, @@ -40,7 +40,7 @@ where // TODO: What to supply here? Is there a weight to gas? let _gas = context .builder() - .build_int_truncate(_gas, context.integer_type(64), "gas")?; + .build_int_truncate(gas, context.integer_type(64), "gas")?; let input_pointer = context.build_heap_gep(input_offset, input_length)?; let output_pointer = context.build_heap_gep(output_offset, output_length)?; @@ -102,20 +102,80 @@ where #[allow(clippy::too_many_arguments)] pub fn delegate_call<'ctx, D>( - _context: &mut Context<'ctx, D>, - _gas: inkwell::values::IntValue<'ctx>, - _address: inkwell::values::IntValue<'ctx>, - _value: Option>, - _input_offset: inkwell::values::IntValue<'ctx>, - _input_length: inkwell::values::IntValue<'ctx>, - _output_offset: inkwell::values::IntValue<'ctx>, - _output_length: inkwell::values::IntValue<'ctx>, + context: &mut Context<'ctx, D>, + gas: inkwell::values::IntValue<'ctx>, + address: inkwell::values::IntValue<'ctx>, + input_offset: inkwell::values::IntValue<'ctx>, + input_length: inkwell::values::IntValue<'ctx>, + output_offset: inkwell::values::IntValue<'ctx>, + output_length: inkwell::values::IntValue<'ctx>, _constants: Vec>, ) -> anyhow::Result> where D: Dependency + Clone, { - todo!() + let address_pointer = context.build_address_argument_store(address)?; + + let input_offset = context.safe_truncate_int_to_xlen(input_offset)?; + let input_length = context.safe_truncate_int_to_xlen(input_length)?; + let output_offset = context.safe_truncate_int_to_xlen(output_offset)?; + let output_length = context.safe_truncate_int_to_xlen(output_length)?; + + // TODO: What to supply here? Is there a weight to gas? + let _gas = context + .builder() + .build_int_truncate(gas, context.integer_type(64), "gas")?; + + let input_pointer = context.build_heap_gep(input_offset, input_length)?; + let output_pointer = context.build_heap_gep(output_offset, output_length)?; + + let output_length_pointer = context.build_alloca_at_entry(context.xlen_type(), "output_length"); + context.build_store(output_length_pointer, output_length)?; + + let flags = context.xlen_type().const_int(0u64, false); + + let argument_type = revive_runtime_api::calling_convention::delegate_call(context.llvm()); + let argument_pointer = context.build_alloca_at_entry(argument_type, "delegate_call_arguments"); + let arguments = &[ + flags.as_basic_value_enum(), + address_pointer.value.as_basic_value_enum(), + context.integer_const(64, 0).as_basic_value_enum(), + context.integer_const(64, 0).as_basic_value_enum(), + context.sentinel_pointer().value.as_basic_value_enum(), + input_pointer.value.as_basic_value_enum(), + input_length.as_basic_value_enum(), + output_pointer.value.as_basic_value_enum(), + output_length_pointer.value.as_basic_value_enum(), + ]; + revive_runtime_api::calling_convention::spill( + context.builder(), + argument_pointer.value, + argument_type, + arguments, + )?; + + let name = revive_runtime_api::polkavm_imports::DELEGATE_CALL; + let argument_pointer = context.builder().build_ptr_to_int( + argument_pointer.value, + context.xlen_type(), + "delegate_call_argument_pointer", + )?; + let success = context + .build_runtime_call(name, &[argument_pointer.into()]) + .unwrap_or_else(|| panic!("{name} should return a value")) + .into_int_value(); + + let is_success = context.builder().build_int_compare( + inkwell::IntPredicate::EQ, + success, + context.xlen_type().const_zero(), + "is_success", + )?; + + Ok(context + .builder() + .build_int_z_extend(is_success, context.word_type(), "success")? + .as_basic_value_enum()) } /// Translates the Yul `linkersymbol` instruction. diff --git a/crates/runtime-api/src/calling_convention.rs b/crates/runtime-api/src/calling_convention.rs index c92a266..012c954 100644 --- a/crates/runtime-api/src/calling_convention.rs +++ b/crates/runtime-api/src/calling_convention.rs @@ -106,3 +106,30 @@ pub fn call(context: &Context) -> StructType { true, ) } + +/// Returns a packed struct argument type for the `delegate_call` API. +pub fn delegate_call(context: &Context) -> StructType { + context.struct_type( + &[ + // flags: u32, + context.i32_type().as_basic_type_enum(), + // address_ptr: + context.ptr_type(Default::default()).as_basic_type_enum(), + // ref_time_limit: u64, + context.i64_type().as_basic_type_enum(), + // proof_size_limit: u64, + context.i64_type().as_basic_type_enum(), + // deposit_ptr: u32, + context.ptr_type(Default::default()).as_basic_type_enum(), + // input_data_ptr: u32, + context.ptr_type(Default::default()).as_basic_type_enum(), + // input_data_len: u32, + context.i32_type().as_basic_type_enum(), + // output_ptr: u32, + context.ptr_type(Default::default()).as_basic_type_enum(), + // output_len_ptr: u32, + context.ptr_type(Default::default()).as_basic_type_enum(), + ], + true, + ) +} diff --git a/crates/runtime-api/src/polkavm_imports.c b/crates/runtime-api/src/polkavm_imports.c index 68133aa..f67a421 100644 --- a/crates/runtime-api/src/polkavm_imports.c +++ b/crates/runtime-api/src/polkavm_imports.c @@ -76,6 +76,8 @@ POLKAVM_IMPORT(void, block_number, uint32_t) POLKAVM_IMPORT(uint32_t, call, uint32_t) +POLKAVM_IMPORT(uint32_t, delegate_call, uint32_t) + POLKAVM_IMPORT(void, caller, uint32_t) POLKAVM_IMPORT(void, chain_id, uint32_t) diff --git a/crates/runtime-api/src/polkavm_imports.rs b/crates/runtime-api/src/polkavm_imports.rs index 2036a00..01e991f 100644 --- a/crates/runtime-api/src/polkavm_imports.rs +++ b/crates/runtime-api/src/polkavm_imports.rs @@ -26,6 +26,8 @@ pub static BLOCK_NUMBER: &str = "block_number"; pub static CALL: &str = "call"; +pub static DELEGATE_CALL: &str = "delegate_call"; + pub static CALLER: &str = "caller"; pub static CHAIN_ID: &str = "chain_id"; @@ -64,7 +66,7 @@ pub static VALUE_TRANSFERRED: &str = "value_transferred"; /// All imported runtime API symbols. /// Useful for configuring common attributes and linkage. -pub static IMPORTS: [&str; 26] = [ +pub static IMPORTS: [&str; 27] = [ SBRK, MEMORY_SIZE, ADDRESS, @@ -73,6 +75,7 @@ pub static IMPORTS: [&str; 26] = [ BLOCK_HASH, BLOCK_NUMBER, CALL, + DELEGATE_CALL, CALLER, CHAIN_ID, CODE_SIZE, diff --git a/crates/solidity/src/evmla/ethereal_ir/function/block/element/mod.rs b/crates/solidity/src/evmla/ethereal_ir/function/block/element/mod.rs index dc4f963..bde58a2 100644 --- a/crates/solidity/src/evmla/ethereal_ir/function/block/element/mod.rs +++ b/crates/solidity/src/evmla/ethereal_ir/function/block/element/mod.rs @@ -1096,7 +1096,6 @@ where context, gas, address, - None, input_offset, input_size, output_offset, diff --git a/crates/solidity/src/yul/parser/statement/expression/function_call/mod.rs b/crates/solidity/src/yul/parser/statement/expression/function_call/mod.rs index dcc4423..a906003 100644 --- a/crates/solidity/src/yul/parser/statement/expression/function_call/mod.rs +++ b/crates/solidity/src/yul/parser/statement/expression/function_call/mod.rs @@ -807,7 +807,6 @@ impl FunctionCall { context, gas, address, - None, input_offset, input_size, output_offset,