diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ff1d2eb14f975548d335b48571c0145be8c715aa..7c853eaf5373a6f66d53f46b39f89e78bfd52b38 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -94,9 +94,10 @@ run_benchmarks:
     - when: manual
   script:
     - cargo build -Zgit=shallow-deps --release --features runtime-benchmarks
-    - target/release/duniter benchmark storage --chain=dev --mul=2 --state-version=1
-    - target/release/duniter benchmark overhead --chain=dev --wasm-execution=compiled --warmup=1 --repeat=100
-    - target/release/duniter benchmark pallet --chain=dev --steps=5 --repeat=2 --pallet="*" --extrinsic="*" --wasm-execution=compiled
+    - target/release/duniter benchmark storage --chain=dev --mul=2 --state-version=1 --weight-path=./runtime/gdev/src/weights/
+    - target/release/duniter benchmark overhead --chain=dev --wasm-execution=compiled --warmup=1 --repeat=100 --weight-path=./runtime/gdev/src/weights/
+    - target/release/duniter benchmark pallet --chain=dev --steps=5 --repeat=2 --pallet="*" --extrinsic="*" --wasm-execution=compiled --output=./runtime/gdev/src/weights/
+    - cargo build -Zgit=shallow-deps --release --features runtime-benchmarks # Check if autogenerated weights work
 
 gtest_build:
   stage: build
diff --git a/Cargo.lock b/Cargo.lock
index 9ed0d4faeda5549e5857dc515a32bc1103e4c8b7..6c9ecc52cf6a7bfda823a5a72d2fb83796931baf 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -71,17 +71,6 @@ dependencies = [
  "subtle 2.6.1",
 ]
 
-[[package]]
-name = "ahash"
-version = "0.7.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
-dependencies = [
- "getrandom",
- "once_cell",
- "version_check",
-]
-
 [[package]]
 name = "ahash"
 version = "0.8.11"
@@ -106,9 +95,9 @@ dependencies = [
 
 [[package]]
 name = "allocator-api2"
-version = "0.2.20"
+version = "0.2.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9"
+checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
 
 [[package]]
 name = "alloy-primitives"
@@ -132,9 +121,9 @@ dependencies = [
 
 [[package]]
 name = "alloy-rlp"
-version = "0.3.9"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f"
+checksum = "3d6c1d995bff8d011f7cd6c81820d51825e6e06d6db73914c1630ecf544d83d6"
 dependencies = [
  "arrayvec 0.7.6",
  "bytes",
@@ -152,7 +141,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
  "syn-solidity",
  "tiny-keccak",
 ]
@@ -225,19 +214,20 @@ dependencies = [
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.6"
+version = "3.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125"
+checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e"
 dependencies = [
  "anstyle",
+ "once_cell",
  "windows-sys 0.59.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.93"
+version = "1.0.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775"
+checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"
 
 [[package]]
 name = "approx"
@@ -259,7 +249,7 @@ dependencies = [
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -268,7 +258,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f"
 dependencies = [
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-std 0.4.0",
 ]
@@ -280,7 +270,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55"
 dependencies = [
  "ark-bls12-377",
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-models-ext",
  "ark-std 0.4.0",
 ]
@@ -291,7 +281,7 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488"
 dependencies = [
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-serialize 0.4.2",
  "ark-std 0.4.0",
@@ -304,7 +294,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c"
 dependencies = [
  "ark-bls12-381",
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-models-ext",
  "ark-serialize 0.4.2",
@@ -318,7 +308,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700"
 dependencies = [
  "ark-bls12-377",
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-std 0.4.0",
 ]
@@ -330,7 +320,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2"
 dependencies = [
  "ark-bw6-761",
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-models-ext",
  "ark-std 0.4.0",
@@ -343,7 +333,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba"
 dependencies = [
  "ark-ff 0.4.2",
- "ark-poly",
+ "ark-poly 0.4.2",
  "ark-serialize 0.4.2",
  "ark-std 0.4.0",
  "derivative",
@@ -354,6 +344,27 @@ dependencies = [
  "zeroize",
 ]
 
+[[package]]
+name = "ark-ec"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce"
+dependencies = [
+ "ahash",
+ "ark-ff 0.5.0",
+ "ark-poly 0.5.0",
+ "ark-serialize 0.5.0",
+ "ark-std 0.5.0",
+ "educe",
+ "fnv",
+ "hashbrown 0.15.2",
+ "itertools 0.13.0",
+ "num-bigint",
+ "num-integer",
+ "num-traits 0.2.19",
+ "zeroize",
+]
+
 [[package]]
 name = "ark-ed-on-bls12-377"
 version = "0.4.0"
@@ -361,7 +372,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6"
 dependencies = [
  "ark-bls12-377",
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-std 0.4.0",
 ]
@@ -372,7 +383,7 @@ version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d"
 dependencies = [
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ed-on-bls12-377",
  "ark-ff 0.4.2",
  "ark-models-ext",
@@ -386,7 +397,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c"
 dependencies = [
  "ark-bls12-381",
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-std 0.4.0",
 ]
@@ -397,7 +408,7 @@ version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346"
 dependencies = [
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ed-on-bls12-381-bandersnatch",
  "ark-ff 0.4.2",
  "ark-models-ext",
@@ -442,6 +453,26 @@ dependencies = [
  "zeroize",
 ]
 
+[[package]]
+name = "ark-ff"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70"
+dependencies = [
+ "ark-ff-asm 0.5.0",
+ "ark-ff-macros 0.5.0",
+ "ark-serialize 0.5.0",
+ "ark-std 0.5.0",
+ "arrayvec 0.7.6",
+ "digest 0.10.7",
+ "educe",
+ "itertools 0.13.0",
+ "num-bigint",
+ "num-traits 0.2.19",
+ "paste",
+ "zeroize",
+]
+
 [[package]]
 name = "ark-ff-asm"
 version = "0.3.0"
@@ -462,6 +493,16 @@ dependencies = [
  "syn 1.0.109",
 ]
 
+[[package]]
+name = "ark-ff-asm"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60"
+dependencies = [
+ "quote",
+ "syn 2.0.96",
+]
+
 [[package]]
 name = "ark-ff-macros"
 version = "0.3.0"
@@ -487,13 +528,26 @@ dependencies = [
  "syn 1.0.109",
 ]
 
+[[package]]
+name = "ark-ff-macros"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3"
+dependencies = [
+ "num-bigint",
+ "num-traits 0.2.19",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
+]
+
 [[package]]
 name = "ark-models-ext"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2"
 dependencies = [
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-serialize 0.4.2",
  "ark-std 0.4.0",
@@ -513,13 +567,28 @@ dependencies = [
  "hashbrown 0.13.2",
 ]
 
+[[package]]
+name = "ark-poly"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27"
+dependencies = [
+ "ahash",
+ "ark-ff 0.5.0",
+ "ark-serialize 0.5.0",
+ "ark-std 0.5.0",
+ "educe",
+ "fnv",
+ "hashbrown 0.15.2",
+]
+
 [[package]]
 name = "ark-scale"
 version = "0.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179"
 dependencies = [
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-serialize 0.4.2",
  "ark-std 0.4.0",
@@ -527,6 +596,21 @@ dependencies = [
  "scale-info",
 ]
 
+[[package]]
+name = "ark-secret-scalar"
+version = "0.0.2"
+source = "git+https://github.com/duniter/ring-vrf#93af77b15de3bb34f1c46913599f4f4c4faa3215"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "ark-transcript",
+ "digest 0.10.7",
+ "getrandom_or_panic",
+ "zeroize",
+]
+
 [[package]]
 name = "ark-serialize"
 version = "0.3.0"
@@ -543,12 +627,25 @@ version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5"
 dependencies = [
- "ark-serialize-derive",
+ "ark-serialize-derive 0.4.2",
  "ark-std 0.4.0",
  "digest 0.10.7",
  "num-bigint",
 ]
 
+[[package]]
+name = "ark-serialize"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7"
+dependencies = [
+ "ark-serialize-derive 0.5.0",
+ "ark-std 0.5.0",
+ "arrayvec 0.7.6",
+ "digest 0.10.7",
+ "num-bigint",
+]
+
 [[package]]
 name = "ark-serialize-derive"
 version = "0.4.2"
@@ -560,6 +657,17 @@ dependencies = [
  "syn 1.0.109",
 ]
 
+[[package]]
+name = "ark-serialize-derive"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
+]
+
 [[package]]
 name = "ark-std"
 version = "0.3.0"
@@ -581,6 +689,29 @@ dependencies = [
  "rayon",
 ]
 
+[[package]]
+name = "ark-std"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a"
+dependencies = [
+ "num-traits 0.2.19",
+ "rand",
+]
+
+[[package]]
+name = "ark-transcript"
+version = "0.0.2"
+source = "git+https://github.com/duniter/ring-vrf#93af77b15de3bb34f1c46913599f4f4c4faa3215"
+dependencies = [
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "digest 0.10.7",
+ "rand_core",
+ "sha3",
+]
+
 [[package]]
 name = "array-bytes"
 version = "6.2.3"
@@ -608,12 +739,6 @@ version = "0.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
 
-[[package]]
-name = "ascii"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e"
-
 [[package]]
 name = "asn1-rs"
 version = "0.5.2"
@@ -666,7 +791,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
  "synstructure 0.13.1",
 ]
 
@@ -689,7 +814,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -700,8 +825,8 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
 
 [[package]]
 name = "asset-test-utils"
-version = "18.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-pallet-parachain-system",
  "cumulus-pallet-xcmp-queue",
@@ -729,8 +854,8 @@ dependencies = [
 
 [[package]]
 name = "assets-common"
-version = "0.18.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -810,7 +935,7 @@ dependencies = [
  "futures-lite",
  "parking",
  "polling",
- "rustix 0.38.40",
+ "rustix 0.38.43",
  "slab",
  "tracing",
  "windows-sys 0.59.0",
@@ -822,7 +947,7 @@ version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
 dependencies = [
- "event-listener 5.3.1",
+ "event-listener 5.4.0",
  "event-listener-strategy",
  "pin-project-lite",
 ]
@@ -851,9 +976,9 @@ dependencies = [
  "async-task",
  "blocking",
  "cfg-if",
- "event-listener 5.3.1",
+ "event-listener 5.4.0",
  "futures-lite",
- "rustix 0.38.40",
+ "rustix 0.38.43",
  "tracing",
 ]
 
@@ -869,7 +994,7 @@ dependencies = [
  "cfg-if",
  "futures-core",
  "futures-io",
- "rustix 0.38.40",
+ "rustix 0.38.43",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.59.0",
@@ -883,13 +1008,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
 
 [[package]]
 name = "async-trait"
-version = "0.1.83"
+version = "0.1.85"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd"
+checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -930,13 +1055,13 @@ dependencies = [
 
 [[package]]
 name = "auto_impl"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42"
+checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -955,11 +1080,32 @@ dependencies = [
  "cfg-if",
  "libc",
  "miniz_oxide",
- "object 0.36.5",
+ "object 0.36.7",
  "rustc-demangle",
  "windows-targets 0.52.6",
 ]
 
+[[package]]
+name = "bandersnatch_vrfs"
+version = "0.0.4"
+source = "git+https://github.com/duniter/ring-vrf#93af77b15de3bb34f1c46913599f4f4c4faa3215"
+dependencies = [
+ "ark-bls12-381",
+ "ark-ec 0.4.2",
+ "ark-ed-on-bls12-381-bandersnatch",
+ "ark-ff 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "dleq_vrf",
+ "rand_chacha",
+ "rand_core",
+ "ring 0.1.0",
+ "sha2 0.10.8",
+ "sp-ark-bls12-381",
+ "sp-ark-ed-on-bls12-381-bandersnatch",
+ "zeroize",
+]
+
 [[package]]
 name = "base-x"
 version = "0.2.11"
@@ -1002,13 +1148,23 @@ version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 
+[[package]]
+name = "beef"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1"
+dependencies = [
+ "serde",
+]
+
 [[package]]
 name = "binary-merkle-tree"
-version = "15.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "13.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "hash-db",
  "log",
+ "parity-scale-codec",
 ]
 
 [[package]]
@@ -1020,6 +1176,22 @@ dependencies = [
  "serde",
 ]
 
+[[package]]
+name = "bip32"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa13fae8b6255872fd86f7faf4b41168661d7d78609f7bfe6771b85c6739a15b"
+dependencies = [
+ "bs58",
+ "hmac 0.12.1",
+ "k256",
+ "rand_core",
+ "ripemd",
+ "sha2 0.10.8",
+ "subtle 2.6.1",
+ "zeroize",
+]
+
 [[package]]
 name = "bip39"
 version = "2.1.0"
@@ -1027,6 +1199,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "33415e24172c1b7d6066f6d999545375ab8e1d95421d6784bdfff9496f292387"
 dependencies = [
  "bitcoin_hashes",
+ "serde",
+ "unicode-normalization",
 ]
 
 [[package]]
@@ -1068,9 +1242,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.6.0"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
 
 [[package]]
 name = "bitvec"
@@ -1140,9 +1314,9 @@ dependencies = [
 
 [[package]]
 name = "blake3"
-version = "1.5.4"
+version = "1.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7"
+checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e"
 dependencies = [
  "arrayref",
  "arrayvec 0.7.6",
@@ -1194,10 +1368,19 @@ dependencies = [
  "serde",
 ]
 
+[[package]]
+name = "bounded-vec"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68534a48cbf63a4b1323c433cf21238c9ec23711e0df13b08c33e5c2082663ce"
+dependencies = [
+ "thiserror 1.0.69",
+]
+
 [[package]]
 name = "bp-header-chain"
-version = "0.18.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-runtime",
  "finality-grandpa",
@@ -1208,13 +1391,13 @@ dependencies = [
  "sp-consensus-grandpa",
  "sp-core",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "bp-messages"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-runtime",
@@ -1224,13 +1407,13 @@ dependencies = [
  "serde",
  "sp-core",
  "sp-io",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "bp-parachains"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-polkadot-core",
@@ -1241,44 +1424,43 @@ dependencies = [
  "scale-info",
  "sp-core",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "bp-polkadot"
-version = "0.16.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.5.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-polkadot-core",
  "bp-runtime",
  "frame-support",
  "sp-api",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "bp-polkadot-core"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-messages",
  "bp-runtime",
  "frame-support",
  "frame-system",
  "parity-scale-codec",
- "parity-util-mem",
  "scale-info",
  "serde",
  "sp-core",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "bp-relayers"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-messages",
@@ -1290,13 +1472,13 @@ dependencies = [
  "parity-scale-codec",
  "scale-info",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "bp-runtime"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1311,15 +1493,15 @@ dependencies = [
  "sp-io",
  "sp-runtime",
  "sp-state-machine",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-trie",
  "trie-db",
 ]
 
 [[package]]
 name = "bp-test-utils"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-parachains",
@@ -1332,14 +1514,14 @@ dependencies = [
  "sp-consensus-grandpa",
  "sp-core",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-trie",
 ]
 
 [[package]]
 name = "bp-xcm-bridge-hub"
-version = "0.4.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-messages",
  "bp-runtime",
@@ -1349,14 +1531,14 @@ dependencies = [
  "serde",
  "sp-core",
  "sp-io",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
 ]
 
 [[package]]
 name = "bp-xcm-bridge-hub-router"
-version = "0.14.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.6.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -1367,8 +1549,8 @@ dependencies = [
 
 [[package]]
 name = "bridge-hub-common"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -1378,14 +1560,14 @@ dependencies = [
  "snowbridge-core",
  "sp-core",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
 ]
 
 [[package]]
 name = "bridge-hub-test-utils"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "asset-test-utils",
  "bp-header-chain",
@@ -1419,7 +1601,7 @@ dependencies = [
  "sp-io",
  "sp-keyring",
  "sp-runtime",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-builder",
  "staging-xcm-executor",
@@ -1427,8 +1609,8 @@ dependencies = [
 
 [[package]]
 name = "bridge-runtime-common"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-messages",
@@ -1450,32 +1632,28 @@ dependencies = [
  "scale-info",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-trie",
+ "sp-weights",
  "staging-xcm",
  "tuplex",
 ]
 
-[[package]]
-name = "bs58"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
-
 [[package]]
 name = "bs58"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4"
 dependencies = [
+ "sha2 0.10.8",
  "tinyvec",
 ]
 
 [[package]]
 name = "bstr"
-version = "1.11.0"
+version = "1.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22"
+checksum = "531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0"
 dependencies = [
  "memchr",
  "serde",
@@ -1516,9 +1694,9 @@ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce"
 
 [[package]]
 name = "bytemuck"
-version = "1.19.0"
+version = "1.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d"
+checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3"
 
 [[package]]
 name = "byteorder"
@@ -1528,9 +1706,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.8.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da"
+checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b"
 
 [[package]]
 name = "c2-chacha"
@@ -1553,9 +1731,9 @@ dependencies = [
 
 [[package]]
 name = "cargo-platform"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
+checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea"
 dependencies = [
  "serde",
 ]
@@ -1568,7 +1746,7 @@ checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
 dependencies = [
  "camino",
  "cargo-platform",
- "semver 1.0.23",
+ "semver 1.0.25",
  "serde",
  "serde_json",
  "thiserror 1.0.69",
@@ -1576,9 +1754,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.2.1"
+version = "1.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47"
+checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229"
 dependencies = [
  "jobserver",
  "libc",
@@ -1654,9 +1832,9 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.38"
+version = "0.4.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
+checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
@@ -1714,9 +1892,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.5.21"
+version = "4.5.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f"
+checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -1724,53 +1902,64 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.5.21"
+version = "4.5.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec"
+checksum = "1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7"
 dependencies = [
  "anstream",
  "anstyle",
  "clap_lex",
- "strsim",
+ "strsim 0.11.1",
  "terminal_size",
 ]
 
 [[package]]
 name = "clap_complete"
-version = "4.5.38"
+version = "4.5.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01"
+checksum = "33a7e468e750fa4b6be660e8b5651ad47372e8fb114030b594c2d75d48c5ffd0"
 dependencies = [
  "clap",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.5.18"
+version = "4.5.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
+checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c"
 dependencies = [
  "heck 0.5.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7"
+checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
 
 [[package]]
 name = "cmake"
-version = "0.1.51"
+version = "0.1.52"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a"
+checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e"
 dependencies = [
  "cc",
 ]
 
+[[package]]
+name = "coarsetime"
+version = "0.1.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4252bf230cb600c19826a575b31c8c9c84c6f11acfab6dfcad2e941b10b6f8e2"
+dependencies = [
+ "libc",
+ "wasix",
+ "wasm-bindgen",
+]
+
 [[package]]
 name = "codespan-reporting"
 version = "0.11.1"
@@ -1787,19 +1976,6 @@ version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
 
-[[package]]
-name = "combine"
-version = "3.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680"
-dependencies = [
- "ascii",
- "byteorder",
- "either",
- "memchr",
- "unreachable",
-]
-
 [[package]]
 name = "combine"
 version = "4.6.7"
@@ -1812,15 +1988,31 @@ dependencies = [
 
 [[package]]
 name = "comfy-table"
-version = "7.1.2"
+version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0d05af1e006a2407bedef5af410552494ce5be9090444dbbcb57258c1af3d56"
+checksum = "24f165e7b643266ea80cb858aed492ad9280e3e05ce24d4a99d7d7b889b6a4d9"
 dependencies = [
  "strum 0.26.3",
  "strum_macros 0.26.4",
  "unicode-width 0.2.0",
 ]
 
+[[package]]
+name = "common"
+version = "0.1.0"
+source = "git+https://github.com/w3f/ring-proof?rev=665f5f5#665f5f51af5734c7b6d90b985dd6861d4c5b4752"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-poly 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "fflonk",
+ "getrandom_or_panic",
+ "merlin",
+ "rand_chacha",
+]
+
 [[package]]
 name = "common-path"
 version = "1.0.0"
@@ -1877,22 +2069,22 @@ dependencies = [
 
 [[package]]
 name = "console"
-version = "0.15.8"
+version = "0.15.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
+checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b"
 dependencies = [
  "encode_unicode",
- "lazy_static",
  "libc",
- "unicode-width 0.1.14",
- "windows-sys 0.52.0",
+ "once_cell",
+ "unicode-width 0.2.0",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
 name = "const-hex"
-version = "1.13.1"
+version = "1.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586"
+checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -1970,6 +2162,16 @@ dependencies = [
  "libc",
 ]
 
+[[package]]
+name = "core-foundation"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
 [[package]]
 name = "core-foundation-sys"
 version = "0.8.7"
@@ -2005,9 +2207,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6"
+checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3"
 dependencies = [
  "libc",
 ]
@@ -2110,21 +2312,6 @@ dependencies = [
  "wasmtime-types",
 ]
 
-[[package]]
-name = "crc"
-version = "3.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"
-dependencies = [
- "crc-catalog",
-]
-
-[[package]]
-name = "crc-catalog"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
-
 [[package]]
 name = "crc32fast"
 version = "1.4.2"
@@ -2136,18 +2323,18 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.13"
+version = "0.5.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
+checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471"
 dependencies = [
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.5"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
 dependencies = [
  "crossbeam-epoch",
  "crossbeam-utils",
@@ -2164,18 +2351,18 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.11"
+version = "0.3.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115"
 dependencies = [
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.20"
+version = "0.8.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
 
 [[package]]
 name = "crunchy"
@@ -2287,7 +2474,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.87",
+ "syn 2.0.96",
  "synthez",
 ]
 
@@ -2305,10 +2492,32 @@ dependencies = [
  "regex-syntax 0.7.5",
 ]
 
+[[package]]
+name = "cumulus-client-parachain-inherent"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "async-trait",
+ "cumulus-primitives-core",
+ "cumulus-primitives-parachain-inherent",
+ "cumulus-relay-chain-interface",
+ "cumulus-test-relay-sproof-builder",
+ "parity-scale-codec",
+ "sc-client-api",
+ "sp-api",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-inherents",
+ "sp-runtime",
+ "sp-state-machine",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-trie",
+ "tracing",
+]
+
 [[package]]
 name = "cumulus-pallet-aura-ext"
-version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-pallet-parachain-system",
  "frame-support",
@@ -2324,8 +2533,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-pallet-dmp-queue"
-version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "frame-benchmarking",
@@ -2341,8 +2550,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-pallet-parachain-system"
-version = "0.17.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bytes",
  "cumulus-pallet-parachain-system-proc-macro",
@@ -2362,12 +2571,12 @@ dependencies = [
  "polkadot-runtime-parachains",
  "scale-info",
  "sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-inherents",
  "sp-io",
  "sp-runtime",
  "sp-state-machine",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-trie",
  "sp-version",
  "staging-xcm",
@@ -2378,18 +2587,18 @@ dependencies = [
 [[package]]
 name = "cumulus-pallet-parachain-system-proc-macro"
 version = "0.6.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "cumulus-pallet-session-benchmarking"
-version = "19.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "9.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -2401,8 +2610,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-pallet-solo-to-para"
-version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-pallet-parachain-system",
  "frame-support",
@@ -2416,8 +2625,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-pallet-xcm"
-version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -2431,8 +2640,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-pallet-xcmp-queue"
-version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bounded-collections",
  "bp-xcm-bridge-hub-router",
@@ -2456,8 +2665,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-ping"
-version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-pallet-xcm",
  "cumulus-primitives-core",
@@ -2471,8 +2680,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-primitives-aura"
-version = "0.15.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "sp-api",
  "sp-consensus-aura",
@@ -2480,8 +2689,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-primitives-core"
-version = "0.16.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "polkadot-core-primitives",
@@ -2496,8 +2705,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-primitives-parachain-inherent"
-version = "0.16.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "cumulus-primitives-core",
@@ -2510,22 +2719,23 @@ dependencies = [
 
 [[package]]
 name = "cumulus-primitives-proof-size-hostfunction"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "sp-externalities",
- "sp-runtime-interface",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-trie",
 ]
 
 [[package]]
 name = "cumulus-primitives-storage-weight-reclaim"
-version = "8.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "1.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "cumulus-primitives-proof-size-hostfunction",
  "docify",
+ "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
@@ -2536,8 +2746,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-primitives-timestamp"
-version = "0.16.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "sp-inherents",
@@ -2546,8 +2756,8 @@ dependencies = [
 
 [[package]]
 name = "cumulus-primitives-utility"
-version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -2561,10 +2771,29 @@ dependencies = [
  "staging-xcm-executor",
 ]
 
+[[package]]
+name = "cumulus-relay-chain-interface"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "async-trait",
+ "cumulus-primitives-core",
+ "futures 0.3.31",
+ "jsonrpsee-core 0.24.7",
+ "parity-scale-codec",
+ "polkadot-overseer",
+ "sc-client-api",
+ "sp-api",
+ "sp-blockchain",
+ "sp-state-machine",
+ "sp-version",
+ "thiserror 1.0.69",
+]
+
 [[package]]
 name = "cumulus-test-relay-sproof-builder"
-version = "0.16.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "parity-scale-codec",
@@ -2598,51 +2827,76 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "cxx"
-version = "1.0.130"
+version = "1.0.137"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23c042a0ba58aaff55299632834d1ea53ceff73d62373f62c9ae60890ad1b942"
+checksum = "0fc894913dccfed0f84106062c284fa021c3ba70cb1d78797d6f5165d4492e45"
 dependencies = [
  "cc",
+ "cxxbridge-cmd",
  "cxxbridge-flags",
  "cxxbridge-macro",
+ "foldhash",
  "link-cplusplus",
 ]
 
 [[package]]
 name = "cxx-build"
-version = "1.0.130"
+version = "1.0.137"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45dc1c88d0fdac57518a9b1f6c4f4fb2aca8f3c30c0d03d7d8518b47ca0bcea6"
+checksum = "503b2bfb6b3e8ce7f95d865a67419451832083d3186958290cee6c53e39dfcfe"
 dependencies = [
  "cc",
  "codespan-reporting",
  "proc-macro2",
  "quote",
  "scratch",
- "syn 2.0.87",
+ "syn 2.0.96",
+]
+
+[[package]]
+name = "cxxbridge-cmd"
+version = "1.0.137"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0d2cb64a95b4b5a381971482235c4db2e0208302a962acdbe314db03cbbe2fb"
+dependencies = [
+ "clap",
+ "codespan-reporting",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "cxxbridge-flags"
-version = "1.0.130"
+version = "1.0.137"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa7ed7d30b289e2592cc55bc2ccd89803a63c913e008e6eb59f06cddf45bb52f"
+checksum = "5f797b0206463c9c2a68ed605ab28892cca784f1ef066050f4942e3de26ad885"
 
 [[package]]
 name = "cxxbridge-macro"
-version = "1.0.130"
+version = "1.0.137"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8c465d22de46b851c04630a5fc749a26005b263632ed2e0d9cc81518ead78d"
+checksum = "e79010a2093848e65a3e0f7062d3f02fb2ef27f866416dfe436fccfa73d3bb59"
 dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.87",
+ "syn 2.0.96",
+]
+
+[[package]]
+name = "darling"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
+dependencies = [
+ "darling_core 0.14.4",
+ "darling_macro 0.14.4",
 ]
 
 [[package]]
@@ -2651,8 +2905,22 @@ version = "0.20.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989"
 dependencies = [
- "darling_core",
- "darling_macro",
+ "darling_core 0.20.10",
+ "darling_macro 0.20.10",
+]
+
+[[package]]
+name = "darling_core"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
+dependencies = [
+ "fnv",
+ "ident_case",
+ "proc-macro2",
+ "quote",
+ "strsim 0.10.0",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -2665,8 +2933,19 @@ dependencies = [
  "ident_case",
  "proc-macro2",
  "quote",
- "strsim",
- "syn 2.0.87",
+ "strsim 0.11.1",
+ "syn 2.0.96",
+]
+
+[[package]]
+name = "darling_macro"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
+dependencies = [
+ "darling_core 0.14.4",
+ "quote",
+ "syn 1.0.109",
 ]
 
 [[package]]
@@ -2675,9 +2954,9 @@ version = "0.20.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
 dependencies = [
- "darling_core",
+ "darling_core 0.20.10",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -2695,15 +2974,15 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.6.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
+checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f"
 
 [[package]]
 name = "data-encoding-macro"
-version = "0.1.15"
+version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639"
+checksum = "5b16d9d0d88a5273d830dac8b78ceb217ffc9b1d5404e5597a3542515329405b"
 dependencies = [
  "data-encoding",
  "data-encoding-macro-internal",
@@ -2711,12 +2990,12 @@ dependencies = [
 
 [[package]]
 name = "data-encoding-macro-internal"
-version = "0.1.13"
+version = "0.1.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f"
+checksum = "1145d32e826a7748b69ee8fc62d3e6355ff7f1051df53141e7048162fc90481b"
 dependencies = [
  "data-encoding",
- "syn 1.0.109",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -2799,7 +3078,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -2810,7 +3089,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -2823,7 +3102,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustc_version 0.4.1",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -2843,7 +3122,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
  "unicode-xid",
 ]
 
@@ -2933,7 +3212,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -2952,10 +3231,26 @@ dependencies = [
  "sp-core",
  "sp-distance",
  "sp-runtime",
- "subxt",
+ "subxt 0.38.0",
  "tokio",
 ]
 
+[[package]]
+name = "dleq_vrf"
+version = "0.0.2"
+source = "git+https://github.com/duniter/ring-vrf#93af77b15de3bb34f1c46913599f4f4c4faa3215"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-scale",
+ "ark-secret-scalar",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "ark-transcript",
+ "arrayvec 0.7.6",
+ "zeroize",
+]
+
 [[package]]
 name = "docify"
 version = "0.2.9"
@@ -2977,7 +3272,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.87",
+ "syn 2.0.96",
  "termcolor",
  "toml 0.8.19",
  "walkdir",
@@ -3031,7 +3326,7 @@ name = "duniter"
 version = "0.8.0"
 dependencies = [
  "async-io",
- "bs58 0.5.1",
+ "bs58",
  "clap",
  "clap_complete",
  "common-runtime",
@@ -3039,18 +3334,20 @@ dependencies = [
  "distance-oracle",
  "frame-benchmarking",
  "frame-benchmarking-cli",
+ "frame-metadata-hash-extension",
  "frame-system",
  "futures 0.3.31",
  "g1-runtime",
  "gdev-runtime",
  "gtest-runtime",
  "hex",
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "log",
  "memmap2 0.9.5",
  "num-format",
  "pallet-grandpa",
  "pallet-im-online",
+ "pallet-oneshot-account",
  "pallet-transaction-payment",
  "pallet-transaction-payment-rpc",
  "pallet-transaction-payment-rpc-runtime-api",
@@ -3096,7 +3393,7 @@ dependencies = [
  "sp-offchain",
  "sp-runtime",
  "sp-session",
- "sp-storage",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-timestamp",
  "sp-transaction-pool",
  "sp-transaction-storage-proof",
@@ -3115,7 +3412,7 @@ dependencies = [
  "ctrlc",
  "cucumber",
  "distance-oracle",
- "env_logger 0.11.5",
+ "env_logger 0.11.6",
  "hex",
  "notify",
  "notify-debouncer-mini",
@@ -3125,7 +3422,7 @@ dependencies = [
  "sp-core",
  "sp-keyring",
  "sp-runtime",
- "subxt",
+ "subxt 0.38.0",
  "tokio",
 ]
 
@@ -3138,7 +3435,7 @@ dependencies = [
  "parity-scale-codec",
  "sp-core",
  "sp-runtime",
- "subxt",
+ "subxt 0.38.0",
  "tokio",
 ]
 
@@ -3228,6 +3525,18 @@ dependencies = [
  "zeroize",
 ]
 
+[[package]]
+name = "educe"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417"
+dependencies = [
+ "enum-ordinalize",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
+]
+
 [[package]]
 name = "either"
 version = "1.13.0"
@@ -3256,9 +3565,9 @@ dependencies = [
 
 [[package]]
 name = "encode_unicode"
-version = "0.3.6"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
 
 [[package]]
 name = "enum-as-inner"
@@ -3281,27 +3590,47 @@ dependencies = [
  "heck 0.5.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
+]
+
+[[package]]
+name = "enum-ordinalize"
+version = "4.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5"
+dependencies = [
+ "enum-ordinalize-derive",
+]
+
+[[package]]
+name = "enum-ordinalize-derive"
+version = "4.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "enumflags2"
-version = "0.7.10"
+version = "0.7.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d"
+checksum = "ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147"
 dependencies = [
  "enumflags2_derive",
 ]
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.10"
+version = "0.7.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8"
+checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -3312,14 +3641,14 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "env_filter"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab"
+checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0"
 dependencies = [
  "log",
 ]
@@ -3339,9 +3668,9 @@ dependencies = [
 
 [[package]]
 name = "env_logger"
-version = "0.11.5"
+version = "0.11.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d"
+checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0"
 dependencies = [
  "env_filter",
  "log",
@@ -3361,12 +3690,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.9"
+version = "0.3.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
 dependencies = [
  "libc",
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
@@ -3375,7 +3704,7 @@ version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "09d398648d65820a727d6a81e58b962f874473396a047e4c30bafe3240953417"
 dependencies = [
- "ethereum-types",
+ "ethereum-types 0.14.1",
  "tiny-keccak",
 ]
 
@@ -3387,9 +3716,20 @@ checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60"
 dependencies = [
  "crunchy",
  "fixed-hash",
- "impl-codec 0.6.0",
+ "tiny-keccak",
+]
+
+[[package]]
+name = "ethbloom"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c321610643004cf908ec0f5f2aa0d8f1f8e14b540562a2887a1111ff1ecbf7b"
+dependencies = [
+ "crunchy",
+ "fixed-hash",
+ "impl-codec 0.7.0",
  "impl-rlp",
- "impl-serde 0.4.0",
+ "impl-serde 0.5.0",
  "scale-info",
  "tiny-keccak",
 ]
@@ -3400,16 +3740,28 @@ version = "0.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee"
 dependencies = [
- "ethbloom",
+ "ethbloom 0.13.0",
  "fixed-hash",
- "impl-codec 0.6.0",
- "impl-rlp",
- "impl-serde 0.4.0",
  "primitive-types 0.12.2",
- "scale-info",
  "uint 0.9.5",
 ]
 
+[[package]]
+name = "ethereum-types"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ab15ed80916029f878e0267c3a9f92b67df55e79af370bf66199059ae2b4ee3"
+dependencies = [
+ "ethbloom 0.14.1",
+ "fixed-hash",
+ "impl-codec 0.7.0",
+ "impl-rlp",
+ "impl-serde 0.5.0",
+ "primitive-types 0.13.1",
+ "scale-info",
+ "uint 0.10.0",
+]
+
 [[package]]
 name = "event-listener"
 version = "2.5.3"
@@ -3418,9 +3770,19 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
 name = "event-listener"
-version = "5.3.1"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
+dependencies = [
+ "concurrent-queue",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "5.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"
+checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae"
 dependencies = [
  "concurrent-queue",
  "parking",
@@ -3429,11 +3791,11 @@ dependencies = [
 
 [[package]]
 name = "event-listener-strategy"
-version = "0.5.2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
+checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2"
 dependencies = [
- "event-listener 5.3.1",
+ "event-listener 5.4.0",
  "pin-project-lite",
 ]
 
@@ -3455,10 +3817,10 @@ dependencies = [
  "blake2 0.10.6",
  "file-guard",
  "fs-err",
- "prettyplease 0.2.25",
+ "prettyplease",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -3486,9 +3848,9 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.2.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4"
+checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
 
 [[package]]
 name = "fastrlp"
@@ -3501,6 +3863,41 @@ dependencies = [
  "bytes",
 ]
 
+[[package]]
+name = "fastrlp"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4"
+dependencies = [
+ "arrayvec 0.7.6",
+ "auto_impl",
+ "bytes",
+]
+
+[[package]]
+name = "fatality"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec6f82451ff7f0568c6181287189126d492b5654e30a788add08027b6363d019"
+dependencies = [
+ "fatality-proc-macro",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "fatality-proc-macro"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb42427514b063d97ce21d5199f36c0c307d981434a6be32582bc79fe5bd2303"
+dependencies = [
+ "expander",
+ "indexmap 2.7.1",
+ "proc-macro-crate 3.2.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
+]
+
 [[package]]
 name = "fdlimit"
 version = "0.3.0"
@@ -3521,6 +3918,19 @@ dependencies = [
  "subtle 2.6.1",
 ]
 
+[[package]]
+name = "fflonk"
+version = "0.1.1"
+source = "git+https://github.com/w3f/fflonk#eda051ea3b80042e844a3ebd17c2f60536e6ee3f"
+dependencies = [
+ "ark-ec 0.5.0",
+ "ark-ff 0.5.0",
+ "ark-poly 0.5.0",
+ "ark-serialize 0.5.0",
+ "ark-std 0.5.0",
+ "merlin",
+]
+
 [[package]]
 name = "fiat-crypto"
 version = "0.2.9"
@@ -3575,6 +3985,16 @@ dependencies = [
  "scale-info",
 ]
 
+[[package]]
+name = "finito"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2384245d85162258a14b43567a9ee3598f5ae746a1581fb5d3d2cb780f0dbf95"
+dependencies = [
+ "futures-timer",
+ "pin-project",
+]
+
 [[package]]
 name = "fixed-hash"
 version = "0.8.0"
@@ -3621,36 +4041,21 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
 name = "foldhash"
-version = "0.1.3"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2"
+checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f"
 
 [[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+name = "fork-tree"
+version = "12.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "foreign-types-shared",
+ "parity-scale-codec",
 ]
 
 [[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
-name = "fork-tree"
-version = "13.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
-dependencies = [
- "parity-scale-codec",
-]
-
-[[package]]
-name = "form_urlencoded"
-version = "1.2.1"
+name = "form_urlencoded"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
@@ -3675,8 +4080,8 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa"
 
 [[package]]
 name = "frame-benchmarking"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-support-procedural",
@@ -3692,31 +4097,35 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-runtime-interface",
- "sp-storage",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "static_assertions",
 ]
 
 [[package]]
 name = "frame-benchmarking-cli"
-version = "43.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "32.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "Inflector",
  "array-bytes",
  "chrono",
  "clap",
  "comfy-table",
+ "cumulus-client-parachain-inherent",
+ "cumulus-primitives-proof-size-hostfunction",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "gethostname",
  "handlebars",
+ "hex",
  "itertools 0.11.0",
- "lazy_static",
  "linked-hash-map",
  "log",
  "parity-scale-codec",
+ "polkadot-parachain-primitives",
+ "polkadot-primitives",
  "rand",
  "rand_pcg",
  "sc-block-builder",
@@ -3725,32 +4134,40 @@ dependencies = [
  "sc-client-api",
  "sc-client-db",
  "sc-executor",
+ "sc-executor-common",
  "sc-service",
  "sc-sysinfo",
  "serde",
  "serde_json",
  "sp-api",
+ "sp-block-builder",
  "sp-blockchain",
  "sp-core",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-database",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-genesis-builder",
  "sp-inherents",
  "sp-io",
  "sp-keystore",
  "sp-runtime",
  "sp-state-machine",
- "sp-storage",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-timestamp",
+ "sp-transaction-pool",
  "sp-trie",
- "sp-wasm-interface",
+ "sp-version",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "subxt 0.37.0",
+ "subxt-signer",
  "thiserror 1.0.69",
  "thousands",
 ]
 
 [[package]]
 name = "frame-benchmarking-pallet-pov"
-version = "28.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "18.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3777,19 +4194,19 @@ dependencies = [
 
 [[package]]
 name = "frame-election-provider-solution-type"
-version = "14.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "13.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "frame-election-provider-support"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-election-provider-solution-type",
  "frame-support",
@@ -3804,8 +4221,8 @@ dependencies = [
 
 [[package]]
 name = "frame-executive"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "aquamarine",
  "frame-support",
@@ -3817,7 +4234,7 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
@@ -3855,12 +4272,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",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+]
+
 [[package]]
 name = "frame-metadata-hash-extension"
-version = "0.6.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
+ "const-hex",
  "docify",
  "frame-support",
  "frame-system",
@@ -3872,15 +4302,16 @@ dependencies = [
 
 [[package]]
 name = "frame-support"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "aquamarine",
  "array-bytes",
+ "binary-merkle-tree",
  "bitflags 1.3.2",
  "docify",
  "environmental",
- "frame-metadata 16.0.0",
+ "frame-metadata 18.0.0",
  "frame-support-procedural",
  "impl-trait-for-tuples",
  "k256",
@@ -3896,7 +4327,7 @@ dependencies = [
  "sp-arithmetic",
  "sp-core",
  "sp-crypto-hashing-proc-macro",
- "sp-debug-derive",
+ "sp-debug-derive 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-genesis-builder",
  "sp-inherents",
  "sp-io",
@@ -3904,8 +4335,9 @@ dependencies = [
  "sp-runtime",
  "sp-staking",
  "sp-state-machine",
- "sp-std",
- "sp-tracing",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-trie",
  "sp-weights",
  "static_assertions",
  "tt-call",
@@ -3913,8 +4345,8 @@ dependencies = [
 
 [[package]]
 name = "frame-support-procedural"
-version = "30.0.3"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "23.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "Inflector",
  "cfg-expr",
@@ -3927,36 +4359,36 @@ dependencies = [
  "proc-macro-warning 1.0.2",
  "proc-macro2",
  "quote",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
- "syn 2.0.87",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "frame-support-procedural-tools"
-version = "13.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "10.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "frame-support-procedural-tools-derive"
-version = "12.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "11.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "frame-system"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cfg-if",
  "docify",
@@ -3968,15 +4400,15 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-version",
  "sp-weights",
 ]
 
 [[package]]
 name = "frame-system-benchmarking"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -3989,8 +4421,8 @@ dependencies = [
 
 [[package]]
 name = "frame-system-rpc-runtime-api"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "parity-scale-codec",
@@ -3999,8 +4431,8 @@ dependencies = [
 
 [[package]]
 name = "frame-try-runtime"
-version = "0.44.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -4109,9 +4541,9 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
 
 [[package]]
 name = "futures-lite"
-version = "2.5.0"
+version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1"
+checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532"
 dependencies = [
  "fastrand",
  "futures-core",
@@ -4128,7 +4560,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -4158,6 +4590,10 @@ name = "futures-timer"
 version = "3.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
+dependencies = [
+ "gloo-timers",
+ "send_wrapper 0.4.0",
+]
 
 [[package]]
 name = "futures-util"
@@ -4194,6 +4630,7 @@ dependencies = [
  "common-runtime",
  "frame-benchmarking",
  "frame-executive",
+ "frame-metadata-hash-extension",
  "frame-support",
  "frame-system",
  "frame-system-benchmarking",
@@ -4268,6 +4705,7 @@ dependencies = [
  "common-runtime",
  "frame-benchmarking",
  "frame-executive",
+ "frame-metadata-hash-extension",
  "frame-support",
  "frame-system",
  "frame-system-benchmarking",
@@ -4412,7 +4850,7 @@ dependencies = [
  "quote",
  "serde",
  "serde_json",
- "syn 2.0.87",
+ "syn 2.0.96",
  "textwrap",
  "thiserror 1.0.69",
  "typed-builder",
@@ -4444,6 +4882,10 @@ name = "gimli"
 version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
+dependencies = [
+ "fallible-iterator 0.3.0",
+ "stable_deref_trait",
+]
 
 [[package]]
 name = "git-version"
@@ -4462,14 +4904,14 @@ checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "glob"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
 
 [[package]]
 name = "globset"
@@ -4501,11 +4943,57 @@ version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757"
 dependencies = [
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
  "ignore",
  "walkdir",
 ]
 
+[[package]]
+name = "gloo-net"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-sink",
+ "gloo-utils",
+ "http 1.2.0",
+ "js-sys",
+ "pin-project",
+ "serde",
+ "serde_json",
+ "thiserror 1.0.69",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+]
+
+[[package]]
+name = "gloo-timers"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "gloo-utils"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa"
+dependencies = [
+ "js-sys",
+ "serde",
+ "serde_json",
+ "wasm-bindgen",
+ "web-sys",
+]
+
 [[package]]
 name = "governor"
 version = "0.6.3"
@@ -4537,11 +5025,11 @@ dependencies = [
 
 [[package]]
 name = "graphql-parser"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474"
+checksum = "7a818c0d883d7c0801df27be910917750932be279c7bc82dc541b8769425f409"
 dependencies = [
- "combine 3.8.1",
+ "combine",
  "thiserror 1.0.69",
 ]
 
@@ -4602,6 +5090,7 @@ dependencies = [
  "common-runtime",
  "frame-benchmarking",
  "frame-executive",
+ "frame-metadata-hash-extension",
  "frame-support",
  "frame-system",
  "frame-system-benchmarking",
@@ -4681,7 +5170,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http 0.2.12",
- "indexmap 2.6.0",
+ "indexmap 2.7.1",
  "slab",
  "tokio",
  "tokio-util",
@@ -4690,17 +5179,17 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205"
+checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e"
 dependencies = [
  "atomic-waker",
  "bytes",
  "fnv",
  "futures-core",
  "futures-sink",
- "http 1.1.0",
- "indexmap 2.6.0",
+ "http 1.2.0",
+ "indexmap 2.7.1",
  "slab",
  "tokio",
  "tokio-util",
@@ -4741,9 +5230,6 @@ name = "hashbrown"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.8",
-]
 
 [[package]]
 name = "hashbrown"
@@ -4751,7 +5237,7 @@ version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
 dependencies = [
- "ahash 0.8.11",
+ "ahash",
 ]
 
 [[package]]
@@ -4760,16 +5246,16 @@ version = "0.14.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
 dependencies = [
- "ahash 0.8.11",
+ "ahash",
  "allocator-api2",
  "serde",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.15.1"
+version = "0.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3"
+checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
 dependencies = [
  "allocator-api2",
  "equivalent",
@@ -4827,6 +5313,51 @@ version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
 
+[[package]]
+name = "hickory-proto"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "447afdcdb8afb9d0a852af6dc65d9b285ce720ed7a59e42a8bf2e931c67bc1b5"
+dependencies = [
+ "async-trait",
+ "cfg-if",
+ "data-encoding",
+ "enum-as-inner 0.6.1",
+ "futures-channel",
+ "futures-io",
+ "futures-util",
+ "idna 1.0.3",
+ "ipnet",
+ "once_cell",
+ "rand",
+ "thiserror 1.0.69",
+ "tinyvec",
+ "tokio",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "hickory-resolver"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a2e2aba9c389ce5267d31cf1e4dace82390ae276b0b364ea55630b1fa1b44b4"
+dependencies = [
+ "cfg-if",
+ "futures-util",
+ "hickory-proto",
+ "ipconfig",
+ "lru-cache",
+ "once_cell",
+ "parking_lot 0.12.3",
+ "rand",
+ "resolv-conf",
+ "smallvec",
+ "thiserror 1.0.69",
+ "tokio",
+ "tracing",
+]
+
 [[package]]
 name = "hkdf"
 version = "0.12.4"
@@ -4866,15 +5397,6 @@ dependencies = [
  "hmac 0.8.1",
 ]
 
-[[package]]
-name = "home"
-version = "0.5.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
-dependencies = [
- "windows-sys 0.52.0",
-]
-
 [[package]]
 name = "hostname"
 version = "0.3.1"
@@ -4899,9 +5421,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
+checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea"
 dependencies = [
  "bytes",
  "fnv",
@@ -4926,7 +5448,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
 dependencies = [
  "bytes",
- "http 1.1.0",
+ "http 1.2.0",
 ]
 
 [[package]]
@@ -4937,7 +5459,7 @@ checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
 dependencies = [
  "bytes",
  "futures-util",
- "http 1.1.0",
+ "http 1.2.0",
  "http-body 1.0.1",
  "pin-project-lite",
 ]
@@ -4962,9 +5484,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "0.14.31"
+version = "0.14.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85"
+checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -4977,7 +5499,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "tokio",
  "tower-service",
  "tracing",
@@ -4986,15 +5508,15 @@ dependencies = [
 
 [[package]]
 name = "hyper"
-version = "1.5.0"
+version = "1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a"
+checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0"
 dependencies = [
  "bytes",
  "futures-channel",
  "futures-util",
- "h2 0.4.6",
- "http 1.1.0",
+ "h2 0.4.7",
+ "http 1.2.0",
  "http-body 1.0.1",
  "httparse",
  "httpdate",
@@ -5013,7 +5535,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
 dependencies = [
  "futures-util",
  "http 0.2.12",
- "hyper 0.14.31",
+ "hyper 0.14.32",
  "log",
  "rustls 0.21.12",
  "rustls-native-certs 0.6.3",
@@ -5023,20 +5545,22 @@ dependencies = [
 
 [[package]]
 name = "hyper-rustls"
-version = "0.27.3"
+version = "0.27.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333"
+checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2"
 dependencies = [
  "futures-util",
- "http 1.1.0",
- "hyper 1.5.0",
+ "http 1.2.0",
+ "hyper 1.5.2",
  "hyper-util",
- "rustls 0.23.16",
+ "log",
+ "rustls 0.23.21",
+ "rustls-native-certs 0.8.1",
  "rustls-pki-types",
  "tokio",
- "tokio-rustls 0.26.0",
+ "tokio-rustls 0.26.1",
  "tower-service",
- "webpki-roots 0.26.6",
+ "webpki-roots 0.26.7",
 ]
 
 [[package]]
@@ -5048,11 +5572,11 @@ dependencies = [
  "bytes",
  "futures-channel",
  "futures-util",
- "http 1.1.0",
+ "http 1.2.0",
  "http-body 1.0.1",
- "hyper 1.5.0",
+ "hyper 1.5.2",
  "pin-project-lite",
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "tokio",
  "tower-service",
  "tracing",
@@ -5196,7 +5720,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -5259,17 +5783,21 @@ dependencies = [
 
 [[package]]
 name = "if-watch"
-version = "3.2.0"
+version = "3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e"
+checksum = "cdf9d64cfcf380606e64f9a0bcf493616b65331199f984151a6fa11a7b3cde38"
 dependencies = [
  "async-io",
- "core-foundation",
+ "core-foundation 0.9.4",
  "fnv",
  "futures 0.3.31",
  "if-addrs",
  "ipnet",
  "log",
+ "netlink-packet-core",
+ "netlink-packet-route",
+ "netlink-proto",
+ "netlink-sys",
  "rtnetlink",
  "system-configuration",
  "tokio",
@@ -5287,7 +5815,7 @@ dependencies = [
  "bytes",
  "futures 0.3.31",
  "http 0.2.12",
- "hyper 0.14.31",
+ "hyper 0.14.32",
  "log",
  "rand",
  "tokio",
@@ -5329,13 +5857,24 @@ dependencies = [
  "parity-scale-codec",
 ]
 
+[[package]]
+name = "impl-num-traits"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "803d15461ab0dcc56706adf266158acbc44ccf719bf7d0af30705f58b90a4b8c"
+dependencies = [
+ "integer-sqrt",
+ "num-traits 0.2.19",
+ "uint 0.10.0",
+]
+
 [[package]]
 name = "impl-rlp"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808"
+checksum = "54ed8ad1f3877f7e775b8cbf30ed1bd3209a95401817f19a0eb4402d13f8cf90"
 dependencies = [
- "rlp",
+ "rlp 0.6.1",
 ]
 
 [[package]]
@@ -5358,13 +5897,13 @@ dependencies = [
 
 [[package]]
 name = "impl-trait-for-tuples"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb"
+checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -5399,12 +5938,12 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.6.0"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
+checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652"
 dependencies = [
  "equivalent",
- "hashbrown 0.15.1",
+ "hashbrown 0.15.2",
 ]
 
 [[package]]
@@ -5468,9 +6007,12 @@ dependencies = [
 
 [[package]]
 name = "inventory"
-version = "0.3.15"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767"
+checksum = "3b31349d02fe60f80bbbab1a9402364cad7460626d6030494b08ac4a2075bf81"
+dependencies = [
+ "rustversion",
+]
 
 [[package]]
 name = "io-lifetimes"
@@ -5495,7 +6037,7 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
 dependencies = [
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "widestring",
  "windows-sys 0.48.0",
  "winreg",
@@ -5503,9 +6045,9 @@ dependencies = [
 
 [[package]]
 name = "ipnet"
-version = "2.10.1"
+version = "2.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708"
+checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
 
 [[package]]
 name = "is-terminal"
@@ -5562,9 +6104,9 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.11"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
 
 [[package]]
 name = "jni"
@@ -5573,7 +6115,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec"
 dependencies = [
  "cesu8",
- "combine 4.6.7",
+ "combine",
  "jni-sys",
  "log",
  "thiserror 1.0.69",
@@ -5597,27 +6139,97 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.72"
+version = "0.3.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9"
+checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
 dependencies = [
+ "once_cell",
  "wasm-bindgen",
 ]
 
+[[package]]
+name = "jsonrpsee"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfdb12a2381ea5b2e68c3469ec604a007b367778cdb14d09612c8069ebd616ad"
+dependencies = [
+ "jsonrpsee-client-transport 0.22.5",
+ "jsonrpsee-core 0.22.5",
+ "jsonrpsee-http-client 0.22.5",
+ "jsonrpsee-types 0.22.5",
+]
+
+[[package]]
+name = "jsonrpsee"
+version = "0.23.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47"
+dependencies = [
+ "jsonrpsee-core 0.23.2",
+ "jsonrpsee-types 0.23.2",
+ "jsonrpsee-ws-client 0.23.2",
+]
+
 [[package]]
 name = "jsonrpsee"
 version = "0.24.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c5c71d8c1a731cc4227c2f698d377e7848ca12c8a48866fc5e6951c43a4db843"
 dependencies = [
- "jsonrpsee-client-transport",
- "jsonrpsee-core",
+ "jsonrpsee-client-transport 0.24.7",
+ "jsonrpsee-core 0.24.7",
+ "jsonrpsee-http-client 0.24.7",
  "jsonrpsee-proc-macros",
  "jsonrpsee-server",
- "jsonrpsee-types",
- "jsonrpsee-ws-client",
+ "jsonrpsee-types 0.24.7",
+ "jsonrpsee-wasm-client",
+ "jsonrpsee-ws-client 0.24.7",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "jsonrpsee-client-transport"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa"
+dependencies = [
+ "futures-util",
+ "http 0.2.12",
+ "jsonrpsee-core 0.22.5",
+ "pin-project",
+ "rustls-native-certs 0.7.3",
+ "rustls-pki-types",
+ "soketto 0.7.1",
+ "thiserror 1.0.69",
+ "tokio",
+ "tokio-rustls 0.25.0",
+ "tokio-util",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "jsonrpsee-client-transport"
+version = "0.23.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08163edd8bcc466c33d79e10f695cdc98c00d1e6ddfb95cec41b6b0279dd5432"
+dependencies = [
+ "base64 0.22.1",
+ "futures-util",
+ "http 1.2.0",
+ "jsonrpsee-core 0.23.2",
+ "pin-project",
+ "rustls 0.23.21",
+ "rustls-pki-types",
+ "rustls-platform-verifier",
+ "soketto 0.8.1",
+ "thiserror 1.0.69",
  "tokio",
+ "tokio-rustls 0.26.1",
+ "tokio-util",
  "tracing",
+ "url",
 ]
 
 [[package]]
@@ -5627,17 +6239,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "548125b159ba1314104f5bb5f38519e03a41862786aa3925cf349aae9cdd546e"
 dependencies = [
  "base64 0.22.1",
+ "futures-channel",
  "futures-util",
- "http 1.1.0",
- "jsonrpsee-core",
+ "gloo-net",
+ "http 1.2.0",
+ "jsonrpsee-core 0.24.7",
  "pin-project",
- "rustls 0.23.16",
+ "rustls 0.23.21",
  "rustls-pki-types",
  "rustls-platform-verifier",
- "soketto",
+ "soketto 0.8.1",
  "thiserror 1.0.69",
  "tokio",
- "tokio-rustls 0.26.0",
+ "tokio-rustls 0.26.1",
  "tokio-util",
  "tracing",
  "url",
@@ -5645,22 +6259,19 @@ dependencies = [
 
 [[package]]
 name = "jsonrpsee-core"
-version = "0.24.7"
+version = "0.22.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2882f6f8acb9fdaec7cefc4fd607119a9bd709831df7d7672a1d3b644628280"
+checksum = "b4b257e1ec385e07b0255dde0b933f948b5c8b8c28d42afda9587c3a967b896d"
 dependencies = [
+ "anyhow",
  "async-trait",
- "bytes",
+ "beef",
  "futures-timer",
  "futures-util",
- "http 1.1.0",
- "http-body 1.0.1",
- "http-body-util",
- "jsonrpsee-types",
- "parking_lot 0.12.3",
+ "hyper 0.14.32",
+ "jsonrpsee-types 0.22.5",
  "pin-project",
- "rand",
- "rustc-hash 2.0.0",
+ "rustc-hash 1.1.0",
  "serde",
  "serde_json",
  "thiserror 1.0.69",
@@ -5670,16 +6281,110 @@ dependencies = [
 ]
 
 [[package]]
-name = "jsonrpsee-proc-macros"
-version = "0.24.7"
+name = "jsonrpsee-core"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06c01ae0007548e73412c08e2285ffe5d723195bf268bce67b1b77c3bb2a14d"
+checksum = "79712302e737d23ca0daa178e752c9334846b08321d439fd89af9a384f8c830b"
 dependencies = [
- "heck 0.5.0",
- "proc-macro-crate 3.2.0",
- "proc-macro2",
+ "anyhow",
+ "async-trait",
+ "beef",
+ "futures-timer",
+ "futures-util",
+ "jsonrpsee-types 0.23.2",
+ "pin-project",
+ "rustc-hash 1.1.0",
+ "serde",
+ "serde_json",
+ "thiserror 1.0.69",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+]
+
+[[package]]
+name = "jsonrpsee-core"
+version = "0.24.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2882f6f8acb9fdaec7cefc4fd607119a9bd709831df7d7672a1d3b644628280"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-timer",
+ "futures-util",
+ "http 1.2.0",
+ "http-body 1.0.1",
+ "http-body-util",
+ "jsonrpsee-types 0.24.7",
+ "parking_lot 0.12.3",
+ "pin-project",
+ "rand",
+ "rustc-hash 2.1.0",
+ "serde",
+ "serde_json",
+ "thiserror 1.0.69",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+ "wasm-bindgen-futures",
+]
+
+[[package]]
+name = "jsonrpsee-http-client"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ccf93fc4a0bfe05d851d37d7c32b7f370fe94336b52a2f0efc5f1981895c2e5"
+dependencies = [
+ "async-trait",
+ "hyper 0.14.32",
+ "hyper-rustls 0.24.2",
+ "jsonrpsee-core 0.22.5",
+ "jsonrpsee-types 0.22.5",
+ "serde",
+ "serde_json",
+ "thiserror 1.0.69",
+ "tokio",
+ "tower 0.4.13",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "jsonrpsee-http-client"
+version = "0.24.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3638bc4617f96675973253b3a45006933bde93c2fd8a6170b33c777cc389e5b"
+dependencies = [
+ "async-trait",
+ "base64 0.22.1",
+ "http-body 1.0.1",
+ "hyper 1.5.2",
+ "hyper-rustls 0.27.5",
+ "hyper-util",
+ "jsonrpsee-core 0.24.7",
+ "jsonrpsee-types 0.24.7",
+ "rustls 0.23.21",
+ "rustls-platform-verifier",
+ "serde",
+ "serde_json",
+ "thiserror 1.0.69",
+ "tokio",
+ "tower 0.4.13",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "jsonrpsee-proc-macros"
+version = "0.24.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c06c01ae0007548e73412c08e2285ffe5d723195bf268bce67b1b77c3bb2a14d"
+dependencies = [
+ "heck 0.5.0",
+ "proc-macro-crate 3.2.0",
+ "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -5689,48 +6394,98 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "82ad8ddc14be1d4290cd68046e7d1d37acd408efed6d3ca08aefcc3ad6da069c"
 dependencies = [
  "futures-util",
- "http 1.1.0",
+ "http 1.2.0",
  "http-body 1.0.1",
  "http-body-util",
- "hyper 1.5.0",
+ "hyper 1.5.2",
  "hyper-util",
- "jsonrpsee-core",
- "jsonrpsee-types",
+ "jsonrpsee-core 0.24.7",
+ "jsonrpsee-types 0.24.7",
  "pin-project",
  "route-recognizer",
  "serde",
  "serde_json",
- "soketto",
+ "soketto 0.8.1",
  "thiserror 1.0.69",
  "tokio",
  "tokio-stream",
  "tokio-util",
- "tower",
+ "tower 0.4.13",
  "tracing",
 ]
 
+[[package]]
+name = "jsonrpsee-types"
+version = "0.22.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "150d6168405890a7a3231a3c74843f58b8959471f6df76078db2619ddee1d07d"
+dependencies = [
+ "anyhow",
+ "beef",
+ "serde",
+ "serde_json",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "jsonrpsee-types"
+version = "0.23.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af"
+dependencies = [
+ "beef",
+ "http 1.2.0",
+ "serde",
+ "serde_json",
+ "thiserror 1.0.69",
+]
+
 [[package]]
 name = "jsonrpsee-types"
 version = "0.24.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a178c60086f24cc35bb82f57c651d0d25d99c4742b4d335de04e97fa1f08a8a1"
 dependencies = [
- "http 1.1.0",
+ "http 1.2.0",
  "serde",
  "serde_json",
  "thiserror 1.0.69",
 ]
 
+[[package]]
+name = "jsonrpsee-wasm-client"
+version = "0.24.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a01cd500915d24ab28ca17527e23901ef1be6d659a2322451e1045532516c25"
+dependencies = [
+ "jsonrpsee-client-transport 0.24.7",
+ "jsonrpsee-core 0.24.7",
+ "jsonrpsee-types 0.24.7",
+]
+
+[[package]]
+name = "jsonrpsee-ws-client"
+version = "0.23.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e"
+dependencies = [
+ "http 1.2.0",
+ "jsonrpsee-client-transport 0.23.2",
+ "jsonrpsee-core 0.23.2",
+ "jsonrpsee-types 0.23.2",
+ "url",
+]
+
 [[package]]
 name = "jsonrpsee-ws-client"
 version = "0.24.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fe322e0896d0955a3ebdd5bf813571c53fea29edd713bc315b76620b327e86d"
 dependencies = [
- "http 1.1.0",
- "jsonrpsee-client-transport",
- "jsonrpsee-core",
- "jsonrpsee-types",
+ "http 1.2.0",
+ "jsonrpsee-client-transport 0.24.7",
+ "jsonrpsee-core 0.24.7",
+ "jsonrpsee-types 0.24.7",
  "url",
 ]
 
@@ -5757,6 +6512,16 @@ dependencies = [
  "cpufeatures",
 ]
 
+[[package]]
+name = "keccak-hash"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b286e6b663fb926e1eeb68528e69cb70ed46c6d65871a21b2215ae8154c6d3c"
+dependencies = [
+ "primitive-types 0.12.2",
+ "tiny-keccak",
+]
+
 [[package]]
 name = "keccak-hash"
 version = "0.11.0"
@@ -5814,9 +6579,9 @@ dependencies = [
 
 [[package]]
 name = "lazy-regex"
-version = "3.3.0"
+version = "3.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d8e41c97e6bc7ecb552016274b99fbb5d035e8de288c582d9b933af6677bfda"
+checksum = "60c7310b93682b36b98fa7ea4de998d3463ccbebd94d935d6b48ba5b6ffa7126"
 dependencies = [
  "lazy-regex-proc_macros",
  "once_cell",
@@ -5825,14 +6590,14 @@ dependencies = [
 
 [[package]]
 name = "lazy-regex-proc_macros"
-version = "3.3.0"
+version = "3.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76e1d8b05d672c53cb9c7b920bbba8783845ae4f0b076e02a3db1d02c81b4163"
+checksum = "4ba01db5ef81e17eb10a5e0f2109d1b3a3e29bac3070fdbd7d156bf7dbd206a1"
 dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -5843,9 +6608,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
 
 [[package]]
 name = "libc"
-version = "0.2.162"
+version = "0.2.169"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398"
+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
 
 [[package]]
 name = "libm"
@@ -5928,7 +6693,7 @@ dependencies = [
  "libp2p-identity",
  "log",
  "multiaddr 0.18.2",
- "multihash 0.19.2",
+ "multihash 0.19.3",
  "multistream-select",
  "once_cell",
  "parking_lot 0.12.3",
@@ -5973,7 +6738,7 @@ dependencies = [
  "libp2p-identity",
  "libp2p-swarm",
  "log",
- "lru 0.12.5",
+ "lru",
  "quick-protobuf",
  "quick-protobuf-codec",
  "smallvec",
@@ -5983,14 +6748,14 @@ dependencies = [
 
 [[package]]
 name = "libp2p-identity"
-version = "0.2.9"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8"
+checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d"
 dependencies = [
- "bs58 0.5.1",
+ "bs58",
  "ed25519-dalek",
  "hkdf",
- "multihash 0.19.2",
+ "multihash 0.19.3",
  "quick-protobuf",
  "rand",
  "sha2 0.10.8",
@@ -6043,7 +6808,7 @@ dependencies = [
  "log",
  "rand",
  "smallvec",
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "tokio",
  "trust-dns-proto 0.22.0",
  "void",
@@ -6079,7 +6844,7 @@ dependencies = [
  "libp2p-identity",
  "log",
  "multiaddr 0.18.2",
- "multihash 0.19.2",
+ "multihash 0.19.3",
  "once_cell",
  "quick-protobuf",
  "rand",
@@ -6128,7 +6893,7 @@ dependencies = [
  "rand",
  "ring 0.16.20",
  "rustls 0.21.12",
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "thiserror 1.0.69",
  "tokio",
 ]
@@ -6184,7 +6949,7 @@ dependencies = [
  "proc-macro-warning 0.4.2",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -6200,7 +6965,7 @@ dependencies = [
  "libp2p-core",
  "libp2p-identity",
  "log",
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "tokio",
 ]
 
@@ -6248,7 +7013,7 @@ dependencies = [
  "futures 0.3.31",
  "js-sys",
  "libp2p-core",
- "send_wrapper",
+ "send_wrapper 0.6.0",
  "wasm-bindgen",
  "wasm-bindgen-futures",
 ]
@@ -6268,7 +7033,7 @@ dependencies = [
  "parking_lot 0.12.3",
  "pin-project-lite",
  "rw-stream-sink",
- "soketto",
+ "soketto 0.8.1",
  "thiserror 1.0.69",
  "url",
  "webpki-roots 0.25.4",
@@ -6293,9 +7058,9 @@ version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
 dependencies = [
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
  "libc",
- "redox_syscall 0.5.7",
+ "redox_syscall 0.5.8",
 ]
 
 [[package]]
@@ -6348,9 +7113,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.20"
+version = "1.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472"
+checksum = "df9b68e50e6e0b26f672573834882eb57759f6db9b3be2ea3c35c91188bb4eaa"
 dependencies = [
  "cc",
  "cmake",
@@ -6376,9 +7141,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linked_hash_set"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588"
+checksum = "bae85b5be22d9843c80e5fc80e9b64c8a3b1f98f867c709956eca3efff4e92e2"
 dependencies = [
  "linked-hash-map",
 ]
@@ -6400,9 +7165,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.14"
+version = "0.4.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
 
 [[package]]
 name = "lioness"
@@ -6418,27 +7183,28 @@ dependencies = [
 
 [[package]]
 name = "litemap"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
+checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104"
 
 [[package]]
 name = "litep2p"
-version = "0.6.2"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f46c51c205264b834ceed95c8b195026e700494bc3991aaba3b4ea9e20626d9"
+checksum = "2b0fef34af8847e816003bf7fdeac5ea50b9a7a88441ac927a6166b5e812ab79"
 dependencies = [
  "async-trait",
- "bs58 0.4.0",
+ "bs58",
  "bytes",
  "cid 0.10.1",
  "ed25519-dalek",
  "futures 0.3.31",
  "futures-timer",
  "hex-literal",
- "indexmap 2.6.0",
+ "hickory-resolver",
+ "indexmap 2.7.1",
  "libc",
- "mockall 0.12.1",
+ "mockall 0.13.1",
  "multiaddr 0.17.1",
  "multihash 0.17.0",
  "network-interface",
@@ -6446,8 +7212,7 @@ dependencies = [
  "parking_lot 0.12.3",
  "pin-project",
  "prost 0.12.6",
- "prost-build 0.11.9",
- "quinn 0.9.4",
+ "prost-build",
  "rand",
  "rcgen",
  "ring 0.16.20",
@@ -6457,20 +7222,17 @@ dependencies = [
  "simple-dns",
  "smallvec",
  "snow",
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "static_assertions",
- "str0m",
  "thiserror 1.0.69",
  "tokio",
  "tokio-stream",
  "tokio-tungstenite",
  "tokio-util",
  "tracing",
- "trust-dns-resolver",
  "uint 0.9.5",
  "unsigned-varint 0.8.0",
  "url",
- "webpki",
  "x25519-dalek",
  "x509-parser 0.16.0",
  "yasna",
@@ -6489,18 +7251,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
-
-[[package]]
-name = "lru"
-version = "0.8.1"
+version = "0.4.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909"
-dependencies = [
- "hashbrown 0.12.3",
-]
+checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
 
 [[package]]
 name = "lru"
@@ -6508,7 +7261,7 @@ version = "0.12.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
 dependencies = [
- "hashbrown 0.15.1",
+ "hashbrown 0.15.2",
 ]
 
 [[package]]
@@ -6522,9 +7275,9 @@ dependencies = [
 
 [[package]]
 name = "lz4"
-version = "1.28.0"
+version = "1.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d1febb2b4a79ddd1980eede06a8f7902197960aa0383ffcfdd62fe723036725"
+checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4"
 dependencies = [
  "lz4-sys",
 ]
@@ -6557,7 +7310,7 @@ dependencies = [
  "macro_magic_core",
  "macro_magic_macros",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -6571,7 +7324,7 @@ dependencies = [
  "macro_magic_core_macros",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -6582,7 +7335,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -6593,7 +7346,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869"
 dependencies = [
  "macro_magic_core",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -6645,7 +7398,7 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64"
 dependencies = [
- "rustix 0.38.40",
+ "rustix 0.38.43",
 ]
 
 [[package]]
@@ -6684,6 +7437,20 @@ dependencies = [
  "hash-db",
 ]
 
+[[package]]
+name = "merkleized-metadata"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38c592efaf1b3250df14c8f3c2d952233f0302bb81d3586db2f303666c1cd607"
+dependencies = [
+ "array-bytes",
+ "blake3",
+ "frame-metadata 18.0.0",
+ "parity-scale-codec",
+ "scale-decode 0.13.1",
+ "scale-info",
+]
+
 [[package]]
 name = "merlin"
 version = "3.0.0"
@@ -6710,9 +7477,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
 name = "miniz_oxide"
-version = "0.8.0"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
+checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924"
 dependencies = [
  "adler2",
 ]
@@ -6731,11 +7498,10 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
+checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
 dependencies = [
- "hermit-abi 0.3.9",
  "libc",
  "wasi",
  "windows-sys 0.52.0",
@@ -6783,16 +7549,15 @@ dependencies = [
 
 [[package]]
 name = "mockall"
-version = "0.12.1"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48"
+checksum = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2"
 dependencies = [
  "cfg-if",
  "downcast",
  "fragile",
- "lazy_static",
- "mockall_derive 0.12.1",
- "predicates 3.1.2",
+ "mockall_derive 0.13.1",
+ "predicates 3.1.3",
  "predicates-tree",
 ]
 
@@ -6810,14 +7575,14 @@ dependencies = [
 
 [[package]]
 name = "mockall_derive"
-version = "0.12.1"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2"
+checksum = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898"
 dependencies = [
  "cfg-if",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -6856,7 +7621,7 @@ dependencies = [
  "data-encoding",
  "libp2p-identity",
  "multibase",
- "multihash 0.19.2",
+ "multihash 0.19.3",
  "percent-encoding",
  "serde",
  "static_assertions",
@@ -6911,9 +7676,9 @@ dependencies = [
 
 [[package]]
 name = "multihash"
-version = "0.19.2"
+version = "0.19.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc41f430805af9d1cf4adae4ed2149c759b877b01d909a1f40256188d09345d2"
+checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d"
 dependencies = [
  "core2",
  "unsigned-varint 0.8.0",
@@ -6933,12 +7698,6 @@ dependencies = [
  "synstructure 0.12.6",
 ]
 
-[[package]]
-name = "multimap"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
-
 [[package]]
 name = "multimap"
 version = "0.10.0"
@@ -6983,23 +7742,28 @@ dependencies = [
  "rand",
 ]
 
+[[package]]
+name = "nanorand"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
+
 [[package]]
 name = "netlink-packet-core"
-version = "0.4.2"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297"
+checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4"
 dependencies = [
  "anyhow",
  "byteorder",
- "libc",
  "netlink-packet-utils",
 ]
 
 [[package]]
 name = "netlink-packet-route"
-version = "0.12.0"
+version = "0.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab"
+checksum = "053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66"
 dependencies = [
  "anyhow",
  "bitflags 1.3.2",
@@ -7023,24 +7787,23 @@ dependencies = [
 
 [[package]]
 name = "netlink-proto"
-version = "0.10.0"
+version = "0.11.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6"
+checksum = "b2741a6c259755922e3ed29ebce3b299cc2160c4acae94b465b5938ab02c2bbe"
 dependencies = [
  "bytes",
  "futures 0.3.31",
  "log",
  "netlink-packet-core",
  "netlink-sys",
- "thiserror 1.0.69",
- "tokio",
+ "thiserror 2.0.11",
 ]
 
 [[package]]
 name = "netlink-sys"
-version = "0.8.6"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "416060d346fbaf1f23f9512963e3e878f1a78e707cb699ba9215761754244307"
+checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23"
 dependencies = [
  "bytes",
  "futures 0.3.31",
@@ -7063,9 +7826,9 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.24.3"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
@@ -7078,7 +7841,7 @@ version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
 dependencies = [
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
  "cfg-if",
  "cfg_aliases 0.2.1",
  "libc",
@@ -7090,10 +7853,16 @@ version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c"
 
+[[package]]
+name = "no-std-net"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65"
+
 [[package]]
 name = "node-primitives"
 version = "2.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "sp-core",
  "sp-runtime",
@@ -7156,7 +7925,7 @@ version = "6.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
 dependencies = [
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
  "crossbeam-channel",
  "filetime",
  "fsevent-sys",
@@ -7222,7 +7991,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -7307,9 +8076,9 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.36.5"
+version = "0.36.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e"
+checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
 dependencies = [
  "memchr",
 ]
@@ -7350,32 +8119,6 @@ version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
 
-[[package]]
-name = "openssl"
-version = "0.10.68"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5"
-dependencies = [
- "bitflags 2.6.0",
- "cfg-if",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.87",
-]
-
 [[package]]
 name = "openssl-probe"
 version = "0.1.5"
@@ -7383,32 +8126,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
-name = "openssl-src"
-version = "300.4.0+3.4.0"
+name = "option-ext"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a709e02f2b4aca747929cca5ed248880847c650233cf8b8cdc48f40aaf4898a6"
-dependencies = [
- "cc",
-]
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
 
 [[package]]
-name = "openssl-sys"
-version = "0.9.104"
+name = "orchestra"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741"
+checksum = "41f6bbacc8c189a3f2e45e0fd0436e5d97f194db888e721bdbc3973e7dbed4c2"
 dependencies = [
- "cc",
- "libc",
- "openssl-src",
- "pkg-config",
- "vcpkg",
+ "async-trait",
+ "dyn-clonable",
+ "futures 0.3.31",
+ "futures-timer",
+ "orchestra-proc-macro",
+ "pin-project",
+ "prioritized-metered-channel",
+ "thiserror 1.0.69",
+ "tracing",
 ]
 
 [[package]]
-name = "option-ext"
-version = "0.2.0"
+name = "orchestra-proc-macro"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+checksum = "f7b1d40dd8f367db3c65bec8d3dd47d4a604ee8874480738f93191bddab4e0e0"
+dependencies = [
+ "expander",
+ "indexmap 2.7.1",
+ "itertools 0.11.0",
+ "petgraph",
+ "proc-macro-crate 3.2.0",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
 
 [[package]]
 name = "overload"
@@ -7418,27 +8172,27 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 
 [[package]]
 name = "pallet-alliance"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
  "pallet-collective",
- "pallet-identity 38.0.0",
+ "pallet-identity 29.0.0",
  "parity-scale-codec",
  "scale-info",
  "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-io",
  "sp-runtime",
 ]
 
 [[package]]
 name = "pallet-asset-conversion"
-version = "20.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "10.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7455,8 +8209,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-asset-conversion-ops"
-version = "0.6.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7473,9 +8227,10 @@ dependencies = [
 
 [[package]]
 name = "pallet-asset-conversion-tx-payment"
-version = "20.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "10.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
+ "frame-benchmarking",
  "frame-support",
  "frame-system",
  "pallet-asset-conversion",
@@ -7487,8 +8242,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-asset-rate"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7501,8 +8256,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-asset-tx-payment"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7518,8 +8273,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-assets"
-version = "40.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "29.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7534,8 +8289,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-assets-freezer"
-version = "0.5.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7549,8 +8304,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-atomic-swap"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -7563,8 +8318,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-aura"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -7579,8 +8334,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-authority-discovery"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -7614,8 +8369,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-authorship"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -7627,8 +8382,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-babe"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7650,8 +8405,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-bags-list"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "aquamarine",
  "docify",
@@ -7666,13 +8421,13 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "pallet-balances"
-version = "39.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -7686,8 +8441,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-beefy"
-version = "39.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -7705,8 +8460,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-beefy-mmr"
-version = "39.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "binary-merkle-tree",
@@ -7730,8 +8485,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-bounties"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7747,8 +8502,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-bridge-grandpa"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-runtime",
@@ -7761,13 +8516,13 @@ dependencies = [
  "scale-info",
  "sp-consensus-grandpa",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "pallet-bridge-messages"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-messages",
@@ -7779,14 +8534,14 @@ dependencies = [
  "parity-scale-codec",
  "scale-info",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-trie",
 ]
 
 [[package]]
 name = "pallet-bridge-parachains"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-parachains",
@@ -7800,13 +8555,13 @@ dependencies = [
  "parity-scale-codec",
  "scale-info",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "pallet-bridge-relayers"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-header-chain",
  "bp-messages",
@@ -7824,13 +8579,13 @@ dependencies = [
  "scale-info",
  "sp-arithmetic",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "pallet-broker"
-version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.6.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bitvec",
  "frame-benchmarking",
@@ -7864,8 +8619,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-child-bounties"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7882,8 +8637,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-collator-selection"
-version = "19.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "9.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7901,9 +8656,10 @@ dependencies = [
 
 [[package]]
 name = "pallet-collective"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
+ "docify",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
@@ -7917,8 +8673,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-collective-content"
-version = "0.16.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.6.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -7931,8 +8687,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-contracts"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bitflags 1.3.2",
  "environmental",
@@ -7954,17 +8710,17 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-builder",
  "wasm-instrument",
- "wasmi",
+ "wasmi 0.32.3",
 ]
 
 [[package]]
 name = "pallet-contracts-mock-network"
-version = "14.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "3.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -7989,7 +8745,7 @@ dependencies = [
  "sp-io",
  "sp-keystore",
  "sp-runtime",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-builder",
  "staging-xcm-executor",
@@ -7998,30 +8754,29 @@ dependencies = [
 
 [[package]]
 name = "pallet-contracts-proc-macro"
-version = "23.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "18.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "pallet-contracts-uapi"
-version = "12.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "5.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bitflags 1.3.2",
  "parity-scale-codec",
  "paste",
- "polkavm-derive 0.9.1",
  "scale-info",
 ]
 
 [[package]]
 name = "pallet-conviction-voting"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "assert_matches",
  "frame-benchmarking",
@@ -8036,8 +8791,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-core-fellowship"
-version = "22.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "12.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8054,8 +8809,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-delegated-staking"
-version = "5.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "1.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -8069,8 +8824,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-democracy"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8086,8 +8841,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-dev-mode"
-version = "20.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "10.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -8164,7 +8919,7 @@ version = "1.0.0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -8189,8 +8944,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-election-provider-multi-phase"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -8211,8 +8966,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-election-provider-support-benchmarking"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -8224,8 +8979,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-elections-phragmen"
-version = "39.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "29.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8242,8 +8997,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-fast-unstake"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -8260,8 +9015,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-glutton"
-version = "24.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "14.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "blake2 0.10.6",
  "frame-benchmarking",
@@ -8278,8 +9033,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-grandpa"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8303,7 +9058,7 @@ name = "pallet-identity"
 version = "1.0.0"
 dependencies = [
  "base64 0.22.1",
- "bs58 0.5.1",
+ "bs58",
  "duniter-primitives",
  "ed25519-dalek",
  "frame-benchmarking",
@@ -8322,8 +9077,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-identity"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "29.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -8338,8 +9093,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-im-online"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8357,8 +9112,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-indices"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8373,8 +9128,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-insecure-randomness-collective-flip"
-version = "26.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "16.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -8386,8 +9141,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-lottery"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8416,8 +9171,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-membership"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8432,8 +9187,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-message-queue"
-version = "41.0.2"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "31.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "environmental",
  "frame-benchmarking",
@@ -8451,9 +9206,10 @@ dependencies = [
 
 [[package]]
 name = "pallet-migrations"
-version = "8.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "1.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
+ "cfg-if",
  "docify",
  "frame-benchmarking",
  "frame-support",
@@ -8468,8 +9224,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-mixnet"
-version = "0.14.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.4.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8487,8 +9243,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-mmr"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8504,23 +9260,19 @@ dependencies = [
 
 [[package]]
 name = "pallet-multisig"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
  "log",
  "parity-scale-codec",
+ "polkadot-sdk-frame",
  "scale-info",
- "sp-io",
- "sp-runtime",
 ]
 
 [[package]]
 name = "pallet-nft-fractionalization"
-version = "21.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "10.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8535,8 +9287,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-nfts"
-version = "32.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "22.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
@@ -8552,8 +9304,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-nfts-runtime-api"
-version = "24.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "14.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "pallet-nfts",
  "parity-scale-codec",
@@ -8562,8 +9314,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-nis"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8577,8 +9329,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-node-authorization"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -8592,8 +9344,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-nomination-pools"
-version = "35.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "25.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -8605,13 +9357,13 @@ dependencies = [
  "sp-io",
  "sp-runtime",
  "sp-staking",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "pallet-nomination-pools-benchmarking"
-version = "36.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -8624,14 +9376,14 @@ dependencies = [
  "parity-scale-codec",
  "scale-info",
  "sp-runtime",
- "sp-runtime-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-staking",
 ]
 
 [[package]]
 name = "pallet-nomination-pools-runtime-api"
-version = "33.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "23.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "pallet-nomination-pools",
  "parity-scale-codec",
@@ -8655,8 +9407,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-offences"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -8671,8 +9423,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-offences-benchmarking"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -8683,7 +9435,7 @@ dependencies = [
  "pallet-balances",
  "pallet-grandpa",
  "pallet-im-online",
- "pallet-offences 37.0.0",
+ "pallet-offences 27.0.0",
  "pallet-session",
  "pallet-staking",
  "parity-scale-codec",
@@ -8711,8 +9463,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-paged-list"
-version = "0.16.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.6.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -8728,8 +9480,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-parameters"
-version = "0.9.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -8745,8 +9497,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-preimage"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8776,16 +9528,12 @@ dependencies = [
 
 [[package]]
 name = "pallet-proxy"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "frame-benchmarking",
- "frame-support",
- "frame-system",
  "parity-scale-codec",
+ "polkadot-sdk-frame",
  "scale-info",
- "sp-io",
- "sp-runtime",
 ]
 
 [[package]]
@@ -8806,8 +9554,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-ranked-collective"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8824,8 +9572,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-recovery"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8838,8 +9586,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-referenda"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8855,8 +9603,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-remark"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8871,43 +9619,55 @@ dependencies = [
 
 [[package]]
 name = "pallet-revive"
-version = "0.2.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bitflags 1.3.2",
+ "derive_more 0.99.18",
  "environmental",
+ "ethereum-types 0.15.1",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
+ "hex",
  "impl-trait-for-tuples",
+ "jsonrpsee 0.24.7",
  "log",
  "pallet-balances",
  "pallet-revive-fixtures",
  "pallet-revive-proc-macro",
  "pallet-revive-uapi",
+ "pallet-transaction-payment",
  "parity-scale-codec",
  "paste",
- "polkavm 0.10.0",
+ "polkavm 0.13.0",
+ "rlp 0.6.1",
  "scale-info",
  "serde",
  "sp-api",
+ "sp-arithmetic",
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-weights",
  "staging-xcm",
  "staging-xcm-builder",
+ "subxt-signer",
 ]
 
 [[package]]
 name = "pallet-revive-fixtures"
-version = "0.2.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "anyhow",
  "frame-system",
+ "log",
  "parity-wasm",
- "polkavm-linker 0.10.0",
+ "polkavm-linker 0.14.0",
+ "sp-core",
+ "sp-io",
  "sp-runtime",
  "tempfile",
  "toml 0.8.19",
@@ -8915,8 +9675,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-revive-mock-network"
-version = "0.2.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -8940,7 +9700,7 @@ dependencies = [
  "sp-io",
  "sp-keystore",
  "sp-runtime",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-builder",
  "staging-xcm-executor",
@@ -8949,30 +9709,30 @@ dependencies = [
 
 [[package]]
 name = "pallet-revive-proc-macro"
-version = "0.1.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "pallet-revive-uapi"
-version = "0.1.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bitflags 1.3.2",
  "parity-scale-codec",
  "paste",
- "polkavm-derive 0.10.0",
+ "polkavm-derive 0.14.0",
  "scale-info",
 ]
 
 [[package]]
 name = "pallet-root-offences"
-version = "35.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "25.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -8986,8 +9746,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-root-testing"
-version = "14.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "4.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -9000,8 +9760,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-safe-mode"
-version = "19.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "9.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -9018,8 +9778,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-salary"
-version = "23.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "13.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9036,8 +9796,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-scheduler"
-version = "39.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "29.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -9053,8 +9813,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-scored-pool"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -9066,8 +9826,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-session"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -9099,8 +9859,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-session-benchmarking"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9115,8 +9875,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-skip-feeless-payment"
-version = "13.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "3.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -9146,8 +9906,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-society"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9163,8 +9923,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-staking"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -9184,8 +9944,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-staking-reward-fn"
-version = "22.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "19.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "log",
  "sp-arithmetic",
@@ -9193,8 +9953,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-staking-runtime-api"
-version = "24.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "14.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -9203,8 +9963,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-state-trie-migration"
-version = "40.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "29.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9219,8 +9979,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-statement"
-version = "20.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "10.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -9236,8 +9996,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-sudo"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -9251,8 +10011,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-timestamp"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -9264,14 +10024,14 @@ dependencies = [
  "sp-inherents",
  "sp-io",
  "sp-runtime",
- "sp-storage",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-timestamp",
 ]
 
 [[package]]
 name = "pallet-tips"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9288,9 +10048,10 @@ dependencies = [
 
 [[package]]
 name = "pallet-transaction-payment"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
+ "frame-benchmarking",
  "frame-support",
  "frame-system",
  "parity-scale-codec",
@@ -9303,10 +10064,10 @@ dependencies = [
 
 [[package]]
 name = "pallet-transaction-payment-rpc"
-version = "41.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "30.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "pallet-transaction-payment-rpc-runtime-api",
  "parity-scale-codec",
  "sp-api",
@@ -9319,8 +10080,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -9331,8 +10092,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-transaction-storage"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9350,14 +10111,15 @@ dependencies = [
 
 [[package]]
 name = "pallet-treasury"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "impl-trait-for-tuples",
+ "log",
  "pallet-balances",
  "parity-scale-codec",
  "scale-info",
@@ -9368,8 +10130,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-tx-pause"
-version = "19.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "9.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -9385,8 +10147,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-uniques"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9433,8 +10195,23 @@ dependencies = [
 
 [[package]]
 name = "pallet-utility"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+]
+
+[[package]]
+name = "pallet-verify-signature"
+version = "1.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9444,12 +10221,13 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
+ "sp-weights",
 ]
 
 [[package]]
 name = "pallet-vesting"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9462,8 +10240,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-whitelist"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9476,14 +10254,13 @@ dependencies = [
 
 [[package]]
 name = "pallet-xcm"
-version = "17.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bounded-collections",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "log",
  "pallet-balances",
  "parity-scale-codec",
  "scale-info",
@@ -9500,8 +10277,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-xcm-benchmarks"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -9518,8 +10295,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-xcm-bridge-hub"
-version = "0.13.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-messages",
  "bp-runtime",
@@ -9532,7 +10309,7 @@ dependencies = [
  "scale-info",
  "sp-core",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-builder",
  "staging-xcm-executor",
@@ -9540,8 +10317,8 @@ dependencies = [
 
 [[package]]
 name = "pallet-xcm-bridge-hub-router"
-version = "0.15.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.5.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bp-xcm-bridge-hub-router",
  "frame-benchmarking",
@@ -9552,15 +10329,15 @@ dependencies = [
  "scale-info",
  "sp-core",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-builder",
 ]
 
 [[package]]
 name = "parachains-common"
-version = "18.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "cumulus-primitives-utility",
@@ -9589,8 +10366,8 @@ dependencies = [
 
 [[package]]
 name = "parachains-runtimes-test-utils"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-pallet-parachain-system",
  "cumulus-pallet-xcmp-queue",
@@ -9610,7 +10387,7 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-parachain-info",
  "staging-xcm",
  "staging-xcm-executor",
@@ -9684,35 +10461,6 @@ dependencies = [
  "syn 1.0.109",
 ]
 
-[[package]]
-name = "parity-util-mem"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8"
-dependencies = [
- "cfg-if",
- "ethereum-types",
- "hashbrown 0.12.3",
- "impl-trait-for-tuples",
- "lru 0.8.1",
- "parity-util-mem-derive",
- "parking_lot 0.12.3",
- "primitive-types 0.12.2",
- "smallvec",
- "winapi",
-]
-
-[[package]]
-name = "parity-util-mem-derive"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2"
-dependencies = [
- "proc-macro2",
- "syn 1.0.109",
- "synstructure 0.12.6",
-]
-
 [[package]]
 name = "parity-wasm"
 version = "0.45.0"
@@ -9768,7 +10516,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.5.7",
+ "redox_syscall 0.5.8",
  "smallvec",
  "windows-targets 0.52.6",
 ]
@@ -9850,20 +10598,20 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pest"
-version = "2.7.14"
+version = "2.7.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442"
+checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc"
 dependencies = [
  "memchr",
- "thiserror 1.0.69",
+ "thiserror 2.0.11",
  "ucd-trie",
 ]
 
 [[package]]
 name = "pest_derive"
-version = "2.7.14"
+version = "2.7.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd"
+checksum = "816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e"
 dependencies = [
  "pest",
  "pest_generator",
@@ -9871,22 +10619,22 @@ dependencies = [
 
 [[package]]
 name = "pest_generator"
-version = "2.7.14"
+version = "2.7.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e"
+checksum = "7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b"
 dependencies = [
  "pest",
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "pest_meta"
-version = "2.7.14"
+version = "2.7.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d"
+checksum = "e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea"
 dependencies = [
  "once_cell",
  "pest",
@@ -9900,34 +10648,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
 dependencies = [
  "fixedbitset",
- "indexmap 2.6.0",
+ "indexmap 2.7.1",
 ]
 
 [[package]]
 name = "pin-project"
-version = "1.1.7"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95"
+checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.7"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c"
+checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff"
+checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
 
 [[package]]
 name = "pin-utils"
@@ -9984,8 +10732,8 @@ dependencies = [
 
 [[package]]
 name = "polkadot-core-primitives"
-version = "15.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -9994,86 +10742,210 @@ dependencies = [
 ]
 
 [[package]]
-name = "polkadot-parachain-primitives"
-version = "14.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+name = "polkadot-node-metrics"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "bounded-collections",
+ "bs58",
+ "futures 0.3.31",
+ "futures-timer",
+ "log",
+ "parity-scale-codec",
+ "polkadot-primitives",
+ "prioritized-metered-channel",
+ "sc-cli",
+ "sc-service",
+ "sc-tracing",
+ "substrate-prometheus-endpoint",
+ "tracing-gum",
+]
+
+[[package]]
+name = "polkadot-node-network-protocol"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "async-channel 1.9.0",
+ "async-trait",
+ "bitvec",
  "derive_more 0.99.18",
+ "fatality",
+ "futures 0.3.31",
+ "hex",
  "parity-scale-codec",
- "polkadot-core-primitives",
- "scale-info",
- "serde",
- "sp-core",
+ "polkadot-node-primitives",
+ "polkadot-primitives",
+ "rand",
+ "sc-authority-discovery",
+ "sc-network",
+ "sc-network-types",
  "sp-runtime",
- "sp-weights",
+ "strum 0.26.3",
+ "thiserror 1.0.69",
+ "tracing-gum",
 ]
 
 [[package]]
-name = "polkadot-primitives"
-version = "16.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+name = "polkadot-node-primitives"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bitvec",
- "hex-literal",
- "log",
+ "bounded-vec",
+ "futures 0.3.31",
+ "futures-timer",
  "parity-scale-codec",
- "polkadot-core-primitives",
  "polkadot-parachain-primitives",
- "scale-info",
+ "polkadot-primitives",
+ "sc-keystore",
+ "schnorrkel",
  "serde",
- "sp-api",
  "sp-application-crypto",
- "sp-arithmetic",
- "sp-authority-discovery",
+ "sp-consensus-babe",
  "sp-consensus-slots",
  "sp-core",
- "sp-inherents",
- "sp-io",
  "sp-keystore",
+ "sp-maybe-compressed-blob",
  "sp-runtime",
- "sp-staking",
+ "thiserror 1.0.69",
+ "zstd 0.12.4",
 ]
 
 [[package]]
-name = "polkadot-runtime-common"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+name = "polkadot-node-subsystem-types"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
+ "async-trait",
  "bitvec",
- "frame-benchmarking",
- "frame-election-provider-support",
- "frame-support",
- "frame-system",
- "impl-trait-for-tuples",
- "libsecp256k1",
- "log",
- "pallet-asset-rate",
- "pallet-authorship",
- "pallet-balances",
- "pallet-broker",
- "pallet-election-provider-multi-phase",
- "pallet-fast-unstake",
- "pallet-identity 38.0.0",
- "pallet-session",
- "pallet-staking",
- "pallet-staking-reward-fn",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "pallet-treasury",
- "pallet-vesting",
- "parity-scale-codec",
+ "derive_more 0.99.18",
+ "fatality",
+ "futures 0.3.31",
+ "orchestra",
+ "polkadot-node-network-protocol",
+ "polkadot-node-primitives",
  "polkadot-primitives",
- "polkadot-runtime-parachains",
- "rustc-hex",
- "scale-info",
- "serde",
- "serde_derive",
- "slot-range-helper",
- "sp-api",
+ "polkadot-statement-table",
+ "sc-client-api",
+ "sc-network",
+ "sc-network-types",
+ "sc-transaction-pool-api",
+ "smallvec",
+ "sp-api",
+ "sp-authority-discovery",
+ "sp-blockchain",
+ "sp-consensus-babe",
+ "sp-runtime",
+ "substrate-prometheus-endpoint",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "polkadot-overseer"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "async-trait",
+ "futures 0.3.31",
+ "futures-timer",
+ "orchestra",
+ "parking_lot 0.12.3",
+ "polkadot-node-metrics",
+ "polkadot-node-network-protocol",
+ "polkadot-node-primitives",
+ "polkadot-node-subsystem-types",
+ "polkadot-primitives",
+ "sc-client-api",
+ "sp-api",
+ "sp-core",
+ "tikv-jemalloc-ctl",
+ "tracing-gum",
+]
+
+[[package]]
+name = "polkadot-parachain-primitives"
+version = "6.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "bounded-collections",
+ "derive_more 0.99.18",
+ "parity-scale-codec",
+ "polkadot-core-primitives",
+ "scale-info",
+ "serde",
+ "sp-core",
+ "sp-runtime",
+ "sp-weights",
+]
+
+[[package]]
+name = "polkadot-primitives"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "bitvec",
+ "hex-literal",
+ "log",
+ "parity-scale-codec",
+ "polkadot-core-primitives",
+ "polkadot-parachain-primitives",
+ "scale-info",
+ "serde",
+ "sp-api",
+ "sp-application-crypto",
+ "sp-arithmetic",
+ "sp-authority-discovery",
+ "sp-consensus-slots",
  "sp-core",
  "sp-inherents",
  "sp-io",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-staking",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "polkadot-runtime-common"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "bitvec",
+ "frame-benchmarking",
+ "frame-election-provider-support",
+ "frame-support",
+ "frame-system",
+ "impl-trait-for-tuples",
+ "libsecp256k1",
+ "log",
+ "pallet-asset-rate",
+ "pallet-authorship",
+ "pallet-balances",
+ "pallet-broker",
+ "pallet-election-provider-multi-phase",
+ "pallet-fast-unstake",
+ "pallet-identity 29.0.0",
+ "pallet-session",
+ "pallet-staking",
+ "pallet-staking-reward-fn",
+ "pallet-timestamp",
+ "pallet-transaction-payment",
+ "pallet-treasury",
+ "pallet-vesting",
+ "parity-scale-codec",
+ "polkadot-primitives",
+ "polkadot-runtime-parachains",
+ "rustc-hex",
+ "scale-info",
+ "serde",
+ "serde_derive",
+ "slot-range-helper",
+ "sp-api",
+ "sp-core",
+ "sp-inherents",
+ "sp-io",
+ "sp-keyring",
  "sp-npos-elections",
  "sp-runtime",
  "sp-session",
@@ -10086,20 +10958,20 @@ dependencies = [
 
 [[package]]
 name = "polkadot-runtime-metrics"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "bs58 0.5.1",
+ "bs58",
  "frame-benchmarking",
  "parity-scale-codec",
  "polkadot-primitives",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "polkadot-runtime-parachains"
-version = "17.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bitflags 1.3.2",
  "bitvec",
@@ -10139,15 +11011,15 @@ dependencies = [
  "sp-runtime",
  "sp-session",
  "sp-staking",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-executor",
 ]
 
 [[package]]
 name = "polkadot-sdk"
-version = "0.7.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "asset-test-utils",
  "assets-common",
@@ -10233,12 +11105,12 @@ dependencies = [
  "pallet-fast-unstake",
  "pallet-glutton",
  "pallet-grandpa",
- "pallet-identity 38.0.0",
+ "pallet-identity 29.0.0",
  "pallet-im-online",
  "pallet-indices",
  "pallet-insecure-randomness-collective-flip",
  "pallet-lottery",
- "pallet-membership 38.0.0",
+ "pallet-membership 28.0.0",
  "pallet-message-queue",
  "pallet-migrations",
  "pallet-mixnet",
@@ -10252,7 +11124,7 @@ dependencies = [
  "pallet-nomination-pools",
  "pallet-nomination-pools-benchmarking",
  "pallet-nomination-pools-runtime-api",
- "pallet-offences 37.0.0",
+ "pallet-offences 27.0.0",
  "pallet-offences-benchmarking",
  "pallet-paged-list",
  "pallet-parameters",
@@ -10272,7 +11144,7 @@ dependencies = [
  "pallet-scheduler",
  "pallet-scored-pool",
  "pallet-session",
- "pallet-session-benchmarking 38.0.0",
+ "pallet-session-benchmarking 28.0.0",
  "pallet-skip-feeless-payment",
  "pallet-society",
  "pallet-staking",
@@ -10290,6 +11162,7 @@ dependencies = [
  "pallet-tx-pause",
  "pallet-uniques",
  "pallet-utility",
+ "pallet-verify-signature",
  "pallet-vesting",
  "pallet-whitelist",
  "pallet-xcm",
@@ -10336,10 +11209,10 @@ dependencies = [
  "sp-consensus-slots",
  "sp-core",
  "sp-core-hashing",
- "sp-crypto-ec-utils",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
- "sp-debug-derive",
- "sp-externalities",
+ "sp-crypto-ec-utils 0.10.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-genesis-builder",
  "sp-inherents",
  "sp-io",
@@ -10351,20 +11224,20 @@ dependencies = [
  "sp-npos-elections",
  "sp-offchain",
  "sp-runtime",
- "sp-runtime-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-session",
  "sp-staking",
  "sp-state-machine",
  "sp-statement-store",
- "sp-std",
- "sp-storage",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-timestamp",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-transaction-pool",
  "sp-transaction-storage-proof",
  "sp-trie",
  "sp-version",
- "sp-wasm-interface",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-weights",
  "staging-parachain-info",
  "staging-xcm",
@@ -10377,8 +11250,8 @@ dependencies = [
 
 [[package]]
 name = "polkadot-sdk-frame"
-version = "0.7.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-benchmarking",
@@ -10397,16 +11270,29 @@ dependencies = [
  "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",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-transaction-pool",
  "sp-version",
 ]
 
+[[package]]
+name = "polkadot-statement-table"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "parity-scale-codec",
+ "polkadot-primitives",
+ "sp-core",
+ "tracing-gum",
+]
+
 [[package]]
 name = "polkavm"
 version = "0.9.3"
@@ -10422,15 +11308,15 @@ dependencies = [
 
 [[package]]
 name = "polkavm"
-version = "0.10.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7ec0c5935f2eff23cfc4653002f4f8d12b37f87a720e0631282d188c32089d6"
+checksum = "57e79a14b15ed38cb5b9a1e38d02e933f19e3d180ae5b325fed606c5e5b9177e"
 dependencies = [
  "libc",
  "log",
- "polkavm-assembler 0.10.0",
- "polkavm-common 0.10.0",
- "polkavm-linux-raw 0.10.0",
+ "polkavm-assembler 0.13.0",
+ "polkavm-common 0.13.0",
+ "polkavm-linux-raw 0.13.0",
 ]
 
 [[package]]
@@ -10444,9 +11330,9 @@ dependencies = [
 
 [[package]]
 name = "polkavm-assembler"
-version = "0.10.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8e4fd5a43100bf1afe9727b8130d01f966f5cfc9144d5604b21e795c2bcd80e"
+checksum = "4e8da55465000feb0a61bbf556ed03024db58f3420eca37721fc726b3b2136bf"
 dependencies = [
  "log",
 ]
@@ -10462,14 +11348,20 @@ dependencies = [
 
 [[package]]
 name = "polkavm-common"
-version = "0.10.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0097b48bc0bedf9f3f537ce8f37e8f1202d8d83f9b621bdb21ff2c59b9097c50"
+checksum = "084b4339aae7dfdaaa5aa7d634110afd95970e0737b6fb2a0cb10db8b56b753c"
 dependencies = [
  "log",
- "polkavm-assembler 0.10.0",
+ "polkavm-assembler 0.13.0",
 ]
 
+[[package]]
+name = "polkavm-common"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "711952a783e9c5ad407cdacb1ed147f36d37c5d43417c1091d86456d2999417b"
+
 [[package]]
 name = "polkavm-derive"
 version = "0.9.1"
@@ -10481,11 +11373,11 @@ dependencies = [
 
 [[package]]
 name = "polkavm-derive"
-version = "0.10.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dcc701385c08c31bdb0569f0c51a290c580d892fa77f1dd88a7352a62679ecf"
+checksum = "b4832a0aebf6cefc988bb7b2d74ea8c86c983164672e2fc96300f356a1babfc1"
 dependencies = [
- "polkavm-derive-impl-macro 0.10.0",
+ "polkavm-derive-impl-macro 0.14.0",
 ]
 
 [[package]]
@@ -10497,19 +11389,19 @@ dependencies = [
  "polkavm-common 0.9.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "polkavm-derive-impl"
-version = "0.10.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7855353a5a783dd5d09e3b915474bddf66575f5a3cf45dec8d1c5e051ba320dc"
+checksum = "e339fc7c11310fe5adf711d9342278ac44a75c9784947937cce12bd4f30842f2"
 dependencies = [
- "polkavm-common 0.10.0",
+ "polkavm-common 0.14.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -10519,17 +11411,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429"
 dependencies = [
  "polkavm-derive-impl 0.9.0",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "polkavm-derive-impl-macro"
-version = "0.10.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9324fe036de37c17829af233b46ef6b5562d4a0c09bb7fdb9f8378856dee30cf"
+checksum = "b569754b15060d03000c09e3bf11509d527f60b75d79b4c30c3625b5071d9702"
 dependencies = [
- "polkavm-derive-impl 0.10.0",
- "syn 2.0.87",
+ "polkavm-derive-impl 0.14.0",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -10549,15 +11441,15 @@ dependencies = [
 
 [[package]]
 name = "polkavm-linker"
-version = "0.10.0"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d704edfe7bdcc876784f19436d53d515b65eb07bc9a0fae77085d552c2dbbb5"
+checksum = "0959ac3b0f4fd5caf5c245c637705f19493efe83dba31a83bbba928b93b0116a"
 dependencies = [
- "gimli 0.28.1",
+ "gimli 0.31.1",
  "hashbrown 0.14.5",
  "log",
- "object 0.36.5",
- "polkavm-common 0.10.0",
+ "object 0.36.7",
+ "polkavm-common 0.14.0",
  "regalloc2 0.9.3",
  "rustc-demangle",
 ]
@@ -10570,9 +11462,9 @@ checksum = "26e85d3456948e650dff0cfc85603915847faf893ed1e66b020bb82ef4557120"
 
 [[package]]
 name = "polkavm-linux-raw"
-version = "0.10.0"
+version = "0.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26e45fa59c7e1bb12ef5289080601e9ec9b31435f6e32800a5c90c132453d126"
+checksum = "686c4dd9c9c16cc22565b51bdbb269792318d0fd2e6b966b5f6c788534cad0e9"
 
 [[package]]
 name = "polling"
@@ -10584,7 +11476,7 @@ dependencies = [
  "concurrent-queue",
  "hermit-abi 0.4.0",
  "pin-project-lite",
- "rustix 0.38.40",
+ "rustix 0.38.43",
  "tracing",
  "windows-sys 0.59.0",
 ]
@@ -10614,9 +11506,9 @@ dependencies = [
 
 [[package]]
 name = "portable-atomic"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
+checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6"
 
 [[package]]
 name = "portpicker"
@@ -10658,9 +11550,9 @@ dependencies = [
 
 [[package]]
 name = "predicates"
-version = "3.1.2"
+version = "3.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97"
+checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573"
 dependencies = [
  "anstyle",
  "predicates-core",
@@ -10668,15 +11560,15 @@ dependencies = [
 
 [[package]]
 name = "predicates-core"
-version = "1.0.8"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931"
+checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa"
 
 [[package]]
 name = "predicates-tree"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13"
+checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c"
 dependencies = [
  "predicates-core",
  "termtree",
@@ -10684,22 +11576,12 @@ dependencies = [
 
 [[package]]
 name = "prettyplease"
-version = "0.1.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
-dependencies = [
- "proc-macro2",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "prettyplease"
-version = "0.2.25"
+version = "0.2.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033"
+checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac"
 dependencies = [
  "proc-macro2",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -10710,7 +11592,6 @@ checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2"
 dependencies = [
  "fixed-hash",
  "impl-codec 0.6.0",
- "impl-rlp",
  "impl-serde 0.4.0",
  "scale-info",
  "uint 0.9.5",
@@ -10724,11 +11605,29 @@ checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5"
 dependencies = [
  "fixed-hash",
  "impl-codec 0.7.0",
+ "impl-num-traits",
+ "impl-rlp",
  "impl-serde 0.5.0",
  "scale-info",
  "uint 0.10.0",
 ]
 
+[[package]]
+name = "prioritized-metered-channel"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a172e6cc603231f2cf004232eabcecccc0da53ba576ab286ef7baa0cfc7927ad"
+dependencies = [
+ "coarsetime",
+ "crossbeam-queue",
+ "derive_more 0.99.18",
+ "futures 0.3.31",
+ "futures-timer",
+ "nanorand",
+ "thiserror 1.0.69",
+ "tracing",
+]
+
 [[package]]
 name = "proc-macro-crate"
 version = "1.1.3"
@@ -10791,7 +11690,7 @@ dependencies = [
  "proc-macro-error-attr2",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -10802,7 +11701,7 @@ checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -10813,14 +11712,14 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.89"
+version = "1.0.93"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
+checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
 dependencies = [
  "unicode-ident",
 ]
@@ -10859,7 +11758,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -10870,7 +11769,7 @@ checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d"
 dependencies = [
  "bit-set",
  "bit-vec",
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
  "lazy_static",
  "num-traits 0.2.19",
  "rand",
@@ -10882,16 +11781,6 @@ dependencies = [
  "unarray",
 ]
 
-[[package]]
-name = "prost"
-version = "0.11.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd"
-dependencies = [
- "bytes",
- "prost-derive 0.11.9",
-]
-
 [[package]]
 name = "prost"
 version = "0.12.6"
@@ -10903,90 +11792,68 @@ dependencies = [
 ]
 
 [[package]]
-name = "prost-build"
-version = "0.11.9"
+name = "prost"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
+checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec"
 dependencies = [
  "bytes",
- "heck 0.4.1",
- "itertools 0.10.5",
- "lazy_static",
- "log",
- "multimap 0.8.3",
- "petgraph",
- "prettyplease 0.1.25",
- "prost 0.11.9",
- "prost-types 0.11.9",
- "regex",
- "syn 1.0.109",
- "tempfile",
- "which",
+ "prost-derive 0.13.4",
 ]
 
 [[package]]
 name = "prost-build"
-version = "0.12.6"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4"
+checksum = "d0f3e5beed80eb580c68e2c600937ac2c4eedabdfd5ef1e5b7ea4f3fba84497b"
 dependencies = [
- "bytes",
  "heck 0.5.0",
- "itertools 0.12.1",
+ "itertools 0.13.0",
  "log",
- "multimap 0.10.0",
+ "multimap",
  "once_cell",
  "petgraph",
- "prettyplease 0.2.25",
- "prost 0.12.6",
- "prost-types 0.12.6",
+ "prettyplease",
+ "prost 0.13.4",
+ "prost-types",
  "regex",
- "syn 2.0.87",
+ "syn 2.0.96",
  "tempfile",
 ]
 
 [[package]]
 name = "prost-derive"
-version = "0.11.9"
+version = "0.12.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
+checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
 dependencies = [
  "anyhow",
- "itertools 0.10.5",
+ "itertools 0.12.1",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "prost-derive"
-version = "0.12.6"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
+checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3"
 dependencies = [
  "anyhow",
- "itertools 0.12.1",
+ "itertools 0.13.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "prost-types"
-version = "0.11.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13"
-dependencies = [
- "prost 0.11.9",
-]
-
-[[package]]
-name = "prost-types"
-version = "0.12.6"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0"
+checksum = "cc2f1e56baa61e93533aebc21af4d2134b70f66275e0fcdf3cbe43d77ff7e8fc"
 dependencies = [
- "prost 0.12.6",
+ "prost 0.13.4",
 ]
 
 [[package]]
@@ -11000,9 +11867,9 @@ dependencies = [
 
 [[package]]
 name = "quanta"
-version = "0.12.3"
+version = "0.12.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5"
+checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e"
 dependencies = [
  "crossbeam-utils",
  "libc",
@@ -11041,24 +11908,6 @@ dependencies = [
  "unsigned-varint 0.7.2",
 ]
 
-[[package]]
-name = "quinn"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e"
-dependencies = [
- "bytes",
- "pin-project-lite",
- "quinn-proto 0.9.6",
- "quinn-udp 0.3.2",
- "rustc-hash 1.1.0",
- "rustls 0.20.9",
- "thiserror 1.0.69",
- "tokio",
- "tracing",
- "webpki",
-]
-
 [[package]]
 name = "quinn"
 version = "0.10.2"
@@ -11086,33 +11935,15 @@ dependencies = [
  "bytes",
  "pin-project-lite",
  "quinn-proto 0.11.9",
- "quinn-udp 0.5.7",
- "rustc-hash 2.0.0",
- "rustls 0.23.16",
- "socket2 0.5.7",
- "thiserror 2.0.3",
+ "quinn-udp 0.5.9",
+ "rustc-hash 2.1.0",
+ "rustls 0.23.21",
+ "socket2 0.5.8",
+ "thiserror 2.0.11",
  "tokio",
  "tracing",
 ]
 
-[[package]]
-name = "quinn-proto"
-version = "0.9.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863"
-dependencies = [
- "bytes",
- "rand",
- "ring 0.16.20",
- "rustc-hash 1.1.0",
- "rustls 0.20.9",
- "slab",
- "thiserror 1.0.69",
- "tinyvec",
- "tracing",
- "webpki",
-]
-
 [[package]]
 name = "quinn-proto"
 version = "0.10.6"
@@ -11140,29 +11971,16 @@ dependencies = [
  "getrandom",
  "rand",
  "ring 0.17.8",
- "rustc-hash 2.0.0",
- "rustls 0.23.16",
+ "rustc-hash 2.1.0",
+ "rustls 0.23.21",
  "rustls-pki-types",
  "slab",
- "thiserror 2.0.3",
+ "thiserror 2.0.11",
  "tinyvec",
  "tracing",
  "web-time",
 ]
 
-[[package]]
-name = "quinn-udp"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4"
-dependencies = [
- "libc",
- "quinn-proto 0.9.6",
- "socket2 0.4.10",
- "tracing",
- "windows-sys 0.42.0",
-]
-
 [[package]]
 name = "quinn-udp"
 version = "0.4.1"
@@ -11171,30 +11989,30 @@ checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7"
 dependencies = [
  "bytes",
  "libc",
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "tracing",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "quinn-udp"
-version = "0.5.7"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da"
+checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904"
 dependencies = [
  "cfg_aliases 0.2.1",
  "libc",
  "once_cell",
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "tracing",
  "windows-sys 0.59.0",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.37"
+version = "1.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
 dependencies = [
  "proc-macro2",
 ]
@@ -11265,11 +12083,11 @@ dependencies = [
 
 [[package]]
 name = "raw-cpuid"
-version = "11.2.0"
+version = "11.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0"
+checksum = "c6928fa44c097620b706542d428957635951bade7143269085389d42c8a4927e"
 dependencies = [
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
 ]
 
 [[package]]
@@ -11310,6 +12128,22 @@ dependencies = [
  "yasna",
 ]
 
+[[package]]
+name = "reconnecting-jsonrpsee-ws-client"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06fa4f17e09edfc3131636082faaec633c7baa269396b4004040bc6c52f49f65"
+dependencies = [
+ "cfg_aliases 0.2.1",
+ "finito",
+ "futures 0.3.31",
+ "jsonrpsee 0.23.2",
+ "serde_json",
+ "thiserror 1.0.69",
+ "tokio",
+ "tracing",
+]
+
 [[package]]
 name = "redox_syscall"
 version = "0.2.16"
@@ -11321,11 +12155,11 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.5.7"
+version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
+checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834"
 dependencies = [
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
 ]
 
 [[package]]
@@ -11356,7 +12190,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -11436,19 +12270,19 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
 
 [[package]]
 name = "reqwest"
-version = "0.12.9"
+version = "0.12.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f"
+checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da"
 dependencies = [
  "base64 0.22.1",
  "bytes",
  "futures-core",
  "futures-util",
- "http 1.1.0",
+ "http 1.2.0",
  "http-body 1.0.1",
  "http-body-util",
- "hyper 1.5.0",
- "hyper-rustls 0.27.3",
+ "hyper 1.5.2",
+ "hyper-rustls 0.27.5",
  "hyper-util",
  "ipnet",
  "js-sys",
@@ -11458,7 +12292,7 @@ dependencies = [
  "percent-encoding",
  "pin-project-lite",
  "quinn 0.11.6",
- "rustls 0.23.16",
+ "rustls 0.23.21",
  "rustls-pemfile 2.2.0",
  "rustls-pki-types",
  "serde",
@@ -11466,13 +12300,14 @@ dependencies = [
  "serde_urlencoded",
  "sync_wrapper",
  "tokio",
- "tokio-rustls 0.26.0",
+ "tokio-rustls 0.26.1",
+ "tower 0.5.2",
  "tower-service",
  "url",
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
- "webpki-roots 0.26.6",
+ "webpki-roots 0.26.7",
  "windows-registry",
 ]
 
@@ -11496,6 +12331,23 @@ dependencies = [
  "subtle 2.6.1",
 ]
 
+[[package]]
+name = "ring"
+version = "0.1.0"
+source = "git+https://github.com/w3f/ring-proof?rev=665f5f5#665f5f51af5734c7b6d90b985dd6861d4c5b4752"
+dependencies = [
+ "ark-ec 0.4.2",
+ "ark-ff 0.4.2",
+ "ark-poly 0.4.2",
+ "ark-serialize 0.4.2",
+ "ark-std 0.4.0",
+ "arrayvec 0.7.6",
+ "blake2 0.10.6",
+ "common",
+ "fflonk",
+ "merlin",
+]
+
 [[package]]
 name = "ring"
 version = "0.16.20"
@@ -11526,6 +12378,15 @@ dependencies = [
  "windows-sys 0.52.0",
 ]
 
+[[package]]
+name = "ripemd"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f"
+dependencies = [
+ "digest 0.10.7",
+]
+
 [[package]]
 name = "rlp"
 version = "0.5.2"
@@ -11536,10 +12397,20 @@ dependencies = [
  "rustc-hex",
 ]
 
+[[package]]
+name = "rlp"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa24e92bb2a83198bb76d661a71df9f7076b8c420b8696e4d3d97d50d94479e3"
+dependencies = [
+ "bytes",
+ "rustc-hex",
+]
+
 [[package]]
 name = "rococo-runtime-constants"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -11571,15 +12442,18 @@ dependencies = [
 
 [[package]]
 name = "rtnetlink"
-version = "0.10.1"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0"
+checksum = "7a552eb82d19f38c3beed3f786bd23aa434ceb9ac43ab44419ca6d67a7e186c0"
 dependencies = [
  "futures 0.3.31",
  "log",
+ "netlink-packet-core",
  "netlink-packet-route",
+ "netlink-packet-utils",
  "netlink-proto",
- "nix 0.24.3",
+ "netlink-sys",
+ "nix 0.26.4",
  "thiserror 1.0.69",
  "tokio",
 ]
@@ -11596,22 +12470,24 @@ dependencies = [
 
 [[package]]
 name = "ruint"
-version = "1.12.3"
+version = "1.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286"
+checksum = "f5ef8fb1dd8de3870cb8400d51b4c2023854bbafd5431a3ac7e7317243e22d2f"
 dependencies = [
  "alloy-rlp",
  "ark-ff 0.3.0",
  "ark-ff 0.4.2",
  "bytes",
- "fastrlp",
+ "fastrlp 0.3.1",
+ "fastrlp 0.4.0",
  "num-bigint",
+ "num-integer",
  "num-traits 0.2.19",
  "parity-scale-codec",
  "primitive-types 0.12.2",
  "proptest",
  "rand",
- "rlp",
+ "rlp 0.5.2",
  "ruint-macro",
  "serde",
  "valuable",
@@ -11638,9 +12514,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustc-hash"
-version = "2.0.0"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"
+checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
 
 [[package]]
 name = "rustc-hex"
@@ -11672,7 +12548,7 @@ version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
 dependencies = [
- "semver 1.0.23",
+ "semver 1.0.25",
 ]
 
 [[package]]
@@ -11700,15 +12576,15 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.40"
+version = "0.38.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0"
+checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6"
 dependencies = [
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
  "errno",
  "libc",
- "linux-raw-sys 0.4.14",
- "windows-sys 0.52.0",
+ "linux-raw-sys 0.4.15",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
@@ -11736,9 +12612,23 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.23.16"
+version = "0.22.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e"
+checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
+dependencies = [
+ "log",
+ "ring 0.17.8",
+ "rustls-pki-types",
+ "rustls-webpki 0.102.8",
+ "subtle 2.6.1",
+ "zeroize",
+]
+
+[[package]]
+name = "rustls"
+version = "0.23.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8"
 dependencies = [
  "log",
  "once_cell",
@@ -11758,7 +12648,7 @@ dependencies = [
  "openssl-probe",
  "rustls-pemfile 1.0.4",
  "schannel",
- "security-framework",
+ "security-framework 2.11.1",
 ]
 
 [[package]]
@@ -11771,7 +12661,19 @@ dependencies = [
  "rustls-pemfile 2.2.0",
  "rustls-pki-types",
  "schannel",
- "security-framework",
+ "security-framework 2.11.1",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3"
+dependencies = [
+ "openssl-probe",
+ "rustls-pki-types",
+ "schannel",
+ "security-framework 3.2.0",
 ]
 
 [[package]]
@@ -11794,9 +12696,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.10.0"
+version = "1.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b"
+checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37"
 dependencies = [
  "web-time",
 ]
@@ -11807,18 +12709,18 @@ version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490"
 dependencies = [
- "core-foundation",
+ "core-foundation 0.9.4",
  "core-foundation-sys",
  "jni",
  "log",
  "once_cell",
- "rustls 0.23.16",
+ "rustls 0.23.21",
  "rustls-native-certs 0.7.3",
  "rustls-platform-verifier-android",
  "rustls-webpki 0.102.8",
- "security-framework",
+ "security-framework 2.11.1",
  "security-framework-sys",
- "webpki-roots 0.26.6",
+ "webpki-roots 0.26.7",
  "winapi",
 ]
 
@@ -11851,9 +12753,9 @@ dependencies = [
 
 [[package]]
 name = "rustversion"
-version = "1.0.18"
+version = "1.0.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248"
+checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4"
 
 [[package]]
 name = "rusty-fork"
@@ -11867,6 +12769,17 @@ dependencies = [
  "wait-timeout",
 ]
 
+[[package]]
+name = "ruzstd"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d"
+dependencies = [
+ "byteorder",
+ "derive_more 0.99.18",
+ "twox-hash",
+]
+
 [[package]]
 name = "ruzstd"
 version = "0.6.0"
@@ -11905,9 +12818,9 @@ dependencies = [
 
 [[package]]
 name = "safe_arch"
-version = "0.7.2"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a"
+checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323"
 dependencies = [
  "bytemuck",
 ]
@@ -11923,19 +12836,49 @@ dependencies = [
 
 [[package]]
 name = "sc-allocator"
-version = "29.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "23.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "log",
  "sp-core",
- "sp-wasm-interface",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "thiserror 1.0.69",
+]
+
+[[package]]
+name = "sc-authority-discovery"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "async-trait",
+ "futures 0.3.31",
+ "futures-timer",
+ "ip_network",
+ "libp2p",
+ "linked_hash_set",
+ "log",
+ "multihash 0.19.3",
+ "parity-scale-codec",
+ "prost 0.12.6",
+ "prost-build",
+ "rand",
+ "sc-client-api",
+ "sc-network",
+ "sc-network-types",
+ "sp-api",
+ "sp-authority-discovery",
+ "sp-blockchain",
+ "sp-core",
+ "sp-keystore",
+ "sp-runtime",
+ "substrate-prometheus-endpoint",
  "thiserror 1.0.69",
 ]
 
 [[package]]
 name = "sc-basic-authorship"
-version = "0.45.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "futures 0.3.31",
  "futures-timer",
@@ -11956,8 +12899,8 @@ dependencies = [
 
 [[package]]
 name = "sc-block-builder"
-version = "0.42.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -11971,8 +12914,8 @@ dependencies = [
 
 [[package]]
 name = "sc-chain-spec"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "docify",
@@ -11988,29 +12931,29 @@ dependencies = [
  "serde_json",
  "sp-blockchain",
  "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-genesis-builder",
  "sp-io",
  "sp-runtime",
  "sp-state-machine",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "sc-chain-spec-derive"
-version = "12.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "11.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "sc-cli"
-version = "0.47.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.36.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "chrono",
@@ -12034,6 +12977,7 @@ dependencies = [
  "sc-service",
  "sc-telemetry",
  "sc-tracing",
+ "sc-transaction-pool",
  "sc-utils",
  "serde",
  "serde_json",
@@ -12050,8 +12994,8 @@ dependencies = [
 
 [[package]]
 name = "sc-client-api"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "fnv",
  "futures 0.3.31",
@@ -12066,19 +13010,19 @@ dependencies = [
  "sp-consensus",
  "sp-core",
  "sp-database",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-runtime",
  "sp-state-machine",
  "sp-statement-store",
- "sp-storage",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-trie",
  "substrate-prometheus-endpoint",
 ]
 
 [[package]]
 name = "sc-client-db"
-version = "0.44.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.35.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "hash-db",
  "kvdb",
@@ -12102,8 +13046,8 @@ dependencies = [
 
 [[package]]
 name = "sc-consensus"
-version = "0.44.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "futures 0.3.31",
@@ -12126,8 +13070,8 @@ dependencies = [
 
 [[package]]
 name = "sc-consensus-aura"
-version = "0.45.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "futures 0.3.31",
@@ -12155,8 +13099,8 @@ dependencies = [
 
 [[package]]
 name = "sc-consensus-babe"
-version = "0.45.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "fork-tree",
@@ -12181,7 +13125,7 @@ dependencies = [
  "sp-consensus-babe",
  "sp-consensus-slots",
  "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-inherents",
  "sp-keystore",
  "sp-runtime",
@@ -12191,11 +13135,11 @@ dependencies = [
 
 [[package]]
 name = "sc-consensus-babe-rpc"
-version = "0.45.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "futures 0.3.31",
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "sc-consensus-babe",
  "sc-consensus-epochs",
  "sc-rpc-api",
@@ -12213,8 +13157,8 @@ dependencies = [
 
 [[package]]
 name = "sc-consensus-epochs"
-version = "0.44.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -12226,10 +13170,10 @@ dependencies = [
 
 [[package]]
 name = "sc-consensus-grandpa"
-version = "0.30.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.19.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "ahash 0.8.11",
+ "ahash",
  "array-bytes",
  "async-trait",
  "dyn-clone",
@@ -12261,7 +13205,7 @@ dependencies = [
  "sp-consensus",
  "sp-consensus-grandpa",
  "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-keystore",
  "sp-runtime",
  "substrate-prometheus-endpoint",
@@ -12270,12 +13214,12 @@ dependencies = [
 
 [[package]]
 name = "sc-consensus-grandpa-rpc"
-version = "0.30.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.19.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "finality-grandpa",
  "futures 0.3.31",
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "log",
  "parity-scale-codec",
  "sc-client-api",
@@ -12290,14 +13234,14 @@ dependencies = [
 
 [[package]]
 name = "sc-consensus-manual-seal"
-version = "0.46.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.35.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "assert_matches",
  "async-trait",
  "futures 0.3.31",
  "futures-timer",
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "log",
  "parity-scale-codec",
  "sc-client-api",
@@ -12325,8 +13269,8 @@ dependencies = [
 
 [[package]]
 name = "sc-consensus-slots"
-version = "0.44.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "futures 0.3.31",
@@ -12348,8 +13292,8 @@ dependencies = [
 
 [[package]]
 name = "sc-executor"
-version = "0.40.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.32.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "parking_lot 0.12.3",
@@ -12359,44 +13303,44 @@ dependencies = [
  "schnellru",
  "sp-api",
  "sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-io",
  "sp-panic-handler",
- "sp-runtime-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-trie",
  "sp-version",
- "sp-wasm-interface",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "tracing",
 ]
 
 [[package]]
 name = "sc-executor-common"
-version = "0.35.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.29.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "polkavm 0.9.3",
  "sc-allocator",
  "sp-maybe-compressed-blob",
- "sp-wasm-interface",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "thiserror 1.0.69",
  "wasm-instrument",
 ]
 
 [[package]]
 name = "sc-executor-polkavm"
-version = "0.32.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.29.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "log",
  "polkavm 0.9.3",
  "sc-executor-common",
- "sp-wasm-interface",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "sc-executor-wasmtime"
-version = "0.35.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.29.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "anyhow",
  "cfg-if",
@@ -12406,15 +13350,15 @@ dependencies = [
  "rustix 0.36.17",
  "sc-allocator",
  "sc-executor-common",
- "sp-runtime-interface",
- "sp-wasm-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "wasmtime",
 ]
 
 [[package]]
 name = "sc-informant"
-version = "0.44.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "console",
  "futures 0.3.31",
@@ -12430,8 +13374,8 @@ dependencies = [
 
 [[package]]
 name = "sc-keystore"
-version = "33.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "25.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "parking_lot 0.12.3",
@@ -12444,8 +13388,8 @@ dependencies = [
 
 [[package]]
 name = "sc-mixnet"
-version = "0.15.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.4.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "arrayvec 0.7.6",
@@ -12473,8 +13417,8 @@ dependencies = [
 
 [[package]]
 name = "sc-network"
-version = "0.45.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "async-channel 1.9.0",
@@ -12498,7 +13442,7 @@ dependencies = [
  "partial_sort",
  "pin-project",
  "prost 0.12.6",
- "prost-build 0.12.6",
+ "prost-build",
  "rand",
  "sc-client-api",
  "sc-network-common",
@@ -12524,15 +13468,15 @@ dependencies = [
 
 [[package]]
 name = "sc-network-common"
-version = "0.44.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "bitflags 1.3.2",
  "futures 0.3.31",
  "libp2p-identity",
  "parity-scale-codec",
- "prost-build 0.12.6",
+ "prost-build",
  "sc-consensus",
  "sc-network-types",
  "sp-consensus",
@@ -12542,10 +13486,10 @@ dependencies = [
 
 [[package]]
 name = "sc-network-gossip"
-version = "0.45.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "ahash 0.8.11",
+ "ahash",
  "futures 0.3.31",
  "futures-timer",
  "log",
@@ -12561,8 +13505,8 @@ dependencies = [
 
 [[package]]
 name = "sc-network-light"
-version = "0.44.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "async-channel 1.9.0",
@@ -12570,7 +13514,7 @@ dependencies = [
  "log",
  "parity-scale-codec",
  "prost 0.12.6",
- "prost-build 0.12.6",
+ "prost-build",
  "sc-client-api",
  "sc-network",
  "sc-network-types",
@@ -12582,8 +13526,8 @@ dependencies = [
 
 [[package]]
 name = "sc-network-sync"
-version = "0.44.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "async-channel 1.9.0",
@@ -12591,12 +13535,11 @@ dependencies = [
  "fork-tree",
  "futures 0.3.31",
  "futures-timer",
- "libp2p",
  "log",
  "mockall 0.11.4",
  "parity-scale-codec",
  "prost 0.12.6",
- "prost-build 0.12.6",
+ "prost-build",
  "sc-client-api",
  "sc-consensus",
  "sc-network",
@@ -12619,8 +13562,8 @@ dependencies = [
 
 [[package]]
 name = "sc-network-transactions"
-version = "0.44.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "futures 0.3.31",
@@ -12638,16 +13581,16 @@ dependencies = [
 
 [[package]]
 name = "sc-network-types"
-version = "0.12.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.10.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "bs58 0.5.1",
+ "bs58",
  "ed25519-dalek",
  "libp2p-identity",
  "litep2p",
  "log",
  "multiaddr 0.18.2",
- "multihash 0.19.2",
+ "multihash 0.19.3",
  "rand",
  "thiserror 1.0.69",
  "zeroize",
@@ -12655,22 +13598,25 @@ dependencies = [
 
 [[package]]
 name = "sc-offchain"
-version = "40.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "29.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "bytes",
  "fnv",
  "futures 0.3.31",
  "futures-timer",
- "hyper 0.14.31",
- "hyper-rustls 0.24.2",
+ "http-body-util",
+ "hyper 1.5.2",
+ "hyper-rustls 0.27.5",
+ "hyper-util",
  "log",
  "num_cpus",
  "once_cell",
  "parity-scale-codec",
  "parking_lot 0.12.3",
  "rand",
+ "rustls 0.23.21",
  "sc-client-api",
  "sc-network",
  "sc-network-common",
@@ -12679,7 +13625,7 @@ dependencies = [
  "sc-utils",
  "sp-api",
  "sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-keystore",
  "sp-offchain",
  "sp-runtime",
@@ -12689,8 +13635,8 @@ dependencies = [
 
 [[package]]
 name = "sc-proposer-metrics"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.17.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -12698,11 +13644,11 @@ dependencies = [
 
 [[package]]
 name = "sc-rpc"
-version = "40.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "29.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "futures 0.3.31",
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "log",
  "parity-scale-codec",
  "parking_lot 0.12.3",
@@ -12730,10 +13676,10 @@ dependencies = [
 
 [[package]]
 name = "sc-rpc-api"
-version = "0.44.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.33.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "parity-scale-codec",
  "sc-chain-spec",
  "sc-mixnet",
@@ -12750,38 +13696,39 @@ dependencies = [
 
 [[package]]
 name = "sc-rpc-server"
-version = "17.1.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "11.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "dyn-clone",
  "forwarded-header-value",
  "futures 0.3.31",
  "governor",
- "http 1.1.0",
+ "http 1.2.0",
  "http-body-util",
- "hyper 1.5.0",
+ "hyper 1.5.2",
  "ip_network",
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "log",
  "sc-rpc-api",
  "serde",
  "serde_json",
  "substrate-prometheus-endpoint",
  "tokio",
- "tower",
+ "tower 0.4.13",
  "tower-http",
 ]
 
 [[package]]
 name = "sc-rpc-spec-v2"
-version = "0.45.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "futures 0.3.31",
  "futures-util",
  "hex",
- "jsonrpsee",
+ "itertools 0.11.0",
+ "jsonrpsee 0.24.7",
  "log",
  "parity-scale-codec",
  "parking_lot 0.12.3",
@@ -12790,7 +13737,6 @@ dependencies = [
  "sc-client-api",
  "sc-rpc",
  "sc-transaction-pool-api",
- "sc-utils",
  "schnellru",
  "serde",
  "sp-api",
@@ -12806,15 +13752,15 @@ dependencies = [
 
 [[package]]
 name = "sc-service"
-version = "0.46.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.35.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "directories",
  "exit-future",
  "futures 0.3.31",
  "futures-timer",
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "log",
  "parity-scale-codec",
  "parking_lot 0.12.3",
@@ -12849,12 +13795,12 @@ dependencies = [
  "sp-blockchain",
  "sp-consensus",
  "sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-keystore",
  "sp-runtime",
  "sp-session",
  "sp-state-machine",
- "sp-storage",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-transaction-pool",
  "sp-transaction-storage-proof",
  "sp-trie",
@@ -12870,8 +13816,8 @@ dependencies = [
 
 [[package]]
 name = "sc-state-db"
-version = "0.36.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.30.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -12881,8 +13827,8 @@ dependencies = [
 
 [[package]]
 name = "sc-sysinfo"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "derive_more 0.99.18",
  "futures 0.3.31",
@@ -12895,15 +13841,15 @@ dependencies = [
  "serde",
  "serde_json",
  "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-io",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "sc-telemetry"
-version = "25.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "15.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "chrono",
  "futures 0.3.31",
@@ -12922,13 +13868,12 @@ dependencies = [
 
 [[package]]
 name = "sc-tracing"
-version = "37.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "chrono",
  "console",
  "is-terminal",
- "lazy_static",
  "libc",
  "log",
  "parity-scale-codec",
@@ -12942,7 +13887,7 @@ dependencies = [
  "sp-core",
  "sp-rpc",
  "sp-runtime",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "thiserror 1.0.69",
  "tracing",
  "tracing-log",
@@ -12952,22 +13897,24 @@ dependencies = [
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "11.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "sc-transaction-pool"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "futures 0.3.31",
  "futures-timer",
+ "indexmap 2.7.1",
+ "itertools 0.11.0",
  "linked-hash-map",
  "log",
  "parity-scale-codec",
@@ -12979,18 +13926,20 @@ dependencies = [
  "sp-api",
  "sp-blockchain",
  "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-runtime",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-transaction-pool",
  "substrate-prometheus-endpoint",
  "thiserror 1.0.69",
+ "tokio",
+ "tokio-stream",
 ]
 
 [[package]]
 name = "sc-transaction-pool-api"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "futures 0.3.31",
@@ -13005,13 +13954,12 @@ dependencies = [
 
 [[package]]
 name = "sc-utils"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "14.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-channel 1.9.0",
  "futures 0.3.31",
  "futures-timer",
- "lazy_static",
  "log",
  "parking_lot 0.12.3",
  "prometheus",
@@ -13055,6 +14003,21 @@ dependencies = [
  "smallvec",
 ]
 
+[[package]]
+name = "scale-decode"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e98f3262c250d90e700bb802eb704e1f841e03331c2eb815e46516c4edbf5b27"
+dependencies = [
+ "derive_more 0.99.18",
+ "parity-scale-codec",
+ "primitive-types 0.12.2",
+ "scale-bits 0.6.0",
+ "scale-decode-derive 0.13.1",
+ "scale-type-resolver 0.2.0",
+ "smallvec",
+]
+
 [[package]]
 name = "scale-decode"
 version = "0.14.0"
@@ -13065,21 +14028,33 @@ dependencies = [
  "parity-scale-codec",
  "primitive-types 0.13.1",
  "scale-bits 0.6.0",
- "scale-decode-derive",
+ "scale-decode-derive 0.14.0",
  "scale-type-resolver 0.2.0",
  "smallvec",
 ]
 
+[[package]]
+name = "scale-decode-derive"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bb22f574168103cdd3133b19281639ca65ad985e24612728f727339dcaf4021"
+dependencies = [
+ "darling 0.14.4",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
 [[package]]
 name = "scale-decode-derive"
 version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5ed9401effa946b493f9f84dc03714cca98119b230497df6f3df6b84a2b03648"
 dependencies = [
- "darling",
+ "darling 0.20.10",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -13095,6 +14070,21 @@ dependencies = [
  "smallvec",
 ]
 
+[[package]]
+name = "scale-encode"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "528464e6ae6c8f98e2b79633bf79ef939552e795e316579dab09c61670d56602"
+dependencies = [
+ "derive_more 0.99.18",
+ "parity-scale-codec",
+ "primitive-types 0.12.2",
+ "scale-bits 0.6.0",
+ "scale-encode-derive 0.7.2",
+ "scale-type-resolver 0.2.0",
+ "smallvec",
+]
+
 [[package]]
 name = "scale-encode"
 version = "0.8.0"
@@ -13105,29 +14095,42 @@ dependencies = [
  "parity-scale-codec",
  "primitive-types 0.13.1",
  "scale-bits 0.6.0",
- "scale-encode-derive",
+ "scale-encode-derive 0.8.0",
  "scale-type-resolver 0.2.0",
  "smallvec",
 ]
 
+[[package]]
+name = "scale-encode-derive"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef2618f123c88da9cd8853b69d766068f1eddc7692146d7dfe9b89e25ce2efd"
+dependencies = [
+ "darling 0.20.10",
+ "proc-macro-crate 3.2.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
+]
+
 [[package]]
 name = "scale-encode-derive"
 version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "102fbc6236de6c53906c0b262f12c7aa69c2bdc604862c12728f5f4d370bc137"
 dependencies = [
- "darling",
+ "darling 0.20.10",
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "scale-info"
-version = "2.11.5"
+version = "2.11.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1aa7ffc1c0ef49b0452c6e2986abf2b07743320641ffd5fc63d552458e3b779b"
+checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b"
 dependencies = [
  "bitvec",
  "cfg-if",
@@ -13139,14 +14142,14 @@ dependencies = [
 
 [[package]]
 name = "scale-info-derive"
-version = "2.11.5"
+version = "2.11.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46385cc24172cf615450267463f937c10072516359b3ff1cb24228a4a08bf951"
+checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf"
 dependencies = [
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -13169,6 +14172,19 @@ dependencies = [
  "smallvec",
 ]
 
+[[package]]
+name = "scale-typegen"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "498d1aecf2ea61325d4511787c115791639c0fd21ef4f8e11e49dd09eff2bbac"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "scale-info",
+ "syn 2.0.96",
+ "thiserror 1.0.69",
+]
+
 [[package]]
 name = "scale-typegen"
 version = "0.9.0"
@@ -13178,7 +14194,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "scale-info",
- "syn 2.0.87",
+ "syn 2.0.96",
  "thiserror 1.0.69",
 ]
 
@@ -13199,6 +14215,27 @@ dependencies = [
  "scale-type-resolver 0.1.1",
 ]
 
+[[package]]
+name = "scale-value"
+version = "0.16.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cd6ab090d823e75cfdb258aad5fe92e13f2af7d04b43a55d607d25fcc38c811"
+dependencies = [
+ "base58",
+ "blake2 0.10.6",
+ "derive_more 0.99.18",
+ "either",
+ "frame-metadata 15.1.0",
+ "parity-scale-codec",
+ "scale-bits 0.6.0",
+ "scale-decode 0.13.1",
+ "scale-encode 0.7.2",
+ "scale-info",
+ "scale-type-resolver 0.2.0",
+ "serde",
+ "yap",
+]
+
 [[package]]
 name = "scale-value"
 version = "0.17.0"
@@ -13221,20 +14258,20 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1"
+checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d"
 dependencies = [
  "windows-sys 0.59.0",
 ]
 
 [[package]]
 name = "schnellru"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367"
+checksum = "356285bbf17bea63d9e52e96bd18f039672ac92b55b8cb997d6162a2a37d1649"
 dependencies = [
- "ahash 0.8.11",
+ "ahash",
  "cfg-if",
  "hashbrown 0.13.2",
 ]
@@ -13280,21 +14317,6 @@ dependencies = [
  "untrusted 0.9.0",
 ]
 
-[[package]]
-name = "sctp-proto"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6220f78bb44c15f326b0596113305f6101097a18755d53727a575c97e09fb24"
-dependencies = [
- "bytes",
- "crc",
- "fxhash",
- "log",
- "rand",
- "slab",
- "thiserror 1.0.69",
-]
-
 [[package]]
 name = "sealed"
 version = "0.5.0"
@@ -13304,7 +14326,7 @@ dependencies = [
  "heck 0.4.1",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -13355,19 +14377,32 @@ version = "2.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
 dependencies = [
- "bitflags 2.6.0",
- "core-foundation",
+ "bitflags 2.8.0",
+ "core-foundation 0.9.4",
  "core-foundation-sys",
  "libc",
  "num-bigint",
  "security-framework-sys",
 ]
 
+[[package]]
+name = "security-framework"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316"
+dependencies = [
+ "bitflags 2.8.0",
+ "core-foundation 0.10.0",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
 [[package]]
 name = "security-framework-sys"
-version = "2.12.1"
+version = "2.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2"
+checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -13397,14 +14432,14 @@ version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
 dependencies = [
- "semver-parser 0.10.2",
+ "semver-parser 0.10.3",
 ]
 
 [[package]]
 name = "semver"
-version = "1.0.23"
+version = "1.0.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03"
 dependencies = [
  "serde",
 ]
@@ -13417,13 +14452,19 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "semver-parser"
-version = "0.10.2"
+version = "0.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
+checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2"
 dependencies = [
  "pest",
 ]
 
+[[package]]
+name = "send_wrapper"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0"
+
 [[package]]
 name = "send_wrapper"
 version = "0.6.0"
@@ -13432,9 +14473,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73"
 
 [[package]]
 name = "serde"
-version = "1.0.215"
+version = "1.0.217"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
+checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
 dependencies = [
  "serde_derive",
 ]
@@ -13459,20 +14500,20 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.215"
+version = "1.0.217"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
+checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.132"
+version = "1.0.137"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
+checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b"
 dependencies = [
  "itoa",
  "memchr",
@@ -13507,7 +14548,7 @@ version = "0.9.34+deprecated"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
 dependencies = [
- "indexmap 2.6.0",
+ "indexmap 2.7.1",
  "itoa",
  "ryu",
  "serde",
@@ -13526,14 +14567,15 @@ dependencies = [
 
 [[package]]
 name = "sha-1"
-version = "0.10.1"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c"
+checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6"
 dependencies = [
+ "block-buffer 0.9.0",
  "cfg-if",
  "cpufeatures",
- "digest 0.10.7",
- "sha1-asm",
+ "digest 0.9.0",
+ "opaque-debug 0.3.1",
 ]
 
 [[package]]
@@ -13547,15 +14589,6 @@ dependencies = [
  "digest 0.10.7",
 ]
 
-[[package]]
-name = "sha1-asm"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "286acebaf8b67c1130aedffad26f594eff0c1292389158135327d2e23aed582b"
-dependencies = [
- "cc",
-]
-
 [[package]]
 name = "sha2"
 version = "0.9.9"
@@ -13639,11 +14672,11 @@ dependencies = [
 
 [[package]]
 name = "simple-dns"
-version = "0.5.7"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cae9a3fcdadafb6d97f4c0e007e4247b114ee0f119f650c3cbf3a8b3a1479694"
+checksum = "4c80e565e7dcc4f1ef247e2f395550d4cf7d777746d5988e7e4e3156b71077fc"
 dependencies = [
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
 ]
 
 [[package]]
@@ -13691,8 +14724,8 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7"
 
 [[package]]
 name = "slot-range-helper"
-version = "15.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "enumn",
  "parity-scale-codec",
@@ -13714,7 +14747,7 @@ checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -13740,6 +14773,61 @@ dependencies = [
  "futures-lite",
 ]
 
+[[package]]
+name = "smoldot"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9"
+dependencies = [
+ "arrayvec 0.7.6",
+ "async-lock",
+ "atomic-take",
+ "base64 0.21.7",
+ "bip39",
+ "blake2-rfc",
+ "bs58",
+ "chacha20",
+ "crossbeam-queue",
+ "derive_more 0.99.18",
+ "ed25519-zebra",
+ "either",
+ "event-listener 4.0.3",
+ "fnv",
+ "futures-lite",
+ "futures-util",
+ "hashbrown 0.14.5",
+ "hex",
+ "hmac 0.12.1",
+ "itertools 0.12.1",
+ "libm",
+ "libsecp256k1",
+ "merlin",
+ "no-std-net",
+ "nom",
+ "num-bigint",
+ "num-rational",
+ "num-traits 0.2.19",
+ "pbkdf2",
+ "pin-project",
+ "poly1305",
+ "rand",
+ "rand_chacha",
+ "ruzstd 0.5.0",
+ "schnorrkel",
+ "serde",
+ "serde_json",
+ "sha2 0.10.8",
+ "sha3",
+ "siphasher 1.0.1",
+ "slab",
+ "smallvec",
+ "soketto 0.7.1",
+ "twox-hash",
+ "wasmi 0.31.2",
+ "x25519-dalek",
+ "zeroize",
+]
+
 [[package]]
 name = "smoldot"
 version = "0.18.0"
@@ -13752,13 +14840,13 @@ dependencies = [
  "base64 0.22.1",
  "bip39",
  "blake2-rfc",
- "bs58 0.5.1",
+ "bs58",
  "chacha20",
  "crossbeam-queue",
  "derive_more 0.99.18",
  "ed25519-zebra",
  "either",
- "event-listener 5.3.1",
+ "event-listener 5.4.0",
  "fnv",
  "futures-lite",
  "futures-util",
@@ -13778,7 +14866,7 @@ dependencies = [
  "poly1305",
  "rand",
  "rand_chacha",
- "ruzstd",
+ "ruzstd 0.6.0",
  "schnorrkel",
  "serde",
  "serde_json",
@@ -13787,13 +14875,49 @@ dependencies = [
  "siphasher 1.0.1",
  "slab",
  "smallvec",
- "soketto",
+ "soketto 0.8.1",
  "twox-hash",
- "wasmi",
+ "wasmi 0.32.3",
  "x25519-dalek",
  "zeroize",
 ]
 
+[[package]]
+name = "smoldot-light"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5496f2d116b7019a526b1039ec2247dd172b8670633b1a64a614c9ea12c9d8c7"
+dependencies = [
+ "async-channel 2.3.1",
+ "async-lock",
+ "base64 0.21.7",
+ "blake2-rfc",
+ "derive_more 0.99.18",
+ "either",
+ "event-listener 4.0.3",
+ "fnv",
+ "futures-channel",
+ "futures-lite",
+ "futures-util",
+ "hashbrown 0.14.5",
+ "hex",
+ "itertools 0.12.1",
+ "log",
+ "lru",
+ "no-std-net",
+ "parking_lot 0.12.3",
+ "pin-project",
+ "rand",
+ "rand_chacha",
+ "serde",
+ "serde_json",
+ "siphasher 1.0.1",
+ "slab",
+ "smol",
+ "smoldot 0.16.0",
+ "zeroize",
+]
+
 [[package]]
 name = "smoldot-light"
 version = "0.16.2"
@@ -13804,10 +14928,10 @@ dependencies = [
  "async-lock",
  "base64 0.22.1",
  "blake2-rfc",
- "bs58 0.5.1",
+ "bs58",
  "derive_more 0.99.18",
  "either",
- "event-listener 5.3.1",
+ "event-listener 5.4.0",
  "fnv",
  "futures-channel",
  "futures-lite",
@@ -13816,7 +14940,7 @@ dependencies = [
  "hex",
  "itertools 0.13.0",
  "log",
- "lru 0.12.5",
+ "lru",
  "parking_lot 0.12.3",
  "pin-project",
  "rand",
@@ -13826,7 +14950,7 @@ dependencies = [
  "siphasher 1.0.1",
  "slab",
  "smol",
- "smoldot",
+ "smoldot 0.18.0",
  "zeroize",
 ]
 
@@ -13865,14 +14989,14 @@ dependencies = [
 
 [[package]]
 name = "snowbridge-beacon-primitives"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "byte-slice-cast",
  "frame-support",
  "hex",
  "parity-scale-codec",
- "rlp",
+ "rlp 0.6.1",
  "scale-info",
  "serde",
  "snowbridge-ethereum",
@@ -13880,15 +15004,15 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "ssz_rs",
  "ssz_rs_derive",
 ]
 
 [[package]]
 name = "snowbridge-core"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "ethabi-decode",
  "frame-support",
@@ -13903,29 +15027,29 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-builder",
 ]
 
 [[package]]
 name = "snowbridge-ethereum"
-version = "0.9.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.3.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "ethabi-decode",
- "ethbloom",
- "ethereum-types",
+ "ethbloom 0.14.1",
+ "ethereum-types 0.15.1",
  "hex-literal",
  "parity-bytes",
  "parity-scale-codec",
- "rlp",
+ "rlp 0.6.1",
  "scale-info",
  "serde",
  "serde-big-array",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
@@ -13945,8 +15069,8 @@ dependencies = [
 
 [[package]]
 name = "snowbridge-outbound-queue-merkle-tree"
-version = "0.9.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.3.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -13956,21 +15080,21 @@ dependencies = [
 
 [[package]]
 name = "snowbridge-outbound-queue-runtime-api"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
  "snowbridge-core",
  "snowbridge-outbound-queue-merkle-tree",
  "sp-api",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "snowbridge-pallet-ethereum-client"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -13987,26 +15111,26 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "static_assertions",
 ]
 
 [[package]]
 name = "snowbridge-pallet-ethereum-client-fixtures"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.9.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "hex-literal",
  "snowbridge-beacon-primitives",
  "snowbridge-core",
  "sp-core",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "snowbridge-pallet-inbound-queue"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "alloy-primitives",
  "alloy-sol-types",
@@ -14025,27 +15149,27 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-executor",
 ]
 
 [[package]]
 name = "snowbridge-pallet-inbound-queue-fixtures"
-version = "0.18.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.10.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "hex-literal",
  "snowbridge-beacon-primitives",
  "snowbridge-core",
  "sp-core",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "snowbridge-pallet-outbound-queue"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bridge-hub-common",
  "ethabi-decode",
@@ -14061,13 +15185,13 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "snowbridge-pallet-system"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -14079,15 +15203,15 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-executor",
 ]
 
 [[package]]
 name = "snowbridge-router-primitives"
-version = "0.16.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.9.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "hex-literal",
@@ -14098,22 +15222,22 @@ dependencies = [
  "sp-core",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-executor",
 ]
 
 [[package]]
 name = "snowbridge-runtime-common"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "log",
  "parity-scale-codec",
  "snowbridge-core",
  "sp-arithmetic",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-builder",
  "staging-xcm-executor",
@@ -14121,8 +15245,8 @@ dependencies = [
 
 [[package]]
 name = "snowbridge-runtime-test-common"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-pallet-parachain-system",
  "frame-support",
@@ -14152,13 +15276,13 @@ dependencies = [
 
 [[package]]
 name = "snowbridge-system-runtime-api"
-version = "0.10.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.2.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "snowbridge-core",
  "sp-api",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
 ]
 
@@ -14174,9 +15298,9 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.7"
+version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
+checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8"
 dependencies = [
  "libc",
  "windows-sys 0.52.0",
@@ -14184,14 +15308,29 @@ dependencies = [
 
 [[package]]
 name = "soketto"
-version = "0.8.0"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2"
+dependencies = [
+ "base64 0.13.1",
+ "bytes",
+ "futures 0.3.31",
+ "httparse",
+ "log",
+ "rand",
+ "sha-1",
+]
+
+[[package]]
+name = "soketto"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53"
+checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721"
 dependencies = [
  "base64 0.22.1",
  "bytes",
  "futures 0.3.31",
- "http 1.1.0",
+ "http 1.2.0",
  "httparse",
  "log",
  "rand",
@@ -14200,8 +15339,8 @@ dependencies = [
 
 [[package]]
 name = "sp-api"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "hash-db",
@@ -14210,10 +15349,10 @@ dependencies = [
  "scale-info",
  "sp-api-proc-macro",
  "sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-metadata-ir",
  "sp-runtime",
- "sp-runtime-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-state-machine",
  "sp-trie",
  "sp-version",
@@ -14222,8 +15361,8 @@ dependencies = [
 
 [[package]]
 name = "sp-api-proc-macro"
-version = "20.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "15.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "Inflector",
  "blake2 0.10.6",
@@ -14231,13 +15370,13 @@ dependencies = [
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "sp-application-crypto"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "30.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -14248,8 +15387,8 @@ dependencies = [
 
 [[package]]
 name = "sp-arithmetic"
-version = "26.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "23.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "integer-sqrt",
@@ -14260,10 +15399,28 @@ dependencies = [
  "static_assertions",
 ]
 
+[[package]]
+name = "sp-ark-bls12-381"
+version = "0.4.2"
+source = "git+https://github.com/duniter/arkworks-substrate#1dbec3114648697c992d3d022ade24c7a221c4c8"
+dependencies = [
+ "ark-bls12-381-ext",
+ "sp-crypto-ec-utils 0.10.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
+]
+
+[[package]]
+name = "sp-ark-ed-on-bls12-381-bandersnatch"
+version = "0.4.2"
+source = "git+https://github.com/duniter/arkworks-substrate#1dbec3114648697c992d3d022ade24c7a221c4c8"
+dependencies = [
+ "ark-ed-on-bls12-381-bandersnatch-ext",
+ "sp-crypto-ec-utils 0.10.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
+]
+
 [[package]]
 name = "sp-authority-discovery"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -14274,8 +15431,8 @@ dependencies = [
 
 [[package]]
 name = "sp-block-builder"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "sp-api",
  "sp-inherents",
@@ -14284,8 +15441,8 @@ dependencies = [
 
 [[package]]
 name = "sp-blockchain"
-version = "37.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "futures 0.3.31",
  "parity-scale-codec",
@@ -14303,8 +15460,8 @@ dependencies = [
 
 [[package]]
 name = "sp-consensus"
-version = "0.40.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.32.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "futures 0.3.31",
@@ -14318,8 +15475,8 @@ dependencies = [
 
 [[package]]
 name = "sp-consensus-aura"
-version = "0.40.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.32.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -14334,8 +15491,8 @@ dependencies = [
 
 [[package]]
 name = "sp-consensus-babe"
-version = "0.40.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.32.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -14352,17 +15509,16 @@ dependencies = [
 
 [[package]]
 name = "sp-consensus-beefy"
-version = "22.1.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "13.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "lazy_static",
  "parity-scale-codec",
  "scale-info",
  "serde",
  "sp-api",
  "sp-application-crypto",
  "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-io",
  "sp-keystore",
  "sp-mmr-primitives",
@@ -14373,8 +15529,8 @@ dependencies = [
 
 [[package]]
 name = "sp-consensus-grandpa"
-version = "21.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "13.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -14390,8 +15546,8 @@ dependencies = [
 
 [[package]]
 name = "sp-consensus-pow"
-version = "0.40.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.32.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -14401,8 +15557,8 @@ dependencies = [
 
 [[package]]
 name = "sp-consensus-slots"
-version = "0.40.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.32.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -14412,20 +15568,21 @@ dependencies = [
 
 [[package]]
 name = "sp-core"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
+ "bandersnatch_vrfs",
  "bitflags 1.3.2",
  "blake2 0.10.6",
  "bounded-collections",
- "bs58 0.5.1",
+ "bs58",
  "dyn-clonable",
  "ed25519-zebra",
  "futures 0.3.31",
  "hash-db",
  "hash256-std-hasher",
- "impl-serde 0.4.0",
+ "impl-serde 0.5.0",
  "itertools 0.11.0",
  "k256",
  "libsecp256k1",
@@ -14435,19 +15592,19 @@ dependencies = [
  "parity-scale-codec",
  "parking_lot 0.12.3",
  "paste",
- "primitive-types 0.12.2",
+ "primitive-types 0.13.1",
  "rand",
  "scale-info",
  "schnorrkel",
  "secp256k1",
  "secrecy",
  "serde",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
- "sp-debug-derive",
- "sp-externalities",
- "sp-runtime-interface",
- "sp-std",
- "sp-storage",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-debug-derive 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "ss58-registry",
  "substrate-bip39",
  "thiserror 1.0.69",
@@ -14458,16 +15615,36 @@ dependencies = [
 
 [[package]]
 name = "sp-core-hashing"
-version = "16.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "15.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "sp-crypto-ec-utils"
-version = "0.14.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.10.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "ark-bls12-377",
+ "ark-bls12-377-ext",
+ "ark-bls12-381",
+ "ark-bls12-381-ext",
+ "ark-bw6-761",
+ "ark-bw6-761-ext",
+ "ark-ec 0.4.2",
+ "ark-ed-on-bls12-377",
+ "ark-ed-on-bls12-377-ext",
+ "ark-ed-on-bls12-381-bandersnatch",
+ "ark-ed-on-bls12-381-bandersnatch-ext",
+ "ark-scale",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+]
+
+[[package]]
+name = "sp-crypto-ec-utils"
+version = "0.10.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "ark-bls12-377",
  "ark-bls12-377-ext",
@@ -14475,13 +15652,13 @@ dependencies = [
  "ark-bls12-381-ext",
  "ark-bw6-761",
  "ark-bw6-761-ext",
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ed-on-bls12-377",
  "ark-ed-on-bls12-377-ext",
  "ark-ed-on-bls12-381-bandersnatch",
  "ark-ed-on-bls12-381-bandersnatch-ext",
  "ark-scale",
- "sp-runtime-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
 ]
 
 [[package]]
@@ -14501,7 +15678,7 @@ dependencies = [
 [[package]]
 name = "sp-crypto-hashing"
 version = "0.1.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "blake2b_simd",
  "byteorder",
@@ -14514,17 +15691,17 @@ dependencies = [
 [[package]]
 name = "sp-crypto-hashing-proc-macro"
 version = "0.1.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "quote",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
- "syn 2.0.87",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "sp-database"
 version = "10.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "kvdb",
  "parking_lot 0.12.3",
@@ -14533,11 +15710,21 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "14.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
+]
+
+[[package]]
+name = "sp-debug-derive"
+version = "14.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -14556,18 +15743,28 @@ dependencies = [
 
 [[package]]
 name = "sp-externalities"
-version = "0.29.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.25.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "environmental",
+ "parity-scale-codec",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+]
+
+[[package]]
+name = "sp-externalities"
+version = "0.25.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "environmental",
  "parity-scale-codec",
- "sp-storage",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
 ]
 
 [[package]]
 name = "sp-genesis-builder"
-version = "0.15.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.8.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -14578,8 +15775,8 @@ dependencies = [
 
 [[package]]
 name = "sp-inherents"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
@@ -14591,8 +15788,8 @@ dependencies = [
 
 [[package]]
 name = "sp-io"
-version = "38.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "30.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bytes",
  "docify",
@@ -14604,12 +15801,12 @@ dependencies = [
  "rustversion",
  "secp256k1",
  "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
- "sp-externalities",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-keystore",
- "sp-runtime-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-state-machine",
- "sp-tracing",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-trie",
  "tracing",
  "tracing-core",
@@ -14617,8 +15814,8 @@ dependencies = [
 
 [[package]]
 name = "sp-keyring"
-version = "39.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "31.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "sp-core",
  "sp-runtime",
@@ -14627,19 +15824,19 @@ dependencies = [
 
 [[package]]
 name = "sp-keystore"
-version = "0.40.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.34.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "parking_lot 0.12.3",
  "sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
 name = "sp-maybe-compressed-blob"
 version = "11.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "thiserror 1.0.69",
  "zstd 0.12.4",
@@ -14658,18 +15855,18 @@ dependencies = [
 
 [[package]]
 name = "sp-metadata-ir"
-version = "0.7.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.6.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "frame-metadata 16.0.0",
+ "frame-metadata 18.0.0",
  "parity-scale-codec",
  "scale-info",
 ]
 
 [[package]]
 name = "sp-mixnet"
-version = "0.12.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.4.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -14679,8 +15876,8 @@ dependencies = [
 
 [[package]]
 name = "sp-mmr-primitives"
-version = "34.1.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -14689,15 +15886,15 @@ dependencies = [
  "serde",
  "sp-api",
  "sp-core",
- "sp-debug-derive",
+ "sp-debug-derive 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-runtime",
  "thiserror 1.0.69",
 ]
 
 [[package]]
 name = "sp-npos-elections"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -14709,8 +15906,8 @@ dependencies = [
 
 [[package]]
 name = "sp-offchain"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -14720,17 +15917,16 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "13.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "backtrace",
- "lazy_static",
  "regex",
 ]
 
 [[package]]
 name = "sp-rpc"
-version = "32.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "rustc-hash 1.1.0",
  "serde",
@@ -14739,9 +15935,10 @@ dependencies = [
 
 [[package]]
 name = "sp-runtime"
-version = "39.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "31.0.1"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
+ "binary-merkle-tree",
  "docify",
  "either",
  "hash256-std-hasher",
@@ -14758,47 +15955,81 @@ dependencies = [
  "sp-arithmetic",
  "sp-core",
  "sp-io",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-trie",
  "sp-weights",
  "tracing",
+ "tuplex",
 ]
 
 [[package]]
 name = "sp-runtime-interface"
-version = "28.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "24.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bytes",
  "impl-trait-for-tuples",
  "parity-scale-codec",
  "polkavm-derive 0.9.1",
- "primitive-types 0.12.2",
- "sp-externalities",
- "sp-runtime-interface-proc-macro",
- "sp-std",
- "sp-storage",
- "sp-tracing",
- "sp-wasm-interface",
+ "primitive-types 0.13.1",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "static_assertions",
+]
+
+[[package]]
+name = "sp-runtime-interface"
+version = "24.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "bytes",
+ "impl-trait-for-tuples",
+ "parity-scale-codec",
+ "polkavm-derive 0.9.1",
+ "primitive-types 0.13.1",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
+ "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
+ "sp-storage 19.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
+ "sp-wasm-interface 20.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
  "static_assertions",
 ]
 
 [[package]]
 name = "sp-runtime-interface-proc-macro"
-version = "18.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "17.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "Inflector",
  "expander",
  "proc-macro-crate 3.2.0",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
+]
+
+[[package]]
+name = "sp-runtime-interface-proc-macro"
+version = "17.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "Inflector",
+ "expander",
+ "proc-macro-crate 3.2.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "sp-session"
-version = "36.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -14811,8 +16042,8 @@ dependencies = [
 
 [[package]]
 name = "sp-staking"
-version = "36.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -14824,8 +16055,8 @@ dependencies = [
 
 [[package]]
 name = "sp-state-machine"
-version = "0.43.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.35.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "hash-db",
  "log",
@@ -14834,7 +16065,7 @@ dependencies = [
  "rand",
  "smallvec",
  "sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-panic-handler",
  "sp-trie",
  "thiserror 1.0.69",
@@ -14844,8 +16075,8 @@ dependencies = [
 
 [[package]]
 name = "sp-statement-store"
-version = "18.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "10.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "aes-gcm",
  "curve25519-dalek",
@@ -14858,10 +16089,10 @@ dependencies = [
  "sp-api",
  "sp-application-crypto",
  "sp-core",
- "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2)",
- "sp-externalities",
+ "sp-crypto-hashing 0.1.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-runtime",
- "sp-runtime-interface",
+ "sp-runtime-interface 24.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "thiserror 1.0.69",
  "x25519-dalek",
 ]
@@ -14869,24 +16100,41 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "14.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+
+[[package]]
+name = "sp-std"
+version = "14.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 
 [[package]]
 name = "sp-storage"
-version = "21.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "19.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "impl-serde 0.4.0",
+ "impl-serde 0.5.0",
+ "parity-scale-codec",
+ "ref-cast",
+ "serde",
+ "sp-debug-derive 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+]
+
+[[package]]
+name = "sp-storage"
+version = "19.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "impl-serde 0.5.0",
  "parity-scale-codec",
  "ref-cast",
  "serde",
- "sp-debug-derive",
+ "sp-debug-derive 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk)",
 ]
 
 [[package]]
 name = "sp-timestamp"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -14897,8 +16145,19 @@ dependencies = [
 
 [[package]]
 name = "sp-tracing"
-version = "17.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "16.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "parity-scale-codec",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "sp-tracing"
+version = "16.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
  "tracing",
@@ -14908,8 +16167,8 @@ dependencies = [
 
 [[package]]
 name = "sp-transaction-pool"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "sp-api",
  "sp-runtime",
@@ -14917,8 +16176,8 @@ dependencies = [
 
 [[package]]
 name = "sp-transaction-storage-proof"
-version = "34.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "26.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -14931,12 +16190,11 @@ dependencies = [
 
 [[package]]
 name = "sp-trie"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "29.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "ahash 0.8.11",
+ "ahash",
  "hash-db",
- "lazy_static",
  "memory-db",
  "nohash-hasher",
  "parity-scale-codec",
@@ -14945,7 +16203,7 @@ dependencies = [
  "scale-info",
  "schnellru",
  "sp-core",
- "sp-externalities",
+ "sp-externalities 0.25.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "thiserror 1.0.69",
  "tracing",
  "trie-db",
@@ -14954,36 +16212,37 @@ dependencies = [
 
 [[package]]
 name = "sp-version"
-version = "37.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "29.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
- "impl-serde 0.4.0",
+ "impl-serde 0.5.0",
  "parity-scale-codec",
  "parity-wasm",
  "scale-info",
  "serde",
  "sp-crypto-hashing-proc-macro",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "sp-version-proc-macro",
  "thiserror 1.0.69",
 ]
 
 [[package]]
 name = "sp-version-proc-macro"
-version = "14.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "13.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "parity-scale-codec",
+ "proc-macro-warning 1.0.2",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "sp-wasm-interface"
-version = "21.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "20.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "anyhow",
  "impl-trait-for-tuples",
@@ -14992,10 +16251,21 @@ dependencies = [
  "wasmtime",
 ]
 
+[[package]]
+name = "sp-wasm-interface"
+version = "20.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "anyhow",
+ "impl-trait-for-tuples",
+ "log",
+ "parity-scale-codec",
+]
+
 [[package]]
 name = "sp-weights"
-version = "31.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "27.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "bounded-collections",
  "parity-scale-codec",
@@ -15003,7 +16273,7 @@ dependencies = [
  "serde",
  "smallvec",
  "sp-arithmetic",
- "sp-debug-derive",
+ "sp-debug-derive 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
 ]
 
 [[package]]
@@ -15083,8 +16353,8 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
 
 [[package]]
 name = "staging-parachain-info"
-version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.7.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -15096,13 +16366,15 @@ dependencies = [
 
 [[package]]
 name = "staging-xcm"
-version = "14.2.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "array-bytes",
  "bounded-collections",
  "derivative",
  "environmental",
+ "frame-support",
+ "hex-literal",
  "impl-trait-for-tuples",
  "log",
  "parity-scale-codec",
@@ -15115,8 +16387,8 @@ dependencies = [
 
 [[package]]
 name = "staging-xcm-builder"
-version = "17.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -15137,8 +16409,8 @@ dependencies = [
 
 [[package]]
 name = "staging-xcm-executor"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "environmental",
  "frame-benchmarking",
@@ -15178,9 +16450,9 @@ dependencies = [
 
 [[package]]
 name = "static_init_macro"
-version = "1.0.2"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70a2595fc3aa78f2d0e45dd425b22282dd863273761cc77780914b2cf3003acf"
+checksum = "1389c88ddd739ec6d3f8f83343764a0e944cd23cfbf126a9796a714b0b6edd6f"
 dependencies = [
  "cfg_aliases 0.1.1",
  "memchr",
@@ -15189,26 +16461,6 @@ dependencies = [
  "syn 1.0.109",
 ]
 
-[[package]]
-name = "str0m"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6706347e49b13373f7ddfafad47df7583ed52083d6fc8a594eb2c80497ef959d"
-dependencies = [
- "combine 4.6.7",
- "crc",
- "fastrand",
- "hmac 0.12.1",
- "once_cell",
- "openssl",
- "openssl-sys",
- "sctp-proto",
- "serde",
- "sha-1",
- "thiserror 1.0.69",
- "tracing",
-]
-
 [[package]]
 name = "string-interner"
 version = "0.17.0"
@@ -15220,6 +16472,12 @@ dependencies = [
  "serde",
 ]
 
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
 [[package]]
 name = "strsim"
 version = "0.11.1"
@@ -15264,13 +16522,13 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "substrate-bip39"
-version = "0.6.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.4.7"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "hmac 0.12.1",
  "pbkdf2",
@@ -15282,17 +16540,17 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "11.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 
 [[package]]
 name = "substrate-frame-rpc-system"
-version = "39.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "28.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "docify",
  "frame-system-rpc-runtime-api",
  "futures 0.3.31",
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "log",
  "parity-scale-codec",
  "sc-rpc-api",
@@ -15307,10 +16565,10 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.17.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "http-body-util",
- "hyper 1.5.0",
+ "hyper 1.5.2",
  "hyper-util",
  "log",
  "prometheus",
@@ -15320,17 +16578,27 @@ dependencies = [
 
 [[package]]
 name = "substrate-wasm-builder"
-version = "24.0.1"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "17.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
+ "array-bytes",
  "build-helper",
  "cargo_metadata",
  "console",
  "filetime",
+ "frame-metadata 18.0.0",
  "jobserver",
+ "merkleized-metadata",
+ "parity-scale-codec",
  "parity-wasm",
  "polkavm-linker 0.9.2",
+ "sc-executor",
+ "shlex",
+ "sp-core",
+ "sp-io",
  "sp-maybe-compressed-blob",
+ "sp-tracing 16.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
+ "sp-version",
  "strum 0.26.3",
  "tempfile",
  "toml 0.8.19",
@@ -15363,16 +16631,52 @@ dependencies = [
  "lazy_static",
  "log",
  "proc-macro2",
- "semver 1.0.23",
+ "semver 1.0.25",
+ "serde",
+ "serde_json",
+ "syn 2.0.96",
+]
+
+[[package]]
+name = "subxt"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a160cba1edbf3ec4fbbeaea3f1a185f70448116a6bccc8276bb39adb3b3053bd"
+dependencies = [
+ "async-trait",
+ "derive-where",
+ "either",
+ "frame-metadata 16.0.0",
+ "futures 0.3.31",
+ "hex",
+ "impl-serde 0.4.0",
+ "instant",
+ "jsonrpsee 0.22.5",
+ "parity-scale-codec",
+ "primitive-types 0.12.2",
+ "reconnecting-jsonrpsee-ws-client",
+ "scale-bits 0.6.0",
+ "scale-decode 0.13.1",
+ "scale-encode 0.7.2",
+ "scale-info",
+ "scale-value 0.16.3",
  "serde",
  "serde_json",
- "syn 2.0.87",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "subxt-core 0.37.1",
+ "subxt-lightclient 0.37.0",
+ "subxt-macro 0.37.0",
+ "subxt-metadata 0.37.0",
+ "thiserror 1.0.69",
+ "tokio-util",
+ "tracing",
+ "url",
 ]
 
 [[package]]
 name = "subxt"
 version = "0.38.0"
-source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.16.2#7bd25b258a127627971a9c6920da8c508cf37ec0"
+source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.17.0#7044fccc5aaa1f838368a7f4a54f96d1f3f3040c"
 dependencies = [
  "async-trait",
  "derive-where",
@@ -15381,7 +16685,7 @@ dependencies = [
  "futures 0.3.31",
  "hex",
  "impl-serde 0.5.0",
- "jsonrpsee",
+ "jsonrpsee 0.24.7",
  "parity-scale-codec",
  "polkadot-sdk",
  "primitive-types 0.13.1",
@@ -15389,42 +16693,90 @@ dependencies = [
  "scale-decode 0.14.0",
  "scale-encode 0.8.0",
  "scale-info",
- "scale-value 0.17.0",
- "serde",
- "serde_json",
- "subxt-core",
- "subxt-lightclient",
- "subxt-macro",
- "subxt-metadata",
+ "scale-value 0.17.0",
+ "serde",
+ "serde_json",
+ "subxt-core 0.38.0",
+ "subxt-lightclient 0.38.0",
+ "subxt-macro 0.38.0",
+ "subxt-metadata 0.38.0",
+ "thiserror 1.0.69",
+ "tokio",
+ "tokio-util",
+ "tracing",
+ "url",
+ "wasm-bindgen-futures",
+ "web-time",
+]
+
+[[package]]
+name = "subxt-codegen"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d703dca0905cc5272d7cc27a4ac5f37dcaae7671acc7fef0200057cc8c317786"
+dependencies = [
+ "frame-metadata 16.0.0",
+ "heck 0.5.0",
+ "hex",
+ "jsonrpsee 0.22.5",
+ "parity-scale-codec",
+ "proc-macro2",
+ "quote",
+ "scale-info",
+ "scale-typegen 0.8.0",
+ "subxt-metadata 0.37.0",
+ "syn 2.0.96",
  "thiserror 1.0.69",
  "tokio",
- "tokio-util",
- "tracing",
- "url",
- "wasm-bindgen-futures",
- "web-time",
 ]
 
 [[package]]
 name = "subxt-codegen"
 version = "0.38.0"
-source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.16.2#7bd25b258a127627971a9c6920da8c508cf37ec0"
+source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.17.0#7044fccc5aaa1f838368a7f4a54f96d1f3f3040c"
 dependencies = [
  "heck 0.5.0",
  "parity-scale-codec",
  "proc-macro2",
  "quote",
  "scale-info",
- "scale-typegen",
- "subxt-metadata",
- "syn 2.0.87",
+ "scale-typegen 0.9.0",
+ "subxt-metadata 0.38.0",
+ "syn 2.0.96",
  "thiserror 1.0.69",
 ]
 
+[[package]]
+name = "subxt-core"
+version = "0.37.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3af3b36405538a36b424d229dc908d1396ceb0994c90825ce928709eac1a159a"
+dependencies = [
+ "base58",
+ "blake2 0.10.6",
+ "derive-where",
+ "frame-metadata 16.0.0",
+ "hashbrown 0.14.5",
+ "hex",
+ "impl-serde 0.4.0",
+ "parity-scale-codec",
+ "primitive-types 0.12.2",
+ "scale-bits 0.6.0",
+ "scale-decode 0.13.1",
+ "scale-encode 0.7.2",
+ "scale-info",
+ "scale-value 0.16.3",
+ "serde",
+ "serde_json",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "subxt-metadata 0.37.0",
+ "tracing",
+]
+
 [[package]]
 name = "subxt-core"
 version = "0.38.0"
-source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.16.2#7bd25b258a127627971a9c6920da8c508cf37ec0"
+source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.17.0#7044fccc5aaa1f838368a7f4a54f96d1f3f3040c"
 dependencies = [
  "base58",
  "blake2 0.10.6",
@@ -15434,7 +16786,7 @@ dependencies = [
  "hashbrown 0.14.5",
  "hex",
  "impl-serde 0.5.0",
- "keccak-hash",
+ "keccak-hash 0.11.0",
  "parity-scale-codec",
  "polkadot-sdk",
  "primitive-types 0.13.1",
@@ -15445,45 +16797,90 @@ dependencies = [
  "scale-value 0.17.0",
  "serde",
  "serde_json",
- "subxt-metadata",
+ "subxt-metadata 0.38.0",
+ "tracing",
+]
+
+[[package]]
+name = "subxt-lightclient"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d9406fbdb9548c110803cb8afa750f8b911d51eefdf95474b11319591d225d9"
+dependencies = [
+ "futures 0.3.31",
+ "futures-util",
+ "serde",
+ "serde_json",
+ "smoldot-light 0.14.0",
+ "thiserror 1.0.69",
+ "tokio",
+ "tokio-stream",
  "tracing",
 ]
 
 [[package]]
 name = "subxt-lightclient"
 version = "0.38.0"
-source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.16.2#7bd25b258a127627971a9c6920da8c508cf37ec0"
+source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.17.0#7044fccc5aaa1f838368a7f4a54f96d1f3f3040c"
 dependencies = [
  "futures 0.3.31",
  "futures-util",
  "serde",
  "serde_json",
- "smoldot-light",
+ "smoldot-light 0.16.2",
  "thiserror 1.0.69",
  "tokio",
  "tokio-stream",
  "tracing",
 ]
 
+[[package]]
+name = "subxt-macro"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c195f803d70687e409aba9be6c87115b5da8952cd83c4d13f2e043239818fcd"
+dependencies = [
+ "darling 0.20.10",
+ "parity-scale-codec",
+ "proc-macro-error",
+ "quote",
+ "scale-typegen 0.8.0",
+ "subxt-codegen 0.37.0",
+ "syn 2.0.96",
+]
+
 [[package]]
 name = "subxt-macro"
 version = "0.38.0"
-source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.16.2#7bd25b258a127627971a9c6920da8c508cf37ec0"
+source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.17.0#7044fccc5aaa1f838368a7f4a54f96d1f3f3040c"
 dependencies = [
- "darling",
+ "darling 0.20.10",
  "parity-scale-codec",
  "proc-macro-error2",
  "quote",
- "scale-typegen",
- "subxt-codegen",
+ "scale-typegen 0.9.0",
+ "subxt-codegen 0.38.0",
  "subxt-utils-fetchmetadata",
- "syn 2.0.87",
+ "syn 2.0.96",
+]
+
+[[package]]
+name = "subxt-metadata"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "738be5890fdeff899bbffff4d9c0f244fe2a952fb861301b937e3aa40ebb55da"
+dependencies = [
+ "frame-metadata 16.0.0",
+ "hashbrown 0.14.5",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "subxt-metadata"
 version = "0.38.0"
-source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.16.2#7bd25b258a127627971a9c6920da8c508cf37ec0"
+source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.17.0#7044fccc5aaa1f838368a7f4a54f96d1f3f3040c"
 dependencies = [
  "frame-decode",
  "frame-metadata 17.0.0",
@@ -15493,10 +16890,34 @@ dependencies = [
  "scale-info",
 ]
 
+[[package]]
+name = "subxt-signer"
+version = "0.37.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f49888ae6ae90fe01b471193528eea5bd4ed52d8eecd2d13f4a2333b87388850"
+dependencies = [
+ "bip32",
+ "bip39",
+ "cfg-if",
+ "hex",
+ "hmac 0.12.1",
+ "keccak-hash 0.10.0",
+ "parity-scale-codec",
+ "pbkdf2",
+ "regex",
+ "schnorrkel",
+ "secp256k1",
+ "secrecy",
+ "sha2 0.10.8",
+ "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "subxt-core 0.37.1",
+ "zeroize",
+]
+
 [[package]]
 name = "subxt-utils-fetchmetadata"
 version = "0.38.0"
-source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.16.2#7bd25b258a127627971a9c6920da8c508cf37ec0"
+source = "git+https://github.com/duniter/subxt?branch=subxt-v0.38.0-duniter-substrate-v1.17.0#7044fccc5aaa1f838368a7f4a54f96d1f3f3040c"
 dependencies = [
  "hex",
  "parity-scale-codec",
@@ -15516,9 +16937,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.87"
+version = "2.0.96"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
+checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -15534,14 +16955,14 @@ dependencies = [
  "paste",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "sync_wrapper"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
+checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
 dependencies = [
  "futures-core",
 ]
@@ -15566,7 +16987,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -15575,7 +16996,7 @@ version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a3d2c2202510a1e186e63e596d9318c91a8cbe85cd1a56a7be0c333e5f59ec8d"
 dependencies = [
- "syn 2.0.87",
+ "syn 2.0.96",
  "synthez-codegen",
  "synthez-core",
 ]
@@ -15586,7 +17007,7 @@ version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f724aa6d44b7162f3158a57bccd871a77b39a4aef737e01bcdff41f4772c7746"
 dependencies = [
- "syn 2.0.87",
+ "syn 2.0.96",
  "synthez-core",
 ]
 
@@ -15599,25 +17020,25 @@ dependencies = [
  "proc-macro2",
  "quote",
  "sealed",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "system-configuration"
-version = "0.5.1"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
+checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
 dependencies = [
- "bitflags 1.3.2",
- "core-foundation",
+ "bitflags 2.8.0",
+ "core-foundation 0.9.4",
  "system-configuration-sys",
 ]
 
 [[package]]
 name = "system-configuration-sys"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -15637,14 +17058,15 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
 
 [[package]]
 name = "tempfile"
-version = "3.14.0"
+version = "3.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c"
+checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704"
 dependencies = [
  "cfg-if",
  "fastrand",
+ "getrandom",
  "once_cell",
- "rustix 0.38.40",
+ "rustix 0.38.43",
  "windows-sys 0.59.0",
 ]
 
@@ -15675,24 +17097,24 @@ dependencies = [
 
 [[package]]
 name = "terminal_size"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef"
+checksum = "5352447f921fda68cf61b4101566c0bdb5104eff6804d0678e5227580ab6a4e9"
 dependencies = [
- "rustix 0.38.40",
+ "rustix 0.38.43",
  "windows-sys 0.59.0",
 ]
 
 [[package]]
 name = "termtree"
-version = "0.4.1"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
+checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683"
 
 [[package]]
 name = "testnet-parachains-constants"
-version = "10.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "1.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -15726,11 +17148,11 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "2.0.3"
+version = "2.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa"
+checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc"
 dependencies = [
- "thiserror-impl 2.0.3",
+ "thiserror-impl 2.0.11",
 ]
 
 [[package]]
@@ -15741,18 +17163,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "2.0.3"
+version = "2.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568"
+checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -15780,11 +17202,32 @@ dependencies = [
  "num_cpus",
 ]
 
+[[package]]
+name = "tikv-jemalloc-ctl"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "619bfed27d807b54f7f776b9430d4f8060e66ee138a28632ca898584d462c31c"
+dependencies = [
+ "libc",
+ "paste",
+ "tikv-jemalloc-sys",
+]
+
+[[package]]
+name = "tikv-jemalloc-sys"
+version = "0.5.4+5.3.0-patched"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1"
+dependencies = [
+ "cc",
+ "libc",
+]
+
 [[package]]
 name = "time"
-version = "0.3.36"
+version = "0.3.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21"
 dependencies = [
  "deranged",
  "itoa",
@@ -15803,9 +17246,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.18"
+version = "0.2.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de"
 dependencies = [
  "num-conv",
  "time-core",
@@ -15832,9 +17275,9 @@ dependencies = [
 
 [[package]]
 name = "tinyvec"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
+checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8"
 dependencies = [
  "tinyvec_macros",
 ]
@@ -15847,31 +17290,31 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.41.1"
+version = "1.43.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33"
+checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e"
 dependencies = [
  "backtrace",
  "bytes",
  "libc",
- "mio 1.0.2",
+ "mio 1.0.3",
  "parking_lot 0.12.3",
  "pin-project-lite",
  "signal-hook-registry",
- "socket2 0.5.7",
+ "socket2 0.5.8",
  "tokio-macros",
  "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
+checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -15886,20 +17329,30 @@ dependencies = [
 
 [[package]]
 name = "tokio-rustls"
-version = "0.26.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
+checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
 dependencies = [
- "rustls 0.23.16",
+ "rustls 0.22.4",
  "rustls-pki-types",
  "tokio",
 ]
 
+[[package]]
+name = "tokio-rustls"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37"
+dependencies = [
+ "rustls 0.23.21",
+ "tokio",
+]
+
 [[package]]
 name = "tokio-stream"
-version = "0.1.16"
+version = "0.1.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1"
+checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047"
 dependencies = [
  "futures-core",
  "pin-project-lite",
@@ -15924,9 +17377,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.12"
+version = "0.7.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a"
+checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078"
 dependencies = [
  "bytes",
  "futures-core",
@@ -15972,7 +17425,7 @@ version = "0.22.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
 dependencies = [
- "indexmap 2.6.0",
+ "indexmap 2.7.1",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -15994,15 +17447,30 @@ dependencies = [
  "tracing",
 ]
 
+[[package]]
+name = "tower"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "pin-project-lite",
+ "sync_wrapper",
+ "tokio",
+ "tower-layer",
+ "tower-service",
+]
+
 [[package]]
 name = "tower-http"
 version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5"
 dependencies = [
- "bitflags 2.6.0",
+ "bitflags 2.8.0",
  "bytes",
- "http 1.1.0",
+ "http 1.2.0",
  "http-body 1.0.1",
  "http-body-util",
  "pin-project-lite",
@@ -16024,9 +17492,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
 
 [[package]]
 name = "tracing"
-version = "0.1.40"
+version = "0.1.41"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
 dependencies = [
  "log",
  "pin-project-lite",
@@ -16036,20 +17504,20 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.27"
+version = "0.1.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.32"
+version = "0.1.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
 dependencies = [
  "once_cell",
  "valuable",
@@ -16065,6 +17533,29 @@ dependencies = [
  "tracing",
 ]
 
+[[package]]
+name = "tracing-gum"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "coarsetime",
+ "polkadot-primitives",
+ "tracing",
+ "tracing-gum-proc-macro",
+]
+
+[[package]]
+name = "tracing-gum-proc-macro"
+version = "5.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
+dependencies = [
+ "expander",
+ "proc-macro-crate 3.2.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.96",
+]
+
 [[package]]
 name = "tracing-log"
 version = "0.2.0"
@@ -16078,9 +17569,9 @@ dependencies = [
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.3.18"
+version = "0.3.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
 dependencies = [
  "matchers",
  "nu-ansi-term",
@@ -16256,7 +17747,7 @@ checksum = "29a3151c41d0b13e3d011f98adc24434560ef06673a155a6c7f66b9879eecce2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -16353,15 +17844,15 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.17"
+version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
+checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.13"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
 
 [[package]]
 name = "unicode-linebreak"
@@ -16412,15 +17903,6 @@ dependencies = [
  "subtle 2.6.1",
 ]
 
-[[package]]
-name = "unreachable"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
-dependencies = [
- "void",
-]
-
 [[package]]
 name = "unsafe-libyaml"
 version = "0.2.11"
@@ -16463,9 +17945,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
 name = "url"
-version = "2.5.3"
+version = "2.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada"
+checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
 dependencies = [
  "form_urlencoded",
  "idna 1.0.3",
@@ -16498,9 +17980,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
 
 [[package]]
 name = "valuable"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
 
 [[package]]
 name = "vcpkg"
@@ -16528,10 +18010,10 @@ checksum = "70a3028804c8bbae2a97a15b71ffc0e308c4b01a520994aafa77d56e94e19024"
 dependencies = [
  "ark-bls12-377",
  "ark-bls12-381",
- "ark-ec",
+ "ark-ec 0.4.2",
  "ark-ff 0.4.2",
  "ark-serialize 0.4.2",
- "ark-serialize-derive",
+ "ark-serialize-derive 0.4.2",
  "arrayref",
  "constcat",
  "digest 0.10.7",
@@ -16578,49 +18060,59 @@ version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
+[[package]]
+name = "wasix"
+version = "0.12.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1fbb4ef9bbca0c1170e0b00dd28abc9e3b68669821600cad1caaed606583c6d"
+dependencies = [
+ "wasi",
+]
+
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.95"
+version = "0.2.100"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"
+checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
 dependencies = [
  "cfg-if",
  "once_cell",
+ "rustversion",
  "wasm-bindgen-macro",
 ]
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.95"
+version = "0.2.100"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"
+checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
 dependencies = [
  "bumpalo",
  "log",
- "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.45"
+version = "0.4.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b"
+checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
 dependencies = [
  "cfg-if",
  "js-sys",
+ "once_cell",
  "wasm-bindgen",
  "web-sys",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.95"
+version = "0.2.100"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"
+checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -16628,22 +18120,25 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.95"
+version = "0.2.100"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
+checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.95"
+version = "0.2.100"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"
+checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
+dependencies = [
+ "unicode-ident",
+]
 
 [[package]]
 name = "wasm-instrument"
@@ -16709,6 +18204,19 @@ dependencies = [
  "web-sys",
 ]
 
+[[package]]
+name = "wasmi"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8281d1d660cdf54c76a3efa9ddd0c270cada1383a995db3ccb43d166456c7"
+dependencies = [
+ "smallvec",
+ "spin 0.9.8",
+ "wasmi_arena",
+ "wasmi_core 0.13.0",
+ "wasmparser-nostd",
+]
+
 [[package]]
 name = "wasmi"
 version = "0.32.3"
@@ -16722,21 +18230,39 @@ dependencies = [
  "smallvec",
  "spin 0.9.8",
  "wasmi_collections",
- "wasmi_core",
+ "wasmi_core 0.32.3",
  "wasmparser-nostd",
 ]
 
+[[package]]
+name = "wasmi_arena"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073"
+
 [[package]]
 name = "wasmi_collections"
 version = "0.32.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9c128c039340ffd50d4195c3f8ce31aac357f06804cfc494c8b9508d4b30dca4"
 dependencies = [
- "ahash 0.8.11",
+ "ahash",
  "hashbrown 0.14.5",
  "string-interner",
 ]
 
+[[package]]
+name = "wasmi_core"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcf1a7db34bff95b85c261002720c00c3a6168256dcb93041d3fa2054d19856a"
+dependencies = [
+ "downcast-rs",
+ "libm",
+ "num-traits 0.2.19",
+ "paste",
+]
+
 [[package]]
 name = "wasmi_core"
 version = "0.32.3"
@@ -16965,9 +18491,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.72"
+version = "0.3.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112"
+checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -17001,9 +18527,9 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
 
 [[package]]
 name = "webpki-roots"
-version = "0.26.6"
+version = "0.26.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958"
+checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e"
 dependencies = [
  "rustls-pki-types",
 ]
@@ -17020,8 +18546,8 @@ dependencies = [
 
 [[package]]
 name = "westend-runtime-constants"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -17034,23 +18560,11 @@ dependencies = [
  "staging-xcm-builder",
 ]
 
-[[package]]
-name = "which"
-version = "4.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
-dependencies = [
- "either",
- "home",
- "once_cell",
- "rustix 0.38.40",
-]
-
 [[package]]
 name = "wide"
-version = "0.7.28"
+version = "0.7.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b828f995bf1e9622031f8009f8481a85406ce1f4d4588ff746d872043e855690"
+checksum = "41b5576b9a81633f3e8df296ce0063042a73507636cbe956c61133dd7034ab22"
 dependencies = [
  "bytemuck",
  "safe_arch",
@@ -17095,29 +18609,30 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows"
-version = "0.51.1"
+version = "0.53.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
+checksum = "efc5cf48f83140dcaab716eeaea345f9e93d0018fb81162753a3f76c3397b538"
 dependencies = [
- "windows-core 0.51.1",
- "windows-targets 0.48.5",
+ "windows-core 0.53.0",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
 name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.48.5",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
 name = "windows-core"
-version = "0.52.0"
+version = "0.53.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+checksum = "9dcc5b895a6377f1ab9fa55acedab1fd5ac0db66ad1e6c7f47e28a22e446a5dd"
 dependencies = [
+ "windows-result 0.1.2",
  "windows-targets 0.52.6",
 ]
 
@@ -17127,43 +18642,37 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
 dependencies = [
- "windows-result",
+ "windows-result 0.2.0",
  "windows-strings",
  "windows-targets 0.52.6",
 ]
 
 [[package]]
 name = "windows-result"
-version = "0.2.0"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
+checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8"
 dependencies = [
  "windows-targets 0.52.6",
 ]
 
 [[package]]
-name = "windows-strings"
-version = "0.1.0"
+name = "windows-result"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
+checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
 dependencies = [
- "windows-result",
  "windows-targets 0.52.6",
 ]
 
 [[package]]
-name = "windows-sys"
-version = "0.42.0"
+name = "windows-strings"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
 dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-result 0.2.0",
+ "windows-targets 0.52.6",
 ]
 
 [[package]]
@@ -17382,9 +18891,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
 
 [[package]]
 name = "winnow"
-version = "0.6.20"
+version = "0.6.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b"
+checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a"
 dependencies = [
  "memchr",
 ]
@@ -17468,19 +18977,19 @@ dependencies = [
 
 [[package]]
 name = "xcm-procedural"
-version = "10.1.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "Inflector",
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "xcm-runtime-apis"
-version = "0.4.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "0.1.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -17493,8 +19002,8 @@ dependencies = [
 
 [[package]]
 name = "xcm-simulator"
-version = "17.0.0"
-source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.16.2#21d1f7a814df383fd8007bf39750ce4cb0fd56fc"
+version = "7.0.0"
+source = "git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0#3f9bddbe619cf4068769b4d3fc58c8d50e358df8"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -17507,7 +19016,7 @@ dependencies = [
  "scale-info",
  "sp-io",
  "sp-runtime",
- "sp-std",
+ "sp-std 14.0.0 (git+https://github.com/duniter/duniter-polkadot-sdk?branch=duniter-substrate-v1.17.0)",
  "staging-xcm",
  "staging-xcm-builder",
  "staging-xcm-executor",
@@ -17515,9 +19024,9 @@ dependencies = [
 
 [[package]]
 name = "xml-rs"
-version = "0.8.23"
+version = "0.8.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af310deaae937e48a26602b730250b4949e125f468f11e6990be3e5304ddd96f"
+checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4"
 
 [[package]]
 name = "xmltree"
@@ -17583,9 +19092,9 @@ dependencies = [
 
 [[package]]
 name = "yoke"
-version = "0.7.4"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
+checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
 dependencies = [
  "serde",
  "stable_deref_trait",
@@ -17595,13 +19104,13 @@ dependencies = [
 
 [[package]]
 name = "yoke-derive"
-version = "0.7.4"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
+checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
  "synstructure 0.13.1",
 ]
 
@@ -17623,27 +19132,27 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
 name = "zerofrom"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
+checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e"
 dependencies = [
  "zerofrom-derive",
 ]
 
 [[package]]
 name = "zerofrom-derive"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
+checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
  "synstructure 0.13.1",
 ]
 
@@ -17664,7 +19173,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
@@ -17686,7 +19195,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.87",
+ "syn 2.0.96",
 ]
 
 [[package]]
diff --git a/Cargo.toml b/Cargo.toml
index 5c450f3c364740c06bb71198b556adc8e4158901..08f8d82fabcd0d24adcf3aa533f0719d78c789c6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -107,7 +107,7 @@ dubp-wot = { version = "0.11.1", default-features = false }
 flate2 = { version = "1.0.28", default-features = false }
 
 # Subxt
-subxt = { git = 'https://github.com/duniter/subxt', branch = 'subxt-v0.38.0-duniter-substrate-v1.16.2', default-features = false }
+subxt = { git = 'https://github.com/duniter/subxt', branch = 'subxt-v0.38.0-duniter-substrate-v1.17.0', default-features = false }
 
 # local dependencies
 weight-analyzer = { path = "resources/weight_analyzer", default-features = false }
@@ -139,86 +139,87 @@ sp-distance = { path = 'primitives/distance', default-features = false }
 sp-membership = { path = 'primitives/membership', default-features = false }
 
 # substrate dependencies
-pallet-transaction-payment-rpc = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-frame-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-frame-executive = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-frame-support = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-frame-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-frame-system-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-frame-system-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-frame-try-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-atomic-swap = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-authorship = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-collective = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-im-online = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-multisig = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-preimage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-proxy = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-scheduler = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-sudo = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-transaction-payment = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-treasury = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-pallet-utility = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-arithmetic = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-block-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-client-db = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-client-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-rpc = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-consensus-grandpa-rpc = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-consensus-babe-rpc = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-blockchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-offchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-inherents = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-offchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-staking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-weights = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-transaction-pool = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-version = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-cli = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-service = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-trie = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-genesis-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-keyring = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-consensus = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-core-hashing = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-keystore = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-rpc-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-substrate-wasm-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-io = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-substrate-build-script-utils = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2' }
-node-primitives = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-frame-benchmarking-cli = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-chain-spec = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-consensus = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-consensus-manual-seal = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-executor = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-telemetry = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-transaction-pool = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-basic-authorship = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-network = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-keystore = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-storage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-transaction-storage-proof = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sc-transaction-pool-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-sp-state-machine = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
-substrate-frame-rpc-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.16.2', default-features = false }
+pallet-transaction-payment-rpc = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+frame-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+frame-metadata-hash-extension = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+frame-executive = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+frame-support = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+frame-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+frame-system-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+frame-system-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+frame-try-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-atomic-swap = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-authorship = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-collective = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-im-online = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-multisig = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-preimage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-proxy = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-scheduler = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-sudo = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-transaction-payment = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-treasury = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+pallet-utility = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-arithmetic = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-block-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-client-db = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-client-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-rpc = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-consensus-grandpa-rpc = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-consensus-babe-rpc = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-blockchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-offchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-inherents = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-offchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-staking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-weights = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-transaction-pool = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-version = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-cli = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-service = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-trie = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-genesis-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-keyring = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-consensus = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-core-hashing = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-keystore = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-rpc-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+substrate-wasm-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-io = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+substrate-build-script-utils = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0' }
+node-primitives = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+frame-benchmarking-cli = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-chain-spec = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-consensus = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-consensus-manual-seal = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-executor = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-telemetry = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-transaction-pool = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-basic-authorship = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-network = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-keystore = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-storage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-transaction-storage-proof = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sc-transaction-pool-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+sp-state-machine = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
+substrate-frame-rpc-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.17.0', default-features = false }
 
 # The list of dependencies below (which can be both direct and indirect dependencies) are crates
 # that are suspected to be CPU-intensive, and that are unlikely to require debugging (as some of
diff --git a/end2end-tests/tests/cucumber_tests.rs b/end2end-tests/tests/cucumber_tests.rs
index 58a532b2d6b1f8bbfe2e59a06123e90528061785..c653027323240ebb88fa38d2d5cbed8e7c7ddb18 100644
--- a/end2end-tests/tests/cucumber_tests.rs
+++ b/end2end-tests/tests/cucumber_tests.rs
@@ -631,7 +631,7 @@ async fn main() {
         .before(move |feature, _rule, scenario, world| {
             let mut genesis_conf_file_path = PathBuf::new();
             genesis_conf_file_path.push("cucumber-genesis");
-            genesis_conf_file_path.push(&format!(
+            genesis_conf_file_path.push(format!(
                 "{}.json",
                 genesis_conf_name(&feature.tags, &scenario.tags)
             ));
diff --git a/node/Cargo.toml b/node/Cargo.toml
index 9f69ecf44563c77443f4930e3b60e443d25ac7b2..85cfca8bc37c715e6ae4e5405760eca5675204cc 100644
--- a/node/Cargo.toml
+++ b/node/Cargo.toml
@@ -41,8 +41,10 @@ runtime-benchmarks = [
 	"gdev-runtime/runtime-benchmarks",
 	"gtest-runtime/runtime-benchmarks",
 	"pallet-grandpa/runtime-benchmarks",
+	"pallet-oneshot-account/runtime-benchmarks",
 	"pallet-im-online/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
+	"pallet-transaction-payment/runtime-benchmarks",
 	"sc-client-db/runtime-benchmarks",
 	"sc-service/runtime-benchmarks",
 	"sp-runtime/runtime-benchmarks",
@@ -57,6 +59,7 @@ try-runtime = [
 	"gdev-runtime/try-runtime",
 	"gtest-runtime/try-runtime",
 	"pallet-grandpa/try-runtime",
+	"pallet-oneshot-account/try-runtime",
 	"pallet-im-online/try-runtime",
 	"pallet-transaction-payment/try-runtime",
 	"pallet-treasury/try-runtime",
@@ -79,6 +82,7 @@ std = [
 	"log/std",
 	"num-format/std",
 	"pallet-grandpa/std",
+	"pallet-oneshot-account/std",
 	"pallet-im-online/std",
 	"pallet-transaction-payment-rpc-runtime-api/std",
 	"pallet-transaction-payment/std",
@@ -116,6 +120,7 @@ clap_complete = { workspace = true }
 frame-benchmarking = { workspace = true }
 frame-benchmarking-cli = { workspace = true }
 frame-system = { workspace = true }
+frame-metadata-hash-extension = { workspace = true, default-features = true }
 futures = { workspace = true, features = ["compat"] }
 hex = { workspace = true }
 jsonrpsee = { workspace = true, features = ["server"] }
@@ -134,6 +139,7 @@ gdev-runtime = { workspace = true, optional = true }
 gtest-runtime = { workspace = true, optional = true }
 distance-oracle = { workspace = true, optional = true }
 dc-distance = { workspace = true, optional = true }
+pallet-oneshot-account = { workspace = true, optional = true }
 
 # Substrate
 pallet-grandpa = { workspace = true, default-features = true }
diff --git a/node/src/command.rs b/node/src/command.rs
index 58eabb0144c3414f29873103599e48f952d79252..c4416c6c544c09c41f4cd9b3a09a1b0040e09049 100644
--- a/node/src/command.rs
+++ b/node/src/command.rs
@@ -46,10 +46,7 @@ lazy_static! {
 /// Unwraps a [`crate::service::client::Client`] into the concrete runtime client.
 #[cfg(feature = "runtime-benchmarks")]
 macro_rules! unwrap_client {
-    (
-		$client:ident,
-		$code:expr
-	) => {
+    ($client:ident, $code:expr) => {
         match $client.as_ref() {
             crate::service::client::Client::Client($client) => $code,
         }
@@ -335,11 +332,12 @@ pub fn run() -> sc_cli::Result<()> {
                     unwrap_client!(
                         client,
                         cmd.run(
-                            config,
+                            config.chain_spec.name().into(),
                             client.clone(),
                             inherent_data,
                             Vec::new(),
-                            wrapped.as_ref()
+                            wrapped.as_ref(),
+                            false,
                         )
                     )
                 }),
diff --git a/node/src/main.rs b/node/src/main.rs
index 49614a2666558582a3bc3393c6f02046af62c33e..f27af66f78d15bfd3f72adb6cedf9b9251bbc7b4 100644
--- a/node/src/main.rs
+++ b/node/src/main.rs
@@ -18,6 +18,7 @@
 
 #![warn(missing_docs)]
 
+//mod benchmarking;
 mod chain_spec;
 #[macro_use]
 mod service;
diff --git a/node/src/rpc.rs b/node/src/rpc.rs
index f5e6f09b23a70f8f48131f89b7c92ff756a63386..2b05e5b5f8dc66a321c9ab66e887f822bb159559 100644
--- a/node/src/rpc.rs
+++ b/node/src/rpc.rs
@@ -15,6 +15,7 @@
 // along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
 
 //! A collection of node-specific RPC methods.
+//!
 //! Substrate provides the `sc-rpc` crate, which defines the core RPC layer
 //! used by Substrate nodes. This file extends those RPC definitions with
 //! capabilities that are specific to this project's runtime configuration.
diff --git a/node/src/service.rs b/node/src/service.rs
index 3cc5ec6337691057741515fc0a3c1faeb59ea823..c28febc73a395800d2410c7363f8585e1237db02 100644
--- a/node/src/service.rs
+++ b/node/src/service.rs
@@ -30,6 +30,7 @@ use sc_service::{
     error::Error as ServiceError, Configuration, PartialComponents, TaskManager, WarpSyncConfig,
 };
 use sc_telemetry::{Telemetry, TelemetryWorker};
+use sc_transaction_pool_api::TransactionPool;
 use sp_consensus_babe::inherents::InherentDataProvider;
 use sp_core::H256;
 use sp_runtime::traits::BlakeTwo256;
@@ -153,7 +154,7 @@ pub fn new_partial<RuntimeApi, Executor>(
         FullBackend,
         FullSelectChain,
         sc_consensus::DefaultImportQueue<Block>,
-        sc_transaction_pool::FullPool<Block, FullClient<RuntimeApi, Executor>>,
+        sc_transaction_pool::TransactionPoolWrapper<Block, FullClient<RuntimeApi, Executor>>,
         (
             sc_consensus_babe::BabeBlockImport<
                 Block,
@@ -214,12 +215,15 @@ where
 
     let select_chain = sc_consensus::LongestChain::new(backend.clone());
 
-    let transaction_pool = sc_transaction_pool::BasicPool::new_full(
-        config.transaction_pool.clone(),
-        config.role.is_authority().into(),
-        config.prometheus_registry(),
-        task_manager.spawn_essential_handle(),
-        client.clone(),
+    let transaction_pool = Arc::from(
+        sc_transaction_pool::Builder::new(
+            task_manager.spawn_essential_handle(),
+            client.clone(),
+            config.role.is_authority().into(),
+        )
+        .with_options(config.transaction_pool.clone())
+        .with_prometheus(config.prometheus_registry())
+        .build(),
     );
 
     let client_ = client.clone();
@@ -394,7 +398,7 @@ where
                 is_validator: role.is_authority(),
                 enable_http_requests: false,
                 custom_extensions: move |_| vec![],
-            })
+            })?
             .run(client.clone(), task_manager.spawn_handle())
             .boxed(),
         );
@@ -424,16 +428,14 @@ where
                     crate::cli::Sealing::Instant => {
                         Box::new(
                             // This bit cribbed from the implementation of instant seal.
-                            transaction_pool
-                                .pool()
-                                .validated_pool()
-                                .import_notification_stream()
-                                .map(|_| EngineCommand::SealNewBlock {
+                            transaction_pool.import_notification_stream().map(|_| {
+                                EngineCommand::SealNewBlock {
                                     create_empty: false,
                                     finalize: false,
                                     parent_hash: None,
                                     sender: None,
-                                }),
+                                }
+                            }),
                         )
                     }
                     crate::cli::Sealing::Manual => {
diff --git a/node/src/service/client.rs b/node/src/service/client.rs
index 34fbea16a7e4ae512759761d3a9a7d5359865873..3ff70a9caa8601df212a6bc0749aa113cbcf9a10 100644
--- a/node/src/service/client.rs
+++ b/node/src/service/client.rs
@@ -16,8 +16,8 @@
 
 use common_runtime::{AccountId, Balance, Block, BlockNumber, Hash, Header, Index};
 use sc_client_api::{
-    AuxStore, Backend as BackendT, BlockchainEvents, KeysIter, MerkleValue, PairsIter,
-    UsageProvider,
+    AuxStore, Backend as BackendT, BlockBackend, BlockchainEvents, KeysIter, MerkleValue,
+    PairsIter, UsageProvider,
 };
 use sp_api::{CallApiAt, ProvideRuntimeApi};
 use sp_blockchain::{HeaderBackend, HeaderMetadata};
@@ -26,7 +26,7 @@ use sp_core::{Encode, Pair};
 use sp_runtime::{
     generic::SignedBlock,
     traits::{BlakeTwo256, Block as BlockT},
-    Justifications,
+    Justifications, SaturatedConversion,
 };
 use sp_storage::{ChildInfo, StorageData, StorageKey};
 use std::sync::Arc;
@@ -322,36 +322,39 @@ impl BenchmarkCallSigner<super::runtime_executor::runtime::RuntimeCall, sp_core:
         genesis: sp_core::H256,
         acc: sp_core::sr25519::Pair,
     ) -> sp_runtime::OpaqueExtrinsic {
-        // use runtime;
-
-        let extra: super::runtime_executor::runtime::SignedExtra = (
+        let tx_ext: super::runtime_executor::runtime::TxExtension = (
             frame_system::CheckNonZeroSender::<super::runtime_executor::runtime::Runtime>::new(),
             frame_system::CheckSpecVersion::<super::runtime_executor::runtime::Runtime>::new(),
             frame_system::CheckTxVersion::<super::runtime_executor::runtime::Runtime>::new(),
             frame_system::CheckGenesis::<super::runtime_executor::runtime::Runtime>::new(),
-            frame_system::CheckMortality::<super::runtime_executor::runtime::Runtime>::from(
+            frame_system::CheckEra::<super::runtime_executor::runtime::Runtime>::from(
                 sp_runtime::generic::Era::mortal(period, current_block),
             ),
-            frame_system::CheckNonce::<super::runtime_executor::runtime::Runtime>::from(nonce)
-                .into(),
+            pallet_oneshot_account::CheckNonce::<super::runtime_executor::runtime::Runtime>::from(
+                frame_system::CheckNonce::<super::runtime_executor::runtime::Runtime>::from(nonce),
+            ),
             frame_system::CheckWeight::<super::runtime_executor::runtime::Runtime>::new(),
             pallet_transaction_payment::ChargeTransactionPayment::<
                 super::runtime_executor::runtime::Runtime,
             >::from(0),
+            frame_metadata_hash_extension::CheckMetadataHash::<
+                super::runtime_executor::runtime::Runtime,
+            >::new(false),
         );
 
         let payload = sp_runtime::generic::SignedPayload::from_raw(
             call.clone(),
-            extra.clone(),
+            tx_ext.clone(),
             (
                 (),
                 super::runtime_executor::runtime::VERSION.spec_version,
                 super::runtime_executor::runtime::VERSION.transaction_version,
                 genesis,
-                genesis,
+                self.chain_info().best_hash,
                 (),
                 (),
                 (),
+                None,
             ),
         );
 
@@ -360,7 +363,7 @@ impl BenchmarkCallSigner<super::runtime_executor::runtime::RuntimeCall, sp_core:
             call,
             sp_runtime::AccountId32::from(acc.public()).into(),
             common_runtime::Signature::Sr25519(signature),
-            extra,
+            tx_ext,
         )
         .into()
     }
@@ -377,16 +380,17 @@ impl frame_benchmarking_cli::ExtrinsicBuilder for Client {
 
     fn build(&self, nonce: u32) -> std::result::Result<sp_runtime::OpaqueExtrinsic, &'static str> {
         with_client! {
-            self, client, {
-                let call = super::runtime_executor::runtime::RuntimeCall::System(super::runtime_executor::runtime::SystemCall::remark { remark: vec![] });
-                let signer = sp_keyring::Sr25519Keyring::Bob.pair();
+                    self, client, {
+                        let call = super::runtime_executor::runtime::RuntimeCall::System(super::runtime_executor::runtime::SystemCall::remark { remark: vec![] });
+                        let signer = sp_keyring::Sr25519Keyring::Bob.pair();
 
-                let period = super::runtime_executor::runtime::BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64;
-                let genesis = client.usage_info().chain.best_hash;
+                        let period = super::runtime_executor::runtime::BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64;
+                        let genesis = client.block_hash(0).ok().flatten().expect("Genesis block exists; qed");
+        let best_block = client.chain_info().best_number;
 
-                Ok(client.sign_call(call, nonce, 0, period, genesis, signer))
-            }
-        }
+                        Ok(client.sign_call(call, nonce, best_block.saturated_into(), period, genesis, signer))
+                    }
+                }
     }
 }
 
diff --git a/pallets/authority-members/src/lib.rs b/pallets/authority-members/src/lib.rs
index f4118ee3aed9eb692ef20fecf8cd7dbd22cc3cff..b69c0d72993f568c507dbad2b5f9e773eb791f8b 100644
--- a/pallets/authority-members/src/lib.rs
+++ b/pallets/authority-members/src/lib.rs
@@ -68,6 +68,7 @@ use frame_support::traits::Get;
 use scale_info::prelude::{collections::BTreeMap, vec, vec::Vec};
 use sp_runtime::traits::{Convert, IsMember};
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/authority-members/src/mock.rs b/pallets/authority-members/src/mock.rs
index 8afd17edf1855d4cae6591f65a5dd05f63635ddf..1a582ef73b4a31082c1fc11bd90f28012920d8f5 100644
--- a/pallets/authority-members/src/mock.rs
+++ b/pallets/authority-members/src/mock.rs
@@ -16,7 +16,7 @@
 
 use super::*;
 use crate::{self as pallet_authority_members};
-use frame_support::{pallet_prelude::*, parameter_types, traits::Everything};
+use frame_support::{derive_impl, pallet_prelude::*, parameter_types, traits::Everything};
 use frame_system as system;
 use pallet_offences::{traits::OnOffenceHandler, SlashStrategy};
 use pallet_session::ShouldEndSession;
@@ -60,36 +60,22 @@ parameter_types! {
     pub const SS58Prefix: u8 = 42;
 }
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl system::Config for Test {
-    type AccountData = ();
     type AccountId = AccountId;
     type BaseCallFilter = Everything;
     type Block = Block;
     type BlockHashCount = BlockHashCount;
-    type BlockLength = ();
-    type BlockWeights = ();
-    type DbWeight = ();
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = frame_support::traits::ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
     type SS58Prefix = SS58Prefix;
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 pub struct TestSessionHandler;
diff --git a/pallets/certification/src/lib.rs b/pallets/certification/src/lib.rs
index 204c8cb08d70bb44323b8eaa53df92db2ff69154..c8301d22138ed72937bbfcceaaf3f31a10a830b0 100644
--- a/pallets/certification/src/lib.rs
+++ b/pallets/certification/src/lib.rs
@@ -49,6 +49,7 @@ use frame_support::{pallet_prelude::*, traits::StorageVersion};
 use scale_info::prelude::{collections::BTreeMap, fmt::Debug, vec::Vec};
 use sp_runtime::traits::AtLeast32BitUnsigned;
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/certification/src/mock.rs b/pallets/certification/src/mock.rs
index 7f24b214bb241c170a08a26e714ff77ebe621f6a..5f89fa5301d7df1bcbba9fdd5d91e66192e91d66 100644
--- a/pallets/certification/src/mock.rs
+++ b/pallets/certification/src/mock.rs
@@ -16,7 +16,7 @@
 
 use crate::{self as pallet_certification};
 use frame_support::{
-    parameter_types,
+    derive_impl, parameter_types,
     traits::{Everything, OnFinalize, OnInitialize},
 };
 use frame_system as system;
@@ -43,36 +43,22 @@ parameter_types! {
     pub const SS58Prefix: u8 = 42;
 }
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl system::Config for Test {
-    type AccountData = ();
     type AccountId = AccountId;
     type BaseCallFilter = Everything;
     type Block = Block;
     type BlockHashCount = BlockHashCount;
-    type BlockLength = ();
-    type BlockWeights = ();
-    type DbWeight = ();
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = frame_support::traits::ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
     type SS58Prefix = SS58Prefix;
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 parameter_types! {
diff --git a/pallets/distance/src/lib.rs b/pallets/distance/src/lib.rs
index 738ee59099fe5be6207f839093888f244d316760..497aa8a9c3a90e754e6c8d24fc72c3d1f710f6ce 100644
--- a/pallets/distance/src/lib.rs
+++ b/pallets/distance/src/lib.rs
@@ -103,6 +103,7 @@ pub const MAX_EVALUATIONS_PER_SESSION: u32 = 1_300; // See https://git.duniter.o
 /// Maximum number of evaluators in an evaluation period.
 pub const MAX_EVALUATORS_PER_SESSION: u32 = 100;
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet()]
 pub mod pallet {
     use super::*;
diff --git a/pallets/distance/src/mock.rs b/pallets/distance/src/mock.rs
index 5198424e0f7f4970210adef99c0355edf93bda3a..e804df741245c2fc738b79305e15f226033c2333 100644
--- a/pallets/distance/src/mock.rs
+++ b/pallets/distance/src/mock.rs
@@ -17,7 +17,7 @@
 use crate::{self as pallet_distance};
 use core::marker::PhantomData;
 use frame_support::{
-    parameter_types,
+    derive_impl, parameter_types,
     traits::{Everything, OnFinalize, OnInitialize},
 };
 use frame_system as system;
@@ -66,36 +66,23 @@ parameter_types! {
     pub const SS58Prefix: u8 = 42;
 }
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl system::Config for Test {
     type AccountData = AccountData<u64>;
     type AccountId = AccountId;
     type BaseCallFilter = Everything;
     type Block = Block;
     type BlockHashCount = BlockHashCount;
-    type BlockLength = ();
-    type BlockWeights = ();
-    type DbWeight = ();
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = frame_support::traits::ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
     type SS58Prefix = SS58Prefix;
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 pub struct TestSessionHandler;
@@ -199,6 +186,7 @@ parameter_types! {
 impl pallet_balances::Config for Test {
     type AccountStore = System;
     type Balance = Balance;
+    type DoneSlashHandler = ();
     type DustRemoval = ();
     type ExistentialDeposit = ExistentialDeposit;
     type FreezeIdentifier = ();
diff --git a/pallets/duniter-account/Cargo.toml b/pallets/duniter-account/Cargo.toml
index 6f5d79aff488c6f3244065502027c639fdd92aff..ed9a58d1782f7e2f8b14b8479bd0d2505550d819 100644
--- a/pallets/duniter-account/Cargo.toml
+++ b/pallets/duniter-account/Cargo.toml
@@ -17,6 +17,7 @@ runtime-benchmarks = [
 	"pallet-balances/runtime-benchmarks",
 	"pallet-identity/runtime-benchmarks",
 	"pallet-quota/runtime-benchmarks",
+	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"sp-runtime/runtime-benchmarks",
 ]
diff --git a/pallets/duniter-account/src/lib.rs b/pallets/duniter-account/src/lib.rs
index ddd56e0addf284638668be629f5a1b5e7e077374..82fb57f09fd8ec0cc1e9fd27a1cc847cab7b2dee 100644
--- a/pallets/duniter-account/src/lib.rs
+++ b/pallets/duniter-account/src/lib.rs
@@ -61,6 +61,7 @@ use scale_info::prelude::{
 };
 use sp_runtime::traits::{DispatchInfoOf, PostDispatchInfoOf, Saturating};
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
@@ -320,6 +321,16 @@ where
     type Balance = BalanceOf<T>;
     type LiquidityInfo = Option<Credit<T::AccountId, T::Currency>>;
 
+    fn can_withdraw_fee(
+        who: &T::AccountId,
+        call: &T::RuntimeCall,
+        dispatch_info: &DispatchInfoOf<T::RuntimeCall>,
+        fee: Self::Balance,
+        tip: Self::Balance,
+    ) -> Result<(), TransactionValidityError> {
+        T::InnerOnChargeTransaction::can_withdraw_fee(who, call, dispatch_info, fee, tip)
+    }
+
     fn withdraw_fee(
         who: &T::AccountId,
         call: &T::RuntimeCall,
@@ -355,6 +366,16 @@ where
         }
         Ok(())
     }
+
+    #[cfg(feature = "runtime-benchmarks")]
+    fn endow_account(who: &T::AccountId, amount: Self::Balance) {
+        T::InnerOnChargeTransaction::endow_account(who, amount);
+    }
+
+    #[cfg(feature = "runtime-benchmarks")]
+    fn minimum_balance() -> Self::Balance {
+        T::InnerOnChargeTransaction::minimum_balance()
+    }
 }
 
 /// Implementation of the CheckAccountWorthiness trait for the Pallet.
diff --git a/pallets/duniter-test-parameters/src/lib.rs b/pallets/duniter-test-parameters/src/lib.rs
index 346a8823035c4707e5f209f865bcdd05122f08f7..b2bbc8bcc6ca2ae60c792609aabc92ed081da438 100644
--- a/pallets/duniter-test-parameters/src/lib.rs
+++ b/pallets/duniter-test-parameters/src/lib.rs
@@ -66,6 +66,7 @@ pub mod types {
     }
 }
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/duniter-wot/src/lib.rs b/pallets/duniter-wot/src/lib.rs
index 1a560bdf699808f4c7ee7d1da2f4c7189ec600e2..d05504a249d53d4b7b8485925a509da1ebbdcf46 100644
--- a/pallets/duniter-wot/src/lib.rs
+++ b/pallets/duniter-wot/src/lib.rs
@@ -61,6 +61,7 @@ use pallet_membership::MembershipRemovalReason;
 
 type IdtyIndex = u32;
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/duniter-wot/src/mock.rs b/pallets/duniter-wot/src/mock.rs
index ddb4bf63f64b807a7a40abe2aa40a9d91a43ad57..a3c550632f5febae809a1bf20cff4c28f75eb579 100644
--- a/pallets/duniter-wot/src/mock.rs
+++ b/pallets/duniter-wot/src/mock.rs
@@ -16,7 +16,7 @@
 
 use super::*;
 use crate::{self as pallet_duniter_wot};
-use frame_support::{parameter_types, traits::Everything};
+use frame_support::{derive_impl, parameter_types, traits::Everything};
 use frame_system as system;
 use sp_core::H256;
 use sp_runtime::{
@@ -47,36 +47,22 @@ parameter_types! {
     pub const SS58Prefix: u8 = 42;
 }
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl system::Config for Test {
-    type AccountData = ();
     type AccountId = AccountId;
     type BaseCallFilter = Everything;
     type Block = Block;
     type BlockHashCount = BlockHashCount;
-    type BlockLength = ();
-    type BlockWeights = ();
-    type DbWeight = ();
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = frame_support::traits::ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
     type SS58Prefix = SS58Prefix;
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 // DuniterWot
diff --git a/pallets/identity/src/benchmarking.rs b/pallets/identity/src/benchmarking.rs
index 60662c48e262fba2598f1d9638fa3292b3127046..2fa17b2741d534e0c694593d31e61852a88d2b7c 100644
--- a/pallets/identity/src/benchmarking.rs
+++ b/pallets/identity/src/benchmarking.rs
@@ -22,7 +22,7 @@ use codec::Encode;
 use frame_benchmarking::{account, v2::*};
 use frame_support::traits::OnInitialize;
 use frame_system::{pallet_prelude::BlockNumberFor, RawOrigin};
-use sp_core::Get;
+use sp_core::{crypto::Ss58Codec, Get};
 use sp_io::crypto::{sr25519_generate, sr25519_sign};
 use sp_runtime::{AccountId32, MultiSigner};
 
@@ -509,6 +509,56 @@ mod benchmarks {
         Ok(())
     }
 
+    #[benchmark]
+    fn revoke_identity_legacy() -> Result<(), BenchmarkError> {
+        let caller_index = T::IdtyIndex::from(1u32);
+        let caller: T::AccountId = Identities::<T>::get(caller_index).unwrap().owner_key;
+
+        let idty_index: T::IdtyIndex = 102.into();
+        let owner_key: T::AccountId =
+            AccountId32::from_ss58check("5H2nLXGku46iztpqdRwsCAiP6vHZbShhKmSV4yyufQgEUFvV")
+                .unwrap()
+                .into();
+        let next_scheduled = BlockNumberFor::<T>::zero();
+        let value = IdtyValue {
+            data: Default::default(),
+            next_creatable_identity_on: BlockNumberFor::<T>::zero(),
+            old_owner_key: None,
+            owner_key: owner_key.clone(),
+            next_scheduled,
+            status: IdtyStatus::Member,
+        };
+        let name = "Charlie";
+        let idty_name = IdtyName(name.into());
+        frame_system::Pallet::<T>::inc_sufficients(&owner_key);
+        <Identities<T>>::insert(idty_index, value);
+        IdentityChangeSchedule::<T>::append(next_scheduled, idty_index);
+        IdentityIndexOf::<T>::insert(owner_key.clone(), idty_index);
+        <IdentitiesNames<T>>::insert(idty_name.clone(), idty_index);
+
+        let document = r"Version: 10
+Type: Revocation
+Currency: g1
+Issuer: Fnf2xaxYdQpB4kU45DMLQ9Ey4bd6DtoebKJajRkLBUXm
+IdtyUniqueID: Charlie
+IdtyTimestamp: 42-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+IdtySignature: 7KUagcMiQw05rwbkBsRrnNqPRHu/Y5ukCLoAEpb/1tXAQsSNf2gRi1h5PWIGs9y/vHnFXvF5epKsOjA6X75vDg==
+CfiG4xhcWS+/DgxY0xFIyOA9TVr4Im3XEXcCApNgXC+Ns9jy2yrNoC3NF8MCD63cZ8QTRfrr4Iv6n3leYCCcDQ==
+";
+
+        #[extrinsic_call]
+        _(RawOrigin::Signed(caller), document.into());
+
+        assert_has_event::<T>(
+            Event::<T>::IdtyRevoked {
+                idty_index,
+                reason: RevocationReason::User,
+            }
+            .into(),
+        );
+        Ok(())
+    }
+
     impl_benchmark_test_suite!(
         Pallet,
         // Create genesis identity Alice to test benchmark in mock
diff --git a/pallets/identity/src/lib.rs b/pallets/identity/src/lib.rs
index 324d782f5c18e1f68a33af59775a51b0737dd8d3..64f47fe83edbed60889149f263e66a6cd14f6afd 100644
--- a/pallets/identity/src/lib.rs
+++ b/pallets/identity/src/lib.rs
@@ -83,6 +83,7 @@ pub const REVOCATION_PAYLOAD_PREFIX: [u8; 4] = [b'r', b'e', b'v', b'o'];
 // link = link (identity with account)
 pub const LINK_IDTY_PAYLOAD_PREFIX: [u8; 4] = [b'l', b'i', b'n', b'k'];
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/identity/src/mock.rs b/pallets/identity/src/mock.rs
index 92380ce2cc3d7cb54fd2bf45fa2c941de787608b..70758bc813260c41b9175e9e2225338b89c35c9f 100644
--- a/pallets/identity/src/mock.rs
+++ b/pallets/identity/src/mock.rs
@@ -17,7 +17,7 @@
 use super::*;
 use crate::{self as pallet_identity};
 use frame_support::{
-    parameter_types,
+    derive_impl, parameter_types,
     traits::{Everything, OnFinalize, OnInitialize},
 };
 use frame_system as system;
@@ -54,36 +54,22 @@ parameter_types! {
     pub const SS58Prefix: u8 = 42;
 }
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl system::Config for Test {
-    type AccountData = ();
     type AccountId = AccountId;
     type BaseCallFilter = Everything;
     type Block = Block;
     type BlockHashCount = BlockHashCount;
-    type BlockLength = ();
-    type BlockWeights = ();
-    type DbWeight = ();
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = frame_support::traits::ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
     type SS58Prefix = SS58Prefix;
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 parameter_types! {
diff --git a/pallets/identity/src/weights.rs b/pallets/identity/src/weights.rs
index f72819c3717da2372c724ff703a9bcc4eb23b4f6..b0441d0403e24036c7018b0ae1134d6c171afeb7 100644
--- a/pallets/identity/src/weights.rs
+++ b/pallets/identity/src/weights.rs
@@ -85,17 +85,6 @@ impl WeightInfo for () {
             .saturating_add(RocksDbWeight::get().writes(6))
     }
 
-    fn revoke_identity_legacy() -> Weight {
-        // Proof Size summary in bytes:
-        //  Measured:  `778`
-        //  Estimated: `6718`
-        // Minimum execution time: 829_174_000 picoseconds.
-        Weight::from_parts(869_308_000, 0)
-            .saturating_add(Weight::from_parts(0, 6718))
-            .saturating_add(RocksDbWeight::get().reads(6))
-            .saturating_add(RocksDbWeight::get().writes(6))
-    }
-
     fn prune_item_identities_names(i: u32) -> Weight {
         // Proof Size summary in bytes:
         //  Measured:  `0`
@@ -159,6 +148,17 @@ impl WeightInfo for () {
             .saturating_add(RocksDbWeight::get().writes(20))
     }
 
+    fn revoke_identity_legacy() -> Weight {
+        // Proof Size summary in bytes:
+        //  Measured:  `1525`
+        //  Estimated: `7465`
+        // Minimum execution time: 2_204_911_000 picoseconds.
+        Weight::from_parts(2_225_493_000, 0)
+            .saturating_add(Weight::from_parts(0, 7465))
+            .saturating_add(RocksDbWeight::get().reads(17))
+            .saturating_add(RocksDbWeight::get().writes(20))
+    }
+
     fn do_remove_identity_noop() -> Weight {
         // Proof Size summary in bytes:
         //  Measured:  `269`
diff --git a/pallets/membership/src/lib.rs b/pallets/membership/src/lib.rs
index 0a096b0a309bbcd093bf5caaac3c3ddfa82e7987..ffbd6b8798af9898a06d95cc8ec8bca2159e8ffd 100644
--- a/pallets/membership/src/lib.rs
+++ b/pallets/membership/src/lib.rs
@@ -69,6 +69,7 @@ pub enum MembershipRemovalReason {
     System,
 }
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/membership/src/mock.rs b/pallets/membership/src/mock.rs
index 6269ed615639f46c57dde4fd3dc6e882d67eade1..208e663f592cdac83d58025aeaff8c7ba3aa193d 100644
--- a/pallets/membership/src/mock.rs
+++ b/pallets/membership/src/mock.rs
@@ -16,7 +16,7 @@
 
 use crate::{self as pallet_membership};
 use frame_support::{
-    parameter_types,
+    derive_impl, parameter_types,
     traits::{Everything, OnFinalize, OnInitialize},
 };
 use frame_system as system;
@@ -44,36 +44,22 @@ parameter_types! {
     pub const SS58Prefix: u8 = 42;
 }
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl system::Config for Test {
-    type AccountData = ();
     type AccountId = AccountId;
     type BaseCallFilter = Everything;
     type Block = Block;
     type BlockHashCount = BlockHashCount;
-    type BlockLength = ();
-    type BlockWeights = ();
-    type DbWeight = ();
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = frame_support::traits::ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
     type SS58Prefix = SS58Prefix;
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 parameter_types! {
diff --git a/pallets/offences/src/lib.rs b/pallets/offences/src/lib.rs
index 8b2d32cc4ef802160ec069dfcfe4a8a182248d2b..ab9c03ca6328656c8146785baa6e134035a8d31f 100644
--- a/pallets/offences/src/lib.rs
+++ b/pallets/offences/src/lib.rs
@@ -65,6 +65,7 @@ pub enum SlashStrategy {
     Blacklist,
 }
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/offences/src/mock.rs b/pallets/offences/src/mock.rs
index 49611fb08cf700cc869405c661efd08c23547321..ac5db8b17026efa949fec2a2aa12e85ea161fd85 100644
--- a/pallets/offences/src/mock.rs
+++ b/pallets/offences/src/mock.rs
@@ -17,7 +17,7 @@
 use crate::{self as pallet_offences, Config, SlashStrategy};
 use codec::Encode;
 use frame_support::{
-    parameter_types,
+    derive_impl, parameter_types,
     traits::{ConstU32, ConstU64},
     weights::{constants::RocksDbWeight, Weight},
 };
@@ -59,36 +59,22 @@ frame_support::construct_runtime!(
     }
 );
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl frame_system::Config for Runtime {
-    type AccountData = ();
     type AccountId = u64;
     type BaseCallFilter = frame_support::traits::Everything;
     type Block = Block;
     type BlockHashCount = ConstU64<250>;
-    type BlockLength = ();
-    type BlockWeights = ();
     type DbWeight = RocksDbWeight;
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
-    type SS58Prefix = ();
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 impl Config for Runtime {
diff --git a/pallets/oneshot-account/Cargo.toml b/pallets/oneshot-account/Cargo.toml
index b0e9dda3671e62905ecd063ef737684daa3985f1..433a825bcd54b88aef28a827e23e49b09f0a8b46 100644
--- a/pallets/oneshot-account/Cargo.toml
+++ b/pallets/oneshot-account/Cargo.toml
@@ -15,6 +15,7 @@ runtime-benchmarks = [
 	"frame-support/runtime-benchmarks",
 	"frame-system/runtime-benchmarks",
 	"pallet-balances/runtime-benchmarks",
+	"pallet-transaction-payment/runtime-benchmarks",
 	"sp-runtime/runtime-benchmarks",
 ]
 try-runtime = [
diff --git a/pallets/oneshot-account/src/check_nonce.rs b/pallets/oneshot-account/src/check_nonce.rs
index 3d792e53b130a94d77800ad806b6d6fa2dc35e77..63968eddb7a09e457fd8223e8c52358bba070e23 100644
--- a/pallets/oneshot-account/src/check_nonce.rs
+++ b/pallets/oneshot-account/src/check_nonce.rs
@@ -17,15 +17,19 @@
 use crate::Config;
 
 use codec::{Decode, Encode};
-use frame_support::{dispatch::DispatchInfo, traits::IsSubType};
+use frame_support::{dispatch::DispatchInfo, pallet_prelude::Weight, traits::IsSubType};
 //use frame_system::Config;
 use scale_info::{
     prelude::fmt::{Debug, Formatter},
     TypeInfo,
 };
 use sp_runtime::{
-    traits::{DispatchInfoOf, Dispatchable, SignedExtension},
-    transaction_validity::{TransactionValidity, TransactionValidityError},
+    traits::{
+        AsSystemOriginSigner, DispatchInfoOf, Dispatchable, PostDispatchInfoOf,
+        TransactionExtension, ValidateResult,
+    },
+    transaction_validity::{TransactionSource, TransactionValidityError},
+    DispatchResult,
 };
 
 /// Wrapper around `frame_system::CheckNonce<T>`.
@@ -51,46 +55,71 @@ impl<T: Config> Debug for CheckNonce<T> {
     }
 }
 
-impl<T: Config + TypeInfo> SignedExtension for CheckNonce<T>
+impl<T: Config + TypeInfo> TransactionExtension<T::RuntimeCall> for CheckNonce<T>
 where
-    T::RuntimeCall: Dispatchable<Info = DispatchInfo> + IsSubType<crate::Call<T>>,
+    T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
+    <T::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<T::AccountId> + Clone,
+    T::RuntimeCall: IsSubType<crate::Call<T>>,
 {
-    type AccountId = <T as frame_system::Config>::AccountId;
-    type AdditionalSigned = ();
-    type Call = <T as frame_system::Config>::RuntimeCall;
-    type Pre = ();
+    type Implicit = ();
+    type Pre = <frame_system::CheckNonce<T> as TransactionExtension<T::RuntimeCall>>::Pre;
+    type Val = <frame_system::CheckNonce<T> as TransactionExtension<T::RuntimeCall>>::Val;
 
     const IDENTIFIER: &'static str = "CheckNonce";
 
-    fn additional_signed(&self) -> Result<(), TransactionValidityError> {
-        self.0.additional_signed()
+    fn validate(
+        &self,
+        origin: <T as frame_system::Config>::RuntimeOrigin,
+        call: &T::RuntimeCall,
+        info: &DispatchInfoOf<T::RuntimeCall>,
+        len: usize,
+        self_implicit: Self::Implicit,
+        inherited_implication: &impl Encode,
+        source: TransactionSource,
+    ) -> ValidateResult<Self::Val, T::RuntimeCall> {
+        self.0.validate(
+            origin,
+            call,
+            info,
+            len,
+            self_implicit,
+            inherited_implication,
+            source,
+        )
     }
 
-    fn pre_dispatch(
+    fn weight(&self, origin: &T::RuntimeCall) -> Weight {
+        self.0.weight(origin)
+    }
+
+    fn prepare(
         self,
-        who: &Self::AccountId,
-        call: &Self::Call,
-        info: &DispatchInfoOf<Self::Call>,
+        val: Self::Val,
+        origin: &T::RuntimeOrigin,
+        call: &T::RuntimeCall,
+        info: &DispatchInfoOf<T::RuntimeCall>,
         len: usize,
-    ) -> Result<(), TransactionValidityError> {
+    ) -> Result<Self::Pre, TransactionValidityError> {
         if let Some(
             crate::Call::consume_oneshot_account { .. }
             | crate::Call::consume_oneshot_account_with_remaining { .. },
         ) = call.is_sub_type()
         {
-            Ok(())
+            Ok(Self::Pre::NonceChecked)
         } else {
-            self.0.pre_dispatch(who, call, info, len)
+            self.0.prepare(val, origin, call, info, len)
         }
     }
 
-    fn validate(
-        &self,
-        who: &Self::AccountId,
-        call: &Self::Call,
-        info: &DispatchInfoOf<Self::Call>,
+    fn post_dispatch_details(
+        pre: Self::Pre,
+        info: &DispatchInfo,
+        post_info: &PostDispatchInfoOf<T::RuntimeCall>,
         len: usize,
-    ) -> TransactionValidity {
-        self.0.validate(who, call, info, len)
+        result: &DispatchResult,
+    ) -> Result<Weight, TransactionValidityError> {
+        <frame_system::CheckNonce<T> as TransactionExtension<T::RuntimeCall>>::post_dispatch_details(
+            pre, info, post_info, len, result,
+        )
     }
 }
diff --git a/pallets/oneshot-account/src/lib.rs b/pallets/oneshot-account/src/lib.rs
index 42adac55a8fce9bd6cb629c506c2b6424c2d6980..1b6735fb13a47bf971441e40eb1a2ac1b0f823ae 100644
--- a/pallets/oneshot-account/src/lib.rs
+++ b/pallets/oneshot-account/src/lib.rs
@@ -48,6 +48,7 @@ use sp_runtime::traits::{DispatchInfoOf, PostDispatchInfoOf, Saturating, StaticL
 type AccountIdOf<T> = <T as frame_system::Config>::AccountId;
 type BalanceOf<T> = <<T as Config>::Currency as fungible::Inspect<AccountIdOf<T>>>::Balance;
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
@@ -136,7 +137,7 @@ pub mod pallet {
         ///
         /// Origin account is kept alive.
         #[pallet::call_index(0)]
-        #[pallet::weight(T::WeightInfo::create_oneshot_account())]
+        #[pallet::weight(<T as pallet::Config>::WeightInfo::create_oneshot_account())]
         pub fn create_oneshot_account(
             origin: OriginFor<T>,
             dest: <T::Lookup as StaticLookup>::Source,
@@ -177,7 +178,7 @@ pub mod pallet {
         /// - `dest`: The destination account.
         /// - `dest_is_oneshot`: If set to `true`, then a oneshot account is created at `dest`. Else, `dest` has to be an existing account.
         #[pallet::call_index(1)]
-        #[pallet::weight(T::WeightInfo::consume_oneshot_account())]
+        #[pallet::weight(<T as pallet::Config>::WeightInfo::consume_oneshot_account())]
         pub fn consume_oneshot_account(
             origin: OriginFor<T>,
             block_height: BlockNumberFor<T>,
@@ -237,7 +238,7 @@ pub mod pallet {
         /// - `dest2_is_oneshot`: If set to `true`, then a oneshot account is created at `dest2`. Else, `dest2` has to be an existing account.
         /// - `balance1`: The amount transfered to `dest`, the leftover being transfered to `dest2`.
         #[pallet::call_index(2)]
-        #[pallet::weight(T::WeightInfo::consume_oneshot_account_with_remaining())]
+        #[pallet::weight(<T as pallet::Config>::WeightInfo::consume_oneshot_account_with_remaining())]
         pub fn consume_oneshot_account_with_remaining(
             origin: OriginFor<T>,
             block_height: BlockNumberFor<T>,
@@ -339,6 +340,16 @@ where
     type Balance = BalanceOf<T>;
     type LiquidityInfo = Option<Credit<T::AccountId, T::Currency>>;
 
+    fn can_withdraw_fee(
+        who: &T::AccountId,
+        call: &T::RuntimeCall,
+        dispatch_info: &DispatchInfoOf<T::RuntimeCall>,
+        fee: Self::Balance,
+        tip: Self::Balance,
+    ) -> Result<(), TransactionValidityError> {
+        T::InnerOnChargeTransaction::can_withdraw_fee(who, call, dispatch_info, fee, tip)
+    }
+
     fn withdraw_fee(
         who: &T::AccountId,
         call: &T::RuntimeCall,
@@ -390,4 +401,14 @@ where
             already_withdrawn,
         )
     }
+
+    #[cfg(feature = "runtime-benchmarks")]
+    fn endow_account(who: &T::AccountId, amount: Self::Balance) {
+        T::InnerOnChargeTransaction::endow_account(who, amount);
+    }
+
+    #[cfg(feature = "runtime-benchmarks")]
+    fn minimum_balance() -> Self::Balance {
+        T::InnerOnChargeTransaction::minimum_balance()
+    }
 }
diff --git a/pallets/oneshot-account/src/mock.rs b/pallets/oneshot-account/src/mock.rs
index d742e3343b77c85bf0e3bf445879494d1a200195..aa75a55686043da319764ecae086a252e18e2fd4 100644
--- a/pallets/oneshot-account/src/mock.rs
+++ b/pallets/oneshot-account/src/mock.rs
@@ -15,7 +15,7 @@
 // along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
 
 use crate::{self as pallet_oneshot_account};
-use frame_support::{parameter_types, traits::Everything, weights::IdentityFee};
+use frame_support::{derive_impl, parameter_types, traits::Everything, weights::IdentityFee};
 use frame_system as system;
 use pallet_transaction_payment::FungibleAdapter;
 use sp_core::{ConstU32, H256};
@@ -43,36 +43,23 @@ parameter_types! {
     pub const SS58Prefix: u8 = 42;
 }
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl system::Config for Test {
     type AccountData = pallet_balances::AccountData<Balance>;
     type AccountId = u64;
     type BaseCallFilter = Everything;
     type Block = Block;
     type BlockHashCount = BlockHashCount;
-    type BlockLength = ();
-    type BlockWeights = ();
-    type DbWeight = ();
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = frame_support::traits::ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
     type SS58Prefix = SS58Prefix;
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 parameter_types! {
@@ -83,6 +70,7 @@ parameter_types! {
 impl pallet_balances::Config for Test {
     type AccountStore = System;
     type Balance = Balance;
+    type DoneSlashHandler = ();
     type DustRemoval = ();
     type ExistentialDeposit = ExistentialDeposit;
     type FreezeIdentifier = ();
@@ -101,6 +89,7 @@ impl pallet_transaction_payment::Config for Test {
     type OnChargeTransaction = OneshotAccount;
     type OperationalFeeMultiplier = frame_support::traits::ConstU8<5>;
     type RuntimeEvent = RuntimeEvent;
+    type WeightInfo = ();
     type WeightToFee = IdentityFee<u64>;
 }
 impl pallet_oneshot_account::Config for Test {
diff --git a/pallets/provide-randomness/src/lib.rs b/pallets/provide-randomness/src/lib.rs
index 20dcfa91bd1b8a06a31f1df75c6b2d0499283ad2..1534f1e950315955ad5db7778359342a9dcbd811 100644
--- a/pallets/provide-randomness/src/lib.rs
+++ b/pallets/provide-randomness/src/lib.rs
@@ -53,6 +53,7 @@ impl OnFilledRandomness for () {
     }
 }
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/quota/src/lib.rs b/pallets/quota/src/lib.rs
index 67340ef670a1d12c7294dbde1f93111e4bffa3e1..9ea7aa21050c7cadcde0a1c40275b0a6dfa3bb03 100644
--- a/pallets/quota/src/lib.rs
+++ b/pallets/quota/src/lib.rs
@@ -59,6 +59,7 @@ use scale_info::prelude::vec::Vec;
 use sp_runtime::traits::Zero;
 pub use weights::WeightInfo;
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/quota/src/mock.rs b/pallets/quota/src/mock.rs
index a21f3b85c552e77c4ff63397e2ebf5b60be8e812..f39b053dfe4c1f565549dd401b54bf52d8b0a1de 100644
--- a/pallets/quota/src/mock.rs
+++ b/pallets/quota/src/mock.rs
@@ -19,7 +19,7 @@
 use super::*;
 pub use crate::pallet as pallet_quota;
 use frame_support::{
-    parameter_types,
+    derive_impl, parameter_types,
     traits::{Everything, OnFinalize, OnInitialize},
 };
 use frame_system as system;
@@ -75,36 +75,24 @@ parameter_types! {
     pub const BlockHashCount: u64 = 250;
     pub const SS58Prefix: u8 = 42;
 }
+
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl system::Config for Test {
     type AccountData = pallet_balances::AccountData<Balance>;
     type AccountId = AccountId;
     type BaseCallFilter = Everything;
     type Block = Block;
     type BlockHashCount = BlockHashCount;
-    type BlockLength = ();
-    type BlockWeights = ();
-    type DbWeight = ();
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = frame_support::traits::ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
     type SS58Prefix = SS58Prefix;
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 // BALANCES //
@@ -115,6 +103,7 @@ parameter_types! {
 impl pallet_balances::Config for Test {
     type AccountStore = System;
     type Balance = Balance;
+    type DoneSlashHandler = ();
     type DustRemoval = ();
     type ExistentialDeposit = ExistentialDeposit;
     type FreezeIdentifier = ();
diff --git a/pallets/smith-members/src/lib.rs b/pallets/smith-members/src/lib.rs
index e7c48962a8d187dd46348e21b72b1c86623375c6..d9246b0cc506c6f644cacd2048aef11a6d6d104c 100644
--- a/pallets/smith-members/src/lib.rs
+++ b/pallets/smith-members/src/lib.rs
@@ -96,6 +96,7 @@ pub enum SmithStatus {
     Excluded,
 }
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/smith-members/src/mock.rs b/pallets/smith-members/src/mock.rs
index 27ecfe8854e244347001eaa979a30823d2146b8d..388f7114775dc8c47bc4bd67b5b3a38eb0db11f6 100644
--- a/pallets/smith-members/src/mock.rs
+++ b/pallets/smith-members/src/mock.rs
@@ -16,6 +16,7 @@
 
 use crate::{self as pallet_smith_members};
 use frame_support::{
+    derive_impl,
     pallet_prelude::Hooks,
     parameter_types,
     traits::{ConstU32, ConstU64},
@@ -41,36 +42,22 @@ frame_support::construct_runtime!(
     }
 );
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl frame_system::Config for Runtime {
-    type AccountData = ();
     type AccountId = u64;
     type BaseCallFilter = frame_support::traits::Everything;
     type Block = Block;
     type BlockHashCount = ConstU64<250>;
-    type BlockLength = ();
-    type BlockWeights = ();
     type DbWeight = RocksDbWeight;
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
-    type SS58Prefix = ();
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 pub struct EveryoneExceptIdZero;
diff --git a/pallets/universal-dividend/src/lib.rs b/pallets/universal-dividend/src/lib.rs
index 6fda9a68c9621cb34358ede9a3cc138b7eb58905..c0a0347259c0461dfcf81b8e414dd84231e3dd4c 100644
--- a/pallets/universal-dividend/src/lib.rs
+++ b/pallets/universal-dividend/src/lib.rs
@@ -56,6 +56,7 @@ use sp_arithmetic::{
 };
 use sp_runtime::traits::{Get, MaybeSerializeDeserialize, StaticLookup};
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
diff --git a/pallets/universal-dividend/src/mock.rs b/pallets/universal-dividend/src/mock.rs
index 233ec61e7aa9e8c538c362a05036e56b6eec9835..077f6694b9194278130274fc96e31c9f10a9958d 100644
--- a/pallets/universal-dividend/src/mock.rs
+++ b/pallets/universal-dividend/src/mock.rs
@@ -17,7 +17,7 @@
 use super::*;
 use crate::{self as pallet_universal_dividend};
 use frame_support::{
-    parameter_types,
+    derive_impl, parameter_types,
     traits::{Everything, OnFinalize, OnInitialize},
 };
 use frame_system as system;
@@ -48,36 +48,23 @@ parameter_types! {
     pub const SS58Prefix: u8 = 42;
 }
 
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl system::Config for Test {
     type AccountData = pallet_balances::AccountData<Balance>;
     type AccountId = u32;
     type BaseCallFilter = Everything;
     type Block = Block;
     type BlockHashCount = BlockHashCount;
-    type BlockLength = ();
-    type BlockWeights = ();
-    type DbWeight = ();
     type Hash = H256;
     type Hashing = BlakeTwo256;
     type Lookup = IdentityLookup<Self::AccountId>;
     type MaxConsumers = frame_support::traits::ConstU32<16>;
-    type MultiBlockMigrator = ();
     type Nonce = u64;
-    type OnKilledAccount = ();
-    type OnNewAccount = ();
-    type OnSetCode = ();
     type PalletInfo = PalletInfo;
-    type PostInherents = ();
-    type PostTransactions = ();
-    type PreInherents = ();
     type RuntimeCall = RuntimeCall;
     type RuntimeEvent = RuntimeEvent;
     type RuntimeOrigin = RuntimeOrigin;
-    type RuntimeTask = ();
     type SS58Prefix = SS58Prefix;
-    type SingleBlockMigrations = ();
-    type SystemWeightInfo = ();
-    type Version = ();
 }
 
 parameter_types! {
@@ -99,6 +86,7 @@ parameter_types! {
 impl pallet_balances::Config for Test {
     type AccountStore = System;
     type Balance = Balance;
+    type DoneSlashHandler = ();
     type DustRemoval = ();
     type ExistentialDeposit = ExistentialDeposit;
     type FreezeIdentifier = ();
diff --git a/pallets/upgrade-origin/src/lib.rs b/pallets/upgrade-origin/src/lib.rs
index d98c21f84b3f2870ff4ecff6f91d84c923881a3f..20fb15f451898efb9c9940f9d7cc54c506ece885 100644
--- a/pallets/upgrade-origin/src/lib.rs
+++ b/pallets/upgrade-origin/src/lib.rs
@@ -30,6 +30,7 @@ use frame_support::{
 use scale_info::prelude::boxed::Box;
 use sp_runtime::traits::Dispatchable;
 
+#[allow(unreachable_patterns)]
 #[frame_support::pallet]
 pub mod pallet {
     use super::*;
@@ -86,7 +87,7 @@ pub mod pallet {
 			let dispatch_info = call.get_dispatch_info();
 			(
 				T::WeightInfo::dispatch_as_root()
-					.saturating_add(dispatch_info.weight),
+					.saturating_add(dispatch_info.call_weight).saturating_add(dispatch_info.extension_weight),
 				dispatch_info.class,
 			)
 		})]
diff --git a/resources/metadata.scale b/resources/metadata.scale
index aa2d5ecb9c31af40b6dae44102204e3278748bb9..430bae89f08fbcf6bcf656bfc6f26516d767119b 100644
Binary files a/resources/metadata.scale and b/resources/metadata.scale differ
diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml
index 3bce7226e7e879e37e1718482350df827cfe9228..4cc54a0c17d3c70ae0f8c8528499b16400092a14 100644
--- a/runtime/common/Cargo.toml
+++ b/runtime/common/Cargo.toml
@@ -31,6 +31,7 @@ runtime-benchmarks = [
 	"pallet-quota/runtime-benchmarks",
 	"pallet-smith-members/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
+	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-universal-dividend/runtime-benchmarks",
 	"sp-runtime/runtime-benchmarks",
diff --git a/runtime/common/src/apis.rs b/runtime/common/src/apis.rs
index 77ed9caec2e507cce00ccd178b249e170f7dfc29..3c8c346a0b744aa51262e8fa812f4801bd317a63 100644
--- a/runtime/common/src/apis.rs
+++ b/runtime/common/src/apis.rs
@@ -14,304 +14,304 @@
 // You should have received a copy of the GNU Affero General Public License
 // along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
 
+// This file is not formatted automatically due to the nested macro definition.
+// It can be formatted by commenting out the last line, the first five lines,
+// and then running `rustfmt` on `runtime/common/src/apis.rs`.
 #[macro_export]
 macro_rules! runtime_apis {
-    {$($custom:tt)*} => {
+    ($($custom:tt)*) => {
         impl_runtime_apis! {
             $($custom)*
 
-            impl sp_authority_discovery::AuthorityDiscoveryApi<Block> for Runtime {
-                fn authorities() -> Vec<sp_authority_discovery::AuthorityId> {
-                    AuthorityDiscovery::authorities()
-                }
-            }
-
-            impl sp_consensus_babe::BabeApi<Block> for Runtime {
-                fn configuration() -> sp_consensus_babe::BabeConfiguration {
-                    // The choice of `c` parameter (where `1 - c` represents the
-                    // probability of a slot being empty), is done in accordance to the
-                    // slot duration and expected target block time, for safely
-                    // resisting network delays of maximum two seconds.
-                    // <https://research.web3.foundation/en/latest/polkadot/BABE/Babe/#6-practical-results>
-                    use frame_support::traits::Get as _;
-                    sp_consensus_babe::BabeConfiguration {
-                        slot_duration: Babe::slot_duration(),
-                        epoch_length: EpochDuration::get(),
-                        c: BABE_GENESIS_EPOCH_CONFIG.c,
-                        authorities: Babe::authorities().to_vec(),
-                        randomness: Babe::randomness(),
-                        allowed_slots: BABE_GENESIS_EPOCH_CONFIG.allowed_slots,
-                    }
-                }
-
-                fn current_epoch_start() -> sp_consensus_babe::Slot {
-                    Babe::current_epoch_start()
-                }
-
-                fn current_epoch() -> sp_consensus_babe::Epoch {
-                    Babe::current_epoch()
-                }
-
-                fn next_epoch() -> sp_consensus_babe::Epoch {
-                    Babe::next_epoch()
-                }
-
-                fn generate_key_ownership_proof(
-                    _slot: sp_consensus_babe::Slot,
-                    authority_id: sp_consensus_babe::AuthorityId,
-                ) -> Option<sp_consensus_babe::OpaqueKeyOwnershipProof> {
-                    use codec::Encode;
-
-                    Historical::prove((sp_consensus_babe::KEY_TYPE, authority_id))
-                        .map(|p| p.encode())
-                        .map(sp_consensus_babe::OpaqueKeyOwnershipProof::new)
-                }
-
-                fn submit_report_equivocation_unsigned_extrinsic(
-                    equivocation_proof: sp_consensus_babe::EquivocationProof<<Block as BlockT>::Header>,
-                    key_owner_proof: sp_consensus_babe::OpaqueKeyOwnershipProof,
-                ) -> Option<()> {
-                    let key_owner_proof = key_owner_proof.decode()?;
-
-                    Babe::submit_unsigned_equivocation_report(
-                        equivocation_proof,
-                        key_owner_proof,
-                    )
-                }
-            }
-
-            impl sp_api::Core<Block> for Runtime {
-                fn version() -> RuntimeVersion {
-                    VERSION
-                }
-
-                fn execute_block(block: Block) {
-                    Executive::execute_block(block)
-                }
-
-                fn initialize_block(header: &<Block as BlockT>::Header) -> sp_runtime::ExtrinsicInclusionMode {
-                    Executive::initialize_block(header)
-                }
-            }
-
-            impl sp_api::Metadata<Block> for Runtime {
-                fn metadata() -> OpaqueMetadata {
-                    OpaqueMetadata::new(Runtime::metadata().into())
-                }
-		fn metadata_at_version(version: u32) -> Option<OpaqueMetadata> {
-			Runtime::metadata_at_version(version)
-		}
-		fn metadata_versions() -> Vec<u32> {
-			Runtime::metadata_versions()
-		}
-            }
-
-            impl sp_block_builder::BlockBuilder<Block> for Runtime {
-                fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult {
-                    Executive::apply_extrinsic(extrinsic)
-                }
-
-                fn finalize_block() -> <Block as BlockT>::Header {
-                    Executive::finalize_block()
-                }
-
-                fn inherent_extrinsics(
-                    data: sp_inherents::InherentData,
-                ) -> Vec<<Block as BlockT>::Extrinsic> {
-                    data.create_extrinsics()
-                }
-
-                fn check_inherents(
-                    block: Block,
-                    data: sp_inherents::InherentData,
-                ) -> sp_inherents::CheckInherentsResult {
-                    data.check_extrinsics(&block)
-                }
-            }
-
-            impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime {
-                fn validate_transaction(
-                    source: TransactionSource,
-                    tx: <Block as BlockT>::Extrinsic,
-                    block_hash: <Block as BlockT>::Hash,
-                ) -> TransactionValidity {
-                    // Filtered calls should not enter the tx pool.
-                    if !<Runtime as frame_system::Config>::BaseCallFilter::contains(&tx.function)
-                    {
-                        return sp_runtime::transaction_validity::InvalidTransaction::Call.into();
-                    }
-                    Executive::validate_transaction(source, tx, block_hash)
-                }
-            }
-
-            impl sp_offchain::OffchainWorkerApi<Block> for Runtime {
-                fn offchain_worker(header: &<Block as BlockT>::Header) {
-                    Executive::offchain_worker(header)
-                }
-            }
-
-            impl sp_session::SessionKeys<Block> for Runtime {
-                fn decode_session_keys(
-                    encoded: Vec<u8>,
-                ) -> Option<Vec<(Vec<u8>, KeyTypeId)>> {
-                    opaque::SessionKeys::decode_into_raw_public_keys(&encoded)
-                }
-
-                fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8> {
-                    opaque::SessionKeys::generate(seed)
-                }
-            }
-
-            impl fg_primitives::GrandpaApi<Block> for Runtime {
-                fn grandpa_authorities() -> GrandpaAuthorityList {
-                    Grandpa::grandpa_authorities()
-                }
-
-                fn current_set_id() -> fg_primitives::SetId {
-                    Grandpa::current_set_id()
-                }
-
-                fn submit_report_equivocation_unsigned_extrinsic(
-                    _equivocation_proof: fg_primitives::EquivocationProof<
-                        <Block as BlockT>::Hash,
-                        NumberFor<Block>,
-                    >,
-                    _key_owner_proof: fg_primitives::OpaqueKeyOwnershipProof,
-                ) -> Option<()> {
-                    None
-                }
-
-                fn generate_key_ownership_proof(
-                    _set_id: fg_primitives::SetId,
-                    _authority_id: GrandpaId,
-                ) -> Option<fg_primitives::OpaqueKeyOwnershipProof> {
-                    // NOTE: this is the only implementation possible since we've
-                    // defined our key owner proof type as a bottom type (i.e. a type
-                    // with no values).
-                    None
-                }
-            }
-
-            impl frame_system_rpc_runtime_api::AccountNonceApi<Block, AccountId, Index> for Runtime {
-                fn account_nonce(account: AccountId) -> Index {
-                    System::account_nonce(account)
-                }
-            }
-
-            impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
-            for Runtime {
-                fn query_info(
-                    uxt: <Block as BlockT>::Extrinsic,
-                    len: u32,
-                ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo<Balance> {
-                    TransactionPayment::query_info(uxt, len)
-                }
-
-                fn query_fee_details(
-                    uxt: <Block as BlockT>::Extrinsic,
-                    len: u32,
-                ) -> pallet_transaction_payment::FeeDetails<Balance> {
-                    TransactionPayment::query_fee_details(uxt, len)
-                }
-		fn query_weight_to_fee(weight: Weight) -> Balance {
-			TransactionPayment::weight_to_fee(weight)
-		}
-		fn query_length_to_fee(length: u32) -> Balance {
-			TransactionPayment::length_to_fee(length)
-		}
-            }
-	impl sp_genesis_builder::GenesisBuilder<Block> for Runtime {
-		fn build_state(config: Vec<u8>) -> sp_genesis_builder::Result {
-			frame_support::genesis_builder_helper::build_state::<RuntimeGenesisConfig>(config)
-		}
-
-		fn get_preset(id: &Option<sp_genesis_builder::PresetId>) -> Option<Vec<u8>> {
-			frame_support::genesis_builder_helper::get_preset::<RuntimeGenesisConfig>(id, |_| None)
-		}
-
-		fn preset_names() -> Vec<sp_genesis_builder::PresetId> {
-			vec![]
-		}
-	}
-
-            #[cfg(feature = "try-runtime")]
-            impl frame_try_runtime::TryRuntime<Block> for Runtime {
-                fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) {
-                    let weight = Executive::try_runtime_upgrade(checks).unwrap();
-					(weight, BlockWeights::get().max_block)
-                }
-
-                fn execute_block(
-                    block: Block,
-                    state_root_check: bool,
-					signature_check: bool,
-                    select: frame_try_runtime::TryStateSelect,
-                ) -> Weight {
-                    Executive::try_execute_block(block, state_root_check, signature_check, select).expect("execute-block failed")
-                }
-            }
-
-            #[cfg(feature = "runtime-benchmarks")]
-			impl frame_benchmarking::Benchmark<Block> for Runtime {
-				fn benchmark_metadata(extra: bool) -> (
-					Vec<frame_benchmarking::BenchmarkList>,
-					Vec<frame_support::traits::StorageInfo>,
-				) {
-					use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList};
-					use frame_support::traits::StorageInfoTrait;
-
-                    use pallet_session_benchmarking::Pallet as SessionBench;
-					use frame_system_benchmarking::Pallet as SystemBench;
-					use frame_benchmarking::baseline::Pallet as Baseline;
-
-					let mut list = Vec::<BenchmarkList>::new();
-                    list_benchmarks!(list, extra);
-
-					let storage_info = AllPalletsWithSystem::storage_info();
-					return (list, storage_info)
-				}
-
-				fn dispatch_benchmark(
-					config: frame_benchmarking::BenchmarkConfig
-				) -> Result<
-					Vec<frame_benchmarking::BenchmarkBatch>,
-					sp_runtime::RuntimeString,
-				> {
-					use frame_benchmarking::{Benchmarking, BenchmarkBatch};
-use frame_support::traits::TrackedStorageKey;
-use frame_support::traits::WhitelistedStorageKeys;
-                    use pallet_session_benchmarking::Pallet as SessionBench;
-					use frame_system_benchmarking::Pallet as SystemBench;
-					use frame_benchmarking::baseline::Pallet as Baseline;
-
-					impl pallet_session_benchmarking::Config for Runtime {}
-					impl frame_system_benchmarking::Config for Runtime {}
-					impl frame_benchmarking::baseline::Config for Runtime {}
-
-					/*let whitelist: Vec<TrackedStorageKey> = vec![
-						// Block Number
-						hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(),
-						// Total Issuance
-						hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(),
-						// Execution Phase
-						hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(),
-						// Event Count
-						hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(),
-						// System Events
-						hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(),
-						// Treasury Account
-						hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da95ecffd7b6c0f78751baa9d281e0bfa3a6d6f646c70792f74727372790000000000000000000000000000000000000000").to_vec().into(),
-					];*/
-
-let whitelist: Vec<TrackedStorageKey> = AllPalletsWithSystem::whitelisted_storage_keys();
-					let mut batches = Vec::<BenchmarkBatch>::new();
-					let params = (&config, &whitelist);
-                    add_benchmarks!(params, batches);
-
-					if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }
-					Ok(batches)
-				}
-			}
+impl sp_authority_discovery::AuthorityDiscoveryApi<Block> for Runtime {
+    fn authorities() -> Vec<sp_authority_discovery::AuthorityId> {
+        AuthorityDiscovery::authorities()
+    }
+}
+
+impl sp_consensus_babe::BabeApi<Block> for Runtime {
+    fn configuration() -> sp_consensus_babe::BabeConfiguration {
+        // The choice of `c` parameter (where `1 - c` represents the
+        // probability of a slot being empty), is done in accordance to the
+        // slot duration and expected target block time, for safely
+        // resisting network delays of maximum two seconds.
+        // <https://research.web3.foundation/en/latest/polkadot/BABE/Babe/#6-practical-results>
+        use frame_support::traits::Get as _;
+        sp_consensus_babe::BabeConfiguration {
+            slot_duration: Babe::slot_duration(),
+            epoch_length: EpochDuration::get(),
+            c: BABE_GENESIS_EPOCH_CONFIG.c,
+            authorities: Babe::authorities().to_vec(),
+            randomness: Babe::randomness(),
+            allowed_slots: BABE_GENESIS_EPOCH_CONFIG.allowed_slots,
+        }
+    }
+
+    fn current_epoch_start() -> sp_consensus_babe::Slot {
+        Babe::current_epoch_start()
+    }
+
+    fn current_epoch() -> sp_consensus_babe::Epoch {
+        Babe::current_epoch()
+    }
+
+    fn next_epoch() -> sp_consensus_babe::Epoch {
+        Babe::next_epoch()
+    }
+
+    fn generate_key_ownership_proof(
+        _slot: sp_consensus_babe::Slot,
+        authority_id: sp_consensus_babe::AuthorityId,
+    ) -> Option<sp_consensus_babe::OpaqueKeyOwnershipProof> {
+        use codec::Encode;
+
+        Historical::prove((sp_consensus_babe::KEY_TYPE, authority_id))
+            .map(|p| p.encode())
+            .map(sp_consensus_babe::OpaqueKeyOwnershipProof::new)
+    }
+
+    fn submit_report_equivocation_unsigned_extrinsic(
+        equivocation_proof: sp_consensus_babe::EquivocationProof<<Block as BlockT>::Header>,
+        key_owner_proof: sp_consensus_babe::OpaqueKeyOwnershipProof,
+    ) -> Option<()> {
+        let key_owner_proof = key_owner_proof.decode()?;
+
+        Babe::submit_unsigned_equivocation_report(equivocation_proof, key_owner_proof)
+    }
+}
+
+impl sp_api::Core<Block> for Runtime {
+    fn version() -> RuntimeVersion {
+        VERSION
+    }
+
+    fn execute_block(block: Block) {
+        Executive::execute_block(block)
+    }
+
+    fn initialize_block(header: &<Block as BlockT>::Header) -> sp_runtime::ExtrinsicInclusionMode {
+        Executive::initialize_block(header)
+    }
+}
+
+impl sp_api::Metadata<Block> for Runtime {
+    fn metadata() -> OpaqueMetadata {
+        OpaqueMetadata::new(Runtime::metadata().into())
+    }
+
+    fn metadata_at_version(version: u32) -> Option<OpaqueMetadata> {
+        Runtime::metadata_at_version(version)
+    }
+
+    fn metadata_versions() -> Vec<u32> {
+        Runtime::metadata_versions()
+    }
+}
+
+impl sp_block_builder::BlockBuilder<Block> for Runtime {
+    fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult {
+        Executive::apply_extrinsic(extrinsic)
+    }
+
+    fn finalize_block() -> <Block as BlockT>::Header {
+        Executive::finalize_block()
+    }
+
+    fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<<Block as BlockT>::Extrinsic> {
+        data.create_extrinsics()
+    }
+
+    fn check_inherents(
+        block: Block,
+        data: sp_inherents::InherentData,
+    ) -> sp_inherents::CheckInherentsResult {
+        data.check_extrinsics(&block)
+    }
+}
+
+impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime {
+    fn validate_transaction(
+        source: TransactionSource,
+        tx: <Block as BlockT>::Extrinsic,
+        block_hash: <Block as BlockT>::Hash,
+    ) -> TransactionValidity {
+        // Filtered calls should not enter the tx pool.
+        if !<Runtime as frame_system::Config>::BaseCallFilter::contains(&tx.function) {
+            return sp_runtime::transaction_validity::InvalidTransaction::Call.into();
+        }
+        Executive::validate_transaction(source, tx, block_hash)
+    }
+}
+
+impl sp_offchain::OffchainWorkerApi<Block> for Runtime {
+    fn offchain_worker(header: &<Block as BlockT>::Header) {
+        Executive::offchain_worker(header)
+    }
+}
+
+impl sp_session::SessionKeys<Block> for Runtime {
+    fn decode_session_keys(encoded: Vec<u8>) -> Option<Vec<(Vec<u8>, KeyTypeId)>> {
+        opaque::SessionKeys::decode_into_raw_public_keys(&encoded)
+    }
+
+    fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8> {
+        opaque::SessionKeys::generate(seed)
+    }
+}
+
+impl fg_primitives::GrandpaApi<Block> for Runtime {
+    fn grandpa_authorities() -> GrandpaAuthorityList {
+        Grandpa::grandpa_authorities()
+    }
+
+    fn current_set_id() -> fg_primitives::SetId {
+        Grandpa::current_set_id()
+    }
+
+    fn submit_report_equivocation_unsigned_extrinsic(
+        _equivocation_proof: fg_primitives::EquivocationProof<
+            <Block as BlockT>::Hash,
+            NumberFor<Block>,
+        >,
+        _key_owner_proof: fg_primitives::OpaqueKeyOwnershipProof,
+    ) -> Option<()> {
+        None
+    }
+
+    fn generate_key_ownership_proof(
+        _set_id: fg_primitives::SetId,
+        _authority_id: GrandpaId,
+    ) -> Option<fg_primitives::OpaqueKeyOwnershipProof> {
+        // NOTE: this is the only implementation possible since we've
+        // defined our key owner proof type as a bottom type (i.e. a type
+        // with no values).
+        None
+    }
+}
+
+impl frame_system_rpc_runtime_api::AccountNonceApi<Block, AccountId, Index> for Runtime {
+    fn account_nonce(account: AccountId) -> Index {
+        System::account_nonce(account)
+    }
+}
+
+impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance> for Runtime {
+    fn query_info(
+        uxt: <Block as BlockT>::Extrinsic,
+        len: u32,
+    ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo<Balance> {
+        TransactionPayment::query_info(uxt, len)
+    }
+
+    fn query_fee_details(
+        uxt: <Block as BlockT>::Extrinsic,
+        len: u32,
+    ) -> pallet_transaction_payment::FeeDetails<Balance> {
+        TransactionPayment::query_fee_details(uxt, len)
+    }
+
+    fn query_weight_to_fee(weight: Weight) -> Balance {
+        TransactionPayment::weight_to_fee(weight)
+    }
+
+    fn query_length_to_fee(length: u32) -> Balance {
+        TransactionPayment::length_to_fee(length)
+    }
+}
+impl sp_genesis_builder::GenesisBuilder<Block> for Runtime {
+    fn build_state(config: Vec<u8>) -> sp_genesis_builder::Result {
+        frame_support::genesis_builder_helper::build_state::<RuntimeGenesisConfig>(config)
+    }
+
+    fn get_preset(id: &Option<sp_genesis_builder::PresetId>) -> Option<Vec<u8>> {
+        frame_support::genesis_builder_helper::get_preset::<RuntimeGenesisConfig>(id, |_| None)
+    }
+
+    fn preset_names() -> Vec<sp_genesis_builder::PresetId> {
+        vec![]
+    }
+}
+
+#[cfg(feature = "try-runtime")]
+impl frame_try_runtime::TryRuntime<Block> for Runtime {
+    fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) {
+        let weight = Executive::try_runtime_upgrade(checks).unwrap();
+        (weight, BlockWeights::get().max_block)
+    }
+
+    fn execute_block(
+        block: Block,
+        state_root_check: bool,
+        signature_check: bool,
+        select: frame_try_runtime::TryStateSelect,
+    ) -> Weight {
+        Executive::try_execute_block(block, state_root_check, signature_check, select)
+            .expect("execute-block failed")
+    }
+}
+
+#[cfg(feature = "runtime-benchmarks")]
+impl frame_benchmarking::Benchmark<Block> for Runtime {
+    fn benchmark_metadata(
+        extra: bool,
+    ) -> (
+        Vec<frame_benchmarking::BenchmarkList>,
+        Vec<frame_support::traits::StorageInfo>,
+    ) {
+        use frame_benchmarking::{list_benchmark, BenchmarkList, Benchmarking};
+        use frame_support::traits::StorageInfoTrait;
+
+        use frame_benchmarking::baseline::Pallet as Baseline;
+        use frame_system_benchmarking::{
+            extensions::Pallet as SystemExtensionsBench, Pallet as SystemBench,
+        };
+        use pallet_session_benchmarking::Pallet as SessionBench;
+
+        let mut list = Vec::<BenchmarkList>::new();
+        list_benchmarks!(list, extra);
+
+        let storage_info = AllPalletsWithSystem::storage_info();
+        return (list, storage_info);
+    }
+
+    fn dispatch_benchmark(
+        config: frame_benchmarking::BenchmarkConfig,
+    ) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, scale_info::prelude::string::String> {
+        use frame_benchmarking::{baseline::Pallet as Baseline, BenchmarkBatch, Benchmarking};
+        use frame_support::traits::{TrackedStorageKey, WhitelistedStorageKeys};
+        use frame_system_benchmarking::{
+            extensions::Pallet as SystemExtensionsBench, Pallet as SystemBench,
+        };
+        use pallet_session_benchmarking::Pallet as SessionBench;
+
+        impl pallet_session_benchmarking::Config for Runtime {}
+        impl frame_system_benchmarking::Config for Runtime {}
+        impl frame_benchmarking::baseline::Config for Runtime {}
+
+        /*let whitelist: Vec<TrackedStorageKey> = vec![
+        // Block Number
+        hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(),
+        // Total Issuance
+        hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(),
+        // Execution Phase
+        hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(),
+        // Event Count
+        hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(),
+        // System Events
+        hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(),
+        // Treasury Account
+        hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da95ecffd7b6c0f78751baa9d281e0bfa3a6d6f646c70792f74727372790000000000000000000000000000000000000000").to_vec().into(),
+        ];*/
+
+        let whitelist: Vec<TrackedStorageKey> = AllPalletsWithSystem::whitelisted_storage_keys();
+        let mut batches = Vec::<BenchmarkBatch>::new();
+        let params = (&config, &whitelist);
+        add_benchmarks!(params, batches);
+
+        if batches.is_empty() {
+            return Err("Benchmark not found for this pallet.".into());
         }
-    };
+        Ok(batches)
+    }
 }
+}};}
diff --git a/runtime/common/src/benchmarks.rs b/runtime/common/src/benchmarks.rs
new file mode 100644
index 0000000000000000000000000000000000000000..a4a5cee903ba2bb4a37abcc043e05f7b6c4820c4
--- /dev/null
+++ b/runtime/common/src/benchmarks.rs
@@ -0,0 +1,62 @@
+// Copyright 2021 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+#![cfg(feature = "runtime-benchmarks")]
+
+#[macro_export]
+macro_rules! benchmarks_config {
+    () => {
+        #[macro_use]
+        extern crate frame_benchmarking;
+        pub use pallet_collective::RawOrigin;
+
+        type WorstOrigin = RawOrigin<AccountId, TechnicalCommitteeInstance>;
+
+        mod benches {
+            define_benchmarks!(
+                [pallet_certification, Certification]
+                [pallet_distance, Distance]
+                [pallet_oneshot_account, OneshotAccount]
+                [pallet_universal_dividend, UniversalDividend]
+                [pallet_provide_randomness, ProvideRandomness]
+                [pallet_upgrade_origin, UpgradeOrigin]
+                [pallet_duniter_account, Account]
+                [pallet_quota, Quota]
+                [pallet_identity, Identity]
+                [pallet_membership, Membership]
+                [pallet_smith_members, SmithMembers]
+                [pallet_authority_members, AuthorityMembers]
+                // Substrate
+                [frame_system_extensions, SystemExtensionsBench::<Runtime>]
+                [pallet_balances, Balances]
+                [frame_benchmarking::baseline, Baseline::<Runtime>]
+                [pallet_collective, TechnicalCommittee]
+                [pallet_session, SessionBench::<Runtime>]
+                [pallet_im_online, ImOnline]
+                [pallet_sudo, Sudo]
+                [pallet_multisig, Multisig]
+                [pallet_preimage, Preimage]
+                [pallet_proxy, Proxy]
+                [pallet_scheduler, Scheduler]
+                [frame_system, SystemBench::<Runtime>]
+                [pallet_timestamp, Timestamp]
+                [pallet_transaction_payment, TransactionPayment]
+                [pallet_treasury, Treasury]
+                [pallet_utility, Utility]
+            );
+        }
+    };
+}
diff --git a/runtime/common/src/constants.rs b/runtime/common/src/constants.rs
index a9f31004c1b2ad447e3976056f11505aecd91d06..851dc98ad0a4b6b5234d6210e1eccab8a08db6ec 100644
--- a/runtime/common/src/constants.rs
+++ b/runtime/common/src/constants.rs
@@ -18,11 +18,10 @@ use crate::{Balance, BlockNumber};
 use sp_runtime::Perbill;
 
 /// This determines the average expected block time that we are targeting.
-/// Blocks will be produced at a minimum duration defined by `SLOT_DURATION`.
-/// `SLOT_DURATION` is picked up by `pallet_timestamp` which is in turn picked
-/// up by `pallet_babe` to implement `fn slot_duration()`.
-///
-/// Change this to adjust the block time.
+// Blocks will be produced at a minimum duration defined by `SLOT_DURATION`.
+// `SLOT_DURATION` is picked up by `pallet_timestamp` which is in turn picked
+// up by `pallet_babe` to implement `fn slot_duration()`.
+// Change this to adjust the block time.
 pub const MILLISECS_PER_BLOCK: u64 = 6000;
 pub const SECS_PER_BLOCK: u64 = MILLISECS_PER_BLOCK / 1_000;
 
@@ -41,7 +40,7 @@ pub const YEARS: BlockNumber = (SECS_PER_YEAR / SECS_PER_BLOCK) as BlockNumber;
 // 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks.
 pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4);
 
-/// The BABE epoch configuration at genesis.
+// The BABE epoch configuration at genesis.
 pub const BABE_GENESIS_EPOCH_CONFIG: sp_consensus_babe::BabeEpochConfiguration =
     sp_consensus_babe::BabeEpochConfiguration {
         c: PRIMARY_PROBABILITY,
diff --git a/runtime/common/src/handlers.rs b/runtime/common/src/handlers.rs
index 46c61afa63fcd8048d97f2398656b5f754d85262..078bb6d7c28e01178db82b17c0e42c7ca0c2a315 100644
--- a/runtime/common/src/handlers.rs
+++ b/runtime/common/src/handlers.rs
@@ -95,6 +95,7 @@ impl<
 }
 
 /// Runtime handler for OnRemoveMembership, calling all implementations of
+///
 /// OnRemoveMembership and implementing logic at the runtime level.
 /// As the weight accounting is not trivial in this handler, the weight is
 /// done at the handler level.
diff --git a/runtime/common/src/lib.rs b/runtime/common/src/lib.rs
index e4fac0aa6e84cb9e85410ec6029bb20b166b3751..ea2971856503eb90b59c48a6467a8e9cab1c9ca1 100644
--- a/runtime/common/src/lib.rs
+++ b/runtime/common/src/lib.rs
@@ -17,10 +17,12 @@
 #![cfg_attr(not(feature = "std"), no_std)]
 
 mod apis;
+mod benchmarks;
 pub mod constants;
 pub mod entities;
 pub mod fees;
 pub mod handlers;
+mod offchain;
 mod pallets_config;
 pub mod providers;
 
diff --git a/runtime/common/src/offchain.rs b/runtime/common/src/offchain.rs
new file mode 100644
index 0000000000000000000000000000000000000000..aa857c51b1743a619560bb9d745c451b804bb06d
--- /dev/null
+++ b/runtime/common/src/offchain.rs
@@ -0,0 +1,48 @@
+// Copyright 2021 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+#[macro_export]
+macro_rules! offchain_config {
+    () => {
+        impl<LocalCall> frame_system::offchain::CreateTransaction<LocalCall> for Runtime
+        where
+            RuntimeCall: From<LocalCall>,
+        {
+            type Extension = TxExtension;
+
+            fn create_transaction(call: RuntimeCall, extension: TxExtension) -> UncheckedExtrinsic {
+                generic::UncheckedExtrinsic::new_transaction(call, extension)
+            }
+        }
+
+        impl<LocalCall> frame_system::offchain::CreateInherent<LocalCall> for Runtime
+        where
+            RuntimeCall: From<LocalCall>,
+        {
+            fn create_inherent(call: RuntimeCall) -> UncheckedExtrinsic {
+                generic::UncheckedExtrinsic::new_bare(call)
+            }
+        }
+
+        impl<LocalCall> frame_system::offchain::CreateTransactionBase<LocalCall> for Runtime
+        where
+            RuntimeCall: From<LocalCall>,
+        {
+            type Extrinsic = UncheckedExtrinsic;
+            type RuntimeCall = RuntimeCall;
+        }
+    };
+}
diff --git a/runtime/common/src/pallets_config.rs b/runtime/common/src/pallets_config.rs
index dd41a49edb909304350a9e8eca6faec32a4ecd51..04fa45d061f2ee8a191a9dd12db531d536707677 100644
--- a/runtime/common/src/pallets_config.rs
+++ b/runtime/common/src/pallets_config.rs
@@ -40,6 +40,8 @@ macro_rules! pallets_config {
             type BlockWeights = BlockWeights;
             /// The weight of database operations that the runtime can invoke.
             type DbWeight = DbWeight;
+            /// The weight of transaction extensions.
+            type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
             /// The type for hashing blocks and tries.
             type Hash = Hash;
             /// The hashing algorithm used.
@@ -154,6 +156,7 @@ macro_rules! pallets_config {
         impl pallet_balances::Config for Runtime {
             type AccountStore = Account;
             type Balance = Balance;
+            type DoneSlashHandler = ();
             type DustRemoval = HandleFees<TreasuryAccount, Balances>;
             type ExistentialDeposit = ExistentialDeposit;
             type FreezeIdentifier = ();
@@ -179,6 +182,7 @@ macro_rules! pallets_config {
             type OnChargeTransaction = OneshotAccount;
             type OperationalFeeMultiplier = frame_support::traits::ConstU8<5>;
             type RuntimeEvent = RuntimeEvent;
+            type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
             type WeightToFee = common_runtime::fees::WeightToFeeImpl<Balance, Self, Target>;
         }
         impl pallet_oneshot_account::Config for Runtime {
@@ -382,6 +386,7 @@ macro_rules! pallets_config {
             type BenchmarkHelper = ();
             type Beneficiary = AccountId;
             type BeneficiaryLookup = AccountIdLookup<AccountId, ()>;
+            type BlockNumberProvider = System;
             type Burn = Burn;
             type BurnDestination = ();
             type Currency = Balances;
@@ -527,10 +532,13 @@ macro_rules! pallets_config {
             pub MaxWeight: Weight = Perbill::from_percent(50) * BlockWeights::get().max_block;
         }
         impl pallet_collective::Config<Instance2> for Runtime {
+            type Consideration = ();
             #[cfg(not(feature = "runtime-benchmarks"))]
             type DefaultVote = TechnicalCommitteeDefaultVote;
             #[cfg(feature = "runtime-benchmarks")]
             type DefaultVote = pallet_collective::PrimeDefaultVote;
+            type DisapproveOrigin = EnsureRoot<Self::AccountId>;
+            type KillOrigin = EnsureRoot<Self::AccountId>;
             type MaxMembers = frame_support::pallet_prelude::ConstU32<100>;
             type MaxProposalWeight = MaxWeight;
             type MaxProposals = frame_support::pallet_prelude::ConstU32<20>;
diff --git a/runtime/g1/Cargo.toml b/runtime/g1/Cargo.toml
index 61b21bbb3c7808acc997dadb625ac4345ca79bb7..ae48e927ca669c81e8433a28f1c725480bfec39f 100644
--- a/runtime/g1/Cargo.toml
+++ b/runtime/g1/Cargo.toml
@@ -11,9 +11,18 @@ version.workspace = true
 [package.metadata.docs.rs]
 targets = ["x86_64-unknown-linux-gnu"]
 
+
 [features]
 default = ["std"]
 constant-fees = ["common-runtime/constant-fees"]
+# Enable the metadata hash generation.
+#
+# This is hidden behind a feature because it increases the compile time.
+# The wasm binary needs to be compiled twice, once to fetch the metadata,
+# generate the metadata hash and then a second time with the
+# `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash`
+# extension.
+metadata-hash = ["substrate-wasm-builder/metadata-hash"]
 runtime-benchmarks = [
 	"common-runtime/runtime-benchmarks",
 	"frame-benchmarking/runtime-benchmarks",
@@ -44,6 +53,7 @@ runtime-benchmarks = [
 	"pallet-smith-members/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
+	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-universal-dividend/runtime-benchmarks",
 	"pallet-upgrade-origin/runtime-benchmarks",
@@ -181,6 +191,7 @@ frame-system-benchmarking = { workspace = true }
 frame-system = { workspace = true }
 frame-system-rpc-runtime-api = { workspace = true }
 frame-try-runtime = { workspace = true, optional = true }
+frame-metadata-hash-extension = { workspace = true }
 hex-literal = { workspace = true, optional = true }
 log = { workspace = true }
 pallet-atomic-swap = { workspace = true }
diff --git a/runtime/g1/build.rs b/runtime/g1/build.rs
index b31efa2f039949719cab9bfdcb170c98d4cb542f..e3d20b117f08a80cf32543cc2c9e3d9feed79246 100644
--- a/runtime/g1/build.rs
+++ b/runtime/g1/build.rs
@@ -17,10 +17,12 @@
 fn main() {
     #[cfg(feature = "std")]
     {
-        substrate_wasm_builder::WasmBuilder::new()
-            .with_current_project()
-            .export_heap_base()
-            .import_memory()
+        #[cfg(not(feature = "metadata-hash"))]
+        substrate_wasm_builder::WasmBuilder::init_with_defaults().build();
+
+        #[cfg(feature = "metadata-hash")]
+        substrate_wasm_builder::WasmBuilder::init_with_defaults()
+            .enable_metadata_hash("Äž", 2)
             .build();
     }
 }
diff --git a/runtime/g1/src/lib.rs b/runtime/g1/src/lib.rs
index 8dccda2f1d873a1b5e7b754f712e7b69b7cf16b1..91f34c21df1664591257fa1dd9621130864d8b4a 100644
--- a/runtime/g1/src/lib.rs
+++ b/runtime/g1/src/lib.rs
@@ -22,10 +22,6 @@
 #[cfg(feature = "std")]
 include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
 
-#[cfg(feature = "runtime-benchmarks")]
-#[macro_use]
-extern crate frame_benchmarking;
-
 pub mod parameters;
 pub mod weights;
 
@@ -39,8 +35,6 @@ use frame_support::{traits::Contains, PalletId};
 pub use frame_system::Call as SystemCall;
 use frame_system::EnsureRoot;
 pub use pallet_balances::Call as BalancesCall;
-#[cfg(feature = "runtime-benchmarks")]
-pub use pallet_collective::RawOrigin;
 use pallet_grandpa::{
     fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList,
 };
@@ -56,10 +50,10 @@ use sp_core::OpaqueMetadata;
 #[cfg(any(feature = "std", test))]
 pub use sp_runtime::BuildStorage;
 use sp_runtime::{
-    create_runtime_str, generic, impl_opaque_keys,
+    generic, impl_opaque_keys,
     traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys},
     transaction_validity::{TransactionSource, TransactionValidity},
-    ApplyExtrinsicResult, Perquintill,
+    ApplyExtrinsicResult, Cow, Perquintill,
 };
 pub use sp_runtime::{KeyTypeId, Perbill, Permill};
 #[cfg(feature = "std")]
@@ -79,14 +73,12 @@ pub use frame_support::{
     StorageValue,
 };
 
-common_runtime::declare_session_keys! {}
-
 // To learn more about runtime versioning and what each of the following value means:
 //   https://substrate.dev/docs/en/knowledgebase/runtime/upgrades#runtime-versioning
 #[sp_version::runtime_version]
 pub const VERSION: RuntimeVersion = RuntimeVersion {
-    spec_name: create_runtime_str!("g1"),
-    impl_name: create_runtime_str!("duniter-g1"),
+    spec_name: Cow::Borrowed("g1"),
+    impl_name: Cow::Borrowed("duniter-g1"),
     authoring_version: 1,
     // The version of the runtime specification. A full node will not attempt to use its native
     //   runtime in substitute for the on-chain Wasm runtime unless all of `spec_name`,
@@ -97,7 +89,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
     impl_version: 1,
     apis: RUNTIME_API_VERSIONS,
     transaction_version: 1,
-    state_version: 1,
+    system_version: 1,
 };
 
 /// The version information used to identify this runtime when compiled natively.
@@ -113,9 +105,9 @@ pub fn native_version() -> NativeVersion {
 pub type Block = sp_runtime::generic::Block<Header, UncheckedExtrinsic>;
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-    generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
-/// The SignedExtension to the basic transaction logic.
-pub type SignedExtra = (
+    generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+/// The `TransactionExtension` to the basic transaction logic.
+pub type TxExtension = (
     frame_system::CheckNonZeroSender<Runtime>,
     frame_system::CheckSpecVersion<Runtime>,
     frame_system::CheckTxVersion<Runtime>,
@@ -124,6 +116,7 @@ pub type SignedExtra = (
     pallet_oneshot_account::CheckNonce<Runtime>,
     frame_system::CheckWeight<Runtime>,
     pallet_transaction_payment::ChargeTransactionPayment<Runtime>,
+    frame_metadata_hash_extension::CheckMetadataHash<Runtime>,
 );
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
@@ -136,38 +129,6 @@ pub type Executive = frame_executive::Executive<
 
 pub type TechnicalCommitteeInstance = Instance2;
 
-#[cfg(feature = "runtime-benchmarks")]
-mod benches {
-    define_benchmarks!(
-        [pallet_certification, Certification]
-        [pallet_distance, Distance]
-        [pallet_oneshot_account, OneshotAccount]
-        [pallet_universal_dividend, UniversalDividend]
-        [pallet_provide_randomness, ProvideRandomness]
-        [pallet_upgrade_origin, UpgradeOrigin]
-        [pallet_duniter_account, Account]
-        [pallet_identity, Identity]
-        [pallet_membership, Membership]
-        [pallet_smith_members, SmithMembers]
-        [pallet_authority_members, AuthorityMembers]
-        // Substrate
-        [pallet_balances, Balances]
-        [frame_benchmarking::baseline, Baseline::<Runtime>]
-        [pallet_collective, TechnicalCommittee]
-        [pallet_sudo, Sudo]
-        [pallet_session, SessionBench::<Runtime>]
-        [pallet_im_online, ImOnline]
-        [pallet_multisig, Multisig]
-        [pallet_preimage, Preimage]
-        [pallet_proxy, Proxy]
-        [pallet_scheduler, Scheduler]
-        [frame_system, SystemBench::<Runtime>]
-        [pallet_timestamp, Timestamp]
-        [pallet_treasury, Treasury]
-        [pallet_utility, Utility]
-    );
-}
-
 pub struct BaseCallFilter;
 impl Contains<RuntimeCall> for BaseCallFilter {
     fn contains(call: &RuntimeCall) -> bool {
@@ -228,11 +189,6 @@ impl frame_support::traits::InstanceFilter<RuntimeCall> for ProxyType {
     }
 }
 
-#[cfg(feature = "runtime-benchmarks")]
-type WorstOrigin = RawOrigin<AccountId, TechnicalCommitteeInstance>;
-// Configure pallets to include in runtime.
-common_runtime::pallets_config!();
-
 // Create the runtime by composing the pallets that were previously configured.
 construct_runtime!(
     pub enum Runtime
@@ -289,22 +245,11 @@ construct_runtime!(
     }
 );
 
-impl<C> frame_system::offchain::SendTransactionTypes<C> for Runtime
-where
-    RuntimeCall: From<C>,
-{
-    type Extrinsic = UncheckedExtrinsic;
-    type OverarchingCall = RuntimeCall;
-}
-
 // All of our runtimes share most of their Runtime API implementations.
 // We use a macro to implement this common part and add runtime-specific additional implementations.
-// This macro expands to :
-// ```
-// impl_runtime_apis! {
-//     // All impl blocks shared between all runtimes.
-//
-//     // Specific impls provided to the `runtime_apis!` macro.
-// }
-// ```
+common_runtime::pallets_config!();
+common_runtime::declare_session_keys! {}
+#[cfg(feature = "runtime-benchmarks")]
+common_runtime::benchmarks_config!();
+common_runtime::offchain_config! {}
 common_runtime::runtime_apis! {}
diff --git a/runtime/g1/src/weights.rs b/runtime/g1/src/weights.rs
index 1bf51bdbb063859c33197a6251bf767ba1311442..8371a5d27816ee03cb0042f5a34957c28ebf570c 100644
--- a/runtime/g1/src/weights.rs
+++ b/runtime/g1/src/weights.rs
@@ -20,6 +20,8 @@
 #![allow(clippy::unnecessary_cast)]
 #![allow(unused_doc_comments)]
 
+pub mod frame_system_extensions;
+pub mod pallet_transaction_payment;
 pub mod block_weights;
 pub mod extrinsic_weights;
 pub mod frame_system;
diff --git a/runtime/g1/src/weights/block_weights.rs b/runtime/g1/src/weights/block_weights.rs
index dbe74e93346746f29dec02d0428b30540401949c..3feae7908be11fb2defb38a1705b3ceb5217030f 100644
--- a/runtime/g1/src/weights/block_weights.rs
+++ b/runtime/g1/src/weights/block_weights.rs
@@ -1,6 +1,6 @@
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14 (Y/M/D)
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22 (Y/M/D)
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //!
 //! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `Äž1 Local Testnet`
@@ -22,21 +22,21 @@ use sp_core::parameter_types;
 use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
 
 parameter_types! {
-	/// Time to execute an empty block.
+	/// Weight of executing an empty block.
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 118_657, 202_413
-	///   Average:  131_010
-	///   Median:   127_750
-	///   Std-Dev:  10272.54
+	///   Min, Max: 125_923, 217_836
+	///   Average:  139_166
+	///   Median:   136_303
+	///   Std-Dev:  12539.66
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 167_754
-	///   95th: 141_223
-	///   75th: 133_515
+	///   99th: 185_772
+	///   95th: 169_501
+	///   75th: 138_599
 	pub const BlockExecutionWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(131_010), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(139_166), 0);
 }
 
 #[cfg(test)]
diff --git a/runtime/g1/src/weights/extrinsic_weights.rs b/runtime/g1/src/weights/extrinsic_weights.rs
index 1e6b17d1244f4c6edcc83573d237d716880cbd59..cba0c458f320b705c038748629c8552028b26ccc 100644
--- a/runtime/g1/src/weights/extrinsic_weights.rs
+++ b/runtime/g1/src/weights/extrinsic_weights.rs
@@ -1,6 +1,6 @@
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14 (Y/M/D)
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22 (Y/M/D)
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //!
 //! SHORT-NAME: `extrinsic`, LONG-NAME: `ExtrinsicBase`, RUNTIME: `Äž1 Local Testnet`
@@ -22,21 +22,21 @@ use sp_core::parameter_types;
 use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
 
 parameter_types! {
-	/// Time to execute a NO-OP extrinsic, for example `System::remark`.
+	/// Weight of executing a NO-OP extrinsic, for example `System::remark`.
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 88_059, 93_981
-	///   Average:  88_294
-	///   Median:   88_233
-	///   Std-Dev:  578.38
+	///   Min, Max: 98_996, 121_920
+	///   Average:  102_226
+	///   Median:   102_046
+	///   Std-Dev:  3295.79
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 88_574
-	///   95th: 88_428
-	///   75th: 88_275
+	///   99th: 112_599
+	///   95th: 107_527
+	///   75th: 103_245
 	pub const ExtrinsicBaseWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(88_294), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(102_226), 0);
 }
 
 #[cfg(test)]
diff --git a/runtime/g1/src/weights/frame_benchmarking_baseline.rs b/runtime/g1/src/weights/frame_benchmarking_baseline.rs
index 8a918a809797592e1640a6c0a4c7303639b5c6c0..6155282d263d031bd53c2f3bf76fca289408ffe1 100644
--- a/runtime/g1/src/weights/frame_benchmarking_baseline.rs
+++ b/runtime/g1/src/weights/frame_benchmarking_baseline.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `frame_benchmarking::baseline`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,8 +52,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 98_000 picoseconds.
-		Weight::from_parts(126_869, 0)
+		// Minimum execution time: 83_000 picoseconds.
+		Weight::from_parts(124_492, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -61,8 +61,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 98_000 picoseconds.
-		Weight::from_parts(127_293, 0)
+		// Minimum execution time: 83_000 picoseconds.
+		Weight::from_parts(125_005, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -70,8 +70,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 100_000 picoseconds.
-		Weight::from_parts(130_804, 0)
+		// Minimum execution time: 85_000 picoseconds.
+		Weight::from_parts(126_717, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -79,16 +79,16 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 98_000 picoseconds.
-		Weight::from_parts(125_049, 0)
+		// Minimum execution time: 84_000 picoseconds.
+		Weight::from_parts(135_458, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn hashing() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 20_335_062_000 picoseconds.
-		Weight::from_parts(20_372_537_000, 0)
+		// Minimum execution time: 19_567_598_000 picoseconds.
+		Weight::from_parts(19_638_329_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 100]`.
@@ -96,10 +96,10 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 108_000 picoseconds.
-		Weight::from_parts(26_639_536, 0)
+		// Minimum execution time: 95_000 picoseconds.
+		Weight::from_parts(24_280_304, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 11_426
-			.saturating_add(Weight::from_parts(31_161_299, 0).saturating_mul(i.into()))
+			// Standard Error: 14_286
+			.saturating_add(Weight::from_parts(35_898_884, 0).saturating_mul(i.into()))
 	}
 }
diff --git a/runtime/g1/src/weights/frame_system.rs b/runtime/g1/src/weights/frame_system.rs
index 7f78b58c0533a0fc6035f5c6c8ff340b7b29c932..aa8c74e1bd71ee1210ae774424ca9ae23dc2b4c0 100644
--- a/runtime/g1/src/weights/frame_system.rs
+++ b/runtime/g1/src/weights/frame_system.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `frame_system`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,50 +52,44 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_773_000 picoseconds.
-		Weight::from_parts(1_904_000, 0)
+		// Minimum execution time: 1_948_000 picoseconds.
+		Weight::from_parts(728_929, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(258, 0).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(256, 0).saturating_mul(b.into()))
 	}
 	/// The range of component `b` is `[0, 3932160]`.
 	fn remark_with_event(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_939_000 picoseconds.
-		Weight::from_parts(5_174_000, 0)
+		// Minimum execution time: 5_097_000 picoseconds.
+		Weight::from_parts(5_194_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_035, 0).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(1_036, 0).saturating_mul(b.into()))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
 	fn set_heap_pages() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `1485`
-		// Minimum execution time: 3_132_000 picoseconds.
-		Weight::from_parts(3_669_000, 0)
-			.saturating_add(Weight::from_parts(0, 1485))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Estimated: `0`
+		// Minimum execution time: 3_343_000 picoseconds.
+		Weight::from_parts(3_623_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `1485`
-		// Minimum execution time: 75_303_852_000 picoseconds.
-		Weight::from_parts(75_919_531_000, 0)
-			.saturating_add(Weight::from_parts(0, 1485))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Estimated: `0`
+		// Minimum execution time: 75_320_180_000 picoseconds.
+		Weight::from_parts(75_665_532_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -104,11 +98,11 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_753_000 picoseconds.
-		Weight::from_parts(1_923_000, 0)
+		// Minimum execution time: 2_020_000 picoseconds.
+		Weight::from_parts(2_084_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 699
-			.saturating_add(Weight::from_parts(570_505, 0).saturating_mul(i.into()))
+			// Standard Error: 605
+			.saturating_add(Weight::from_parts(570_148, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -118,11 +112,11 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_850_000 picoseconds.
-		Weight::from_parts(2_010_000, 0)
+		// Minimum execution time: 1_909_000 picoseconds.
+		Weight::from_parts(1_971_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 734
-			.saturating_add(Weight::from_parts(454_777, 0).saturating_mul(i.into()))
+			// Standard Error: 779
+			.saturating_add(Weight::from_parts(452_893, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -131,12 +125,12 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 	fn kill_prefix(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `77 + p * (69 ±0)`
-		//  Estimated: `76 + p * (70 ±0)`
-		// Minimum execution time: 3_403_000 picoseconds.
-		Weight::from_parts(3_518_000, 0)
-			.saturating_add(Weight::from_parts(0, 76))
-			// Standard Error: 678
-			.saturating_add(Weight::from_parts(1_034_294, 0).saturating_mul(p.into()))
+		//  Estimated: `75 + p * (70 ±0)`
+		// Minimum execution time: 3_660_000 picoseconds.
+		Weight::from_parts(3_807_000, 0)
+			.saturating_add(Weight::from_parts(0, 75))
+			// Standard Error: 802
+			.saturating_add(Weight::from_parts(1_032_954, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
 			.saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into()))
@@ -147,25 +141,23 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_815_000 picoseconds.
-		Weight::from_parts(8_763_000, 0)
+		// Minimum execution time: 8_256_000 picoseconds.
+		Weight::from_parts(9_051_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `System::AuthorizedUpgrade` (r:1 w:1)
 	/// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	fn apply_authorized_upgrade() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `22`
 		//  Estimated: `1518`
-		// Minimum execution time: 79_593_300_000 picoseconds.
-		Weight::from_parts(80_215_334_000, 0)
+		// Minimum execution time: 79_556_651_000 picoseconds.
+		Weight::from_parts(80_295_270_000, 0)
 			.saturating_add(Weight::from_parts(0, 1518))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
 }
diff --git a/runtime/g1/src/weights/frame_system_extensions.rs b/runtime/g1/src/weights/frame_system_extensions.rs
new file mode 100644
index 0000000000000000000000000000000000000000..3842af0184cb1b6ef6fb996aac2749876a195b6c
--- /dev/null
+++ b/runtime/g1/src/weights/frame_system_extensions.rs
@@ -0,0 +1,118 @@
+// Copyright 2021-2022 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+//! Autogenerated weights for `frame_system_extensions`
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! WORST CASE MAP SIZE: `1000000`
+//! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
+//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
+
+// Executed Command:
+// target/release/duniter
+// benchmark
+// pallet
+// --genesis-builder=spec-genesis
+// --steps=50
+// --repeat=20
+// --pallet=*
+// --extrinsic=*
+// --wasm-execution=compiled
+// --heap-pages=4096
+// --header=./file_header.txt
+// --output=./runtime/g1/src/weights/
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+#![allow(missing_docs)]
+
+use frame_support::{traits::Get, weights::Weight};
+use core::marker::PhantomData;
+
+/// Weight functions for `frame_system_extensions`.
+pub struct WeightInfo<T>(PhantomData<T>);
+impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
+	fn check_genesis() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `30`
+		//  Estimated: `0`
+		// Minimum execution time: 2_560_000 picoseconds.
+		Weight::from_parts(2_739_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_mortality_mortal_transaction() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `68`
+		//  Estimated: `0`
+		// Minimum execution time: 5_124_000 picoseconds.
+		Weight::from_parts(5_512_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_mortality_immortal_transaction() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `68`
+		//  Estimated: `0`
+		// Minimum execution time: 5_207_000 picoseconds.
+		Weight::from_parts(5_544_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_non_zero_sender() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 458_000 picoseconds.
+		Weight::from_parts(495_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	/// Storage: `System::Account` (r:1 w:1)
+	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
+	fn check_nonce() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `61`
+		//  Estimated: `3558`
+		// Minimum execution time: 5_842_000 picoseconds.
+		Weight::from_parts(6_123_000, 0)
+			.saturating_add(Weight::from_parts(0, 3558))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
+	}
+	fn check_spec_version() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 298_000 picoseconds.
+		Weight::from_parts(363_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_tx_version() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 307_000 picoseconds.
+		Weight::from_parts(340_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_weight() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 3_362_000 picoseconds.
+		Weight::from_parts(3_598_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+}
diff --git a/runtime/g1/src/weights/pallet_authority_members.rs b/runtime/g1/src/weights/pallet_authority_members.rs
index 54f63fd55a26d5167c738de285593a4a5b354df3..e51b40eed13f30f53f87d311ccc56278fe0e2351 100644
--- a/runtime/g1/src/weights/pallet_authority_members.rs
+++ b/runtime/g1/src/weights/pallet_authority_members.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_authority_members`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,11 +61,11 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 	/// Proof: `AuthorityMembers::OnlineAuthorities` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	fn go_offline() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `900`
-		//  Estimated: `4365`
-		// Minimum execution time: 25_414_000 picoseconds.
-		Weight::from_parts(26_305_000, 0)
-			.saturating_add(Weight::from_parts(0, 4365))
+		//  Measured:  `867`
+		//  Estimated: `4332`
+		// Minimum execution time: 22_951_000 picoseconds.
+		Weight::from_parts(24_337_000, 0)
+			.saturating_add(Weight::from_parts(0, 4332))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -87,11 +87,11 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 	/// Proof: `AuthorityMembers::OnlineAuthorities` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	fn go_online() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1356`
-		//  Estimated: `4821`
-		// Minimum execution time: 33_882_000 picoseconds.
-		Weight::from_parts(35_734_000, 0)
-			.saturating_add(Weight::from_parts(0, 4821))
+		//  Measured:  `1323`
+		//  Estimated: `4788`
+		// Minimum execution time: 33_463_000 picoseconds.
+		Weight::from_parts(36_083_000, 0)
+			.saturating_add(Weight::from_parts(0, 4788))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -109,11 +109,11 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 	/// Proof: `AuthorityMembers::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn set_session_keys() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1805`
-		//  Estimated: `12695`
-		// Minimum execution time: 45_254_000 picoseconds.
-		Weight::from_parts(47_222_000, 0)
-			.saturating_add(Weight::from_parts(0, 12695))
+		//  Measured:  `1772`
+		//  Estimated: `12662`
+		// Minimum execution time: 41_785_000 picoseconds.
+		Weight::from_parts(43_672_000, 0)
+			.saturating_add(Weight::from_parts(0, 12662))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -135,8 +135,8 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `847`
 		//  Estimated: `4312`
-		// Minimum execution time: 38_863_000 picoseconds.
-		Weight::from_parts(40_495_000, 0)
+		// Minimum execution time: 37_168_000 picoseconds.
+		Weight::from_parts(39_509_000, 0)
 			.saturating_add(Weight::from_parts(0, 4312))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(10))
@@ -147,8 +147,8 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `199`
 		//  Estimated: `1684`
-		// Minimum execution time: 9_322_000 picoseconds.
-		Weight::from_parts(9_735_000, 0)
+		// Minimum execution time: 9_406_000 picoseconds.
+		Weight::from_parts(9_759_000, 0)
 			.saturating_add(Weight::from_parts(0, 1684))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/g1/src/weights/pallet_balances.rs b/runtime/g1/src/weights/pallet_balances.rs
index 8fbefbce0a537b382446bc832631ae2dbe97906d..6f7898d756522d0bfd47e4e82532e998426ee0b9 100644
--- a/runtime/g1/src/weights/pallet_balances.rs
+++ b/runtime/g1/src/weights/pallet_balances.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_balances`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `63`
 		//  Estimated: `6126`
-		// Minimum execution time: 51_075_000 picoseconds.
-		Weight::from_parts(51_987_000, 0)
+		// Minimum execution time: 50_236_000 picoseconds.
+		Weight::from_parts(52_062_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3558`
-		// Minimum execution time: 30_866_000 picoseconds.
-		Weight::from_parts(32_087_000, 0)
+		// Minimum execution time: 31_259_000 picoseconds.
+		Weight::from_parts(32_336_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -77,8 +77,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3558`
-		// Minimum execution time: 11_418_000 picoseconds.
-		Weight::from_parts(11_998_000, 0)
+		// Minimum execution time: 11_697_000 picoseconds.
+		Weight::from_parts(12_246_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -89,8 +89,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3558`
-		// Minimum execution time: 17_170_000 picoseconds.
-		Weight::from_parts(18_124_000, 0)
+		// Minimum execution time: 17_376_000 picoseconds.
+		Weight::from_parts(18_199_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -101,8 +101,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `126`
 		//  Estimated: `8694`
-		// Minimum execution time: 51_774_000 picoseconds.
-		Weight::from_parts(53_796_000, 0)
+		// Minimum execution time: 52_345_000 picoseconds.
+		Weight::from_parts(53_198_000, 0)
 			.saturating_add(Weight::from_parts(0, 8694))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -113,8 +113,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3558`
-		// Minimum execution time: 38_583_000 picoseconds.
-		Weight::from_parts(39_576_000, 0)
+		// Minimum execution time: 38_384_000 picoseconds.
+		Weight::from_parts(39_338_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -125,8 +125,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3558`
-		// Minimum execution time: 14_269_000 picoseconds.
-		Weight::from_parts(15_094_000, 0)
+		// Minimum execution time: 13_963_000 picoseconds.
+		Weight::from_parts(14_665_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -135,8 +135,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_455_000 picoseconds.
-		Weight::from_parts(5_654_000, 0)
+		// Minimum execution time: 5_389_000 picoseconds.
+		Weight::from_parts(5_799_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `System::Account` (r:1 w:1)
@@ -145,8 +145,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `63`
 		//  Estimated: `3558`
-		// Minimum execution time: 35_971_000 picoseconds.
-		Weight::from_parts(37_325_000, 0)
+		// Minimum execution time: 36_317_000 picoseconds.
+		Weight::from_parts(38_998_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -155,8 +155,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 16_430_000 picoseconds.
-		Weight::from_parts(16_934_000, 0)
+		// Minimum execution time: 16_826_000 picoseconds.
+		Weight::from_parts(17_171_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/runtime/g1/src/weights/pallet_certification.rs b/runtime/g1/src/weights/pallet_certification.rs
index 3b52d4e48a4d49b559614a03f87b12da53d58d20..75afeb55529f3381842b55f38e1bce1f8e9e06ab 100644
--- a/runtime/g1/src/weights/pallet_certification.rs
+++ b/runtime/g1/src/weights/pallet_certification.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_certification`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,8 +61,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `996`
 		//  Estimated: `6936`
-		// Minimum execution time: 39_647_000 picoseconds.
-		Weight::from_parts(41_507_000, 0)
+		// Minimum execution time: 40_444_000 picoseconds.
+		Weight::from_parts(42_149_000, 0)
 			.saturating_add(Weight::from_parts(0, 6936))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -81,8 +81,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `1019`
 		//  Estimated: `6959`
-		// Minimum execution time: 35_555_000 picoseconds.
-		Weight::from_parts(37_928_000, 0)
+		// Minimum execution time: 36_366_000 picoseconds.
+		Weight::from_parts(37_863_000, 0)
 			.saturating_add(Weight::from_parts(0, 6959))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -119,11 +119,11 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn del_cert() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2202`
-		//  Estimated: `15567`
-		// Minimum execution time: 120_680_000 picoseconds.
-		Weight::from_parts(124_928_000, 0)
-			.saturating_add(Weight::from_parts(0, 15567))
+		//  Measured:  `2169`
+		//  Estimated: `15534`
+		// Minimum execution time: 121_099_000 picoseconds.
+		Weight::from_parts(126_760_000, 0)
+			.saturating_add(Weight::from_parts(0, 15534))
 			.saturating_add(T::DbWeight::get().reads(20))
 			.saturating_add(T::DbWeight::get().writes(22))
 	}
@@ -136,13 +136,13 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 	/// The range of component `i` is `[2, 1000]`.
 	fn remove_all_certs_received_by(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `554 + i * (35 ±0)`
-		//  Estimated: `4018 + i * (2511 ±0)`
-		// Minimum execution time: 30_026_000 picoseconds.
-		Weight::from_parts(30_298_000, 0)
-			.saturating_add(Weight::from_parts(0, 4018))
-			// Standard Error: 24_742
-			.saturating_add(Weight::from_parts(8_970_118, 0).saturating_mul(i.into()))
+		//  Measured:  `579 + i * (35 ±0)`
+		//  Estimated: `4049 + i * (2511 ±0)`
+		// Minimum execution time: 27_537_000 picoseconds.
+		Weight::from_parts(10_475_669, 0)
+			.saturating_add(Weight::from_parts(0, 4049))
+			// Standard Error: 5_467
+			.saturating_add(Weight::from_parts(4_345_461, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -155,8 +155,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `138`
 		//  Estimated: `3603`
-		// Minimum execution time: 3_338_000 picoseconds.
-		Weight::from_parts(3_629_000, 0)
+		// Minimum execution time: 3_368_000 picoseconds.
+		Weight::from_parts(3_590_000, 0)
 			.saturating_add(Weight::from_parts(0, 3603))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -166,8 +166,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `275`
 		//  Estimated: `3740`
-		// Minimum execution time: 5_072_000 picoseconds.
-		Weight::from_parts(5_393_000, 0)
+		// Minimum execution time: 5_355_000 picoseconds.
+		Weight::from_parts(5_895_000, 0)
 			.saturating_add(Weight::from_parts(0, 3740))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -182,28 +182,28 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `711`
 		//  Estimated: `6651`
-		// Minimum execution time: 26_226_000 picoseconds.
-		Weight::from_parts(27_431_000, 0)
+		// Minimum execution time: 24_043_000 picoseconds.
+		Weight::from_parts(24_691_000, 0)
 			.saturating_add(Weight::from_parts(0, 6651))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Certification::CertsByReceiver` (r:1 w:1)
 	/// Proof: `Certification::CertsByReceiver` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Certification::StorageIdtyCertMeta` (r:1000 w:1000)
+	/// Storage: `Certification::StorageIdtyCertMeta` (r:100 w:100)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Membership::Membership` (r:1 w:0)
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `i` is `[2, 1000]`.
+	/// The range of component `i` is `[2, 100]`.
 	fn do_remove_all_certs_received_by(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `554 + i * (35 ±0)`
-		//  Estimated: `4018 + i * (2511 ±0)`
-		// Minimum execution time: 30_026_000 picoseconds.
-		Weight::from_parts(30_298_000, 0)
-			.saturating_add(Weight::from_parts(0, 4018))
-			// Standard Error: 24_742
-			.saturating_add(Weight::from_parts(8_970_118, 0).saturating_mul(i.into()))
+		//  Measured:  `543 + i * (35 ±0)`
+		//  Estimated: `4016 + i * (2511 ±0)`
+		// Minimum execution time: 24_096_000 picoseconds.
+		Weight::from_parts(20_925_327, 0)
+			.saturating_add(Weight::from_parts(0, 4016))
+			// Standard Error: 4_534
+			.saturating_add(Weight::from_parts(3_964_735, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/g1/src/weights/pallet_collective.rs b/runtime/g1/src/weights/pallet_collective.rs
index 1393afccc8b640462cc09368907225334e5b1edb..7f43f7ba67f1286925c5e0181a85ae121d6980a2 100644
--- a/runtime/g1/src/weights/pallet_collective.rs
+++ b/runtime/g1/src/weights/pallet_collective.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_collective`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -62,13 +62,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + m * (672 ±0) + p * (3191 ±0)`
 		//  Estimated: `10019 + m * (416 ±4) + p * (4183 ±23)`
-		// Minimum execution time: 12_251_000 picoseconds.
-		Weight::from_parts(12_517_000, 0)
+		// Minimum execution time: 12_069_000 picoseconds.
+		Weight::from_parts(12_285_000, 0)
 			.saturating_add(Weight::from_parts(0, 10019))
-			// Standard Error: 11_418
-			.saturating_add(Weight::from_parts(804_334, 0).saturating_mul(m.into()))
-			// Standard Error: 56_446
-			.saturating_add(Weight::from_parts(7_135_104, 0).saturating_mul(p.into()))
+			// Standard Error: 14_795
+			.saturating_add(Weight::from_parts(1_008_800, 0).saturating_mul(m.into()))
+			// Standard Error: 73_138
+			.saturating_add(Weight::from_parts(7_874_939, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -84,13 +84,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `32 + m * (32 ±0)`
 		//  Estimated: `1518 + m * (32 ±0)`
-		// Minimum execution time: 11_158_000 picoseconds.
-		Weight::from_parts(10_618_729, 0)
+		// Minimum execution time: 11_326_000 picoseconds.
+		Weight::from_parts(10_737_955, 0)
 			.saturating_add(Weight::from_parts(0, 1518))
-			// Standard Error: 29
-			.saturating_add(Weight::from_parts(1_410, 0).saturating_mul(b.into()))
-			// Standard Error: 305
-			.saturating_add(Weight::from_parts(13_287, 0).saturating_mul(m.into()))
+			// Standard Error: 28
+			.saturating_add(Weight::from_parts(1_439, 0).saturating_mul(b.into()))
+			// Standard Error: 294
+			.saturating_add(Weight::from_parts(13_153, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
@@ -104,13 +104,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `32 + m * (32 ±0)`
 		//  Estimated: `3498 + m * (32 ±0)`
-		// Minimum execution time: 13_178_000 picoseconds.
-		Weight::from_parts(12_704_438, 0)
+		// Minimum execution time: 13_664_000 picoseconds.
+		Weight::from_parts(13_031_494, 0)
 			.saturating_add(Weight::from_parts(0, 3498))
-			// Standard Error: 34
-			.saturating_add(Weight::from_parts(1_465, 0).saturating_mul(b.into()))
-			// Standard Error: 357
-			.saturating_add(Weight::from_parts(21_695, 0).saturating_mul(m.into()))
+			// Standard Error: 39
+			.saturating_add(Weight::from_parts(1_455, 0).saturating_mul(b.into()))
+			// Standard Error: 406
+			.saturating_add(Weight::from_parts(21_406, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
@@ -131,15 +131,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `24 + m * (32 ±0) + p * (55 ±0)`
 		//  Estimated: `3461 + m * (32 ±0) + p * (54 ±0)`
-		// Minimum execution time: 19_206_000 picoseconds.
-		Weight::from_parts(18_996_814, 0)
+		// Minimum execution time: 18_449_000 picoseconds.
+		Weight::from_parts(17_535_525, 0)
 			.saturating_add(Weight::from_parts(0, 3461))
-			// Standard Error: 79
-			.saturating_add(Weight::from_parts(2_515, 0).saturating_mul(b.into()))
-			// Standard Error: 833
-			.saturating_add(Weight::from_parts(20_144, 0).saturating_mul(m.into()))
-			// Standard Error: 4_163
-			.saturating_add(Weight::from_parts(301_217, 0).saturating_mul(p.into()))
+			// Standard Error: 70
+			.saturating_add(Weight::from_parts(2_311, 0).saturating_mul(b.into()))
+			// Standard Error: 733
+			.saturating_add(Weight::from_parts(20_026, 0).saturating_mul(m.into()))
+			// Standard Error: 3_666
+			.saturating_add(Weight::from_parts(283_197, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(4))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
@@ -154,11 +154,11 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `573 + m * (64 ±0)`
 		//  Estimated: `4037 + m * (64 ±0)`
-		// Minimum execution time: 18_109_000 picoseconds.
-		Weight::from_parts(19_258_443, 0)
+		// Minimum execution time: 17_102_000 picoseconds.
+		Weight::from_parts(18_044_832, 0)
 			.saturating_add(Weight::from_parts(0, 4037))
-			// Standard Error: 720
-			.saturating_add(Weight::from_parts(36_118, 0).saturating_mul(m.into()))
+			// Standard Error: 703
+			.saturating_add(Weight::from_parts(36_611, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@@ -177,13 +177,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `117 + m * (64 ±0) + p * (55 ±0)`
 		//  Estimated: `3591 + m * (64 ±0) + p * (55 ±0)`
-		// Minimum execution time: 22_421_000 picoseconds.
-		Weight::from_parts(21_348_269, 0)
+		// Minimum execution time: 21_069_000 picoseconds.
+		Weight::from_parts(19_465_388, 0)
 			.saturating_add(Weight::from_parts(0, 3591))
-			// Standard Error: 907
-			.saturating_add(Weight::from_parts(33_289, 0).saturating_mul(m.into()))
-			// Standard Error: 4_480
-			.saturating_add(Weight::from_parts(237_205, 0).saturating_mul(p.into()))
+			// Standard Error: 618
+			.saturating_add(Weight::from_parts(34_162, 0).saturating_mul(m.into()))
+			// Standard Error: 3_056
+			.saturating_add(Weight::from_parts(253_129, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@@ -204,15 +204,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `62 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)`
 		//  Estimated: `3619 + b * (1 ±0) + m * (63 ±0) + p * (74 ±0)`
-		// Minimum execution time: 31_490_000 picoseconds.
-		Weight::from_parts(32_598_000, 0)
+		// Minimum execution time: 29_474_000 picoseconds.
+		Weight::from_parts(28_613_906, 0)
 			.saturating_add(Weight::from_parts(0, 3619))
-			// Standard Error: 823
-			.saturating_add(Weight::from_parts(5_280, 0).saturating_mul(b.into()))
-			// Standard Error: 8_540
-			.saturating_add(Weight::from_parts(53_182, 0).saturating_mul(m.into()))
-			// Standard Error: 42_426
-			.saturating_add(Weight::from_parts(217_340, 0).saturating_mul(p.into()))
+			// Standard Error: 171
+			.saturating_add(Weight::from_parts(2_340, 0).saturating_mul(b.into()))
+			// Standard Error: 1_809
+			.saturating_add(Weight::from_parts(9_999, 0).saturating_mul(m.into()))
+			// Standard Error: 8_928
+			.saturating_add(Weight::from_parts(464_289, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
@@ -235,13 +235,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `137 + m * (64 ±0) + p * (55 ±0)`
 		//  Estimated: `3611 + m * (64 ±0) + p * (55 ±0)`
-		// Minimum execution time: 31_103_000 picoseconds.
-		Weight::from_parts(40_131_154, 0)
+		// Minimum execution time: 22_965_000 picoseconds.
+		Weight::from_parts(21_434_415, 0)
 			.saturating_add(Weight::from_parts(0, 3611))
-			// Standard Error: 4_186
-			.saturating_add(Weight::from_parts(150_872, 0).saturating_mul(m.into()))
-			// Standard Error: 20_672
-			.saturating_add(Weight::from_parts(655_804, 0).saturating_mul(p.into()))
+			// Standard Error: 630
+			.saturating_add(Weight::from_parts(33_742, 0).saturating_mul(m.into()))
+			// Standard Error: 3_114
+			.saturating_add(Weight::from_parts(272_760, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@@ -264,15 +264,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `82 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)`
 		//  Estimated: `3639 + b * (1 ±0) + m * (63 ±0) + p * (74 ±0)`
-		// Minimum execution time: 42_637_000 picoseconds.
-		Weight::from_parts(66_089_153, 0)
+		// Minimum execution time: 31_368_000 picoseconds.
+		Weight::from_parts(31_819_676, 0)
 			.saturating_add(Weight::from_parts(0, 3639))
-			// Standard Error: 642
-			.saturating_add(Weight::from_parts(1_424, 0).saturating_mul(b.into()))
-			// Standard Error: 6_788
-			.saturating_add(Weight::from_parts(93_756, 0).saturating_mul(m.into()))
-			// Standard Error: 33_484
-			.saturating_add(Weight::from_parts(634_740, 0).saturating_mul(p.into()))
+			// Standard Error: 110
+			.saturating_add(Weight::from_parts(1_877, 0).saturating_mul(b.into()))
+			// Standard Error: 1_164
+			.saturating_add(Weight::from_parts(14_368, 0).saturating_mul(m.into()))
+			// Standard Error: 5_743
+			.saturating_add(Weight::from_parts(424_016, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
@@ -290,13 +290,50 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `189 + p * (32 ±0)`
 		//  Estimated: `1674 + p * (32 ±0)`
-		// Minimum execution time: 19_493_000 picoseconds.
-		Weight::from_parts(21_834_980, 0)
+		// Minimum execution time: 11_103_000 picoseconds.
+		Weight::from_parts(12_114_488, 0)
 			.saturating_add(Weight::from_parts(0, 1674))
-			// Standard Error: 10_190
-			.saturating_add(Weight::from_parts(512_055, 0).saturating_mul(p.into()))
+			// Standard Error: 1_803
+			.saturating_add(Weight::from_parts(159_621, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into()))
 	}
+	/// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1)
+	/// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::CostOf` (r:1 w:0)
+	/// Proof: `TechnicalCommittee::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:1)
+	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::Voting` (r:0 w:1)
+	/// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// The range of component `d` is `[0, 1]`.
+	/// The range of component `p` is `[1, 20]`.
+	fn kill(d: u32, p: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1243 + p * (55 ±0)`
+		//  Estimated: `4710 + d * (5 ±1) + p * (55 ±0)`
+		// Minimum execution time: 16_278_000 picoseconds.
+		Weight::from_parts(18_003_847, 0)
+			.saturating_add(Weight::from_parts(0, 4710))
+			// Standard Error: 2_717
+			.saturating_add(Weight::from_parts(273_595, 0).saturating_mul(p.into()))
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(Weight::from_parts(0, 5).saturating_mul(d.into()))
+			.saturating_add(Weight::from_parts(0, 55).saturating_mul(p.into()))
+	}
+	/// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:0)
+	/// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::CostOf` (r:1 w:0)
+	/// Proof: `TechnicalCommittee::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	fn release_proposal_cost() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `676`
+		//  Estimated: `4141`
+		// Minimum execution time: 10_939_000 picoseconds.
+		Weight::from_parts(11_418_000, 0)
+			.saturating_add(Weight::from_parts(0, 4141))
+			.saturating_add(T::DbWeight::get().reads(2))
+	}
 }
diff --git a/runtime/g1/src/weights/pallet_distance.rs b/runtime/g1/src/weights/pallet_distance.rs
index 2f7255ded265ff06f8ba4a5a9e02e9b34c08c06d..64cdbf8a6319caedfa5100a83d4793155abe07f6 100644
--- a/runtime/g1/src/weights/pallet_distance.rs
+++ b/runtime/g1/src/weights/pallet_distance.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_distance`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -57,20 +57,20 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Certification::StorageIdtyCertMeta` (r:1 w:0)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool2` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	fn request_distance_evaluation() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1134`
 		//  Estimated: `4599`
-		// Minimum execution time: 66_367_000 picoseconds.
-		Weight::from_parts(67_862_000, 0)
+		// Minimum execution time: 63_647_000 picoseconds.
+		Weight::from_parts(66_503_000, 0)
 			.saturating_add(Weight::from_parts(0, 4599))
 			.saturating_add(T::DbWeight::get().reads(9))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -85,52 +85,48 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Certification::StorageIdtyCertMeta` (r:1 w:0)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool2` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	fn request_distance_evaluation_for() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1163`
 		//  Estimated: `7103`
-		// Minimum execution time: 69_363_000 picoseconds.
-		Weight::from_parts(70_709_000, 0)
+		// Minimum execution time: 66_742_000 picoseconds.
+		Weight::from_parts(70_145_000, 0)
 			.saturating_add(Weight::from_parts(0, 7103))
 			.saturating_add(T::DbWeight::get().reads(10))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `Distance::DidUpdate` (r:1 w:1)
 	/// Proof: `Distance::DidUpdate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Authorship::Author` (r:1 w:1)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Session::Validators` (r:1 w:0)
 	/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool0` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool0` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// The range of component `i` is `[1, 1300]`.
 	fn update_evaluation(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `424 + i * (10 ±0)`
-		//  Estimated: `1909 + i * (10 ±0)`
-		// Minimum execution time: 18_535_000 picoseconds.
-		Weight::from_parts(20_754_753, 0)
-			.saturating_add(Weight::from_parts(0, 1909))
-			// Standard Error: 269
-			.saturating_add(Weight::from_parts(105_767, 0).saturating_mul(i.into()))
-			.saturating_add(T::DbWeight::get().reads(6))
-			.saturating_add(T::DbWeight::get().writes(3))
+		//  Measured:  `303 + i * (10 ±0)`
+		//  Estimated: `1788 + i * (10 ±0)`
+		// Minimum execution time: 12_663_000 picoseconds.
+		Weight::from_parts(15_006_914, 0)
+			.saturating_add(Weight::from_parts(0, 1788))
+			// Standard Error: 108
+			.saturating_add(Weight::from_parts(113_787, 0).saturating_mul(i.into()))
+			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().writes(2))
 			.saturating_add(Weight::from_parts(0, 10).saturating_mul(i.into()))
 	}
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool0` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool0` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// The range of component `i` is `[1, 1300]`.
@@ -138,11 +134,11 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `162 + i * (10 ±0)`
 		//  Estimated: `1647 + i * (10 ±0)`
-		// Minimum execution time: 7_853_000 picoseconds.
-		Weight::from_parts(8_734_247, 0)
+		// Minimum execution time: 7_669_000 picoseconds.
+		Weight::from_parts(9_638_272, 0)
 			.saturating_add(Weight::from_parts(0, 1647))
-			// Standard Error: 430
-			.saturating_add(Weight::from_parts(108_056, 0).saturating_mul(i.into()))
+			// Standard Error: 91
+			.saturating_add(Weight::from_parts(102_085, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 10).saturating_mul(i.into()))
@@ -157,8 +153,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `539`
 		//  Estimated: `6479`
-		// Minimum execution time: 28_809_000 picoseconds.
-		Weight::from_parts(30_128_000, 0)
+		// Minimum execution time: 26_972_000 picoseconds.
+		Weight::from_parts(28_173_000, 0)
 			.saturating_add(Weight::from_parts(0, 6479))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -167,8 +163,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 106_000 picoseconds.
-		Weight::from_parts(125_000, 0)
+		// Minimum execution time: 93_000 picoseconds.
+		Weight::from_parts(123_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `System::ParentHash` (r:1 w:0)
@@ -180,7 +176,7 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::Identities` (r:1 w:0)
 	/// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Membership::Membership` (r:1 w:1)
@@ -193,8 +189,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `951`
 		//  Estimated: `6891`
-		// Minimum execution time: 63_066_000 picoseconds.
-		Weight::from_parts(64_306_000, 0)
+		// Minimum execution time: 60_114_000 picoseconds.
+		Weight::from_parts(61_534_000, 0)
 			.saturating_add(Weight::from_parts(0, 6891))
 			.saturating_add(T::DbWeight::get().reads(9))
 			.saturating_add(T::DbWeight::get().writes(8))
@@ -206,7 +202,7 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Storage: `Distance::PendingEvaluationRequest` (r:1 w:1)
 	/// Proof: `Distance::PendingEvaluationRequest` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:2 w:2)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Distance::EvaluationBlock` (r:0 w:1)
@@ -215,8 +211,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `475`
 		//  Estimated: `6126`
-		// Minimum execution time: 43_002_000 picoseconds.
-		Weight::from_parts(44_467_000, 0)
+		// Minimum execution time: 42_364_000 picoseconds.
+		Weight::from_parts(43_874_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(6))
@@ -231,8 +227,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `136`
 		//  Estimated: `1621`
-		// Minimum execution time: 4_529_000 picoseconds.
-		Weight::from_parts(4_765_000, 0)
+		// Minimum execution time: 4_453_000 picoseconds.
+		Weight::from_parts(4_799_000, 0)
 			.saturating_add(Weight::from_parts(0, 1621))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -243,8 +239,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157`
 		//  Estimated: `1642`
-		// Minimum execution time: 3_921_000 picoseconds.
-		Weight::from_parts(4_354_000, 0)
+		// Minimum execution time: 4_346_000 picoseconds.
+		Weight::from_parts(4_531_000, 0)
 			.saturating_add(Weight::from_parts(0, 1642))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/g1/src/weights/pallet_duniter_account.rs b/runtime/g1/src/weights/pallet_duniter_account.rs
index 684741b1641e2e82603889a7f467df7e24026940..63e8003bb279d25d5b09a68536f13572e1218bec 100644
--- a/runtime/g1/src/weights/pallet_duniter_account.rs
+++ b/runtime/g1/src/weights/pallet_duniter_account.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_duniter_account`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_duniter_account::WeightInfo for WeightInfo<
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3558`
-		// Minimum execution time: 4_379_000 picoseconds.
-		Weight::from_parts(4_591_000, 0)
+		// Minimum execution time: 4_566_000 picoseconds.
+		Weight::from_parts(4_728_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/g1/src/weights/pallet_identity.rs b/runtime/g1/src/weights/pallet_identity.rs
index 2082d2e1fb36f0071c70d7b18a135416f88a782a..29c327f5248e745ac5b35b4fe86af56b37a384ba 100644
--- a/runtime/g1/src/weights/pallet_identity.rs
+++ b/runtime/g1/src/weights/pallet_identity.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_identity`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -71,8 +71,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1042`
 		//  Estimated: `6982`
-		// Minimum execution time: 69_290_000 picoseconds.
-		Weight::from_parts(71_767_000, 0)
+		// Minimum execution time: 68_835_000 picoseconds.
+		Weight::from_parts(70_962_000, 0)
 			.saturating_add(Weight::from_parts(0, 6982))
 			.saturating_add(T::DbWeight::get().reads(12))
 			.saturating_add(T::DbWeight::get().writes(12))
@@ -89,8 +89,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `784`
 		//  Estimated: `6724`
-		// Minimum execution time: 34_069_000 picoseconds.
-		Weight::from_parts(35_989_000, 0)
+		// Minimum execution time: 33_736_000 picoseconds.
+		Weight::from_parts(34_847_000, 0)
 			.saturating_add(Weight::from_parts(0, 6724))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -107,11 +107,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn change_owner_key() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `960`
-		//  Estimated: `6900`
-		// Minimum execution time: 83_219_000 picoseconds.
-		Weight::from_parts(85_944_000, 0)
-			.saturating_add(Weight::from_parts(0, 6900))
+		//  Measured:  `970`
+		//  Estimated: `6910`
+		// Minimum execution time: 82_861_000 picoseconds.
+		Weight::from_parts(84_989_000, 0)
+			.saturating_add(Weight::from_parts(0, 6910))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(5))
 	}
@@ -127,21 +127,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Quota::IdtyQuota` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
 	fn revoke_identity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `697`
-		//  Estimated: `6637`
-		// Minimum execution time: 70_321_000 picoseconds.
-		Weight::from_parts(72_274_000, 0)
-			.saturating_add(Weight::from_parts(0, 6637))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(5))
-	}
-	fn revoke_identity_legacy() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `697`
-		//  Estimated: `6637`
-		// Minimum execution time: 70_321_000 picoseconds.
-		Weight::from_parts(72_274_000, 0)
-			.saturating_add(Weight::from_parts(0, 6637))
+		//  Measured:  `673`
+		//  Estimated: `6613`
+		// Minimum execution time: 67_134_000 picoseconds.
+		Weight::from_parts(68_928_000, 0)
+			.saturating_add(Weight::from_parts(0, 6613))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(5))
 	}
@@ -152,11 +142,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_127_000 picoseconds.
-		Weight::from_parts(4_228_000, 0)
+		// Minimum execution time: 4_306_000 picoseconds.
+		Weight::from_parts(4_458_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_142
-			.saturating_add(Weight::from_parts(1_217_695, 0).saturating_mul(i.into()))
+			// Standard Error: 1_181
+			.saturating_add(Weight::from_parts(1_236_346, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
@@ -166,8 +156,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `104`
 		//  Estimated: `3558`
-		// Minimum execution time: 7_395_000 picoseconds.
-		Weight::from_parts(7_763_000, 0)
+		// Minimum execution time: 7_251_000 picoseconds.
+		Weight::from_parts(7_996_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -180,11 +170,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn link_account() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `403`
-		//  Estimated: `3868`
-		// Minimum execution time: 54_263_000 picoseconds.
-		Weight::from_parts(55_473_000, 0)
-			.saturating_add(Weight::from_parts(0, 3868))
+		//  Measured:  `379`
+		//  Estimated: `3844`
+		// Minimum execution time: 51_827_000 picoseconds.
+		Weight::from_parts(53_174_000, 0)
+			.saturating_add(Weight::from_parts(0, 3844))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -192,8 +182,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 103_000 picoseconds.
-		Weight::from_parts(133_000, 0)
+		// Minimum execution time: 92_000 picoseconds.
+		Weight::from_parts(122_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Identity::Identities` (r:1 w:0)
@@ -202,8 +192,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `327`
 		//  Estimated: `3792`
-		// Minimum execution time: 5_090_000 picoseconds.
-		Weight::from_parts(5_457_000, 0)
+		// Minimum execution time: 4_974_000 picoseconds.
+		Weight::from_parts(5_310_000, 0)
 			.saturating_add(Weight::from_parts(0, 3792))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -239,11 +229,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn do_revoke_identity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1873`
-		//  Estimated: `15238`
-		// Minimum execution time: 106_264_000 picoseconds.
-		Weight::from_parts(110_081_000, 0)
-			.saturating_add(Weight::from_parts(0, 15238))
+		//  Measured:  `1840`
+		//  Estimated: `15205`
+		// Minimum execution time: 104_830_000 picoseconds.
+		Weight::from_parts(107_034_000, 0)
+			.saturating_add(Weight::from_parts(0, 15205))
 			.saturating_add(T::DbWeight::get().reads(18))
 			.saturating_add(T::DbWeight::get().writes(21))
 	}
@@ -253,8 +243,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `327`
 		//  Estimated: `3792`
-		// Minimum execution time: 5_001_000 picoseconds.
-		Weight::from_parts(5_215_000, 0)
+		// Minimum execution time: 4_842_000 picoseconds.
+		Weight::from_parts(5_288_000, 0)
 			.saturating_add(Weight::from_parts(0, 3792))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -284,7 +274,7 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Certification::CertsByReceiver` (r:1 w:1)
 	/// Proof: `Certification::CertsByReceiver` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Certification::StorageIdtyCertMeta` (r:6 w:6)
+	/// Storage: `Certification::StorageIdtyCertMeta` (r:5 w:5)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Identity::IdentityIndexOf` (r:0 w:1)
 	/// Proof: `Identity::IdentityIndexOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -294,13 +284,13 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn do_remove_identity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2322`
-		//  Estimated: `18162`
-		// Minimum execution time: 155_305_000 picoseconds.
-		Weight::from_parts(159_441_000, 0)
-			.saturating_add(Weight::from_parts(0, 18162))
-			.saturating_add(T::DbWeight::get().reads(24))
-			.saturating_add(T::DbWeight::get().writes(30))
+		//  Measured:  `2289`
+		//  Estimated: `15654`
+		// Minimum execution time: 142_003_000 picoseconds.
+		Weight::from_parts(149_704_000, 0)
+			.saturating_add(Weight::from_parts(0, 15654))
+			.saturating_add(T::DbWeight::get().reads(23))
+			.saturating_add(T::DbWeight::get().writes(29))
 	}
 	/// Storage: `Membership::Membership` (r:1 w:1)
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -330,7 +320,7 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Certification::CertsByReceiver` (r:1 w:1)
 	/// Proof: `Certification::CertsByReceiver` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Certification::StorageIdtyCertMeta` (r:6 w:6)
+	/// Storage: `Certification::StorageIdtyCertMeta` (r:5 w:5)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Quota::IdtyQuota` (r:0 w:1)
 	/// Proof: `Quota::IdtyQuota` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
@@ -338,13 +328,13 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn do_remove_identity_handler() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2315`
-		//  Estimated: `18155`
-		// Minimum execution time: 148_349_000 picoseconds.
-		Weight::from_parts(154_660_000, 0)
-			.saturating_add(Weight::from_parts(0, 18155))
-			.saturating_add(T::DbWeight::get().reads(25))
-			.saturating_add(T::DbWeight::get().writes(28))
+		//  Measured:  `2282`
+		//  Estimated: `15647`
+		// Minimum execution time: 132_078_000 picoseconds.
+		Weight::from_parts(137_709_000, 0)
+			.saturating_add(Weight::from_parts(0, 15647))
+			.saturating_add(T::DbWeight::get().reads(24))
+			.saturating_add(T::DbWeight::get().writes(27))
 	}
 	/// Storage: `Identity::Identities` (r:1 w:1)
 	/// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -354,8 +344,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `407`
 		//  Estimated: `6347`
-		// Minimum execution time: 16_829_000 picoseconds.
-		Weight::from_parts(17_692_000, 0)
+		// Minimum execution time: 15_678_000 picoseconds.
+		Weight::from_parts(16_855_000, 0)
 			.saturating_add(Weight::from_parts(0, 6347))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -366,8 +356,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `108`
 		//  Estimated: `3573`
-		// Minimum execution time: 2_788_000 picoseconds.
-		Weight::from_parts(2_989_000, 0)
+		// Minimum execution time: 2_673_000 picoseconds.
+		Weight::from_parts(2_986_000, 0)
 			.saturating_add(Weight::from_parts(0, 3573))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -379,8 +369,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `325`
 		//  Estimated: `3790`
-		// Minimum execution time: 7_482_000 picoseconds.
-		Weight::from_parts(7_872_000, 0)
+		// Minimum execution time: 7_520_000 picoseconds.
+		Weight::from_parts(7_977_000, 0)
 			.saturating_add(Weight::from_parts(0, 3790))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -405,10 +395,30 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `914`
 		//  Estimated: `4379`
-		// Minimum execution time: 37_535_000 picoseconds.
-		Weight::from_parts(39_541_000, 0)
+		// Minimum execution time: 37_327_000 picoseconds.
+		Weight::from_parts(38_438_000, 0)
 			.saturating_add(Weight::from_parts(0, 4379))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(7))
 	}
+	/// Storage: `Identity::IdentitiesNames` (r:1 w:0)
+	/// Proof: `Identity::IdentitiesNames` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Identity::Identities` (r:1 w:1)
+	/// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Identity::IdentityChangeSchedule` (r:2 w:2)
+	/// Proof: `Identity::IdentityChangeSchedule` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Membership::Membership` (r:1 w:1)
+	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Quota::IdtyQuota` (r:0 w:1)
+	/// Proof: `Quota::IdtyQuota` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
+	fn revoke_identity_legacy() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `823`
+		//  Estimated: `6763`
+		// Minimum execution time: 132_003_000 picoseconds.
+		Weight::from_parts(136_197_000, 0)
+			.saturating_add(Weight::from_parts(0, 6763))
+			.saturating_add(T::DbWeight::get().reads(5))
+			.saturating_add(T::DbWeight::get().writes(5))
+	}
 }
diff --git a/runtime/g1/src/weights/pallet_im_online.rs b/runtime/g1/src/weights/pallet_im_online.rs
index 6e26f2937cafd0e3ad3ecd42dd47506aac656f39..7aa6706545209111803d72866bfbf6b81646bee6 100644
--- a/runtime/g1/src/weights/pallet_im_online.rs
+++ b/runtime/g1/src/weights/pallet_im_online.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_im_online`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -62,9 +62,11 @@ impl<T: frame_system::Config> pallet_im_online::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `525 + k * (32 ±0)`
 		//  Estimated: `33487 + k * (1761 ±0)`
-		// Minimum execution time: 77_475_000 picoseconds.
-		Weight::from_parts(139_303_234, 0)
+		// Minimum execution time: 52_522_000 picoseconds.
+		Weight::from_parts(63_306_668, 0)
 			.saturating_add(Weight::from_parts(0, 33487))
+			// Standard Error: 496
+			.saturating_add(Weight::from_parts(41_677, 0).saturating_mul(k.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 1761).saturating_mul(k.into()))
diff --git a/runtime/g1/src/weights/pallet_membership.rs b/runtime/g1/src/weights/pallet_membership.rs
index 5bbcf3258e63f61ba44399fbd988530498b55783..60318f948442d09e388ec56078e934506ef4d4f0 100644
--- a/runtime/g1/src/weights/pallet_membership.rs
+++ b/runtime/g1/src/weights/pallet_membership.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_membership`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -51,8 +51,8 @@ impl<T: frame_system::Config> pallet_membership::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 108_000 picoseconds.
-		Weight::from_parts(126_000, 0)
+		// Minimum execution time: 90_000 picoseconds.
+		Weight::from_parts(116_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Membership::MembershipsExpireOn` (r:2 w:1)
@@ -86,13 +86,13 @@ impl<T: frame_system::Config> pallet_membership::WeightInfo for WeightInfo<T> {
 	/// The range of component `i` is `[0, 3]`.
 	fn expire_memberships(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `139 + i * (960 ±0)`
-		//  Estimated: `14995 + i * (2695 ±1)`
-		// Minimum execution time: 5_343_000 picoseconds.
-		Weight::from_parts(14_213_809, 0)
-			.saturating_add(Weight::from_parts(0, 14995))
-			// Standard Error: 603_398
-			.saturating_add(Weight::from_parts(75_716_155, 0).saturating_mul(i.into()))
+		//  Measured:  `139 + i * (944 ±0)`
+		//  Estimated: `14961 + i * (2695 ±1)`
+		// Minimum execution time: 5_472_000 picoseconds.
+		Weight::from_parts(13_995_407, 0)
+			.saturating_add(Weight::from_parts(0, 14961))
+			// Standard Error: 579_690
+			.saturating_add(Weight::from_parts(74_572_449, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().reads((11_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/runtime/g1/src/weights/pallet_multisig.rs b/runtime/g1/src/weights/pallet_multisig.rs
index 29f0891b9db73c26f8dbb749961e30a585f10a9a..770d99d9c3958bf3044fe087991b07c0ef879ac4 100644
--- a/runtime/g1/src/weights/pallet_multisig.rs
+++ b/runtime/g1/src/weights/pallet_multisig.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_multisig`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,11 +52,11 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_207_000 picoseconds.
-		Weight::from_parts(5_671_298, 0)
+		// Minimum execution time: 5_837_000 picoseconds.
+		Weight::from_parts(6_128_523, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(321, 0).saturating_mul(z.into()))
+			.saturating_add(Weight::from_parts(324, 0).saturating_mul(z.into()))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
@@ -66,13 +66,13 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `125 + s * (5 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 28_382_000 picoseconds.
-		Weight::from_parts(28_468_579, 0)
+		// Minimum execution time: 26_711_000 picoseconds.
+		Weight::from_parts(26_026_874, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 10_030
-			.saturating_add(Weight::from_parts(70_271, 0).saturating_mul(s.into()))
-			// Standard Error: 8
-			.saturating_add(Weight::from_parts(1_052, 0).saturating_mul(z.into()))
+			// Standard Error: 5_830
+			.saturating_add(Weight::from_parts(178_952, 0).saturating_mul(s.into()))
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(1_169, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -84,13 +84,13 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `240`
 		//  Estimated: `3922`
-		// Minimum execution time: 15_563_000 picoseconds.
-		Weight::from_parts(15_235_616, 0)
+		// Minimum execution time: 15_581_000 picoseconds.
+		Weight::from_parts(15_333_720, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 7_326
-			.saturating_add(Weight::from_parts(128_782, 0).saturating_mul(s.into()))
-			// Standard Error: 5
-			.saturating_add(Weight::from_parts(1_080, 0).saturating_mul(z.into()))
+			// Standard Error: 3_745
+			.saturating_add(Weight::from_parts(102_346, 0).saturating_mul(s.into()))
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_166, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -104,58 +104,67 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `259 + s * (37 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 29_858_000 picoseconds.
-		Weight::from_parts(30_559_431, 0)
+		// Minimum execution time: 28_305_000 picoseconds.
+		Weight::from_parts(27_996_672, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 9_588
-			.saturating_add(Weight::from_parts(102_725, 0).saturating_mul(s.into()))
-			// Standard Error: 8
-			.saturating_add(Weight::from_parts(1_083, 0).saturating_mul(z.into()))
+			// Standard Error: 6_158
+			.saturating_add(Weight::from_parts(202_739, 0).saturating_mul(s.into()))
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(1_195, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[2, 10]`.
-	fn approve_as_multi_create(s: u32, ) -> Weight {
+	/// The range of component `z` is `[0, 10000]`.
+	fn approve_as_multi_create(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `130 + s * (5 ±0)`
+		//  Measured:  `125 + s * (5 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 25_071_000 picoseconds.
-		Weight::from_parts(26_371_672, 0)
+		// Minimum execution time: 23_926_000 picoseconds.
+		Weight::from_parts(25_141_266, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 9_270
-			.saturating_add(Weight::from_parts(229_206, 0).saturating_mul(s.into()))
+			// Standard Error: 5_251
+			.saturating_add(Weight::from_parts(153_725, 0).saturating_mul(s.into()))
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(10, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[2, 10]`.
-	fn approve_as_multi_approve(s: u32, ) -> Weight {
+	/// The range of component `z` is `[0, 10000]`.
+	fn approve_as_multi_approve(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `240`
 		//  Estimated: `3922`
-		// Minimum execution time: 13_391_000 picoseconds.
-		Weight::from_parts(14_298_679, 0)
+		// Minimum execution time: 13_680_000 picoseconds.
+		Weight::from_parts(14_213_245, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 5_609
-			.saturating_add(Weight::from_parts(164_451, 0).saturating_mul(s.into()))
+			// Standard Error: 3_037
+			.saturating_add(Weight::from_parts(108_757, 0).saturating_mul(s.into()))
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(15, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[2, 10]`.
-	fn cancel_as_multi(s: u32, ) -> Weight {
+	/// The range of component `z` is `[0, 10000]`.
+	fn cancel_as_multi(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `328 + s * (5 ±0)`
+		//  Measured:  `323 + s * (5 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 26_368_000 picoseconds.
-		Weight::from_parts(27_511_820, 0)
+		// Minimum execution time: 24_772_000 picoseconds.
+		Weight::from_parts(25_953_083, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 10_806
-			.saturating_add(Weight::from_parts(199_066, 0).saturating_mul(s.into()))
+			// Standard Error: 5_132
+			.saturating_add(Weight::from_parts(144_988, 0).saturating_mul(s.into()))
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(7, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/runtime/g1/src/weights/pallet_oneshot_account.rs b/runtime/g1/src/weights/pallet_oneshot_account.rs
index 7df51a905595029fb871bb797a1f4577d55a3a40..2226770731bb53a35535ff5057adc592414ffc73 100644
--- a/runtime/g1/src/weights/pallet_oneshot_account.rs
+++ b/runtime/g1/src/weights/pallet_oneshot_account.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_oneshot_account`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_oneshot_account::WeightInfo for WeightInfo<
 		// Proof Size summary in bytes:
 		//  Measured:  `42`
 		//  Estimated: `3507`
-		// Minimum execution time: 21_415_000 picoseconds.
-		Weight::from_parts(22_749_000, 0)
+		// Minimum execution time: 21_769_000 picoseconds.
+		Weight::from_parts(22_359_000, 0)
 			.saturating_add(Weight::from_parts(0, 3507))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -67,11 +67,11 @@ impl<T: frame_system::Config> pallet_oneshot_account::WeightInfo for WeightInfo<
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn consume_oneshot_account() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `241`
-		//  Estimated: `3706`
-		// Minimum execution time: 30_704_000 picoseconds.
-		Weight::from_parts(31_569_000, 0)
-			.saturating_add(Weight::from_parts(0, 3706))
+		//  Measured:  `217`
+		//  Estimated: `3682`
+		// Minimum execution time: 28_072_000 picoseconds.
+		Weight::from_parts(29_027_000, 0)
+			.saturating_add(Weight::from_parts(0, 3682))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -83,10 +83,10 @@ impl<T: frame_system::Config> pallet_oneshot_account::WeightInfo for WeightInfo<
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn consume_oneshot_account_with_remaining() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `301`
+		//  Measured:  `277`
 		//  Estimated: `6126`
-		// Minimum execution time: 44_455_000 picoseconds.
-		Weight::from_parts(46_042_000, 0)
+		// Minimum execution time: 42_039_000 picoseconds.
+		Weight::from_parts(43_749_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/runtime/g1/src/weights/pallet_preimage.rs b/runtime/g1/src/weights/pallet_preimage.rs
index 95e75986b4d8e4e9e1000e1ccd5a5a60d6a852c7..683d20f0c4ca3b8dba4a6daa2ad323d262b0c0fc 100644
--- a/runtime/g1/src/weights/pallet_preimage.rs
+++ b/runtime/g1/src/weights/pallet_preimage.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_preimage`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -56,13 +56,13 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `42`
+		//  Measured:  `4`
 		//  Estimated: `3548`
-		// Minimum execution time: 12_303_000 picoseconds.
-		Weight::from_parts(12_457_000, 0)
+		// Minimum execution time: 11_934_000 picoseconds.
+		Weight::from_parts(12_098_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_273, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_280, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -75,13 +75,13 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_requested_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 15_071_000 picoseconds.
-		Weight::from_parts(15_519_000, 0)
+		// Minimum execution time: 13_837_000 picoseconds.
+		Weight::from_parts(14_173_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_272, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_282, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -94,13 +94,13 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_no_deposit_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 13_528_000 picoseconds.
-		Weight::from_parts(13_985_000, 0)
+		// Minimum execution time: 12_906_000 picoseconds.
+		Weight::from_parts(13_150_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_361, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_362, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -112,10 +112,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `172`
+		//  Measured:  `134`
 		//  Estimated: `3548`
-		// Minimum execution time: 22_001_000 picoseconds.
-		Weight::from_parts(23_150_000, 0)
+		// Minimum execution time: 20_742_000 picoseconds.
+		Weight::from_parts(22_521_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -128,10 +128,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `144`
+		//  Measured:  `106`
 		//  Estimated: `3548`
-		// Minimum execution time: 22_414_000 picoseconds.
-		Weight::from_parts(23_924_000, 0)
+		// Minimum execution time: 21_144_000 picoseconds.
+		Weight::from_parts(22_961_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -142,10 +142,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `172`
+		//  Measured:  `134`
 		//  Estimated: `3548`
-		// Minimum execution time: 19_167_000 picoseconds.
-		Weight::from_parts(21_653_000, 0)
+		// Minimum execution time: 19_151_000 picoseconds.
+		Weight::from_parts(20_538_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -156,10 +156,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `144`
+		//  Measured:  `106`
 		//  Estimated: `3548`
-		// Minimum execution time: 13_154_000 picoseconds.
-		Weight::from_parts(14_430_000, 0)
+		// Minimum execution time: 12_449_000 picoseconds.
+		Weight::from_parts(13_839_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -170,10 +170,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `42`
+		//  Measured:  `4`
 		//  Estimated: `3548`
-		// Minimum execution time: 10_654_000 picoseconds.
-		Weight::from_parts(11_253_000, 0)
+		// Minimum execution time: 10_963_000 picoseconds.
+		Weight::from_parts(11_511_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -184,10 +184,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_requested_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 8_683_000 picoseconds.
-		Weight::from_parts(9_232_000, 0)
+		// Minimum execution time: 8_417_000 picoseconds.
+		Weight::from_parts(9_097_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -200,10 +200,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unrequest_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `144`
+		//  Measured:  `106`
 		//  Estimated: `3548`
-		// Minimum execution time: 20_719_000 picoseconds.
-		Weight::from_parts(21_970_000, 0)
+		// Minimum execution time: 19_567_000 picoseconds.
+		Weight::from_parts(21_147_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -214,10 +214,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 8_369_000 picoseconds.
-		Weight::from_parts(9_315_000, 0)
+		// Minimum execution time: 8_216_000 picoseconds.
+		Weight::from_parts(8_957_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -228,10 +228,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_multi_referenced_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 8_645_000 picoseconds.
-		Weight::from_parts(9_376_000, 0)
+		// Minimum execution time: 8_466_000 picoseconds.
+		Weight::from_parts(9_147_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -247,11 +247,11 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + n * (179 ±0)`
 		//  Estimated: `990 + n * (2568 ±0)`
-		// Minimum execution time: 19_732_000 picoseconds.
-		Weight::from_parts(20_102_000, 0)
+		// Minimum execution time: 17_762_000 picoseconds.
+		Weight::from_parts(18_142_000, 0)
 			.saturating_add(Weight::from_parts(0, 990))
-			// Standard Error: 17_245
-			.saturating_add(Weight::from_parts(15_189_723, 0).saturating_mul(n.into()))
+			// Standard Error: 16_315
+			.saturating_add(Weight::from_parts(15_105_419, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into())))
 			.saturating_add(Weight::from_parts(0, 2568).saturating_mul(n.into()))
diff --git a/runtime/g1/src/weights/pallet_provide_randomness.rs b/runtime/g1/src/weights/pallet_provide_randomness.rs
index 5633d340ba7e157bbc2d10df8c93b40ee74eeef9..66310c1263dfcaa03949bc86b44f1e74a57b1054 100644
--- a/runtime/g1/src/weights/pallet_provide_randomness.rs
+++ b/runtime/g1/src/weights/pallet_provide_randomness.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_provide_randomness`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_provide_randomness::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `298`
 		//  Estimated: `3763`
-		// Minimum execution time: 45_448_000 picoseconds.
-		Weight::from_parts(47_249_000, 0)
+		// Minimum execution time: 43_623_000 picoseconds.
+		Weight::from_parts(44_537_000, 0)
 			.saturating_add(Weight::from_parts(0, 3763))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(5))
@@ -86,11 +86,11 @@ impl<T: frame_system::Config> pallet_provide_randomness::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `341 + i * (59 ±0)`
 		//  Estimated: `1827 + i * (2535 ±0)`
-		// Minimum execution time: 20_179_000 picoseconds.
-		Weight::from_parts(18_090_233, 0)
+		// Minimum execution time: 18_311_000 picoseconds.
+		Weight::from_parts(17_634_870, 0)
 			.saturating_add(Weight::from_parts(0, 1827))
-			// Standard Error: 6_384
-			.saturating_add(Weight::from_parts(5_603_672, 0).saturating_mul(i.into()))
+			// Standard Error: 5_089
+			.saturating_add(Weight::from_parts(5_463_744, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -118,11 +118,11 @@ impl<T: frame_system::Config> pallet_provide_randomness::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `351 + i * (59 ±0)`
 		//  Estimated: `3817 + i * (2535 ±0)`
-		// Minimum execution time: 21_990_000 picoseconds.
-		Weight::from_parts(20_414_264, 0)
+		// Minimum execution time: 19_833_000 picoseconds.
+		Weight::from_parts(17_982_551, 0)
 			.saturating_add(Weight::from_parts(0, 3817))
-			// Standard Error: 8_103
-			.saturating_add(Weight::from_parts(5_955_607, 0).saturating_mul(i.into()))
+			// Standard Error: 6_929
+			.saturating_add(Weight::from_parts(5_846_559, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/runtime/g1/src/weights/pallet_proxy.rs b/runtime/g1/src/weights/pallet_proxy.rs
index 70b8132bd14c2ab23eab6d759f0f58b98fe15a90..73f3d250ec1f296f94a9b1b3fb67d2682b335f45 100644
--- a/runtime/g1/src/weights/pallet_proxy.rs
+++ b/runtime/g1/src/weights/pallet_proxy.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_proxy`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -54,11 +54,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 13_278_000 picoseconds.
-		Weight::from_parts(14_551_586, 0)
+		// Minimum execution time: 12_619_000 picoseconds.
+		Weight::from_parts(13_405_625, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_353
-			.saturating_add(Weight::from_parts(33_928, 0).saturating_mul(p.into()))
+			// Standard Error: 1_196
+			.saturating_add(Weight::from_parts(31_079, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
 	/// Storage: `Proxy::Proxies` (r:1 w:0)
@@ -73,13 +73,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `399 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 32_917_000 picoseconds.
-		Weight::from_parts(32_491_303, 0)
+		// Minimum execution time: 32_951_000 picoseconds.
+		Weight::from_parts(33_280_454, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 2_225
-			.saturating_add(Weight::from_parts(152_855, 0).saturating_mul(a.into()))
-			// Standard Error: 2_299
-			.saturating_add(Weight::from_parts(49_551, 0).saturating_mul(p.into()))
+			// Standard Error: 2_195
+			.saturating_add(Weight::from_parts(133_220, 0).saturating_mul(a.into()))
+			// Standard Error: 2_268
+			.saturating_add(Weight::from_parts(46_166, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -93,13 +93,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `322 + a * (68 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 21_767_000 picoseconds.
-		Weight::from_parts(22_790_976, 0)
+		// Minimum execution time: 20_612_000 picoseconds.
+		Weight::from_parts(21_965_233, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 1_617
-			.saturating_add(Weight::from_parts(152_517, 0).saturating_mul(a.into()))
-			// Standard Error: 1_671
-			.saturating_add(Weight::from_parts(13_509, 0).saturating_mul(p.into()))
+			// Standard Error: 10_294
+			.saturating_add(Weight::from_parts(111_680, 0).saturating_mul(a.into()))
+			// Standard Error: 10_636
+			.saturating_add(Weight::from_parts(34_557, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -109,17 +109,15 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
-	fn reject_announcement(a: u32, p: u32, ) -> Weight {
+	fn reject_announcement(a: u32, _p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `322 + a * (68 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 22_068_000 picoseconds.
-		Weight::from_parts(22_657_917, 0)
+		// Minimum execution time: 20_738_000 picoseconds.
+		Weight::from_parts(21_343_653, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 1_545
-			.saturating_add(Weight::from_parts(151_153, 0).saturating_mul(a.into()))
-			// Standard Error: 1_596
-			.saturating_add(Weight::from_parts(11_940, 0).saturating_mul(p.into()))
+			// Standard Error: 5_773
+			.saturating_add(Weight::from_parts(163_437, 0).saturating_mul(a.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -135,13 +133,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `331 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 29_803_000 picoseconds.
-		Weight::from_parts(29_938_988, 0)
+		// Minimum execution time: 27_829_000 picoseconds.
+		Weight::from_parts(29_746_490, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 1_956
-			.saturating_add(Weight::from_parts(136_595, 0).saturating_mul(a.into()))
-			// Standard Error: 2_021
-			.saturating_add(Weight::from_parts(44_909, 0).saturating_mul(p.into()))
+			// Standard Error: 2_465
+			.saturating_add(Weight::from_parts(151_653, 0).saturating_mul(a.into()))
+			// Standard Error: 2_547
+			.saturating_add(Weight::from_parts(53_753, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -152,11 +150,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 21_109_000 picoseconds.
-		Weight::from_parts(21_929_901, 0)
+		// Minimum execution time: 19_743_000 picoseconds.
+		Weight::from_parts(20_636_615, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_499
-			.saturating_add(Weight::from_parts(47_734, 0).saturating_mul(p.into()))
+			// Standard Error: 1_469
+			.saturating_add(Weight::from_parts(49_341, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -167,11 +165,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 21_181_000 picoseconds.
-		Weight::from_parts(22_163_453, 0)
+		// Minimum execution time: 19_863_000 picoseconds.
+		Weight::from_parts(20_826_602, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_524
-			.saturating_add(Weight::from_parts(48_034, 0).saturating_mul(p.into()))
+			// Standard Error: 1_807
+			.saturating_add(Weight::from_parts(48_029, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -182,11 +180,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 19_324_000 picoseconds.
-		Weight::from_parts(20_412_713, 0)
+		// Minimum execution time: 18_050_000 picoseconds.
+		Weight::from_parts(18_924_900, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_598
-			.saturating_add(Weight::from_parts(31_143, 0).saturating_mul(p.into()))
+			// Standard Error: 1_457
+			.saturating_add(Weight::from_parts(30_306, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -197,11 +195,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `177`
 		//  Estimated: `4698`
-		// Minimum execution time: 22_209_000 picoseconds.
-		Weight::from_parts(23_514_172, 0)
+		// Minimum execution time: 20_584_000 picoseconds.
+		Weight::from_parts(21_970_197, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_469
-			.saturating_add(Weight::from_parts(8_154, 0).saturating_mul(p.into()))
+			// Standard Error: 1_261
+			.saturating_add(Weight::from_parts(3_985, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -212,11 +210,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `194 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 19_952_000 picoseconds.
-		Weight::from_parts(20_865_633, 0)
+		// Minimum execution time: 18_655_000 picoseconds.
+		Weight::from_parts(19_533_125, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_420
-			.saturating_add(Weight::from_parts(41_074, 0).saturating_mul(p.into()))
+			// Standard Error: 1_458
+			.saturating_add(Weight::from_parts(37_248, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/runtime/g1/src/weights/pallet_scheduler.rs b/runtime/g1/src/weights/pallet_scheduler.rs
index dc73216b882895b4ce058c8e78715d3b37595712..6de4afaefa67467a28608d882475e33886bc5ef8 100644
--- a/runtime/g1/src/weights/pallet_scheduler.rs
+++ b/runtime/g1/src/weights/pallet_scheduler.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_scheduler`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -51,10 +51,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::IncompleteSince` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	fn service_agendas_base() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `30`
+		//  Measured:  `31`
 		//  Estimated: `1489`
-		// Minimum execution time: 3_154_000 picoseconds.
-		Weight::from_parts(3_460_000, 0)
+		// Minimum execution time: 3_429_000 picoseconds.
+		Weight::from_parts(3_619_000, 0)
 			.saturating_add(Weight::from_parts(0, 1489))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -64,13 +64,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 50]`.
 	fn service_agenda_base(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + s * (177 ±0)`
+		//  Measured:  `78 + s * (177 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 2_995_000 picoseconds.
-		Weight::from_parts(6_906_805, 0)
+		// Minimum execution time: 3_508_000 picoseconds.
+		Weight::from_parts(6_901_234, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 2_029
-			.saturating_add(Weight::from_parts(282_197, 0).saturating_mul(s.into()))
+			// Standard Error: 1_783
+			.saturating_add(Weight::from_parts(267_420, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -78,8 +78,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_798_000 picoseconds.
-		Weight::from_parts(3_053_000, 0)
+		// Minimum execution time: 2_951_000 picoseconds.
+		Weight::from_parts(3_153_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Preimage::PreimageFor` (r:1 w:1)
@@ -91,13 +91,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[128, 4194304]`.
 	fn service_task_fetched(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `179 + s * (1 ±0)`
+		//  Measured:  `141 + s * (1 ±0)`
 		//  Estimated: `4197809`
-		// Minimum execution time: 16_936_000 picoseconds.
-		Weight::from_parts(17_194_000, 0)
+		// Minimum execution time: 15_408_000 picoseconds.
+		Weight::from_parts(16_037_000, 0)
 			.saturating_add(Weight::from_parts(0, 4197809))
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(880, 0).saturating_mul(s.into()))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(879, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -107,8 +107,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_224_000 picoseconds.
-		Weight::from_parts(4_460_000, 0)
+		// Minimum execution time: 4_265_000 picoseconds.
+		Weight::from_parts(4_545_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -116,24 +116,24 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_800_000 picoseconds.
-		Weight::from_parts(2_953_000, 0)
+		// Minimum execution time: 2_866_000 picoseconds.
+		Weight::from_parts(3_032_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn execute_dispatch_signed() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_917_000 picoseconds.
-		Weight::from_parts(2_038_000, 0)
+		// Minimum execution time: 2_113_000 picoseconds.
+		Weight::from_parts(2_243_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn execute_dispatch_unsigned() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_828_000 picoseconds.
-		Weight::from_parts(1_965_000, 0)
+		// Minimum execution time: 2_115_000 picoseconds.
+		Weight::from_parts(2_232_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
@@ -141,13 +141,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 49]`.
 	fn schedule(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + s * (177 ±0)`
+		//  Measured:  `78 + s * (177 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 8_663_000 picoseconds.
-		Weight::from_parts(12_276_740, 0)
+		// Minimum execution time: 9_082_000 picoseconds.
+		Weight::from_parts(12_431_988, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 1_839
-			.saturating_add(Weight::from_parts(297_841, 0).saturating_mul(s.into()))
+			// Standard Error: 1_755
+			.saturating_add(Weight::from_parts(281_391, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -160,13 +160,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[1, 50]`.
 	fn cancel(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + s * (177 ±0)`
+		//  Measured:  `78 + s * (177 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 13_827_000 picoseconds.
-		Weight::from_parts(14_904_366, 0)
+		// Minimum execution time: 14_099_000 picoseconds.
+		Weight::from_parts(14_925_988, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 1_572
-			.saturating_add(Weight::from_parts(450_135, 0).saturating_mul(s.into()))
+			// Standard Error: 1_535
+			.saturating_add(Weight::from_parts(429_855, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -177,13 +177,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 49]`.
 	fn schedule_named(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `254 + s * (185 ±0)`
+		//  Measured:  `255 + s * (185 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 11_710_000 picoseconds.
-		Weight::from_parts(17_069_228, 0)
+		// Minimum execution time: 11_748_000 picoseconds.
+		Weight::from_parts(16_783_698, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 4_379
-			.saturating_add(Weight::from_parts(352_722, 0).saturating_mul(s.into()))
+			// Standard Error: 3_046
+			.saturating_add(Weight::from_parts(315_245, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -196,13 +196,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[1, 50]`.
 	fn cancel_named(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `280 + s * (185 ±0)`
+		//  Measured:  `281 + s * (185 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 16_274_000 picoseconds.
-		Weight::from_parts(18_248_439, 0)
+		// Minimum execution time: 16_437_000 picoseconds.
+		Weight::from_parts(18_011_685, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 12_899
-			.saturating_add(Weight::from_parts(548_525, 0).saturating_mul(s.into()))
+			// Standard Error: 2_243
+			.saturating_add(Weight::from_parts(465_901, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -213,13 +213,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[1, 50]`.
 	fn schedule_retry(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `117`
+		//  Measured:  `118`
 		//  Estimated: `13928`
-		// Minimum execution time: 8_411_000 picoseconds.
-		Weight::from_parts(9_177_642, 0)
+		// Minimum execution time: 8_491_000 picoseconds.
+		Weight::from_parts(9_135_930, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 545
-			.saturating_add(Weight::from_parts(26_161, 0).saturating_mul(s.into()))
+			// Standard Error: 514
+			.saturating_add(Weight::from_parts(28_599, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -229,10 +229,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `8927`
+		//  Measured:  `8928`
 		//  Estimated: `13928`
-		// Minimum execution time: 21_330_000 picoseconds.
-		Weight::from_parts(22_140_000, 0)
+		// Minimum execution time: 20_862_000 picoseconds.
+		Weight::from_parts(22_527_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -245,10 +245,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `9605`
+		//  Measured:  `9606`
 		//  Estimated: `13928`
-		// Minimum execution time: 28_811_000 picoseconds.
-		Weight::from_parts(29_806_000, 0)
+		// Minimum execution time: 26_992_000 picoseconds.
+		Weight::from_parts(28_117_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -259,10 +259,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `8939`
+		//  Measured:  `8940`
 		//  Estimated: `13928`
-		// Minimum execution time: 20_083_000 picoseconds.
-		Weight::from_parts(21_403_000, 0)
+		// Minimum execution time: 20_196_000 picoseconds.
+		Weight::from_parts(20_766_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -275,10 +275,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `9617`
+		//  Measured:  `9618`
 		//  Estimated: `13928`
-		// Minimum execution time: 27_768_000 picoseconds.
-		Weight::from_parts(28_469_000, 0)
+		// Minimum execution time: 25_942_000 picoseconds.
+		Weight::from_parts(26_868_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/g1/src/weights/pallet_session.rs b/runtime/g1/src/weights/pallet_session.rs
index 7806827407143458e388044592725611eb1c4caa..cb7acb07b57207eda428113ea09c6943f60fa32f 100644
--- a/runtime/g1/src/weights/pallet_session.rs
+++ b/runtime/g1/src/weights/pallet_session.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_session`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -55,8 +55,8 @@ impl<T: frame_system::Config> pallet_session::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `810`
 		//  Estimated: `11700`
-		// Minimum execution time: 49_328_000 picoseconds.
-		Weight::from_parts(51_361_000, 0)
+		// Minimum execution time: 28_109_000 picoseconds.
+		Weight::from_parts(29_471_000, 0)
 			.saturating_add(Weight::from_parts(0, 11700))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(5))
@@ -69,8 +69,8 @@ impl<T: frame_system::Config> pallet_session::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `477`
 		//  Estimated: `3942`
-		// Minimum execution time: 25_061_000 picoseconds.
-		Weight::from_parts(31_433_000, 0)
+		// Minimum execution time: 15_904_000 picoseconds.
+		Weight::from_parts(16_537_000, 0)
 			.saturating_add(Weight::from_parts(0, 3942))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(5))
diff --git a/runtime/g1/src/weights/pallet_smith_members.rs b/runtime/g1/src/weights/pallet_smith_members.rs
index 8e59d7364258d11087f6d1a73336f560e914c846..9ada0fee3e7e71644d50477c2593d75983163dda 100644
--- a/runtime/g1/src/weights/pallet_smith_members.rs
+++ b/runtime/g1/src/weights/pallet_smith_members.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_smith_members`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -59,11 +59,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `SmithMembers::ExpiresOn` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn invite_smith() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `801`
-		//  Estimated: `6741`
-		// Minimum execution time: 32_845_000 picoseconds.
-		Weight::from_parts(33_640_000, 0)
-			.saturating_add(Weight::from_parts(0, 6741))
+		//  Measured:  `748`
+		//  Estimated: `6688`
+		// Minimum execution time: 31_350_000 picoseconds.
+		Weight::from_parts(32_770_000, 0)
+			.saturating_add(Weight::from_parts(0, 6688))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -75,8 +75,8 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `566`
 		//  Estimated: `4031`
-		// Minimum execution time: 17_951_000 picoseconds.
-		Weight::from_parts(18_815_000, 0)
+		// Minimum execution time: 16_492_000 picoseconds.
+		Weight::from_parts(16_890_000, 0)
 			.saturating_add(Weight::from_parts(0, 4031))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -91,11 +91,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `SmithMembers::ExpiresOn` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn certify_smith() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `611`
-		//  Estimated: `6551`
-		// Minimum execution time: 27_487_000 picoseconds.
-		Weight::from_parts(28_750_000, 0)
-			.saturating_add(Weight::from_parts(0, 6551))
+		//  Measured:  `591`
+		//  Estimated: `6531`
+		// Minimum execution time: 25_103_000 picoseconds.
+		Weight::from_parts(26_055_000, 0)
+			.saturating_add(Weight::from_parts(0, 6531))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -117,11 +117,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn on_removed_wot_member() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1204`
-		//  Estimated: `14569`
-		// Minimum execution time: 68_866_000 picoseconds.
-		Weight::from_parts(72_461_000, 0)
-			.saturating_add(Weight::from_parts(0, 14569))
+		//  Measured:  `1171`
+		//  Estimated: `14536`
+		// Minimum execution time: 67_014_000 picoseconds.
+		Weight::from_parts(69_066_000, 0)
+			.saturating_add(Weight::from_parts(0, 14536))
 			.saturating_add(T::DbWeight::get().reads(11))
 			.saturating_add(T::DbWeight::get().writes(15))
 	}
@@ -129,11 +129,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `SmithMembers::Smiths` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn on_removed_wot_member_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `253`
-		//  Estimated: `3718`
-		// Minimum execution time: 3_846_000 picoseconds.
-		Weight::from_parts(4_128_000, 0)
-			.saturating_add(Weight::from_parts(0, 3718))
+		//  Measured:  `220`
+		//  Estimated: `3685`
+		// Minimum execution time: 4_009_000 picoseconds.
+		Weight::from_parts(4_149_000, 0)
+			.saturating_add(Weight::from_parts(0, 3685))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
 }
diff --git a/runtime/g1/src/weights/pallet_sudo.rs b/runtime/g1/src/weights/pallet_sudo.rs
index e18bec1e3dccb14b1f4b5412415cefd33d25ed06..8cf94cc0285d70b2377e428f4ea17de00da651c5 100644
--- a/runtime/g1/src/weights/pallet_sudo.rs
+++ b/runtime/g1/src/weights/pallet_sudo.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_sudo`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 14_742_000 picoseconds.
-		Weight::from_parts(16_374_000, 0)
+		// Minimum execution time: 8_805_000 picoseconds.
+		Weight::from_parts(9_170_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 16_905_000 picoseconds.
-		Weight::from_parts(17_840_000, 0)
+		// Minimum execution time: 9_269_000 picoseconds.
+		Weight::from_parts(9_562_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -76,8 +76,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 14_551_000 picoseconds.
-		Weight::from_parts(18_663_000, 0)
+		// Minimum execution time: 9_164_000 picoseconds.
+		Weight::from_parts(9_575_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -87,10 +87,21 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 15_390_000 picoseconds.
-		Weight::from_parts(16_195_000, 0)
+		// Minimum execution time: 7_865_000 picoseconds.
+		Weight::from_parts(8_536_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
+	/// Storage: `Sudo::Key` (r:1 w:0)
+	/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
+	fn check_only_sudo_account() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `165`
+		//  Estimated: `1517`
+		// Minimum execution time: 3_704_000 picoseconds.
+		Weight::from_parts(3_870_000, 0)
+			.saturating_add(Weight::from_parts(0, 1517))
+			.saturating_add(T::DbWeight::get().reads(1))
+	}
 }
diff --git a/runtime/g1/src/weights/pallet_timestamp.rs b/runtime/g1/src/weights/pallet_timestamp.rs
index 5f448039747187727327af94b3ed5707b09a911a..556ae529d5a07f49e192d414433f494ff1271217 100644
--- a/runtime/g1/src/weights/pallet_timestamp.rs
+++ b/runtime/g1/src/weights/pallet_timestamp.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_timestamp`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -57,8 +57,8 @@ impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `268`
 		//  Estimated: `1493`
-		// Minimum execution time: 11_596_000 picoseconds.
-		Weight::from_parts(12_059_000, 0)
+		// Minimum execution time: 10_855_000 picoseconds.
+		Weight::from_parts(11_518_000, 0)
 			.saturating_add(Weight::from_parts(0, 1493))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -67,8 +67,8 @@ impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `57`
 		//  Estimated: `0`
-		// Minimum execution time: 3_491_000 picoseconds.
-		Weight::from_parts(3_720_000, 0)
+		// Minimum execution time: 3_549_000 picoseconds.
+		Weight::from_parts(3_824_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/runtime/g1/src/weights/pallet_transaction_payment.rs b/runtime/g1/src/weights/pallet_transaction_payment.rs
new file mode 100644
index 0000000000000000000000000000000000000000..556b7f8f41aa621d112969dbf9f231d538a3d6a7
--- /dev/null
+++ b/runtime/g1/src/weights/pallet_transaction_payment.rs
@@ -0,0 +1,62 @@
+// Copyright 2021-2022 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+//! Autogenerated weights for `pallet_transaction_payment`
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! WORST CASE MAP SIZE: `1000000`
+//! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
+//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
+
+// Executed Command:
+// target/release/duniter
+// benchmark
+// pallet
+// --genesis-builder=spec-genesis
+// --steps=50
+// --repeat=20
+// --pallet=*
+// --extrinsic=*
+// --wasm-execution=compiled
+// --heap-pages=4096
+// --header=./file_header.txt
+// --output=./runtime/g1/src/weights/
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+#![allow(missing_docs)]
+
+use frame_support::{traits::Get, weights::Weight};
+use core::marker::PhantomData;
+
+/// Weight functions for `pallet_transaction_payment`.
+pub struct WeightInfo<T>(PhantomData<T>);
+impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
+	/// Storage: `System::Account` (r:2 w:2)
+	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
+	fn charge_transaction_payment() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `124`
+		//  Estimated: `6126`
+		// Minimum execution time: 45_569_000 picoseconds.
+		Weight::from_parts(47_029_000, 0)
+			.saturating_add(Weight::from_parts(0, 6126))
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(2))
+	}
+}
diff --git a/runtime/g1/src/weights/pallet_treasury.rs b/runtime/g1/src/weights/pallet_treasury.rs
index 0a24d4630b419ac59a5bde9c161af9649ac4d31f..8a74b9be4c2bad5bd0b19912c82822b585a78460 100644
--- a/runtime/g1/src/weights/pallet_treasury.rs
+++ b/runtime/g1/src/weights/pallet_treasury.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_treasury`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,8 +61,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `1887`
-		// Minimum execution time: 3_423_000 picoseconds.
-		Weight::from_parts(3_620_000, 0)
+		// Minimum execution time: 3_556_000 picoseconds.
+		Weight::from_parts(3_805_000, 0)
 			.saturating_add(Weight::from_parts(0, 1887))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -70,18 +70,18 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Treasury::Deactivated` (r:1 w:1)
 	/// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: `Treasury::LastSpendPeriod` (r:1 w:1)
+	/// Proof: `Treasury::LastSpendPeriod` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// The range of component `p` is `[0, 99]`.
 	fn on_initialize_proposals(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `82 + p * (1 ±0)`
 		//  Estimated: `3558`
-		// Minimum execution time: 14_864_000 picoseconds.
-		Weight::from_parts(16_426_439, 0)
+		// Minimum execution time: 11_461_000 picoseconds.
+		Weight::from_parts(12_397_435, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
-			// Standard Error: 631
-			.saturating_add(Weight::from_parts(31_939, 0).saturating_mul(p.into()))
+			// Standard Error: 376
+			.saturating_add(Weight::from_parts(20_402, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -99,8 +99,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `3526`
-		// Minimum execution time: 4_574_000 picoseconds.
-		Weight::from_parts(4_777_000, 0)
+		// Minimum execution time: 4_855_000 picoseconds.
+		Weight::from_parts(5_244_000, 0)
 			.saturating_add(Weight::from_parts(0, 3526))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -110,8 +110,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `3526`
-		// Minimum execution time: 4_534_000 picoseconds.
-		Weight::from_parts(4_797_000, 0)
+		// Minimum execution time: 4_857_000 picoseconds.
+		Weight::from_parts(5_162_000, 0)
 			.saturating_add(Weight::from_parts(0, 3526))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -121,8 +121,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `3526`
-		// Minimum execution time: 3_950_000 picoseconds.
-		Weight::from_parts(4_273_000, 0)
+		// Minimum execution time: 4_559_000 picoseconds.
+		Weight::from_parts(4_803_000, 0)
 			.saturating_add(Weight::from_parts(0, 3526))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
diff --git a/runtime/g1/src/weights/pallet_universal_dividend.rs b/runtime/g1/src/weights/pallet_universal_dividend.rs
index 29c0cb9c99bc5f8f1cc261bddad6259bca020b0e..d4f5c5ada36a8e409ee5dfdfd5332468b5fe9488 100644
--- a/runtime/g1/src/weights/pallet_universal_dividend.rs
+++ b/runtime/g1/src/weights/pallet_universal_dividend.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_universal_dividend`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -62,11 +62,11 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `676`
 		//  Estimated: `4141`
-		// Minimum execution time: 36_133_000 picoseconds.
-		Weight::from_parts(37_986_178, 0)
+		// Minimum execution time: 34_214_000 picoseconds.
+		Weight::from_parts(36_149_557, 0)
 			.saturating_add(Weight::from_parts(0, 4141))
-			// Standard Error: 574
-			.saturating_add(Weight::from_parts(103, 0).saturating_mul(i.into()))
+			// Standard Error: 651
+			.saturating_add(Weight::from_parts(1_976, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -78,8 +78,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `156`
 		//  Estimated: `6126`
-		// Minimum execution time: 55_145_000 picoseconds.
-		Weight::from_parts(56_570_000, 0)
+		// Minimum execution time: 54_500_000 picoseconds.
+		Weight::from_parts(55_737_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -92,8 +92,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `93`
 		//  Estimated: `3558`
-		// Minimum execution time: 34_661_000 picoseconds.
-		Weight::from_parts(35_441_000, 0)
+		// Minimum execution time: 34_901_000 picoseconds.
+		Weight::from_parts(36_356_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -105,13 +105,15 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// The range of component `i` is `[1, 160]`.
-	fn on_removed_member(_i: u32, ) -> Weight {
+	fn on_removed_member(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `181`
 		//  Estimated: `3558`
-		// Minimum execution time: 19_857_000 picoseconds.
-		Weight::from_parts(21_177_816, 0)
+		// Minimum execution time: 19_668_000 picoseconds.
+		Weight::from_parts(20_627_280, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
+			// Standard Error: 240
+			.saturating_add(Weight::from_parts(1_231, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/runtime/g1/src/weights/pallet_upgrade_origin.rs b/runtime/g1/src/weights/pallet_upgrade_origin.rs
index 8347cfa36b571dcce40b39e5ad396c715c89c56d..ee5b396eaf40402aba83c3f889fc7a44771b13fb 100644
--- a/runtime/g1/src/weights/pallet_upgrade_origin.rs
+++ b/runtime/g1/src/weights/pallet_upgrade_origin.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_upgrade_origin`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -51,8 +51,8 @@ impl<T: frame_system::Config> pallet_upgrade_origin::WeightInfo for WeightInfo<T
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_566_000 picoseconds.
-		Weight::from_parts(6_024_000, 0)
+		// Minimum execution time: 5_813_000 picoseconds.
+		Weight::from_parts(6_042_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/runtime/g1/src/weights/pallet_utility.rs b/runtime/g1/src/weights/pallet_utility.rs
index 7843c72a379b16b8b087936f62ae66dfbdc2862e..27295fc66d45c89bea5f076661f11b602ddf0b21 100644
--- a/runtime/g1/src/weights/pallet_utility.rs
+++ b/runtime/g1/src/weights/pallet_utility.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_utility`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,18 +52,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_367_000 picoseconds.
-		Weight::from_parts(10_202_249, 0)
+		// Minimum execution time: 4_716_000 picoseconds.
+		Weight::from_parts(7_673_308, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 2_134
-			.saturating_add(Weight::from_parts(2_080_987, 0).saturating_mul(c.into()))
+			// Standard Error: 770
+			.saturating_add(Weight::from_parts(2_117_641, 0).saturating_mul(c.into()))
 	}
 	fn as_derivative() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_604_000 picoseconds.
-		Weight::from_parts(3_823_000, 0)
+		// Minimum execution time: 4_001_000 picoseconds.
+		Weight::from_parts(4_245_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `c` is `[0, 1000]`.
@@ -71,18 +71,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_176_000 picoseconds.
-		Weight::from_parts(8_249_429, 0)
+		// Minimum execution time: 4_595_000 picoseconds.
+		Weight::from_parts(10_269_354, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_370
-			.saturating_add(Weight::from_parts(2_246_488, 0).saturating_mul(c.into()))
+			// Standard Error: 1_442
+			.saturating_add(Weight::from_parts(2_277_997, 0).saturating_mul(c.into()))
 	}
 	fn dispatch_as() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_614_000 picoseconds.
-		Weight::from_parts(5_966_000, 0)
+		// Minimum execution time: 5_835_000 picoseconds.
+		Weight::from_parts(6_174_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `c` is `[0, 1000]`.
@@ -90,10 +90,10 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_229_000 picoseconds.
-		Weight::from_parts(9_631_889, 0)
+		// Minimum execution time: 4_523_000 picoseconds.
+		Weight::from_parts(9_986_300, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_987
-			.saturating_add(Weight::from_parts(2_071_887, 0).saturating_mul(c.into()))
+			// Standard Error: 1_088
+			.saturating_add(Weight::from_parts(2_086_124, 0).saturating_mul(c.into()))
 	}
 }
diff --git a/runtime/g1/src/weights/paritydb_weights.rs b/runtime/g1/src/weights/paritydb_weights.rs
index 9dc380e7f3be47955b1b279afda5f176a907bc44..00e7da53f6f6b0bb53a3d5eeac415aefe7883d10 100644
--- a/runtime/g1/src/weights/paritydb_weights.rs
+++ b/runtime/g1/src/weights/paritydb_weights.rs
@@ -1,6 +1,6 @@
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14 (Y/M/D)
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22 (Y/M/D)
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //!
 //! DATABASE: `ParityDb`, RUNTIME: `Äž1 Local Testnet`
@@ -34,31 +34,31 @@ pub mod constants {
 			/// Calculated by multiplying the *Average* of all values with `2.0` and adding `0`.
 			///
 			/// Stats nanoseconds:
-			///   Min, Max: 943, 1_429_396
-			///   Average:  10_892
-			///   Median:   1_796
-			///   Std-Dev:  113211.69
+			///   Min, Max: 816, 1_528_096
+			///   Average:  11_527
+			///   Median:   1_463
+			///   Std-Dev:  121434.48
 			///
 			/// Percentiles nanoseconds:
-			///   99th: 9_782
-			///   95th: 2_776
-			///   75th: 2_041
-			read: 21_784 * constants::WEIGHT_REF_TIME_PER_NANOS,
+			///   99th: 20_434
+			///   95th: 2_861
+			///   75th: 1_986
+			read: 23_054 * constants::WEIGHT_REF_TIME_PER_NANOS,
 
 			/// Time to write one storage item.
 			/// Calculated by multiplying the *Average* of all values with `2.0` and adding `0`.
 			///
 			/// Stats nanoseconds:
-			///   Min, Max: 3_908, 6_543_821
-			///   Average:  51_524
-			///   Median:   10_509
-			///   Std-Dev:  518150.54
+			///   Min, Max: 3_734, 6_625_499
+			///   Average:  51_983
+			///   Median:   9_943
+			///   Std-Dev:  526311.43
 			///
 			/// Percentiles nanoseconds:
-			///   99th: 16_922
-			///   95th: 15_073
-			///   75th: 12_634
-			write: 103_048 * constants::WEIGHT_REF_TIME_PER_NANOS,
+			///   99th: 19_667
+			///   95th: 15_786
+			///   75th: 11_745
+			write: 103_966 * constants::WEIGHT_REF_TIME_PER_NANOS,
 		};
 	}
 
diff --git a/runtime/gdev/Cargo.toml b/runtime/gdev/Cargo.toml
index 08fc4435aad8cf4a23a28a6c102e5826216355c4..deefb7c6d5df3eb13894a8bfffa23d2ca229a9ca 100644
--- a/runtime/gdev/Cargo.toml
+++ b/runtime/gdev/Cargo.toml
@@ -12,6 +12,14 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [features]
 default = ["std"]
+# Enable the metadata hash generation.
+#
+# This is hidden behind a feature because it increases the compile time.
+# The wasm binary needs to be compiled twice, once to fetch the metadata,
+# generate the metadata hash and then a second time with the
+# `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash`
+# extension.
+metadata-hash = ["substrate-wasm-builder/metadata-hash"]
 constant-fees = ["common-runtime/constant-fees"]
 runtime-benchmarks = [
 	"common-runtime/runtime-benchmarks",
@@ -44,6 +52,7 @@ runtime-benchmarks = [
 	"pallet-smith-members/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
+	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-universal-dividend/runtime-benchmarks",
 	"pallet-upgrade-origin/runtime-benchmarks",
@@ -186,6 +195,7 @@ frame-system = { workspace = true }
 frame-system-benchmarking = { workspace = true, optional = true }
 frame-system-rpc-runtime-api = { workspace = true }
 frame-try-runtime = { workspace = true, optional = true }
+frame-metadata-hash-extension = { workspace = true }
 hex-literal = { workspace = true, optional = true }
 log = { workspace = true }
 node-primitives = { workspace = true }
diff --git a/runtime/gdev/build.rs b/runtime/gdev/build.rs
index b31efa2f039949719cab9bfdcb170c98d4cb542f..450a6eba8252f849fa8cc94bec8026736e5953c5 100644
--- a/runtime/gdev/build.rs
+++ b/runtime/gdev/build.rs
@@ -17,10 +17,12 @@
 fn main() {
     #[cfg(feature = "std")]
     {
-        substrate_wasm_builder::WasmBuilder::new()
-            .with_current_project()
-            .export_heap_base()
-            .import_memory()
+        #[cfg(not(feature = "metadata-hash"))]
+        substrate_wasm_builder::WasmBuilder::init_with_defaults().build();
+
+        #[cfg(feature = "metadata-hash")]
+        substrate_wasm_builder::WasmBuilder::init_with_defaults()
+            .enable_metadata_hash("ÄžD", 2)
             .build();
     }
 }
diff --git a/runtime/gdev/src/lib.rs b/runtime/gdev/src/lib.rs
index 4b7d0427887bc85146940e9d8be33f516533e325..71d340ecea638f95e4ac122c7da9a817244dabba 100644
--- a/runtime/gdev/src/lib.rs
+++ b/runtime/gdev/src/lib.rs
@@ -22,10 +22,6 @@
 #[cfg(feature = "std")]
 include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
 
-#[cfg(feature = "runtime-benchmarks")]
-#[macro_use]
-extern crate frame_benchmarking;
-
 pub mod parameters;
 pub mod weights;
 
@@ -39,8 +35,6 @@ use frame_support::{traits::Contains, PalletId};
 pub use frame_system::Call as SystemCall;
 use frame_system::EnsureRoot;
 pub use pallet_balances::Call as BalancesCall;
-#[cfg(feature = "runtime-benchmarks")]
-pub use pallet_collective::RawOrigin;
 pub use pallet_duniter_test_parameters::Parameters as GenesisParameters;
 use pallet_grandpa::{
     fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList,
@@ -56,10 +50,10 @@ use sp_core::OpaqueMetadata;
 #[cfg(any(feature = "std", test))]
 pub use sp_runtime::BuildStorage;
 use sp_runtime::{
-    create_runtime_str, generic, impl_opaque_keys,
+    generic, impl_opaque_keys,
     traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys},
     transaction_validity::{TransactionSource, TransactionValidity},
-    ApplyExtrinsicResult, Perquintill,
+    ApplyExtrinsicResult, Cow, Perquintill,
 };
 pub use sp_runtime::{KeyTypeId, Perbill, Permill};
 #[cfg(feature = "std")]
@@ -79,14 +73,12 @@ pub use frame_support::{
     StorageValue,
 };
 
-common_runtime::declare_session_keys! {}
-
 // To learn more about runtime versioning and what each of the following value means:
 //   https://substrate.dev/docs/en/knowledgebase/runtime/upgrades#runtime-versioning
 #[sp_version::runtime_version]
 pub const VERSION: RuntimeVersion = RuntimeVersion {
-    spec_name: create_runtime_str!("gdev"),
-    impl_name: create_runtime_str!("duniter-gdev"),
+    spec_name: Cow::Borrowed("gdev"),
+    impl_name: Cow::Borrowed("duniter-gdev"),
     authoring_version: 1,
     // The version of the runtime specification. A full node will not attempt to use its native
     //   runtime in substitute for the on-chain Wasm runtime unless all of `spec_name`,
@@ -97,7 +89,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
     impl_version: 1,
     apis: RUNTIME_API_VERSIONS,
     transaction_version: 1,
-    state_version: 1,
+    system_version: 1,
 };
 
 /// The version information used to identify this runtime when compiled natively.
@@ -111,11 +103,8 @@ pub fn native_version() -> NativeVersion {
 
 /// Block type as expected by this runtime.
 pub type Block = sp_runtime::generic::Block<Header, UncheckedExtrinsic>;
-/// Unchecked extrinsic type as expected by this runtime.
-pub type UncheckedExtrinsic =
-    generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
-/// The SignedExtension to the basic transaction logic.
-pub type SignedExtra = (
+/// The `TransactionExtension` to the basic transaction logic.
+pub type TxExtension = (
     frame_system::CheckNonZeroSender<Runtime>,
     frame_system::CheckSpecVersion<Runtime>,
     frame_system::CheckTxVersion<Runtime>,
@@ -124,7 +113,11 @@ pub type SignedExtra = (
     pallet_oneshot_account::CheckNonce<Runtime>,
     frame_system::CheckWeight<Runtime>,
     pallet_transaction_payment::ChargeTransactionPayment<Runtime>,
+    frame_metadata_hash_extension::CheckMetadataHash<Runtime>,
 );
+/// Unchecked extrinsic type as expected by this runtime.
+pub type UncheckedExtrinsic =
+    generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
 
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
@@ -137,39 +130,6 @@ pub type Executive = frame_executive::Executive<
 
 pub type TechnicalCommitteeInstance = Instance2;
 
-#[cfg(feature = "runtime-benchmarks")]
-mod benches {
-    define_benchmarks!(
-        [pallet_certification, Certification]
-        [pallet_distance, Distance]
-        [pallet_oneshot_account, OneshotAccount]
-        [pallet_universal_dividend, UniversalDividend]
-        [pallet_provide_randomness, ProvideRandomness]
-        [pallet_upgrade_origin, UpgradeOrigin]
-        [pallet_duniter_account, Account]
-        [pallet_quota, Quota]
-        [pallet_identity, Identity]
-        [pallet_membership, Membership]
-        [pallet_smith_members, SmithMembers]
-        [pallet_authority_members, AuthorityMembers]
-        // Substrate
-        [pallet_balances, Balances]
-        [frame_benchmarking::baseline, Baseline::<Runtime>]
-        [pallet_collective, TechnicalCommittee]
-        [pallet_session, SessionBench::<Runtime>]
-        [pallet_im_online, ImOnline]
-        [pallet_sudo, Sudo]
-        [pallet_multisig, Multisig]
-        [pallet_preimage, Preimage]
-        [pallet_proxy, Proxy]
-        [pallet_scheduler, Scheduler]
-        [frame_system, SystemBench::<Runtime>]
-        [pallet_timestamp, Timestamp]
-        [pallet_treasury, Treasury]
-        [pallet_utility, Utility]
-    );
-}
-
 pub struct BaseCallFilter;
 impl Contains<RuntimeCall> for BaseCallFilter {
     fn contains(call: &RuntimeCall) -> bool {
@@ -271,9 +231,6 @@ impl pallet_duniter_test_parameters::Config for Runtime {
     type PeriodCount = Balance;
     type SessionCount = u32;
 }
-#[cfg(feature = "runtime-benchmarks")]
-type WorstOrigin = RawOrigin<AccountId, TechnicalCommitteeInstance>;
-common_runtime::pallets_config!();
 
 // Create the runtime by composing the pallets that were previously configured.
 construct_runtime!(
@@ -333,22 +290,11 @@ construct_runtime!(
     }
 );
 
-impl<C> frame_system::offchain::SendTransactionTypes<C> for Runtime
-where
-    RuntimeCall: From<C>,
-{
-    type Extrinsic = UncheckedExtrinsic;
-    type OverarchingCall = RuntimeCall;
-}
-
 // All of our runtimes share most of their Runtime API implementations.
 // We use a macro to implement this common part and add runtime-specific additional implementations.
-// This macro expands to :
-// ```
-// impl_runtime_apis! {
-//     // All impl blocks shared between all runtimes.
-//
-//     // Specific impls provided to the `runtime_apis!` macro.
-// }
-// ```
+common_runtime::pallets_config!();
+common_runtime::declare_session_keys! {}
+#[cfg(feature = "runtime-benchmarks")]
+common_runtime::benchmarks_config!();
+common_runtime::offchain_config! {}
 common_runtime::runtime_apis! {}
diff --git a/runtime/gdev/src/weights.rs b/runtime/gdev/src/weights.rs
index 1bf51bdbb063859c33197a6251bf767ba1311442..8371a5d27816ee03cb0042f5a34957c28ebf570c 100644
--- a/runtime/gdev/src/weights.rs
+++ b/runtime/gdev/src/weights.rs
@@ -20,6 +20,8 @@
 #![allow(clippy::unnecessary_cast)]
 #![allow(unused_doc_comments)]
 
+pub mod frame_system_extensions;
+pub mod pallet_transaction_payment;
 pub mod block_weights;
 pub mod extrinsic_weights;
 pub mod frame_system;
diff --git a/runtime/gdev/src/weights/block_weights.rs b/runtime/gdev/src/weights/block_weights.rs
index 25e351c31779f2f95b3923c1133d57e2d38e26d0..571ac5c48d7b346e92a9b169a0e734a2359dc20f 100644
--- a/runtime/gdev/src/weights/block_weights.rs
+++ b/runtime/gdev/src/weights/block_weights.rs
@@ -1,6 +1,6 @@
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14 (Y/M/D)
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22 (Y/M/D)
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //!
 //! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `Äždev Local Testnet`
@@ -22,21 +22,21 @@ use sp_core::parameter_types;
 use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
 
 parameter_types! {
-	/// Time to execute an empty block.
+	/// Weight of executing an empty block.
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 125_984, 207_856
-	///   Average:  133_878
-	///   Median:   130_736
-	///   Std-Dev:  10123.25
+	///   Min, Max: 122_545, 345_032
+	///   Average:  138_548
+	///   Median:   133_458
+	///   Std-Dev:  23871.28
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 168_181
-	///   95th: 146_504
-	///   75th: 135_864
+	///   99th: 214_321
+	///   95th: 155_132
+	///   75th: 137_306
 	pub const BlockExecutionWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(133_878), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(138_548), 0);
 }
 
 #[cfg(test)]
diff --git a/runtime/gdev/src/weights/extrinsic_weights.rs b/runtime/gdev/src/weights/extrinsic_weights.rs
index 6a5a8422134fbf63203f7a8da120a9020a312e97..a1918cd1bad7cd740e9a1020bfb2bcbfb20cd5e3 100644
--- a/runtime/gdev/src/weights/extrinsic_weights.rs
+++ b/runtime/gdev/src/weights/extrinsic_weights.rs
@@ -1,6 +1,6 @@
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14 (Y/M/D)
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22 (Y/M/D)
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //!
 //! SHORT-NAME: `extrinsic`, LONG-NAME: `ExtrinsicBase`, RUNTIME: `Äždev Local Testnet`
@@ -22,21 +22,21 @@ use sp_core::parameter_types;
 use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
 
 parameter_types! {
-	/// Time to execute a NO-OP extrinsic, for example `System::remark`.
+	/// Weight of executing a NO-OP extrinsic, for example `System::remark`.
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 87_363, 88_194
-	///   Average:  87_587
-	///   Median:   87_531
-	///   Std-Dev:  159.97
+	///   Min, Max: 92_602, 93_246
+	///   Average:  92_945
+	///   Median:   92_939
+	///   Std-Dev:  123.07
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 88_182
-	///   95th: 87_891
-	///   75th: 87_627
+	///   99th: 93_229
+	///   95th: 93_175
+	///   75th: 93_023
 	pub const ExtrinsicBaseWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(87_587), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(92_945), 0);
 }
 
 #[cfg(test)]
diff --git a/runtime/gdev/src/weights/frame_benchmarking_baseline.rs b/runtime/gdev/src/weights/frame_benchmarking_baseline.rs
index 308b9fc55d5f2cc240e9e054244252c7da52a06d..1d593d03508653fc07feb3f9b8038d7b80cb61ee 100644
--- a/runtime/gdev/src/weights/frame_benchmarking_baseline.rs
+++ b/runtime/gdev/src/weights/frame_benchmarking_baseline.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `frame_benchmarking::baseline`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,8 +52,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 81_000 picoseconds.
-		Weight::from_parts(111_848, 0)
+		// Minimum execution time: 83_000 picoseconds.
+		Weight::from_parts(120_949, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -61,8 +61,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 82_000 picoseconds.
-		Weight::from_parts(113_145, 0)
+		// Minimum execution time: 83_000 picoseconds.
+		Weight::from_parts(112_667, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -70,8 +70,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 82_000 picoseconds.
-		Weight::from_parts(115_439, 0)
+		// Minimum execution time: 84_000 picoseconds.
+		Weight::from_parts(112_957, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -79,16 +79,16 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 82_000 picoseconds.
-		Weight::from_parts(113_450, 0)
+		// Minimum execution time: 83_000 picoseconds.
+		Weight::from_parts(112_463, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn hashing() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 20_005_636_000 picoseconds.
-		Weight::from_parts(20_077_845_000, 0)
+		// Minimum execution time: 19_580_244_000 picoseconds.
+		Weight::from_parts(19_630_816_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 100]`.
@@ -96,10 +96,10 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 96_000 picoseconds.
-		Weight::from_parts(28_362_958, 0)
+		// Minimum execution time: 97_000 picoseconds.
+		Weight::from_parts(27_435_845, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 13_596
-			.saturating_add(Weight::from_parts(31_132_724, 0).saturating_mul(i.into()))
+			// Standard Error: 12_491
+			.saturating_add(Weight::from_parts(31_686_916, 0).saturating_mul(i.into()))
 	}
 }
diff --git a/runtime/gdev/src/weights/frame_system.rs b/runtime/gdev/src/weights/frame_system.rs
index 9e8028672d2b27ed976082f2c2e84b7b59fc2c9e..6eeb709777e3e48b44a09e91cc49aa467608c7c4 100644
--- a/runtime/gdev/src/weights/frame_system.rs
+++ b/runtime/gdev/src/weights/frame_system.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `frame_system`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,8 +52,8 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_696_000 picoseconds.
-		Weight::from_parts(1_873_000, 0)
+		// Minimum execution time: 1_997_000 picoseconds.
+		Weight::from_parts(2_094_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 0
 			.saturating_add(Weight::from_parts(255, 0).saturating_mul(b.into()))
@@ -63,39 +63,33 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_763_000 picoseconds.
-		Weight::from_parts(5_017_000, 0)
+		// Minimum execution time: 4_988_000 picoseconds.
+		Weight::from_parts(5_038_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_033, 0).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(1_039, 0).saturating_mul(b.into()))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
 	fn set_heap_pages() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `1485`
-		// Minimum execution time: 3_242_000 picoseconds.
-		Weight::from_parts(3_651_000, 0)
-			.saturating_add(Weight::from_parts(0, 1485))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Estimated: `0`
+		// Minimum execution time: 3_352_000 picoseconds.
+		Weight::from_parts(3_521_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `1485`
-		// Minimum execution time: 75_208_184_000 picoseconds.
-		Weight::from_parts(76_274_392_000, 0)
-			.saturating_add(Weight::from_parts(0, 1485))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Estimated: `0`
+		// Minimum execution time: 75_556_906_000 picoseconds.
+		Weight::from_parts(76_388_277_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -104,11 +98,11 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_810_000 picoseconds.
-		Weight::from_parts(1_896_000, 0)
+		// Minimum execution time: 1_910_000 picoseconds.
+		Weight::from_parts(2_007_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 595
-			.saturating_add(Weight::from_parts(573_002, 0).saturating_mul(i.into()))
+			// Standard Error: 579
+			.saturating_add(Weight::from_parts(586_595, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -118,11 +112,11 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_800_000 picoseconds.
-		Weight::from_parts(1_962_000, 0)
+		// Minimum execution time: 1_817_000 picoseconds.
+		Weight::from_parts(2_003_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 658
-			.saturating_add(Weight::from_parts(456_239, 0).saturating_mul(i.into()))
+			// Standard Error: 759
+			.saturating_add(Weight::from_parts(464_650, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -130,13 +124,13 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 	/// The range of component `p` is `[0, 1000]`.
 	fn kill_prefix(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + p * (69 ±0)`
-		//  Estimated: `76 + p * (70 ±0)`
-		// Minimum execution time: 3_436_000 picoseconds.
-		Weight::from_parts(3_503_000, 0)
-			.saturating_add(Weight::from_parts(0, 76))
-			// Standard Error: 1_081
-			.saturating_add(Weight::from_parts(1_048_984, 0).saturating_mul(p.into()))
+		//  Measured:  `78 + p * (69 ±0)`
+		//  Estimated: `75 + p * (70 ±0)`
+		// Minimum execution time: 3_438_000 picoseconds.
+		Weight::from_parts(3_566_000, 0)
+			.saturating_add(Weight::from_parts(0, 75))
+			// Standard Error: 755
+			.saturating_add(Weight::from_parts(1_043_550, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
 			.saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into()))
@@ -147,25 +141,23 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_901_000 picoseconds.
-		Weight::from_parts(8_927_000, 0)
+		// Minimum execution time: 8_179_000 picoseconds.
+		Weight::from_parts(9_190_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `System::AuthorizedUpgrade` (r:1 w:1)
 	/// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	fn apply_authorized_upgrade() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `22`
 		//  Estimated: `1518`
-		// Minimum execution time: 79_470_902_000 picoseconds.
-		Weight::from_parts(80_314_512_000, 0)
+		// Minimum execution time: 79_083_880_000 picoseconds.
+		Weight::from_parts(80_032_467_000, 0)
 			.saturating_add(Weight::from_parts(0, 1518))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
 }
diff --git a/runtime/gdev/src/weights/frame_system_extensions.rs b/runtime/gdev/src/weights/frame_system_extensions.rs
new file mode 100644
index 0000000000000000000000000000000000000000..704f925d50e6432604408ea8bfd0c57030b855b5
--- /dev/null
+++ b/runtime/gdev/src/weights/frame_system_extensions.rs
@@ -0,0 +1,118 @@
+// Copyright 2021-2022 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+//! Autogenerated weights for `frame_system_extensions`
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! WORST CASE MAP SIZE: `1000000`
+//! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
+//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
+
+// Executed Command:
+// target/release/duniter
+// benchmark
+// pallet
+// --genesis-builder=spec-genesis
+// --steps=50
+// --repeat=20
+// --pallet=*
+// --extrinsic=*
+// --wasm-execution=compiled
+// --heap-pages=4096
+// --header=./file_header.txt
+// --output=./runtime/gdev/src/weights/
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+#![allow(missing_docs)]
+
+use frame_support::{traits::Get, weights::Weight};
+use core::marker::PhantomData;
+
+/// Weight functions for `frame_system_extensions`.
+pub struct WeightInfo<T>(PhantomData<T>);
+impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
+	fn check_genesis() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `30`
+		//  Estimated: `0`
+		// Minimum execution time: 2_433_000 picoseconds.
+		Weight::from_parts(2_695_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_mortality_mortal_transaction() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `68`
+		//  Estimated: `0`
+		// Minimum execution time: 5_217_000 picoseconds.
+		Weight::from_parts(5_519_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_mortality_immortal_transaction() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `68`
+		//  Estimated: `0`
+		// Minimum execution time: 5_320_000 picoseconds.
+		Weight::from_parts(5_645_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_non_zero_sender() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 377_000 picoseconds.
+		Weight::from_parts(475_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	/// Storage: `System::Account` (r:1 w:1)
+	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
+	fn check_nonce() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `61`
+		//  Estimated: `3558`
+		// Minimum execution time: 5_905_000 picoseconds.
+		Weight::from_parts(6_222_000, 0)
+			.saturating_add(Weight::from_parts(0, 3558))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
+	}
+	fn check_spec_version() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 295_000 picoseconds.
+		Weight::from_parts(353_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_tx_version() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 301_000 picoseconds.
+		Weight::from_parts(351_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_weight() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 3_405_000 picoseconds.
+		Weight::from_parts(3_699_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+}
diff --git a/runtime/gdev/src/weights/pallet_authority_members.rs b/runtime/gdev/src/weights/pallet_authority_members.rs
index 336b241bb8feb4df7d9c94a66603b742fd8ae509..121c8a30421276c6c910e396f4bf274da420c883 100644
--- a/runtime/gdev/src/weights/pallet_authority_members.rs
+++ b/runtime/gdev/src/weights/pallet_authority_members.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_authority_members`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,11 +61,11 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 	/// Proof: `AuthorityMembers::OnlineAuthorities` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	fn go_offline() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `900`
-		//  Estimated: `4365`
-		// Minimum execution time: 24_733_000 picoseconds.
-		Weight::from_parts(25_917_000, 0)
-			.saturating_add(Weight::from_parts(0, 4365))
+		//  Measured:  `867`
+		//  Estimated: `4332`
+		// Minimum execution time: 22_932_000 picoseconds.
+		Weight::from_parts(24_576_000, 0)
+			.saturating_add(Weight::from_parts(0, 4332))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -87,11 +87,11 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 	/// Proof: `AuthorityMembers::OnlineAuthorities` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	fn go_online() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1357`
-		//  Estimated: `4822`
-		// Minimum execution time: 34_853_000 picoseconds.
-		Weight::from_parts(37_363_000, 0)
-			.saturating_add(Weight::from_parts(0, 4822))
+		//  Measured:  `1324`
+		//  Estimated: `4789`
+		// Minimum execution time: 33_979_000 picoseconds.
+		Weight::from_parts(36_438_000, 0)
+			.saturating_add(Weight::from_parts(0, 4789))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -109,11 +109,11 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 	/// Proof: `AuthorityMembers::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn set_session_keys() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1806`
-		//  Estimated: `12696`
-		// Minimum execution time: 44_839_000 picoseconds.
-		Weight::from_parts(47_421_000, 0)
-			.saturating_add(Weight::from_parts(0, 12696))
+		//  Measured:  `1773`
+		//  Estimated: `12663`
+		// Minimum execution time: 42_263_000 picoseconds.
+		Weight::from_parts(43_544_000, 0)
+			.saturating_add(Weight::from_parts(0, 12663))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -135,8 +135,8 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `848`
 		//  Estimated: `4313`
-		// Minimum execution time: 39_034_000 picoseconds.
-		Weight::from_parts(40_210_000, 0)
+		// Minimum execution time: 36_170_000 picoseconds.
+		Weight::from_parts(37_876_000, 0)
 			.saturating_add(Weight::from_parts(0, 4313))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(10))
@@ -147,8 +147,8 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `199`
 		//  Estimated: `1684`
-		// Minimum execution time: 9_200_000 picoseconds.
-		Weight::from_parts(9_531_000, 0)
+		// Minimum execution time: 8_913_000 picoseconds.
+		Weight::from_parts(9_453_000, 0)
 			.saturating_add(Weight::from_parts(0, 1684))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gdev/src/weights/pallet_balances.rs b/runtime/gdev/src/weights/pallet_balances.rs
index 7fbe15f29230a31cb202f9ad1dbc149e1febd2bc..305c5bb8cdac45c2e142c6f8e21736f6bf25a678 100644
--- a/runtime/gdev/src/weights/pallet_balances.rs
+++ b/runtime/gdev/src/weights/pallet_balances.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_balances`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `63`
 		//  Estimated: `6126`
-		// Minimum execution time: 49_369_000 picoseconds.
-		Weight::from_parts(50_998_000, 0)
+		// Minimum execution time: 48_945_000 picoseconds.
+		Weight::from_parts(50_657_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3558`
-		// Minimum execution time: 30_729_000 picoseconds.
-		Weight::from_parts(31_164_000, 0)
+		// Minimum execution time: 30_270_000 picoseconds.
+		Weight::from_parts(31_069_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -77,8 +77,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3558`
-		// Minimum execution time: 11_010_000 picoseconds.
-		Weight::from_parts(11_750_000, 0)
+		// Minimum execution time: 11_030_000 picoseconds.
+		Weight::from_parts(11_539_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -89,8 +89,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3558`
-		// Minimum execution time: 18_124_000 picoseconds.
-		Weight::from_parts(18_755_000, 0)
+		// Minimum execution time: 16_693_000 picoseconds.
+		Weight::from_parts(17_705_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -101,8 +101,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `126`
 		//  Estimated: `8694`
-		// Minimum execution time: 51_160_000 picoseconds.
-		Weight::from_parts(52_812_000, 0)
+		// Minimum execution time: 51_017_000 picoseconds.
+		Weight::from_parts(52_495_000, 0)
 			.saturating_add(Weight::from_parts(0, 8694))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -113,8 +113,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3558`
-		// Minimum execution time: 37_649_000 picoseconds.
-		Weight::from_parts(38_367_000, 0)
+		// Minimum execution time: 37_080_000 picoseconds.
+		Weight::from_parts(37_873_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -125,8 +125,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3558`
-		// Minimum execution time: 13_983_000 picoseconds.
-		Weight::from_parts(14_543_000, 0)
+		// Minimum execution time: 13_637_000 picoseconds.
+		Weight::from_parts(14_362_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -135,8 +135,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_204_000 picoseconds.
-		Weight::from_parts(5_578_000, 0)
+		// Minimum execution time: 5_588_000 picoseconds.
+		Weight::from_parts(5_942_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `System::Account` (r:1 w:1)
@@ -145,8 +145,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `63`
 		//  Estimated: `3558`
-		// Minimum execution time: 35_473_000 picoseconds.
-		Weight::from_parts(39_186_000, 0)
+		// Minimum execution time: 34_789_000 picoseconds.
+		Weight::from_parts(36_021_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -155,8 +155,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 16_907_000 picoseconds.
-		Weight::from_parts(17_393_000, 0)
+		// Minimum execution time: 15_975_000 picoseconds.
+		Weight::from_parts(16_516_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/runtime/gdev/src/weights/pallet_certification.rs b/runtime/gdev/src/weights/pallet_certification.rs
index 73df17f4b80ad7deb0ff5c2a0ab985425abdb755..945112abfb76b636d20c31191b229775fd9ecfbd 100644
--- a/runtime/gdev/src/weights/pallet_certification.rs
+++ b/runtime/gdev/src/weights/pallet_certification.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_certification`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -63,8 +63,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `1074`
 		//  Estimated: `7014`
-		// Minimum execution time: 39_906_000 picoseconds.
-		Weight::from_parts(41_809_000, 0)
+		// Minimum execution time: 39_750_000 picoseconds.
+		Weight::from_parts(42_497_000, 0)
 			.saturating_add(Weight::from_parts(0, 7014))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -85,8 +85,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `1097`
 		//  Estimated: `7037`
-		// Minimum execution time: 39_926_000 picoseconds.
-		Weight::from_parts(42_291_000, 0)
+		// Minimum execution time: 38_013_000 picoseconds.
+		Weight::from_parts(39_453_000, 0)
 			.saturating_add(Weight::from_parts(0, 7037))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -101,8 +101,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `528`
 		//  Estimated: `6468`
-		// Minimum execution time: 22_280_000 picoseconds.
-		Weight::from_parts(23_811_000, 0)
+		// Minimum execution time: 19_735_000 picoseconds.
+		Weight::from_parts(20_458_000, 0)
 			.saturating_add(Weight::from_parts(0, 6468))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -118,13 +118,13 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 	/// The range of component `i` is `[2, 1000]`.
 	fn remove_all_certs_received_by(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `665 + i * (35 ±0)`
-		//  Estimated: `4129 + i * (2511 ±0)`
-		// Minimum execution time: 33_392_000 picoseconds.
-		Weight::from_parts(34_295_000, 0)
-			.saturating_add(Weight::from_parts(0, 4129))
-			// Standard Error: 24_307
-			.saturating_add(Weight::from_parts(9_192_872, 0).saturating_mul(i.into()))
+		//  Measured:  `690 + i * (35 ±0)`
+		//  Estimated: `4160 + i * (2511 ±0)`
+		// Minimum execution time: 30_467_000 picoseconds.
+		Weight::from_parts(6_334_106, 0)
+			.saturating_add(Weight::from_parts(0, 4160))
+			// Standard Error: 3_509
+			.saturating_add(Weight::from_parts(4_753_946, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -137,8 +137,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `139`
 		//  Estimated: `3604`
-		// Minimum execution time: 3_418_000 picoseconds.
-		Weight::from_parts(3_641_000, 0)
+		// Minimum execution time: 3_239_000 picoseconds.
+		Weight::from_parts(3_566_000, 0)
 			.saturating_add(Weight::from_parts(0, 3604))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -148,8 +148,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `276`
 		//  Estimated: `3741`
-		// Minimum execution time: 5_155_000 picoseconds.
-		Weight::from_parts(5_554_000, 0)
+		// Minimum execution time: 5_082_000 picoseconds.
+		Weight::from_parts(5_456_000, 0)
 			.saturating_add(Weight::from_parts(0, 3741))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -166,30 +166,30 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `822`
 		//  Estimated: `6762`
-		// Minimum execution time: 29_437_000 picoseconds.
-		Weight::from_parts(30_429_000, 0)
+		// Minimum execution time: 28_090_000 picoseconds.
+		Weight::from_parts(29_822_000, 0)
 			.saturating_add(Weight::from_parts(0, 6762))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Certification::CertsByReceiver` (r:1 w:1)
 	/// Proof: `Certification::CertsByReceiver` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Certification::StorageIdtyCertMeta` (r:1000 w:1000)
+	/// Storage: `Certification::StorageIdtyCertMeta` (r:100 w:100)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Parameters::ParametersStorage` (r:1 w:0)
 	/// Proof: `Parameters::ParametersStorage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Membership::Membership` (r:1 w:0)
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `i` is `[2, 1000]`.
+	/// The range of component `i` is `[2, 100]`.
 	fn do_remove_all_certs_received_by(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `665 + i * (35 ±0)`
-		//  Estimated: `4129 + i * (2511 ±0)`
-		// Minimum execution time: 33_392_000 picoseconds.
-		Weight::from_parts(34_295_000, 0)
-			.saturating_add(Weight::from_parts(0, 4129))
-			// Standard Error: 24_307
-			.saturating_add(Weight::from_parts(9_192_872, 0).saturating_mul(i.into()))
+		//  Measured:  `654 + i * (35 ±0)`
+		//  Estimated: `4127 + i * (2511 ±0)`
+		// Minimum execution time: 27_313_000 picoseconds.
+		Weight::from_parts(22_400_854, 0)
+			.saturating_add(Weight::from_parts(0, 4127))
+			// Standard Error: 4_211
+			.saturating_add(Weight::from_parts(4_415_904, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gdev/src/weights/pallet_collective.rs b/runtime/gdev/src/weights/pallet_collective.rs
index df49a9036093e7d45a86af39c9d0e698d5306ee3..569a635f1ef5d495eeb6dc93027415a9f1d67071 100644
--- a/runtime/gdev/src/weights/pallet_collective.rs
+++ b/runtime/gdev/src/weights/pallet_collective.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_collective`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -62,13 +62,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + m * (672 ±0) + p * (3191 ±0)`
 		//  Estimated: `10019 + m * (416 ±4) + p * (4183 ±23)`
-		// Minimum execution time: 12_896_000 picoseconds.
-		Weight::from_parts(13_232_000, 0)
+		// Minimum execution time: 11_776_000 picoseconds.
+		Weight::from_parts(12_075_000, 0)
 			.saturating_add(Weight::from_parts(0, 10019))
-			// Standard Error: 9_909
-			.saturating_add(Weight::from_parts(743_142, 0).saturating_mul(m.into()))
-			// Standard Error: 48_986
-			.saturating_add(Weight::from_parts(6_907_561, 0).saturating_mul(p.into()))
+			// Standard Error: 12_024
+			.saturating_add(Weight::from_parts(865_492, 0).saturating_mul(m.into()))
+			// Standard Error: 59_440
+			.saturating_add(Weight::from_parts(7_683_599, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -84,13 +84,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `32 + m * (32 ±0)`
 		//  Estimated: `1518 + m * (32 ±0)`
-		// Minimum execution time: 10_945_000 picoseconds.
-		Weight::from_parts(9_945_180, 0)
+		// Minimum execution time: 11_127_000 picoseconds.
+		Weight::from_parts(10_511_151, 0)
 			.saturating_add(Weight::from_parts(0, 1518))
-			// Standard Error: 35
-			.saturating_add(Weight::from_parts(1_750, 0).saturating_mul(b.into()))
-			// Standard Error: 368
-			.saturating_add(Weight::from_parts(18_189, 0).saturating_mul(m.into()))
+			// Standard Error: 31
+			.saturating_add(Weight::from_parts(1_475, 0).saturating_mul(b.into()))
+			// Standard Error: 323
+			.saturating_add(Weight::from_parts(14_197, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
@@ -104,13 +104,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `32 + m * (32 ±0)`
 		//  Estimated: `3498 + m * (32 ±0)`
-		// Minimum execution time: 13_298_000 picoseconds.
-		Weight::from_parts(12_938_615, 0)
+		// Minimum execution time: 13_287_000 picoseconds.
+		Weight::from_parts(12_735_289, 0)
 			.saturating_add(Weight::from_parts(0, 3498))
-			// Standard Error: 47
-			.saturating_add(Weight::from_parts(1_337, 0).saturating_mul(b.into()))
-			// Standard Error: 490
-			.saturating_add(Weight::from_parts(20_333, 0).saturating_mul(m.into()))
+			// Standard Error: 45
+			.saturating_add(Weight::from_parts(1_457, 0).saturating_mul(b.into()))
+			// Standard Error: 465
+			.saturating_add(Weight::from_parts(21_400, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
@@ -131,15 +131,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `24 + m * (32 ±0) + p * (55 ±0)`
 		//  Estimated: `3461 + m * (32 ±0) + p * (54 ±0)`
-		// Minimum execution time: 19_181_000 picoseconds.
-		Weight::from_parts(19_061_296, 0)
+		// Minimum execution time: 18_162_000 picoseconds.
+		Weight::from_parts(16_614_247, 0)
 			.saturating_add(Weight::from_parts(0, 3461))
-			// Standard Error: 84
-			.saturating_add(Weight::from_parts(2_427, 0).saturating_mul(b.into()))
-			// Standard Error: 878
-			.saturating_add(Weight::from_parts(17_950, 0).saturating_mul(m.into()))
-			// Standard Error: 4_387
-			.saturating_add(Weight::from_parts(317_649, 0).saturating_mul(p.into()))
+			// Standard Error: 62
+			.saturating_add(Weight::from_parts(2_325, 0).saturating_mul(b.into()))
+			// Standard Error: 651
+			.saturating_add(Weight::from_parts(19_921, 0).saturating_mul(m.into()))
+			// Standard Error: 3_253
+			.saturating_add(Weight::from_parts(288_035, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(4))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
@@ -154,11 +154,11 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `573 + m * (64 ±0)`
 		//  Estimated: `4037 + m * (64 ±0)`
-		// Minimum execution time: 17_952_000 picoseconds.
-		Weight::from_parts(19_149_079, 0)
+		// Minimum execution time: 16_042_000 picoseconds.
+		Weight::from_parts(17_441_298, 0)
 			.saturating_add(Weight::from_parts(0, 4037))
-			// Standard Error: 704
-			.saturating_add(Weight::from_parts(37_189, 0).saturating_mul(m.into()))
+			// Standard Error: 728
+			.saturating_add(Weight::from_parts(38_625, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@@ -177,13 +177,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `117 + m * (64 ±0) + p * (55 ±0)`
 		//  Estimated: `3591 + m * (64 ±0) + p * (55 ±0)`
-		// Minimum execution time: 21_558_000 picoseconds.
-		Weight::from_parts(20_999_360, 0)
+		// Minimum execution time: 20_982_000 picoseconds.
+		Weight::from_parts(19_417_230, 0)
 			.saturating_add(Weight::from_parts(0, 3591))
-			// Standard Error: 691
-			.saturating_add(Weight::from_parts(29_228, 0).saturating_mul(m.into()))
-			// Standard Error: 3_412
-			.saturating_add(Weight::from_parts(257_256, 0).saturating_mul(p.into()))
+			// Standard Error: 679
+			.saturating_add(Weight::from_parts(32_252, 0).saturating_mul(m.into()))
+			// Standard Error: 3_355
+			.saturating_add(Weight::from_parts(248_611, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@@ -204,15 +204,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `62 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)`
 		//  Estimated: `3619 + b * (1 ±0) + m * (63 ±0) + p * (74 ±0)`
-		// Minimum execution time: 31_206_000 picoseconds.
-		Weight::from_parts(29_531_688, 0)
+		// Minimum execution time: 28_988_000 picoseconds.
+		Weight::from_parts(27_951_530, 0)
 			.saturating_add(Weight::from_parts(0, 3619))
-			// Standard Error: 106
-			.saturating_add(Weight::from_parts(2_677, 0).saturating_mul(b.into()))
-			// Standard Error: 1_120
-			.saturating_add(Weight::from_parts(16_030, 0).saturating_mul(m.into()))
-			// Standard Error: 5_528
-			.saturating_add(Weight::from_parts(392_351, 0).saturating_mul(p.into()))
+			// Standard Error: 164
+			.saturating_add(Weight::from_parts(2_377, 0).saturating_mul(b.into()))
+			// Standard Error: 1_735
+			.saturating_add(Weight::from_parts(9_891, 0).saturating_mul(m.into()))
+			// Standard Error: 8_562
+			.saturating_add(Weight::from_parts(480_429, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
@@ -235,13 +235,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `137 + m * (64 ±0) + p * (55 ±0)`
 		//  Estimated: `3611 + m * (64 ±0) + p * (55 ±0)`
-		// Minimum execution time: 24_903_000 picoseconds.
-		Weight::from_parts(23_436_077, 0)
+		// Minimum execution time: 22_896_000 picoseconds.
+		Weight::from_parts(21_227_619, 0)
 			.saturating_add(Weight::from_parts(0, 3611))
-			// Standard Error: 639
-			.saturating_add(Weight::from_parts(34_121, 0).saturating_mul(m.into()))
-			// Standard Error: 3_160
-			.saturating_add(Weight::from_parts(277_625, 0).saturating_mul(p.into()))
+			// Standard Error: 631
+			.saturating_add(Weight::from_parts(32_963, 0).saturating_mul(m.into()))
+			// Standard Error: 3_117
+			.saturating_add(Weight::from_parts(266_136, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@@ -264,15 +264,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `82 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)`
 		//  Estimated: `3639 + b * (1 ±0) + m * (63 ±0) + p * (74 ±0)`
-		// Minimum execution time: 33_181_000 picoseconds.
-		Weight::from_parts(32_018_425, 0)
+		// Minimum execution time: 31_007_000 picoseconds.
+		Weight::from_parts(30_074_134, 0)
 			.saturating_add(Weight::from_parts(0, 3639))
-			// Standard Error: 103
-			.saturating_add(Weight::from_parts(2_307, 0).saturating_mul(b.into()))
-			// Standard Error: 1_099
-			.saturating_add(Weight::from_parts(14_575, 0).saturating_mul(m.into()))
-			// Standard Error: 5_421
-			.saturating_add(Weight::from_parts(406_067, 0).saturating_mul(p.into()))
+			// Standard Error: 118
+			.saturating_add(Weight::from_parts(2_519, 0).saturating_mul(b.into()))
+			// Standard Error: 1_253
+			.saturating_add(Weight::from_parts(25_021, 0).saturating_mul(m.into()))
+			// Standard Error: 6_182
+			.saturating_add(Weight::from_parts(417_952, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
@@ -290,13 +290,50 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `189 + p * (32 ±0)`
 		//  Estimated: `1674 + p * (32 ±0)`
-		// Minimum execution time: 11_094_000 picoseconds.
-		Weight::from_parts(12_093_992, 0)
+		// Minimum execution time: 11_060_000 picoseconds.
+		Weight::from_parts(11_988_016, 0)
 			.saturating_add(Weight::from_parts(0, 1674))
-			// Standard Error: 1_913
-			.saturating_add(Weight::from_parts(178_945, 0).saturating_mul(p.into()))
+			// Standard Error: 1_654
+			.saturating_add(Weight::from_parts(150_655, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into()))
 	}
+	/// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1)
+	/// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::CostOf` (r:1 w:0)
+	/// Proof: `TechnicalCommittee::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:1)
+	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::Voting` (r:0 w:1)
+	/// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// The range of component `d` is `[0, 1]`.
+	/// The range of component `p` is `[1, 20]`.
+	fn kill(d: u32, p: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1243 + p * (55 ±0)`
+		//  Estimated: `4710 + d * (5 ±1) + p * (55 ±0)`
+		// Minimum execution time: 16_269_000 picoseconds.
+		Weight::from_parts(17_903_116, 0)
+			.saturating_add(Weight::from_parts(0, 4710))
+			// Standard Error: 2_954
+			.saturating_add(Weight::from_parts(262_949, 0).saturating_mul(p.into()))
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(Weight::from_parts(0, 5).saturating_mul(d.into()))
+			.saturating_add(Weight::from_parts(0, 55).saturating_mul(p.into()))
+	}
+	/// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:0)
+	/// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::CostOf` (r:1 w:0)
+	/// Proof: `TechnicalCommittee::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	fn release_proposal_cost() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `676`
+		//  Estimated: `4141`
+		// Minimum execution time: 10_685_000 picoseconds.
+		Weight::from_parts(11_385_000, 0)
+			.saturating_add(Weight::from_parts(0, 4141))
+			.saturating_add(T::DbWeight::get().reads(2))
+	}
 }
diff --git a/runtime/gdev/src/weights/pallet_distance.rs b/runtime/gdev/src/weights/pallet_distance.rs
index e0766a3b7c3f62918c4383d44446af10c8f698ce..ed5d61dfeea100ac3734ccb86fa4c1fd565fa292 100644
--- a/runtime/gdev/src/weights/pallet_distance.rs
+++ b/runtime/gdev/src/weights/pallet_distance.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_distance`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -59,20 +59,20 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Proof: `Parameters::ParametersStorage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Certification::StorageIdtyCertMeta` (r:1 w:0)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool2` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	fn request_distance_evaluation() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1245`
 		//  Estimated: `4710`
-		// Minimum execution time: 69_475_000 picoseconds.
-		Weight::from_parts(71_693_000, 0)
+		// Minimum execution time: 66_372_000 picoseconds.
+		Weight::from_parts(67_880_000, 0)
 			.saturating_add(Weight::from_parts(0, 4710))
 			.saturating_add(T::DbWeight::get().reads(10))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -89,52 +89,48 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Proof: `Parameters::ParametersStorage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Certification::StorageIdtyCertMeta` (r:1 w:0)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool2` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	fn request_distance_evaluation_for() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1274`
 		//  Estimated: `7214`
-		// Minimum execution time: 71_428_000 picoseconds.
-		Weight::from_parts(73_490_000, 0)
+		// Minimum execution time: 70_152_000 picoseconds.
+		Weight::from_parts(71_537_000, 0)
 			.saturating_add(Weight::from_parts(0, 7214))
 			.saturating_add(T::DbWeight::get().reads(11))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `Distance::DidUpdate` (r:1 w:1)
 	/// Proof: `Distance::DidUpdate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Authorship::Author` (r:1 w:1)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Session::Validators` (r:1 w:0)
 	/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool0` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool0` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// The range of component `i` is `[1, 1300]`.
 	fn update_evaluation(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `425 + i * (10 ±0)`
-		//  Estimated: `1910 + i * (10 ±0)`
-		// Minimum execution time: 18_304_000 picoseconds.
-		Weight::from_parts(20_533_001, 0)
-			.saturating_add(Weight::from_parts(0, 1910))
-			// Standard Error: 75
-			.saturating_add(Weight::from_parts(104_774, 0).saturating_mul(i.into()))
-			.saturating_add(T::DbWeight::get().reads(6))
-			.saturating_add(T::DbWeight::get().writes(3))
+		//  Measured:  `304 + i * (10 ±0)`
+		//  Estimated: `1789 + i * (10 ±0)`
+		// Minimum execution time: 12_055_000 picoseconds.
+		Weight::from_parts(14_797_886, 0)
+			.saturating_add(Weight::from_parts(0, 1789))
+			// Standard Error: 441
+			.saturating_add(Weight::from_parts(114_780, 0).saturating_mul(i.into()))
+			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().writes(2))
 			.saturating_add(Weight::from_parts(0, 10).saturating_mul(i.into()))
 	}
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool0` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool0` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// The range of component `i` is `[1, 1300]`.
@@ -142,11 +138,11 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `162 + i * (10 ±0)`
 		//  Estimated: `1647 + i * (10 ±0)`
-		// Minimum execution time: 7_608_000 picoseconds.
-		Weight::from_parts(9_640_107, 0)
+		// Minimum execution time: 7_280_000 picoseconds.
+		Weight::from_parts(9_370_149, 0)
 			.saturating_add(Weight::from_parts(0, 1647))
-			// Standard Error: 115
-			.saturating_add(Weight::from_parts(103_664, 0).saturating_mul(i.into()))
+			// Standard Error: 111
+			.saturating_add(Weight::from_parts(113_125, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 10).saturating_mul(i.into()))
@@ -163,8 +159,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `650`
 		//  Estimated: `6590`
-		// Minimum execution time: 34_178_000 picoseconds.
-		Weight::from_parts(35_265_000, 0)
+		// Minimum execution time: 31_735_000 picoseconds.
+		Weight::from_parts(32_730_000, 0)
 			.saturating_add(Weight::from_parts(0, 6590))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -173,8 +169,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 90_000 picoseconds.
-		Weight::from_parts(121_000, 0)
+		// Minimum execution time: 87_000 picoseconds.
+		Weight::from_parts(110_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `System::ParentHash` (r:1 w:0)
@@ -186,7 +182,7 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::Identities` (r:1 w:0)
 	/// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Membership::Membership` (r:1 w:1)
@@ -201,8 +197,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1062`
 		//  Estimated: `7002`
-		// Minimum execution time: 65_468_000 picoseconds.
-		Weight::from_parts(66_665_000, 0)
+		// Minimum execution time: 61_602_000 picoseconds.
+		Weight::from_parts(63_515_000, 0)
 			.saturating_add(Weight::from_parts(0, 7002))
 			.saturating_add(T::DbWeight::get().reads(10))
 			.saturating_add(T::DbWeight::get().writes(8))
@@ -214,7 +210,7 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Storage: `Distance::PendingEvaluationRequest` (r:1 w:1)
 	/// Proof: `Distance::PendingEvaluationRequest` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:2 w:2)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Distance::EvaluationBlock` (r:0 w:1)
@@ -223,8 +219,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `475`
 		//  Estimated: `6126`
-		// Minimum execution time: 41_904_000 picoseconds.
-		Weight::from_parts(43_199_000, 0)
+		// Minimum execution time: 41_612_000 picoseconds.
+		Weight::from_parts(43_127_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(6))
@@ -239,8 +235,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `136`
 		//  Estimated: `1621`
-		// Minimum execution time: 4_377_000 picoseconds.
-		Weight::from_parts(4_693_000, 0)
+		// Minimum execution time: 4_339_000 picoseconds.
+		Weight::from_parts(4_590_000, 0)
 			.saturating_add(Weight::from_parts(0, 1621))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -251,8 +247,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157`
 		//  Estimated: `1642`
-		// Minimum execution time: 3_919_000 picoseconds.
-		Weight::from_parts(4_248_000, 0)
+		// Minimum execution time: 3_914_000 picoseconds.
+		Weight::from_parts(4_212_000, 0)
 			.saturating_add(Weight::from_parts(0, 1642))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gdev/src/weights/pallet_duniter_account.rs b/runtime/gdev/src/weights/pallet_duniter_account.rs
index 93a07cf65a36346deb70414bc6e17aceb941597b..3f4d9cd5cb418c678cd52d22a81426c426c51dcb 100644
--- a/runtime/gdev/src/weights/pallet_duniter_account.rs
+++ b/runtime/gdev/src/weights/pallet_duniter_account.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_duniter_account`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_duniter_account::WeightInfo for WeightInfo<
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3558`
-		// Minimum execution time: 4_201_000 picoseconds.
-		Weight::from_parts(4_489_000, 0)
+		// Minimum execution time: 4_307_000 picoseconds.
+		Weight::from_parts(4_532_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gdev/src/weights/pallet_identity.rs b/runtime/gdev/src/weights/pallet_identity.rs
index b42e2bfe2d2fbb7472e31fac3a841459fe64b073..bcb29a76cf39e391e061deba3db54df21d352585 100644
--- a/runtime/gdev/src/weights/pallet_identity.rs
+++ b/runtime/gdev/src/weights/pallet_identity.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_identity`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -73,8 +73,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1153`
 		//  Estimated: `7093`
-		// Minimum execution time: 74_883_000 picoseconds.
-		Weight::from_parts(76_913_000, 0)
+		// Minimum execution time: 74_576_000 picoseconds.
+		Weight::from_parts(76_469_000, 0)
 			.saturating_add(Weight::from_parts(0, 7093))
 			.saturating_add(T::DbWeight::get().reads(13))
 			.saturating_add(T::DbWeight::get().writes(12))
@@ -91,8 +91,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `784`
 		//  Estimated: `6724`
-		// Minimum execution time: 33_847_000 picoseconds.
-		Weight::from_parts(35_691_000, 0)
+		// Minimum execution time: 31_821_000 picoseconds.
+		Weight::from_parts(33_505_000, 0)
 			.saturating_add(Weight::from_parts(0, 6724))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -109,11 +109,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn change_owner_key() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `964`
-		//  Estimated: `6904`
-		// Minimum execution time: 85_653_000 picoseconds.
-		Weight::from_parts(87_817_000, 0)
-			.saturating_add(Weight::from_parts(0, 6904))
+		//  Measured:  `936`
+		//  Estimated: `6876`
+		// Minimum execution time: 80_805_000 picoseconds.
+		Weight::from_parts(84_585_000, 0)
+			.saturating_add(Weight::from_parts(0, 6876))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(5))
 	}
@@ -129,21 +129,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Quota::IdtyQuota` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
 	fn revoke_identity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `697`
-		//  Estimated: `6637`
-		// Minimum execution time: 70_095_000 picoseconds.
-		Weight::from_parts(71_457_000, 0)
-			.saturating_add(Weight::from_parts(0, 6637))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(5))
-	}
-	fn revoke_identity_legacy() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `697`
-		//  Estimated: `6637`
-		// Minimum execution time: 70_095_000 picoseconds.
-		Weight::from_parts(71_457_000, 0)
-			.saturating_add(Weight::from_parts(0, 6637))
+		//  Measured:  `673`
+		//  Estimated: `6613`
+		// Minimum execution time: 66_551_000 picoseconds.
+		Weight::from_parts(68_053_000, 0)
+			.saturating_add(Weight::from_parts(0, 6613))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(5))
 	}
@@ -154,11 +144,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_026_000 picoseconds.
-		Weight::from_parts(4_134_000, 0)
+		// Minimum execution time: 4_016_000 picoseconds.
+		Weight::from_parts(4_355_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_522
-			.saturating_add(Weight::from_parts(1_203_862, 0).saturating_mul(i.into()))
+			// Standard Error: 1_990
+			.saturating_add(Weight::from_parts(1_228_452, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
@@ -168,8 +158,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `104`
 		//  Estimated: `3558`
-		// Minimum execution time: 7_211_000 picoseconds.
-		Weight::from_parts(7_534_000, 0)
+		// Minimum execution time: 7_463_000 picoseconds.
+		Weight::from_parts(7_953_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -182,11 +172,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn link_account() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `403`
-		//  Estimated: `3868`
-		// Minimum execution time: 53_282_000 picoseconds.
-		Weight::from_parts(55_526_000, 0)
-			.saturating_add(Weight::from_parts(0, 3868))
+		//  Measured:  `379`
+		//  Estimated: `3844`
+		// Minimum execution time: 51_695_000 picoseconds.
+		Weight::from_parts(53_039_000, 0)
+			.saturating_add(Weight::from_parts(0, 3844))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -194,8 +184,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 93_000 picoseconds.
-		Weight::from_parts(122_000, 0)
+		// Minimum execution time: 90_000 picoseconds.
+		Weight::from_parts(121_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Identity::Identities` (r:1 w:0)
@@ -204,8 +194,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `327`
 		//  Estimated: `3792`
-		// Minimum execution time: 4_944_000 picoseconds.
-		Weight::from_parts(5_504_000, 0)
+		// Minimum execution time: 4_865_000 picoseconds.
+		Weight::from_parts(5_170_000, 0)
 			.saturating_add(Weight::from_parts(0, 3792))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -241,11 +231,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn do_revoke_identity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1874`
-		//  Estimated: `15239`
-		// Minimum execution time: 109_544_000 picoseconds.
-		Weight::from_parts(114_718_000, 0)
-			.saturating_add(Weight::from_parts(0, 15239))
+		//  Measured:  `1841`
+		//  Estimated: `15206`
+		// Minimum execution time: 103_189_000 picoseconds.
+		Weight::from_parts(107_250_000, 0)
+			.saturating_add(Weight::from_parts(0, 15206))
 			.saturating_add(T::DbWeight::get().reads(18))
 			.saturating_add(T::DbWeight::get().writes(21))
 	}
@@ -255,8 +245,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `327`
 		//  Estimated: `3792`
-		// Minimum execution time: 5_122_000 picoseconds.
-		Weight::from_parts(5_538_000, 0)
+		// Minimum execution time: 4_637_000 picoseconds.
+		Weight::from_parts(5_088_000, 0)
 			.saturating_add(Weight::from_parts(0, 3792))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -286,7 +276,7 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Certification::CertsByReceiver` (r:1 w:1)
 	/// Proof: `Certification::CertsByReceiver` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Certification::StorageIdtyCertMeta` (r:6 w:6)
+	/// Storage: `Certification::StorageIdtyCertMeta` (r:5 w:5)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Parameters::ParametersStorage` (r:1 w:0)
 	/// Proof: `Parameters::ParametersStorage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
@@ -298,13 +288,13 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn do_remove_identity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2433`
-		//  Estimated: `18273`
-		// Minimum execution time: 156_609_000 picoseconds.
-		Weight::from_parts(159_518_000, 0)
-			.saturating_add(Weight::from_parts(0, 18273))
-			.saturating_add(T::DbWeight::get().reads(25))
-			.saturating_add(T::DbWeight::get().writes(30))
+		//  Measured:  `2400`
+		//  Estimated: `15765`
+		// Minimum execution time: 144_575_000 picoseconds.
+		Weight::from_parts(151_054_000, 0)
+			.saturating_add(Weight::from_parts(0, 15765))
+			.saturating_add(T::DbWeight::get().reads(24))
+			.saturating_add(T::DbWeight::get().writes(29))
 	}
 	/// Storage: `Membership::Membership` (r:1 w:1)
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -334,7 +324,7 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Certification::CertsByReceiver` (r:1 w:1)
 	/// Proof: `Certification::CertsByReceiver` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Certification::StorageIdtyCertMeta` (r:6 w:6)
+	/// Storage: `Certification::StorageIdtyCertMeta` (r:5 w:5)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Parameters::ParametersStorage` (r:1 w:0)
 	/// Proof: `Parameters::ParametersStorage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
@@ -344,13 +334,13 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn do_remove_identity_handler() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2426`
-		//  Estimated: `18266`
-		// Minimum execution time: 150_300_000 picoseconds.
-		Weight::from_parts(156_007_000, 0)
-			.saturating_add(Weight::from_parts(0, 18266))
-			.saturating_add(T::DbWeight::get().reads(26))
-			.saturating_add(T::DbWeight::get().writes(28))
+		//  Measured:  `2393`
+		//  Estimated: `15758`
+		// Minimum execution time: 139_758_000 picoseconds.
+		Weight::from_parts(144_021_000, 0)
+			.saturating_add(Weight::from_parts(0, 15758))
+			.saturating_add(T::DbWeight::get().reads(25))
+			.saturating_add(T::DbWeight::get().writes(27))
 	}
 	/// Storage: `Identity::Identities` (r:1 w:1)
 	/// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -360,8 +350,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `407`
 		//  Estimated: `6347`
-		// Minimum execution time: 16_757_000 picoseconds.
-		Weight::from_parts(17_538_000, 0)
+		// Minimum execution time: 15_592_000 picoseconds.
+		Weight::from_parts(16_929_000, 0)
 			.saturating_add(Weight::from_parts(0, 6347))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -372,8 +362,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `108`
 		//  Estimated: `3573`
-		// Minimum execution time: 2_751_000 picoseconds.
-		Weight::from_parts(2_919_000, 0)
+		// Minimum execution time: 2_792_000 picoseconds.
+		Weight::from_parts(2_912_000, 0)
 			.saturating_add(Weight::from_parts(0, 3573))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -385,8 +375,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `325`
 		//  Estimated: `3790`
-		// Minimum execution time: 7_669_000 picoseconds.
-		Weight::from_parts(7_936_000, 0)
+		// Minimum execution time: 7_711_000 picoseconds.
+		Weight::from_parts(8_022_000, 0)
 			.saturating_add(Weight::from_parts(0, 3790))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -411,10 +401,30 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `915`
 		//  Estimated: `4380`
-		// Minimum execution time: 36_670_000 picoseconds.
-		Weight::from_parts(38_294_000, 0)
+		// Minimum execution time: 36_567_000 picoseconds.
+		Weight::from_parts(37_661_000, 0)
 			.saturating_add(Weight::from_parts(0, 4380))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(7))
 	}
+	/// Storage: `Identity::IdentitiesNames` (r:1 w:0)
+	/// Proof: `Identity::IdentitiesNames` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Identity::Identities` (r:1 w:1)
+	/// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Identity::IdentityChangeSchedule` (r:2 w:2)
+	/// Proof: `Identity::IdentityChangeSchedule` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Membership::Membership` (r:1 w:1)
+	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Quota::IdtyQuota` (r:0 w:1)
+	/// Proof: `Quota::IdtyQuota` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
+	fn revoke_identity_legacy() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `823`
+		//  Estimated: `6763`
+		// Minimum execution time: 131_539_000 picoseconds.
+		Weight::from_parts(137_406_000, 0)
+			.saturating_add(Weight::from_parts(0, 6763))
+			.saturating_add(T::DbWeight::get().reads(5))
+			.saturating_add(T::DbWeight::get().writes(5))
+	}
 }
diff --git a/runtime/gdev/src/weights/pallet_im_online.rs b/runtime/gdev/src/weights/pallet_im_online.rs
index 6ceb3a37d3b1d79ee4d9a2d1fc291ca2b965e829..22b6e4e7fbfd04e9a70bf10c593e9da1c43b1f7a 100644
--- a/runtime/gdev/src/weights/pallet_im_online.rs
+++ b/runtime/gdev/src/weights/pallet_im_online.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_im_online`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -64,11 +64,11 @@ impl<T: frame_system::Config> pallet_im_online::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `636 + k * (32 ±0)`
 		//  Estimated: `33487 + k * (1761 ±0)`
-		// Minimum execution time: 57_925_000 picoseconds.
-		Weight::from_parts(68_829_380, 0)
+		// Minimum execution time: 55_259_000 picoseconds.
+		Weight::from_parts(66_675_104, 0)
 			.saturating_add(Weight::from_parts(0, 33487))
-			// Standard Error: 511
-			.saturating_add(Weight::from_parts(42_097, 0).saturating_mul(k.into()))
+			// Standard Error: 535
+			.saturating_add(Weight::from_parts(43_488, 0).saturating_mul(k.into()))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 1761).saturating_mul(k.into()))
diff --git a/runtime/gdev/src/weights/pallet_membership.rs b/runtime/gdev/src/weights/pallet_membership.rs
index 65ecfe1fbfc04fede4f98472a307a5d8a52ba176..e145d220a57872b061a38909bb49f1d5ed09c9af 100644
--- a/runtime/gdev/src/weights/pallet_membership.rs
+++ b/runtime/gdev/src/weights/pallet_membership.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_membership`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -51,8 +51,8 @@ impl<T: frame_system::Config> pallet_membership::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 92_000 picoseconds.
-		Weight::from_parts(134_000, 0)
+		// Minimum execution time: 89_000 picoseconds.
+		Weight::from_parts(114_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Membership::MembershipsExpireOn` (r:2 w:1)
@@ -86,13 +86,13 @@ impl<T: frame_system::Config> pallet_membership::WeightInfo for WeightInfo<T> {
 	/// The range of component `i` is `[0, 3]`.
 	fn expire_memberships(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `139 + i * (964 ±0)`
-		//  Estimated: `15003 + i * (2695 ±1)`
-		// Minimum execution time: 5_291_000 picoseconds.
-		Weight::from_parts(14_481_254, 0)
-			.saturating_add(Weight::from_parts(0, 15003))
-			// Standard Error: 621_173
-			.saturating_add(Weight::from_parts(75_965_540, 0).saturating_mul(i.into()))
+		//  Measured:  `139 + i * (948 ±0)`
+		//  Estimated: `14969 + i * (2695 ±1)`
+		// Minimum execution time: 5_129_000 picoseconds.
+		Weight::from_parts(13_219_960, 0)
+			.saturating_add(Weight::from_parts(0, 14969))
+			// Standard Error: 548_425
+			.saturating_add(Weight::from_parts(76_556_811, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().reads((11_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/runtime/gdev/src/weights/pallet_multisig.rs b/runtime/gdev/src/weights/pallet_multisig.rs
index 46e943144efb1d6561ddafe212eece485178c965..8e5f050b53de4d0f919fbe8eaed353fc7620d8f0 100644
--- a/runtime/gdev/src/weights/pallet_multisig.rs
+++ b/runtime/gdev/src/weights/pallet_multisig.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_multisig`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,11 +52,11 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_396_000 picoseconds.
-		Weight::from_parts(5_623_779, 0)
+		// Minimum execution time: 5_506_000 picoseconds.
+		Weight::from_parts(5_701_498, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(333, 0).saturating_mul(z.into()))
+			.saturating_add(Weight::from_parts(329, 0).saturating_mul(z.into()))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
@@ -66,13 +66,13 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `125 + s * (5 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 26_997_000 picoseconds.
-		Weight::from_parts(26_773_838, 0)
+		// Minimum execution time: 25_853_000 picoseconds.
+		Weight::from_parts(25_225_087, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 6_870
-			.saturating_add(Weight::from_parts(183_324, 0).saturating_mul(s.into()))
+			// Standard Error: 5_945
+			.saturating_add(Weight::from_parts(177_177, 0).saturating_mul(s.into()))
 			// Standard Error: 5
-			.saturating_add(Weight::from_parts(1_065, 0).saturating_mul(z.into()))
+			.saturating_add(Weight::from_parts(1_186, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -84,13 +84,13 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `240`
 		//  Estimated: `3922`
-		// Minimum execution time: 14_928_000 picoseconds.
-		Weight::from_parts(15_130_376, 0)
+		// Minimum execution time: 14_911_000 picoseconds.
+		Weight::from_parts(14_454_223, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 16_514
-			.saturating_add(Weight::from_parts(129_475, 0).saturating_mul(s.into()))
-			// Standard Error: 12
-			.saturating_add(Weight::from_parts(1_047, 0).saturating_mul(z.into()))
+			// Standard Error: 4_014
+			.saturating_add(Weight::from_parts(135_672, 0).saturating_mul(s.into()))
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(1_182, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -104,58 +104,65 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `259 + s * (37 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 29_450_000 picoseconds.
-		Weight::from_parts(29_552_613, 0)
+		// Minimum execution time: 28_341_000 picoseconds.
+		Weight::from_parts(27_994_989, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 6_111
-			.saturating_add(Weight::from_parts(140_936, 0).saturating_mul(s.into()))
+			// Standard Error: 6_349
+			.saturating_add(Weight::from_parts(142_210, 0).saturating_mul(s.into()))
 			// Standard Error: 5
-			.saturating_add(Weight::from_parts(1_092, 0).saturating_mul(z.into()))
+			.saturating_add(Weight::from_parts(1_178, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[2, 10]`.
-	fn approve_as_multi_create(s: u32, ) -> Weight {
+	/// The range of component `z` is `[0, 10000]`.
+	fn approve_as_multi_create(s: u32, _z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `130 + s * (5 ±0)`
+		//  Measured:  `125 + s * (5 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 24_939_000 picoseconds.
-		Weight::from_parts(26_105_489, 0)
+		// Minimum execution time: 23_483_000 picoseconds.
+		Weight::from_parts(24_952_296, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 5_762
-			.saturating_add(Weight::from_parts(152_946, 0).saturating_mul(s.into()))
+			// Standard Error: 5_534
+			.saturating_add(Weight::from_parts(113_991, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[2, 10]`.
-	fn approve_as_multi_approve(s: u32, ) -> Weight {
+	/// The range of component `z` is `[0, 10000]`.
+	fn approve_as_multi_approve(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `240`
 		//  Estimated: `3922`
-		// Minimum execution time: 13_390_000 picoseconds.
-		Weight::from_parts(14_151_697, 0)
+		// Minimum execution time: 13_311_000 picoseconds.
+		Weight::from_parts(13_758_567, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 3_383
-			.saturating_add(Weight::from_parts(131_761, 0).saturating_mul(s.into()))
+			// Standard Error: 3_248
+			.saturating_add(Weight::from_parts(116_307, 0).saturating_mul(s.into()))
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(13, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[2, 10]`.
-	fn cancel_as_multi(s: u32, ) -> Weight {
+	/// The range of component `z` is `[0, 10000]`.
+	fn cancel_as_multi(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `328 + s * (5 ±0)`
+		//  Measured:  `323 + s * (5 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 25_586_000 picoseconds.
-		Weight::from_parts(27_011_290, 0)
+		// Minimum execution time: 24_173_000 picoseconds.
+		Weight::from_parts(25_074_971, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 5_695
-			.saturating_add(Weight::from_parts(154_316, 0).saturating_mul(s.into()))
+			// Standard Error: 4_814
+			.saturating_add(Weight::from_parts(143_700, 0).saturating_mul(s.into()))
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(4, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/runtime/gdev/src/weights/pallet_oneshot_account.rs b/runtime/gdev/src/weights/pallet_oneshot_account.rs
index 32ac3a66850a0fee1cd6472ad5cca4182cf907c1..f0cf897a7370252761fd5613ff747b87e2cad09f 100644
--- a/runtime/gdev/src/weights/pallet_oneshot_account.rs
+++ b/runtime/gdev/src/weights/pallet_oneshot_account.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_oneshot_account`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_oneshot_account::WeightInfo for WeightInfo<
 		// Proof Size summary in bytes:
 		//  Measured:  `42`
 		//  Estimated: `3507`
-		// Minimum execution time: 21_295_000 picoseconds.
-		Weight::from_parts(22_329_000, 0)
+		// Minimum execution time: 21_680_000 picoseconds.
+		Weight::from_parts(22_713_000, 0)
 			.saturating_add(Weight::from_parts(0, 3507))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -67,11 +67,11 @@ impl<T: frame_system::Config> pallet_oneshot_account::WeightInfo for WeightInfo<
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn consume_oneshot_account() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `241`
-		//  Estimated: `3706`
-		// Minimum execution time: 30_393_000 picoseconds.
-		Weight::from_parts(31_667_000, 0)
-			.saturating_add(Weight::from_parts(0, 3706))
+		//  Measured:  `217`
+		//  Estimated: `3682`
+		// Minimum execution time: 27_526_000 picoseconds.
+		Weight::from_parts(28_813_000, 0)
+			.saturating_add(Weight::from_parts(0, 3682))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -83,10 +83,10 @@ impl<T: frame_system::Config> pallet_oneshot_account::WeightInfo for WeightInfo<
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn consume_oneshot_account_with_remaining() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `301`
+		//  Measured:  `277`
 		//  Estimated: `6126`
-		// Minimum execution time: 44_652_000 picoseconds.
-		Weight::from_parts(46_144_000, 0)
+		// Minimum execution time: 40_479_000 picoseconds.
+		Weight::from_parts(42_055_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/runtime/gdev/src/weights/pallet_preimage.rs b/runtime/gdev/src/weights/pallet_preimage.rs
index 9bb623ab01ac3c3ecf214f0cc7b221648bdeef57..3bf35076f4b46db47119ea391927449d03c5fe9f 100644
--- a/runtime/gdev/src/weights/pallet_preimage.rs
+++ b/runtime/gdev/src/weights/pallet_preimage.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_preimage`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -56,13 +56,13 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `42`
+		//  Measured:  `4`
 		//  Estimated: `3548`
-		// Minimum execution time: 12_318_000 picoseconds.
-		Weight::from_parts(12_671_000, 0)
+		// Minimum execution time: 11_194_000 picoseconds.
+		Weight::from_parts(11_607_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_273, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_278, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -75,13 +75,13 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_requested_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 15_487_000 picoseconds.
-		Weight::from_parts(15_753_000, 0)
+		// Minimum execution time: 14_050_000 picoseconds.
+		Weight::from_parts(14_538_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_275, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_277, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -94,13 +94,13 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_no_deposit_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 13_320_000 picoseconds.
-		Weight::from_parts(13_857_000, 0)
+		// Minimum execution time: 12_563_000 picoseconds.
+		Weight::from_parts(12_951_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_354, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_359, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -112,10 +112,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `172`
+		//  Measured:  `134`
 		//  Estimated: `3548`
-		// Minimum execution time: 21_740_000 picoseconds.
-		Weight::from_parts(23_847_000, 0)
+		// Minimum execution time: 20_248_000 picoseconds.
+		Weight::from_parts(21_940_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -128,10 +128,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `144`
+		//  Measured:  `106`
 		//  Estimated: `3548`
-		// Minimum execution time: 21_736_000 picoseconds.
-		Weight::from_parts(24_224_000, 0)
+		// Minimum execution time: 21_065_000 picoseconds.
+		Weight::from_parts(23_146_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -142,10 +142,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `172`
+		//  Measured:  `134`
 		//  Estimated: `3548`
-		// Minimum execution time: 19_972_000 picoseconds.
-		Weight::from_parts(21_350_000, 0)
+		// Minimum execution time: 18_721_000 picoseconds.
+		Weight::from_parts(19_939_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -156,10 +156,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `144`
+		//  Measured:  `106`
 		//  Estimated: `3548`
-		// Minimum execution time: 13_084_000 picoseconds.
-		Weight::from_parts(14_779_000, 0)
+		// Minimum execution time: 12_874_000 picoseconds.
+		Weight::from_parts(13_758_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -170,10 +170,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `42`
+		//  Measured:  `4`
 		//  Estimated: `3548`
-		// Minimum execution time: 11_191_000 picoseconds.
-		Weight::from_parts(12_377_000, 0)
+		// Minimum execution time: 9_930_000 picoseconds.
+		Weight::from_parts(11_095_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -184,10 +184,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_requested_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 8_595_000 picoseconds.
-		Weight::from_parts(9_097_000, 0)
+		// Minimum execution time: 7_985_000 picoseconds.
+		Weight::from_parts(8_841_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -200,10 +200,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unrequest_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `144`
+		//  Measured:  `106`
 		//  Estimated: `3548`
-		// Minimum execution time: 20_225_000 picoseconds.
-		Weight::from_parts(21_820_000, 0)
+		// Minimum execution time: 19_542_000 picoseconds.
+		Weight::from_parts(21_141_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -214,10 +214,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 8_694_000 picoseconds.
-		Weight::from_parts(9_454_000, 0)
+		// Minimum execution time: 8_077_000 picoseconds.
+		Weight::from_parts(8_630_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -228,10 +228,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_multi_referenced_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 8_925_000 picoseconds.
-		Weight::from_parts(9_566_000, 0)
+		// Minimum execution time: 8_165_000 picoseconds.
+		Weight::from_parts(8_469_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -247,11 +247,11 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + n * (179 ±0)`
 		//  Estimated: `990 + n * (2568 ±0)`
-		// Minimum execution time: 19_791_000 picoseconds.
-		Weight::from_parts(20_108_000, 0)
+		// Minimum execution time: 17_598_000 picoseconds.
+		Weight::from_parts(18_031_000, 0)
 			.saturating_add(Weight::from_parts(0, 990))
-			// Standard Error: 17_300
-			.saturating_add(Weight::from_parts(14_844_340, 0).saturating_mul(n.into()))
+			// Standard Error: 16_856
+			.saturating_add(Weight::from_parts(14_805_401, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into())))
 			.saturating_add(Weight::from_parts(0, 2568).saturating_mul(n.into()))
diff --git a/runtime/gdev/src/weights/pallet_provide_randomness.rs b/runtime/gdev/src/weights/pallet_provide_randomness.rs
index 0c2b9a639e5e96c187d08ba6b2def241de3e212a..a48c417eea3507e7a572fbeffda902af8f17794f 100644
--- a/runtime/gdev/src/weights/pallet_provide_randomness.rs
+++ b/runtime/gdev/src/weights/pallet_provide_randomness.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_provide_randomness`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_provide_randomness::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `298`
 		//  Estimated: `3763`
-		// Minimum execution time: 44_575_000 picoseconds.
-		Weight::from_parts(47_011_000, 0)
+		// Minimum execution time: 42_076_000 picoseconds.
+		Weight::from_parts(43_495_000, 0)
 			.saturating_add(Weight::from_parts(0, 3763))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(5))
@@ -86,11 +86,11 @@ impl<T: frame_system::Config> pallet_provide_randomness::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `341 + i * (59 ±0)`
 		//  Estimated: `1827 + i * (2535 ±0)`
-		// Minimum execution time: 20_874_000 picoseconds.
-		Weight::from_parts(19_045_479, 0)
+		// Minimum execution time: 17_883_000 picoseconds.
+		Weight::from_parts(17_853_913, 0)
 			.saturating_add(Weight::from_parts(0, 1827))
-			// Standard Error: 7_105
-			.saturating_add(Weight::from_parts(5_453_140, 0).saturating_mul(i.into()))
+			// Standard Error: 4_614
+			.saturating_add(Weight::from_parts(5_513_242, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -118,11 +118,11 @@ impl<T: frame_system::Config> pallet_provide_randomness::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `351 + i * (59 ±0)`
 		//  Estimated: `3817 + i * (2535 ±0)`
-		// Minimum execution time: 22_278_000 picoseconds.
-		Weight::from_parts(19_797_191, 0)
+		// Minimum execution time: 20_291_000 picoseconds.
+		Weight::from_parts(18_256_563, 0)
 			.saturating_add(Weight::from_parts(0, 3817))
-			// Standard Error: 7_776
-			.saturating_add(Weight::from_parts(5_818_616, 0).saturating_mul(i.into()))
+			// Standard Error: 7_669
+			.saturating_add(Weight::from_parts(5_893_603, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/runtime/gdev/src/weights/pallet_proxy.rs b/runtime/gdev/src/weights/pallet_proxy.rs
index fb8ebbc053221870cf487630fcd0bb5adb9d1f41..5ab8e184d906dfd7313c0ec6f74cbcd521fbfca3 100644
--- a/runtime/gdev/src/weights/pallet_proxy.rs
+++ b/runtime/gdev/src/weights/pallet_proxy.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_proxy`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -54,11 +54,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 13_770_000 picoseconds.
-		Weight::from_parts(14_738_500, 0)
+		// Minimum execution time: 12_484_000 picoseconds.
+		Weight::from_parts(13_232_490, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_456
-			.saturating_add(Weight::from_parts(28_918, 0).saturating_mul(p.into()))
+			// Standard Error: 1_396
+			.saturating_add(Weight::from_parts(32_074, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
 	/// Storage: `Proxy::Proxies` (r:1 w:0)
@@ -73,13 +73,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `399 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 32_466_000 picoseconds.
-		Weight::from_parts(32_848_501, 0)
+		// Minimum execution time: 32_776_000 picoseconds.
+		Weight::from_parts(32_523_433, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 2_267
-			.saturating_add(Weight::from_parts(119_635, 0).saturating_mul(a.into()))
-			// Standard Error: 2_342
-			.saturating_add(Weight::from_parts(50_345, 0).saturating_mul(p.into()))
+			// Standard Error: 2_021
+			.saturating_add(Weight::from_parts(149_951, 0).saturating_mul(a.into()))
+			// Standard Error: 2_088
+			.saturating_add(Weight::from_parts(39_110, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -93,13 +93,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `322 + a * (68 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 22_317_000 picoseconds.
-		Weight::from_parts(22_877_072, 0)
+		// Minimum execution time: 20_355_000 picoseconds.
+		Weight::from_parts(20_928_430, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 1_686
-			.saturating_add(Weight::from_parts(135_993, 0).saturating_mul(a.into()))
-			// Standard Error: 1_742
-			.saturating_add(Weight::from_parts(4_969, 0).saturating_mul(p.into()))
+			// Standard Error: 1_500
+			.saturating_add(Weight::from_parts(151_831, 0).saturating_mul(a.into()))
+			// Standard Error: 1_550
+			.saturating_add(Weight::from_parts(7_288, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -113,13 +113,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `322 + a * (68 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 21_963_000 picoseconds.
-		Weight::from_parts(22_871_897, 0)
+		// Minimum execution time: 20_280_000 picoseconds.
+		Weight::from_parts(20_856_473, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 1_832
-			.saturating_add(Weight::from_parts(129_560, 0).saturating_mul(a.into()))
-			// Standard Error: 1_893
-			.saturating_add(Weight::from_parts(2_625, 0).saturating_mul(p.into()))
+			// Standard Error: 1_529
+			.saturating_add(Weight::from_parts(152_620, 0).saturating_mul(a.into()))
+			// Standard Error: 1_580
+			.saturating_add(Weight::from_parts(8_879, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -135,13 +135,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `331 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 29_737_000 picoseconds.
-		Weight::from_parts(29_740_954, 0)
+		// Minimum execution time: 27_438_000 picoseconds.
+		Weight::from_parts(29_938_929, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 1_918
-			.saturating_add(Weight::from_parts(125_550, 0).saturating_mul(a.into()))
-			// Standard Error: 1_982
-			.saturating_add(Weight::from_parts(39_824, 0).saturating_mul(p.into()))
+			// Standard Error: 2_158
+			.saturating_add(Weight::from_parts(139_207, 0).saturating_mul(a.into()))
+			// Standard Error: 2_230
+			.saturating_add(Weight::from_parts(40_223, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -152,11 +152,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 21_180_000 picoseconds.
-		Weight::from_parts(22_215_284, 0)
+		// Minimum execution time: 19_382_000 picoseconds.
+		Weight::from_parts(20_702_268, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_824
-			.saturating_add(Weight::from_parts(30_745, 0).saturating_mul(p.into()))
+			// Standard Error: 2_013
+			.saturating_add(Weight::from_parts(30_874, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -167,11 +167,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 20_959_000 picoseconds.
-		Weight::from_parts(21_872_797, 0)
+		// Minimum execution time: 19_528_000 picoseconds.
+		Weight::from_parts(20_602_835, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_574
-			.saturating_add(Weight::from_parts(46_005, 0).saturating_mul(p.into()))
+			// Standard Error: 1_589
+			.saturating_add(Weight::from_parts(45_702, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -182,24 +182,26 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 19_114_000 picoseconds.
-		Weight::from_parts(20_199_043, 0)
+		// Minimum execution time: 17_879_000 picoseconds.
+		Weight::from_parts(18_870_910, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_422
-			.saturating_add(Weight::from_parts(28_009, 0).saturating_mul(p.into()))
+			// Standard Error: 1_320
+			.saturating_add(Weight::from_parts(29_602, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Proxy::Proxies` (r:1 w:1)
 	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`)
 	/// The range of component `p` is `[1, 31]`.
-	fn create_pure(_p: u32, ) -> Weight {
+	fn create_pure(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `177`
 		//  Estimated: `4698`
-		// Minimum execution time: 22_060_000 picoseconds.
-		Weight::from_parts(23_628_371, 0)
+		// Minimum execution time: 20_362_000 picoseconds.
+		Weight::from_parts(21_690_825, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
+			// Standard Error: 1_342
+			.saturating_add(Weight::from_parts(1_243, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -210,11 +212,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `194 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 19_566_000 picoseconds.
-		Weight::from_parts(20_932_812, 0)
+		// Minimum execution time: 18_050_000 picoseconds.
+		Weight::from_parts(19_218_794, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_650
-			.saturating_add(Weight::from_parts(26_740, 0).saturating_mul(p.into()))
+			// Standard Error: 1_507
+			.saturating_add(Weight::from_parts(46_562, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/runtime/gdev/src/weights/pallet_quota.rs b/runtime/gdev/src/weights/pallet_quota.rs
index 18e1a48f20e5c17e0eb2b73ed3f63ecf5b0d53fc..5259610f99d94c67d6a5c6503eac9f91706e588b 100644
--- a/runtime/gdev/src/weights/pallet_quota.rs
+++ b/runtime/gdev/src/weights/pallet_quota.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_quota`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_quota::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `11288`
 		//  Estimated: `12751`
-		// Minimum execution time: 8_844_000 picoseconds.
-		Weight::from_parts(9_252_000, 0)
+		// Minimum execution time: 8_580_000 picoseconds.
+		Weight::from_parts(9_093_000, 0)
 			.saturating_add(Weight::from_parts(0, 12751))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_quota::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `172`
 		//  Estimated: `3489`
-		// Minimum execution time: 6_358_000 picoseconds.
-		Weight::from_parts(6_625_000, 0)
+		// Minimum execution time: 6_319_000 picoseconds.
+		Weight::from_parts(6_633_000, 0)
 			.saturating_add(Weight::from_parts(0, 3489))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -79,8 +79,8 @@ impl<T: frame_system::Config> pallet_quota::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `235`
 		//  Estimated: `6126`
-		// Minimum execution time: 25_563_000 picoseconds.
-		Weight::from_parts(26_725_000, 0)
+		// Minimum execution time: 25_932_000 picoseconds.
+		Weight::from_parts(26_479_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -93,8 +93,8 @@ impl<T: frame_system::Config> pallet_quota::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `235`
 		//  Estimated: `6126`
-		// Minimum execution time: 25_827_000 picoseconds.
-		Weight::from_parts(26_695_000, 0)
+		// Minimum execution time: 25_508_000 picoseconds.
+		Weight::from_parts(26_559_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -105,8 +105,8 @@ impl<T: frame_system::Config> pallet_quota::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `43`
 		//  Estimated: `12751`
-		// Minimum execution time: 2_460_000 picoseconds.
-		Weight::from_parts(2_643_000, 0)
+		// Minimum execution time: 2_538_000 picoseconds.
+		Weight::from_parts(2_731_000, 0)
 			.saturating_add(Weight::from_parts(0, 12751))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -122,11 +122,11 @@ impl<T: frame_system::Config> pallet_quota::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `260 + i * (44 ±0)`
 		//  Estimated: `12751`
-		// Minimum execution time: 29_618_000 picoseconds.
-		Weight::from_parts(44_430_771, 0)
+		// Minimum execution time: 27_660_000 picoseconds.
+		Weight::from_parts(41_942_219, 0)
 			.saturating_add(Weight::from_parts(0, 12751))
-			// Standard Error: 1_578
-			.saturating_add(Weight::from_parts(1_241_604, 0).saturating_mul(i.into()))
+			// Standard Error: 1_688
+			.saturating_add(Weight::from_parts(1_293_110, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
diff --git a/runtime/gdev/src/weights/pallet_scheduler.rs b/runtime/gdev/src/weights/pallet_scheduler.rs
index f8e6394235e4731fd36df8dd89bc33ab7b2da798..cc7e7fff8e320134086849935089b2e1eba086f7 100644
--- a/runtime/gdev/src/weights/pallet_scheduler.rs
+++ b/runtime/gdev/src/weights/pallet_scheduler.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_scheduler`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -51,10 +51,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::IncompleteSince` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	fn service_agendas_base() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `30`
+		//  Measured:  `31`
 		//  Estimated: `1489`
 		// Minimum execution time: 3_162_000 picoseconds.
-		Weight::from_parts(3_403_000, 0)
+		Weight::from_parts(3_372_000, 0)
 			.saturating_add(Weight::from_parts(0, 1489))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -64,13 +64,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 50]`.
 	fn service_agenda_base(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + s * (177 ±0)`
+		//  Measured:  `78 + s * (177 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 3_124_000 picoseconds.
-		Weight::from_parts(6_689_137, 0)
+		// Minimum execution time: 3_260_000 picoseconds.
+		Weight::from_parts(6_745_431, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 1_824
-			.saturating_add(Weight::from_parts(265_025, 0).saturating_mul(s.into()))
+			// Standard Error: 1_899
+			.saturating_add(Weight::from_parts(298_644, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -78,8 +78,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_671_000 picoseconds.
-		Weight::from_parts(2_908_000, 0)
+		// Minimum execution time: 2_893_000 picoseconds.
+		Weight::from_parts(3_103_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Preimage::PreimageFor` (r:1 w:1)
@@ -91,13 +91,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[128, 4194304]`.
 	fn service_task_fetched(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `179 + s * (1 ±0)`
+		//  Measured:  `141 + s * (1 ±0)`
 		//  Estimated: `4197809`
-		// Minimum execution time: 16_303_000 picoseconds.
-		Weight::from_parts(16_934_000, 0)
+		// Minimum execution time: 16_131_000 picoseconds.
+		Weight::from_parts(16_663_000, 0)
 			.saturating_add(Weight::from_parts(0, 4197809))
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(880, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(877, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -107,8 +107,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_048_000 picoseconds.
-		Weight::from_parts(4_258_000, 0)
+		// Minimum execution time: 4_200_000 picoseconds.
+		Weight::from_parts(4_495_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -116,24 +116,24 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_719_000 picoseconds.
-		Weight::from_parts(2_909_000, 0)
+		// Minimum execution time: 2_766_000 picoseconds.
+		Weight::from_parts(2_979_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn execute_dispatch_signed() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_761_000 picoseconds.
-		Weight::from_parts(1_923_000, 0)
+		// Minimum execution time: 1_917_000 picoseconds.
+		Weight::from_parts(2_139_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn execute_dispatch_unsigned() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_840_000 picoseconds.
-		Weight::from_parts(1_942_000, 0)
+		// Minimum execution time: 1_925_000 picoseconds.
+		Weight::from_parts(2_060_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
@@ -141,13 +141,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 49]`.
 	fn schedule(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + s * (177 ±0)`
+		//  Measured:  `78 + s * (177 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 8_558_000 picoseconds.
-		Weight::from_parts(12_732_074, 0)
+		// Minimum execution time: 8_898_000 picoseconds.
+		Weight::from_parts(12_092_492, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 3_010
-			.saturating_add(Weight::from_parts(268_942, 0).saturating_mul(s.into()))
+			// Standard Error: 1_801
+			.saturating_add(Weight::from_parts(314_018, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -160,13 +160,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[1, 50]`.
 	fn cancel(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + s * (177 ±0)`
+		//  Measured:  `78 + s * (177 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 13_871_000 picoseconds.
-		Weight::from_parts(14_876_912, 0)
+		// Minimum execution time: 13_473_000 picoseconds.
+		Weight::from_parts(14_552_201, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 1_746
-			.saturating_add(Weight::from_parts(417_942, 0).saturating_mul(s.into()))
+			// Standard Error: 1_615
+			.saturating_add(Weight::from_parts(501_240, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -177,13 +177,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 49]`.
 	fn schedule_named(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `254 + s * (185 ±0)`
+		//  Measured:  `255 + s * (185 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 11_493_000 picoseconds.
-		Weight::from_parts(16_883_559, 0)
+		// Minimum execution time: 11_592_000 picoseconds.
+		Weight::from_parts(16_434_186, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 4_280
-			.saturating_add(Weight::from_parts(331_178, 0).saturating_mul(s.into()))
+			// Standard Error: 3_124
+			.saturating_add(Weight::from_parts(344_014, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -196,13 +196,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[1, 50]`.
 	fn cancel_named(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `280 + s * (185 ±0)`
+		//  Measured:  `281 + s * (185 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 15_677_000 picoseconds.
-		Weight::from_parts(19_002_832, 0)
+		// Minimum execution time: 15_768_000 picoseconds.
+		Weight::from_parts(17_372_599, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 2_530
-			.saturating_add(Weight::from_parts(453_797, 0).saturating_mul(s.into()))
+			// Standard Error: 2_081
+			.saturating_add(Weight::from_parts(539_564, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -213,13 +213,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[1, 50]`.
 	fn schedule_retry(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `117`
+		//  Measured:  `118`
 		//  Estimated: `13928`
-		// Minimum execution time: 8_468_000 picoseconds.
-		Weight::from_parts(9_150_074, 0)
+		// Minimum execution time: 8_448_000 picoseconds.
+		Weight::from_parts(9_289_693, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 514
-			.saturating_add(Weight::from_parts(25_549, 0).saturating_mul(s.into()))
+			// Standard Error: 488
+			.saturating_add(Weight::from_parts(21_370, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -229,10 +229,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `8927`
+		//  Measured:  `8928`
 		//  Estimated: `13928`
-		// Minimum execution time: 20_462_000 picoseconds.
-		Weight::from_parts(21_510_000, 0)
+		// Minimum execution time: 22_257_000 picoseconds.
+		Weight::from_parts(23_163_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -245,10 +245,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `9605`
+		//  Measured:  `9606`
 		//  Estimated: `13928`
-		// Minimum execution time: 27_795_000 picoseconds.
-		Weight::from_parts(28_824_000, 0)
+		// Minimum execution time: 28_395_000 picoseconds.
+		Weight::from_parts(29_448_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -259,10 +259,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `8939`
+		//  Measured:  `8940`
 		//  Estimated: `13928`
-		// Minimum execution time: 19_959_000 picoseconds.
-		Weight::from_parts(20_448_000, 0)
+		// Minimum execution time: 21_017_000 picoseconds.
+		Weight::from_parts(22_130_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -275,10 +275,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `9617`
+		//  Measured:  `9618`
 		//  Estimated: `13928`
-		// Minimum execution time: 26_532_000 picoseconds.
-		Weight::from_parts(27_482_000, 0)
+		// Minimum execution time: 26_945_000 picoseconds.
+		Weight::from_parts(28_036_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gdev/src/weights/pallet_session.rs b/runtime/gdev/src/weights/pallet_session.rs
index 4496a206c712818b22abdd1a43d98e4a2cb16b62..a6b4f2dd43c64092910c1509b745436b4b2be97a 100644
--- a/runtime/gdev/src/weights/pallet_session.rs
+++ b/runtime/gdev/src/weights/pallet_session.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_session`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -55,8 +55,8 @@ impl<T: frame_system::Config> pallet_session::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `811`
 		//  Estimated: `11701`
-		// Minimum execution time: 29_028_000 picoseconds.
-		Weight::from_parts(30_439_000, 0)
+		// Minimum execution time: 25_427_000 picoseconds.
+		Weight::from_parts(26_403_000, 0)
 			.saturating_add(Weight::from_parts(0, 11701))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(5))
@@ -69,8 +69,8 @@ impl<T: frame_system::Config> pallet_session::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `478`
 		//  Estimated: `3943`
-		// Minimum execution time: 17_154_000 picoseconds.
-		Weight::from_parts(17_837_000, 0)
+		// Minimum execution time: 15_272_000 picoseconds.
+		Weight::from_parts(15_827_000, 0)
 			.saturating_add(Weight::from_parts(0, 3943))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(5))
diff --git a/runtime/gdev/src/weights/pallet_smith_members.rs b/runtime/gdev/src/weights/pallet_smith_members.rs
index 7353ba23046503690268b234e6ae339e0e3bb82e..6d3cb563b5244e8bc0b989438712b41b23aee642 100644
--- a/runtime/gdev/src/weights/pallet_smith_members.rs
+++ b/runtime/gdev/src/weights/pallet_smith_members.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_smith_members`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,11 +61,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `SmithMembers::ExpiresOn` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn invite_smith() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `912`
-		//  Estimated: `6852`
-		// Minimum execution time: 35_593_000 picoseconds.
-		Weight::from_parts(36_660_000, 0)
-			.saturating_add(Weight::from_parts(0, 6852))
+		//  Measured:  `859`
+		//  Estimated: `6799`
+		// Minimum execution time: 33_261_000 picoseconds.
+		Weight::from_parts(35_800_000, 0)
+			.saturating_add(Weight::from_parts(0, 6799))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -77,8 +77,8 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `566`
 		//  Estimated: `4031`
-		// Minimum execution time: 18_567_000 picoseconds.
-		Weight::from_parts(19_297_000, 0)
+		// Minimum execution time: 16_752_000 picoseconds.
+		Weight::from_parts(17_731_000, 0)
 			.saturating_add(Weight::from_parts(0, 4031))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -95,11 +95,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `SmithMembers::ExpiresOn` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn certify_smith() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `722`
-		//  Estimated: `6662`
-		// Minimum execution time: 31_100_000 picoseconds.
-		Weight::from_parts(32_379_000, 0)
-			.saturating_add(Weight::from_parts(0, 6662))
+		//  Measured:  `702`
+		//  Estimated: `6642`
+		// Minimum execution time: 30_848_000 picoseconds.
+		Weight::from_parts(32_753_000, 0)
+			.saturating_add(Weight::from_parts(0, 6642))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -121,11 +121,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn on_removed_wot_member() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1205`
-		//  Estimated: `14570`
-		// Minimum execution time: 67_548_000 picoseconds.
-		Weight::from_parts(75_861_000, 0)
-			.saturating_add(Weight::from_parts(0, 14570))
+		//  Measured:  `1172`
+		//  Estimated: `14537`
+		// Minimum execution time: 65_984_000 picoseconds.
+		Weight::from_parts(68_428_000, 0)
+			.saturating_add(Weight::from_parts(0, 14537))
 			.saturating_add(T::DbWeight::get().reads(11))
 			.saturating_add(T::DbWeight::get().writes(15))
 	}
@@ -133,11 +133,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `SmithMembers::Smiths` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn on_removed_wot_member_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `253`
-		//  Estimated: `3718`
-		// Minimum execution time: 3_721_000 picoseconds.
-		Weight::from_parts(4_227_000, 0)
-			.saturating_add(Weight::from_parts(0, 3718))
+		//  Measured:  `220`
+		//  Estimated: `3685`
+		// Minimum execution time: 3_936_000 picoseconds.
+		Weight::from_parts(4_132_000, 0)
+			.saturating_add(Weight::from_parts(0, 3685))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
 }
diff --git a/runtime/gdev/src/weights/pallet_sudo.rs b/runtime/gdev/src/weights/pallet_sudo.rs
index b00be628e27adcc96523dc8aaee2a07b64680653..9acb4a1decf99de9d6f2eb9d74de172ef7179f57 100644
--- a/runtime/gdev/src/weights/pallet_sudo.rs
+++ b/runtime/gdev/src/weights/pallet_sudo.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_sudo`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 8_437_000 picoseconds.
-		Weight::from_parts(8_831_000, 0)
+		// Minimum execution time: 8_486_000 picoseconds.
+		Weight::from_parts(8_930_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 9_036_000 picoseconds.
-		Weight::from_parts(9_449_000, 0)
+		// Minimum execution time: 9_087_000 picoseconds.
+		Weight::from_parts(9_430_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -76,8 +76,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 9_073_000 picoseconds.
-		Weight::from_parts(9_526_000, 0)
+		// Minimum execution time: 8_928_000 picoseconds.
+		Weight::from_parts(9_213_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -87,10 +87,21 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 7_809_000 picoseconds.
-		Weight::from_parts(8_282_000, 0)
+		// Minimum execution time: 7_877_000 picoseconds.
+		Weight::from_parts(8_205_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
+	/// Storage: `Sudo::Key` (r:1 w:0)
+	/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
+	fn check_only_sudo_account() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `165`
+		//  Estimated: `1517`
+		// Minimum execution time: 3_204_000 picoseconds.
+		Weight::from_parts(3_395_000, 0)
+			.saturating_add(Weight::from_parts(0, 1517))
+			.saturating_add(T::DbWeight::get().reads(1))
+	}
 }
diff --git a/runtime/gdev/src/weights/pallet_timestamp.rs b/runtime/gdev/src/weights/pallet_timestamp.rs
index 5798f1da245ee263a94863b2752868ae47c10522..bfae62180f7eefe174331c6a5a8573a1648495fa 100644
--- a/runtime/gdev/src/weights/pallet_timestamp.rs
+++ b/runtime/gdev/src/weights/pallet_timestamp.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_timestamp`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -59,8 +59,8 @@ impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `379`
 		//  Estimated: `1864`
-		// Minimum execution time: 15_904_000 picoseconds.
-		Weight::from_parts(16_611_000, 0)
+		// Minimum execution time: 13_427_000 picoseconds.
+		Weight::from_parts(14_258_000, 0)
 			.saturating_add(Weight::from_parts(0, 1864))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -69,8 +69,8 @@ impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `57`
 		//  Estimated: `0`
-		// Minimum execution time: 3_335_000 picoseconds.
-		Weight::from_parts(3_743_000, 0)
+		// Minimum execution time: 3_508_000 picoseconds.
+		Weight::from_parts(3_712_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/runtime/gdev/src/weights/pallet_transaction_payment.rs b/runtime/gdev/src/weights/pallet_transaction_payment.rs
new file mode 100644
index 0000000000000000000000000000000000000000..23ec20493de9c5f69c4e89e920efa209823dfbd0
--- /dev/null
+++ b/runtime/gdev/src/weights/pallet_transaction_payment.rs
@@ -0,0 +1,62 @@
+// Copyright 2021-2022 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+//! Autogenerated weights for `pallet_transaction_payment`
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! WORST CASE MAP SIZE: `1000000`
+//! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
+//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
+
+// Executed Command:
+// target/release/duniter
+// benchmark
+// pallet
+// --genesis-builder=spec-genesis
+// --steps=50
+// --repeat=20
+// --pallet=*
+// --extrinsic=*
+// --wasm-execution=compiled
+// --heap-pages=4096
+// --header=./file_header.txt
+// --output=./runtime/gdev/src/weights/
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+#![allow(missing_docs)]
+
+use frame_support::{traits::Get, weights::Weight};
+use core::marker::PhantomData;
+
+/// Weight functions for `pallet_transaction_payment`.
+pub struct WeightInfo<T>(PhantomData<T>);
+impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
+	/// Storage: `System::Account` (r:2 w:2)
+	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
+	fn charge_transaction_payment() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `124`
+		//  Estimated: `6126`
+		// Minimum execution time: 47_953_000 picoseconds.
+		Weight::from_parts(48_752_000, 0)
+			.saturating_add(Weight::from_parts(0, 6126))
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(2))
+	}
+}
diff --git a/runtime/gdev/src/weights/pallet_treasury.rs b/runtime/gdev/src/weights/pallet_treasury.rs
index 5652b085ecc30b03b93192bc8268b0e3823e084e..1d8b9ffb1c5a32bb1051f3c73c3f540a5acc2fd1 100644
--- a/runtime/gdev/src/weights/pallet_treasury.rs
+++ b/runtime/gdev/src/weights/pallet_treasury.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_treasury`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,8 +61,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `1887`
-		// Minimum execution time: 3_326_000 picoseconds.
-		Weight::from_parts(3_567_000, 0)
+		// Minimum execution time: 3_605_000 picoseconds.
+		Weight::from_parts(3_896_000, 0)
 			.saturating_add(Weight::from_parts(0, 1887))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -70,18 +70,18 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Treasury::Deactivated` (r:1 w:1)
 	/// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: `Treasury::LastSpendPeriod` (r:1 w:1)
+	/// Proof: `Treasury::LastSpendPeriod` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// The range of component `p` is `[0, 99]`.
 	fn on_initialize_proposals(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `82 + p * (1 ±0)`
 		//  Estimated: `3558`
-		// Minimum execution time: 14_684_000 picoseconds.
-		Weight::from_parts(16_161_715, 0)
+		// Minimum execution time: 10_805_000 picoseconds.
+		Weight::from_parts(12_178_298, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
-			// Standard Error: 704
-			.saturating_add(Weight::from_parts(32_706, 0).saturating_mul(p.into()))
+			// Standard Error: 476
+			.saturating_add(Weight::from_parts(26_138, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -99,8 +99,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `3526`
-		// Minimum execution time: 4_747_000 picoseconds.
-		Weight::from_parts(4_997_000, 0)
+		// Minimum execution time: 4_499_000 picoseconds.
+		Weight::from_parts(4_892_000, 0)
 			.saturating_add(Weight::from_parts(0, 3526))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -110,8 +110,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `3526`
-		// Minimum execution time: 4_864_000 picoseconds.
-		Weight::from_parts(5_074_000, 0)
+		// Minimum execution time: 4_644_000 picoseconds.
+		Weight::from_parts(4_823_000, 0)
 			.saturating_add(Weight::from_parts(0, 3526))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -121,8 +121,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `3526`
-		// Minimum execution time: 3_944_000 picoseconds.
-		Weight::from_parts(4_268_000, 0)
+		// Minimum execution time: 4_098_000 picoseconds.
+		Weight::from_parts(4_374_000, 0)
 			.saturating_add(Weight::from_parts(0, 3526))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
diff --git a/runtime/gdev/src/weights/pallet_universal_dividend.rs b/runtime/gdev/src/weights/pallet_universal_dividend.rs
index bbbc2924fb84697d47981becd96f71d1a9340071..e6ebe439a3587fa6db13eab318defce941cd2e4b 100644
--- a/runtime/gdev/src/weights/pallet_universal_dividend.rs
+++ b/runtime/gdev/src/weights/pallet_universal_dividend.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_universal_dividend`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -62,8 +62,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `676`
 		//  Estimated: `4141`
-		// Minimum execution time: 34_902_000 picoseconds.
-		Weight::from_parts(37_575_396, 0)
+		// Minimum execution time: 33_238_000 picoseconds.
+		Weight::from_parts(35_217_292, 0)
 			.saturating_add(Weight::from_parts(0, 4141))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -76,8 +76,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `156`
 		//  Estimated: `6126`
-		// Minimum execution time: 53_697_000 picoseconds.
-		Weight::from_parts(55_108_000, 0)
+		// Minimum execution time: 52_547_000 picoseconds.
+		Weight::from_parts(53_796_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -90,8 +90,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `93`
 		//  Estimated: `3558`
-		// Minimum execution time: 33_465_000 picoseconds.
-		Weight::from_parts(34_434_000, 0)
+		// Minimum execution time: 35_267_000 picoseconds.
+		Weight::from_parts(36_250_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -107,8 +107,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `181`
 		//  Estimated: `3558`
-		// Minimum execution time: 19_800_000 picoseconds.
-		Weight::from_parts(20_954_204, 0)
+		// Minimum execution time: 19_520_000 picoseconds.
+		Weight::from_parts(20_568_903, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gdev/src/weights/pallet_upgrade_origin.rs b/runtime/gdev/src/weights/pallet_upgrade_origin.rs
index 72c7879ea1f82eff2f5d165de20ef8b2d5621e62..796535ee540f29cdc70dfa226fd64fa395a47112 100644
--- a/runtime/gdev/src/weights/pallet_upgrade_origin.rs
+++ b/runtime/gdev/src/weights/pallet_upgrade_origin.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_upgrade_origin`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -51,8 +51,8 @@ impl<T: frame_system::Config> pallet_upgrade_origin::WeightInfo for WeightInfo<T
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_677_000 picoseconds.
-		Weight::from_parts(5_910_000, 0)
+		// Minimum execution time: 5_799_000 picoseconds.
+		Weight::from_parts(6_189_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/runtime/gdev/src/weights/pallet_utility.rs b/runtime/gdev/src/weights/pallet_utility.rs
index 95c289e00556845666f8569ee42845aa612983fb..6765040d8134bcbeaba00bdde1c5134194b93668 100644
--- a/runtime/gdev/src/weights/pallet_utility.rs
+++ b/runtime/gdev/src/weights/pallet_utility.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_utility`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,18 +52,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_502_000 picoseconds.
-		Weight::from_parts(6_701_915, 0)
+		// Minimum execution time: 4_231_000 picoseconds.
+		Weight::from_parts(7_319_644, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_379
-			.saturating_add(Weight::from_parts(2_058_130, 0).saturating_mul(c.into()))
+			// Standard Error: 891
+			.saturating_add(Weight::from_parts(2_204_220, 0).saturating_mul(c.into()))
 	}
 	fn as_derivative() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_663_000 picoseconds.
-		Weight::from_parts(3_787_000, 0)
+		// Minimum execution time: 3_803_000 picoseconds.
+		Weight::from_parts(3_992_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `c` is `[0, 1000]`.
@@ -71,18 +71,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_406_000 picoseconds.
-		Weight::from_parts(9_695_617, 0)
+		// Minimum execution time: 4_409_000 picoseconds.
+		Weight::from_parts(7_086_404, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_358
-			.saturating_add(Weight::from_parts(2_198_757, 0).saturating_mul(c.into()))
+			// Standard Error: 785
+			.saturating_add(Weight::from_parts(2_359_740, 0).saturating_mul(c.into()))
 	}
 	fn dispatch_as() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_621_000 picoseconds.
-		Weight::from_parts(6_120_000, 0)
+		// Minimum execution time: 6_090_000 picoseconds.
+		Weight::from_parts(6_341_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `c` is `[0, 1000]`.
@@ -90,10 +90,10 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_323_000 picoseconds.
-		Weight::from_parts(9_287_821, 0)
+		// Minimum execution time: 4_465_000 picoseconds.
+		Weight::from_parts(7_309_929, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_105
-			.saturating_add(Weight::from_parts(2_051_272, 0).saturating_mul(c.into()))
+			// Standard Error: 831
+			.saturating_add(Weight::from_parts(2_203_128, 0).saturating_mul(c.into()))
 	}
 }
diff --git a/runtime/gdev/src/weights/paritydb_weights.rs b/runtime/gdev/src/weights/paritydb_weights.rs
index 112932d6b56df8d9706196065cec205956783063..5b3a01c49cdff16ceefc6a2543c172df61fc75b6 100644
--- a/runtime/gdev/src/weights/paritydb_weights.rs
+++ b/runtime/gdev/src/weights/paritydb_weights.rs
@@ -1,6 +1,6 @@
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14 (Y/M/D)
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22 (Y/M/D)
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //!
 //! DATABASE: `ParityDb`, RUNTIME: `Äždev Local Testnet`
@@ -34,31 +34,31 @@ pub mod constants {
 			/// Calculated by multiplying the *Average* of all values with `2.0` and adding `0`.
 			///
 			/// Stats nanoseconds:
-			///   Min, Max: 965, 1_385_968
-			///   Average:  10_520
-			///   Median:   1_692
-			///   Std-Dev:  109086.73
+			///   Min, Max: 775, 912_008
+			///   Average:  7_157
+			///   Median:   1_243
+			///   Std-Dev:  72016.2
 			///
 			/// Percentiles nanoseconds:
-			///   99th: 13_234
-			///   95th: 2_658
-			///   75th: 2_000
-			read: 21_040 * constants::WEIGHT_REF_TIME_PER_NANOS,
+			///   99th: 27_305
+			///   95th: 1_759
+			///   75th: 1_404
+			read: 14_314 * constants::WEIGHT_REF_TIME_PER_NANOS,
 
 			/// Time to write one storage item.
 			/// Calculated by multiplying the *Average* of all values with `2.0` and adding `0`.
 			///
 			/// Stats nanoseconds:
-			///   Min, Max: 3_511, 6_408_141
-			///   Average:  52_016
-			///   Median:   9_227
-			///   Std-Dev:  505441.82
+			///   Min, Max: 3_875, 6_414_394
+			///   Average:  49_821
+			///   Median:   9_993
+			///   Std-Dev:  506345.67
 			///
 			/// Percentiles nanoseconds:
-			///   99th: 479_523
-			///   95th: 13_065
-			///   75th: 11_279
-			write: 104_032 * constants::WEIGHT_REF_TIME_PER_NANOS,
+			///   99th: 16_487
+			///   95th: 13_490
+			///   75th: 11_894
+			write: 99_642 * constants::WEIGHT_REF_TIME_PER_NANOS,
 		};
 	}
 
diff --git a/runtime/gdev/tests/common/mod.rs b/runtime/gdev/tests/common/mod.rs
index 82b5ade8d586dfb587c83b5ebd850b5d6b303500..b8d13eaefae415969b7c4c2f295931f6042966b5 100644
--- a/runtime/gdev/tests/common/mod.rs
+++ b/runtime/gdev/tests/common/mod.rs
@@ -30,7 +30,7 @@ use sp_membership::MembershipData;
 use sp_runtime::{
     generic::SignedPayload,
     testing::{Digest, DigestItem},
-    traits::{Extrinsic, IdentifyAccount, Verify},
+    traits::{ExtrinsicLike, IdentifyAccount, Verify},
 };
 use std::collections::BTreeMap;
 
@@ -492,25 +492,29 @@ pub fn get_unchecked_extrinsic(
     tip: Balance,
     nonce: u32,
 ) -> gdev_runtime::UncheckedExtrinsic {
-    let extra: gdev_runtime::SignedExtra = (
+    let tx_ext: gdev_runtime::TxExtension = (
         frame_system::CheckNonZeroSender::<gdev_runtime::Runtime>::new(),
         frame_system::CheckSpecVersion::<gdev_runtime::Runtime>::new(),
         frame_system::CheckTxVersion::<gdev_runtime::Runtime>::new(),
         frame_system::CheckGenesis::<gdev_runtime::Runtime>::new(),
-        frame_system::CheckMortality::<gdev_runtime::Runtime>::from(
-            sp_runtime::generic::Era::mortal(era, block),
+        frame_system::CheckEra::<gdev_runtime::Runtime>::from(sp_runtime::generic::Era::mortal(
+            era, block,
+        )),
+        pallet_oneshot_account::CheckNonce::<gdev_runtime::Runtime>::from(
+            frame_system::CheckNonce::<gdev_runtime::Runtime>::from(nonce),
         ),
-        frame_system::CheckNonce::<gdev_runtime::Runtime>::from(nonce).into(),
         frame_system::CheckWeight::<gdev_runtime::Runtime>::new(),
         pallet_transaction_payment::ChargeTransactionPayment::<gdev_runtime::Runtime>::from(tip),
+        frame_metadata_hash_extension::CheckMetadataHash::<gdev_runtime::Runtime>::new(false),
     );
-    let payload = SignedPayload::new(call.clone(), extra.clone()).unwrap();
+    let payload = SignedPayload::new(call.clone(), tx_ext.clone()).unwrap();
     let origin = signer;
     let sig = payload.using_encoded(|payload| origin.pair().sign(payload));
 
-    gdev_runtime::UncheckedExtrinsic::new(
+    gdev_runtime::UncheckedExtrinsic::new_signed(
         call,
-        Some((origin.to_account_id().into(), sig.into(), extra)),
+        origin.to_account_id().into(),
+        sig.into(),
+        tx_ext,
     )
-    .unwrap()
 }
diff --git a/runtime/gtest/Cargo.toml b/runtime/gtest/Cargo.toml
index 1b09c9ca1d9dea331c3f9bcf2923ca163cb25c55..eec845490068e5a32ed691442cc6c605bbdb1878 100644
--- a/runtime/gtest/Cargo.toml
+++ b/runtime/gtest/Cargo.toml
@@ -12,6 +12,14 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [features]
 default = ["std"]
+# Enable the metadata hash generation.
+#
+# This is hidden behind a feature because it increases the compile time.
+# The wasm binary needs to be compiled twice, once to fetch the metadata,
+# generate the metadata hash and then a second time with the
+# `RUNTIME_METADATA_HASH` environment variable set for the `CheckMetadataHash`
+# extension.
+metadata-hash = ["substrate-wasm-builder/metadata-hash"]
 constant-fees = ["common-runtime/constant-fees"]
 runtime-benchmarks = [
 	"common-runtime/runtime-benchmarks",
@@ -43,6 +51,7 @@ runtime-benchmarks = [
 	"pallet-smith-members/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
+	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-universal-dividend/runtime-benchmarks",
 	"pallet-upgrade-origin/runtime-benchmarks",
@@ -176,6 +185,7 @@ frame-support = { workspace = true }
 frame-system = { workspace = true }
 frame-system-rpc-runtime-api = { workspace = true }
 frame-try-runtime = { workspace = true, optional = true }
+frame-metadata-hash-extension = { workspace = true }
 hex-literal = { workspace = true, optional = true }
 pallet-session-benchmarking = { workspace = true }
 log = { workspace = true }
diff --git a/runtime/gtest/build.rs b/runtime/gtest/build.rs
index b31efa2f039949719cab9bfdcb170c98d4cb542f..450a6eba8252f849fa8cc94bec8026736e5953c5 100644
--- a/runtime/gtest/build.rs
+++ b/runtime/gtest/build.rs
@@ -17,10 +17,12 @@
 fn main() {
     #[cfg(feature = "std")]
     {
-        substrate_wasm_builder::WasmBuilder::new()
-            .with_current_project()
-            .export_heap_base()
-            .import_memory()
+        #[cfg(not(feature = "metadata-hash"))]
+        substrate_wasm_builder::WasmBuilder::init_with_defaults().build();
+
+        #[cfg(feature = "metadata-hash")]
+        substrate_wasm_builder::WasmBuilder::init_with_defaults()
+            .enable_metadata_hash("ÄžD", 2)
             .build();
     }
 }
diff --git a/runtime/gtest/src/lib.rs b/runtime/gtest/src/lib.rs
index 842fc6a387814272075a72aad5a8ee5ca3508b6c..6876b754ab58cee5cd2e86b39c0cafe03fe9cd52 100644
--- a/runtime/gtest/src/lib.rs
+++ b/runtime/gtest/src/lib.rs
@@ -22,10 +22,6 @@
 #[cfg(feature = "std")]
 include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
 
-#[cfg(feature = "runtime-benchmarks")]
-#[macro_use]
-extern crate frame_benchmarking;
-
 pub mod parameters;
 pub mod weights;
 
@@ -39,8 +35,6 @@ use frame_support::{traits::Contains, PalletId};
 pub use frame_system::Call as SystemCall;
 use frame_system::EnsureRoot;
 pub use pallet_balances::Call as BalancesCall;
-#[cfg(feature = "runtime-benchmarks")]
-pub use pallet_collective::RawOrigin;
 use pallet_grandpa::{
     fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList,
 };
@@ -55,10 +49,10 @@ use sp_core::OpaqueMetadata;
 #[cfg(any(feature = "std", test))]
 pub use sp_runtime::BuildStorage;
 use sp_runtime::{
-    create_runtime_str, generic, impl_opaque_keys,
+    generic, impl_opaque_keys,
     traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys},
     transaction_validity::{TransactionSource, TransactionValidity},
-    ApplyExtrinsicResult, Perquintill,
+    ApplyExtrinsicResult, Cow, Perquintill,
 };
 pub use sp_runtime::{KeyTypeId, Perbill, Permill};
 #[cfg(feature = "std")]
@@ -78,14 +72,12 @@ pub use frame_support::{
     StorageValue,
 };
 
-common_runtime::declare_session_keys! {}
-
 // To learn more about runtime versioning and what each of the following value means:
 //   https://substrate.dev/docs/en/knowledgebase/runtime/upgrades#runtime-versioning
 #[sp_version::runtime_version]
 pub const VERSION: RuntimeVersion = RuntimeVersion {
-    spec_name: create_runtime_str!("gtest"),
-    impl_name: create_runtime_str!("duniter-gtest"),
+    spec_name: Cow::Borrowed("gtest"),
+    impl_name: Cow::Borrowed("duniter-gtest"),
     authoring_version: 1,
     // The version of the runtime specification. A full node will not attempt to use its native
     //   runtime in substitute for the on-chain Wasm runtime unless all of `spec_name`,
@@ -96,7 +88,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
     impl_version: 1,
     apis: RUNTIME_API_VERSIONS,
     transaction_version: 1,
-    state_version: 1,
+    system_version: 1,
 };
 
 /// The version information used to identify this runtime when compiled natively.
@@ -112,9 +104,9 @@ pub fn native_version() -> NativeVersion {
 pub type Block = sp_runtime::generic::Block<Header, UncheckedExtrinsic>;
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-    generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
-/// The SignedExtension to the basic transaction logic.
-pub type SignedExtra = (
+    generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+/// The `TransactionExtension` to the basic transaction logic.
+pub type TxExtension = (
     frame_system::CheckNonZeroSender<Runtime>,
     frame_system::CheckSpecVersion<Runtime>,
     frame_system::CheckTxVersion<Runtime>,
@@ -123,6 +115,7 @@ pub type SignedExtra = (
     pallet_oneshot_account::CheckNonce<Runtime>,
     frame_system::CheckWeight<Runtime>,
     pallet_transaction_payment::ChargeTransactionPayment<Runtime>,
+    frame_metadata_hash_extension::CheckMetadataHash<Runtime>,
 );
 
 /// Executive: handles dispatch to the various modules.
@@ -136,38 +129,6 @@ pub type Executive = frame_executive::Executive<
 
 pub type TechnicalCommitteeInstance = Instance2;
 
-#[cfg(feature = "runtime-benchmarks")]
-mod benches {
-    define_benchmarks!(
-        [pallet_certification, Certification]
-        [pallet_distance, Distance]
-        [pallet_oneshot_account, OneshotAccount]
-        [pallet_universal_dividend, UniversalDividend]
-        [pallet_provide_randomness, ProvideRandomness]
-        [pallet_upgrade_origin, UpgradeOrigin]
-        [pallet_duniter_account, Account]
-        [pallet_identity, Identity]
-        [pallet_membership, Membership]
-        [pallet_smith_members, SmithMembers]
-        [pallet_authority_members, AuthorityMembers]
-        // Substrate
-        [pallet_balances, Balances]
-        [frame_benchmarking::baseline, Baseline::<Runtime>]
-        [pallet_collective, TechnicalCommittee]
-        [pallet_session, SessionBench::<Runtime>]
-        [pallet_im_online, ImOnline]
-        [pallet_multisig, Multisig]
-        [pallet_preimage, Preimage]
-        [pallet_proxy, Proxy]
-        [pallet_sudo, Sudo]
-        [pallet_scheduler, Scheduler]
-        [frame_system, SystemBench::<Runtime>]
-        [pallet_timestamp, Timestamp]
-        [pallet_treasury, Treasury]
-        [pallet_utility, Utility]
-    );
-}
-
 pub struct BaseCallFilter;
 impl Contains<RuntimeCall> for BaseCallFilter {
     fn contains(call: &RuntimeCall) -> bool {
@@ -235,11 +196,6 @@ impl frame_support::traits::InstanceFilter<RuntimeCall> for ProxyType {
     }
 }
 
-// Configure pallets to include in runtime.
-#[cfg(feature = "runtime-benchmarks")]
-type WorstOrigin = RawOrigin<AccountId, TechnicalCommitteeInstance>;
-common_runtime::pallets_config!();
-
 // Create the runtime by composing the pallets that were previously configured.
 construct_runtime!(
     pub enum Runtime
@@ -296,22 +252,11 @@ construct_runtime!(
     }
 );
 
-impl<C> frame_system::offchain::SendTransactionTypes<C> for Runtime
-where
-    RuntimeCall: From<C>,
-{
-    type Extrinsic = UncheckedExtrinsic;
-    type OverarchingCall = RuntimeCall;
-}
-
 // All of our runtimes share most of their Runtime API implementations.
 // We use a macro to implement this common part and add runtime-specific additional implementations.
-// This macro expands to :
-// ```
-// impl_runtime_apis! {
-//     // All impl blocks shared between all runtimes.
-//
-//     // Specific impls provided to the `runtime_apis!` macro.
-// }
-// ```
+common_runtime::pallets_config!();
+common_runtime::declare_session_keys! {}
+#[cfg(feature = "runtime-benchmarks")]
+common_runtime::benchmarks_config!();
+common_runtime::offchain_config! {}
 common_runtime::runtime_apis! {}
diff --git a/runtime/gtest/src/weights.rs b/runtime/gtest/src/weights.rs
index 1bf51bdbb063859c33197a6251bf767ba1311442..8371a5d27816ee03cb0042f5a34957c28ebf570c 100644
--- a/runtime/gtest/src/weights.rs
+++ b/runtime/gtest/src/weights.rs
@@ -20,6 +20,8 @@
 #![allow(clippy::unnecessary_cast)]
 #![allow(unused_doc_comments)]
 
+pub mod frame_system_extensions;
+pub mod pallet_transaction_payment;
 pub mod block_weights;
 pub mod extrinsic_weights;
 pub mod frame_system;
diff --git a/runtime/gtest/src/weights/block_weights.rs b/runtime/gtest/src/weights/block_weights.rs
index f048f6b1e5d74b73f8f2d5704410ca2e2d694715..1c655c4b63802a2fbf6b04524b38042619256e59 100644
--- a/runtime/gtest/src/weights/block_weights.rs
+++ b/runtime/gtest/src/weights/block_weights.rs
@@ -1,6 +1,6 @@
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14 (Y/M/D)
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22 (Y/M/D)
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //!
 //! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `ÄžTest Local Testnet`
@@ -22,21 +22,21 @@ use sp_core::parameter_types;
 use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
 
 parameter_types! {
-	/// Time to execute an empty block.
+	/// Weight of executing an empty block.
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 118_723, 182_138
-	///   Average:  126_773
-	///   Median:   126_090
-	///   Std-Dev:  6674.36
+	///   Min, Max: 119_474, 184_642
+	///   Average:  127_731
+	///   Median:   126_405
+	///   Std-Dev:  8203.13
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 149_828
-	///   95th: 132_085
-	///   75th: 127_166
+	///   99th: 161_562
+	///   95th: 133_670
+	///   75th: 127_726
 	pub const BlockExecutionWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(126_773), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(127_731), 0);
 }
 
 #[cfg(test)]
diff --git a/runtime/gtest/src/weights/extrinsic_weights.rs b/runtime/gtest/src/weights/extrinsic_weights.rs
index f41d2f86f287ecc5add7b3d2788dbd3a0d04e3c8..bf1a07dcbf36dc4ebce9e1461ae3008e73c694d1 100644
--- a/runtime/gtest/src/weights/extrinsic_weights.rs
+++ b/runtime/gtest/src/weights/extrinsic_weights.rs
@@ -1,6 +1,6 @@
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14 (Y/M/D)
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22 (Y/M/D)
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //!
 //! SHORT-NAME: `extrinsic`, LONG-NAME: `ExtrinsicBase`, RUNTIME: `ÄžTest Local Testnet`
@@ -22,21 +22,21 @@ use sp_core::parameter_types;
 use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
 
 parameter_types! {
-	/// Time to execute a NO-OP extrinsic, for example `System::remark`.
+	/// Weight of executing a NO-OP extrinsic, for example `System::remark`.
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 89_055, 90_073
-	///   Average:  89_280
-	///   Median:   89_260
-	///   Std-Dev:  144.55
+	///   Min, Max: 93_611, 95_512
+	///   Average:  94_010
+	///   Median:   93_971
+	///   Std-Dev:  322.63
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 90_011
-	///   95th: 89_428
-	///   75th: 89_312
+	///   99th: 95_222
+	///   95th: 94_605
+	///   75th: 94_088
 	pub const ExtrinsicBaseWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(89_280), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(94_010), 0);
 }
 
 #[cfg(test)]
diff --git a/runtime/gtest/src/weights/frame_benchmarking_baseline.rs b/runtime/gtest/src/weights/frame_benchmarking_baseline.rs
index 06871d60e83848ae016af2b95f475928f0be69bc..db7a90f11e14c662a6e085a58579329306b9ca1e 100644
--- a/runtime/gtest/src/weights/frame_benchmarking_baseline.rs
+++ b/runtime/gtest/src/weights/frame_benchmarking_baseline.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `frame_benchmarking::baseline`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,8 +52,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 87_000 picoseconds.
-		Weight::from_parts(110_887, 0)
+		// Minimum execution time: 81_000 picoseconds.
+		Weight::from_parts(108_311, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -61,8 +61,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 85_000 picoseconds.
-		Weight::from_parts(109_517, 0)
+		// Minimum execution time: 81_000 picoseconds.
+		Weight::from_parts(113_015, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -70,8 +70,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 86_000 picoseconds.
-		Weight::from_parts(111_444, 0)
+		// Minimum execution time: 81_000 picoseconds.
+		Weight::from_parts(115_324, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -79,16 +79,16 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 86_000 picoseconds.
-		Weight::from_parts(110_205, 0)
+		// Minimum execution time: 81_000 picoseconds.
+		Weight::from_parts(105_344, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn hashing() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 20_287_014_000 picoseconds.
-		Weight::from_parts(20_339_196_000, 0)
+		// Minimum execution time: 19_581_925_000 picoseconds.
+		Weight::from_parts(19_626_302_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 100]`.
@@ -96,10 +96,10 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 89_000 picoseconds.
-		Weight::from_parts(28_337_683, 0)
+		// Minimum execution time: 94_000 picoseconds.
+		Weight::from_parts(29_519_877, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 12_719
-			.saturating_add(Weight::from_parts(31_054_033, 0).saturating_mul(i.into()))
+			// Standard Error: 12_461
+			.saturating_add(Weight::from_parts(33_989_148, 0).saturating_mul(i.into()))
 	}
 }
diff --git a/runtime/gtest/src/weights/frame_system.rs b/runtime/gtest/src/weights/frame_system.rs
index e5fda44044b676e3ee5d691dd600fbf98219fc82..e35effe658a9c04e46671ca9ce5150d1df910891 100644
--- a/runtime/gtest/src/weights/frame_system.rs
+++ b/runtime/gtest/src/weights/frame_system.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `frame_system`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,50 +52,44 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_785_000 picoseconds.
-		Weight::from_parts(1_883_000, 0)
+		// Minimum execution time: 1_920_000 picoseconds.
+		Weight::from_parts(427_866, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(256, 0).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(255, 0).saturating_mul(b.into()))
 	}
 	/// The range of component `b` is `[0, 3932160]`.
 	fn remark_with_event(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_136_000 picoseconds.
-		Weight::from_parts(5_186_000, 0)
+		// Minimum execution time: 4_987_000 picoseconds.
+		Weight::from_parts(5_159_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_035, 0).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(1_038, 0).saturating_mul(b.into()))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
 	fn set_heap_pages() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `1485`
-		// Minimum execution time: 3_577_000 picoseconds.
-		Weight::from_parts(3_731_000, 0)
-			.saturating_add(Weight::from_parts(0, 1485))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Estimated: `0`
+		// Minimum execution time: 3_234_000 picoseconds.
+		Weight::from_parts(3_614_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `1485`
-		// Minimum execution time: 75_137_658_000 picoseconds.
-		Weight::from_parts(75_762_126_000, 0)
-			.saturating_add(Weight::from_parts(0, 1485))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Estimated: `0`
+		// Minimum execution time: 75_492_960_000 picoseconds.
+		Weight::from_parts(76_325_406_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -104,11 +98,11 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_804_000 picoseconds.
-		Weight::from_parts(1_945_000, 0)
+		// Minimum execution time: 1_917_000 picoseconds.
+		Weight::from_parts(2_080_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 726
-			.saturating_add(Weight::from_parts(572_839, 0).saturating_mul(i.into()))
+			// Standard Error: 493
+			.saturating_add(Weight::from_parts(558_660, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -118,11 +112,11 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_744_000 picoseconds.
-		Weight::from_parts(1_972_000, 0)
+		// Minimum execution time: 1_889_000 picoseconds.
+		Weight::from_parts(1_984_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 733
-			.saturating_add(Weight::from_parts(459_317, 0).saturating_mul(i.into()))
+			// Standard Error: 624
+			.saturating_add(Weight::from_parts(445_291, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -131,12 +125,12 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 	fn kill_prefix(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `77 + p * (69 ±0)`
-		//  Estimated: `76 + p * (70 ±0)`
-		// Minimum execution time: 3_542_000 picoseconds.
-		Weight::from_parts(3_654_000, 0)
-			.saturating_add(Weight::from_parts(0, 76))
-			// Standard Error: 722
-			.saturating_add(Weight::from_parts(1_051_560, 0).saturating_mul(p.into()))
+		//  Estimated: `75 + p * (70 ±0)`
+		// Minimum execution time: 3_552_000 picoseconds.
+		Weight::from_parts(3_670_000, 0)
+			.saturating_add(Weight::from_parts(0, 75))
+			// Standard Error: 686
+			.saturating_add(Weight::from_parts(1_013_103, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
 			.saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into()))
@@ -147,25 +141,23 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_421_000 picoseconds.
-		Weight::from_parts(9_720_000, 0)
+		// Minimum execution time: 8_152_000 picoseconds.
+		Weight::from_parts(8_900_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `System::AuthorizedUpgrade` (r:1 w:1)
 	/// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	fn apply_authorized_upgrade() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `22`
 		//  Estimated: `1518`
-		// Minimum execution time: 79_149_753_000 picoseconds.
-		Weight::from_parts(80_077_256_000, 0)
+		// Minimum execution time: 79_836_271_000 picoseconds.
+		Weight::from_parts(80_190_659_000, 0)
 			.saturating_add(Weight::from_parts(0, 1518))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
 }
diff --git a/runtime/gtest/src/weights/frame_system_extensions.rs b/runtime/gtest/src/weights/frame_system_extensions.rs
new file mode 100644
index 0000000000000000000000000000000000000000..52451b4ef5ef610aecff1d88ff22db07bfe29899
--- /dev/null
+++ b/runtime/gtest/src/weights/frame_system_extensions.rs
@@ -0,0 +1,118 @@
+// Copyright 2021-2022 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+//! Autogenerated weights for `frame_system_extensions`
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! WORST CASE MAP SIZE: `1000000`
+//! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
+//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
+
+// Executed Command:
+// target/release/duniter
+// benchmark
+// pallet
+// --genesis-builder=spec-genesis
+// --steps=50
+// --repeat=20
+// --pallet=*
+// --extrinsic=*
+// --wasm-execution=compiled
+// --heap-pages=4096
+// --header=./file_header.txt
+// --output=./runtime/gtest/src/weights/
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+#![allow(missing_docs)]
+
+use frame_support::{traits::Get, weights::Weight};
+use core::marker::PhantomData;
+
+/// Weight functions for `frame_system_extensions`.
+pub struct WeightInfo<T>(PhantomData<T>);
+impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
+	fn check_genesis() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `30`
+		//  Estimated: `0`
+		// Minimum execution time: 2_663_000 picoseconds.
+		Weight::from_parts(2_864_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_mortality_mortal_transaction() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `68`
+		//  Estimated: `0`
+		// Minimum execution time: 5_051_000 picoseconds.
+		Weight::from_parts(5_486_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_mortality_immortal_transaction() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `68`
+		//  Estimated: `0`
+		// Minimum execution time: 5_128_000 picoseconds.
+		Weight::from_parts(5_367_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_non_zero_sender() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 400_000 picoseconds.
+		Weight::from_parts(459_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	/// Storage: `System::Account` (r:1 w:1)
+	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
+	fn check_nonce() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `61`
+		//  Estimated: `3558`
+		// Minimum execution time: 5_759_000 picoseconds.
+		Weight::from_parts(6_175_000, 0)
+			.saturating_add(Weight::from_parts(0, 3558))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
+	}
+	fn check_spec_version() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 326_000 picoseconds.
+		Weight::from_parts(370_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_tx_version() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 327_000 picoseconds.
+		Weight::from_parts(356_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+	fn check_weight() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 3_193_000 picoseconds.
+		Weight::from_parts(3_427_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+	}
+}
diff --git a/runtime/gtest/src/weights/pallet_authority_members.rs b/runtime/gtest/src/weights/pallet_authority_members.rs
index 408c3def8b1a4ec6745e3bf3c1a6129c9c17f9e4..c5e0fa55dae30b418d556a44c1ce5d91c5464b2f 100644
--- a/runtime/gtest/src/weights/pallet_authority_members.rs
+++ b/runtime/gtest/src/weights/pallet_authority_members.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_authority_members`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,11 +61,11 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 	/// Proof: `AuthorityMembers::OnlineAuthorities` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	fn go_offline() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `900`
-		//  Estimated: `4365`
-		// Minimum execution time: 27_099_000 picoseconds.
-		Weight::from_parts(28_465_000, 0)
-			.saturating_add(Weight::from_parts(0, 4365))
+		//  Measured:  `867`
+		//  Estimated: `4332`
+		// Minimum execution time: 22_888_000 picoseconds.
+		Weight::from_parts(23_672_000, 0)
+			.saturating_add(Weight::from_parts(0, 4332))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -87,11 +87,11 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 	/// Proof: `AuthorityMembers::OnlineAuthorities` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	fn go_online() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1356`
-		//  Estimated: `4821`
-		// Minimum execution time: 34_323_000 picoseconds.
-		Weight::from_parts(36_620_000, 0)
-			.saturating_add(Weight::from_parts(0, 4821))
+		//  Measured:  `1323`
+		//  Estimated: `4788`
+		// Minimum execution time: 33_561_000 picoseconds.
+		Weight::from_parts(34_785_000, 0)
+			.saturating_add(Weight::from_parts(0, 4788))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -109,11 +109,11 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 	/// Proof: `AuthorityMembers::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn set_session_keys() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1805`
-		//  Estimated: `12695`
-		// Minimum execution time: 45_331_000 picoseconds.
-		Weight::from_parts(46_694_000, 0)
-			.saturating_add(Weight::from_parts(0, 12695))
+		//  Measured:  `1772`
+		//  Estimated: `12662`
+		// Minimum execution time: 41_274_000 picoseconds.
+		Weight::from_parts(43_100_000, 0)
+			.saturating_add(Weight::from_parts(0, 12662))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -135,8 +135,8 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `847`
 		//  Estimated: `4312`
-		// Minimum execution time: 40_181_000 picoseconds.
-		Weight::from_parts(42_171_000, 0)
+		// Minimum execution time: 36_076_000 picoseconds.
+		Weight::from_parts(37_850_000, 0)
 			.saturating_add(Weight::from_parts(0, 4312))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(10))
@@ -147,8 +147,8 @@ impl<T: frame_system::Config> pallet_authority_members::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `199`
 		//  Estimated: `1684`
-		// Minimum execution time: 9_395_000 picoseconds.
-		Weight::from_parts(9_779_000, 0)
+		// Minimum execution time: 9_265_000 picoseconds.
+		Weight::from_parts(9_709_000, 0)
 			.saturating_add(Weight::from_parts(0, 1684))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gtest/src/weights/pallet_balances.rs b/runtime/gtest/src/weights/pallet_balances.rs
index 1a52cda3789faa09392aae2a78a6bbcde69ecdf1..f25c05ce23230400af70e40daa9f899efbf54b60 100644
--- a/runtime/gtest/src/weights/pallet_balances.rs
+++ b/runtime/gtest/src/weights/pallet_balances.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_balances`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `63`
 		//  Estimated: `6126`
-		// Minimum execution time: 50_426_000 picoseconds.
-		Weight::from_parts(51_887_000, 0)
+		// Minimum execution time: 49_468_000 picoseconds.
+		Weight::from_parts(50_819_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3558`
-		// Minimum execution time: 30_975_000 picoseconds.
-		Weight::from_parts(32_312_000, 0)
+		// Minimum execution time: 30_497_000 picoseconds.
+		Weight::from_parts(31_209_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -77,8 +77,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3558`
-		// Minimum execution time: 11_813_000 picoseconds.
-		Weight::from_parts(12_390_000, 0)
+		// Minimum execution time: 11_245_000 picoseconds.
+		Weight::from_parts(11_554_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -89,8 +89,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3558`
-		// Minimum execution time: 17_089_000 picoseconds.
-		Weight::from_parts(17_901_000, 0)
+		// Minimum execution time: 17_197_000 picoseconds.
+		Weight::from_parts(18_105_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -101,8 +101,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `126`
 		//  Estimated: `8694`
-		// Minimum execution time: 51_663_000 picoseconds.
-		Weight::from_parts(53_176_000, 0)
+		// Minimum execution time: 50_992_000 picoseconds.
+		Weight::from_parts(52_033_000, 0)
 			.saturating_add(Weight::from_parts(0, 8694))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -113,8 +113,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3558`
-		// Minimum execution time: 37_803_000 picoseconds.
-		Weight::from_parts(39_141_000, 0)
+		// Minimum execution time: 36_879_000 picoseconds.
+		Weight::from_parts(38_622_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -125,8 +125,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3558`
-		// Minimum execution time: 14_471_000 picoseconds.
-		Weight::from_parts(14_947_000, 0)
+		// Minimum execution time: 14_387_000 picoseconds.
+		Weight::from_parts(14_913_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -135,8 +135,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_329_000 picoseconds.
-		Weight::from_parts(5_674_000, 0)
+		// Minimum execution time: 5_324_000 picoseconds.
+		Weight::from_parts(5_646_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `System::Account` (r:1 w:1)
@@ -145,8 +145,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `63`
 		//  Estimated: `3558`
-		// Minimum execution time: 35_600_000 picoseconds.
-		Weight::from_parts(36_606_000, 0)
+		// Minimum execution time: 35_274_000 picoseconds.
+		Weight::from_parts(36_186_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -155,8 +155,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 16_326_000 picoseconds.
-		Weight::from_parts(16_670_000, 0)
+		// Minimum execution time: 16_029_000 picoseconds.
+		Weight::from_parts(16_620_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/runtime/gtest/src/weights/pallet_certification.rs b/runtime/gtest/src/weights/pallet_certification.rs
index 6c9f58a2c7e403c39c300978ad204a62ba96619e..28c09713453787f4370ecdefda25a8f07cbbf66a 100644
--- a/runtime/gtest/src/weights/pallet_certification.rs
+++ b/runtime/gtest/src/weights/pallet_certification.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_certification`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,8 +61,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `996`
 		//  Estimated: `6936`
-		// Minimum execution time: 39_728_000 picoseconds.
-		Weight::from_parts(40_728_000, 0)
+		// Minimum execution time: 39_823_000 picoseconds.
+		Weight::from_parts(41_151_000, 0)
 			.saturating_add(Weight::from_parts(0, 6936))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -81,8 +81,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `1019`
 		//  Estimated: `6959`
-		// Minimum execution time: 36_707_000 picoseconds.
-		Weight::from_parts(38_672_000, 0)
+		// Minimum execution time: 35_882_000 picoseconds.
+		Weight::from_parts(37_430_000, 0)
 			.saturating_add(Weight::from_parts(0, 6959))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -119,11 +119,11 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn del_cert() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2202`
-		//  Estimated: `15567`
-		// Minimum execution time: 120_946_000 picoseconds.
-		Weight::from_parts(124_950_000, 0)
-			.saturating_add(Weight::from_parts(0, 15567))
+		//  Measured:  `2169`
+		//  Estimated: `15534`
+		// Minimum execution time: 117_223_000 picoseconds.
+		Weight::from_parts(121_172_000, 0)
+			.saturating_add(Weight::from_parts(0, 15534))
 			.saturating_add(T::DbWeight::get().reads(20))
 			.saturating_add(T::DbWeight::get().writes(22))
 	}
@@ -136,13 +136,13 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 	/// The range of component `i` is `[2, 1000]`.
 	fn remove_all_certs_received_by(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `554 + i * (35 ±0)`
-		//  Estimated: `4018 + i * (2511 ±0)`
-		// Minimum execution time: 29_810_000 picoseconds.
-		Weight::from_parts(30_875_000, 0)
-			.saturating_add(Weight::from_parts(0, 4018))
-			// Standard Error: 25_367
-			.saturating_add(Weight::from_parts(8_966_191, 0).saturating_mul(i.into()))
+		//  Measured:  `579 + i * (35 ±0)`
+		//  Estimated: `4049 + i * (2511 ±0)`
+		// Minimum execution time: 28_240_000 picoseconds.
+		Weight::from_parts(22_150_515, 0)
+			.saturating_add(Weight::from_parts(0, 4049))
+			// Standard Error: 3_438
+			.saturating_add(Weight::from_parts(4_233_010, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -155,8 +155,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `138`
 		//  Estimated: `3603`
-		// Minimum execution time: 3_455_000 picoseconds.
-		Weight::from_parts(3_692_000, 0)
+		// Minimum execution time: 3_352_000 picoseconds.
+		Weight::from_parts(3_607_000, 0)
 			.saturating_add(Weight::from_parts(0, 3603))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -166,8 +166,8 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `275`
 		//  Estimated: `3740`
-		// Minimum execution time: 5_287_000 picoseconds.
-		Weight::from_parts(5_663_000, 0)
+		// Minimum execution time: 5_201_000 picoseconds.
+		Weight::from_parts(5_439_000, 0)
 			.saturating_add(Weight::from_parts(0, 3740))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -182,28 +182,28 @@ impl<T: frame_system::Config> pallet_certification::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `711`
 		//  Estimated: `6651`
-		// Minimum execution time: 26_471_000 picoseconds.
-		Weight::from_parts(27_567_000, 0)
+		// Minimum execution time: 23_016_000 picoseconds.
+		Weight::from_parts(24_017_000, 0)
 			.saturating_add(Weight::from_parts(0, 6651))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Certification::CertsByReceiver` (r:1 w:1)
 	/// Proof: `Certification::CertsByReceiver` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Certification::StorageIdtyCertMeta` (r:1000 w:1000)
+	/// Storage: `Certification::StorageIdtyCertMeta` (r:100 w:100)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Membership::Membership` (r:1 w:0)
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `i` is `[2, 1000]`.
+	/// The range of component `i` is `[2, 100]`.
 	fn do_remove_all_certs_received_by(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `554 + i * (35 ±0)`
-		//  Estimated: `4018 + i * (2511 ±0)`
-		// Minimum execution time: 29_810_000 picoseconds.
-		Weight::from_parts(30_875_000, 0)
-			.saturating_add(Weight::from_parts(0, 4018))
-			// Standard Error: 25_367
-			.saturating_add(Weight::from_parts(8_966_191, 0).saturating_mul(i.into()))
+		//  Measured:  `543 + i * (35 ±0)`
+		//  Estimated: `4016 + i * (2511 ±0)`
+		// Minimum execution time: 24_193_000 picoseconds.
+		Weight::from_parts(21_404_968, 0)
+			.saturating_add(Weight::from_parts(0, 4016))
+			// Standard Error: 4_541
+			.saturating_add(Weight::from_parts(3_957_096, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gtest/src/weights/pallet_collective.rs b/runtime/gtest/src/weights/pallet_collective.rs
index 05218fc1fd00a9bba5dcef66340321081ebc1151..548d3ac57c02567f8e38ef361a5b10b189a37788 100644
--- a/runtime/gtest/src/weights/pallet_collective.rs
+++ b/runtime/gtest/src/weights/pallet_collective.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_collective`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,14 +61,14 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 	fn set_members(m: u32, _n: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + m * (672 ±0) + p * (3191 ±0)`
-		//  Estimated: `10019 + m * (416 ±5) + p * (4183 ±27)`
-		// Minimum execution time: 12_349_000 picoseconds.
-		Weight::from_parts(12_614_000, 0)
+		//  Estimated: `10019 + m * (416 ±4) + p * (4183 ±23)`
+		// Minimum execution time: 11_891_000 picoseconds.
+		Weight::from_parts(12_212_000, 0)
 			.saturating_add(Weight::from_parts(0, 10019))
-			// Standard Error: 9_948
-			.saturating_add(Weight::from_parts(748_087, 0).saturating_mul(m.into()))
-			// Standard Error: 49_177
-			.saturating_add(Weight::from_parts(7_077_641, 0).saturating_mul(p.into()))
+			// Standard Error: 12_659
+			.saturating_add(Weight::from_parts(946_151, 0).saturating_mul(m.into()))
+			// Standard Error: 62_578
+			.saturating_add(Weight::from_parts(7_875_983, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -84,13 +84,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `32 + m * (32 ±0)`
 		//  Estimated: `1518 + m * (32 ±0)`
-		// Minimum execution time: 11_215_000 picoseconds.
-		Weight::from_parts(10_887_105, 0)
+		// Minimum execution time: 11_195_000 picoseconds.
+		Weight::from_parts(10_344_707, 0)
 			.saturating_add(Weight::from_parts(0, 1518))
-			// Standard Error: 28
-			.saturating_add(Weight::from_parts(1_365, 0).saturating_mul(b.into()))
-			// Standard Error: 295
-			.saturating_add(Weight::from_parts(12_516, 0).saturating_mul(m.into()))
+			// Standard Error: 35
+			.saturating_add(Weight::from_parts(1_618, 0).saturating_mul(b.into()))
+			// Standard Error: 361
+			.saturating_add(Weight::from_parts(14_708, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
@@ -104,13 +104,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `32 + m * (32 ±0)`
 		//  Estimated: `3498 + m * (32 ±0)`
-		// Minimum execution time: 13_358_000 picoseconds.
-		Weight::from_parts(13_161_879, 0)
+		// Minimum execution time: 13_308_000 picoseconds.
+		Weight::from_parts(12_851_450, 0)
 			.saturating_add(Weight::from_parts(0, 3498))
-			// Standard Error: 39
-			.saturating_add(Weight::from_parts(1_356, 0).saturating_mul(b.into()))
-			// Standard Error: 403
-			.saturating_add(Weight::from_parts(20_334, 0).saturating_mul(m.into()))
+			// Standard Error: 43
+			.saturating_add(Weight::from_parts(1_543, 0).saturating_mul(b.into()))
+			// Standard Error: 445
+			.saturating_add(Weight::from_parts(20_698, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
@@ -131,15 +131,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `24 + m * (32 ±0) + p * (55 ±0)`
 		//  Estimated: `3461 + m * (32 ±0) + p * (54 ±0)`
-		// Minimum execution time: 19_584_000 picoseconds.
-		Weight::from_parts(18_895_212, 0)
+		// Minimum execution time: 18_036_000 picoseconds.
+		Weight::from_parts(17_078_345, 0)
 			.saturating_add(Weight::from_parts(0, 3461))
-			// Standard Error: 78
-			.saturating_add(Weight::from_parts(2_755, 0).saturating_mul(b.into()))
-			// Standard Error: 823
-			.saturating_add(Weight::from_parts(21_823, 0).saturating_mul(m.into()))
-			// Standard Error: 4_115
-			.saturating_add(Weight::from_parts(320_679, 0).saturating_mul(p.into()))
+			// Standard Error: 64
+			.saturating_add(Weight::from_parts(2_307, 0).saturating_mul(b.into()))
+			// Standard Error: 669
+			.saturating_add(Weight::from_parts(19_414, 0).saturating_mul(m.into()))
+			// Standard Error: 3_343
+			.saturating_add(Weight::from_parts(271_842, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(4))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
@@ -154,11 +154,11 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `573 + m * (64 ±0)`
 		//  Estimated: `4037 + m * (64 ±0)`
-		// Minimum execution time: 18_494_000 picoseconds.
-		Weight::from_parts(19_588_027, 0)
+		// Minimum execution time: 16_851_000 picoseconds.
+		Weight::from_parts(17_633_841, 0)
 			.saturating_add(Weight::from_parts(0, 4037))
-			// Standard Error: 752
-			.saturating_add(Weight::from_parts(39_906, 0).saturating_mul(m.into()))
+			// Standard Error: 714
+			.saturating_add(Weight::from_parts(36_440, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@@ -177,13 +177,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `117 + m * (64 ±0) + p * (55 ±0)`
 		//  Estimated: `3591 + m * (64 ±0) + p * (55 ±0)`
-		// Minimum execution time: 22_737_000 picoseconds.
-		Weight::from_parts(21_875_501, 0)
+		// Minimum execution time: 21_065_000 picoseconds.
+		Weight::from_parts(19_516_922, 0)
 			.saturating_add(Weight::from_parts(0, 3591))
-			// Standard Error: 656
-			.saturating_add(Weight::from_parts(27_704, 0).saturating_mul(m.into()))
-			// Standard Error: 3_242
-			.saturating_add(Weight::from_parts(249_506, 0).saturating_mul(p.into()))
+			// Standard Error: 643
+			.saturating_add(Weight::from_parts(31_818, 0).saturating_mul(m.into()))
+			// Standard Error: 3_175
+			.saturating_add(Weight::from_parts(263_070, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@@ -204,15 +204,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `62 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)`
 		//  Estimated: `3619 + b * (1 ±0) + m * (63 ±0) + p * (74 ±0)`
-		// Minimum execution time: 31_951_000 picoseconds.
-		Weight::from_parts(30_230_575, 0)
+		// Minimum execution time: 29_533_000 picoseconds.
+		Weight::from_parts(27_963_006, 0)
 			.saturating_add(Weight::from_parts(0, 3619))
-			// Standard Error: 105
-			.saturating_add(Weight::from_parts(2_734, 0).saturating_mul(b.into()))
-			// Standard Error: 1_114
-			.saturating_add(Weight::from_parts(15_971, 0).saturating_mul(m.into()))
-			// Standard Error: 5_498
-			.saturating_add(Weight::from_parts(404_478, 0).saturating_mul(p.into()))
+			// Standard Error: 159
+			.saturating_add(Weight::from_parts(2_509, 0).saturating_mul(b.into()))
+			// Standard Error: 1_681
+			.saturating_add(Weight::from_parts(11_763, 0).saturating_mul(m.into()))
+			// Standard Error: 8_295
+			.saturating_add(Weight::from_parts(479_099, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
@@ -235,13 +235,13 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `137 + m * (64 ±0) + p * (55 ±0)`
 		//  Estimated: `3611 + m * (64 ±0) + p * (55 ±0)`
-		// Minimum execution time: 25_846_000 picoseconds.
-		Weight::from_parts(24_354_983, 0)
+		// Minimum execution time: 23_249_000 picoseconds.
+		Weight::from_parts(21_517_463, 0)
 			.saturating_add(Weight::from_parts(0, 3611))
-			// Standard Error: 666
-			.saturating_add(Weight::from_parts(32_377, 0).saturating_mul(m.into()))
-			// Standard Error: 3_289
-			.saturating_add(Weight::from_parts(273_346, 0).saturating_mul(p.into()))
+			// Standard Error: 605
+			.saturating_add(Weight::from_parts(32_353, 0).saturating_mul(m.into()))
+			// Standard Error: 2_988
+			.saturating_add(Weight::from_parts(271_500, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
@@ -264,15 +264,15 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `82 + b * (1 ±0) + m * (64 ±0) + p * (78 ±0)`
 		//  Estimated: `3639 + b * (1 ±0) + m * (63 ±0) + p * (74 ±0)`
-		// Minimum execution time: 33_758_000 picoseconds.
-		Weight::from_parts(32_799_938, 0)
+		// Minimum execution time: 31_217_000 picoseconds.
+		Weight::from_parts(31_357_799, 0)
 			.saturating_add(Weight::from_parts(0, 3639))
-			// Standard Error: 104
-			.saturating_add(Weight::from_parts(2_470, 0).saturating_mul(b.into()))
-			// Standard Error: 1_104
-			.saturating_add(Weight::from_parts(15_104, 0).saturating_mul(m.into()))
-			// Standard Error: 5_448
-			.saturating_add(Weight::from_parts(405_491, 0).saturating_mul(p.into()))
+			// Standard Error: 111
+			.saturating_add(Weight::from_parts(2_367, 0).saturating_mul(b.into()))
+			// Standard Error: 1_179
+			.saturating_add(Weight::from_parts(17_343, 0).saturating_mul(m.into()))
+			// Standard Error: 5_817
+			.saturating_add(Weight::from_parts(421_956, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
@@ -290,13 +290,50 @@ impl<T: frame_system::Config> pallet_collective::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `189 + p * (32 ±0)`
 		//  Estimated: `1674 + p * (32 ±0)`
-		// Minimum execution time: 11_568_000 picoseconds.
-		Weight::from_parts(12_560_378, 0)
+		// Minimum execution time: 10_974_000 picoseconds.
+		Weight::from_parts(12_128_634, 0)
 			.saturating_add(Weight::from_parts(0, 1674))
-			// Standard Error: 1_913
-			.saturating_add(Weight::from_parts(159_858, 0).saturating_mul(p.into()))
+			// Standard Error: 2_474
+			.saturating_add(Weight::from_parts(146_734, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into()))
 	}
+	/// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:1)
+	/// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::CostOf` (r:1 w:0)
+	/// Proof: `TechnicalCommittee::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:1)
+	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::Voting` (r:0 w:1)
+	/// Proof: `TechnicalCommittee::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// The range of component `d` is `[0, 1]`.
+	/// The range of component `p` is `[1, 20]`.
+	fn kill(d: u32, p: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1243 + p * (55 ±0)`
+		//  Estimated: `4710 + d * (5 ±1) + p * (55 ±0)`
+		// Minimum execution time: 16_348_000 picoseconds.
+		Weight::from_parts(17_897_162, 0)
+			.saturating_add(Weight::from_parts(0, 4710))
+			// Standard Error: 2_632
+			.saturating_add(Weight::from_parts(259_366, 0).saturating_mul(p.into()))
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(Weight::from_parts(0, 5).saturating_mul(d.into()))
+			.saturating_add(Weight::from_parts(0, 55).saturating_mul(p.into()))
+	}
+	/// Storage: `TechnicalCommittee::ProposalOf` (r:1 w:0)
+	/// Proof: `TechnicalCommittee::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `TechnicalCommittee::CostOf` (r:1 w:0)
+	/// Proof: `TechnicalCommittee::CostOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	fn release_proposal_cost() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `676`
+		//  Estimated: `4141`
+		// Minimum execution time: 10_662_000 picoseconds.
+		Weight::from_parts(11_158_000, 0)
+			.saturating_add(Weight::from_parts(0, 4141))
+			.saturating_add(T::DbWeight::get().reads(2))
+	}
 }
diff --git a/runtime/gtest/src/weights/pallet_distance.rs b/runtime/gtest/src/weights/pallet_distance.rs
index 6dc7c7d6a5d04f15aeb2ec5e475d5da66dcb543b..6a8334769f8f58c74973042a4e8f4c8de59735fe 100644
--- a/runtime/gtest/src/weights/pallet_distance.rs
+++ b/runtime/gtest/src/weights/pallet_distance.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_distance`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -57,20 +57,20 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Certification::StorageIdtyCertMeta` (r:1 w:0)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool2` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	fn request_distance_evaluation() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1134`
 		//  Estimated: `4599`
-		// Minimum execution time: 66_312_000 picoseconds.
-		Weight::from_parts(68_392_000, 0)
+		// Minimum execution time: 62_278_000 picoseconds.
+		Weight::from_parts(63_831_000, 0)
 			.saturating_add(Weight::from_parts(0, 4599))
 			.saturating_add(T::DbWeight::get().reads(9))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -85,52 +85,48 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Certification::StorageIdtyCertMeta` (r:1 w:0)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool2` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	fn request_distance_evaluation_for() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1163`
 		//  Estimated: `7103`
-		// Minimum execution time: 68_981_000 picoseconds.
-		Weight::from_parts(70_908_000, 0)
+		// Minimum execution time: 64_754_000 picoseconds.
+		Weight::from_parts(67_520_000, 0)
 			.saturating_add(Weight::from_parts(0, 7103))
 			.saturating_add(T::DbWeight::get().reads(10))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `Distance::DidUpdate` (r:1 w:1)
 	/// Proof: `Distance::DidUpdate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Authorship::Author` (r:1 w:1)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Session::Validators` (r:1 w:0)
 	/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool0` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool0` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// The range of component `i` is `[1, 1300]`.
 	fn update_evaluation(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `424 + i * (10 ±0)`
-		//  Estimated: `1909 + i * (10 ±0)`
-		// Minimum execution time: 18_863_000 picoseconds.
-		Weight::from_parts(21_326_139, 0)
-			.saturating_add(Weight::from_parts(0, 1909))
-			// Standard Error: 293
-			.saturating_add(Weight::from_parts(105_268, 0).saturating_mul(i.into()))
-			.saturating_add(T::DbWeight::get().reads(6))
-			.saturating_add(T::DbWeight::get().writes(3))
+		//  Measured:  `303 + i * (10 ±0)`
+		//  Estimated: `1788 + i * (10 ±0)`
+		// Minimum execution time: 12_163_000 picoseconds.
+		Weight::from_parts(14_600_703, 0)
+			.saturating_add(Weight::from_parts(0, 1788))
+			// Standard Error: 98
+			.saturating_add(Weight::from_parts(101_914, 0).saturating_mul(i.into()))
+			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().writes(2))
 			.saturating_add(Weight::from_parts(0, 10).saturating_mul(i.into()))
 	}
-	/// Storage: `Distance::CurrentPoolIndex` (r:1 w:0)
-	/// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: `Distance::CurrentPeriodIndex` (r:1 w:0)
+	/// Proof: `Distance::CurrentPeriodIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: `Distance::EvaluationPool0` (r:1 w:1)
 	/// Proof: `Distance::EvaluationPool0` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// The range of component `i` is `[1, 1300]`.
@@ -138,11 +134,11 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `162 + i * (10 ±0)`
 		//  Estimated: `1647 + i * (10 ±0)`
-		// Minimum execution time: 7_715_000 picoseconds.
-		Weight::from_parts(9_191_420, 0)
+		// Minimum execution time: 7_354_000 picoseconds.
+		Weight::from_parts(9_938_924, 0)
 			.saturating_add(Weight::from_parts(0, 1647))
-			// Standard Error: 215
-			.saturating_add(Weight::from_parts(105_937, 0).saturating_mul(i.into()))
+			// Standard Error: 94
+			.saturating_add(Weight::from_parts(101_291, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 10).saturating_mul(i.into()))
@@ -157,8 +153,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `539`
 		//  Estimated: `6479`
-		// Minimum execution time: 29_644_000 picoseconds.
-		Weight::from_parts(31_245_000, 0)
+		// Minimum execution time: 26_164_000 picoseconds.
+		Weight::from_parts(27_897_000, 0)
 			.saturating_add(Weight::from_parts(0, 6479))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -167,8 +163,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 86_000 picoseconds.
-		Weight::from_parts(105_000, 0)
+		// Minimum execution time: 97_000 picoseconds.
+		Weight::from_parts(119_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `System::ParentHash` (r:1 w:0)
@@ -180,7 +176,7 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::Identities` (r:1 w:0)
 	/// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Membership::Membership` (r:1 w:1)
@@ -193,8 +189,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `951`
 		//  Estimated: `6891`
-		// Minimum execution time: 62_874_000 picoseconds.
-		Weight::from_parts(65_306_000, 0)
+		// Minimum execution time: 58_667_000 picoseconds.
+		Weight::from_parts(60_042_000, 0)
 			.saturating_add(Weight::from_parts(0, 6891))
 			.saturating_add(T::DbWeight::get().reads(9))
 			.saturating_add(T::DbWeight::get().writes(8))
@@ -206,7 +202,7 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 	/// Storage: `Distance::PendingEvaluationRequest` (r:1 w:1)
 	/// Proof: `Distance::PendingEvaluationRequest` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:2 w:2)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Distance::EvaluationBlock` (r:0 w:1)
@@ -215,8 +211,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `475`
 		//  Estimated: `6126`
-		// Minimum execution time: 42_378_000 picoseconds.
-		Weight::from_parts(43_369_000, 0)
+		// Minimum execution time: 42_034_000 picoseconds.
+		Weight::from_parts(43_262_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(6))
@@ -231,8 +227,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `136`
 		//  Estimated: `1621`
-		// Minimum execution time: 4_389_000 picoseconds.
-		Weight::from_parts(4_695_000, 0)
+		// Minimum execution time: 4_261_000 picoseconds.
+		Weight::from_parts(4_580_000, 0)
 			.saturating_add(Weight::from_parts(0, 1621))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -243,8 +239,8 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157`
 		//  Estimated: `1642`
-		// Minimum execution time: 4_213_000 picoseconds.
-		Weight::from_parts(4_441_000, 0)
+		// Minimum execution time: 4_060_000 picoseconds.
+		Weight::from_parts(4_312_000, 0)
 			.saturating_add(Weight::from_parts(0, 1642))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gtest/src/weights/pallet_duniter_account.rs b/runtime/gtest/src/weights/pallet_duniter_account.rs
index d13bf5b85ab5dbca0094127446b74d54de82bd7f..9731c3b385dada7e749e390f1fd03ce30b49afb5 100644
--- a/runtime/gtest/src/weights/pallet_duniter_account.rs
+++ b/runtime/gtest/src/weights/pallet_duniter_account.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_duniter_account`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_duniter_account::WeightInfo for WeightInfo<
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3558`
-		// Minimum execution time: 4_308_000 picoseconds.
-		Weight::from_parts(4_654_000, 0)
+		// Minimum execution time: 4_257_000 picoseconds.
+		Weight::from_parts(4_495_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gtest/src/weights/pallet_identity.rs b/runtime/gtest/src/weights/pallet_identity.rs
index ece6cef2de8ad008479ac1e986016814eec7b05e..bc74383d962f53858155ae6903a7e45e78fcdcd7 100644
--- a/runtime/gtest/src/weights/pallet_identity.rs
+++ b/runtime/gtest/src/weights/pallet_identity.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_identity`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -71,8 +71,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1042`
 		//  Estimated: `6982`
-		// Minimum execution time: 68_755_000 picoseconds.
-		Weight::from_parts(71_780_000, 0)
+		// Minimum execution time: 66_537_000 picoseconds.
+		Weight::from_parts(68_909_000, 0)
 			.saturating_add(Weight::from_parts(0, 6982))
 			.saturating_add(T::DbWeight::get().reads(12))
 			.saturating_add(T::DbWeight::get().writes(12))
@@ -89,8 +89,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `784`
 		//  Estimated: `6724`
-		// Minimum execution time: 34_442_000 picoseconds.
-		Weight::from_parts(36_111_000, 0)
+		// Minimum execution time: 31_674_000 picoseconds.
+		Weight::from_parts(33_740_000, 0)
 			.saturating_add(Weight::from_parts(0, 6724))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -107,11 +107,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn change_owner_key() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `964`
-		//  Estimated: `6904`
-		// Minimum execution time: 82_826_000 picoseconds.
-		Weight::from_parts(85_543_000, 0)
-			.saturating_add(Weight::from_parts(0, 6904))
+		//  Measured:  `960`
+		//  Estimated: `6900`
+		// Minimum execution time: 81_164_000 picoseconds.
+		Weight::from_parts(83_820_000, 0)
+			.saturating_add(Weight::from_parts(0, 6900))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(5))
 	}
@@ -127,21 +127,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Quota::IdtyQuota` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
 	fn revoke_identity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `697`
-		//  Estimated: `6637`
-		// Minimum execution time: 69_941_000 picoseconds.
-		Weight::from_parts(71_920_000, 0)
-			.saturating_add(Weight::from_parts(0, 6637))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(5))
-	}
-	fn revoke_identity_legacy() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `697`
-		//  Estimated: `6637`
-		// Minimum execution time: 69_941_000 picoseconds.
-		Weight::from_parts(71_920_000, 0)
-			.saturating_add(Weight::from_parts(0, 6637))
+		//  Measured:  `673`
+		//  Estimated: `6613`
+		// Minimum execution time: 67_207_000 picoseconds.
+		Weight::from_parts(68_700_000, 0)
+			.saturating_add(Weight::from_parts(0, 6613))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(5))
 	}
@@ -152,11 +142,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_036_000 picoseconds.
-		Weight::from_parts(4_192_000, 0)
+		// Minimum execution time: 4_206_000 picoseconds.
+		Weight::from_parts(4_292_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_414
-			.saturating_add(Weight::from_parts(1_234_192, 0).saturating_mul(i.into()))
+			// Standard Error: 1_418
+			.saturating_add(Weight::from_parts(1_184_565, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
@@ -166,8 +156,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `104`
 		//  Estimated: `3558`
-		// Minimum execution time: 7_560_000 picoseconds.
-		Weight::from_parts(7_947_000, 0)
+		// Minimum execution time: 7_283_000 picoseconds.
+		Weight::from_parts(7_864_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -180,11 +170,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn link_account() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `403`
-		//  Estimated: `3868`
-		// Minimum execution time: 54_978_000 picoseconds.
-		Weight::from_parts(56_729_000, 0)
-			.saturating_add(Weight::from_parts(0, 3868))
+		//  Measured:  `379`
+		//  Estimated: `3844`
+		// Minimum execution time: 51_963_000 picoseconds.
+		Weight::from_parts(53_708_000, 0)
+			.saturating_add(Weight::from_parts(0, 3844))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -192,8 +182,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 85_000 picoseconds.
-		Weight::from_parts(105_000, 0)
+		// Minimum execution time: 89_000 picoseconds.
+		Weight::from_parts(111_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Identity::Identities` (r:1 w:0)
@@ -202,8 +192,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `327`
 		//  Estimated: `3792`
-		// Minimum execution time: 5_215_000 picoseconds.
-		Weight::from_parts(5_477_000, 0)
+		// Minimum execution time: 4_839_000 picoseconds.
+		Weight::from_parts(5_163_000, 0)
 			.saturating_add(Weight::from_parts(0, 3792))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -239,11 +229,11 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn do_revoke_identity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1873`
-		//  Estimated: `15238`
-		// Minimum execution time: 106_753_000 picoseconds.
-		Weight::from_parts(110_773_000, 0)
-			.saturating_add(Weight::from_parts(0, 15238))
+		//  Measured:  `1840`
+		//  Estimated: `15205`
+		// Minimum execution time: 103_148_000 picoseconds.
+		Weight::from_parts(107_169_000, 0)
+			.saturating_add(Weight::from_parts(0, 15205))
 			.saturating_add(T::DbWeight::get().reads(18))
 			.saturating_add(T::DbWeight::get().writes(21))
 	}
@@ -253,8 +243,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `327`
 		//  Estimated: `3792`
-		// Minimum execution time: 4_861_000 picoseconds.
-		Weight::from_parts(5_300_000, 0)
+		// Minimum execution time: 4_856_000 picoseconds.
+		Weight::from_parts(5_168_000, 0)
 			.saturating_add(Weight::from_parts(0, 3792))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -284,7 +274,7 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Certification::CertsByReceiver` (r:1 w:1)
 	/// Proof: `Certification::CertsByReceiver` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Certification::StorageIdtyCertMeta` (r:6 w:6)
+	/// Storage: `Certification::StorageIdtyCertMeta` (r:5 w:5)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Identity::IdentityIndexOf` (r:0 w:1)
 	/// Proof: `Identity::IdentityIndexOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -294,13 +284,13 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn do_remove_identity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2322`
-		//  Estimated: `18162`
-		// Minimum execution time: 153_390_000 picoseconds.
-		Weight::from_parts(165_702_000, 0)
-			.saturating_add(Weight::from_parts(0, 18162))
-			.saturating_add(T::DbWeight::get().reads(24))
-			.saturating_add(T::DbWeight::get().writes(30))
+		//  Measured:  `2289`
+		//  Estimated: `15654`
+		// Minimum execution time: 144_145_000 picoseconds.
+		Weight::from_parts(152_631_000, 0)
+			.saturating_add(Weight::from_parts(0, 15654))
+			.saturating_add(T::DbWeight::get().reads(23))
+			.saturating_add(T::DbWeight::get().writes(29))
 	}
 	/// Storage: `Membership::Membership` (r:1 w:1)
 	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -330,7 +320,7 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Certification::CertsByReceiver` (r:1 w:1)
 	/// Proof: `Certification::CertsByReceiver` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Certification::StorageIdtyCertMeta` (r:6 w:6)
+	/// Storage: `Certification::StorageIdtyCertMeta` (r:5 w:5)
 	/// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Quota::IdtyQuota` (r:0 w:1)
 	/// Proof: `Quota::IdtyQuota` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
@@ -338,13 +328,13 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn do_remove_identity_handler() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2315`
-		//  Estimated: `18155`
-		// Minimum execution time: 149_574_000 picoseconds.
-		Weight::from_parts(155_209_000, 0)
-			.saturating_add(Weight::from_parts(0, 18155))
-			.saturating_add(T::DbWeight::get().reads(25))
-			.saturating_add(T::DbWeight::get().writes(28))
+		//  Measured:  `2282`
+		//  Estimated: `15647`
+		// Minimum execution time: 132_636_000 picoseconds.
+		Weight::from_parts(138_006_000, 0)
+			.saturating_add(Weight::from_parts(0, 15647))
+			.saturating_add(T::DbWeight::get().reads(24))
+			.saturating_add(T::DbWeight::get().writes(27))
 	}
 	/// Storage: `Identity::Identities` (r:1 w:1)
 	/// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -354,8 +344,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `407`
 		//  Estimated: `6347`
-		// Minimum execution time: 17_050_000 picoseconds.
-		Weight::from_parts(18_246_000, 0)
+		// Minimum execution time: 15_981_000 picoseconds.
+		Weight::from_parts(16_564_000, 0)
 			.saturating_add(Weight::from_parts(0, 6347))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -366,8 +356,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `108`
 		//  Estimated: `3573`
-		// Minimum execution time: 2_963_000 picoseconds.
-		Weight::from_parts(3_155_000, 0)
+		// Minimum execution time: 2_741_000 picoseconds.
+		Weight::from_parts(2_990_000, 0)
 			.saturating_add(Weight::from_parts(0, 3573))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -379,8 +369,8 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `325`
 		//  Estimated: `3790`
-		// Minimum execution time: 7_923_000 picoseconds.
-		Weight::from_parts(8_194_000, 0)
+		// Minimum execution time: 7_492_000 picoseconds.
+		Weight::from_parts(8_063_000, 0)
 			.saturating_add(Weight::from_parts(0, 3790))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -405,10 +395,30 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `914`
 		//  Estimated: `4379`
-		// Minimum execution time: 37_843_000 picoseconds.
-		Weight::from_parts(39_298_000, 0)
+		// Minimum execution time: 36_776_000 picoseconds.
+		Weight::from_parts(37_873_000, 0)
 			.saturating_add(Weight::from_parts(0, 4379))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(7))
 	}
+	/// Storage: `Identity::IdentitiesNames` (r:1 w:0)
+	/// Proof: `Identity::IdentitiesNames` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Identity::Identities` (r:1 w:1)
+	/// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Identity::IdentityChangeSchedule` (r:2 w:2)
+	/// Proof: `Identity::IdentityChangeSchedule` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Membership::Membership` (r:1 w:1)
+	/// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: `Quota::IdtyQuota` (r:0 w:1)
+	/// Proof: `Quota::IdtyQuota` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
+	fn revoke_identity_legacy() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `823`
+		//  Estimated: `6763`
+		// Minimum execution time: 129_759_000 picoseconds.
+		Weight::from_parts(132_851_000, 0)
+			.saturating_add(Weight::from_parts(0, 6763))
+			.saturating_add(T::DbWeight::get().reads(5))
+			.saturating_add(T::DbWeight::get().writes(5))
+	}
 }
diff --git a/runtime/gtest/src/weights/pallet_im_online.rs b/runtime/gtest/src/weights/pallet_im_online.rs
index 8d3e4f80ca95739e35e58670105ef16d3e06d757..bea96f15d5863d8ee7871a30f7981bfdff3c9eff 100644
--- a/runtime/gtest/src/weights/pallet_im_online.rs
+++ b/runtime/gtest/src/weights/pallet_im_online.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_im_online`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -62,11 +62,11 @@ impl<T: frame_system::Config> pallet_im_online::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `525 + k * (32 ±0)`
 		//  Estimated: `33487 + k * (1761 ±0)`
-		// Minimum execution time: 54_826_000 picoseconds.
-		Weight::from_parts(66_447_730, 0)
+		// Minimum execution time: 53_395_000 picoseconds.
+		Weight::from_parts(63_370_698, 0)
 			.saturating_add(Weight::from_parts(0, 33487))
-			// Standard Error: 562
-			.saturating_add(Weight::from_parts(42_980, 0).saturating_mul(k.into()))
+			// Standard Error: 534
+			.saturating_add(Weight::from_parts(47_692, 0).saturating_mul(k.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 1761).saturating_mul(k.into()))
diff --git a/runtime/gtest/src/weights/pallet_membership.rs b/runtime/gtest/src/weights/pallet_membership.rs
index 40a2d645addf77f18340032953c523f9d10ba9cc..bc72ee4225356e14da876c9e127d3dde0387c895 100644
--- a/runtime/gtest/src/weights/pallet_membership.rs
+++ b/runtime/gtest/src/weights/pallet_membership.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_membership`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -51,8 +51,8 @@ impl<T: frame_system::Config> pallet_membership::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 105_000 picoseconds.
-		Weight::from_parts(137_000, 0)
+		// Minimum execution time: 92_000 picoseconds.
+		Weight::from_parts(112_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Membership::MembershipsExpireOn` (r:2 w:1)
@@ -86,13 +86,13 @@ impl<T: frame_system::Config> pallet_membership::WeightInfo for WeightInfo<T> {
 	/// The range of component `i` is `[0, 3]`.
 	fn expire_memberships(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `139 + i * (960 ±0)`
-		//  Estimated: `14995 + i * (2695 ±1)`
-		// Minimum execution time: 5_479_000 picoseconds.
-		Weight::from_parts(14_151_165, 0)
-			.saturating_add(Weight::from_parts(0, 14995))
-			// Standard Error: 592_743
-			.saturating_add(Weight::from_parts(76_914_637, 0).saturating_mul(i.into()))
+		//  Measured:  `139 + i * (944 ±0)`
+		//  Estimated: `14961 + i * (2695 ±1)`
+		// Minimum execution time: 5_196_000 picoseconds.
+		Weight::from_parts(13_837_036, 0)
+			.saturating_add(Weight::from_parts(0, 14961))
+			// Standard Error: 589_032
+			.saturating_add(Weight::from_parts(73_758_233, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().reads((11_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/runtime/gtest/src/weights/pallet_multisig.rs b/runtime/gtest/src/weights/pallet_multisig.rs
index 44ef717a6703283bea9e0267728b72f7b76e2730..4461c1a0e75a633e588c36b577a12c76649e0de7 100644
--- a/runtime/gtest/src/weights/pallet_multisig.rs
+++ b/runtime/gtest/src/weights/pallet_multisig.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_multisig`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,11 +52,11 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_402_000 picoseconds.
-		Weight::from_parts(5_734_667, 0)
+		// Minimum execution time: 5_364_000 picoseconds.
+		Weight::from_parts(5_785_043, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(334, 0).saturating_mul(z.into()))
+			.saturating_add(Weight::from_parts(322, 0).saturating_mul(z.into()))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
@@ -66,13 +66,13 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `125 + s * (5 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 27_930_000 picoseconds.
-		Weight::from_parts(28_061_965, 0)
+		// Minimum execution time: 26_417_000 picoseconds.
+		Weight::from_parts(25_303_288, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 6_976
-			.saturating_add(Weight::from_parts(140_667, 0).saturating_mul(s.into()))
-			// Standard Error: 6
-			.saturating_add(Weight::from_parts(1_068, 0).saturating_mul(z.into()))
+			// Standard Error: 5_707
+			.saturating_add(Weight::from_parts(178_274, 0).saturating_mul(s.into()))
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(1_182, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -84,13 +84,13 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `240`
 		//  Estimated: `3922`
-		// Minimum execution time: 15_840_000 picoseconds.
-		Weight::from_parts(16_001_349, 0)
+		// Minimum execution time: 15_145_000 picoseconds.
+		Weight::from_parts(14_782_120, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 4_919
-			.saturating_add(Weight::from_parts(70_289, 0).saturating_mul(s.into()))
+			// Standard Error: 4_703
+			.saturating_add(Weight::from_parts(125_383, 0).saturating_mul(s.into()))
 			// Standard Error: 3
-			.saturating_add(Weight::from_parts(1_070, 0).saturating_mul(z.into()))
+			.saturating_add(Weight::from_parts(1_172, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -104,58 +104,67 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `259 + s * (37 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 30_254_000 picoseconds.
-		Weight::from_parts(31_261_609, 0)
+		// Minimum execution time: 28_907_000 picoseconds.
+		Weight::from_parts(27_961_807, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 6_677
-			.saturating_add(Weight::from_parts(73_545, 0).saturating_mul(s.into()))
+			// Standard Error: 6_354
+			.saturating_add(Weight::from_parts(176_201, 0).saturating_mul(s.into()))
 			// Standard Error: 5
-			.saturating_add(Weight::from_parts(1_061, 0).saturating_mul(z.into()))
+			.saturating_add(Weight::from_parts(1_166, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[2, 10]`.
-	fn approve_as_multi_create(s: u32, ) -> Weight {
+	/// The range of component `z` is `[0, 10000]`.
+	fn approve_as_multi_create(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `130 + s * (5 ±0)`
+		//  Measured:  `125 + s * (5 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 25_378_000 picoseconds.
-		Weight::from_parts(26_802_406, 0)
+		// Minimum execution time: 23_743_000 picoseconds.
+		Weight::from_parts(24_364_063, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 7_813
-			.saturating_add(Weight::from_parts(167_683, 0).saturating_mul(s.into()))
+			// Standard Error: 5_325
+			.saturating_add(Weight::from_parts(186_053, 0).saturating_mul(s.into()))
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(27, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[2, 10]`.
-	fn approve_as_multi_approve(s: u32, ) -> Weight {
+	/// The range of component `z` is `[0, 10000]`.
+	fn approve_as_multi_approve(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `240`
 		//  Estimated: `3922`
-		// Minimum execution time: 14_013_000 picoseconds.
-		Weight::from_parts(14_774_271, 0)
+		// Minimum execution time: 13_679_000 picoseconds.
+		Weight::from_parts(13_991_998, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 3_855
-			.saturating_add(Weight::from_parts(111_703, 0).saturating_mul(s.into()))
+			// Standard Error: 3_512
+			.saturating_add(Weight::from_parts(114_530, 0).saturating_mul(s.into()))
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(20, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Multisig::Multisigs` (r:1 w:1)
 	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(457), added: 2932, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[2, 10]`.
-	fn cancel_as_multi(s: u32, ) -> Weight {
+	/// The range of component `z` is `[0, 10000]`.
+	fn cancel_as_multi(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `328 + s * (5 ±0)`
+		//  Measured:  `323 + s * (5 ±0)`
 		//  Estimated: `3922`
-		// Minimum execution time: 25_931_000 picoseconds.
-		Weight::from_parts(27_792_486, 0)
+		// Minimum execution time: 24_305_000 picoseconds.
+		Weight::from_parts(24_929_839, 0)
 			.saturating_add(Weight::from_parts(0, 3922))
-			// Standard Error: 5_947
-			.saturating_add(Weight::from_parts(132_444, 0).saturating_mul(s.into()))
+			// Standard Error: 4_352
+			.saturating_add(Weight::from_parts(160_571, 0).saturating_mul(s.into()))
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(21, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/runtime/gtest/src/weights/pallet_oneshot_account.rs b/runtime/gtest/src/weights/pallet_oneshot_account.rs
index 4cfc554734a2ba08a255c57e9673d8a448d5fe18..b085e4d1b3719f7a6aeb5affef5f953aed7b5f6a 100644
--- a/runtime/gtest/src/weights/pallet_oneshot_account.rs
+++ b/runtime/gtest/src/weights/pallet_oneshot_account.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_oneshot_account`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_oneshot_account::WeightInfo for WeightInfo<
 		// Proof Size summary in bytes:
 		//  Measured:  `42`
 		//  Estimated: `3507`
-		// Minimum execution time: 21_166_000 picoseconds.
-		Weight::from_parts(21_892_000, 0)
+		// Minimum execution time: 21_304_000 picoseconds.
+		Weight::from_parts(22_409_000, 0)
 			.saturating_add(Weight::from_parts(0, 3507))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -67,11 +67,11 @@ impl<T: frame_system::Config> pallet_oneshot_account::WeightInfo for WeightInfo<
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn consume_oneshot_account() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `241`
-		//  Estimated: `3706`
-		// Minimum execution time: 30_530_000 picoseconds.
-		Weight::from_parts(31_743_000, 0)
-			.saturating_add(Weight::from_parts(0, 3706))
+		//  Measured:  `217`
+		//  Estimated: `3682`
+		// Minimum execution time: 28_122_000 picoseconds.
+		Weight::from_parts(28_814_000, 0)
+			.saturating_add(Weight::from_parts(0, 3682))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -83,10 +83,10 @@ impl<T: frame_system::Config> pallet_oneshot_account::WeightInfo for WeightInfo<
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	fn consume_oneshot_account_with_remaining() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `301`
+		//  Measured:  `277`
 		//  Estimated: `6126`
-		// Minimum execution time: 44_700_000 picoseconds.
-		Weight::from_parts(47_037_000, 0)
+		// Minimum execution time: 41_170_000 picoseconds.
+		Weight::from_parts(42_802_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/runtime/gtest/src/weights/pallet_preimage.rs b/runtime/gtest/src/weights/pallet_preimage.rs
index 8673588f3a98e39341077ea4210aef84e6c18cb4..6bc43bfdd4aab051510c49d753c37c099249f450 100644
--- a/runtime/gtest/src/weights/pallet_preimage.rs
+++ b/runtime/gtest/src/weights/pallet_preimage.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_preimage`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -56,13 +56,13 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `42`
+		//  Measured:  `4`
 		//  Estimated: `3548`
-		// Minimum execution time: 11_995_000 picoseconds.
-		Weight::from_parts(12_438_000, 0)
+		// Minimum execution time: 11_400_000 picoseconds.
+		Weight::from_parts(11_727_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_276, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_277, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -75,13 +75,13 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_requested_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 15_871_000 picoseconds.
-		Weight::from_parts(16_038_000, 0)
+		// Minimum execution time: 13_370_000 picoseconds.
+		Weight::from_parts(13_819_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_277, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_276, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -94,13 +94,13 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_no_deposit_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 13_450_000 picoseconds.
-		Weight::from_parts(13_904_000, 0)
+		// Minimum execution time: 12_797_000 picoseconds.
+		Weight::from_parts(13_127_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_357, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_359, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -112,10 +112,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `172`
+		//  Measured:  `134`
 		//  Estimated: `3548`
-		// Minimum execution time: 22_973_000 picoseconds.
-		Weight::from_parts(24_538_000, 0)
+		// Minimum execution time: 19_865_000 picoseconds.
+		Weight::from_parts(21_735_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -128,10 +128,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `144`
+		//  Measured:  `106`
 		//  Estimated: `3548`
-		// Minimum execution time: 22_976_000 picoseconds.
-		Weight::from_parts(24_675_000, 0)
+		// Minimum execution time: 20_597_000 picoseconds.
+		Weight::from_parts(22_866_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -142,10 +142,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `172`
+		//  Measured:  `134`
 		//  Estimated: `3548`
-		// Minimum execution time: 21_408_000 picoseconds.
-		Weight::from_parts(22_984_000, 0)
+		// Minimum execution time: 17_511_000 picoseconds.
+		Weight::from_parts(18_345_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -156,10 +156,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `144`
+		//  Measured:  `106`
 		//  Estimated: `3548`
-		// Minimum execution time: 13_888_000 picoseconds.
-		Weight::from_parts(15_741_000, 0)
+		// Minimum execution time: 12_009_000 picoseconds.
+		Weight::from_parts(12_814_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -170,10 +170,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `42`
+		//  Measured:  `4`
 		//  Estimated: `3548`
-		// Minimum execution time: 10_826_000 picoseconds.
-		Weight::from_parts(11_410_000, 0)
+		// Minimum execution time: 9_896_000 picoseconds.
+		Weight::from_parts(11_114_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -184,10 +184,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_requested_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 9_166_000 picoseconds.
-		Weight::from_parts(10_050_000, 0)
+		// Minimum execution time: 7_939_000 picoseconds.
+		Weight::from_parts(8_424_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -200,10 +200,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unrequest_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `144`
+		//  Measured:  `106`
 		//  Estimated: `3548`
-		// Minimum execution time: 20_526_000 picoseconds.
-		Weight::from_parts(22_704_000, 0)
+		// Minimum execution time: 18_338_000 picoseconds.
+		Weight::from_parts(19_844_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -214,10 +214,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 8_648_000 picoseconds.
-		Weight::from_parts(9_293_000, 0)
+		// Minimum execution time: 8_162_000 picoseconds.
+		Weight::from_parts(9_031_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -228,10 +228,10 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_multi_referenced_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `106`
+		//  Measured:  `68`
 		//  Estimated: `3548`
-		// Minimum execution time: 8_596_000 picoseconds.
-		Weight::from_parts(9_282_000, 0)
+		// Minimum execution time: 7_889_000 picoseconds.
+		Weight::from_parts(8_941_000, 0)
 			.saturating_add(Weight::from_parts(0, 3548))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -247,11 +247,11 @@ impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + n * (179 ±0)`
 		//  Estimated: `990 + n * (2568 ±0)`
-		// Minimum execution time: 19_474_000 picoseconds.
-		Weight::from_parts(20_048_000, 0)
+		// Minimum execution time: 18_723_000 picoseconds.
+		Weight::from_parts(18_962_000, 0)
 			.saturating_add(Weight::from_parts(0, 990))
-			// Standard Error: 17_666
-			.saturating_add(Weight::from_parts(15_238_060, 0).saturating_mul(n.into()))
+			// Standard Error: 15_841
+			.saturating_add(Weight::from_parts(14_499_057, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into())))
 			.saturating_add(Weight::from_parts(0, 2568).saturating_mul(n.into()))
diff --git a/runtime/gtest/src/weights/pallet_provide_randomness.rs b/runtime/gtest/src/weights/pallet_provide_randomness.rs
index 885a31777ee6ad322e5bcae030c6bfc78d7238fc..08c2b4f927d2b8ed32e925fdc76cc9f3be714791 100644
--- a/runtime/gtest/src/weights/pallet_provide_randomness.rs
+++ b/runtime/gtest/src/weights/pallet_provide_randomness.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_provide_randomness`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_provide_randomness::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `298`
 		//  Estimated: `3763`
-		// Minimum execution time: 45_460_000 picoseconds.
-		Weight::from_parts(46_779_000, 0)
+		// Minimum execution time: 42_091_000 picoseconds.
+		Weight::from_parts(43_488_000, 0)
 			.saturating_add(Weight::from_parts(0, 3763))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(5))
@@ -86,11 +86,11 @@ impl<T: frame_system::Config> pallet_provide_randomness::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `341 + i * (59 ±0)`
 		//  Estimated: `1827 + i * (2535 ±0)`
-		// Minimum execution time: 20_516_000 picoseconds.
-		Weight::from_parts(18_960_016, 0)
+		// Minimum execution time: 18_327_000 picoseconds.
+		Weight::from_parts(19_227_339, 0)
 			.saturating_add(Weight::from_parts(0, 1827))
-			// Standard Error: 4_979
-			.saturating_add(Weight::from_parts(5_509_698, 0).saturating_mul(i.into()))
+			// Standard Error: 9_787
+			.saturating_add(Weight::from_parts(5_408_556, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -118,11 +118,11 @@ impl<T: frame_system::Config> pallet_provide_randomness::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `351 + i * (59 ±0)`
 		//  Estimated: `3817 + i * (2535 ±0)`
-		// Minimum execution time: 22_272_000 picoseconds.
-		Weight::from_parts(20_784_912, 0)
+		// Minimum execution time: 19_658_000 picoseconds.
+		Weight::from_parts(18_373_418, 0)
 			.saturating_add(Weight::from_parts(0, 3817))
-			// Standard Error: 9_029
-			.saturating_add(Weight::from_parts(5_915_066, 0).saturating_mul(i.into()))
+			// Standard Error: 6_234
+			.saturating_add(Weight::from_parts(5_823_862, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/runtime/gtest/src/weights/pallet_proxy.rs b/runtime/gtest/src/weights/pallet_proxy.rs
index 245d3a9619643d5fbd8c450af28d1e6e6374f103..d2a8a94a7f1a5ba0617961b98896006a149e2cf4 100644
--- a/runtime/gtest/src/weights/pallet_proxy.rs
+++ b/runtime/gtest/src/weights/pallet_proxy.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_proxy`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -54,11 +54,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 13_847_000 picoseconds.
-		Weight::from_parts(14_157_757, 0)
+		// Minimum execution time: 12_080_000 picoseconds.
+		Weight::from_parts(12_953_694, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 11_841
-			.saturating_add(Weight::from_parts(96_916, 0).saturating_mul(p.into()))
+			// Standard Error: 1_411
+			.saturating_add(Weight::from_parts(31_386, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
 	/// Storage: `Proxy::Proxies` (r:1 w:0)
@@ -73,13 +73,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `399 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 32_798_000 picoseconds.
-		Weight::from_parts(33_437_104, 0)
+		// Minimum execution time: 31_980_000 picoseconds.
+		Weight::from_parts(33_042_619, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 2_218
-			.saturating_add(Weight::from_parts(129_003, 0).saturating_mul(a.into()))
-			// Standard Error: 2_291
-			.saturating_add(Weight::from_parts(34_559, 0).saturating_mul(p.into()))
+			// Standard Error: 2_556
+			.saturating_add(Weight::from_parts(126_904, 0).saturating_mul(a.into()))
+			// Standard Error: 2_641
+			.saturating_add(Weight::from_parts(36_564, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -93,13 +93,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `322 + a * (68 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 22_460_000 picoseconds.
-		Weight::from_parts(22_931_792, 0)
+		// Minimum execution time: 20_496_000 picoseconds.
+		Weight::from_parts(21_369_049, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 1_607
-			.saturating_add(Weight::from_parts(149_039, 0).saturating_mul(a.into()))
-			// Standard Error: 1_660
-			.saturating_add(Weight::from_parts(12_237, 0).saturating_mul(p.into()))
+			// Standard Error: 1_497
+			.saturating_add(Weight::from_parts(134_327, 0).saturating_mul(a.into()))
+			// Standard Error: 1_547
+			.saturating_add(Weight::from_parts(2_837, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -113,13 +113,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `322 + a * (68 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 22_374_000 picoseconds.
-		Weight::from_parts(23_055_158, 0)
+		// Minimum execution time: 20_074_000 picoseconds.
+		Weight::from_parts(20_788_282, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 1_686
-			.saturating_add(Weight::from_parts(136_722, 0).saturating_mul(a.into()))
-			// Standard Error: 1_742
-			.saturating_add(Weight::from_parts(11_068, 0).saturating_mul(p.into()))
+			// Standard Error: 1_804
+			.saturating_add(Weight::from_parts(147_279, 0).saturating_mul(a.into()))
+			// Standard Error: 1_864
+			.saturating_add(Weight::from_parts(13_614, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -135,13 +135,13 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `331 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5690`
-		// Minimum execution time: 29_361_000 picoseconds.
-		Weight::from_parts(29_911_130, 0)
+		// Minimum execution time: 27_325_000 picoseconds.
+		Weight::from_parts(29_532_669, 0)
 			.saturating_add(Weight::from_parts(0, 5690))
-			// Standard Error: 1_868
-			.saturating_add(Weight::from_parts(143_513, 0).saturating_mul(a.into()))
-			// Standard Error: 1_930
-			.saturating_add(Weight::from_parts(40_046, 0).saturating_mul(p.into()))
+			// Standard Error: 1_989
+			.saturating_add(Weight::from_parts(143_167, 0).saturating_mul(a.into()))
+			// Standard Error: 2_055
+			.saturating_add(Weight::from_parts(44_734, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -152,11 +152,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 21_235_000 picoseconds.
-		Weight::from_parts(22_514_912, 0)
+		// Minimum execution time: 19_246_000 picoseconds.
+		Weight::from_parts(20_200_151, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_976
-			.saturating_add(Weight::from_parts(41_364, 0).saturating_mul(p.into()))
+			// Standard Error: 1_581
+			.saturating_add(Weight::from_parts(47_338, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -167,11 +167,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 21_548_000 picoseconds.
-		Weight::from_parts(22_466_787, 0)
+		// Minimum execution time: 19_136_000 picoseconds.
+		Weight::from_parts(20_453_597, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_893
-			.saturating_add(Weight::from_parts(46_469, 0).saturating_mul(p.into()))
+			// Standard Error: 1_810
+			.saturating_add(Weight::from_parts(44_406, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -182,11 +182,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `157 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 19_311_000 picoseconds.
-		Weight::from_parts(20_351_733, 0)
+		// Minimum execution time: 17_393_000 picoseconds.
+		Weight::from_parts(18_608_520, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_377
-			.saturating_add(Weight::from_parts(47_135, 0).saturating_mul(p.into()))
+			// Standard Error: 1_837
+			.saturating_add(Weight::from_parts(27_026, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -197,11 +197,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `177`
 		//  Estimated: `4698`
-		// Minimum execution time: 22_541_000 picoseconds.
-		Weight::from_parts(23_604_024, 0)
+		// Minimum execution time: 20_391_000 picoseconds.
+		Weight::from_parts(21_824_221, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_187
-			.saturating_add(Weight::from_parts(13_008, 0).saturating_mul(p.into()))
+			// Standard Error: 1_581
+			.saturating_add(Weight::from_parts(2_212, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -212,11 +212,11 @@ impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `194 + p * (37 ±0)`
 		//  Estimated: `4698`
-		// Minimum execution time: 19_371_000 picoseconds.
-		Weight::from_parts(20_993_121, 0)
+		// Minimum execution time: 17_990_000 picoseconds.
+		Weight::from_parts(19_139_776, 0)
 			.saturating_add(Weight::from_parts(0, 4698))
-			// Standard Error: 1_372
-			.saturating_add(Weight::from_parts(38_268, 0).saturating_mul(p.into()))
+			// Standard Error: 5_685
+			.saturating_add(Weight::from_parts(31_285, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/runtime/gtest/src/weights/pallet_scheduler.rs b/runtime/gtest/src/weights/pallet_scheduler.rs
index 18e5ac1218163e516bfe329387d998f161458ba5..fa06c800832d4a9f86de10e6567b3a9edafdfda0 100644
--- a/runtime/gtest/src/weights/pallet_scheduler.rs
+++ b/runtime/gtest/src/weights/pallet_scheduler.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_scheduler`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -51,10 +51,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::IncompleteSince` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	fn service_agendas_base() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `30`
+		//  Measured:  `31`
 		//  Estimated: `1489`
-		// Minimum execution time: 3_302_000 picoseconds.
-		Weight::from_parts(3_504_000, 0)
+		// Minimum execution time: 3_093_000 picoseconds.
+		Weight::from_parts(3_273_000, 0)
 			.saturating_add(Weight::from_parts(0, 1489))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -64,13 +64,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 50]`.
 	fn service_agenda_base(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + s * (177 ±0)`
+		//  Measured:  `78 + s * (177 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 3_285_000 picoseconds.
-		Weight::from_parts(6_925_828, 0)
+		// Minimum execution time: 3_251_000 picoseconds.
+		Weight::from_parts(6_678_343, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 1_944
-			.saturating_add(Weight::from_parts(264_477, 0).saturating_mul(s.into()))
+			// Standard Error: 1_681
+			.saturating_add(Weight::from_parts(249_048, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -78,8 +78,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_830_000 picoseconds.
-		Weight::from_parts(3_038_000, 0)
+		// Minimum execution time: 2_918_000 picoseconds.
+		Weight::from_parts(3_249_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Preimage::PreimageFor` (r:1 w:1)
@@ -91,13 +91,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[128, 4194304]`.
 	fn service_task_fetched(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `179 + s * (1 ±0)`
+		//  Measured:  `141 + s * (1 ±0)`
 		//  Estimated: `4197809`
-		// Minimum execution time: 17_515_000 picoseconds.
-		Weight::from_parts(17_805_000, 0)
+		// Minimum execution time: 15_525_000 picoseconds.
+		Weight::from_parts(15_681_000, 0)
 			.saturating_add(Weight::from_parts(0, 4197809))
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(881, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(877, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -107,8 +107,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_313_000 picoseconds.
-		Weight::from_parts(4_580_000, 0)
+		// Minimum execution time: 4_209_000 picoseconds.
+		Weight::from_parts(4_560_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -116,24 +116,24 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_837_000 picoseconds.
-		Weight::from_parts(3_142_000, 0)
+		// Minimum execution time: 2_765_000 picoseconds.
+		Weight::from_parts(3_002_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn execute_dispatch_signed() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_902_000 picoseconds.
-		Weight::from_parts(2_064_000, 0)
+		// Minimum execution time: 1_957_000 picoseconds.
+		Weight::from_parts(2_170_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn execute_dispatch_unsigned() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_798_000 picoseconds.
-		Weight::from_parts(1_969_000, 0)
+		// Minimum execution time: 2_028_000 picoseconds.
+		Weight::from_parts(2_184_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
@@ -141,13 +141,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 49]`.
 	fn schedule(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + s * (177 ±0)`
+		//  Measured:  `78 + s * (177 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 9_118_000 picoseconds.
-		Weight::from_parts(12_701_049, 0)
+		// Minimum execution time: 8_554_000 picoseconds.
+		Weight::from_parts(12_083_564, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 1_936
-			.saturating_add(Weight::from_parts(278_755, 0).saturating_mul(s.into()))
+			// Standard Error: 1_745
+			.saturating_add(Weight::from_parts(266_177, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -160,13 +160,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[1, 50]`.
 	fn cancel(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `77 + s * (177 ±0)`
+		//  Measured:  `78 + s * (177 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 14_061_000 picoseconds.
-		Weight::from_parts(15_394_385, 0)
+		// Minimum execution time: 13_516_000 picoseconds.
+		Weight::from_parts(14_830_688, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 2_000
-			.saturating_add(Weight::from_parts(422_004, 0).saturating_mul(s.into()))
+			// Standard Error: 1_317
+			.saturating_add(Weight::from_parts(389_932, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -177,13 +177,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[0, 49]`.
 	fn schedule_named(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `254 + s * (185 ±0)`
+		//  Measured:  `255 + s * (185 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 11_605_000 picoseconds.
-		Weight::from_parts(17_353_573, 0)
+		// Minimum execution time: 11_545_000 picoseconds.
+		Weight::from_parts(16_355_221, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 4_377
-			.saturating_add(Weight::from_parts(329_843, 0).saturating_mul(s.into()))
+			// Standard Error: 2_856
+			.saturating_add(Weight::from_parts(300_083, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -196,13 +196,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[1, 50]`.
 	fn cancel_named(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `280 + s * (185 ±0)`
+		//  Measured:  `281 + s * (185 ±0)`
 		//  Estimated: `13928`
-		// Minimum execution time: 16_525_000 picoseconds.
-		Weight::from_parts(19_625_188, 0)
+		// Minimum execution time: 15_996_000 picoseconds.
+		Weight::from_parts(17_919_238, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 2_786
-			.saturating_add(Weight::from_parts(462_345, 0).saturating_mul(s.into()))
+			// Standard Error: 2_252
+			.saturating_add(Weight::from_parts(424_280, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -213,13 +213,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// The range of component `s` is `[1, 50]`.
 	fn schedule_retry(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `117`
+		//  Measured:  `118`
 		//  Estimated: `13928`
-		// Minimum execution time: 8_585_000 picoseconds.
-		Weight::from_parts(9_321_715, 0)
+		// Minimum execution time: 8_383_000 picoseconds.
+		Weight::from_parts(9_121_245, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
-			// Standard Error: 619
-			.saturating_add(Weight::from_parts(26_959, 0).saturating_mul(s.into()))
+			// Standard Error: 590
+			.saturating_add(Weight::from_parts(27_124, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -229,10 +229,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `8927`
+		//  Measured:  `8928`
 		//  Estimated: `13928`
-		// Minimum execution time: 20_927_000 picoseconds.
-		Weight::from_parts(21_777_000, 0)
+		// Minimum execution time: 19_798_000 picoseconds.
+		Weight::from_parts(20_980_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -245,10 +245,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `9605`
+		//  Measured:  `9606`
 		//  Estimated: `13928`
-		// Minimum execution time: 28_020_000 picoseconds.
-		Weight::from_parts(29_238_000, 0)
+		// Minimum execution time: 25_627_000 picoseconds.
+		Weight::from_parts(26_536_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -259,10 +259,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `8939`
+		//  Measured:  `8940`
 		//  Estimated: `13928`
-		// Minimum execution time: 20_075_000 picoseconds.
-		Weight::from_parts(21_511_000, 0)
+		// Minimum execution time: 19_394_000 picoseconds.
+		Weight::from_parts(19_828_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -275,10 +275,10 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `9617`
+		//  Measured:  `9618`
 		//  Estimated: `13928`
-		// Minimum execution time: 27_430_000 picoseconds.
-		Weight::from_parts(28_593_000, 0)
+		// Minimum execution time: 24_693_000 picoseconds.
+		Weight::from_parts(25_438_000, 0)
 			.saturating_add(Weight::from_parts(0, 13928))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gtest/src/weights/pallet_session.rs b/runtime/gtest/src/weights/pallet_session.rs
index fe69fdcd512f9960c643124b5fca1961530a111a..3eafd76d0d7e2916b0a65ed40b704b3b84766b24 100644
--- a/runtime/gtest/src/weights/pallet_session.rs
+++ b/runtime/gtest/src/weights/pallet_session.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_session`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -55,8 +55,8 @@ impl<T: frame_system::Config> pallet_session::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `810`
 		//  Estimated: `11700`
-		// Minimum execution time: 29_118_000 picoseconds.
-		Weight::from_parts(29_902_000, 0)
+		// Minimum execution time: 25_575_000 picoseconds.
+		Weight::from_parts(26_268_000, 0)
 			.saturating_add(Weight::from_parts(0, 11700))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(5))
@@ -69,8 +69,8 @@ impl<T: frame_system::Config> pallet_session::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `477`
 		//  Estimated: `3942`
-		// Minimum execution time: 16_644_000 picoseconds.
-		Weight::from_parts(17_318_000, 0)
+		// Minimum execution time: 14_924_000 picoseconds.
+		Weight::from_parts(15_862_000, 0)
 			.saturating_add(Weight::from_parts(0, 3942))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(5))
diff --git a/runtime/gtest/src/weights/pallet_smith_members.rs b/runtime/gtest/src/weights/pallet_smith_members.rs
index 53b6599324445ea2072dc1bcaba8d73b8f901739..5f281eadf68fa5d5fc1e7cfa24f166daade07137 100644
--- a/runtime/gtest/src/weights/pallet_smith_members.rs
+++ b/runtime/gtest/src/weights/pallet_smith_members.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_smith_members`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -59,11 +59,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `SmithMembers::ExpiresOn` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn invite_smith() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `801`
-		//  Estimated: `6741`
-		// Minimum execution time: 34_106_000 picoseconds.
-		Weight::from_parts(35_795_000, 0)
-			.saturating_add(Weight::from_parts(0, 6741))
+		//  Measured:  `748`
+		//  Estimated: `6688`
+		// Minimum execution time: 30_335_000 picoseconds.
+		Weight::from_parts(31_935_000, 0)
+			.saturating_add(Weight::from_parts(0, 6688))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -75,8 +75,8 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 		// Proof Size summary in bytes:
 		//  Measured:  `566`
 		//  Estimated: `4031`
-		// Minimum execution time: 18_751_000 picoseconds.
-		Weight::from_parts(19_979_000, 0)
+		// Minimum execution time: 16_152_000 picoseconds.
+		Weight::from_parts(16_868_000, 0)
 			.saturating_add(Weight::from_parts(0, 4031))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -91,11 +91,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `SmithMembers::ExpiresOn` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn certify_smith() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `611`
-		//  Estimated: `6551`
-		// Minimum execution time: 28_428_000 picoseconds.
-		Weight::from_parts(29_966_000, 0)
-			.saturating_add(Weight::from_parts(0, 6551))
+		//  Measured:  `591`
+		//  Estimated: `6531`
+		// Minimum execution time: 24_939_000 picoseconds.
+		Weight::from_parts(25_892_000, 0)
+			.saturating_add(Weight::from_parts(0, 6531))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -117,11 +117,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn on_removed_wot_member() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1204`
-		//  Estimated: `14569`
-		// Minimum execution time: 71_994_000 picoseconds.
-		Weight::from_parts(75_523_000, 0)
-			.saturating_add(Weight::from_parts(0, 14569))
+		//  Measured:  `1171`
+		//  Estimated: `14536`
+		// Minimum execution time: 66_210_000 picoseconds.
+		Weight::from_parts(71_483_000, 0)
+			.saturating_add(Weight::from_parts(0, 14536))
 			.saturating_add(T::DbWeight::get().reads(11))
 			.saturating_add(T::DbWeight::get().writes(15))
 	}
@@ -129,11 +129,11 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T>
 	/// Proof: `SmithMembers::Smiths` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn on_removed_wot_member_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `253`
-		//  Estimated: `3718`
-		// Minimum execution time: 4_215_000 picoseconds.
-		Weight::from_parts(4_487_000, 0)
-			.saturating_add(Weight::from_parts(0, 3718))
+		//  Measured:  `220`
+		//  Estimated: `3685`
+		// Minimum execution time: 3_794_000 picoseconds.
+		Weight::from_parts(4_236_000, 0)
+			.saturating_add(Weight::from_parts(0, 3685))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
 }
diff --git a/runtime/gtest/src/weights/pallet_sudo.rs b/runtime/gtest/src/weights/pallet_sudo.rs
index 812048e82112fbffb1b32f7c92c6d6664ea0c235..7b6ee13d2cfd193901935e16991ef82e78a456a4 100644
--- a/runtime/gtest/src/weights/pallet_sudo.rs
+++ b/runtime/gtest/src/weights/pallet_sudo.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_sudo`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -53,8 +53,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 8_684_000 picoseconds.
-		Weight::from_parts(9_361_000, 0)
+		// Minimum execution time: 8_717_000 picoseconds.
+		Weight::from_parts(9_230_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -65,8 +65,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 9_133_000 picoseconds.
-		Weight::from_parts(9_729_000, 0)
+		// Minimum execution time: 8_907_000 picoseconds.
+		Weight::from_parts(9_413_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -76,8 +76,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 9_144_000 picoseconds.
-		Weight::from_parts(9_815_000, 0)
+		// Minimum execution time: 8_901_000 picoseconds.
+		Weight::from_parts(9_515_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -87,10 +87,21 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 8_227_000 picoseconds.
-		Weight::from_parts(8_809_000, 0)
+		// Minimum execution time: 7_784_000 picoseconds.
+		Weight::from_parts(8_235_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
+	/// Storage: `Sudo::Key` (r:1 w:0)
+	/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
+	fn check_only_sudo_account() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `165`
+		//  Estimated: `1517`
+		// Minimum execution time: 3_264_000 picoseconds.
+		Weight::from_parts(3_533_000, 0)
+			.saturating_add(Weight::from_parts(0, 1517))
+			.saturating_add(T::DbWeight::get().reads(1))
+	}
 }
diff --git a/runtime/gtest/src/weights/pallet_timestamp.rs b/runtime/gtest/src/weights/pallet_timestamp.rs
index 7b233d2281e2cfc6ac22582cbe04178f6f26307f..c9c5cc67081160ea3393f60d06e897cc9a41b194 100644
--- a/runtime/gtest/src/weights/pallet_timestamp.rs
+++ b/runtime/gtest/src/weights/pallet_timestamp.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_timestamp`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -57,8 +57,8 @@ impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `268`
 		//  Estimated: `1493`
-		// Minimum execution time: 11_746_000 picoseconds.
-		Weight::from_parts(12_396_000, 0)
+		// Minimum execution time: 10_595_000 picoseconds.
+		Weight::from_parts(11_028_000, 0)
 			.saturating_add(Weight::from_parts(0, 1493))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -67,8 +67,8 @@ impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `57`
 		//  Estimated: `0`
-		// Minimum execution time: 3_514_000 picoseconds.
-		Weight::from_parts(3_884_000, 0)
+		// Minimum execution time: 3_309_000 picoseconds.
+		Weight::from_parts(3_526_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/runtime/gtest/src/weights/pallet_transaction_payment.rs b/runtime/gtest/src/weights/pallet_transaction_payment.rs
new file mode 100644
index 0000000000000000000000000000000000000000..43119f8c516506ea75077666ba33477fb1de8be1
--- /dev/null
+++ b/runtime/gtest/src/weights/pallet_transaction_payment.rs
@@ -0,0 +1,62 @@
+// Copyright 2021-2022 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+//! Autogenerated weights for `pallet_transaction_payment`
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! WORST CASE MAP SIZE: `1000000`
+//! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
+//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
+
+// Executed Command:
+// target/release/duniter
+// benchmark
+// pallet
+// --genesis-builder=spec-genesis
+// --steps=50
+// --repeat=20
+// --pallet=*
+// --extrinsic=*
+// --wasm-execution=compiled
+// --heap-pages=4096
+// --header=./file_header.txt
+// --output=./runtime/gtest/src/weights/
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+#![allow(missing_docs)]
+
+use frame_support::{traits::Get, weights::Weight};
+use core::marker::PhantomData;
+
+/// Weight functions for `pallet_transaction_payment`.
+pub struct WeightInfo<T>(PhantomData<T>);
+impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
+	/// Storage: `System::Account` (r:2 w:2)
+	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
+	fn charge_transaction_payment() -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `124`
+		//  Estimated: `6126`
+		// Minimum execution time: 45_134_000 picoseconds.
+		Weight::from_parts(46_618_000, 0)
+			.saturating_add(Weight::from_parts(0, 6126))
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(2))
+	}
+}
diff --git a/runtime/gtest/src/weights/pallet_treasury.rs b/runtime/gtest/src/weights/pallet_treasury.rs
index 1c1778f1269381bd7f3c383dcd639991a8c9bf20..414a962bd4562235b0b7d77106c6826848fef755 100644
--- a/runtime/gtest/src/weights/pallet_treasury.rs
+++ b/runtime/gtest/src/weights/pallet_treasury.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_treasury`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -61,8 +61,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `1887`
-		// Minimum execution time: 3_319_000 picoseconds.
-		Weight::from_parts(3_658_000, 0)
+		// Minimum execution time: 3_447_000 picoseconds.
+		Weight::from_parts(3_621_000, 0)
 			.saturating_add(Weight::from_parts(0, 1887))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -70,18 +70,18 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// Storage: `Treasury::Deactivated` (r:1 w:1)
 	/// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: `Treasury::LastSpendPeriod` (r:1 w:1)
+	/// Proof: `Treasury::LastSpendPeriod` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// The range of component `p` is `[0, 99]`.
 	fn on_initialize_proposals(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `82 + p * (1 ±0)`
 		//  Estimated: `3558`
-		// Minimum execution time: 14_943_000 picoseconds.
-		Weight::from_parts(16_363_156, 0)
+		// Minimum execution time: 10_682_000 picoseconds.
+		Weight::from_parts(12_020_888, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
-			// Standard Error: 753
-			.saturating_add(Weight::from_parts(36_684, 0).saturating_mul(p.into()))
+			// Standard Error: 417
+			.saturating_add(Weight::from_parts(22_993, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -99,8 +99,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `3526`
-		// Minimum execution time: 4_739_000 picoseconds.
-		Weight::from_parts(4_875_000, 0)
+		// Minimum execution time: 4_535_000 picoseconds.
+		Weight::from_parts(4_862_000, 0)
 			.saturating_add(Weight::from_parts(0, 3526))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -110,8 +110,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `3526`
-		// Minimum execution time: 4_652_000 picoseconds.
-		Weight::from_parts(4_922_000, 0)
+		// Minimum execution time: 4_604_000 picoseconds.
+		Weight::from_parts(4_766_000, 0)
 			.saturating_add(Weight::from_parts(0, 3526))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -121,8 +121,8 @@ impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6`
 		//  Estimated: `3526`
-		// Minimum execution time: 4_033_000 picoseconds.
-		Weight::from_parts(4_300_000, 0)
+		// Minimum execution time: 4_143_000 picoseconds.
+		Weight::from_parts(4_415_000, 0)
 			.saturating_add(Weight::from_parts(0, 3526))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
diff --git a/runtime/gtest/src/weights/pallet_universal_dividend.rs b/runtime/gtest/src/weights/pallet_universal_dividend.rs
index 39afd99bb1a217c6ed97cf328b45eb0075ef29ef..efbe885a65b079628b9dc84c69684164fb45e9a7 100644
--- a/runtime/gtest/src/weights/pallet_universal_dividend.rs
+++ b/runtime/gtest/src/weights/pallet_universal_dividend.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_universal_dividend`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -58,15 +58,13 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`)
 	/// The range of component `i` is `[1, 160]`.
-	fn claim_uds(i: u32, ) -> Weight {
+	fn claim_uds(_i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `676`
 		//  Estimated: `4141`
-		// Minimum execution time: 36_013_000 picoseconds.
-		Weight::from_parts(37_871_239, 0)
+		// Minimum execution time: 33_238_000 picoseconds.
+		Weight::from_parts(35_304_866, 0)
 			.saturating_add(Weight::from_parts(0, 4141))
-			// Standard Error: 689
-			.saturating_add(Weight::from_parts(4_030, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -78,8 +76,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `156`
 		//  Estimated: `6126`
-		// Minimum execution time: 54_690_000 picoseconds.
-		Weight::from_parts(56_140_000, 0)
+		// Minimum execution time: 52_878_000 picoseconds.
+		Weight::from_parts(54_068_000, 0)
 			.saturating_add(Weight::from_parts(0, 6126))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -92,8 +90,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `93`
 		//  Estimated: `3558`
-		// Minimum execution time: 34_614_000 picoseconds.
-		Weight::from_parts(35_538_000, 0)
+		// Minimum execution time: 33_633_000 picoseconds.
+		Weight::from_parts(35_597_000, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -109,8 +107,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
 		// Proof Size summary in bytes:
 		//  Measured:  `181`
 		//  Estimated: `3558`
-		// Minimum execution time: 19_823_000 picoseconds.
-		Weight::from_parts(21_133_050, 0)
+		// Minimum execution time: 19_251_000 picoseconds.
+		Weight::from_parts(20_602_146, 0)
 			.saturating_add(Weight::from_parts(0, 3558))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/runtime/gtest/src/weights/pallet_upgrade_origin.rs b/runtime/gtest/src/weights/pallet_upgrade_origin.rs
index 1487c1f904229bc72f3ae3768d9907835e79ccea..56ead9c79e4e0ce5748b8e845a6fd8314f59b1cc 100644
--- a/runtime/gtest/src/weights/pallet_upgrade_origin.rs
+++ b/runtime/gtest/src/weights/pallet_upgrade_origin.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_upgrade_origin`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -51,8 +51,8 @@ impl<T: frame_system::Config> pallet_upgrade_origin::WeightInfo for WeightInfo<T
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_587_000 picoseconds.
-		Weight::from_parts(6_058_000, 0)
+		// Minimum execution time: 5_613_000 picoseconds.
+		Weight::from_parts(6_013_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/runtime/gtest/src/weights/pallet_utility.rs b/runtime/gtest/src/weights/pallet_utility.rs
index b12f4dcdf510f837408c53d0b64327f9ffdd122d..fbcd847f8ac3a27f134d5f66a673ad91790e7497 100644
--- a/runtime/gtest/src/weights/pallet_utility.rs
+++ b/runtime/gtest/src/weights/pallet_utility.rs
@@ -16,8 +16,8 @@
 
 //! Autogenerated weights for `pallet_utility`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024
@@ -52,18 +52,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_430_000 picoseconds.
-		Weight::from_parts(6_831_888, 0)
+		// Minimum execution time: 4_240_000 picoseconds.
+		Weight::from_parts(9_851_743, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 726
-			.saturating_add(Weight::from_parts(2_094_088, 0).saturating_mul(c.into()))
+			// Standard Error: 2_521
+			.saturating_add(Weight::from_parts(2_070_739, 0).saturating_mul(c.into()))
 	}
 	fn as_derivative() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_664_000 picoseconds.
-		Weight::from_parts(3_785_000, 0)
+		// Minimum execution time: 3_773_000 picoseconds.
+		Weight::from_parts(3_989_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `c` is `[0, 1000]`.
@@ -71,18 +71,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_457_000 picoseconds.
-		Weight::from_parts(7_200_042, 0)
+		// Minimum execution time: 4_570_000 picoseconds.
+		Weight::from_parts(9_837_420, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 791
-			.saturating_add(Weight::from_parts(2_245_624, 0).saturating_mul(c.into()))
+			// Standard Error: 1_071
+			.saturating_add(Weight::from_parts(2_203_440, 0).saturating_mul(c.into()))
 	}
 	fn dispatch_as() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_798_000 picoseconds.
-		Weight::from_parts(6_062_000, 0)
+		// Minimum execution time: 5_860_000 picoseconds.
+		Weight::from_parts(6_215_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `c` is `[0, 1000]`.
@@ -90,10 +90,10 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_414_000 picoseconds.
-		Weight::from_parts(8_408_649, 0)
+		// Minimum execution time: 4_458_000 picoseconds.
+		Weight::from_parts(8_931_937, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_242
-			.saturating_add(Weight::from_parts(2_092_666, 0).saturating_mul(c.into()))
+			// Standard Error: 881
+			.saturating_add(Weight::from_parts(2_060_212, 0).saturating_mul(c.into()))
 	}
 }
diff --git a/runtime/gtest/src/weights/paritydb_weights.rs b/runtime/gtest/src/weights/paritydb_weights.rs
index f7e7a1bbce4b382aabbb31db680f3f06a6bb4e9f..140210851248752c2c543383c77e3c08c7b72991 100644
--- a/runtime/gtest/src/weights/paritydb_weights.rs
+++ b/runtime/gtest/src/weights/paritydb_weights.rs
@@ -1,6 +1,6 @@
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0
-//! DATE: 2024-11-14 (Y/M/D)
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
+//! DATE: 2025-01-22 (Y/M/D)
 //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F`
 //!
 //! DATABASE: `ParityDb`, RUNTIME: `ÄžTest Local Testnet`
@@ -34,31 +34,31 @@ pub mod constants {
 			/// Calculated by multiplying the *Average* of all values with `2.0` and adding `0`.
 			///
 			/// Stats nanoseconds:
-			///   Min, Max: 790, 807_925
-			///   Average:  6_727
-			///   Median:   1_441
-			///   Std-Dev:  63946.66
+			///   Min, Max: 796, 826_063
+			///   Average:  6_938
+			///   Median:   1_573
+			///   Std-Dev:  65586.31
 			///
 			/// Percentiles nanoseconds:
-			///   99th: 8_511
-			///   95th: 2_555
-			///   75th: 1_923
-			read: 13_454 * constants::WEIGHT_REF_TIME_PER_NANOS,
+			///   99th: 8_551
+			///   95th: 2_544
+			///   75th: 1_928
+			read: 13_876 * constants::WEIGHT_REF_TIME_PER_NANOS,
 
 			/// Time to write one storage item.
 			/// Calculated by multiplying the *Average* of all values with `2.0` and adding `0`.
 			///
 			/// Stats nanoseconds:
-			///   Min, Max: 3_773, 6_377_215
-			///   Average:  50_553
-			///   Median:   10_589
-			///   Std-Dev:  504932.37
+			///   Min, Max: 3_943, 6_570_586
+			///   Average:  54_200
+			///   Median:   10_802
+			///   Std-Dev:  522042.38
 			///
 			/// Percentiles nanoseconds:
-			///   99th: 18_609
-			///   95th: 15_443
-			///   75th: 12_619
-			write: 101_106 * constants::WEIGHT_REF_TIME_PER_NANOS,
+			///   99th: 234_197
+			///   95th: 17_149
+			///   75th: 13_563
+			write: 108_400 * constants::WEIGHT_REF_TIME_PER_NANOS,
 		};
 	}
 
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 4cde813dc4f7acd67e02d9f5548cff21df5cc354..3a41f39923782f2d6536feaa6b9acce271ec0ced 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,5 +1,5 @@
 [toolchain]
-channel = "nightly-2024-06-30"
+channel = "nightly-2024-09-04"
 components = [ "rustfmt", "clippy", "rust-std", "cargo", "rust-src" ]
 targets = [ "wasm32-unknown-unknown" ]
 profile = "minimal"
diff --git a/rustfmt.toml b/rustfmt.toml
index 793ece8dbcdab0bd62adbc1a5e5b9f4100d1fce2..30f99feb87e79fd4fd1f2eb4cd03555e72064ddd 100644
--- a/rustfmt.toml
+++ b/rustfmt.toml
@@ -1,3 +1,4 @@
 imports_granularity = "Crate"
 reorder_impl_items = true
 error_on_unformatted = true
+format_macro_matchers = true