Repository: scs/substrate-api-client (language: rust)

Issue:
Upgrade UncheckedExtrinsicV4 to V5
Currently the nightly build is failing due to usage of two deprecated types.
- `sp_runtime::traits::Extrinsic`
- `sp_runtime::traits::Extrinsic::SignaturePayload`

Additionally it seems the `SignedExtra` type was removed
- `solochain_template_runtime::SignedExtra`


Discussion / hints:

Fix patch:
diff --git a/Cargo.lock b/Cargo.lock
index d268db16d..d099a6646 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -94,7 +94,7 @@ version = "1.16.0"
 dependencies = [
  "ac-primitives",
  "bitvec",
- "derive_more 0.99.18",
+ "derive_more 0.99.19",
  "either",
  "frame-metadata 16.0.0",
  "hex",
@@ -127,7 +127,6 @@ dependencies = [
  "pallet-balances",
  "pallet-contracts",
  "pallet-staking",
- "pallet-transaction-payment",
  "parity-scale-codec",
  "primitive-types 0.12.2",
  "scale-info",
@@ -181,7 +180,7 @@ version = "0.24.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
 dependencies = [
- "gimli 0.31.1",
+ "gimli",
 ]
 
 [[package]]
@@ -304,7 +303,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -527,7 +526,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60"
 dependencies = [
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -553,7 +552,7 @@ dependencies = [
  "num-traits",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -670,7 +669,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -733,13 +732,13 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
 
 [[package]]
 name = "async-trait"
-version = "0.1.85"
+version = "0.1.86"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056"
+checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -764,9 +763,9 @@ dependencies = [
  "cfg-if 1.0.0",
  "libc",
  "miniz_oxide",
- "object 0.36.7",
+ "object",
  "rustc-demangle",
- "windows-targets",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
@@ -817,7 +816,7 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 [[package]]
 name = "binary-merkle-tree"
 version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "hash-db",
  "log",
@@ -990,9 +989,9 @@ dependencies = [
 
 [[package]]
 name = "bytes"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b"
+checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9"
 
 [[package]]
 name = "camino"
@@ -1028,9 +1027,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.2.10"
+version = "1.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229"
+checksum = "e4730490333d58093109dc02c23174c3f4d490998c3fed3cc8e82d57afedb9cf"
 dependencies = [
  "jobserver",
  "libc",
@@ -1066,9 +1065,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "clap"
-version = "4.5.27"
+version = "4.5.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796"
+checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff"
 dependencies = [
  "clap_builder",
 ]
@@ -1092,9 +1091,9 @@ checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
 
 [[package]]
 name = "cmake"
-version = "0.1.52"
+version = "0.1.53"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e"
+checksum = "e24a03c8b52922d68a1589ad61032f2c1aa5a8158d2aa0d93c6e9534944bbad6"
 dependencies = [
  "cc",
 ]
@@ -1121,7 +1120,7 @@ version = "4.6.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "memchr",
 ]
 
@@ -1160,6 +1159,19 @@ dependencies = [
  "windows-sys 0.59.0",
 ]
 
+[[package]]
+name = "const-hex"
+version = "1.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cpufeatures",
+ "hex",
+ "proptest",
+ "serde",
+]
+
 [[package]]
 name = "const-oid"
 version = "0.9.6"
@@ -1222,9 +1234,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.16"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3"
+checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
 dependencies = [
  "libc",
 ]
@@ -1256,9 +1268,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
 
 [[package]]
 name = "crunchy"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929"
 
 [[package]]
 name = "crypto-bigint"
@@ -1317,7 +1329,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1345,7 +1357,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "scratch",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1358,7 +1370,7 @@ dependencies = [
  "codespan-reporting",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1376,7 +1388,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1458,20 +1470,31 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
+]
+
+[[package]]
+name = "derive-where"
+version = "1.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "derive_more"
-version = "0.99.18"
+version = "0.99.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce"
+checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f"
 dependencies = [
  "convert_case",
  "proc-macro2",
  "quote",
  "rustc_version",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1491,7 +1514,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1524,6 +1547,27 @@ dependencies = [
  "subtle",
 ]
 
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
 [[package]]
 name = "displaydoc"
 version = "0.2.5"
@@ -1532,7 +1576,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1572,7 +1616,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.96",
+ "syn 2.0.98",
  "termcolor",
  "toml",
  "walkdir",
@@ -1586,9 +1630,9 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
 
 [[package]]
 name = "dyn-clonable"
-version = "0.9.0"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e9232f0e607a262ceb9bd5141a3dfb3e4db6994b31989bbfd845878cba59fd4"
+checksum = "a36efbb9bfd58e1723780aa04b61aba95ace6a05d9ffabfdb0b43672552f0805"
 dependencies = [
  "dyn-clonable-impl",
  "dyn-clone",
@@ -1596,20 +1640,20 @@ dependencies = [
 
 [[package]]
 name = "dyn-clonable-impl"
-version = "0.9.0"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5"
+checksum = "7e8671d54058979a37a26f3511fbf8d198ba1aa35ffb202c42587d918d77213a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "dyn-clone"
-version = "1.0.17"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
+checksum = "feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35"
 
 [[package]]
 name = "ecdsa"
@@ -1674,7 +1718,7 @@ dependencies = [
  "enum-ordinalize",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1726,7 +1770,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1746,7 +1790,7 @@ checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1757,7 +1801,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1817,7 +1861,7 @@ dependencies = [
  "prettyplease",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -1956,7 +2000,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "frame-support-procedural",
@@ -1980,18 +2024,18 @@ dependencies = [
 [[package]]
 name = "frame-election-provider-solution-type"
 version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "frame-election-provider-support"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-election-provider-solution-type",
  "frame-support",
@@ -2007,7 +2051,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "aquamarine",
  "frame-support",
@@ -2045,12 +2089,25 @@ dependencies = [
  "serde",
 ]
 
+[[package]]
+name = "frame-metadata"
+version = "18.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "daaf440c68eb2c3d88e5760fe8c7af3f9fee9181fab6c2f2c4e7cc48dcc40bb8"
+dependencies = [
+ "cfg-if 1.0.0",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+]
+
 [[package]]
 name = "frame-metadata-hash-extension"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "array-bytes",
+ "const-hex",
  "docify",
  "frame-support",
  "frame-system",
@@ -2063,7 +2120,7 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "aquamarine",
  "array-bytes",
@@ -2071,7 +2128,7 @@ dependencies = [
  "bitflags 1.3.2",
  "docify",
  "environmental",
- "frame-metadata 16.0.0",
+ "frame-metadata 18.0.0",
  "frame-support-procedural",
  "impl-trait-for-tuples",
  "k256",
@@ -2106,7 +2163,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "23.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "Inflector",
  "cfg-expr",
@@ -2120,35 +2177,35 @@ dependencies = [
  "proc-macro2",
  "quote",
  "sp-crypto-hashing",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "frame-support-procedural-tools"
 version = "10.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "frame-system"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "cfg-if 1.0.0",
  "docify",
@@ -2160,7 +2217,6 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=master)",
  "sp-version",
  "sp-weights",
 ]
@@ -2168,7 +2224,7 @@ dependencies = [
 [[package]]
 name = "frame-system-benchmarking"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -2182,7 +2238,7 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "parity-scale-codec",
@@ -2192,7 +2248,7 @@ dependencies = [
 [[package]]
 name = "frame-try-runtime"
 version = "0.34.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -2288,7 +2344,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -2369,6 +2425,18 @@ dependencies = [
  "wasi 0.11.0+wasi-snapshot-preview1",
 ]
 
+[[package]]
+name = "getrandom"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "wasi 0.13.3+wasi-0.2.2",
+ "windows-targets 0.52.6",
+]
+
 [[package]]
 name = "getrandom_or_panic"
 version = "0.0.3"
@@ -2381,20 +2449,14 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.1"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
 dependencies = [
  "fallible-iterator",
  "stable_deref_trait",
 ]
 
-[[package]]
-name = "gimli"
-version = "0.31.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
-
 [[package]]
 name = "glob"
 version = "0.2.11"
@@ -2419,7 +2481,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e"
 dependencies = [
  "atomic-waker",
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "fnv",
  "futures-core",
  "futures-sink",
@@ -2546,7 +2608,7 @@ version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "fnv",
  "itoa",
 ]
@@ -2557,7 +2619,7 @@ version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "http",
 ]
 
@@ -2567,7 +2629,7 @@ version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "futures-util",
  "http",
  "http-body",
@@ -2576,9 +2638,9 @@ dependencies = [
 
 [[package]]
 name = "httparse"
-version = "1.9.5"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946"
+checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a"
 
 [[package]]
 name = "httpdate"
@@ -2594,11 +2656,11 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "1.5.2"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0"
+checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "futures-channel",
  "futures-util",
  "h2",
@@ -2618,7 +2680,7 @@ version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "futures-util",
  "http",
  "http-body",
@@ -2743,7 +2805,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -2828,7 +2890,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -2954,9 +3016,9 @@ dependencies = [
 
 [[package]]
 name = "jsonrpsee"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5c71d8c1a731cc4227c2f698d377e7848ca12c8a48866fc5e6951c43a4db843"
+checksum = "834af00800e962dee8f7bfc0f60601de215e73e78e5497d733a2919da837d3c8"
 dependencies = [
  "jsonrpsee-client-transport",
  "jsonrpsee-core",
@@ -2967,9 +3029,9 @@ dependencies = [
 
 [[package]]
 name = "jsonrpsee-client-transport"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "548125b159ba1314104f5bb5f38519e03a41862786aa3925cf349aae9cdd546e"
+checksum = "def0fd41e2f53118bd1620478d12305b2c75feef57ea1f93ef70568c98081b7e"
 dependencies = [
  "base64 0.22.1",
  "futures-util",
@@ -2990,12 +3052,12 @@ dependencies = [
 
 [[package]]
 name = "jsonrpsee-core"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2882f6f8acb9fdaec7cefc4fd607119a9bd709831df7d7672a1d3b644628280"
+checksum = "76637f6294b04e747d68e69336ef839a3493ca62b35bf488ead525f7da75c5bb"
 dependencies = [
  "async-trait",
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "futures-timer",
  "futures-util",
  "http",
@@ -3016,9 +3078,9 @@ dependencies = [
 
 [[package]]
 name = "jsonrpsee-server"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82ad8ddc14be1d4290cd68046e7d1d37acd408efed6d3ca08aefcc3ad6da069c"
+checksum = "66b7a3df90a1a60c3ed68e7ca63916b53e9afa928e33531e87f61a9c8e9ae87b"
 dependencies = [
  "futures-util",
  "http",
@@ -3043,9 +3105,9 @@ dependencies = [
 
 [[package]]
 name = "jsonrpsee-types"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a178c60086f24cc35bb82f57c651d0d25d99c4742b4d335de04e97fa1f08a8a1"
+checksum = "ddb81adb1a5ae9182df379e374a79e24e992334e7346af4d065ae5b2acb8d4c6"
 dependencies = [
  "http",
  "serde",
@@ -3224,7 +3286,7 @@ dependencies = [
  "macro_magic_core",
  "macro_magic_macros",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -3238,7 +3300,7 @@ dependencies = [
  "macro_magic_core_macros",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -3249,7 +3311,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -3260,7 +3322,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869"
 dependencies = [
  "macro_magic_core",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -3290,7 +3352,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -3406,9 +3468,9 @@ dependencies = [
 
 [[package]]
 name = "native-tls"
-version = "0.2.12"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466"
+checksum = "0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c"
 dependencies = [
  "libc",
  "log",
@@ -3481,7 +3543,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -3533,15 +3595,6 @@ dependencies = [
  "libc",
 ]
 
-[[package]]
-name = "object"
-version = "0.32.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
-dependencies = [
- "memchr",
-]
-
 [[package]]
 name = "object"
 version = "0.36.7"
@@ -3592,14 +3645,14 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "openssl-probe"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
 
 [[package]]
 name = "openssl-sys"
@@ -3613,6 +3666,12 @@ dependencies = [
  "vcpkg",
 ]
 
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
 [[package]]
 name = "overload"
 version = "0.1.1"
@@ -3622,7 +3681,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 [[package]]
 name = "pallet-asset-conversion"
 version = "10.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3640,7 +3699,7 @@ dependencies = [
 [[package]]
 name = "pallet-asset-rate"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3654,7 +3713,7 @@ dependencies = [
 [[package]]
 name = "pallet-assets"
 version = "29.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3670,7 +3729,7 @@ dependencies = [
 [[package]]
 name = "pallet-aura"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3686,7 +3745,7 @@ dependencies = [
 [[package]]
 name = "pallet-authority-discovery"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3701,7 +3760,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3714,7 +3773,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3737,7 +3796,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -3746,13 +3805,14 @@ dependencies = [
  "log",
  "parity-scale-codec",
  "scale-info",
+ "sp-core",
  "sp-runtime",
 ]
 
 [[package]]
 name = "pallet-beefy"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -3771,7 +3831,7 @@ dependencies = [
 [[package]]
 name = "pallet-beefy-mmr"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "array-bytes",
  "binary-merkle-tree",
@@ -3796,7 +3856,7 @@ dependencies = [
 [[package]]
 name = "pallet-bounties"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3813,7 +3873,7 @@ dependencies = [
 [[package]]
 name = "pallet-broker"
 version = "0.6.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bitvec",
  "frame-benchmarking",
@@ -3831,7 +3891,7 @@ dependencies = [
 [[package]]
 name = "pallet-child-bounties"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3846,27 +3906,10 @@ dependencies = [
  "sp-runtime",
 ]
 
-[[package]]
-name = "pallet-collective"
-version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
-dependencies = [
- "docify",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "log",
- "parity-scale-codec",
- "scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
-]
-
 [[package]]
 name = "pallet-contracts"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bitflags 1.3.2",
  "environmental",
@@ -3888,7 +3931,6 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=master)",
  "staging-xcm",
  "staging-xcm-builder",
  "wasm-instrument",
@@ -3898,17 +3940,17 @@ dependencies = [
 [[package]]
 name = "pallet-contracts-proc-macro"
 version = "18.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "pallet-contracts-uapi"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bitflags 1.3.2",
  "parity-scale-codec",
@@ -3919,7 +3961,7 @@ dependencies = [
 [[package]]
 name = "pallet-conviction-voting"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "assert_matches",
  "frame-benchmarking",
@@ -3935,7 +3977,7 @@ dependencies = [
 [[package]]
 name = "pallet-democracy"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3952,7 +3994,7 @@ dependencies = [
 [[package]]
 name = "pallet-election-provider-multi-phase"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -3974,7 +4016,7 @@ dependencies = [
 [[package]]
 name = "pallet-election-provider-support-benchmarking"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -3987,7 +4029,7 @@ dependencies = [
 [[package]]
 name = "pallet-elections-phragmen"
 version = "29.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4005,7 +4047,7 @@ dependencies = [
 [[package]]
 name = "pallet-fast-unstake"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -4023,7 +4065,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4045,7 +4087,7 @@ dependencies = [
 [[package]]
 name = "pallet-identity"
 version = "29.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -4061,7 +4103,7 @@ dependencies = [
 [[package]]
 name = "pallet-indices"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4070,81 +4112,73 @@ dependencies = [
  "scale-info",
  "sp-core",
  "sp-io",
- "sp-keyring",
  "sp-runtime",
 ]
 
 [[package]]
-name = "pallet-membership"
-version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+name = "pallet-message-queue"
+version = "31.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
+ "environmental",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
  "parity-scale-codec",
  "scale-info",
+ "sp-arithmetic",
  "sp-core",
  "sp-io",
  "sp-runtime",
+ "sp-weights",
 ]
 
 [[package]]
-name = "pallet-message-queue"
-version = "31.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+name = "pallet-migrations"
+version = "1.0.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "environmental",
+ "cfg-if 1.0.0",
+ "docify",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
+ "impl-trait-for-tuples",
  "log",
  "parity-scale-codec",
  "scale-info",
- "sp-arithmetic",
  "sp-core",
- "sp-io",
  "sp-runtime",
- "sp-weights",
 ]
 
 [[package]]
 name = "pallet-mmr"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
  "log",
  "parity-scale-codec",
+ "polkadot-sdk-frame",
  "scale-info",
- "sp-core",
- "sp-io",
  "sp-mmr-primitives",
- "sp-runtime",
 ]
 
 [[package]]
 name = "pallet-multisig"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
  "log",
  "parity-scale-codec",
+ "polkadot-sdk-frame",
  "scale-info",
- "sp-io",
- "sp-runtime",
 ]
 
 [[package]]
 name = "pallet-nis"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4159,12 +4193,11 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "frame-system",
  "log",
- "pallet-balances",
  "parity-scale-codec",
  "scale-info",
  "serde",
@@ -4175,7 +4208,7 @@ dependencies = [
 [[package]]
 name = "pallet-parameters"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -4192,7 +4225,7 @@ dependencies = [
 [[package]]
 name = "pallet-preimage"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4208,21 +4241,17 @@ dependencies = [
 [[package]]
 name = "pallet-proxy"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
  "parity-scale-codec",
+ "polkadot-sdk-frame",
  "scale-info",
- "sp-io",
- "sp-runtime",
 ]
 
 [[package]]
 name = "pallet-ranked-collective"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4240,7 +4269,7 @@ dependencies = [
 [[package]]
 name = "pallet-recovery"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4254,7 +4283,7 @@ dependencies = [
 [[package]]
 name = "pallet-referenda"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4271,7 +4300,7 @@ dependencies = [
 [[package]]
 name = "pallet-root-testing"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4285,7 +4314,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "29.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -4302,7 +4331,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4323,7 +4352,7 @@ dependencies = [
 [[package]]
 name = "pallet-society"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4340,7 +4369,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -4361,7 +4390,7 @@ dependencies = [
 [[package]]
 name = "pallet-staking-reward-fn"
 version = "19.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "log",
  "sp-arithmetic",
@@ -4370,7 +4399,7 @@ dependencies = [
 [[package]]
 name = "pallet-state-trie-migration"
 version = "29.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4386,7 +4415,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -4401,7 +4430,7 @@ dependencies = [
 [[package]]
 name = "pallet-template"
 version = "0.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4413,7 +4442,7 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -4432,7 +4461,7 @@ dependencies = [
 [[package]]
 name = "pallet-tips"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4450,8 +4479,9 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
+ "frame-benchmarking",
  "frame-support",
  "frame-system",
  "parity-scale-codec",
@@ -4465,7 +4495,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -4477,13 +4507,14 @@ dependencies = [
 [[package]]
 name = "pallet-treasury"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "impl-trait-for-tuples",
+ "log",
  "pallet-balances",
  "parity-scale-codec",
  "scale-info",
@@ -4495,7 +4526,7 @@ dependencies = [
 [[package]]
 name = "pallet-utility"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4510,7 +4541,7 @@ dependencies = [
 [[package]]
 name = "pallet-vesting"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4524,7 +4555,7 @@ dependencies = [
 [[package]]
 name = "pallet-whitelist"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4538,13 +4569,12 @@ dependencies = [
 [[package]]
 name = "pallet-xcm"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bounded-collections",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "log",
  "pallet-balances",
  "parity-scale-codec",
  "scale-info",
@@ -4555,13 +4585,14 @@ dependencies = [
  "staging-xcm",
  "staging-xcm-builder",
  "staging-xcm-executor",
+ "tracing",
  "xcm-runtime-apis",
 ]
 
 [[package]]
 name = "pallet-xcm-benchmarks"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4598,7 +4629,7 @@ dependencies = [
  "arrayvec",
  "bitvec",
  "byte-slice-cast",
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "impl-trait-for-tuples",
  "parity-scale-codec-derive",
  "serde",
@@ -4642,7 +4673,7 @@ dependencies = [
  "libc",
  "redox_syscall",
  "smallvec",
- "windows-targets",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
@@ -4680,22 +4711,22 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pin-project"
-version = "1.1.8"
+version = "1.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916"
+checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.8"
+version = "1.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb"
+checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -4728,9 +4759,9 @@ checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
 
 [[package]]
 name = "polkadot-ckb-merkle-mountain-range"
-version = "0.7.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4b44320e5f7ce2c18227537a3032ae5b2c476a7e8eddba45333e1011fc31b92"
+checksum = "221c71b432b38e494a0fdedb5f720e4cb974edf03a0af09e5b2238dbac7e6947"
 dependencies = [
  "cfg-if 1.0.0",
  "itertools 0.10.5",
@@ -4739,7 +4770,7 @@ dependencies = [
 [[package]]
 name = "polkadot-core-primitives"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -4750,10 +4781,10 @@ dependencies = [
 [[package]]
 name = "polkadot-parachain-primitives"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bounded-collections",
- "derive_more 0.99.18",
+ "derive_more 0.99.19",
  "parity-scale-codec",
  "polkadot-core-primitives",
  "scale-info",
@@ -4766,7 +4797,7 @@ dependencies = [
 [[package]]
 name = "polkadot-primitives"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bitvec",
  "hex-literal",
@@ -4788,12 +4819,13 @@ dependencies = [
  "sp-runtime",
  "sp-staking",
  "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=master)",
+ "thiserror",
 ]
 
 [[package]]
 name = "polkadot-runtime-common"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bitvec",
  "frame-benchmarking",
@@ -4829,6 +4861,7 @@ dependencies = [
  "sp-core",
  "sp-inherents",
  "sp-io",
+ "sp-keyring",
  "sp-npos-elections",
  "sp-runtime",
  "sp-session",
@@ -4842,7 +4875,7 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime-metrics"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bs58",
  "frame-benchmarking",
@@ -4854,11 +4887,11 @@ dependencies = [
 [[package]]
 name = "polkadot-runtime-parachains"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bitflags 1.3.2",
  "bitvec",
- "derive_more 0.99.18",
+ "derive_more 0.99.19",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
@@ -4874,7 +4907,6 @@ dependencies = [
  "pallet-session",
  "pallet-staking",
  "pallet-timestamp",
- "pallet-vesting",
  "parity-scale-codec",
  "polkadot-core-primitives",
  "polkadot-parachain-primitives",
@@ -4900,10 +4932,38 @@ dependencies = [
 ]
 
 [[package]]
-name = "polkavm-common"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92"
+name = "polkadot-sdk-frame"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
+dependencies = [
+ "docify",
+ "frame-benchmarking",
+ "frame-executive",
+ "frame-support",
+ "frame-system",
+ "frame-system-benchmarking",
+ "frame-system-rpc-runtime-api",
+ "frame-try-runtime",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-api",
+ "sp-arithmetic",
+ "sp-block-builder",
+ "sp-consensus-aura",
+ "sp-consensus-grandpa",
+ "sp-core",
+ "sp-genesis-builder",
+ "sp-inherents",
+ "sp-io",
+ "sp-keyring",
+ "sp-offchain",
+ "sp-runtime",
+ "sp-session",
+ "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=master)",
+ "sp-transaction-pool",
+ "sp-version",
+]
 
 [[package]]
 name = "polkavm-common"
@@ -4911,34 +4971,13 @@ version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "31ff33982a807d8567645d4784b9b5d7ab87bcb494f534a57cadd9012688e102"
 
-[[package]]
-name = "polkavm-derive"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606"
-dependencies = [
- "polkavm-derive-impl-macro 0.9.0",
-]
-
 [[package]]
 name = "polkavm-derive"
 version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c2eb703f3b6404c13228402e98a5eae063fd16b8f58afe334073ec105ee4117e"
 dependencies = [
- "polkavm-derive-impl-macro 0.18.0",
-]
-
-[[package]]
-name = "polkavm-derive-impl"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c"
-dependencies = [
- "polkavm-common 0.9.0",
- "proc-macro2",
- "quote",
- "syn 2.0.96",
+ "polkavm-derive-impl-macro",
 ]
 
 [[package]]
@@ -4947,20 +4986,10 @@ version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2f2116a92e6e96220a398930f4c8a6cda1264206f3e2034fc9982bfd93f261f7"
 dependencies = [
- "polkavm-common 0.18.0",
+ "polkavm-common",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
-]
-
-[[package]]
-name = "polkavm-derive-impl-macro"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429"
-dependencies = [
- "polkavm-derive-impl 0.9.0",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -4969,21 +4998,22 @@ version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "48c16669ddc7433e34c1007d31080b80901e3e8e523cb9d4b441c3910cf9294b"
 dependencies = [
- "polkavm-derive-impl 0.18.1",
- "syn 2.0.96",
+ "polkavm-derive-impl",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "polkavm-linker"
-version = "0.9.2"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7be503e60cf56c0eb785f90aaba4b583b36bff00e93997d93fef97f9553c39"
+checksum = "e9bfe793b094d9ea5c99b7c43ba46e277b0f8f48f4bbfdbabf8d3ebf701a4bd3"
 dependencies = [
- "gimli 0.28.1",
+ "dirs",
+ "gimli",
  "hashbrown 0.14.5",
  "log",
- "object 0.32.2",
- "polkavm-common 0.9.0",
+ "object",
+ "polkavm-common",
  "regalloc2",
  "rustc-demangle",
 ]
@@ -5010,7 +5040,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac"
 dependencies = [
  "proc-macro2",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -5035,6 +5065,8 @@ dependencies = [
  "fixed-hash",
  "impl-codec 0.7.0",
  "impl-num-traits",
+ "impl-serde 0.5.0",
+ "scale-info",
  "uint 0.10.0",
 ]
 
@@ -5054,7 +5086,7 @@ version = "3.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b"
 dependencies = [
- "toml_edit 0.22.22",
+ "toml_edit 0.22.23",
 ]
 
 [[package]]
@@ -5089,7 +5121,7 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -5101,6 +5133,22 @@ dependencies = [
  "unicode-ident",
 ]
 
+[[package]]
+name = "proptest"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50"
+dependencies = [
+ "bitflags 2.8.0",
+ "lazy_static",
+ "num-traits",
+ "rand 0.8.5",
+ "rand_chacha 0.3.1",
+ "rand_xorshift",
+ "regex-syntax 0.8.5",
+ "unarray",
+]
+
 [[package]]
 name = "quote"
 version = "1.0.38"
@@ -5187,6 +5235,15 @@ dependencies = [
  "rand_core 0.5.1",
 ]
 
+[[package]]
+name = "rand_xorshift"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
+dependencies = [
+ "rand_core 0.6.4",
+]
+
 [[package]]
 name = "rawpointer"
 version = "0.2.1"
@@ -5222,6 +5279,17 @@ dependencies = [
  "bitflags 2.8.0",
 ]
 
+[[package]]
+name = "redox_users"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
+dependencies = [
+ "getrandom 0.2.15",
+ "libredox",
+ "thiserror",
+]
+
 [[package]]
 name = "ref-cast"
 version = "1.0.23"
@@ -5239,7 +5307,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -5344,7 +5412,7 @@ dependencies = [
 [[package]]
 name = "rococo-runtime"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "binary-merkle-tree",
  "bitvec",
@@ -5367,15 +5435,14 @@ dependencies = [
  "pallet-beefy-mmr",
  "pallet-bounties",
  "pallet-child-bounties",
- "pallet-collective",
  "pallet-conviction-voting",
  "pallet-democracy",
  "pallet-elections-phragmen",
  "pallet-grandpa",
  "pallet-identity",
  "pallet-indices",
- "pallet-membership",
  "pallet-message-queue",
+ "pallet-migrations",
  "pallet-mmr",
  "pallet-multisig",
  "pallet-nis",
@@ -5425,6 +5492,7 @@ dependencies = [
  "sp-genesis-builder",
  "sp-inherents",
  "sp-io",
+ "sp-keyring",
  "sp-mmr-primitives",
  "sp-offchain",
  "sp-runtime",
@@ -5444,7 +5512,7 @@ dependencies = [
 [[package]]
 name = "rococo-runtime-constants"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -5498,9 +5566,9 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.43"
+version = "0.38.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6"
+checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
 dependencies = [
  "bitflags 2.8.0",
  "errno",
@@ -5511,9 +5579,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.23.21"
+version = "0.23.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8"
+checksum = "9fb9263ab4eb695e42321db096e3b8fbd715a59b154d5c88d82db2175b681ba7"
 dependencies = [
  "log",
  "once_cell",
@@ -5548,9 +5616,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37"
+checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c"
 
 [[package]]
 name = "rustls-platform-verifier"
@@ -5598,9 +5666,9 @@ checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4"
 
 [[package]]
 name = "ryu"
-version = "1.0.18"
+version = "1.0.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"
 
 [[package]]
 name = "safe_arch"
@@ -5623,7 +5691,7 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "25.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "array-bytes",
  "parking_lot",
@@ -5651,7 +5719,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7caaf753f8ed1ab4752c6afb20174f03598c664724e0e32628e161c21000ff76"
 dependencies = [
- "derive_more 0.99.18",
+ "derive_more 0.99.19",
  "parity-scale-codec",
  "primitive-types 0.12.2",
  "scale-bits",
@@ -5679,7 +5747,7 @@ version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6d70cb4b29360105483fac1ed567ff95d65224a14dd275b6303ed0a654c78de5"
 dependencies = [
- "derive_more 0.99.18",
+ "derive_more 0.99.19",
  "parity-scale-codec",
  "primitive-types 0.12.2",
  "scale-bits",
@@ -5724,7 +5792,7 @@ dependencies = [
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -5733,7 +5801,7 @@ version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "58223c7691bf0bd46b43c9aea6f0472d1067f378d574180232358d7c6e0a8089"
 dependencies = [
- "derive_more 0.99.18",
+ "derive_more 0.99.19",
  "either",
  "frame-metadata 15.1.0",
  "parity-scale-codec",
@@ -5910,14 +5978,14 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.137"
+version = "1.0.138"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b"
+checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949"
 dependencies = [
  "itoa",
  "memchr",
@@ -6063,7 +6131,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7"
 [[package]]
 name = "slot-range-helper"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "enumn",
  "parity-scale-codec",
@@ -6094,7 +6162,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721"
 dependencies = [
  "base64 0.22.1",
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "futures",
  "http",
  "httparse",
@@ -6106,7 +6174,7 @@ dependencies = [
 [[package]]
 name = "solochain-template-runtime"
 version = "0.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-benchmarking",
  "frame-executive",
@@ -6147,7 +6215,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "hash-db",
@@ -6169,7 +6237,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "15.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "Inflector",
  "blake2",
@@ -6177,13 +6245,13 @@ dependencies = [
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "sp-application-crypto"
 version = "30.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -6195,7 +6263,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "23.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "docify",
  "integer-sqrt",
@@ -6227,7 +6295,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -6239,7 +6307,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "sp-api",
  "sp-inherents",
@@ -6249,7 +6317,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-aura"
 version = "0.32.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -6265,7 +6333,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.32.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -6283,7 +6351,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-beefy"
 version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -6303,7 +6371,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-grandpa"
 version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -6320,7 +6388,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-slots"
 version = "0.32.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -6331,7 +6399,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "28.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "array-bytes",
  "bandersnatch_vrfs",
@@ -6344,7 +6412,7 @@ dependencies = [
  "futures",
  "hash-db",
  "hash256-std-hasher",
- "impl-serde 0.4.0",
+ "impl-serde 0.5.0",
  "itertools 0.11.0",
  "k256",
  "libsecp256k1",
@@ -6354,7 +6422,7 @@ dependencies = [
  "parity-scale-codec",
  "parking_lot",
  "paste",
- "primitive-types 0.12.2",
+ "primitive-types 0.13.1",
  "rand 0.8.5",
  "scale-info",
  "schnorrkel",
@@ -6378,7 +6446,7 @@ dependencies = [
 [[package]]
 name = "sp-crypto-ec-utils"
 version = "0.10.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#fb2e414f44d4bfa2d47aba4a868fb3f8932f7930"
+source = "git+https://github.com/paritytech/polkadot-sdk#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "ark-bls12-377",
  "ark-bls12-377-ext",
@@ -6398,7 +6466,7 @@ dependencies = [
 [[package]]
 name = "sp-crypto-hashing"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "blake2b_simd",
  "byteorder",
@@ -6411,37 +6479,37 @@ dependencies = [
 [[package]]
 name = "sp-crypto-hashing-proc-macro"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "quote",
  "sp-crypto-hashing",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "sp-debug-derive"
 version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "sp-debug-derive"
 version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#fb2e414f44d4bfa2d47aba4a868fb3f8932f7930"
+source = "git+https://github.com/paritytech/polkadot-sdk#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "sp-externalities"
 version = "0.25.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -6451,7 +6519,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.25.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#fb2e414f44d4bfa2d47aba4a868fb3f8932f7930"
+source = "git+https://github.com/paritytech/polkadot-sdk#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -6461,7 +6529,7 @@ dependencies = [
 [[package]]
 name = "sp-genesis-builder"
 version = "0.8.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -6473,7 +6541,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
@@ -6486,15 +6554,15 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "30.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "docify",
  "ed25519-dalek",
  "libsecp256k1",
  "log",
  "parity-scale-codec",
- "polkavm-derive 0.9.1",
+ "polkavm-derive",
  "rustversion",
  "secp256k1",
  "sp-core",
@@ -6512,7 +6580,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "31.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "sp-core",
  "sp-runtime",
@@ -6522,7 +6590,7 @@ dependencies = [
 [[package]]
 name = "sp-keystore"
 version = "0.34.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "parking_lot",
@@ -6533,7 +6601,7 @@ dependencies = [
 [[package]]
 name = "sp-maybe-compressed-blob"
 version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "thiserror",
  "zstd",
@@ -6542,9 +6610,9 @@ dependencies = [
 [[package]]
 name = "sp-metadata-ir"
 version = "0.6.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "frame-metadata 16.0.0",
+ "frame-metadata 18.0.0",
  "parity-scale-codec",
  "scale-info",
 ]
@@ -6552,7 +6620,7 @@ dependencies = [
 [[package]]
 name = "sp-mmr-primitives"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -6569,7 +6637,7 @@ dependencies = [
 [[package]]
 name = "sp-npos-elections"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -6582,7 +6650,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -6592,7 +6660,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "backtrace",
  "regex",
@@ -6601,7 +6669,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime"
 version = "31.0.1"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "binary-merkle-tree",
  "docify",
@@ -6624,18 +6692,19 @@ dependencies = [
  "sp-trie",
  "sp-weights",
  "tracing",
+ "tuplex",
 ]
 
 [[package]]
 name = "sp-runtime-interface"
 version = "24.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "impl-trait-for-tuples",
  "parity-scale-codec",
- "polkavm-derive 0.9.1",
- "primitive-types 0.12.2",
+ "polkavm-derive",
+ "primitive-types 0.13.1",
  "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=master)",
  "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=master)",
  "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?branch=master)",
@@ -6648,12 +6717,12 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "24.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#fb2e414f44d4bfa2d47aba4a868fb3f8932f7930"
+source = "git+https://github.com/paritytech/polkadot-sdk#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "impl-trait-for-tuples",
  "parity-scale-codec",
- "polkavm-derive 0.18.0",
+ "polkavm-derive",
  "primitive-types 0.13.1",
  "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)",
  "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)",
@@ -6667,33 +6736,33 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "17.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "Inflector",
  "expander",
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "17.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#fb2e414f44d4bfa2d47aba4a868fb3f8932f7930"
+source = "git+https://github.com/paritytech/polkadot-sdk#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "Inflector",
  "expander",
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "sp-session"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -6707,7 +6776,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -6720,7 +6789,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.35.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "hash-db",
  "log",
@@ -6740,19 +6809,19 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 
 [[package]]
 name = "sp-std"
 version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#fb2e414f44d4bfa2d47aba4a868fb3f8932f7930"
+source = "git+https://github.com/paritytech/polkadot-sdk#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 
 [[package]]
 name = "sp-storage"
 version = "19.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "impl-serde 0.4.0",
+ "impl-serde 0.5.0",
  "parity-scale-codec",
  "ref-cast",
  "serde",
@@ -6762,7 +6831,7 @@ dependencies = [
 [[package]]
 name = "sp-storage"
 version = "19.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#fb2e414f44d4bfa2d47aba4a868fb3f8932f7930"
+source = "git+https://github.com/paritytech/polkadot-sdk#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "impl-serde 0.5.0",
  "parity-scale-codec",
@@ -6774,7 +6843,7 @@ dependencies = [
 [[package]]
 name = "sp-timestamp"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -6786,7 +6855,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "16.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "tracing",
@@ -6797,7 +6866,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "16.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#fb2e414f44d4bfa2d47aba4a868fb3f8932f7930"
+source = "git+https://github.com/paritytech/polkadot-sdk#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "tracing",
@@ -6808,7 +6877,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "26.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "sp-api",
  "sp-runtime",
@@ -6817,7 +6886,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "29.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "ahash",
  "hash-db",
@@ -6839,9 +6908,9 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "29.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
- "impl-serde 0.4.0",
+ "impl-serde 0.5.0",
  "parity-scale-codec",
  "parity-wasm",
  "scale-info",
@@ -6856,19 +6925,19 @@ dependencies = [
 [[package]]
 name = "sp-version-proc-macro"
 version = "13.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "parity-scale-codec",
  "proc-macro-warning",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "sp-wasm-interface"
 version = "20.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "anyhow",
  "impl-trait-for-tuples",
@@ -6879,7 +6948,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "20.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#fb2e414f44d4bfa2d47aba4a868fb3f8932f7930"
+source = "git+https://github.com/paritytech/polkadot-sdk#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "anyhow",
  "impl-trait-for-tuples",
@@ -6890,7 +6959,7 @@ dependencies = [
 [[package]]
 name = "sp-weights"
 version = "27.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "bounded-collections",
  "parity-scale-codec",
@@ -6941,12 +7010,14 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
 [[package]]
 name = "staging-xcm"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "array-bytes",
  "bounded-collections",
- "derivative",
+ "derive-where",
  "environmental",
+ "frame-support",
+ "hex-literal",
  "impl-trait-for-tuples",
  "log",
  "parity-scale-codec",
@@ -6960,7 +7031,7 @@ dependencies = [
 [[package]]
 name = "staging-xcm-builder"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -6982,7 +7053,7 @@ dependencies = [
 [[package]]
 name = "staging-xcm-executor"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "environmental",
  "frame-benchmarking",
@@ -7066,7 +7137,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -7077,7 +7148,7 @@ dependencies = [
  "ac-node-api",
  "ac-primitives",
  "async-trait",
- "derive_more 0.99.18",
+ "derive_more 0.99.19",
  "frame-metadata 16.0.0",
  "frame-support",
  "futures-util",
@@ -7106,7 +7177,7 @@ dependencies = [
 [[package]]
 name = "substrate-bip39"
 version = "0.4.7"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "hmac 0.12.1",
  "pbkdf2",
@@ -7118,7 +7189,7 @@ dependencies = [
 [[package]]
 name = "substrate-wasm-builder"
 version = "17.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "build-helper",
  "cargo_metadata",
@@ -7155,9 +7226,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.96"
+version = "2.0.98"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
+checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -7172,7 +7243,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -7183,13 +7254,13 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 
 [[package]]
 name = "tempfile"
-version = "3.15.0"
+version = "3.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704"
+checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91"
 dependencies = [
  "cfg-if 1.0.0",
  "fastrand",
- "getrandom 0.2.15",
+ "getrandom 0.3.1",
  "once_cell",
  "rustix",
  "windows-sys 0.59.0",
@@ -7222,7 +7293,7 @@ dependencies = [
  "cfg-if 1.0.0",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -7233,7 +7304,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
  "test-case-core",
 ]
 
@@ -7266,7 +7337,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -7351,7 +7422,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e"
 dependencies = [
  "backtrace",
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "libc",
  "mio 1.0.3",
  "pin-project-lite",
@@ -7368,7 +7439,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -7399,7 +7470,7 @@ version = "0.7.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078"
 dependencies = [
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "futures-core",
  "futures-io",
  "futures-sink",
@@ -7416,7 +7487,7 @@ dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.22.22",
+ "toml_edit 0.22.23",
 ]
 
 [[package]]
@@ -7441,15 +7512,15 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.22.22"
+version = "0.22.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
+checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee"
 dependencies = [
  "indexmap",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow 0.6.24",
+ "winnow 0.7.1",
 ]
 
 [[package]]
@@ -7499,7 +7570,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -7576,7 +7647,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8"
 dependencies = [
  "byteorder",
- "bytes 1.9.0",
+ "bytes 1.10.0",
  "data-encoding",
  "http",
  "httparse",
@@ -7589,13 +7660,19 @@ dependencies = [
  "utf-8",
 ]
 
+[[package]]
+name = "tuplex"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "676ac81d5454c4dcf37955d34fa8626ede3490f744b86ca14a7b90168d2a08aa"
+
 [[package]]
 name = "twox-hash"
 version = "1.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
 dependencies = [
- "cfg-if 0.1.10",
+ "cfg-if 1.0.0",
  "digest 0.10.7",
  "rand 0.8.5",
  "static_assertions",
@@ -7631,11 +7708,17 @@ dependencies = [
  "static_assertions",
 ]
 
+[[package]]
+name = "unarray"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
+
 [[package]]
 name = "unicode-ident"
-version = "1.0.14"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
+checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
 
 [[package]]
 name = "unicode-normalization"
@@ -7792,6 +7875,15 @@ version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
+[[package]]
+name = "wasi"
+version = "0.13.3+wasi-0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2"
+dependencies = [
+ "wit-bindgen-rt",
+]
+
 [[package]]
 name = "wasm-instrument"
 version = "0.4.0"
@@ -7892,9 +7984,9 @@ dependencies = [
 
 [[package]]
 name = "webpki-roots"
-version = "0.26.7"
+version = "0.26.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e"
+checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9"
 dependencies = [
  "rustls-pki-types",
 ]
@@ -7952,13 +8044,22 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
 [[package]]
 name = "windows-sys"
 version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
@@ -7967,7 +8068,22 @@ version = "0.59.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
 dependencies = [
- "windows-targets",
+ "windows-targets 0.52.6",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
 ]
 
 [[package]]
@@ -7976,28 +8092,46 @@ version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
  "windows_i686_gnullvm",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
 ]
 
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
 [[package]]
 name = "windows_aarch64_gnullvm"
 version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
 
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
 [[package]]
 name = "windows_aarch64_msvc"
 version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
 
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
 [[package]]
 name = "windows_i686_gnu"
 version = "0.52.6"
@@ -8010,24 +8144,48 @@ version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
 
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
 [[package]]
 name = "windows_i686_msvc"
 version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
 
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
 [[package]]
 name = "windows_x86_64_gnu"
 version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
 
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
 [[package]]
 name = "windows_x86_64_gnullvm"
 version = "0.52.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
 
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
 [[package]]
 name = "windows_x86_64_msvc"
 version = "0.52.6"
@@ -8045,13 +8203,22 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.6.24"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a"
+checksum = "86e376c75f4f43f44db463cf729e0d3acbf954d13e22c51e26e4c264b4ab545f"
 dependencies = [
  "memchr",
 ]
 
+[[package]]
+name = "wit-bindgen-rt"
+version = "0.33.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c"
+dependencies = [
+ "bitflags 2.8.0",
+]
+
 [[package]]
 name = "write16"
 version = "1.0.0"
@@ -8105,18 +8272,18 @@ dependencies = [
 [[package]]
 name = "xcm-procedural"
 version = "7.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "Inflector",
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
 name = "xcm-runtime-apis"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#f8807d1e185ccd281052106599a2c55694d02fc1"
+source = "git+https://github.com/paritytech/polkadot-sdk.git?branch=master#aa42debebaf3bf8e6979497256bc1fbad2db0e11"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -8147,7 +8314,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
  "synstructure",
 ]
 
@@ -8169,7 +8336,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -8189,7 +8356,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
  "synstructure",
 ]
 
@@ -8210,7 +8377,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
@@ -8232,7 +8399,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.96",
+ "syn 2.0.98",
 ]
 
 [[package]]
diff --git a/compose-macros/src/lib.rs b/compose-macros/src/lib.rs
index 54dccabce..195dcf3de 100644
--- a/compose-macros/src/lib.rs
+++ b/compose-macros/src/lib.rs
@@ -85,16 +85,15 @@ macro_rules! compose_extrinsic_offline {
     $call: expr,
     $params: expr) => {{
 		use $crate::primitives::extrinsics::{
-			ExtrinsicParams, SignExtrinsic, SignedPayload, UncheckedExtrinsicV4,
+			ExtrinsicParams, SignExtrinsic, SignedPayload, UncheckedExtrinsic,
 		};
 
-		let extra = $params.signed_extra();
-		let raw_payload =
-			SignedPayload::from_raw($call.clone(), extra, $params.additional_signed());
+		let extra = $params.transaction_extension();
+		let raw_payload = SignedPayload::from_raw($call.clone(), extra, $params.implicit());
 
 		let signature = raw_payload.using_encoded(|payload| $signer.sign(payload));
 
-		UncheckedExtrinsicV4::new_signed($call, $signer.extrinsic_address(), signature, extra)
+		UncheckedExtrinsic::new_signed($call, $signer.extrinsic_address(), signature, extra)
 	}};
 }
 
@@ -116,7 +115,7 @@ macro_rules! compose_extrinsic_with_nonce {
 	$(, $args: expr) *) => {
 		{
             use $crate::log::debug;
-            use $crate::primitives::UncheckedExtrinsicV4;
+            use $crate::primitives::UncheckedExtrinsic;
 
             debug!("Composing generic extrinsic for module {:?} and call {:?}", $pallet_name, $call_name);
 
@@ -132,7 +131,7 @@ macro_rules! compose_extrinsic_with_nonce {
 							$api.extrinsic_params($nonce)
 						)
 					} else {
-						UncheckedExtrinsicV4::new_unsigned(call.clone())
+						UncheckedExtrinsic::new_bare(call.clone())
 					};
 					Some(extrinsic)
 				},
diff --git a/examples/async/examples/sudo.rs b/examples/async/examples/sudo.rs
index 1ff80b834..96510206d 100644
--- a/examples/async/examples/sudo.rs
+++ b/examples/async/examples/sudo.rs
@@ -22,7 +22,7 @@ use substrate_api_client::{
 	ac_compose_macros::{compose_call, compose_extrinsic},
 	ac_primitives::{
 		Config, ExtrinsicSigner as GenericExtrinsicSigner, RococoRuntimeConfig, SignExtrinsic,
-		UncheckedExtrinsicV4,
+		UncheckedExtrinsic,
 	},
 	rpc::JsonrpseeClient,
 	Api, GetAccountInformation, SubmitAndWatch, XtStatus,
@@ -75,7 +75,7 @@ async fn main() {
 	)
 	.unwrap();
 
-	let xt: UncheckedExtrinsicV4<_, _, _, _> =
+	let xt: UncheckedExtrinsic<_, _, _, _> =
 		compose_extrinsic!(&api, "Sudo", "sudo", call).unwrap();
 
 	// Send and watch extrinsic until in block.
diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml
index 342eba684..b60c447bd 100644
--- a/primitives/Cargo.toml
+++ b/primitives/Cargo.toml
@@ -40,7 +40,7 @@ pallet-staking = { optional = true, git = "https://github.com/paritytech/polkado
 frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "master" }
 solochain-template-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "master" }
 sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "master" }
-pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "master" }
+
 
 [features]
 default = ["std"]
diff --git a/primitives/src/extrinsics/extrinsic_params.rs b/primitives/src/extrinsics/extrinsic_params.rs
index 6dc23e1b7..179042b65 100644
--- a/primitives/src/extrinsics/extrinsic_params.rs
+++ b/primitives/src/extrinsics/extrinsic_params.rs
@@ -16,26 +16,28 @@
 */
 
 use crate::config::Config;
-use codec::{Decode, Encode};
+use codec::{Codec, Decode, Encode};
 #[cfg(feature = "disable-metadata-hash-check")]
 use primitive_types::H256;
+use scale_info::{StaticTypeInfo, TypeInfo};
 use sp_runtime::{
 	generic::Era,
-	traits::{BlakeTwo256, Hash},
+	impl_tx_ext_default,
+	traits::{BlakeTwo256, Dispatchable, Hash, TransactionExtension},
 };
 
-/// SignedExtra that is compatible with a default Substrate / Polkadot node.
-// Unlike the SignedExtra on the node side, which seemingly contains a lot more parameters
-// see: https://github.com/paritytech/substrate/blob/cbd8f1b56fd8ab9af0d9317432cc735264c89d70/bin/node/runtime/src/lib.rs#L1779-L1788
-// The SignedExtra on the client side mirrors the actual values contained. E.g.
+/// TxExtension that is compatible with a default Substrate / Polkadot node.
+// Unlike the TxExtension on the node side, which seemingly contains a lot more parameters
+// see: https://github.com/paritytech/polkadot-sdk/blob/c139739868eddbda495d642219a57602f63c18f5/substrate/bin/node/runtime/src/lib.rs#L2665-L2678
+// The TxExtension on the client side mirrors the actual values contained. E.g.
 // CheckNonZeroSender does not hold any value inside (see link below)
-// https://github.com/paritytech/substrate/blob/23bb5a6255bbcd7ce2999044710428bc4a7a924f/frame/system/src/extensions/check_non_zero_sender.rs#L33
-// and is therefore not represented on this side of the SignedExtra.
+// https://github.com/paritytech/polkadot-sdk/blob/c139739868eddbda495d642219a57602f63c18f5/substrate/frame/system/src/extensions/check_non_zero_sender.rs#L32
+// and is therefore not represented on this side of the TxExtension.
 // The Era however is actually defined in the CheckMortality part:
-// https://github.com/paritytech/substrate/blob/23bb5a6255bbcd7ce2999044710428bc4a7a924f/frame/system/src/extensions/check_mortality.rs#L36
+// https://github.com/paritytech/polkadot-sdk/blob/c139739868eddbda495d642219a57602f63c18f5/substrate/frame/system/src/extensions/check_mortality.rs#L39
 // and needs to be defined here. Be sure the order matches the one on the node side.
-#[derive(Decode, Encode, Copy, Clone, Eq, PartialEq, Debug)]
-pub struct GenericSignedExtra<Tip, Index> {
+#[derive(Decode, Encode, Copy, Clone, Eq, PartialEq, Debug, TypeInfo)]
+pub struct GenericTxExtension<Tip, Index> {
 	pub era: Era,
 	#[codec(compact)]
 	pub nonce: Index,
@@ -44,7 +46,7 @@ pub struct GenericSignedExtra<Tip, Index> {
 	pub check_hash: u8,
 }
 
-impl<Tip, Index> GenericSignedExtra<Tip, Index> {
+impl<Tip, Index> GenericTxExtension<Tip, Index> {
 	pub fn new(era: Era, nonce: Index, tip: Tip) -> Self {
 		#[cfg(feature = "disable-metadata-hash-check")]
 		{
@@ -57,19 +59,35 @@ impl<Tip, Index> GenericSignedExtra<Tip, Index> {
 	}
 }
 
-/// Default AdditionalSigned fields of a Polkadot/Substrate node.
-/// Order: (CheckNonZeroSender, CheckSpecVersion, CheckTxVersion, CheckGenesis, Check::Era, CheckNonce, CheckWeight, transactionPayment::ChargeTransactionPayment).
+impl<Call, Tip, Index> TransactionExtension<Call> for GenericTxExtension<Tip, Index>
+where
+	Call: Dispatchable,
+	GenericTxExtension<Tip, Index>:
+		Codec + core::fmt::Debug + Sync + Send + Clone + Eq + PartialEq + StaticTypeInfo,
+	Tip: Codec + core::fmt::Debug + Sync + Send + Clone + Eq + PartialEq + StaticTypeInfo,
+	Index: Codec + core::fmt::Debug + Sync + Send + Clone + Eq + PartialEq + StaticTypeInfo,
+{
+	const IDENTIFIER: &'static str = "GenericTxExtension";
+	type Implicit = ();
+	type Pre = ();
+	type Val = ();
+
+	impl_tx_ext_default!(Call; weight validate prepare);
+}
+
+/// Default implicit fields of a Polkadot/Substrate node.
+/// Order: (CheckNonZeroSender, CheckSpecVersion, CheckTxVersion, CheckGenesis, CheckEra, CheckNonce, CheckWeight, transactionPayment::ChargeTransactionPayment, CheckMetadataHash, WeightReclaim).
 // The order and types must match the one defined in the runtime.
-// Example: https://github.com/paritytech/substrate/blob/cbd8f1b56fd8ab9af0d9317432cc735264c89d70/bin/node/runtime/src/lib.rs#L1779-L1788
-// The `AdditionalSigned` is the tuple returned from the call SignedExtra::additional_signed().
-// Each member defined in the `SignedExtra` on the node side implements the trait `SignedExtension`, which
-// defines what is returned upon the `additional_signed` call. The AdditionalSigned defined here
+// Example: https://github.com/paritytech/polkadot-sdk/blob/c139739868eddbda495d642219a57602f63c18f5/substrate/bin/node/runtime/src/lib.rs#L2665-L2678
+// The `Implicit` is the tuple returned from the call TransactionExtension::implicit().
+// Each member defined in the `TxExtension` on the node side implements the trait `TransactionExtension`, which
+// defines what is returned upon the `implicit` call. The Implicit defined here
 // must mirror these return values.
-// Example: https://github.com/paritytech/substrate/blob/23bb5a6255bbcd7ce2999044710428bc4a7a924f/frame/system/src/extensions/check_non_zero_sender.rs#L64-L66
+// Example: https://github.com/paritytech/polkadot-sdk/blob/c139739868eddbda495d642219a57602f63c18f5/substrate/frame/system/src/extensions/check_mortality.rs#L62
 #[cfg(feature = "disable-metadata-hash-check")]
-pub type GenericAdditionalSigned<Hash> = ((), u32, u32, Hash, Hash, (), (), (), Option<H256>);
+pub type GenericImplicit<Hash> = ((), u32, u32, Hash, Hash, (), (), (), Option<H256>, ());
 #[cfg(not(feature = "disable-metadata-hash-check"))]
-pub type GenericAdditionalSigned<Hash> = ((), u32, u32, Hash, Hash, (), (), ());
+pub type GenericImplicit<Hash> = ((), u32, u32, Hash, Hash, (), (), ());
 
 /// This trait allows you to configure the "signed extra" and
 /// "additional" parameters that are signed and used in substrate extrinsics.
@@ -79,16 +97,16 @@ pub trait ExtrinsicParams<Index, Hash> {
 	/// these params is updated.
 	type AdditionalParams: Default + Clone;
 
-	/// Extra mirroring the `SignedExtra` defined on the node side.
+	/// Extra mirroring the `TxExtension` defined on the node side.
 	/// These parameters are sent along with the extrinsic and are taken into account
 	/// when signing the extrinsic.
-	/// It represents the inner values of the SignedExtra, PhantomData is ignored.
-	type SignedExtra: Copy + Encode;
+	/// It represents the inner values of the TxExtension, PhantomData is ignored.
+	type TxExtension: Copy + Encode;
 
-	/// AdditionalSigned format of the node, which is returned upon the call `additional_signed`.
+	/// Implicit format of the node, which is returned upon the call `additional_signed`.
 	/// These parameters are not sent along with the extrinsic, but are taken into account
 	/// when signing it, meaning the client and node must agree on their values.
-	type AdditionalSigned: Encode;
+	type Implicit: Encode;
 
 	/// Construct a new instance.
 	fn new(
@@ -100,10 +118,22 @@ pub trait ExtrinsicParams<Index, Hash> {
 	) -> Self;
 
 	/// Construct the signed extra needed for constructing an extrinsic.
-	fn signed_extra(&self) -> Self::SignedExtra;
+	#[deprecated = "Use transaction_extension instead"]
+	fn signed_extra(&self) -> Self::TxExtension {
+		self.transaction_extension()
+	}
+
+	/// Construct the transaction extension needed for creating an extrinsic.
+	fn transaction_extension(&self) -> Self::TxExtension;
 
 	/// Construct any additional data that should be in the signed payload of the extrinsic.
-	fn additional_signed(&self) -> Self::AdditionalSigned;
+	#[deprecated = "Use implicit instead"]
+	fn additional_signed(&self) -> Self::Implicit {
+		self.implicit()
+	}
+
+	/// Construct any implicit data that should be in the signed payload of the extrinsic.
+	fn implicit(&self) -> Self::Implicit;
 }
 
 /// An implementation of [`ExtrinsicParams`] that is suitable for constructing
@@ -167,8 +197,8 @@ where
 	Tip: Copy + Default + Encode,
 {
 	type AdditionalParams = GenericAdditionalParams<Tip, T::Hash>;
-	type SignedExtra = GenericSignedExtra<Tip, T::Index>;
-	type AdditionalSigned = GenericAdditionalSigned<T::Hash>;
+	type TxExtension = GenericTxExtension<Tip, T::Index>;
+	type Implicit = GenericImplicit<T::Hash>;
 
 	fn new(
 		spec_version: u32,
@@ -188,11 +218,11 @@ where
 		}
 	}
 
-	fn signed_extra(&self) -> Self::SignedExtra {
-		Self::SignedExtra::new(self.era, self.nonce, self.tip)
+	fn transaction_extension(&self) -> Self::TxExtension {
+		Self::TxExtension::new(self.era, self.nonce, self.tip)
 	}
 
-	fn additional_signed(&self) -> Self::AdditionalSigned {
+	fn implicit(&self) -> Self::Implicit {
 		#[cfg(feature = "disable-metadata-hash-check")]
 		{
 			(
@@ -205,6 +235,7 @@ where
 				(),
 				(),
 				None,
+				(),
 			)
 		}
 		#[cfg(not(feature = "disable-metadata-hash-check"))]
@@ -230,18 +261,18 @@ where
 /// actually contains.
 // https://github.com/paritytech/substrate/blob/1612e39131e3fe57ba4c78447fb1cbf7c4f8830e/primitives/runtime/src/generic/unchecked_extrinsic.rs#L192-L197
 #[derive(Decode, Encode, Clone, Eq, PartialEq, Debug)]
-pub struct SignedPayload<Call, SignedExtra, AdditionalSigned>(
-	(Call, SignedExtra, AdditionalSigned),
+pub struct SignedPayload<Call, TransactionExtension, Implicit>(
+	(Call, TransactionExtension, Implicit),
 );
 
-impl<Call, SignedExtra, AdditionalSigned> SignedPayload<Call, SignedExtra, AdditionalSigned>
+impl<Call, TransactionExtension, Implicit> SignedPayload<Call, TransactionExtension, Implicit>
 where
 	Call: Encode,
-	SignedExtra: Encode,
-	AdditionalSigned: Encode,
+	TransactionExtension: Encode,
+	Implicit: Encode,
 {
 	/// Create new `SignedPayload` from raw components.
-	pub fn from_raw(call: Call, extra: SignedExtra, additional_signed: AdditionalSigned) -> Self {
+	pub fn from_raw(call: Call, extra: TransactionExtension, additional_signed: Implicit) -> Self {
 		Self((call, extra, additional_signed))
 	}
 
diff --git a/primitives/src/extrinsics/extrinsic_v4.rs b/primitives/src/extrinsics/extrinsic_v4.rs
new file mode 100644
index 000000000..a30f8cee2
--- /dev/null
+++ b/primitives/src/extrinsics/extrinsic_v4.rs
@@ -0,0 +1,241 @@
+/*
+   Copyright 2019 Supercomputing Systems AG
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+	   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+*/
+
+//! Primitives for substrate extrinsics.
+
+use crate::OpaqueExtrinsic;
+use alloc::{format, vec::Vec};
+use codec::{Decode, Encode, Error, Input};
+use core::fmt;
+use scale_info::TypeInfo;
+#[allow(deprecated)]
+use sp_runtime::traits::Extrinsic;
+
+/// Current version of the [`UncheckedExtrinsic`] encoded format.
+const V4: u8 = 4;
+
+#[allow(deprecated)]
+pub mod deprecated {
+	use super::*;
+	/// Mirrors the currently used Extrinsic format (V4) from substrate. Has less traits and methods though.
+	/// The SignedExtra used does not need to implement SignedExtension here.
+	// see https://github.com/paritytech/substrate/blob/7d233c2446b5a60662400a0a4bcfb78bb3b79ff7/primitives/runtime/src/generic/unchecked_extrinsic.rs
+	#[deprecated = "Use the `UncheckedExtrinsic` with Version 5 instead"]
+	#[derive(Clone, Eq, PartialEq)]
+
+	pub struct UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra> {
+		/// The signature, address, number of extrinsics have come before from
+		/// the same signer and an era describing the longevity of this transaction,
+		/// if this is a signed extrinsic.
+		pub signature: Option<(Address, Signature, SignedExtra)>,
+		/// The function that should be called.
+		pub function: Call,
+	}
+
+	impl<Address, Call, Signature, SignedExtra>
+		UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
+	{
+		/// New instance of a signed extrinsic.
+		pub fn new_signed(
+			function: Call,
+			signed: Address,
+			signature: Signature,
+			extra: SignedExtra,
+		) -> Self {
+			UncheckedExtrinsicV4 { signature: Some((signed, signature, extra)), function }
+		}
+
+		/// New instance of an unsigned extrinsic.
+		pub fn new_unsigned(function: Call) -> Self {
+			Self { signature: None, function }
+		}
+	}
+
+	impl<Address, Call, Signature, SignedExtra> Extrinsic
+		for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
+	where
+		Address: TypeInfo,
+		Signature: TypeInfo,
+		Call: TypeInfo,
+		SignedExtra: TypeInfo,
+	{
+		type Call = Call;
+
+		type SignaturePayload = (Address, Signature, SignedExtra);
+
+		fn is_signed(&self) -> Option<bool> {
+			Some(self.signature.is_some())
+		}
+
+		fn new(function: Call, signed_data: Option<Self::SignaturePayload>) -> Option<Self> {
+			Some(if let Some((address, signature, extra)) = signed_data {
+				Self::new_signed(function, address, signature, extra)
+			} else {
+				Self::new_unsigned(function)
+			})
+		}
+	}
+
+	impl<Address, Call, Signature, SignedExtra> fmt::Debug
+		for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
+	where
+		Address: fmt::Debug,
+		Signature: fmt::Debug,
+		Call: fmt::Debug,
+		SignedExtra: fmt::Debug,
+	{
+		fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+			write!(
+				f,
+				"UncheckedExtrinsic({:?}, {:?})",
+				self.signature.as_ref().map(|x| (&x.0, &x.2)),
+				self.function
+			)
+		}
+	}
+
+	// https://github.com/paritytech/substrate/blob/1612e39131e3fe57ba4c78447fb1cbf7c4f8830e/primitives/runtime/src/generic/unchecked_extrinsic.rs#L289C5-L320
+	impl<Address, Call, Signature, SignedExtra> Encode
+		for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
+	where
+		Address: Encode,
+		Signature: Encode,
+		Call: Encode,
+		SignedExtra: Encode,
+	{
+		fn encode(&self) -> Vec<u8> {
+			encode_with_vec_prefix::<Self, _>(|v| {
+				match self.signature.as_ref() {
+					Some(s) => {
+						v.push(V4 | 0b1000_0000);
+						s.encode_to(v);
+					},
+					None => {
+						v.push(V4 & 0b0111_1111);
+					},
+				}
+				self.function.encode_to(v);
+			})
+		}
+	}
+
+	// https://github.com/paritytech/substrate/blob/1612e39131e3fe57ba4c78447fb1cbf7c4f8830e/primitives/runtime/src/generic/unchecked_extrinsic.rs#L250-L287
+	impl<Address, Call, Signature, SignedExtra> Decode
+		for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
+	where
+		Address: Decode,
+		Signature: Decode,
+		Call: Decode,
+		SignedExtra: Decode,
+	{
+		fn decode<I: Input>(input: &mut I) -> Result<Self, Error> {
+			// This is a little more complicated than usual since the binary format must be compatible
+			// with substrate's generic `Vec<u8>` type. Basically this just means accepting that there
+			// will be a prefix of vector length (we don't need
+			// to use this).
+			let _length_do_not_remove_me_see_above: Vec<()> = Decode::decode(input)?;
+
+			let version = input.read_byte()?;
+
+			let is_signed = version & 0b1000_0000 != 0;
+			let version = version & 0b0111_1111;
+			if version != V4 {
+				return Err("Invalid transaction version".into())
+			}
+
+			Ok(UncheckedExtrinsicV4 {
+				signature: if is_signed { Some(Decode::decode(input)?) } else { None },
+				function: Decode::decode(input)?,
+			})
+		}
+	}
+
+	impl<Address, Call, Signature, SignedExtra> serde::Serialize
+		for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
+	where
+		Address: Encode,
+		Signature: Encode,
+		Call: Encode,
+		SignedExtra: Encode,
+	{
+		fn serialize<S>(&self, seq: S) -> Result<S::Ok, S::Error>
+		where
+			S: ::serde::Serializer,
+		{
+			self.using_encoded(|bytes| impl_serde::serialize::serialize(bytes, seq))
+		}
+	}
+
+	// https://github.com/paritytech/substrate/blob/1612e39131e3fe57ba4c78447fb1cbf7c4f8830e/primitives/runtime/src/generic/unchecked_extrinsic.rs#L346-L357
+	impl<'a, Address, Call, Signature, SignedExtra> serde::Deserialize<'a>
+		for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
+	where
+		Address: Decode,
+		Signature: Decode,
+		Call: Decode,
+		SignedExtra: Decode,
+	{
+		fn deserialize<D>(de: D) -> Result<Self, D::Error>
+		where
+			D: serde::Deserializer<'a>,
+		{
+			let r = impl_serde::serialize::deserialize(de)?;
+			Decode::decode(&mut &r[..])
+				.map_err(|e| serde::de::Error::custom(format!("Decode error: {e}")))
+		}
+	}
+
+	// https://github.com/paritytech/substrate/blob/1612e39131e3fe57ba4c78447fb1cbf7c4f8830e/primitives/runtime/src/generic/unchecked_extrinsic.rs#L376-L390
+	impl<Address, Call, Signature, Extra>
+		From<UncheckedExtrinsicV4<Address, Call, Signature, Extra>> for OpaqueExtrinsic
+	where
+		Address: Encode,
+		Signature: Encode,
+		Call: Encode,
+		Extra: Encode,
+	{
+		fn from(extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, Extra>) -> Self {
+			Self::from_bytes(extrinsic.encode().as_slice()).expect(
+			"both OpaqueExtrinsic and UncheckedExtrinsic have encoding that is compatible with \
+				raw Vec<u8> encoding; qed",
+		)
+		}
+	}
+
+	/// Same function as in primitives::generic. Needed to be copied as it is private there.
+	fn encode_with_vec_prefix<T: Encode, F: Fn(&mut Vec<u8>)>(encoder: F) -> Vec<u8> {
+		let size = core::mem::size_of::<T>();
+		let reserve = match size {
+			0..=0b0011_1111 => 1,
+			0b0100_0000..=0b0011_1111_1111_1111 => 2,
+			_ => 4,
+		};
+		let mut v = Vec::with_capacity(reserve + size);
+		v.resize(reserve, 0);
+		encoder(&mut v);
+
+		// need to prefix with the total length to ensure it's binary compatible with
+		// Vec<u8>.
+		let mut length: Vec<()> = Vec::new();
+		length.resize(v.len() - reserve, ());
+		length.using_encoded(|s| {
+			v.splice(0..reserve, s.iter().cloned());
+		});
+
+		v
+	}
+}
diff --git a/primitives/src/extrinsics/mod.rs b/primitives/src/extrinsics/mod.rs
index d968b39bd..36d790130 100644
--- a/primitives/src/extrinsics/mod.rs
+++ b/primitives/src/extrinsics/mod.rs
@@ -17,431 +17,18 @@
 
 //! Primitives for substrate extrinsics.
 
-use crate::OpaqueExtrinsic;
-use alloc::{format, vec::Vec};
-use codec::{Decode, Encode, Error, Input};
-use core::fmt;
-use scale_info::TypeInfo;
-use sp_runtime::traits::Extrinsic;
-
 pub use extrinsic_params::{
-	AssetTip, ExtrinsicParams, GenericAdditionalParams, GenericAdditionalSigned,
-	GenericExtrinsicParams, GenericSignedExtra, PlainTip, SignedPayload,
+	AssetTip, ExtrinsicParams, GenericAdditionalParams, GenericExtrinsicParams, GenericImplicit,
+	GenericTxExtension, PlainTip, SignedPayload,
 };
+#[allow(deprecated)]
+pub use extrinsic_v4::deprecated;
 pub use signer::{ExtrinsicSigner, SignExtrinsic};
+pub use sp_runtime::generic::{Preamble, UncheckedExtrinsic};
 
 /// Call Index used a prefix of every extrinsic call.
 pub type CallIndex = [u8; 2];
 
 pub mod extrinsic_params;
+mod extrinsic_v4;
 pub mod signer;
-
-/// Current version of the [`UncheckedExtrinsic`] encoded format.
-const V4: u8 = 4;
-
-/// Mirrors the currently used Extrinsic format (V4) from substrate. Has less traits and methods though.
-/// The SignedExtra used does not need to implement SignedExtension here.
-// see https://github.com/paritytech/substrate/blob/7d233c2446b5a60662400a0a4bcfb78bb3b79ff7/primitives/runtime/src/generic/unchecked_extrinsic.rs
-#[derive(Clone, Eq, PartialEq)]
-pub struct UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra> {
-	/// The signature, address, number of extrinsics have come before from
-	/// the same signer and an era describing the longevity of this transaction,
-	/// if this is a signed extrinsic.
-	pub signature: Option<(Address, Signature, SignedExtra)>,
-	/// The function that should be called.
-	pub function: Call,
-}
-
-impl<Address, Call, Signature, SignedExtra>
-	UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
-{
-	/// New instance of a signed extrinsic.
-	pub fn new_signed(
-		function: Call,
-		signed: Address,
-		signature: Signature,
-		extra: SignedExtra,
-	) -> Self {
-		UncheckedExtrinsicV4 { signature: Some((signed, signature, extra)), function }
-	}
-
-	/// New instance of an unsigned extrinsic.
-	pub fn new_unsigned(function: Call) -> Self {
-		Self { signature: None, function }
-	}
-}
-
-impl<Address, Call, Signature, SignedExtra> Extrinsic
-	for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
-where
-	Address: TypeInfo,
-	Signature: TypeInfo,
-	Call: TypeInfo,
-	SignedExtra: TypeInfo,
-{
-	type Call = Call;
-
-	type SignaturePayload = (Address, Signature, SignedExtra);
-
-	fn is_signed(&self) -> Option<bool> {
-		Some(self.signature.is_some())
-	}
-
-	fn new(function: Call, signed_data: Option<Self::SignaturePayload>) -> Option<Self> {
-		Some(if let Some((address, signature, extra)) = signed_data {
-			Self::new_signed(function, address, signature, extra)
-		} else {
-			Self::new_unsigned(function)
-		})
-	}
-}
-
-impl<Address, Call, Signature, SignedExtra> fmt::Debug
-	for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
-where
-	Address: fmt::Debug,
-	Signature: fmt::Debug,
-	Call: fmt::Debug,
-	SignedExtra: fmt::Debug,
-{
-	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-		write!(
-			f,
-			"UncheckedExtrinsic({:?}, {:?})",
-			self.signature.as_ref().map(|x| (&x.0, &x.2)),
-			self.function
-		)
-	}
-}
-
-// https://github.com/paritytech/substrate/blob/1612e39131e3fe57ba4c78447fb1cbf7c4f8830e/primitives/runtime/src/generic/unchecked_extrinsic.rs#L289C5-L320
-impl<Address, Call, Signature, SignedExtra> Encode
-	for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
-where
-	Address: Encode,
-	Signature: Encode,
-	Call: Encode,
-	SignedExtra: Encode,
-{
-	fn encode(&self) -> Vec<u8> {
-		encode_with_vec_prefix::<Self, _>(|v| {
-			match self.signature.as_ref() {
-				Some(s) => {
-					v.push(V4 | 0b1000_0000);
-					s.encode_to(v);
-				},
-				None => {
-					v.push(V4 & 0b0111_1111);
-				},
-			}
-			self.function.encode_to(v);
-		})
-	}
-}
-
-// https://github.com/paritytech/substrate/blob/1612e39131e3fe57ba4c78447fb1cbf7c4f8830e/primitives/runtime/src/generic/unchecked_extrinsic.rs#L250-L287
-impl<Address, Call, Signature, SignedExtra> Decode
-	for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
-where
-	Address: Decode,
-	Signature: Decode,
-	Call: Decode,
-	SignedExtra: Decode,
-{
-	fn decode<I: Input>(input: &mut I) -> Result<Self, Error> {
-		// This is a little more complicated than usual since the binary format must be compatible
-		// with substrate's generic `Vec<u8>` type. Basically this just means accepting that there
-		// will be a prefix of vector length (we don't need
-		// to use this).
-		let _length_do_not_remove_me_see_above: Vec<()> = Decode::decode(input)?;
-
-		let version = input.read_byte()?;
-
-		let is_signed = version & 0b1000_0000 != 0;
-		let version = version & 0b0111_1111;
-		if version != V4 {
-			return Err("Invalid transaction version".into())
-		}
-
-		Ok(UncheckedExtrinsicV4 {
-			signature: if is_signed { Some(Decode::decode(input)?) } else { None },
-			function: Decode::decode(input)?,
-		})
-	}
-}
-
-impl<Address, Call, Signature, SignedExtra> serde::Serialize
-	for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
-where
-	Address: Encode,
-	Signature: Encode,
-	Call: Encode,
-	SignedExtra: Encode,
-{
-	fn serialize<S>(&self, seq: S) -> Result<S::Ok, S::Error>
-	where
-		S: ::serde::Serializer,
-	{
-		self.using_encoded(|bytes| impl_serde::serialize::serialize(bytes, seq))
-	}
-}
-
-// https://github.com/paritytech/substrate/blob/1612e39131e3fe57ba4c78447fb1cbf7c4f8830e/primitives/runtime/src/generic/unchecked_extrinsic.rs#L346-L357
-impl<'a, Address, Call, Signature, SignedExtra> serde::Deserialize<'a>
-	for UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>
-where
-	Address: Decode,
-	Signature: Decode,
-	Call: Decode,
-	SignedExtra: Decode,
-{
-	fn deserialize<D>(de: D) -> Result<Self, D::Error>
-	where
-		D: serde::Deserializer<'a>,
-	{
-		let r = impl_serde::serialize::deserialize(de)?;
-		Decode::decode(&mut &r[..])
-			.map_err(|e| serde::de::Error::custom(format!("Decode error: {e}")))
-	}
-}
-
-// https://github.com/paritytech/substrate/blob/1612e39131e3fe57ba4c78447fb1cbf7c4f8830e/primitives/runtime/src/generic/unchecked_extrinsic.rs#L376-L390
-impl<Address, Call, Signature, Extra> From<UncheckedExtrinsicV4<Address, Call, Signature, Extra>>
-	for OpaqueExtrinsic
-where
-	Address: Encode,
-	Signature: Encode,
-	Call: Encode,
-	Extra: Encode,
-{
-	fn from(extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, Extra>) -> Self {
-		Self::from_bytes(extrinsic.encode().as_slice()).expect(
-			"both OpaqueExtrinsic and UncheckedExtrinsic have encoding that is compatible with \
-				raw Vec<u8> encoding; qed",
-		)
-	}
-}
-
-/// Same function as in primitives::generic. Needed to be copied as it is private there.
-fn encode_with_vec_prefix<T: Encode, F: Fn(&mut Vec<u8>)>(encoder: F) -> Vec<u8> {
-	let size = core::mem::size_of::<T>();
-	let reserve = match size {
-		0..=0b0011_1111 => 1,
-		0b0100_0000..=0b0011_1111_1111_1111 => 2,
-		_ => 4,
-	};
-	let mut v = Vec::with_capacity(reserve + size);
-	v.resize(reserve, 0);
-	encoder(&mut v);
-
-	// need to prefix with the total length to ensure it's binary compatible with
-	// Vec<u8>.
-	let mut length: Vec<()> = Vec::new();
-	length.resize(v.len() - reserve, ());
-	length.using_encoded(|s| {
-		v.splice(0..reserve, s.iter().cloned());
-	});
-
-	v
-}
-
-#[cfg(test)]
-mod tests {
-	use super::*;
-	use crate::AssetRuntimeConfig;
-	use extrinsic_params::{GenericAdditionalParams, GenericExtrinsicParams, PlainTip};
-	use frame_metadata_hash_extension::CheckMetadataHash;
-	use frame_system::{
-		CheckEra, CheckGenesis, CheckNonZeroSender, CheckNonce, CheckSpecVersion, CheckTxVersion,
-		CheckWeight,
-	};
-	use pallet_transaction_payment::ChargeTransactionPayment;
-	use solochain_template_runtime::{
-		BalancesCall, Runtime, RuntimeCall, SignedExtra, SystemCall, UncheckedExtrinsic, VERSION,
-	};
-	use sp_core::{crypto::Ss58Codec, Pair, H256 as Hash};
-	use sp_keyring::Sr25519Keyring;
-	use sp_runtime::{
-		generic::Era, testing::sr25519, traits::Hash as HashTrait, AccountId32, MultiAddress,
-		MultiSignature,
-	};
-
-	type PlainTipExtrinsicParams =
-		GenericExtrinsicParams<crate::DefaultRuntimeConfig, PlainTip<u128>>;
-
-	#[test]
-	fn encode_decode_roundtrip_works() {
-		let msg = &b"test-message"[..];
-		let (pair, _) = sr25519::Pair::generate();
-		let signature = pair.sign(msg);
-		let multi_sig = MultiSignature::from(signature);
-		let account: AccountId32 = pair.public().into();
-		let tx_params = GenericAdditionalParams::<PlainTip<u128>, Hash>::new()
-			.era(Era::mortal(8, 0), Hash::from([0u8; 32]));
-
-		let default_extra = GenericExtrinsicParams::<AssetRuntimeConfig, PlainTip<u128>>::new(
-			0,
-			0,
-			0u32,
-			Hash::from([0u8; 32]),
-			tx_params,
-		);
-		let xt = UncheckedExtrinsicV4::new_signed(
-			vec![1, 1, 1],
-			account,
-			multi_sig,
-			default_extra.signed_extra(),
-		);
-		let xt_enc = xt.encode();
-		assert_eq!(xt, Decode::decode(&mut xt_enc.as_slice()).unwrap())
-	}
-
-	#[test]
-	fn serialize_deserialize_works() {
-		let bob: AccountId32 =
-			sr25519::Public::from_ss58check("5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty")
-				.unwrap()
-				.into();
-		let bob = MultiAddress::Id(bob);
-
-		let call1 = RuntimeCall::Balances(BalancesCall::force_transfer {
-			source: bob.clone(),
-			dest: bob.clone(),
-			value: 10,
-		});
-		let xt1 = UncheckedExtrinsicV4::<
-			MultiAddress<AccountId32, u32>,
-			RuntimeCall,
-			MultiSignature,
-			SignedExtra,
-		>::new_unsigned(call1.clone());
-		let json = serde_json::to_string(&xt1).expect("serializing failed");
-		let extrinsic: UncheckedExtrinsicV4<
-			MultiAddress<AccountId32, u32>,
-			RuntimeCall,
-			MultiSignature,
-			SignedExtra,
-		> = serde_json::from_str(&json).expect("deserializing failed");
-		let call = extrinsic.function;
-		assert_eq!(call, call1);
-	}
-
-	#[test]
-	fn xt_hash_matches_substrate_impl() {
-		// Define extrinsic params.
-		let alice = MultiAddress::Id(Sr25519Keyring::Alice.to_account_id());
-		let bob = MultiAddress::Id(Sr25519Keyring::Bob.to_account_id());
-		let call =
-			RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: bob, value: 42 });
-
-		let msg = &b"test-message"[..];
-		let (pair, _) = sr25519::Pair::generate();
-		let signature = MultiSignature::from(pair.sign(msg));
-
-		let era = Era::Immortal;
-		let nonce = 10;
-		let fee = 100;
-
-		// Create Substrate extrinsic.
-		let substrate_signed_extra: SignedExtra = (
-			CheckNonZeroSender::<Runtime>::new(),
-			CheckSpecVersion::<Runtime>::new(),
-			CheckTxVersion::<Runtime>::new(),
-			CheckGenesis::<Runtime>::new(),
-			CheckEra::<Runtime>::from(era),
-			CheckNonce::<Runtime>::from(nonce),
-			CheckWeight::<Runtime>::new(),
-			ChargeTransactionPayment::<Runtime>::from(fee),
-			CheckMetadataHash::<Runtime>::new(false),
-		);
-
-		let substrate_extrinsic = UncheckedExtrinsic::new_signed(
-			call.clone(),
-			alice.clone(),
-			signature.clone(),
-			substrate_signed_extra,
-		);
-
-		// Create api-client extrinsic.
-		let additional_tx_params = GenericAdditionalParams::<PlainTip<u128>, Hash>::new()
-			.era(era, Hash::zero())
-			.tip(fee);
-		let extrinsic_params = PlainTipExtrinsicParams::new(
-			VERSION.spec_version,
-			VERSION.transaction_version,
-			nonce,
-			Hash::zero(),
-			additional_tx_params,
-		);
-		let api_client_extrinsic = UncheckedExtrinsicV4::new_signed(
-			call,
-			alice,
-			signature,
-			extrinsic_params.signed_extra(),
-		);
-
-		assert_eq!(
-			<Runtime as frame_system::Config>::Hashing::hash_of(&substrate_extrinsic),
-			<Runtime as frame_system::Config>::Hashing::hash_of(&api_client_extrinsic)
-		)
-	}
-
-	#[test]
-	fn xt_hash_matches_substrate_impl_large_xt() {
-		// Define xt parameters,
-		let alice = MultiAddress::Id(Sr25519Keyring::Alice.to_account_id());
-		let code: Vec<u8> = include_bytes!("solochain_template_runtime.wasm").to_vec();
-		let call = RuntimeCall::System(SystemCall::set_code { code });
-
-		let msg = &b"test-message"[..];
-		let (pair, _) = sr25519::Pair::generate();
-		let signature = MultiSignature::from(pair.sign(msg));
-		let era = Era::Immortal;
-		let nonce = 10;
-		let fee = 100;
-
-		// Create Substrate extrinsic.
-		let substrate_signed_extra: SignedExtra = (
-			CheckNonZeroSender::<Runtime>::new(),
-			CheckSpecVersion::<Runtime>::new(),
-			CheckTxVersion::<Runtime>::new(),
-			CheckGenesis::<Runtime>::new(),
-			CheckEra::<Runtime>::from(era),
-			CheckNonce::<Runtime>::from(nonce),
-			CheckWeight::<Runtime>::new(),
-			ChargeTransactionPayment::<Runtime>::from(fee),
-			CheckMetadataHash::<Runtime>::new(false),
-		);
-		let substrate_extrinsic = UncheckedExtrinsic::new_signed(
-			call.clone(),
-			alice.clone(),
-			signature.clone(),
-			substrate_signed_extra,
-		);
-
-		// Define api-client extrinsic.
-		let additional_tx_params = GenericAdditionalParams::<PlainTip<u128>, Hash>::new()
-			.era(era, Hash::zero())
-			.tip(fee);
-
-		let extrinsic_params = PlainTipExtrinsicParams::new(
-			VERSION.spec_version,
-			VERSION.transaction_version,
-			nonce,
-			Hash::zero(),
-			additional_tx_params,
-		);
-
-		let api_client_extrinsic = UncheckedExtrinsicV4::new_signed(
-			call,
-			alice,
-			signature,
-			extrinsic_params.signed_extra(),
-		);
-
-		assert_eq!(
-			<Runtime as frame_system::Config>::Hashing::hash_of(&substrate_extrinsic),
-			<Runtime as frame_system::Config>::Hashing::hash_of(&api_client_extrinsic)
-		)
-	}
-}
diff --git a/primitives/src/extrinsics/solochain_template_runtime.wasm b/primitives/src/extrinsics/solochain_template_runtime.wasm
deleted file mode 100755
index bf0f87410..000000000
Binary files a/primitives/src/extrinsics/solochain_template_runtime.wasm and /dev/null differ
diff --git a/src/api/rpc_api/author.rs b/src/api/rpc_api/author.rs
index 0ffad6ded..d80610076 100644
--- a/src/api/rpc_api/author.rs
+++ b/src/api/rpc_api/author.rs
@@ -19,7 +19,7 @@ use crate::{
 	Api, ExtrinsicReport, TransactionStatus, XtStatus,
 };
 use ac_compose_macros::rpc_params;
-use ac_primitives::{config::Config, UncheckedExtrinsicV4};
+use ac_primitives::{config::Config, UncheckedExtrinsic};
 #[cfg(not(feature = "sync-api"))]
 use alloc::boxed::Box;
 use codec::{Decode, Encode};
@@ -38,15 +38,15 @@ pub trait SubmitExtrinsic {
 
 	/// Submit an encodable extrinsic to the substrate node.
 	/// Returns the extrinsic hash.
-	async fn submit_extrinsic<Address, Call, Signature, SignedExtra>(
+	async fn submit_extrinsic<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 	) -> Result<Self::Hash>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode;
+		TransactionExtension: Encode;
 
 	/// Submit an encoded, opaque extrinsic to the substrate node.
 	/// Returns the extrinsic hash.
@@ -61,15 +61,15 @@ where
 {
 	type Hash = T::Hash;
 
-	async fn submit_extrinsic<Address, Call, Signature, SignedExtra>(
+	async fn submit_extrinsic<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 	) -> Result<Self::Hash>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode,
+		TransactionExtension: Encode,
 	{
 		self.submit_opaque_extrinsic(&extrinsic.encode().into()).await
 	}
@@ -91,15 +91,15 @@ pub trait SubmitAndWatch {
 	/// to watch the extrinsic progress.
 	///
 	/// This method is blocking if the sync-api feature is activated
-	async fn submit_and_watch_extrinsic<Address, Call, Signature, SignedExtra>(
+	async fn submit_and_watch_extrinsic<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 	) -> Result<TransactionSubscriptionFor<Self::Client, Self::Hash>>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode;
+		TransactionExtension: Encode;
 
 	/// Submit an encoded, opaque extrinsic an return a Subscription to
 	/// watch the extrinsic progress.
@@ -130,16 +130,16 @@ pub trait SubmitAndWatch {
 	/// - last known extrinsic (transaction) status
 	///
 	/// This method is blocking if the sync-api feature is activated
-	async fn submit_and_watch_extrinsic_until<Address, Call, Signature, SignedExtra>(
+	async fn submit_and_watch_extrinsic_until<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		watch_until: XtStatus,
 	) -> Result<ExtrinsicReport<Self::Hash>>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode;
+		TransactionExtension: Encode;
 
 	/// Submit an encoded, opaque extrinsic until the desired status
 	/// is reached, if no error is encountered previously.
@@ -182,17 +182,17 @@ pub trait SubmitAndWatch {
 		Address,
 		Call,
 		Signature,
-		SignedExtra,
+		TransactionExtension,
 	>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		watch_until: XtStatus,
 	) -> Result<ExtrinsicReport<Self::Hash>>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode;
+		TransactionExtension: Encode;
 
 	/// Submit an encoded, opaque extrinsic and watch it until the desired status
 	/// is reached, if no error is encountered previously.
@@ -227,15 +227,15 @@ where
 	type Client = Client;
 	type Hash = T::Hash;
 
-	async fn submit_and_watch_extrinsic<Address, Call, Signature, SignedExtra>(
+	async fn submit_and_watch_extrinsic<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 	) -> Result<TransactionSubscriptionFor<Self::Client, Self::Hash>>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode,
+		TransactionExtension: Encode,
 	{
 		self.submit_and_watch_opaque_extrinsic(&extrinsic.encode().into()).await
 	}
@@ -254,16 +254,16 @@ where
 			.map_err(|e| e.into())
 	}
 
-	async fn submit_and_watch_extrinsic_until<Address, Call, Signature, SignedExtra>(
+	async fn submit_and_watch_extrinsic_until<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		watch_until: XtStatus,
 	) -> Result<ExtrinsicReport<Self::Hash>>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode,
+		TransactionExtension: Encode,
 	{
 		self.submit_and_watch_opaque_extrinsic_until(&extrinsic.encode().into(), watch_until)
 			.await
@@ -301,17 +301,17 @@ where
 		Address,
 		Call,
 		Signature,
-		SignedExtra,
+		TransactionExtension,
 	>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		watch_until: XtStatus,
 	) -> Result<ExtrinsicReport<Self::Hash>>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode,
+		TransactionExtension: Encode,
 	{
 		self.submit_and_watch_opaque_extrinsic_until_without_events(
 			&extrinsic.encode().into(),
diff --git a/src/api/rpc_api/events.rs b/src/api/rpc_api/events.rs
index 07d31f786..1e968341b 100644
--- a/src/api/rpc_api/events.rs
+++ b/src/api/rpc_api/events.rs
@@ -377,9 +377,9 @@ mod tests {
 		let call3 =
 			RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: bob, value: 1000 });
 
-		let xt1: Bytes = UncheckedExtrinsic::new_unsigned(call1).encode().into();
-		let xt2: Bytes = UncheckedExtrinsic::new_unsigned(call2).encode().into();
-		let xt3: Bytes = UncheckedExtrinsic::new_unsigned(call3).encode().into();
+		let xt1: Bytes = UncheckedExtrinsic::new_bare(call1).encode().into();
+		let xt2: Bytes = UncheckedExtrinsic::new_bare(call2).encode().into();
+		let xt3: Bytes = UncheckedExtrinsic::new_bare(call3).encode().into();
 
 		let xt_hash1 = <RococoRuntimeConfig as Config>::Hasher::hash(&xt1);
 		let xt_hash2 = <RococoRuntimeConfig as Config>::Hasher::hash(&xt2);
diff --git a/src/api/runtime_api/block_builder.rs b/src/api/runtime_api/block_builder.rs
index 427de462f..64d33dae4 100644
--- a/src/api/runtime_api/block_builder.rs
+++ b/src/api/runtime_api/block_builder.rs
@@ -13,7 +13,7 @@
 
 use super::{RuntimeApi, RuntimeApiClient};
 use crate::{api::Result, rpc::Request};
-use ac_primitives::{config::Config, UncheckedExtrinsicV4};
+use ac_primitives::{config::Config, UncheckedExtrinsic};
 #[cfg(not(feature = "sync-api"))]
 use alloc::boxed::Box;
 use alloc::{vec, vec::Vec};
@@ -30,16 +30,16 @@ pub trait BlockBuilderApi: RuntimeApi {
 	type Header;
 
 	/// Apply the given extrinsic.
-	async fn apply_extrinsic<Address, Call, Signature, SignedExtra>(
+	async fn apply_extrinsic<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		at_block: Option<Self::Hash>,
 	) -> Result<Self::ApplyExtrinsicResult>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode;
+		TransactionExtension: Encode;
 
 	/// Apply the given opaque extrinsic.
 	async fn apply_opaque_extrinsic(
@@ -79,16 +79,16 @@ where
 	type CheckInherentsResult = CheckInherentsResult;
 	type Header = T::Header;
 
-	async fn apply_extrinsic<Address, Call, Signature, SignedExtra>(
+	async fn apply_extrinsic<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		at_block: Option<Self::Hash>,
 	) -> Result<Self::ApplyExtrinsicResult>
 	where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode,
+		TransactionExtension: Encode,
 	{
 		self.apply_opaque_extrinsic(extrinsic.encode(), at_block).await
 	}
diff --git a/src/api/runtime_api/transaction_payment.rs b/src/api/runtime_api/transaction_payment.rs
index 54b469909..52d8de562 100644
--- a/src/api/runtime_api/transaction_payment.rs
+++ b/src/api/runtime_api/transaction_payment.rs
@@ -13,9 +13,7 @@
 
 use super::{RuntimeApi, RuntimeApiClient};
 use crate::{api::Result, rpc::Request};
-use ac_primitives::{
-	config::Config, FeeDetails, RuntimeDispatchInfo, UncheckedExtrinsicV4, Weight,
-};
+use ac_primitives::{config::Config, FeeDetails, RuntimeDispatchInfo, UncheckedExtrinsic, Weight};
 #[cfg(not(feature = "sync-api"))]
 use alloc::boxed::Box;
 use alloc::{vec, vec::Vec};
@@ -29,9 +27,9 @@ pub trait TransactionPaymentApi: RuntimeApi {
 	type Weight;
 
 	/// Query the transaction fee details.
-	async fn query_fee_details<Address, Call, Signature, SignedExtra>(
+	async fn query_fee_details<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		length: u32,
 		at_block: Option<Self::Hash>,
 	) -> Result<Self::FeeDetails>
@@ -39,7 +37,7 @@ pub trait TransactionPaymentApi: RuntimeApi {
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode;
+		TransactionExtension: Encode;
 
 	/// Query the transaction fee details of opaque extrinsic.
 	async fn query_fee_details_opaque(
@@ -50,9 +48,9 @@ pub trait TransactionPaymentApi: RuntimeApi {
 	) -> Result<Self::FeeDetails>;
 
 	/// Query the transaction fee info.
-	async fn query_info<Address, Call, Signature, SignedExtra>(
+	async fn query_info<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		length: u32,
 		at_block: Option<Self::Hash>,
 	) -> Result<Self::RuntimeDispatchInfo>
@@ -60,7 +58,7 @@ pub trait TransactionPaymentApi: RuntimeApi {
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode;
+		TransactionExtension: Encode;
 
 	/// Query the transaction info of opaque extrinsic.
 	async fn query_info_opaque(
@@ -96,9 +94,9 @@ where
 	type Balance = T::Balance;
 	type Weight = Weight;
 
-	async fn query_fee_details<Address, Call, Signature, SignedExtra>(
+	async fn query_fee_details<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		length: u32,
 		at_block: Option<Self::Hash>,
 	) -> Result<Self::FeeDetails>
@@ -106,7 +104,7 @@ where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode,
+		TransactionExtension: Encode,
 	{
 		self.query_fee_details_opaque(extrinsic.encode(), length, at_block).await
 	}
@@ -125,9 +123,9 @@ where
 		.await
 	}
 
-	async fn query_info<Address, Call, Signature, SignedExtra>(
+	async fn query_info<Address, Call, Signature, TransactionExtension>(
 		&self,
-		extrinsic: UncheckedExtrinsicV4<Address, Call, Signature, SignedExtra>,
+		extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
 		length: u32,
 		at_block: Option<Self::Hash>,
 	) -> Result<Self::RuntimeDispatchInfo>
@@ -135,7 +133,7 @@ where
 		Address: Encode,
 		Call: Encode,
 		Signature: Encode,
-		SignedExtra: Encode,
+		TransactionExtension: Encode,
 	{
 		self.query_info_opaque(extrinsic.encode(), length, at_block).await
 	}
diff --git a/src/extrinsic/balances.rs b/src/extrinsic/balances.rs
index ebb4a2c57..fa4b2bb21 100644
--- a/src/extrinsic/balances.rs
+++ b/src/extrinsic/balances.rs
@@ -22,7 +22,7 @@ use crate::{api::Api, rpc::Request};
 use ac_compose_macros::compose_extrinsic;
 use ac_primitives::{
 	config::Config, extrinsic_params::ExtrinsicParams, extrinsics::CallIndex, SignExtrinsic,
-	UncheckedExtrinsicV4,
+	UncheckedExtrinsic,
 };
 #[cfg(not(feature = "sync-api"))]
 use alloc::boxed::Box;
@@ -82,11 +82,11 @@ where
 {
 	type Balance = T::Balance;
 	type Address = <T::ExtrinsicSigner as SignExtrinsic<T::AccountId>>::ExtrinsicAddress;
-	type Extrinsic<Call> = UncheckedExtrinsicV4<
+	type Extrinsic<Call> = UncheckedExtrinsic<
 		Self::Address,
 		Call,
 		<T::ExtrinsicSigner as SignExtrinsic<T::AccountId>>::Signature,
-		<T::ExtrinsicParams as ExtrinsicParams<T::Index, T::Hash>>::SignedExtra,
+		<T::ExtrinsicParams as ExtrinsicParams<T::Index, T::Hash>>::TxExtension,
 	>;
 
 	async fn balance_transfer_allow_death(
diff --git a/src/extrinsic/contracts.rs b/src/extrinsic/contracts.rs
index 68473b0cb..a358da0a5 100644
--- a/src/extrinsic/contracts.rs
+++ b/src/extrinsic/contracts.rs
@@ -23,7 +23,7 @@ use crate::{api::Api, rpc::Request};
 use ac_compose_macros::compose_extrinsic;
 use ac_primitives::{
 	config::Config, extrinsic_params::ExtrinsicParams, extrinsics::CallIndex, Determinism,
-	SignExtrinsic, UncheckedExtrinsicV4, Weight,
+	SignExtrinsic, UncheckedExtrinsic, Weight,
 };
 use codec::{Compact, Encode};
 use sp_core::Bytes;
@@ -250,11 +250,11 @@ where
 	type Data = Bytes;
 	type Salt = Bytes;
 	type Address = <T::ExtrinsicSigner as SignExtrinsic<T::AccountId>>::ExtrinsicAddress;
-	type Extrinsic<Call> = UncheckedExtrinsicV4<
+	type Extrinsic<Call> = UncheckedExtrinsic<
 		Self::Address,
 		Call,
 		<T::ExtrinsicSigner as SignExtrinsic<T::AccountId>>::Signature,
-		<T::ExtrinsicParams as ExtrinsicParams<T::Index, T::Hash>>::SignedExtra,
+		<T::ExtrinsicParams as ExtrinsicParams<T::Index, T::Hash>>::TxExtension,
 	>;
 
 	async fn contract_upload_code(
diff --git a/src/extrinsic/offline_extrinsic.rs b/src/extrinsic/offline_extrinsic.rs
index f9e5e2163..ac3679484 100644
--- a/src/extrinsic/offline_extrinsic.rs
+++ b/src/extrinsic/offline_extrinsic.rs
@@ -20,7 +20,7 @@
 use crate::Api;
 use ac_compose_macros::compose_extrinsic_offline;
 use ac_primitives::{
-	config::Config, extrinsic_params::ExtrinsicParams, SignExtrinsic, UncheckedExtrinsicV4,
+	config::Config, extrinsic_params::ExtrinsicParams, Preamble, SignExtrinsic, UncheckedExtrinsic,
 };
 use codec::Encode;
 
@@ -28,10 +28,10 @@ type ExtrinsicAddress<T> =
 	<<T as Config>::ExtrinsicSigner as SignExtrinsic<<T as Config>::AccountId>>::ExtrinsicAddress;
 type Signature<T> =
 	<<T as Config>::ExtrinsicSigner as SignExtrinsic<<T as Config>::AccountId>>::Signature;
-type SignedExtra<T> = <<T as Config>::ExtrinsicParams as ExtrinsicParams<
+type TxExtension<T> = <<T as Config>::ExtrinsicParams as ExtrinsicParams<
 	<T as Config>::Index,
 	<T as Config>::Hash,
->>::SignedExtra;
+>>::TxExtension;
 
 impl<T: Config, Client> Api<T, Client> {
 	/// Wrapper around the `compose_extrinsic_offline!` macro to be less verbose.
@@ -39,10 +39,10 @@ impl<T: Config, Client> Api<T, Client> {
 		&self,
 		call: Call,
 		nonce: T::Index,
-	) -> UncheckedExtrinsicV4<ExtrinsicAddress<T>, Call, Signature<T>, SignedExtra<T>> {
+	) -> UncheckedExtrinsic<ExtrinsicAddress<T>, Call, Signature<T>, TxExtension<T>> {
 		match self.signer() {
 			Some(signer) => compose_extrinsic_offline!(signer, call, self.extrinsic_params(nonce)),
-			None => UncheckedExtrinsicV4 { signature: None, function: call },
+			None => UncheckedExtrinsic { preamble: Preamble::Bare(5), function: call },
 		}
 	}
 }
diff --git a/src/extrinsic/staking.rs b/src/extrinsic/staking.rs
index c8b7b9aad..4ee43a0b0 100644
--- a/src/extrinsic/staking.rs
+++ b/src/extrinsic/staking.rs
@@ -22,7 +22,7 @@ use crate::{rpc::Request, Api};
 use ac_compose_macros::compose_extrinsic;
 use ac_primitives::{
 	config::Config, CallIndex, ExtrinsicParams, RewardDestination, SignExtrinsic,
-	UncheckedExtrinsicV4,
+	UncheckedExtrinsic,
 };
 use codec::{Compact, Decode, Encode};
 
@@ -166,11 +166,11 @@ where
 	type RewardDestination = RewardDestination<Self::Address>;
 	type AccountId = T::AccountId;
 	type Address = <T::ExtrinsicSigner as SignExtrinsic<T::AccountId>>::ExtrinsicAddress;
-	type Extrinsic<Call> = UncheckedExtrinsicV4<
+	type Extrinsic<Call> = UncheckedExtrinsic<
 		Self::Address,
 		Call,
 		<T::ExtrinsicSigner as SignExtrinsic<T::AccountId>>::Signature,
-		<T::ExtrinsicParams as ExtrinsicParams<T::Index, T::Hash>>::SignedExtra,
+		<T::ExtrinsicParams as ExtrinsicParams<T::Index, T::Hash>>::TxExtension,
 	>;
 
 	async fn staking_bond(
diff --git a/src/extrinsic/utility.rs b/src/extrinsic/utility.rs
index 2bfc7b276..728c69e49 100644
--- a/src/extrinsic/utility.rs
+++ b/src/extrinsic/utility.rs
@@ -22,7 +22,7 @@ use crate::{rpc::Request, Api};
 use ac_compose_macros::compose_extrinsic;
 use ac_primitives::{
 	config::Config, extrinsic_params::ExtrinsicParams, extrinsics::CallIndex, SignExtrinsic,
-	UncheckedExtrinsicV4,
+	UncheckedExtrinsic,
 };
 #[cfg(not(feature = "sync-api"))]
 use alloc::boxed::Box;
@@ -63,11 +63,11 @@ where
 	T: Config,
 	Client: Request,
 {
-	type Extrinsic<Call> = UncheckedExtrinsicV4<
+	type Extrinsic<Call> = UncheckedExtrinsic<
 		<T::ExtrinsicSigner as SignExtrinsic<T::AccountId>>::ExtrinsicAddress,
 		Call,
 		<T::ExtrinsicSigner as SignExtrinsic<T::AccountId>>::Signature,
-		<T::ExtrinsicParams as ExtrinsicParams<T::Index, T::Hash>>::SignedExtra,
+		<T::ExtrinsicParams as ExtrinsicParams<T::Index, T::Hash>>::TxExtension,
 	>;
 
 	async fn batch<Call: Encode + Clone>(


Test patch: