From c9f222241f6651001e7e8712b4754cbf8acf17f5 Mon Sep 17 00:00:00 2001
From: bgallois <benjamin@gallois.cc>
Date: Sun, 4 Feb 2024 13:31:16 +0100
Subject: [PATCH] refactor workspace

---
 Cargo.toml                                    | 422 ++++++++--------
 client/distance/Cargo.toml                    |  62 +--
 distance-oracle/Cargo.toml                    |  79 +--
 end2end-tests/Cargo.toml                      |  74 +--
 end2end-tests/tests/common/mod.rs             |   2 +-
 live-tests/Cargo.toml                         |  33 +-
 node/Cargo.toml                               | 142 ++++++
 pallets/authority-members/Cargo.toml          | 150 ++----
 pallets/certification/Cargo.toml              | 114 ++---
 pallets/distance/Cargo.toml                   | 179 +++----
 pallets/duniter-account/Cargo.toml            | 168 +++----
 pallets/duniter-test-parameters/Cargo.toml    | 101 ++--
 .../duniter-test-parameters/macro/Cargo.toml  |  20 +-
 pallets/duniter-wot/Cargo.toml                | 151 +++---
 pallets/identity/Cargo.toml                   | 116 ++---
 pallets/membership/Cargo.toml                 | 116 ++---
 pallets/offences/Cargo.toml                   |  79 ++-
 pallets/oneshot-account/Cargo.toml            | 127 ++---
 pallets/provide-randomness/Cargo.toml         | 111 ++---
 pallets/quota/Cargo.toml                      | 110 ++---
 pallets/session-benchmarking/Cargo.toml       | 124 +----
 pallets/session-benchmarking/src/lib.rs       |   2 +-
 pallets/smith-members/Cargo.toml              |  95 ++--
 pallets/universal-dividend/Cargo.toml         | 126 ++---
 pallets/upgrade-origin/Cargo.toml             |  96 ++--
 primitives/distance/Cargo.toml                |  90 ++--
 primitives/duniter/Cargo.toml                 |  60 +--
 primitives/membership/Cargo.toml              |  77 +--
 resources/weight_analyzer/Cargo.toml          |  26 +-
 runtime/common/Cargo.toml                     | 305 ++++++------
 runtime/g1/Cargo.toml                         | 439 ++++++++---------
 runtime/gdev/Cargo.toml                       | 453 +++++++++---------
 runtime/gtest/Cargo.toml                      | 439 ++++++++---------
 scripts/check_metadata.sh                     |   4 +-
 xtask/Cargo.toml                              |  54 +--
 35 files changed, 2030 insertions(+), 2716 deletions(-)
 create mode 100644 node/Cargo.toml

diff --git a/Cargo.toml b/Cargo.toml
index cadf1cd16..21f644d71 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,154 +1,3 @@
-[package]
-authors = ['Axiom-Team Developers <https://axiom-team.fr>']
-build = 'node/build.rs'
-description = 'Crypto-currency software (based on Substrate framework) to operate Äž1 libre currency'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
-name = 'duniter'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '0.8.0'
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
-
-[[bin]]
-bench = false
-name = 'duniter'
-path = "node/src/main.rs"
-
-[features]
-default = ["gdev", "distance-oracle"]
-gdev = ["gdev-runtime"] # gdev feature enables gdev runtime and gdev command line options
-g1 = ["g1-runtime"]
-constant-fees = [
-"common-runtime/constant-fees",
-"g1-runtime/constant-fees",
-"gdev-runtime/constant-fees",
-"gtest-runtime/constant-fees",
-] # Activate constant fees model, 1 extrinsic = 2 cG
-gtest = ["gtest-runtime"]
-embed = [] # embed feature enables embedding raw chainspecs that must be in ./specs/gdev-raw.json
-runtime-benchmarks = [
-    'common-runtime/runtime-benchmarks',
-    'g1-runtime/runtime-benchmarks',
-    'gdev-runtime/runtime-benchmarks',
-    'gtest-runtime/runtime-benchmarks',
-    'sc-client-db/runtime-benchmarks',
-]
-try-runtime = [
-    "common-runtime/try-runtime",
-    "g1-runtime/try-runtime",
-    "gdev-runtime/try-runtime",
-    "gtest-runtime/try-runtime",
-    "try-runtime-cli",
-]
-std = [
-    "common-runtime/std",
-    "g1-runtime/std",
-    "gdev-runtime/std",
-    "gtest-runtime/std",
-]
-
-[build-dependencies]
-clap = { version = "4.4.18" }
-#clap_complete = { version = "4.0" }
-substrate-build-script-utils = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0' }
-
-[dev-dependencies]
-rusty-hook = "^0.11.2"
-
-# Dependencies for specific targets
-[target.'cfg(any(target_arch="x86_64", target_arch="aarch64"))'.dependencies]
-sc-cli = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-service = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-trie = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0" }
-
-[dependencies]
-
-# crates.io dependencies
-async-io = { version = "2.3.0", default-features = false }
-bs58 = "0.5.0"
-clap = { version = "4.4.18", default-features = false, features = ["derive"] }
-clap_complete = { version = "4.4.8", default-features = false }
-# local dependencies
-common-runtime = { path = 'runtime/common', default-features = false }
-dc-distance = { path = 'client/distance' }
-distance-oracle = { path = 'distance-oracle', default-features = false, optional = true }
-enum-as-inner = { version = "=0.5.1", default-features = false } #https://github.com/bluejekyll/trust-dns/issues/1946
-
-# substrate dependencies
-frame-benchmarking = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-frame-benchmarking-cli = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-frame-system = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-futures = { version = "0.3.28", default-features = false, features = ["compat"] }
-g1-runtime = { path = 'runtime/g1', optional = true }
-gdev-runtime = { path = 'runtime/gdev', optional = true }
-gtest-runtime = { path = 'runtime/gtest', optional = true }
-hex = { version = "0.4.3", default-features = false }
-jsonrpsee = { version = "0.16.2", default-features = false, features = ["server"] }
-lazy_static = { version = "1.4.0", default-features = false }
-log = { version = "0.4.20", default-features = false }
-maplit = { version = '1.0.2', default-features = false }
-memmap2 = { version = "0.9.3", default-features = false }
-num-format = "0.4.4"
-pallet-certification = { path = 'pallets/certification' }
-pallet-grandpa = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-pallet-im-online = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-pallet-oneshot-account = { path = 'pallets/oneshot-account' }
-pallet-transaction-payment = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-pallet-transaction-payment-rpc = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-pallet-treasury = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-basic-authorship = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-chain-spec = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-cli = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-client-api = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-client-db = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-consensus = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-consensus-babe = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-consensus-babe-rpc = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sc-consensus-manual-seal = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-executor = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-keystore = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-network = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-network-common = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-rpc-api = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-service = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-telemetry = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-transaction-pool = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-transaction-pool-api = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-serde = { version = "1.0.195", default-features = false }
-serde_json = { version = "1.0.64", default-features = false }
-serde_yaml = { version = "0.9.27", default-features = false }
-sp-api = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-authority-discovery = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-block-builder = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-blockchain = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-consensus = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-consensus-babe = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-core = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-distance = { path = 'primitives/distance' }
-sp-inherents = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-io = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-keyring = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-keystore = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-membership = { path = 'primitives/membership' }
-sp-offchain = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sc-offchain = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-runtime = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-session = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-storage = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-timestamp = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-transaction-pool = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-transaction-storage-proof = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-trie = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-substrate-frame-rpc-system = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-tracing-core = { version = "0.1.28", default-features = false }
-try-runtime-cli = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", optional = true, default-features = false }
-
 [workspace]
 resolver = "2"
 
@@ -157,6 +6,7 @@ members = [
     'distance-oracle',
     'end2end-tests',
     'live-tests',
+    'node',
     'pallets/authority-members',
     'pallets/certification',
     'pallets/distance',
@@ -175,8 +25,197 @@ members = [
     'resources/weight_analyzer',
     'runtime/common',
     'runtime/gdev',
-    'xtask'
+    'xtask',
+]
+
+[workspace.package]
+authors = [
+    'librelois <c@elo.tf>',
+    'tuxmain <tuxmain@zettascript.org>',
+    'c-geek <https://forum.duniter.org/u/cgeek>',
+    'HugoTrentesaux <https://trentesaux.fr>',
+    'bgallois <benjamin@gallois.cc>',
+    'Duniter Developers <https://duniter.org>',
+    'Axiom-Team Developers <https://axiom-team.fr>',
 ]
+description = 'Crypto-currency software (based on Substrate framework) to operate Äž1 libre currency'
+edition = '2021'
+homepage = 'https://duniter.org'
+license = 'AGPL-3.0'
+repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
+
+[workspace.dependencies]
+# crates.io dependencies
+anyhow = { version = "1.0.79", default-features = false }
+countmap = { version = "0.2.0", default-features = false }
+ctrlc = { version = "3.4.2", default-features = false }
+cucumber = { version = "0.20.2", default-features = false }
+env_logger = { version = "0.11.1", default-features = false }
+notify = { version = "6.1.1", default-features = false }
+portpicker = { version = "0.1.1", default-features = false }
+notify-debouncer-mini = { version = "0.4.1", default-features = false }
+async-io = { version = "2.3.1", default-features = false }
+async-trait = { version = "0.1.77", default-features = false }
+thiserror = { version = "1.0.56", default-features = false }
+frame-metadata = { version = "16.0.0", default-features = false }
+graphql_client = { version = "0.10.0" }
+bs58 = { version = "0.5.0", default-features = false }
+placeholder = { version = "1.1.3", default-features = false }
+getrandom = { version = "0.2.12", default-features = false }
+impl-trait-for-tuples = { version = "0.2.2", default-features = false }
+clap = { version = "4.4.18" }
+clap_complete = { version = "4.4.10" }
+reqwest = { version = "0.11.11", default-features = false }
+glob = { version = "0.3.1", default-features = false }
+convert_case = { version = "0.6.0", default-features = false }
+subweight-core = { version = "3.3.1", default-features = false }
+version_check = { version = "0.9.2", default-features = false }
+codec = { package = "parity-scale-codec", version = "3.6.9", default-features = false }
+enum-as-inner = { version = "=0.5.1", default-features = false }                        #https://github.com/bluejekyll/trust-dns/issues/1946
+futures = { version = "0.3.30", default-features = false }
+tera = { version = "1", default-features = false }
+hex = { version = "0.4.3", default-features = false }
+jsonrpsee = { version = "0.16.2", default-features = false }
+lazy_static = { version = "1.4.0", default-features = false }
+log = { version = "0.4.20", default-features = false }
+maplit = { version = '1.0.2', default-features = false }
+proc-macro2 = { version = '1.0.76', default-features = false }
+quote = { version = '1.0.35', default-features = false }
+syn = { version = '2.0.48', default-features = false }
+memmap2 = { version = "0.9.4", default-features = false }
+num-format = { version = "0.4.4", default-features = false }
+smallvec = { version = "1.13.1", default-features = false }
+hex-literal = { version = '0.4.1', default-features = false }
+scale-info = { version = "2.10.0", default-features = false }
+scale-value = { version = "0.13.0", default-features = false }
+serde = { version = "1.0.196", default-features = false }
+serde_derive = { version = "1.0.196", default-features = false }
+serde_yaml = { version = "0.9.27", default-features = false }
+serde_json = { version = "1.0.64", default-features = false }
+fnv = { version = "1.0.7", default-features = false }
+tokio = { version = "1.35.1", default-features = false }
+time = { version = "0.3.31", default-features = false }
+time-macros = { version = "0.2.16", default-features = false }
+num-traits = { version = "0.2.17", default-features = false }
+rayon = { version = "1.8.1", default-features = false }
+simple_logger = { version = "4.3.3", default-features = false }
+bincode = { version = "1.3.3", default-features = false }
+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.34.0-duniter-substrate-v1.6.0', default-features = false }
+
+# local dependencies
+weight-analyzer = { path = "resources/weight_analyzer", default-features = false }
+common-runtime = { path = 'runtime/common', default-features = false }
+dc-distance = { path = 'client/distance', default-features = false }
+distance-oracle = { path = 'distance-oracle', default-features = false }
+g1-runtime = { path = 'runtime/g1', default-features = false }
+gdev-runtime = { path = 'runtime/gdev', default-features = false }
+gtest-runtime = { path = 'runtime/gtest', default-features = false }
+pallet-authority-members = { path = 'pallets/authority-members', default-features = false }
+pallet-certification = { path = 'pallets/certification', default-features = false }
+pallet-distance = { path = "pallets/distance", default-features = false }
+pallet-duniter-account = { path = 'pallets/duniter-account', default-features = false }
+pallet-duniter-test-parameters = { path = 'pallets/duniter-test-parameters', default-features = false }
+pallet-duniter-test-parameters-macro = { path = 'pallets/duniter-test-parameters/macro', default-features = false }
+duniter-primitives = { path = 'primitives/duniter', default-features = false }
+pallet-duniter-wot = { path = 'pallets/duniter-wot', default-features = false }
+pallet-identity = { path = 'pallets/identity', default-features = false }
+pallet-membership = { path = 'pallets/membership', default-features = false }
+pallet-offences = { path = 'pallets/offences', default-features = false }
+pallet-oneshot-account = { path = 'pallets/oneshot-account', default-features = false }
+pallet-provide-randomness = { path = 'pallets/provide-randomness', default-features = false }
+pallet-quota = { path = 'pallets/quota', default-features = false }
+pallet-session-benchmarking = { path = 'pallets/session-benchmarking', default-features = false }
+pallet-smith-members = { path = 'pallets/smith-members', default-features = false }
+pallet-universal-dividend = { path = 'pallets/universal-dividend', default-features = false }
+pallet-upgrade-origin = { path = 'pallets/upgrade-origin', default-features = false }
+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.6.0', default-features = false }
+frame-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+frame-executive = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+frame-support = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+frame-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+frame-system-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+frame-system-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+frame-try-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-atomic-swap = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-authorship = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-collective = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-im-online = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-multisig = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-preimage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-proxy = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-scheduler = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-sudo = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-transaction-payment = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-treasury = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+pallet-utility = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-arithmetic = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-block-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-client-db = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-client-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-consensus-babe-rpc = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-blockchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-offchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+try-runtime-cli = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-inherents = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-offchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-std = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-staking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-weights = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-transaction-pool = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-version = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-cli = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-service = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-trie = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-genesis-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-keyring = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-consensus = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-core-hashing = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-keystore = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-rpc-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+substrate-wasm-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-io = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+substrate-build-script-utils = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0' }
+node-primitives = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+frame-benchmarking-cli = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-chain-spec = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-consensus = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-consensus-manual-seal = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-executor = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-telemetry = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-transaction-pool = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-basic-authorship = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-network = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-keystore = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-storage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-transaction-storage-proof = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sc-transaction-pool-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-state-machine = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+substrate-frame-rpc-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.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
@@ -234,84 +273,7 @@ yamux = { opt-level = 3 }
 zeroize = { opt-level = 3 }
 
 [profile.release]
+# Link Time Optimization
 lto = "thin"
 # Substrate runtime requires unwinding.
 panic = "unwind"
-
-[patch.crates-io]
-
-# # the following patch can be useful to debug substrate dependency
-# # added by tuxmain on 0.9.32 update
-# # updated by hugo on 0.9.42 update (benjamin)
-# [patch.'https://github.com/duniter/duniter-polkadot-sdk']
-# pallet-balances = {path = '../substrate/frame/balances'}
-# fork-tree = { path = "../substrate/utils/fork-tree" }
-# frame-support = { path = "../substrate/frame/support" }
-# frame-support-procedural = { path = "../substrate/frame/support/procedural" }
-# frame-support-procedural-tools = { path = "../substrate/frame/support/procedural/tools" }
-# frame-system = { path = "../substrate/frame/system" }
-# frame-benchmarking = { path = "../substrate/frame/benchmarking" }
-# frame-benchmarking-cli = { path = "../substrate/utils/frame/benchmarking-cli" }
-# sc-basic-authorship = { path = "../substrate/client/basic-authorship" }
-# sc-block-builder = { path = "../substrate/client/block-builder" }
-# sc-chain-spec = { path = "../substrate/client/chain-spec" }
-# sc-cli = { path = "../substrate/client/cli" }
-# sc-client-api = { path = "../substrate/client/api" }
-# sc-client-db = { path = "../substrate/client/db" }
-# sc-network-common = { path = "../substrate/client/network/common" }
-# sc-consensus = { path = "../substrate/client/consensus/common" }
-# sc-consensus-aura = { path = "../substrate/client/consensus/aura" }
-# sc-consensus-babe = { path = "../substrate/client/consensus/babe" }
-# sc-consensus-babe-rpc = { path = "../substrate/client/consensus/babe/rpc" }
-# sc-consensus-manual-seal = { path = "../substrate/client/consensus/manual-seal" }
-# sc-consensus-slots = { path = "../substrate/client/consensus/slots" }
-# sc-executor = { path = "../substrate/client/executor" }
-# sc-executor-common = { path = "../substrate/client/executor/common" }
-# sc-executor-wasmi = { path = "../substrate/client/executor/wasmi" }
-# sc-executor-wasmtime = { path = "../substrate/client/executor/wasmtime" }
-# sc-keystore = { path = "../substrate/client/keystore" }
-# sc-network = { path = "../substrate/client/network" }
-# sc-rpc-api = { path = "../substrate/client/rpc-api" }
-# sc-service = { path = "../substrate/client/service" }
-# sc-utils = { path = "../substrate/client/utils" }
-# sc-telemetry = { path = "../substrate/client/telemetry" }
-# sc-transaction-pool = { path = "../substrate/client/transaction-pool" }
-# sc-transaction-pool-api = { path = "../substrate/client/transaction-pool/api" }
-# sc-peerset = { path = "../substrate/client/peerset" }
-# sp-api = { path = "../substrate/primitives/api" }
-# sp-application-crypto = { path = "../substrate/primitives/application-crypto" }
-# sp-arithmetic = { path = "../substrate/primitives/arithmetic" }
-# sp-authority-discovery = { path = "../substrate/primitives/authority-discovery" }
-# sp-block-builder = { path = "../substrate/primitives/block-builder" }
-# sp-blockchain = { path = "../substrate/primitives/blockchain" }
-# sp-consensus = { path = "../substrate/primitives/consensus/common" }
-# sp-consensus-babe = { path = "../substrate/primitives/consensus/babe" }
-# sp-consensus-slots = { path = "../substrate/primitives/consensus/slots" }
-# sp-core = { path = "../substrate/primitives/core" }
-# sp-core-hashing = { path = "../substrate/primitives/core/hashing" }
-# sp-core-hashing-proc-macro = { path = "../substrate/primitives/core/hashing/proc-macro" }
-# sp-debug-derive = { path = "../substrate/primitives/debug-derive" }
-# sp-externalities = { path = "../substrate/primitives/externalities" }
-# sp-consensus-grandpa = { path = "../substrate/primitives/consensus/grandpa" }
-# sp-inherents = { path = "../substrate/primitives/inherents" }
-# sp-io = { path = "../substrate/primitives/io" }
-# sp-keyring = { path = "../substrate/primitives/keyring" }
-# sp-keystore = { path = "../substrate/primitives/keystore" }
-# sp-maybe-compressed-blob = { path = "../substrate/primitives/maybe-compressed-blob" }
-# sp-offchain = { path = "../substrate/primitives/offchain" }
-# sp-panic-handler = { path = "../substrate/primitives/panic-handler" }
-# sp-rpc = { path = "../substrate/primitives/rpc" }
-# sp-runtime = { path = "../substrate/primitives/runtime" }
-# sp-session = { path = "../substrate/primitives/session" }
-# sp-staking = { path = "../substrate/primitives/staking" }
-# sp-state-machine = { path = "../substrate/primitives/state-machine" }
-# sp-std = { path = "../substrate/primitives/std" }
-# sp-storage = { path = "../substrate/primitives/storage" }
-# sp-timestamp = { path = "../substrate/primitives/timestamp" }
-# sp-tracing = { path = "../substrate/primitives/tracing" }
-# sp-transaction-pool = { path = "../substrate/primitives/transaction-pool" }
-# sp-transaction-storage-proof = { path = "../substrate/primitives/transaction-storage-proof" }
-# sp-trie = { path = "../substrate/primitives/trie" }
-# sp-version = { path = "../substrate/primitives/version" }
-# sp-weights = { path = "../substrate/primitives/weights" }
-# substrate-prometheus-endpoint = { path = "../substrate/utils/prometheus" }
diff --git a/client/distance/Cargo.toml b/client/distance/Cargo.toml
index 11a8f9d37..c699d5775 100644
--- a/client/distance/Cargo.toml
+++ b/client/distance/Cargo.toml
@@ -1,50 +1,30 @@
 [package]
-authors = ['tuxmain <tuxmain@zettascript.org>']
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 description = 'Duniter client distance'
-edition = '2021'
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
 name = 'dc-distance'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
 version = '1.0.0'
-
-[dependencies]
-
-log = "0.4"
-
-pallet-distance = { path = "../../pallets/distance" }
-
-# substrate
-scale-info = { version = "2.1.1", features = ["derive"] }
-sp-distance = { path = "../../primitives/distance" }
-thiserror = "1.0.30"
-
-[dependencies.codec]
-features = ['derive']
-package = 'parity-scale-codec'
-version = '3.1.5'
-
-[dependencies.frame-support]
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sc-client-api]
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-core]
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-keystore]
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DOC ###
+repository.workspace = true
 
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-runtime]
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[features]
+std = [ "pallet-distance/std", "sp-distance/std" ]
+runtime-benchmarks = [ 'pallet-distance/runtime-benchmarks' ]
+try-runtime = [ 'pallet-distance/try-runtime', 'sp-distance/try-runtime' ]
+
+[dependencies]
+codec = { workspace = true, features = ['derive'] }
+frame-support =  { workspace = true }
+log =  { workspace = true }
+pallet-distance = { workspace = true }
+sc-client-api =  { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+sp-core =  { workspace = true }
+sp-distance = { workspace = true }
+sp-keystore =  { workspace = true }
+sp-runtime =  { workspace = true }
+thiserror =  { workspace = true }
diff --git a/distance-oracle/Cargo.toml b/distance-oracle/Cargo.toml
index bc70ca786..09f3f529f 100644
--- a/distance-oracle/Cargo.toml
+++ b/distance-oracle/Cargo.toml
@@ -1,46 +1,47 @@
 [package]
-name = "distance-oracle"
-version = "0.1.0"
-authors = ["tuxmain <tuxmain@zettascript.org>"]
-repository = "https://git.duniter.org/nodes/rust/duniter-v2s"
-license = "AGPL-3.0-only"
-edition = "2021"
+name = 'distance-oracle'
+version = '0.1.0'
+authors.workspace = true
+repository.workspace = true
+license.workspace = true
+edition.workspace = true
 
-[dependencies]
-
-# standalone only
-clap = { version = "4.4.18", features = ["derive"], optional = true }
+[[bin]]
+name = 'distance-oracle'
+required-features = ['standalone']
 
-codec = { package = "parity-scale-codec", version = "3.6.9" }
-fnv = "1.0.7"
-log = "0.4.20"
-num-traits = "0.2.17"
-rayon = "1.8.1"
-simple_logger = "4.3.3"
-hex = "0.4.3"
+[features]
+default = [ 'standalone', 'std' ]
+standalone = [ 'clap', 'tokio' ]
+std = [
+	"codec/std",
+	"fnv/std",
+	"hex/std",
+	"log/std",
+	"num-traits/std",
+	'sp-core/std',
+	'sp-distance/std',
+	'sp-runtime/std',
+]
+try-runtime = [ 'sp-distance/try-runtime', "sp-runtime/try-runtime" ]
 
-sp-core = { git = "https://github.com/duniter/duniter-polkadot-sdk.git", branch = "duniter-substrate-v1.6.0" }
-sp-distance = { path = "../primitives/distance" }
-sp-runtime = { git = "https://github.com/duniter/duniter-polkadot-sdk.git", branch = "duniter-substrate-v1.6.0" }
-subxt = { git = 'https://github.com/duniter/subxt', branch = 'subxt-v0.34.0-duniter-substrate-v1.6.0', default-features = false, features = ["substrate-compat", "native", "jsonrpsee"] }
-time = "0.3.31"
-time-macros = "0.2.16"
-tokio = { version = "1.35.1", features = [
-	"rt-multi-thread",
-	"macros",
-], optional = true }
+[dependencies]
+clap = { workspace = true, features = ['derive'], optional = true }
+codec = { workspace = true }
+fnv = { workspace = true }
+hex = { workspace = true }
+log = { workspace = true }
+num-traits = { workspace = true }
+rayon = { workspace = true }
+simple_logger = { workspace = true }
+sp-core = { workspace = true }
+sp-distance = { workspace = true }
+sp-runtime = { workspace = true }
+subxt = { workspace = true, features = ['substrate-compat', 'native', 'jsonrpsee'] }
+tokio = { workspace = true, features = ['rt-multi-thread','macros'], optional = true }
 
 [dev-dependencies]
-bincode = "1.3.3"
-dubp-wot = "0.11.1"
-flate2 = { version = "1.0.28", features = [
-	"zlib-ng-compat",
-], default-features = false }
-
-[features]
-default = ["standalone"]
-standalone = ["clap", "tokio"]
+bincode = { workspace = true }
+dubp-wot = { workspace = true }
+flate2 = { workspace = true, features = ['zlib-ng-compat',] }
 
-[[bin]]
-name = "distance-oracle"
-required-features = ["standalone"]
diff --git a/end2end-tests/Cargo.toml b/end2end-tests/Cargo.toml
index 7413edc87..be7518c86 100644
--- a/end2end-tests/Cargo.toml
+++ b/end2end-tests/Cargo.toml
@@ -1,33 +1,51 @@
 [package]
-authors = ['Axiom-Team Developers <https://axiom-team.fr>']
-description = 'duniter end2end tests.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter end2end tests'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'duniter-end2end-tests'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
-
-[dev-dependencies]
-anyhow = "1.0.79"
-clap = { version = "4.4.18", features = ["derive", "cargo"] }
-ctrlc = "3.4.2"
-cucumber = { version = "0.20.2", features = ["macros"] }
-distance-oracle = { path = "../distance-oracle", default_features = false }
-env_logger = "0.11.1"
-hex = "0.4.3"
-notify = "6.1.1"
-notify-debouncer-mini = "0.4.1"
-parity-scale-codec = "3.6.9"
-portpicker = "0.1.1"
-serde_json = "1.0.113"
-sp-core = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-core-hashing = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0", default-features = false }
-sp-runtime = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0" }
-sp-keyring = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0" }
-subxt = { git = 'https://github.com/duniter/subxt', branch = 'subxt-v0.34.0-duniter-substrate-v1.6.0', default-features = false, features = ["substrate-compat", "native", "jsonrpsee"] }
-tokio = { version = "1.36.0", features = ["macros", "time", "rt-multi-thread"], default-features = false }
+repository.workspace = true
 
 [[test]]
-name = "cucumber_tests"
+name = 'cucumber_tests'
 harness = false         # allows Cucumber to print output instead of libtest
+
+[features]
+default = ['std']
+std = [
+	'distance-oracle/std',
+	"anyhow/std",
+	"hex/std",
+	"codec/std",
+	"serde_json/std",
+	"sp-core/std",
+	"sp-core-hashing/std",
+	"sp-runtime/std",
+]
+standalone = ['distance-oracle/standalone']
+try-runtime = ['distance-oracle/try-runtime', "sp-runtime/try-runtime"]
+
+[dev-dependencies]
+anyhow = { workspace = true }
+clap = { workspace = true, features = ['derive', 'cargo'] }
+codec = { workspace = true }
+ctrlc = { workspace = true }
+cucumber = { workspace = true, features = ['macros'] }
+distance-oracle = { workspace = true }
+env_logger = { workspace = true }
+hex = { workspace = true }
+notify = { workspace = true }
+notify-debouncer-mini = { workspace = true }
+portpicker = { workspace = true }
+serde_json = { workspace = true }
+sp-core = { workspace = true }
+sp-core-hashing = { workspace = true }
+sp-keyring = { workspace = true }
+sp-runtime = { workspace = true }
+subxt = { workspace = true, features = [
+	'substrate-compat',
+	'native',
+	'jsonrpsee',
+] }
+tokio = { workspace = true, features = ['macros', 'time', 'rt-multi-thread'] }
diff --git a/end2end-tests/tests/common/mod.rs b/end2end-tests/tests/common/mod.rs
index 5f21f6604..6e61a8398 100644
--- a/end2end-tests/tests/common/mod.rs
+++ b/end2end-tests/tests/common/mod.rs
@@ -29,8 +29,8 @@ pub mod oneshot;
 pub mod gdev {}
 
 use anyhow::anyhow;
+use codec::Encode;
 use notify_debouncer_mini::new_debouncer;
-use parity_scale_codec::Encode;
 use serde_json::Value;
 use sp_keyring::AccountKeyring;
 use std::io::prelude::*;
diff --git a/live-tests/Cargo.toml b/live-tests/Cargo.toml
index ab7efc7fd..1821fd18b 100644
--- a/live-tests/Cargo.toml
+++ b/live-tests/Cargo.toml
@@ -1,19 +1,22 @@
 [package]
-authors = ['Axiom-Team Developers <https://axiom-team.fr>']
-description = 'duniter live tests.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter live tests'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'duniter-live-tests'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [dev-dependencies]
-anyhow = "1.0"
-countmap = "0.2.0"
-hex-literal = "0.4"
-parity-scale-codec = "3.4.0"
-sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, features = ["std"] } # https://github.com/paritytech/subxt/issues/437
-subxt = { git = 'https://github.com/duniter/subxt', branch = 'subxt-v0.34.0-duniter-substrate-v1.6.0', default-features = false, features = ["substrate-compat", "native", "jsonrpsee"] }
-tokio = { version = "1.28", features = ["macros", "time", "rt-multi-thread"], default-features = false }
+anyhow = { workspace = true }
+codec = { workspace = true }
+countmap = { workspace = true }
+hex-literal = { workspace = true }
+sp-core = { workspace = true }
+sp-runtime = { workspace = true }
+subxt = { workspace = true, features = [
+    'substrate-compat',
+    'native',
+    'jsonrpsee',
+] }
+tokio = { workspace = true, features = ['macros', 'time', 'rt-multi-thread'] }
diff --git a/node/Cargo.toml b/node/Cargo.toml
new file mode 100644
index 000000000..f30f881a1
--- /dev/null
+++ b/node/Cargo.toml
@@ -0,0 +1,142 @@
+[package]
+authors.workspace = true
+build = 'build.rs'
+description = 'Crypto-currency software (based on Substrate framework) to operate Äž1 libre currency'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
+name = 'duniter'
+repository.workspace = true
+version = '0.7.1'
+default-run = 'duniter'
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
+[[bin]]
+bench = false
+name = 'duniter'
+path = 'src/main.rs'
+
+[features]
+default = [ 'distance-oracle', 'gdev' ]
+gdev = [ 'gdev-runtime', 'std' ]
+g1 = [ 'g1-runtime', 'std' ]
+constant-fees = [
+	'common-runtime/constant-fees',
+	'g1-runtime/constant-fees',
+	'gdev-runtime/constant-fees',
+	'gtest-runtime/constant-fees',
+]
+gtest = [ 'gtest-runtime', 'std' ]
+embed = []
+runtime-benchmarks = [
+	'common-runtime/runtime-benchmarks',
+	'dc-distance/runtime-benchmarks',
+	'g1-runtime/runtime-benchmarks',
+	'gdev-runtime/runtime-benchmarks',
+	'gtest-runtime/runtime-benchmarks',
+	'sc-client-db/runtime-benchmarks',
+]
+try-runtime = [
+	'common-runtime/try-runtime',
+	'dc-distance/try-runtime',
+	'distance-oracle?/try-runtime',
+	'g1-runtime/try-runtime',
+	'gdev-runtime/try-runtime',
+	'gtest-runtime/try-runtime',
+	'sp-distance/try-runtime',
+	'sp-membership/try-runtime',
+	'try-runtime-cli',
+]
+std = [
+	'common-runtime/std',
+	'dc-distance/std',
+	'distance-oracle?/std',
+	'g1-runtime/std',
+	'gdev-runtime/std',
+	'gtest-runtime/std',
+	'sp-distance/std',
+	'sp-membership/std',
+]
+standalone = [ 'distance-oracle?/standalone' ]
+
+[dependencies]
+async-io = { workspace = true }
+bs58 = { workspace = true }
+clap = { workspace = true, features = ['derive'] }
+clap_complete = { workspace = true }
+common-runtime = { workspace = true }
+dc-distance = { workspace = true }
+distance-oracle = { workspace = true, optional = true }
+frame-benchmarking = { workspace = true }
+frame-benchmarking-cli = { workspace = true }
+frame-system = { workspace = true }
+futures = { workspace = true, features = ['compat'] }
+g1-runtime = { workspace = true, optional = true }
+gdev-runtime = { workspace = true, optional = true }
+gtest-runtime = { workspace = true, optional = true }
+hex = { workspace = true }
+jsonrpsee = { workspace = true, features = ['server'] }
+log = { workspace = true }
+memmap2 = { workspace = true }
+num-format = { workspace = true }
+pallet-grandpa = { workspace = true }
+pallet-im-online = { workspace = true }
+pallet-transaction-payment = { workspace = true }
+pallet-transaction-payment-rpc = { workspace = true }
+pallet-transaction-payment-rpc-runtime-api = { workspace = true }
+pallet-treasury = { workspace = true }
+sc-basic-authorship = { workspace = true }
+sc-chain-spec = { workspace = true }
+sc-client-api = { workspace = true }
+sc-client-db = { workspace = true }
+sc-consensus = { workspace = true }
+sc-consensus-babe = { workspace = true }
+sc-consensus-babe-rpc = { workspace = true }
+sc-consensus-grandpa = { workspace = true }
+sc-consensus-manual-seal = { workspace = true }
+sc-executor = { workspace = true }
+sc-keystore = { workspace = true }
+sc-network = { workspace = true }
+sc-offchain = { workspace = true }
+sc-rpc-api = { workspace = true }
+sc-telemetry = { workspace = true }
+sc-transaction-pool = { workspace = true }
+sc-transaction-pool-api = { workspace = true }
+serde = { workspace = true }
+serde_json = { workspace = true }
+serde_yaml = { workspace = true }
+sp-api = { workspace = true }
+sp-authority-discovery = { workspace = true }
+sp-block-builder = { workspace = true }
+sp-blockchain = { workspace = true }
+sp-consensus = { workspace = true }
+sp-consensus-babe = { workspace = true }
+sp-consensus-grandpa = { workspace = true }
+sp-core = { workspace = true }
+sp-distance = { workspace = true }
+sp-inherents = { workspace = true }
+sp-io = { workspace = true }
+sp-keyring = { workspace = true }
+sp-keystore = { workspace = true }
+sp-membership = { workspace = true }
+sp-offchain = { workspace = true }
+sp-runtime = { workspace = true }
+sp-session = { workspace = true }
+sp-storage = { workspace = true }
+sp-timestamp = { workspace = true }
+sp-transaction-pool = { workspace = true }
+sp-transaction-storage-proof = { workspace = true }
+substrate-frame-rpc-system = { workspace = true }
+try-runtime-cli = { workspace = true, optional = true }
+
+[build-dependencies]
+substrate-build-script-utils = { workspace = true }
+
+# Dependencies for specific targets
+[target.'cfg(any(target_arch="x86_64", target_arch="aarch64"))'.dependencies]
+sc-cli = { workspace = true }
+sc-service = { workspace = true }
+sp-trie = { workspace = true }
+
diff --git a/pallets/authority-members/Cargo.toml b/pallets/authority-members/Cargo.toml
index 92333b0c1..cdb561b69 100644
--- a/pallets/authority-members/Cargo.toml
+++ b/pallets/authority-members/Cargo.toml
@@ -1,120 +1,62 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'duniter pallet authority members.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet authority members'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-authority-members'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-	"frame-benchmarking/runtime-benchmarks",
+	'frame-benchmarking/runtime-benchmarks',
+	'pallet-offences/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-benchmarking?/std',
-    'pallet-session/std',
-    'pallet-offences/std',
-    'serde/std',
-    'scale-info/std',
-    'sp-core/std',
-    'sp-runtime/std',
-    'sp-staking/std',
-    'sp-std/std',
-    'sp-io/std',
-    'sp-state-machine/std',
-    'log/std',
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'log/std',
+	'pallet-offences/std',
+	'pallet-session/std',
+	'scale-info/std',
+	'serde/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-staking/std',
+	'sp-state-machine/std',
+	'sp-std/std',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'sp-runtime/try-runtime',
-    'pallet-session/try-runtime',
-    'pallet-offences/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-offences/try-runtime',
+	'pallet-session/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 
-[dependencies]
-
-# crates.io
-log = { version = "0.4.20", default-features = false }
-# local
-pallet-offences = { path = "../offences", default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-# substrate
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.pallet-session]
-default-features = false
-features = ["historical"]
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.serde]
-optional = true
-default-features = false
-version = "1.0.195"
-features = ["derive"]
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-staking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dev-dependencies.maplit]
-default-features = false
-version = '1.0.2'
-
-[dev-dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dev-dependencies.sp-state-machine]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[dependencies]
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+log = { workspace = true }
+pallet-offences = { workspace = true }
+pallet-session = { workspace = true, features = ['historical'] }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true, features = ['derive'] }
+sp-core = { workspace = true }
+sp-runtime = { workspace = true }
+sp-staking = { workspace = true }
+sp-std = { workspace = true }
+
+[dev-dependencies]
+sp-io = { workspace = true }
+sp-state-machine = { workspace = true }
diff --git a/pallets/certification/Cargo.toml b/pallets/certification/Cargo.toml
index 8ed57c30a..6ee43d0bb 100644
--- a/pallets/certification/Cargo.toml
+++ b/pallets/certification/Cargo.toml
@@ -1,92 +1,56 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'duniter pallet certification.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet certification'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-certification'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-benchmarking?/std',
-    'scale-info/std',
-    'sp-core/std',
-    'sp-runtime/std',
-    'sp-std/std',
-    'sp-io/std',
+	'codec/std',
+	'duniter-primitives/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'scale-info/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'sp-runtime/try-runtime',
+	'duniter-primitives/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 
-[dependencies]
-duniter-primitives = { path = "../../primitives/duniter", default-features = false }
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.maplit]
-default-features = false
-version = '1.0.2'
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DOC ###
-
 [package.metadata.docs.rs]
 default-features = false
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dev-dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[dependencies]
+codec = { workspace = true, features = ['derive'] }
+duniter-primitives = { workspace = true }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+sp-core = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
+
+[dev-dependencies]
+maplit = { workspace = true }
+sp-io = { workspace = true }
+sp-keystore = { workspace = true }
diff --git a/pallets/distance/Cargo.toml b/pallets/distance/Cargo.toml
index f9ae014d7..2a3b69651 100644
--- a/pallets/distance/Cargo.toml
+++ b/pallets/distance/Cargo.toml
@@ -1,138 +1,79 @@
 [package]
-authors = ['tuxmain <tuxmain@zettascript.org>']
-description = 'FRAME pallet distance.'
-edition = '2021'
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet distance'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-distance'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '1.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-    'frame-benchmarking/runtime-benchmarks',
-    'pallet-identity/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
-    'pallet-authority-members/runtime-benchmarks',
-    'pallet-membership/runtime-benchmarks',
-    'pallet-balances/runtime-benchmarks',
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-authority-members/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-identity/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'scale-info/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-benchmarking?/std',
-    'pallet-authority-members/std',
-    'pallet-authorship/std',
-    'pallet-identity/std',
-    'pallet-membership/std',
-    'pallet-session/std',
-    'pallet-balances/std',
-    'sp-io/std',
-    'sp-keystore/std',
-    'sp-core/std',
-    'sp-consensus-babe/std',
-    'sp-inherents/std',
-    'sp-distance/std',
-    'sp-runtime/std',
-    'sp-std/std',
-    'sp-io/std',
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'pallet-authority-members/std',
+	'pallet-authorship/std',
+	'pallet-balances/std',
+	'pallet-identity/std',
+	'pallet-session/std',
+	'scale-info/std',
+	'sp-consensus-babe/std',
+	'sp-core/std',
+	'sp-distance/std',
+	'sp-inherents/std',
+	'sp-io/std',
+	'sp-keystore/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'sp-runtime/try-runtime',
-    'pallet-authority-members/try-runtime',
-    'pallet-authorship/try-runtime',
-    'pallet-identity/try-runtime',
-    'pallet-membership/try-runtime',
-    'pallet-session/try-runtime',
-    'pallet-balances/try-runtime',
-    'sp-distance/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-authority-members/try-runtime',
+	'pallet-authorship/try-runtime',
+	'pallet-balances/try-runtime',
+	'pallet-identity/try-runtime',
+	'pallet-session/try-runtime',
+	'sp-distance/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 
-[dependencies]
-getrandom = { version = "0.2.12", features = ["js"], default-features = false }
-
-pallet-authority-members = { path = "../authority-members", default-features = false }
-
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', optional = true, default-features = false }
-pallet-identity = { path = "../identity", default-features = false }
-pallet-membership = { path = "../membership", default-features = false }
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = [
-    "derive",
-] }
-sp-distance = { path = "../../primitives/distance", default-features = false }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = '3.6.9'
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.pallet-authorship]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.pallet-session]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-inherents]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DOC ###
-
 [package.metadata.docs.rs]
 default-features = false
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-consensus-babe]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[dependencies]
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+getrandom = { workspace = true, features = ['js'] }
+pallet-authority-members = { workspace = true }
+pallet-authorship = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-identity = { workspace = true }
+pallet-session = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+sp-consensus-babe = { workspace = true }
+sp-core = { workspace = true }
+sp-distance = { workspace = true }
+sp-inherents = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
 [dev-dependencies]
-sp-io = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-keystore = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-io = { workspace = true }
+sp-keystore = { workspace = true }
diff --git a/pallets/duniter-account/Cargo.toml b/pallets/duniter-account/Cargo.toml
index 304f5f331..ac9043231 100644
--- a/pallets/duniter-account/Cargo.toml
+++ b/pallets/duniter-account/Cargo.toml
@@ -1,130 +1,74 @@
 [package]
-authors = ['librelois <c@elo.tf>']
+authors.workspace = true
 description = 'duniter pallet for account management'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-duniter-account'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
+repository.workspace = true
 version = '3.0.0'
 
 [features]
-default = ['std']
+default = [ 'std' ]
 runtime-benchmarks = [
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
-    'pallet-identity/runtime-benchmarks',
-    'pallet-treasury/runtime-benchmarks',
-    'pallet-quota/runtime-benchmarks',
-    'pallet-balances/runtime-benchmarks',
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-identity/runtime-benchmarks',
+	'pallet-quota/runtime-benchmarks',
+	'pallet-treasury/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-benchmarking?/std',
-    'pallet-balances/std',
-    'pallet-transaction-payment/std',
-    'pallet-identity/std',
-    'pallet-treasury/std',
-    'pallet-quota/std',
-    'serde/std',
-    'log/std',
-    'scale-info/std',
-    'sp-core/std',
-    'sp-io/std',
-    'sp-runtime/std',
-    'sp-std/std',
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'log/std',
+	'pallet-balances/std',
+	'pallet-identity/std',
+	'pallet-quota/std',
+	'pallet-transaction-payment/std',
+	'pallet-treasury/std',
+	'scale-info/std',
+	'serde/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'sp-runtime/try-runtime',
-    'pallet-identity/try-runtime',
-    'pallet-treasury/try-runtime',
-    'pallet-quota/try-runtime',
-    'pallet-balances/try-runtime',
-    'pallet-transaction-payment/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-balances/try-runtime',
+	'pallet-identity/try-runtime',
+	'pallet-quota/try-runtime',
+	'pallet-transaction-payment/try-runtime',
+	'pallet-treasury/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 
-[dependencies]
-# local
-pallet-quota = { path = "../quota", default-features = false }
-pallet-identity = { path = "../identity", default-features = false }
-
-# crates.io
-codec = { package = 'parity-scale-codec', version = "3.6.9", default-features = false, features = ["derive"] }
-log = { version = "0.4.20", default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-# substrate
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.pallet-balances]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.pallet-transaction-payment]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.pallet-treasury]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.serde]
-default-features = false
-version = "1.0.195"
-features = ["derive"]
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-### DOC ###
-
 [package.metadata.docs.rs]
 default-features = false
 targets = ['x86_64-unknown-linux-gnu']
 
-### DEV ###
-
-[dev-dependencies.maplit]
-default-features = false
-version = '1.0.2'
+[dependencies]
+# local
+pallet-quota = { workspace = true }
+pallet-identity = { workspace = true }
+codec = { workspace = true, features = ['derive'] }
+log = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-treasury = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-std = { workspace = true }
+sp-runtime = { workspace = true }
+serde = { workspace = true, features = ['derive'] }
+pallet-transaction-payment = { workspace = true }
diff --git a/pallets/duniter-test-parameters/Cargo.toml b/pallets/duniter-test-parameters/Cargo.toml
index faf557e6a..5dfd3f397 100644
--- a/pallets/duniter-test-parameters/Cargo.toml
+++ b/pallets/duniter-test-parameters/Cargo.toml
@@ -1,83 +1,50 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'Duniter test parameters.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet test parameters'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-duniter-test-parameters'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'scale-info/std',
-    'serde/std',
-    'codec/std',
-    'frame-benchmarking?/std',
-    'frame-support/std',
-    'frame-system/std',
-    "sp-io/std",
-    "sp-runtime/std",
-    "sp-std/std",
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'scale-info/std',
+	'serde/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'sp-runtime/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 
-[dependencies]
-pallet-duniter-test-parameters-macro = { path = "macro", default-features = false }
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.195", features = ["derive"], default-features = false }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DOC ###
-
 [package.metadata.docs.rs]
 default-features = false
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[dependencies]
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+pallet-duniter-test-parameters-macro = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true, features = ['derive'] }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
diff --git a/pallets/duniter-test-parameters/macro/Cargo.toml b/pallets/duniter-test-parameters/macro/Cargo.toml
index a7d9b0701..b3bed239c 100644
--- a/pallets/duniter-test-parameters/macro/Cargo.toml
+++ b/pallets/duniter-test-parameters/macro/Cargo.toml
@@ -1,18 +1,16 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'Duniter test parameters macro.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter test parameters macro'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-duniter-test-parameters-macro'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [lib]
 proc-macro = true
 
 [dependencies]
-num_enum = { version = "0.7.2", default-features = false }
-proc-macro2 = { version = "1.0.76", default-features = false }
-quote = { version = "1.0.35", default-features = false }
-syn = { version = "2.0.48", features = [ "extra-traits", "fold", "full", "visit" ] }
+proc-macro2 = { workspace = true, default-features = false }
+quote = { workspace = true, default-features = false }
+syn = { workspace = true, features = ['extra-traits', 'fold', 'full', 'visit'] }
diff --git a/pallets/duniter-wot/Cargo.toml b/pallets/duniter-wot/Cargo.toml
index 7e17bd127..a91da7c7d 100644
--- a/pallets/duniter-wot/Cargo.toml
+++ b/pallets/duniter-wot/Cargo.toml
@@ -1,115 +1,72 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'duniter pallet for web of trust.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet for web of trust'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-duniter-wot'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
-    'pallet-identity/runtime-benchmarks',
-    'pallet-distance/runtime-benchmarks',
-    'pallet-membership/runtime-benchmarks',
-    'pallet-certification/runtime-benchmarks',
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-certification/runtime-benchmarks',
+	'pallet-distance/runtime-benchmarks',
+	'pallet-identity/runtime-benchmarks',
+	'pallet-membership/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-benchmarking?/std',
-    'pallet-certification/std',
-    'pallet-distance/std',
-    'pallet-identity/std',
-    'pallet-membership/std',
-    'scale-info/std',
-    'sp-core/std',
-    'sp-io/std',
-    'sp-membership/std',
-    'sp-runtime/std',
-    'sp-std/std',
-    'sp-state-machine/std',
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'pallet-certification/std',
+	'pallet-distance/std',
+	'pallet-identity/std',
+	'pallet-membership/std',
+	'scale-info/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-membership/std',
+	'sp-runtime/std',
+	'sp-state-machine/std',
+	'sp-std/std',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'sp-runtime/try-runtime',
-    'sp-membership/try-runtime',
-    'pallet-identity/try-runtime',
-    'pallet-certification/try-runtime',
-    'pallet-membership/try-runtime',
-    'pallet-distance/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-certification/try-runtime',
+	'pallet-distance/try-runtime',
+	'pallet-identity/try-runtime',
+	'pallet-membership/try-runtime',
+	'sp-membership/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 
-[dependencies]
-pallet-certification = { path = "../certification", default-features = false }
-pallet-distance = { path = "../distance", default-features = false }
-pallet-identity = { path = "../identity", default-features = false }
-pallet-membership = { path = "../membership", default-features = false }
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = [
-    "derive",
-] }
-sp-membership = { path = "../../primitives/membership", default-features = false }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DOC ###
-
 [package.metadata.docs.rs]
 default-features = false
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DEV ###
+[dependencies]
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+pallet-certification = { workspace = true }
+pallet-distance = { workspace = true }
+pallet-identity = { workspace = true }
+pallet-membership = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-membership = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
-[dev-dependencies.sp-state-machine]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[dev-dependencies]
+sp-state-machine = { workspace = true }
diff --git a/pallets/identity/Cargo.toml b/pallets/identity/Cargo.toml
index 9a52d0896..0da3e812e 100644
--- a/pallets/identity/Cargo.toml
+++ b/pallets/identity/Cargo.toml
@@ -1,41 +1,41 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'duniter pallet identity.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet identity'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-identity'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'frame-support/std',
-    'scale-info/std',
-    'serde/std',
-    'frame-benchmarking?/std',
-    'frame-support/std',
-    'frame-system/std',
-    'sp-core/std',
-    'sp-io/std',
-    'sp-runtime/std',
-    'sp-std/std',
-    'sp-keystore/std',
-    'sp-state-machine/std',
+	'codec/std',
+	'duniter-primitives/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'scale-info/std',
+	'serde/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-keystore/std',
+	'sp-runtime/std',
+	'sp-state-machine/std',
+	'sp-std/std',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'sp-runtime/try-runtime',
+	'duniter-primitives/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 
 [package.metadata.docs.rs]
@@ -43,54 +43,22 @@ default-features = false
 targets = ['x86_64-unknown-linux-gnu']
 
 [build-dependencies]
-substrate-wasm-builder = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = "duniter-substrate-v1.6.0" }
+substrate-wasm-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0' }
 
 [dependencies]
-duniter-primitives = { path = "../../primitives/duniter", default-features = false }
-
-# crates.io
-codec = { package = 'parity-scale-codec', version = "3.6.9", features = ['derive'], default-features = false }
-impl-trait-for-tuples = { version = "0.2.2", default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.195", features = ["derive"], default-features = false }
-# substrate
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+codec = { workspace = true, features = ['derive'] }
+duniter-primitives = { workspace = true }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+impl-trait-for-tuples = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true, features = ['derive'] }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
 [dev-dependencies]
-sp-keystore = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-state-machine = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-keystore = { workspace = true }
+sp-state-machine = { workspace = true }
diff --git a/pallets/membership/Cargo.toml b/pallets/membership/Cargo.toml
index ea0bc3465..19fcefab5 100644
--- a/pallets/membership/Cargo.toml
+++ b/pallets/membership/Cargo.toml
@@ -1,94 +1,56 @@
 [package]
-authors = ['librelois <c@elo.tf>']
+authors.workspace = true
 description = 'duniter pallet membership'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-membership'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
+repository.workspace = true
 version = '3.0.0'
 
 [features]
-default = ['std']
+default = [ 'std' ]
 runtime-benchmarks = [
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'scale-info/std',
-    'sp-membership/std',
-    'codec/std',
-    'frame-benchmarking?/std',
-    'frame-support/std',
-    'frame-system/std',
-    'sp-core/std',
-    'sp-runtime/std',
-    'sp-std/std',
-    'sp-io/std',
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'scale-info/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-membership/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'sp-runtime/try-runtime',
-    'sp-membership/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'sp-membership/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 
-[dependencies]
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-sp-membership = { path = "../../primitives/membership", default-features = false }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-### DOC ###
-
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dev-dependencies.maplit]
-default-features = false
-version = '1.0.2'
-
-[dev-dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[dependencies]
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-membership = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
+
+[dev-dependencies]
+maplit = { workspace = true }
+sp-io = { workspace = true }
diff --git a/pallets/offences/Cargo.toml b/pallets/offences/Cargo.toml
index fb7737eb1..42b920c0f 100644
--- a/pallets/offences/Cargo.toml
+++ b/pallets/offences/Cargo.toml
@@ -1,57 +1,52 @@
 [package]
-name = "pallet-offences"
-authors = ["Parity Technologies <admin@parity.io>", "Axiom-Team Developers <https://axiom-team.fr>"]
-description = 'duniter pallet to handle offences.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
-readme = "README.md"
+name = 'pallet-offences'
+authors.workspace = true
+description = 'duniter pallet to handle offences. fork from paritytechnologies offences pallet'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
+repository.workspace = true
+readme = 'README.md'
 
 [package.metadata.docs.rs]
-targets = ["x86_64-unknown-linux-gnu"]
+targets = ['x86_64-unknown-linux-gnu']
 
 [dependencies]
-codec = { package = "parity-scale-codec", version = "3.6.9", features = ["derive"], default-features = false }
-log = { version = "0.4.20", default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-frame-support = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-staking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-std = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+codec = { workspace = true, features = ['derive'] }
+log = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+sp-runtime = { workspace = true }
+sp-staking = { workspace = true }
+sp-std = { workspace = true }
 
 [dev-dependencies]
-sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-io = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
 
 [features]
-default = ["std"]
+default = ['std']
 std = [
-	"codec/std",
-	"frame-support/std",
-	"frame-system/std",
-	"log/std",
-	"pallet-balances/std",
-	"scale-info/std",
-	"sp-runtime/std",
-	"sp-staking/std",
-	"sp-std/std",
-	"sp-io/std",
-	"sp-core/std",
+	'codec/std',
+	'frame-support/std',
+	'frame-system/std',
+	'log/std',
+	'scale-info/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-staking/std',
+	'sp-std/std',
 ]
 runtime-benchmarks = [
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-	"pallet-balances/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
-	"sp-staking/runtime-benchmarks",
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
+	'sp-staking/runtime-benchmarks',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'pallet-balances/runtime-benchmarks',
-    'sp-runtime/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'sp-runtime/try-runtime',
 ]
diff --git a/pallets/oneshot-account/Cargo.toml b/pallets/oneshot-account/Cargo.toml
index b3d33e6ff..1b950d20f 100644
--- a/pallets/oneshot-account/Cargo.toml
+++ b/pallets/oneshot-account/Cargo.toml
@@ -1,101 +1,60 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'duniter pallet oneshot account.'
-edition = '2018'
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet oneshot account'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-oneshot-account'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-  "frame-benchmarking/runtime-benchmarks",
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-	"pallet-balances/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'pallet-balances/runtime-benchmarks',
-    'sp-runtime/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-balances/runtime-benchmarks',
+	'sp-runtime/try-runtime',
 ]
 std = [
-    'codec/std',
-    'log/std',
-    'pallet-balances/std',
-    'scale-info/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-benchmarking?/std',
-    'sp-core/std',
-    'sp-io/std',
-    'sp-runtime/std',
-    'sp-std/std',
-    'pallet-transaction-payment/std',
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'log/std',
+	'pallet-balances/std',
+	'pallet-transaction-payment/std',
+	'scale-info/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
 
-[dependencies]
-# crates.io
-codec = { package = 'parity-scale-codec', version = "3.6.9", default-features = false, features = ["derive"] }
-log = { version = "0.4.20", default-features = false }
-
-# benchmarks
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', optional = true, default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-# substrate
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.pallet-transaction-payment]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DOC ###
-
 [package.metadata.docs.rs]
 default-features = false
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dev-dependencies.pallet-balances]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[dependencies]
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+log = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-transaction-payment = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
+
+[dev-dependencies]
+pallet-balances = { workspace = true }
diff --git a/pallets/provide-randomness/Cargo.toml b/pallets/provide-randomness/Cargo.toml
index e845c2d85..122fd766f 100644
--- a/pallets/provide-randomness/Cargo.toml
+++ b/pallets/provide-randomness/Cargo.toml
@@ -1,92 +1,51 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'duniter pallet to provide randomness to users.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet to provide randomness to users'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-provide-randomness'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-	"pallet-balances/runtime-benchmarks",
-  "frame-benchmarking/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'pallet-balances/runtime-benchmarks',
-    'sp-runtime/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-balances/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 std = [
-    'codec/std',
-    'scale-info/std',
-    'pallet-balances/std',
-    'frame-support/std',
-    'frame-system/std',
-    'sp-runtime/std',
-    'frame-benchmarking?/std',
-    "sp-core/std",
-    "sp-io/std",
-    "sp-std/std",
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'pallet-balances/std',
+	'scale-info/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
 
 [dependencies]
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-# benchmarks
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', optional = true, default-features = false }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-### DOC ###
+scale-info = { workspace = true, features = ['derive'] }
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+pallet-balances = { workspace = true }
 
 [package.metadata.docs.rs]
 default-features = false
diff --git a/pallets/quota/Cargo.toml b/pallets/quota/Cargo.toml
index c2133c79e..ee80aa37f 100644
--- a/pallets/quota/Cargo.toml
+++ b/pallets/quota/Cargo.toml
@@ -1,91 +1,59 @@
 [package]
-authors = ['HugoTrentesaux <hugo@trentesaux.fr>']
+authors.workspace = true
 description = 'duniter pallet quota'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-quota'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-  "frame-benchmarking/runtime-benchmarks",
-	"pallet-balances/runtime-benchmarks",
-	"pallet-identity/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-identity/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'pallet-balances/runtime-benchmarks',
-    'pallet-identity/runtime-benchmarks',
-    'sp-runtime/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-identity/runtime-benchmarks',
+	'pallet-identity/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 std = [
-    'codec/std',
-    'scale-info/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-benchmarking?/std',
-    'sp-core/std',
-    'sp-runtime/std',
-    'sp-std/std',
-    'sp-io/std',
-    'pallet-identity/std',
-    'pallet-balances/std',
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'pallet-balances/std',
+	'pallet-identity/std',
+	'scale-info/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
 
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
 
 [dependencies]
-
-# crates.io
-codec = { package = 'parity-scale-codec', version = "3.6.9", features = ['derive'], default-features = false }
-pallet-identity = { path = "../identity", default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-# substrate
-
-[dependencies.pallet-balances]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-identity = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+sp-core = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
 [dev-dependencies]
-sp-io = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-io = { workspace = true }
diff --git a/pallets/session-benchmarking/Cargo.toml b/pallets/session-benchmarking/Cargo.toml
index b1658a6c6..bc7819ce3 100644
--- a/pallets/session-benchmarking/Cargo.toml
+++ b/pallets/session-benchmarking/Cargo.toml
@@ -1,113 +1,29 @@
 [package]
-name = "pallet-session-benchmarking"
-version = "4.0.0-dev"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2021"
-license = "Apache-2.0"
-homepage = "https://substrate.io"
-repository = "https://github.com/paritytech/substrate/"
-description = "FRAME sessions pallet benchmarking"
-readme = "README.md"
+name = 'pallet-session-benchmarking'
+authors.workspace = true
+edition.workspace = true
+license.workspace = true
+homepage.workspace = true
+repository.workspace = true
+description = 'FRAME sessions pallet benchmarking'
+readme = 'README.md'
 
 [package.metadata.docs.rs]
-targets = ["x86_64-unknown-linux-gnu"]
+targets = ['x86_64-unknown-linux-gnu']
 
 [dependencies]
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-pallet-authority-members = { path = "../authority-members", default-features = false }
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.pallet-session]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-session]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.parity-scale-codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.1.5"
-
-[dev-dependencies.pallet-balances]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dev-dependencies.pallet-timestamp]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dev-dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dev-dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+frame-benchmarking = { workspace = true, optional = true }
+frame-system = { workspace = true }
+pallet-session = { workspace = true }
+sp-std = { workspace = true }
+sp-runtime = { workspace = true }
+codec = { workspace = true }
 
 [features]
-default = ["std"]
-std = [
-	"parity-scale-codec/std",
-	"frame-benchmarking?/std",
-	"frame-support/std",
-	"frame-system/std",
-	"pallet-session/std",
-	"pallet-balances/std",
-	"pallet-timestamp/std",
-	"sp-runtime/std",
-	"sp-session/std",
-	"sp-std/std",
-	"sp-core/std",
-	"sp-io/std",
-]
-try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'pallet-balances/runtime-benchmarks',
-    'pallet-timestamp/runtime-benchmarks',
-    'sp-runtime/try-runtime',
-]
+default = ['std']
+std = ['frame-benchmarking?/std', 'frame-system/std', 'pallet-session/std']
+try-runtime = ['frame-system/try-runtime', 'pallet-session/try-runtime']
 runtime-benchmarks = [
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    'pallet-balances/runtime-benchmarks',
-    'pallet-timestamp/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
 ]
-
diff --git a/pallets/session-benchmarking/src/lib.rs b/pallets/session-benchmarking/src/lib.rs
index 057de1931..dd22408a1 100644
--- a/pallets/session-benchmarking/src/lib.rs
+++ b/pallets/session-benchmarking/src/lib.rs
@@ -19,7 +19,7 @@
 
 #![cfg_attr(not(feature = "std"), no_std)]
 #![cfg(feature = "runtime-benchmarks")]
-use parity_scale_codec::Decode;
+use codec::Decode;
 use sp_std::{prelude::*, vec};
 
 use frame_benchmarking::{benchmarks, whitelisted_caller};
diff --git a/pallets/smith-members/Cargo.toml b/pallets/smith-members/Cargo.toml
index 8949b9149..2d1c1e1f7 100644
--- a/pallets/smith-members/Cargo.toml
+++ b/pallets/smith-members/Cargo.toml
@@ -1,68 +1,59 @@
 [package]
-name = "pallet-smith-members"
-authors = ["c-geek <https://forum.duniter.org/u/cgeek>"]
-description = 'duniter pallet to handle offences.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
-readme = "README.md"
+name = 'pallet-smith-members'
+authors.workspace = true
+description = 'duniter pallet to handle offences'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
+repository.workspace = true
+readme = 'README.md'
 
 [package.metadata.docs.rs]
-targets = ["x86_64-unknown-linux-gnu"]
+targets = ['x86_64-unknown-linux-gnu']
 
 [dependencies]
-codec = { package = "parity-scale-codec", version = "3.6.9", features = ["derive"], default-features = false }
-frame-support = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-log = { version = "0.4.20", default-features = false }
-pallet-authority-members = { path = "../authority-members", default-features = false }
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-staking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-std = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+log = { workspace = true }
+pallet-authority-members = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+sp-runtime = { workspace = true }
+sp-staking = { workspace = true }
+sp-std = { workspace = true }
 
 [dev-dependencies]
-maplit = { version = "1.0.2", default-features = false }
-sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-io = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+maplit = { workspace = true }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
 
 [features]
-default = ["std"]
+default = ['std']
 std = [
-	"codec/std",
-	"frame-support/std",
-	"frame-system/std",
+	'codec/std',
 	'frame-benchmarking?/std',
-	"log/std",
-	"pallet-balances/std",
-	"pallet-authority-members/std",
-	"scale-info/std",
-	"sp-runtime/std",
-	"sp-staking/std",
-	"sp-std/std",
+	'frame-support/std',
+	'frame-system/std',
+	'log/std',
+	'pallet-authority-members/std',
+	'scale-info/std',
+	'sp-runtime/std',
+	'sp-staking/std',
+	'sp-std/std',
 ]
 runtime-benchmarks = [
-  "frame-benchmarking/runtime-benchmarks",
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-	"pallet-balances/runtime-benchmarks",
-	"pallet-authority-members/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
-	"sp-staking/runtime-benchmarks",
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-authority-members/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
+	'sp-staking/runtime-benchmarks',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'pallet-balances/runtime-benchmarks',
-    'pallet-authority-members/runtime-benchmarks',
-    'sp-runtime/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-authority-members/runtime-benchmarks',
+	'pallet-authority-members/try-runtime',
+	'sp-runtime/try-runtime',
 ]
diff --git a/pallets/universal-dividend/Cargo.toml b/pallets/universal-dividend/Cargo.toml
index bb15b5881..0f3b948cb 100644
--- a/pallets/universal-dividend/Cargo.toml
+++ b/pallets/universal-dividend/Cargo.toml
@@ -1,98 +1,64 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'duniter pallet universal dividend.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet universal dividend'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-universal-dividend'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-  "frame-benchmarking/runtime-benchmarks",
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-	"pallet-balances/runtime-benchmarks",
-	"pallet-timestamp/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-timestamp/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'pallet-balances/runtime-benchmarks',
-    'pallet-timestamp/runtime-benchmarks',
-    'sp-runtime/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-timestamp/runtime-benchmarks',
+	'sp-runtime/try-runtime',
 ]
 std = [
-    'codec/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-benchmarking?/std',
-    'pallet-timestamp/std',
-    'pallet-balances/std',
-    'scale-info/std',
-    "serde/std",
-    "sp-arithmetic/std",
-    "sp-io/std",
-    "sp-core/std",
-    "sp-std/std",
-    "sp-runtime/std",
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'pallet-balances/std',
+	'pallet-timestamp/std',
+	'scale-info/std',
+	'serde/std',
+	'sp-arithmetic/std',
+	'sp-core/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
-
-[dependencies]
-# crates.io
-codec = { package = 'parity-scale-codec', version = "3.6.9", default-features = false, features = ["derive", "max-encoded-len"] }
-
-# substrate bencharks
-frame-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', optional = true, default-features = false }
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', optional = true, default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.195", features = ["derive"], default-features = false }
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.pallet-timestamp]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-arithmetic]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
 ### DOC ###
 
 [package.metadata.docs.rs]
 default-features = false
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DEV ###
+[dependencies]
+codec = { workspace = true, features = ['derive', 'max-encoded-len'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-timestamp = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true, features = ['derive'] }
+sp-arithmetic = { workspace = true }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
-[dev-dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[dev-dependencies]
+sp-core = { workspace = true }
diff --git a/pallets/upgrade-origin/Cargo.toml b/pallets/upgrade-origin/Cargo.toml
index 6aabbaeb0..7f1b052ea 100644
--- a/pallets/upgrade-origin/Cargo.toml
+++ b/pallets/upgrade-origin/Cargo.toml
@@ -1,80 +1,48 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'duniter pallet to upgrade specified origin to root.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'duniter pallet to upgrade specified origin to root'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'pallet-upgrade-origin'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
 
 [features]
 default = ['std']
 runtime-benchmarks = [
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-  "frame-benchmarking/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'sp-runtime/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'sp-runtime/try-runtime',
 ]
 std = [
-    'codec/std',
-    'scale-info/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-benchmarking?/std',
-    "sp-io/std",
-    "sp-runtime/std",
-    "sp-std/std",
+	'codec/std',
+	'frame-benchmarking?/std',
+	'frame-support/std',
+	'frame-system/std',
+	'scale-info/std',
+	'sp-io/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
 
-[dependencies]
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-optional = true
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DOC ###
-
 [package.metadata.docs.rs]
 default-features = false
 targets = ['x86_64-unknown-linux-gnu']
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+[dependencies]
+codec = { workspace = true, features = ['derive'] }
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-staking = { workspace = true }
+sp-std = { workspace = true }
diff --git a/primitives/distance/Cargo.toml b/primitives/distance/Cargo.toml
index afd7e3c3c..1334722f6 100644
--- a/primitives/distance/Cargo.toml
+++ b/primitives/distance/Cargo.toml
@@ -1,71 +1,39 @@
 [package]
-authors = ['tuxmain <tuxmain@zettascript.org>']
-description = 'primitives for pallet distance.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'primitives for pallet distance'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'sp-distance'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
+
+[package.metadata.docs.rs]
+default-features = false
+targets = ['x86_64-unknown-linux-gnu']
 
 [features]
 default = ['std']
 std = [
-    'async-trait',
-    'scale-info/std',
-    'codec/std',
-    'frame-support/std',
-    'serde/std',
-    'sp-inherents/std',
-    'sp-runtime/std',
-    'sp-std/std',
-    'thiserror'
-]
-try-runtime = [
-    'frame-support/try-runtime',
-    'sp-runtime/try-runtime',
+	'async-trait',
+	'codec/std',
+	'frame-support/std',
+	'scale-info/std',
+	'serde/std',
+	'sp-inherents/std',
+	'sp-runtime/std',
+	'sp-std/std',
+	'thiserror',
 ]
+try-runtime = ['frame-support/try-runtime', 'sp-runtime/try-runtime']
 
 [dependencies]
-async-trait = { version = "0.1", optional = true, default-features = false }
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-thiserror = { version = "1.0.56", optional = true, default-features = false }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.serde]
-default-features = false
-version = "1.0.195"
-features = ["derive"]
-
-[dependencies.sp-inherents]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DOC ###
-
-[package.metadata.docs.rs]
-default-features = false
-targets = ['x86_64-unknown-linux-gnu']
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+async-trait = { workspace = true, optional = true }
+codec = { workspace = true, features = ['derive'] }
+frame-support = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true, features = ['derive'] }
+sp-inherents = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
+thiserror = { workspace = true, optional = true }
diff --git a/primitives/duniter/Cargo.toml b/primitives/duniter/Cargo.toml
index 9cb227fb8..5883317e7 100644
--- a/primitives/duniter/Cargo.toml
+++ b/primitives/duniter/Cargo.toml
@@ -1,56 +1,18 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'primitives for duniter runtime.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'primitives for duniter runtime'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'duniter-primitives'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
-
-[features]
-default = ['std']
-std = [
-    'scale-info/std',
-    'codec/std',
-    'frame-support/std',
-    'sp-runtime/std',
-    'sp-std/std',
-]
-try-runtime = [
-    'frame-support/try-runtime',
-    'sp-runtime/try-runtime',
-]
-
-[dependencies]
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-### DOC ###
+repository.workspace = true
 
 [package.metadata.docs.rs]
 default-features = false
 targets = ['x86_64-unknown-linux-gnu']
+
+[features]
+default = ['std']
+std = []
+try-runtime = []
diff --git a/primitives/membership/Cargo.toml b/primitives/membership/Cargo.toml
index a66bc91dc..7968666c6 100644
--- a/primitives/membership/Cargo.toml
+++ b/primitives/membership/Cargo.toml
@@ -1,64 +1,35 @@
 [package]
-authors = ['librelois <c@elo.tf>']
-description = 'primitives for pallet membership.'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+description = 'primitives for pallet membership'
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'sp-membership'
 readme = 'README.md'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
+
+[package.metadata.docs.rs]
+default-features = false
+targets = ['x86_64-unknown-linux-gnu']
 
 [features]
 default = ['std']
 std = [
-    'scale-info/std',
-    'codec/std',
-    'frame-support/std',
-    'serde/std',
-    'sp-runtime/std',
-    'sp-std/std',
-]
-try-runtime = [
-    'frame-support/try-runtime',
-    'sp-runtime/try-runtime',
+	'codec/std',
+	'frame-support/std',
+	'scale-info/std',
+	'serde/std',
+	'sp-runtime/std',
+	'sp-std/std',
 ]
+try-runtime = ['frame-support/try-runtime', 'sp-runtime/try-runtime']
 
 [dependencies]
 
-# crates.io
-impl-trait-for-tuples = { version = "0.2.2", default-features = false }
-
-# substrate
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.6.9"
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-
-[dependencies.serde]
-default-features = false
-version = "1.0.195"
-features = ["derive"]
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
-### DOC ###
-
-[package.metadata.docs.rs]
-default-features = false
-targets = ['x86_64-unknown-linux-gnu']
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/duniter-polkadot-sdk'
-branch = 'duniter-substrate-v1.6.0'
+codec = { workspace = true, features = ['derive'] }
+frame-support = { workspace = true }
+impl-trait-for-tuples = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
diff --git a/resources/weight_analyzer/Cargo.toml b/resources/weight_analyzer/Cargo.toml
index 9a935bd0f..eb83de24a 100644
--- a/resources/weight_analyzer/Cargo.toml
+++ b/resources/weight_analyzer/Cargo.toml
@@ -1,19 +1,17 @@
 [package]
-name = "weight-analyzer"
-authors = ['Axiom-Team Developers <https://axiom-team.fr>']
-description = 'Crypto-currency software (based on Substrate framework) to operate Äž1 libre currency'
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '0.0.0'
+name = 'weight-analyzer'
+authors.workspace = true
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
+repository.workspace = true
 
 [lib]
-name = "weightanalyzer"
-path = "src/lib.rs"
+name = 'weightanalyzer'
+path = 'src/lib.rs'
 
 [dependencies]
-convert_case = "0.6.0"
-glob = "0.3.1"
-serde = { version = "1.0.101", features = ["derive"] }
-subweight-core = "3.3.1"
+convert_case = { workspace = true }
+glob = { workspace = true }
+serde = { workspace = true, features = ['derive'] }
+subweight-core = { workspace = true }
diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml
index 11e953e40..f4d2cead4 100644
--- a/runtime/common/Cargo.toml
+++ b/runtime/common/Cargo.toml
@@ -1,173 +1,164 @@
 [package]
 name = 'common-runtime'
 description = 'Common code shared between all runtimes'
-license = 'GPL-3.0-only'
-version = '0.8.0-dev'
-authors = ['Axiom-Team Developers <https://axiom-team.fr>']
-edition = "2021"
+license.workspace = true
+authors.workspace = true
+edition.workspace = true
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
 
 [features]
 default = ['std']
 no_std = []
 constant-fees = []
 runtime-benchmarks = [
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-system-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    "pallet-babe/runtime-benchmarks",
-    'pallet-balances/runtime-benchmarks',
-    'pallet-certification/runtime-benchmarks',
-    'pallet-offences/runtime-benchmarks',
-    'pallet-collective/runtime-benchmarks',
-    'pallet-duniter-wot/runtime-benchmarks',
-    'pallet-identity/runtime-benchmarks',
-    'pallet-membership/runtime-benchmarks',
-    'pallet-quota/runtime-benchmarks',
-    'pallet-provide-randomness/runtime-benchmarks',
-    'pallet-im-online/runtime-benchmarks',
-    'pallet-universal-dividend/runtime-benchmarks',
-    'pallet-oneshot-account/runtime-benchmarks',
-    'pallet-multisig/runtime-benchmarks',
-    'pallet-proxy/runtime-benchmarks',
-    'pallet-preimage/runtime-benchmarks',
-    'pallet-treasury/runtime-benchmarks',
-    'pallet-upgrade-origin/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system-benchmarking/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-authority-members/runtime-benchmarks',
+	'pallet-babe/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-certification/runtime-benchmarks',
+	'pallet-collective/runtime-benchmarks',
+	'pallet-distance/runtime-benchmarks',
+	'pallet-duniter-account/runtime-benchmarks',
+	'pallet-identity/runtime-benchmarks',
+	'pallet-im-online/runtime-benchmarks',
+	'pallet-membership/runtime-benchmarks',
+	'pallet-multisig/runtime-benchmarks',
+	'pallet-offences/runtime-benchmarks',
+	'pallet-oneshot-account/runtime-benchmarks',
+	'pallet-preimage/runtime-benchmarks',
+	'pallet-provide-randomness/runtime-benchmarks',
+	'pallet-proxy/runtime-benchmarks',
+	'pallet-quota/runtime-benchmarks',
+	'pallet-smith-members/runtime-benchmarks',
+	'pallet-treasury/runtime-benchmarks',
+	'pallet-universal-dividend/runtime-benchmarks',
+	'pallet-upgrade-origin/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'frame-benchmarking/std',
-    'frame-system-benchmarking?/std',
-    'frame-support/std',
-    'frame-system/std',
-    'pallet-authority-members/std',
-    'pallet-babe/std',
-    'pallet-balances/std',
-    'pallet-certification/std',
-    'pallet-collective/std',
-    'pallet-duniter-account/std',
-    'pallet-duniter-wot/std',
-    'pallet-grandpa/std',
-    'pallet-identity/std',
-    'pallet-im-online/std',
-    'pallet-membership/std',
-    'pallet-multisig/std',
-    "pallet-offences/std",
-    'pallet-oneshot-account/std',
-    'pallet-preimage/std',
-    'pallet-provide-randomness/std',
-    'pallet-proxy/std',
-    'pallet-quota/std',
-    'pallet-multisig/std',
-    "pallet-scheduler/std",
-    'pallet-session/std',
-    'pallet-smith-members/std',
-    'pallet-sudo/std',
-    'pallet-timestamp/std',
-    'pallet-treasury/std',
-    'pallet-universal-dividend/std',
-    'pallet-upgrade-origin/std',
-    'pallet-utility/std',
-    'scale-info/std',
-    "serde/std",
-    'sp-arithmetic/std',
-    'sp-consensus-babe/std',
-    'sp-core/std',
-    'sp-membership/std',
-    'sp-runtime/std',
-    'sp-staking/std',
-    'sp-std/std',
-    'sp-weights/std',
-    'node-primitives/std',
+	'codec/std',
+	'duniter-primitives/std',
+	'frame-support/std',
+	'frame-system-benchmarking?/std',
+	'frame-system/std',
+	'pallet-authority-members/std',
+	'pallet-babe/std',
+	'pallet-balances/std',
+	'pallet-certification/std',
+	'pallet-collective/std',
+	'pallet-distance/std',
+	'pallet-duniter-account/std',
+	'pallet-grandpa/std',
+	'pallet-identity/std',
+	'pallet-im-online/std',
+	'pallet-membership/std',
+	'pallet-multisig/std',
+	'pallet-offences/std',
+	'pallet-oneshot-account/std',
+	'pallet-preimage/std',
+	'pallet-provide-randomness/std',
+	'pallet-proxy/std',
+	'pallet-quota/std',
+	'pallet-scheduler/std',
+	'pallet-session/std',
+	'pallet-smith-members/std',
+	'pallet-sudo/std',
+	'pallet-timestamp/std',
+	'pallet-treasury/std',
+	'pallet-universal-dividend/std',
+	'pallet-upgrade-origin/std',
+	'pallet-utility/std',
+	'scale-info/std',
+	'serde/std',
+	'sp-arithmetic/std',
+	'sp-consensus-babe/std',
+	'sp-core/std',
+	'sp-membership/std',
+	'sp-runtime/std',
+	'sp-staking/std',
+	'sp-std/std',
+	'sp-weights/std',
 ]
 try-runtime = [
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'pallet-babe/try-runtime',
-    'pallet-balances/try-runtime',
-    'pallet-certification/try-runtime',
-    'pallet-collective/try-runtime',
-    'pallet-duniter-account/try-runtime',
-    'pallet-duniter-wot/try-runtime',
-    'pallet-grandpa/try-runtime',
-    'pallet-identity/try-runtime',
-    'pallet-im-online/try-runtime',
-    'pallet-membership/try-runtime',
-    'pallet-multisig/try-runtime',
-    "pallet-offences/try-runtime",
-    'pallet-oneshot-account/try-runtime',
-    'pallet-preimage/try-runtime',
-    'pallet-provide-randomness/try-runtime',
-    'pallet-proxy/try-runtime',
-    'pallet-quota/try-runtime',
-    'pallet-multisig/try-runtime',
-    "pallet-scheduler/try-runtime",
-    'pallet-session/try-runtime',
-    'pallet-smith-members/try-runtime',
-    'pallet-sudo/try-runtime',
-    'pallet-timestamp/try-runtime',
-    'pallet-treasury/try-runtime',
-    'pallet-universal-dividend/try-runtime',
-    'pallet-upgrade-origin/try-runtime',
-    'pallet-utility/try-runtime',
+	'duniter-primitives/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-authority-members/try-runtime',
+	'pallet-babe/try-runtime',
+	'pallet-balances/try-runtime',
+	'pallet-certification/try-runtime',
+	'pallet-collective/try-runtime',
+	'pallet-distance/try-runtime',
+	'pallet-duniter-account/try-runtime',
+	'pallet-grandpa/try-runtime',
+	'pallet-identity/try-runtime',
+	'pallet-im-online/try-runtime',
+	'pallet-membership/try-runtime',
+	'pallet-multisig/try-runtime',
+	'pallet-offences/try-runtime',
+	'pallet-oneshot-account/try-runtime',
+	'pallet-preimage/try-runtime',
+	'pallet-provide-randomness/try-runtime',
+	'pallet-proxy/try-runtime',
+	'pallet-quota/try-runtime',
+	'pallet-scheduler/try-runtime',
+	'pallet-session/try-runtime',
+	'pallet-smith-members/try-runtime',
+	'pallet-sudo/try-runtime',
+	'pallet-timestamp/try-runtime',
+	'pallet-treasury/try-runtime',
+	'pallet-universal-dividend/try-runtime',
+	'pallet-upgrade-origin/try-runtime',
+	'pallet-utility/try-runtime',
+	'sp-membership/try-runtime',
 ]
 
 [dependencies]
-
-# Crates.io
-codec = { package = "parity-scale-codec", version = "3.6.9", features = ["derive"], default-features = false }
-duniter-primitives = { path = '../../primitives/duniter', default-features = false }
-
-# substrate benchmarks
-frame-system-benchmarking = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = 'duniter-substrate-v1.6.0', default-features = false, optional = true }
-frame-benchmarking = { git = "https://github.com/duniter/duniter-polkadot-sdk", branch = 'duniter-substrate-v1.6.0', default-features = false, optional = true }
-frame-support = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-# Substrate
-pallet-authority-members = { path = '../../pallets/authority-members', default-features = false }
-pallet-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-certification = { path = '../../pallets/certification', default-features = false }
-pallet-collective = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-distance = { path = "../../pallets/distance", default-features = false }
-pallet-duniter-account = { path = '../../pallets/duniter-account', default-features = false }
-pallet-duniter-wot = { path = '../../pallets/duniter-wot', default-features = false }
-pallet-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-identity = { path = '../../pallets/identity', default-features = false }
-pallet-im-online = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-membership = { path = '../../pallets/membership', default-features = false }
-pallet-multisig = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-offences = { path = '../../pallets/offences', default-features = false }
-pallet-oneshot-account = { path = '../../pallets/oneshot-account', default-features = false }
-pallet-preimage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-provide-randomness = { path = '../../pallets/provide-randomness', default-features = false }
-pallet-proxy = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-quota = { path = '../../pallets/quota', default-features = false }
-pallet-scheduler = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-smith-members = { path = '../../pallets/smith-members', default-features = false }
-pallet-sudo = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-treasury = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-universal-dividend = { path = '../../pallets/universal-dividend', default-features = false }
-pallet-upgrade-origin = { path = '../../pallets/upgrade-origin', default-features = false }
-pallet-utility = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.195", default-features = false }
-smallvec = { version = "1.13.1", default-features = false }
-sp-arithmetic = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-membership = { path = '../../primitives/membership', default-features = false }
-sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-# TODO: there is a bad coupling in substrate that force to add this dependency
-sp-staking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-std = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-weights = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-node-primitives = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+codec = { workspace = true, features = ['derive'] }
+duniter-primitives = { workspace = true }
+frame-benchmarking = { workspace = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+frame-system-benchmarking = { workspace = true, optional = true }
+pallet-authority-members = { workspace = true }
+pallet-babe = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-certification = { workspace = true }
+pallet-collective = { workspace = true }
+pallet-distance = { workspace = true }
+pallet-duniter-account = { workspace = true }
+pallet-grandpa = { workspace = true }
+pallet-identity = { workspace = true }
+pallet-im-online = { workspace = true }
+pallet-membership = { workspace = true }
+pallet-multisig = { workspace = true }
+pallet-offences = { workspace = true }
+pallet-oneshot-account = { workspace = true }
+pallet-preimage = { workspace = true }
+pallet-provide-randomness = { workspace = true }
+pallet-proxy = { workspace = true }
+pallet-quota = { workspace = true }
+pallet-scheduler = { workspace = true }
+pallet-session = { workspace = true }
+pallet-smith-members = { workspace = true }
+pallet-sudo = { workspace = true }
+pallet-timestamp = { workspace = true }
+pallet-treasury = { workspace = true }
+pallet-universal-dividend = { workspace = true }
+pallet-upgrade-origin = { workspace = true }
+pallet-utility = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true }
+smallvec = { workspace = true }
+sp-arithmetic = { workspace = true }
+sp-consensus-babe = { workspace = true }
+sp-core = { workspace = true }
+sp-membership = { workspace = true }
+sp-runtime = { workspace = true }
+sp-staking = { workspace = true }
+sp-std = { workspace = true }
+sp-weights = { workspace = true }
diff --git a/runtime/g1/Cargo.toml b/runtime/g1/Cargo.toml
index 464713907..bbe89fc02 100644
--- a/runtime/g1/Cargo.toml
+++ b/runtime/g1/Cargo.toml
@@ -1,246 +1,229 @@
 [package]
-authors = ['Axiom-Team Developers <https://axiom-team.fr>']
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'g1-runtime'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
+
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
 
 [features]
 default = ['std']
 constant-fees = ['common-runtime/constant-fees']
 runtime-benchmarks = [
-    'common-runtime/runtime-benchmarks',
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system-benchmarking',
-    'frame-system/runtime-benchmarks',
-    'pallet-authority-members/runtime-benchmarks',
-    'pallet-smith-members/runtime-benchmarks',
-    'pallet-babe/runtime-benchmarks',
-    'pallet-balances/runtime-benchmarks',
-    'pallet-certification/runtime-benchmarks',
-    'pallet-collective/runtime-benchmarks',
-    'pallet-distance/runtime-benchmarks',
-    'pallet-duniter-test-parameters/runtime-benchmarks',
-    'pallet-duniter-account/runtime-benchmarks',
-    'pallet-quota/runtime-benchmarks',
-    'pallet-duniter-wot/runtime-benchmarks',
-    'pallet-grandpa/runtime-benchmarks',
-    'pallet-identity/runtime-benchmarks',
-    'pallet-membership/runtime-benchmarks',
-    'pallet-provide-randomness/runtime-benchmarks',
-    'pallet-im-online/runtime-benchmarks',
-    'pallet-multisig/runtime-benchmarks',
-    'pallet-oneshot-account/runtime-benchmarks',
-    'pallet-preimage/runtime-benchmarks',
-    'pallet-session-benchmarking/runtime-benchmarks',
-    'pallet-proxy/runtime-benchmarks',
-    'pallet-scheduler/runtime-benchmarks',
-    'pallet-sudo/runtime-benchmarks',
-    'pallet-timestamp/runtime-benchmarks',
-    'pallet-treasury/runtime-benchmarks',
-    'pallet-universal-dividend/runtime-benchmarks',
-    'pallet-upgrade-origin/runtime-benchmarks',
-    'pallet-utility/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
+	'common-runtime/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-authority-members/runtime-benchmarks',
+	'pallet-babe/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-certification/runtime-benchmarks',
+	'pallet-collective/runtime-benchmarks',
+	'pallet-distance/runtime-benchmarks',
+	'pallet-duniter-account/runtime-benchmarks',
+	'pallet-duniter-wot/runtime-benchmarks',
+	'pallet-grandpa/runtime-benchmarks',
+	'pallet-identity/runtime-benchmarks',
+	'pallet-im-online/runtime-benchmarks',
+	'pallet-membership/runtime-benchmarks',
+	'pallet-multisig/runtime-benchmarks',
+	'pallet-offences/runtime-benchmarks',
+	'pallet-oneshot-account/runtime-benchmarks',
+	'pallet-preimage/runtime-benchmarks',
+	'pallet-provide-randomness/runtime-benchmarks',
+	'pallet-proxy/runtime-benchmarks',
+	'pallet-quota/runtime-benchmarks',
+	'pallet-scheduler/runtime-benchmarks',
+	'pallet-session-benchmarking/runtime-benchmarks',
+	'pallet-smith-members/runtime-benchmarks',
+	'pallet-sudo/runtime-benchmarks',
+	'pallet-timestamp/runtime-benchmarks',
+	'pallet-treasury/runtime-benchmarks',
+	'pallet-universal-dividend/runtime-benchmarks',
+	'pallet-upgrade-origin/runtime-benchmarks',
+	'pallet-utility/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'common-runtime/std',
-    'frame-benchmarking/std',
-    'frame-executive/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-system-benchmarking/std',
-    'frame-system-rpc-runtime-api/std',
-    "frame-try-runtime/std",
-    'log/std',
-    'pallet-atomic-swap/std',
-    'pallet-authority-discovery/std',
-    'pallet-authority-members/std',
-    "pallet-authorship/std",
-    'pallet-babe/std',
-    'pallet-balances/std',
-    'pallet-certification/std',
-    'pallet-collective/std',
-    'pallet-distance/std',
-    'pallet-duniter-account/std',
-    'pallet-duniter-test-parameters/std',
-    'pallet-duniter-wot/std',
-    'pallet-grandpa/std',
-    'pallet-identity/std',
-    'pallet-im-online/std',
-    'pallet-membership/std',
-    'pallet-multisig/std',
-    "pallet-offences/std",
-    'pallet-oneshot-account/std',
-    'pallet-preimage/std',
-    'pallet-provide-randomness/std',
-    'pallet-proxy/std',
-    'pallet-quota/std',
-    'pallet-multisig/std',
-    "pallet-scheduler/std",
-    'pallet-session/std',
-    'pallet-session-benchmarking/std',
-    'pallet-smith-members/std',
-    'pallet-sudo/std',
-    'pallet-timestamp/std',
-    'pallet-transaction-payment/std',
-    'pallet-transaction-payment-rpc-runtime-api/std',
-    'pallet-treasury/std',
-    'pallet-universal-dividend/std',
-    'pallet-upgrade-origin/std',
-    'pallet-utility/std',
-    'scale-info/std',
-    "serde/std",
-    "serde_derive",
-    'sp-api/std',
-    'sp-arithmetic/std',
-    'sp-authority-discovery/std',
-    'sp-block-builder/std',
-    'sp-consensus-babe/std',
-    'sp-consensus-grandpa/std',
-    'sp-core/std',
-    'sp-distance/std',
-    'sp-inherents/std',
-    'sp-membership/std',
-    'sp-offchain/std',
-    'sp-runtime/std',
-    'sp-session/std',
-    'sp-std/std',
-    'sp-transaction-pool/std',
-    'sp-version/std',
-    'sp-staking/std',
-    'node-primitives/std',
-    'substrate-wasm-builder',
-    'sp-genesis-builder/std',
+	'codec/std',
+	'common-runtime/std',
+	'frame-executive/std',
+	'frame-support/std',
+	'frame-system-rpc-runtime-api/std',
+	'frame-system/std',
+	'log/std',
+	'node-primitives/std',
+	'pallet-atomic-swap/std',
+	'pallet-authority-discovery/std',
+	'pallet-authority-members/std',
+	'pallet-authorship/std',
+	'pallet-babe/std',
+	'pallet-balances/std',
+	'pallet-certification/std',
+	'pallet-collective/std',
+	'pallet-distance/std',
+	'pallet-duniter-account/std',
+	'pallet-duniter-wot/std',
+	'pallet-grandpa/std',
+	'pallet-identity/std',
+	'pallet-im-online/std',
+	'pallet-membership/std',
+	'pallet-multisig/std',
+	'pallet-offences/std',
+	'pallet-oneshot-account/std',
+	'pallet-preimage/std',
+	'pallet-provide-randomness/std',
+	'pallet-proxy/std',
+	'pallet-quota/std',
+	'pallet-scheduler/std',
+	'pallet-session-benchmarking/std',
+	'pallet-session/std',
+	'pallet-smith-members/std',
+	'pallet-sudo/std',
+	'pallet-timestamp/std',
+	'pallet-transaction-payment-rpc-runtime-api/std',
+	'pallet-transaction-payment/std',
+	'pallet-treasury/std',
+	'pallet-universal-dividend/std',
+	'pallet-upgrade-origin/std',
+	'pallet-utility/std',
+	'scale-info/std',
+	'serde/std',
+	'serde_derive',
+	'sp-api/std',
+	'sp-arithmetic/std',
+	'sp-authority-discovery/std',
+	'sp-block-builder/std',
+	'sp-consensus-babe/std',
+	'sp-consensus-grandpa/std',
+	'sp-core/std',
+	'sp-distance/std',
+	'sp-genesis-builder/std',
+	'sp-inherents/std',
+	'sp-membership/std',
+	'sp-offchain/std',
+	'sp-runtime/std',
+	'sp-session/std',
+	'sp-staking/std',
+	'sp-std/std',
+	'sp-transaction-pool/std',
+	'sp-version/std',
+	'substrate-wasm-builder',
 ]
 try-runtime = [
-    'common-runtime/try-runtime',
-    'frame-executive/try-runtime',
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'frame-try-runtime/try-runtime',
-    'pallet-atomic-swap/try-runtime',
-    'pallet-authority-discovery/try-runtime',
-    'pallet-authority-members/try-runtime',
-    "pallet-authorship/try-runtime",
-    'pallet-babe/try-runtime',
-    'pallet-balances/try-runtime',
-    'pallet-certification/try-runtime',
-    'pallet-collective/try-runtime',
-    'pallet-distance/try-runtime',
-    'pallet-duniter-account/try-runtime',
-    'pallet-duniter-test-parameters/try-runtime',
-    'pallet-duniter-wot/try-runtime',
-    'pallet-grandpa/try-runtime',
-    'pallet-identity/try-runtime',
-    'pallet-im-online/try-runtime',
-    'pallet-membership/try-runtime',
-    'pallet-multisig/try-runtime',
-    "pallet-offences/try-runtime",
-    'pallet-oneshot-account/try-runtime',
-    'pallet-preimage/try-runtime',
-    'pallet-provide-randomness/try-runtime',
-    'pallet-proxy/try-runtime',
-    'pallet-quota/try-runtime',
-    'pallet-multisig/try-runtime',
-    "pallet-scheduler/try-runtime",
-    'pallet-session/try-runtime',
-    'pallet-smith-members/try-runtime',
-    'pallet-sudo/try-runtime',
-    'pallet-timestamp/try-runtime',
-    'pallet-transaction-payment/try-runtime',
-    'pallet-treasury/try-runtime',
-    'pallet-universal-dividend/try-runtime',
-    'pallet-upgrade-origin/try-runtime',
-    'pallet-utility/try-runtime',
+	'common-runtime/try-runtime',
+	'frame-executive/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-atomic-swap/try-runtime',
+	'pallet-authority-discovery/try-runtime',
+	'pallet-authority-members/try-runtime',
+	'pallet-authorship/try-runtime',
+	'pallet-babe/try-runtime',
+	'pallet-balances/try-runtime',
+	'pallet-certification/try-runtime',
+	'pallet-collective/try-runtime',
+	'pallet-distance/try-runtime',
+	'pallet-duniter-account/try-runtime',
+	'pallet-duniter-wot/try-runtime',
+	'pallet-grandpa/try-runtime',
+	'pallet-identity/try-runtime',
+	'pallet-im-online/try-runtime',
+	'pallet-membership/try-runtime',
+	'pallet-multisig/try-runtime',
+	'pallet-offences/try-runtime',
+	'pallet-oneshot-account/try-runtime',
+	'pallet-preimage/try-runtime',
+	'pallet-provide-randomness/try-runtime',
+	'pallet-proxy/try-runtime',
+	'pallet-quota/try-runtime',
+	'pallet-scheduler/try-runtime',
+	'pallet-session-benchmarking/try-runtime',
+	'pallet-session/try-runtime',
+	'pallet-smith-members/try-runtime',
+	'pallet-sudo/try-runtime',
+	'pallet-timestamp/try-runtime',
+	'pallet-transaction-payment/try-runtime',
+	'pallet-treasury/try-runtime',
+	'pallet-universal-dividend/try-runtime',
+	'pallet-upgrade-origin/try-runtime',
+	'pallet-utility/try-runtime',
+	'sp-distance/try-runtime',
+	'sp-membership/try-runtime',
 ]
 
 [dev-dependencies]
-sp-keyring = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-staking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-staking = { workspace = true }
 
 [build-dependencies]
-substrate-wasm-builder = { git = "https://github.com/duniter/duniter-polkadot-sdk", optional = true , branch = "duniter-substrate-v1.6.0" }
+substrate-wasm-builder = { workspace = true, optional = true }
 
 [dependencies]
-
-# crates.io
-codec = { package = "parity-scale-codec", version = "3.6.9", features = ["derive"], default-features = false }
-# local
-common-runtime = { path = "../common", default-features = false }
-
-# substrate benchmarking
-frame-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, optional = false }
-frame-executive = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-support = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-system-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, optional = true }
-frame-system-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-# substrate
-frame-try-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, optional = true }
-hex-literal = { version = '0.4.1', default-features = false, optional = true }
-log = { version = "0.4.20", default-features = false }
-pallet-atomic-swap = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-authority-members = { path = '../../pallets/authority-members', default-features = false }
-pallet-authorship = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-certification = { path = '../../pallets/certification', default-features = false }
-pallet-collective = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-distance = { path = "../../pallets/distance", default-features = false }
-pallet-duniter-account = { path = '../../pallets/duniter-account', default-features = false }
-pallet-duniter-test-parameters = { path = '../../pallets/duniter-test-parameters', default-features = false }
-pallet-duniter-wot = { path = '../../pallets/duniter-wot', default-features = false }
-pallet-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-identity = { path = '../../pallets/identity', default-features = false }
-pallet-im-online = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-membership = { path = '../../pallets/membership', default-features = false }
-pallet-multisig = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-offences = { path = '../../pallets/offences', default-features = false }
-pallet-oneshot-account = { path = '../../pallets/oneshot-account', default-features = false }
-pallet-preimage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-provide-randomness = { path = '../../pallets/provide-randomness', default-features = false }
-pallet-proxy = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-quota = { path = '../../pallets/quota', default-features = false }
-pallet-scheduler = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-session-benchmarking = { path = '../../pallets/session-benchmarking', default-features = false }
-pallet-smith-members = { path = '../../pallets/smith-members', default-features = false }
-pallet-sudo = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-transaction-payment = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-treasury = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-universal-dividend = { path = '../../pallets/universal-dividend', default-features = false }
-pallet-upgrade-origin = { path = '../../pallets/upgrade-origin', default-features = false }
-pallet-utility = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.195", default-features = false }
-serde_derive = { version = "1.0.195", default-features = false, optional = true }
-sp-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-arithmetic = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-block-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-distance = { path = '../../primitives/distance', default-features = false }
-sp-inherents = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-membership = { path = '../../primitives/membership', default-features = false }
-sp-offchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-std = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-transaction-pool = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-version = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-node-primitives = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-genesis-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+codec = { workspace = true, features = ['derive'] }
+common-runtime = { workspace = true }
+frame-executive = { workspace = true }
+pallet-session-benchmarking = { workspace = true }
+frame-support = { workspace = true }
+frame-benchmarking = { workspace = true }
+frame-system-benchmarking = { workspace = true }
+frame-system = { workspace = true }
+frame-system-rpc-runtime-api = { workspace = true }
+hex-literal = { workspace = true, optional = true }
+log = { workspace = true }
+pallet-atomic-swap = { workspace = true }
+pallet-authority-discovery = { workspace = true }
+pallet-authority-members = { workspace = true }
+pallet-authorship = { workspace = true }
+pallet-babe = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-certification = { workspace = true }
+pallet-collective = { workspace = true }
+pallet-distance = { workspace = true }
+pallet-duniter-account = { workspace = true }
+pallet-duniter-wot = { workspace = true }
+pallet-grandpa = { workspace = true }
+pallet-identity = { workspace = true }
+pallet-im-online = { workspace = true }
+pallet-membership = { workspace = true }
+pallet-multisig = { workspace = true }
+pallet-offences = { workspace = true }
+pallet-oneshot-account = { workspace = true }
+pallet-preimage = { workspace = true }
+pallet-provide-randomness = { workspace = true }
+pallet-proxy = { workspace = true }
+pallet-quota = { workspace = true }
+pallet-scheduler = { workspace = true }
+pallet-session = { workspace = true }
+pallet-smith-members = { workspace = true }
+pallet-sudo = { workspace = true }
+pallet-timestamp = { workspace = true }
+pallet-transaction-payment = { workspace = true }
+pallet-transaction-payment-rpc-runtime-api = { workspace = true }
+pallet-treasury = { workspace = true }
+pallet-universal-dividend = { workspace = true }
+pallet-upgrade-origin = { workspace = true }
+pallet-utility = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true }
+serde_derive = { workspace = true, optional = true }
+sp-api = { workspace = true }
+sp-arithmetic = { workspace = true }
+sp-authority-discovery = { workspace = true }
+sp-block-builder = { workspace = true }
+sp-consensus-babe = { workspace = true }
+sp-consensus-grandpa = { workspace = true }
+sp-core = { workspace = true }
+sp-distance = { workspace = true }
+sp-inherents = { workspace = true }
+sp-membership = { workspace = true }
+sp-offchain = { workspace = true }
+sp-runtime = { workspace = true }
+sp-session = { workspace = true }
+sp-std = { workspace = true }
+sp-transaction-pool = { workspace = true }
+sp-version = { workspace = true }
+node-primitives = { workspace = true }
+sp-genesis-builder = { workspace = true }
diff --git a/runtime/gdev/Cargo.toml b/runtime/gdev/Cargo.toml
index 397c596dd..e502714be 100644
--- a/runtime/gdev/Cargo.toml
+++ b/runtime/gdev/Cargo.toml
@@ -1,250 +1,239 @@
 [package]
-authors = ['Axiom-Team Developers <https://axiom-team.fr>']
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'gdev-runtime'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
 
 [features]
 default = ['std']
 constant-fees = ['common-runtime/constant-fees']
 runtime-benchmarks = [
-    'common-runtime/runtime-benchmarks',
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system-benchmarking/runtime-benchmarks',
-    'frame-system/runtime-benchmarks',
-    'pallet-authority-members/runtime-benchmarks',
-    'pallet-smith-members/runtime-benchmarks',
-    'pallet-babe/runtime-benchmarks',
-    'pallet-balances/runtime-benchmarks',
-    'pallet-certification/runtime-benchmarks',
-    'pallet-collective/runtime-benchmarks',
-    'pallet-distance/runtime-benchmarks',
-    'pallet-duniter-test-parameters/runtime-benchmarks',
-    'pallet-duniter-account/runtime-benchmarks',
-    'pallet-quota/runtime-benchmarks',
-    'pallet-duniter-wot/runtime-benchmarks',
-    'pallet-grandpa/runtime-benchmarks',
-    'pallet-identity/runtime-benchmarks',
-    'pallet-membership/runtime-benchmarks',
-    'pallet-provide-randomness/runtime-benchmarks',
-    'pallet-im-online/runtime-benchmarks',
-    'pallet-multisig/runtime-benchmarks',
-    'pallet-oneshot-account/runtime-benchmarks',
-    'pallet-preimage/runtime-benchmarks',
-    'pallet-session-benchmarking/runtime-benchmarks',
-    'pallet-proxy/runtime-benchmarks',
-    'pallet-scheduler/runtime-benchmarks',
-    'pallet-sudo/runtime-benchmarks',
-    'pallet-timestamp/runtime-benchmarks',
-    'pallet-treasury/runtime-benchmarks',
-    'pallet-universal-dividend/runtime-benchmarks',
-    'pallet-upgrade-origin/runtime-benchmarks',
-    'pallet-utility/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
+	'common-runtime/runtime-benchmarks',
+	'frame-benchmarking/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system-benchmarking/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-authority-members/runtime-benchmarks',
+	'pallet-babe/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-certification/runtime-benchmarks',
+	'pallet-collective/runtime-benchmarks',
+	'pallet-distance/runtime-benchmarks',
+	'pallet-duniter-account/runtime-benchmarks',
+	'pallet-duniter-test-parameters/runtime-benchmarks',
+	'pallet-duniter-wot/runtime-benchmarks',
+	'pallet-grandpa/runtime-benchmarks',
+	'pallet-identity/runtime-benchmarks',
+	'pallet-im-online/runtime-benchmarks',
+	'pallet-membership/runtime-benchmarks',
+	'pallet-multisig/runtime-benchmarks',
+	'pallet-offences/runtime-benchmarks',
+	'pallet-oneshot-account/runtime-benchmarks',
+	'pallet-preimage/runtime-benchmarks',
+	'pallet-provide-randomness/runtime-benchmarks',
+	'pallet-proxy/runtime-benchmarks',
+	'pallet-quota/runtime-benchmarks',
+	'pallet-scheduler/runtime-benchmarks',
+	'pallet-session-benchmarking/runtime-benchmarks',
+	'pallet-smith-members/runtime-benchmarks',
+	'pallet-sudo/runtime-benchmarks',
+	'pallet-timestamp/runtime-benchmarks',
+	'pallet-treasury/runtime-benchmarks',
+	'pallet-universal-dividend/runtime-benchmarks',
+	'pallet-upgrade-origin/runtime-benchmarks',
+	'pallet-utility/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'frame-try-runtime?/std',
-    'common-runtime/std',
-    'frame-benchmarking?/std',
-    'frame-executive/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-system-benchmarking?/std',
-    'frame-system-rpc-runtime-api/std',
-    "frame-try-runtime/std",
-    'log/std',
-    'pallet-atomic-swap/std',
-    'pallet-authority-discovery/std',
-    'pallet-authority-members/std',
-    "pallet-authorship/std",
-    'pallet-babe/std',
-    'pallet-balances/std',
-    'pallet-certification/std',
-    'pallet-collective/std',
-    'pallet-distance/std',
-    'pallet-duniter-account/std',
-    'pallet-duniter-test-parameters/std',
-    'pallet-duniter-wot/std',
-    'pallet-grandpa/std',
-    'pallet-identity/std',
-    'pallet-im-online/std',
-    'pallet-membership/std',
-    'pallet-multisig/std',
-    "pallet-offences/std",
-    'pallet-oneshot-account/std',
-    'pallet-preimage/std',
-    'pallet-provide-randomness/std',
-    'pallet-proxy/std',
-    'pallet-quota/std',
-    'pallet-multisig/std',
-    "pallet-scheduler/std",
-    'pallet-session/std',
-    'pallet-session-benchmarking/std',
-    'pallet-smith-members/std',
-    'pallet-sudo/std',
-    'pallet-timestamp/std',
-    'pallet-transaction-payment/std',
-    'pallet-transaction-payment-rpc-runtime-api/std',
-    'pallet-treasury/std',
-    'pallet-universal-dividend/std',
-    'pallet-upgrade-origin/std',
-    'pallet-utility/std',
-    'scale-info/std',
-    "serde/std",
-    "serde_derive",
-    'sp-api/std',
-    'sp-arithmetic/std',
-    'sp-authority-discovery/std',
-    'sp-block-builder/std',
-    'sp-consensus-babe/std',
-    'sp-consensus-grandpa/std',
-    'sp-core/std',
-    'sp-distance/std',
-    'sp-inherents/std',
-    'sp-membership/std',
-    'sp-offchain/std',
-    'sp-runtime/std',
-    'sp-session/std',
-    'sp-std/std',
-    'sp-transaction-pool/std',
-    'sp-version/std',
-    'sp-staking/std',
-    'sp-io/std',
-    'sp-genesis-builder/std',
-    'node-primitives/std',
-    'substrate-wasm-builder',
-    'sp-genesis-builder/std',
+	'codec/std',
+	'common-runtime/std',
+	'frame-benchmarking?/std',
+	'frame-executive/std',
+	'frame-support/std',
+	'frame-system-benchmarking?/std',
+	'frame-system-rpc-runtime-api/std',
+	'frame-system/std',
+	'log/std',
+	'node-primitives/std',
+	'pallet-atomic-swap/std',
+	'pallet-authority-discovery/std',
+	'pallet-authority-members/std',
+	'pallet-authorship/std',
+	'pallet-babe/std',
+	'pallet-balances/std',
+	'pallet-certification/std',
+	'pallet-collective/std',
+	'pallet-distance/std',
+	'pallet-duniter-account/std',
+	'pallet-duniter-test-parameters/std',
+	'pallet-duniter-wot/std',
+	'pallet-grandpa/std',
+	'pallet-identity/std',
+	'pallet-im-online/std',
+	'pallet-membership/std',
+	'pallet-multisig/std',
+	'pallet-offences/std',
+	'pallet-oneshot-account/std',
+	'pallet-preimage/std',
+	'pallet-provide-randomness/std',
+	'pallet-proxy/std',
+	'pallet-quota/std',
+	'pallet-scheduler/std',
+	'pallet-session-benchmarking/std',
+	'pallet-session/std',
+	'pallet-smith-members/std',
+	'pallet-sudo/std',
+	'pallet-timestamp/std',
+	'pallet-transaction-payment-rpc-runtime-api/std',
+	'pallet-transaction-payment/std',
+	'pallet-treasury/std',
+	'pallet-universal-dividend/std',
+	'pallet-upgrade-origin/std',
+	'pallet-utility/std',
+	'scale-info/std',
+	'serde/std',
+	'serde_derive',
+	'sp-api/std',
+	'sp-arithmetic/std',
+	'sp-authority-discovery/std',
+	'sp-block-builder/std',
+	'sp-consensus-babe/std',
+	'sp-consensus-grandpa/std',
+	'sp-core/std',
+	'sp-distance/std',
+	'sp-genesis-builder/std',
+	'sp-inherents/std',
+	'sp-io/std',
+	'sp-membership/std',
+	'sp-offchain/std',
+	'sp-runtime/std',
+	'sp-session/std',
+	'sp-staking/std',
+	'sp-std/std',
+	'sp-transaction-pool/std',
+	'sp-version/std',
+	'substrate-wasm-builder',
 ]
 try-runtime = [
-    'common-runtime/try-runtime',
-    'frame-executive/try-runtime',
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'frame-try-runtime/try-runtime',
-    'pallet-atomic-swap/try-runtime',
-    'pallet-authority-discovery/try-runtime',
-    'pallet-authority-members/try-runtime',
-    "pallet-authorship/try-runtime",
-    'pallet-babe/try-runtime',
-    'pallet-balances/try-runtime',
-    'pallet-certification/try-runtime',
-    'pallet-collective/try-runtime',
-    'pallet-distance/try-runtime',
-    'pallet-duniter-account/try-runtime',
-    'pallet-duniter-test-parameters/try-runtime',
-    'pallet-duniter-wot/try-runtime',
-    'pallet-grandpa/try-runtime',
-    'pallet-identity/try-runtime',
-    'pallet-im-online/try-runtime',
-    'pallet-membership/try-runtime',
-    'pallet-multisig/try-runtime',
-    "pallet-offences/try-runtime",
-    'pallet-oneshot-account/try-runtime',
-    'pallet-preimage/try-runtime',
-    'pallet-provide-randomness/try-runtime',
-    'pallet-proxy/try-runtime',
-    'pallet-quota/try-runtime',
-    'pallet-multisig/try-runtime',
-    "pallet-scheduler/try-runtime",
-    'pallet-session/try-runtime',
-    'pallet-smith-members/try-runtime',
-    'pallet-sudo/try-runtime',
-    'pallet-timestamp/try-runtime',
-    'pallet-transaction-payment/try-runtime',
-    'pallet-treasury/try-runtime',
-    'pallet-universal-dividend/try-runtime',
-    'pallet-upgrade-origin/try-runtime',
-    'pallet-utility/try-runtime',
+	'common-runtime/try-runtime',
+	'frame-executive/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-atomic-swap/try-runtime',
+	'pallet-authority-discovery/try-runtime',
+	'pallet-authority-members/try-runtime',
+	'pallet-authorship/try-runtime',
+	'pallet-babe/try-runtime',
+	'pallet-balances/try-runtime',
+	'pallet-certification/try-runtime',
+	'pallet-collective/try-runtime',
+	'pallet-distance/try-runtime',
+	'pallet-duniter-account/try-runtime',
+	'pallet-duniter-test-parameters/try-runtime',
+	'pallet-duniter-wot/try-runtime',
+	'pallet-grandpa/try-runtime',
+	'pallet-identity/try-runtime',
+	'pallet-im-online/try-runtime',
+	'pallet-membership/try-runtime',
+	'pallet-multisig/try-runtime',
+	'pallet-offences/try-runtime',
+	'pallet-oneshot-account/try-runtime',
+	'pallet-preimage/try-runtime',
+	'pallet-provide-randomness/try-runtime',
+	'pallet-proxy/try-runtime',
+	'pallet-quota/try-runtime',
+	'pallet-scheduler/try-runtime',
+	'pallet-session-benchmarking/try-runtime',
+	'pallet-session/try-runtime',
+	'pallet-smith-members/try-runtime',
+	'pallet-sudo/try-runtime',
+	'pallet-timestamp/try-runtime',
+	'pallet-transaction-payment/try-runtime',
+	'pallet-treasury/try-runtime',
+	'pallet-universal-dividend/try-runtime',
+	'pallet-upgrade-origin/try-runtime',
+	'pallet-utility/try-runtime',
+	'sp-distance/try-runtime',
+	'sp-membership/try-runtime',
 ]
 
 [dev-dependencies]
-sp-keyring = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-staking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-io = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-io = { workspace = true }
+sp-keyring = { workspace = true }
+sp-staking = { workspace = true }
 
 [build-dependencies]
-substrate-wasm-builder = { git = "https://github.com/duniter/duniter-polkadot-sdk", optional = true , branch = "duniter-substrate-v1.6.0" }
+substrate-wasm-builder = { workspace = true, optional = true }
 
 [dependencies]
-
-# crates.io
-codec = { package = "parity-scale-codec", version = "3.6.9", features = ["derive"], default-features = false }
-# local
-common-runtime = { path = "../common", default-features = false }
-
-# substrate benchmarking
-frame-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, optional = true }
-frame-executive = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-support = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-system-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, optional = true }
-frame-system-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-# substrate
-frame-try-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, optional = true }
-hex-literal = { version = '0.4.1', default-features = false, optional = true }
-log = { version = "0.4.20", default-features = false }
-pallet-atomic-swap = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-authority-members = { path = '../../pallets/authority-members', default-features = false }
-pallet-authorship = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-certification = { path = '../../pallets/certification', default-features = false }
-pallet-collective = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-distance = { path = "../../pallets/distance", default-features = false }
-pallet-duniter-account = { path = '../../pallets/duniter-account', default-features = false }
-pallet-duniter-test-parameters = { path = '../../pallets/duniter-test-parameters', default-features = false }
-pallet-duniter-wot = { path = '../../pallets/duniter-wot', default-features = false }
-pallet-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-identity = { path = '../../pallets/identity', default-features = false }
-pallet-im-online = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-membership = { path = '../../pallets/membership', default-features = false }
-pallet-multisig = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-offences = { path = '../../pallets/offences', default-features = false }
-pallet-oneshot-account = { path = '../../pallets/oneshot-account', default-features = false }
-pallet-preimage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-provide-randomness = { path = '../../pallets/provide-randomness', default-features = false }
-pallet-proxy = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-quota = { path = '../../pallets/quota', default-features = false }
-pallet-scheduler = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-session-benchmarking = { path = '../../pallets/session-benchmarking', default-features = false }
-pallet-smith-members = { path = '../../pallets/smith-members', default-features = false }
-pallet-sudo = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-transaction-payment = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-treasury = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-universal-dividend = { path = '../../pallets/universal-dividend', default-features = false }
-pallet-upgrade-origin = { path = '../../pallets/upgrade-origin', default-features = false }
-pallet-utility = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.195", default-features = false }
-serde_derive = { version = "1.0.195", default-features = false, optional = true }
-sp-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-arithmetic = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-block-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-distance = { path = '../../primitives/distance', default-features = false }
-sp-inherents = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-membership = { path = '../../primitives/membership', default-features = false }
-sp-offchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-std = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-transaction-pool = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-version = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-genesis-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-node-primitives = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+codec = { workspace = true, features = ['derive'] }
+common-runtime = { workspace = true }
+frame-benchmarking = { workspace = true, optional = true }
+frame-executive = { workspace = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+frame-system-benchmarking = { workspace = true, optional = true }
+frame-system-rpc-runtime-api = { workspace = true }
+hex-literal = { workspace = true, optional = true }
+log = { workspace = true }
+node-primitives = { workspace = true }
+pallet-atomic-swap = { workspace = true }
+pallet-authority-discovery = { workspace = true }
+pallet-authority-members = { workspace = true }
+pallet-authorship = { workspace = true }
+pallet-babe = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-certification = { workspace = true }
+pallet-collective = { workspace = true }
+pallet-distance = { workspace = true }
+pallet-duniter-account = { workspace = true }
+pallet-duniter-test-parameters = { workspace = true }
+pallet-duniter-wot = { workspace = true }
+pallet-grandpa = { workspace = true }
+pallet-identity = { workspace = true }
+pallet-im-online = { workspace = true }
+pallet-membership = { workspace = true }
+pallet-multisig = { workspace = true }
+pallet-offences = { workspace = true }
+pallet-oneshot-account = { workspace = true }
+pallet-preimage = { workspace = true }
+pallet-provide-randomness = { workspace = true }
+pallet-proxy = { workspace = true }
+pallet-quota = { workspace = true }
+pallet-scheduler = { workspace = true }
+pallet-session = { workspace = true }
+pallet-session-benchmarking = { workspace = true }
+pallet-smith-members = { workspace = true }
+pallet-sudo = { workspace = true }
+pallet-timestamp = { workspace = true }
+pallet-transaction-payment = { workspace = true }
+pallet-transaction-payment-rpc-runtime-api = { workspace = true }
+pallet-treasury = { workspace = true }
+pallet-universal-dividend = { workspace = true }
+pallet-upgrade-origin = { workspace = true }
+pallet-utility = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true }
+serde_derive = { workspace = true, optional = true }
+sp-api = { workspace = true }
+sp-arithmetic = { workspace = true }
+sp-authority-discovery = { workspace = true }
+sp-block-builder = { workspace = true }
+sp-consensus-babe = { workspace = true }
+sp-consensus-grandpa = { workspace = true }
+sp-core = { workspace = true }
+sp-distance = { workspace = true }
+sp-genesis-builder = { workspace = true }
+sp-inherents = { workspace = true }
+sp-membership = { workspace = true }
+sp-offchain = { workspace = true }
+sp-runtime = { workspace = true }
+sp-session = { workspace = true }
+sp-std = { workspace = true }
+sp-transaction-pool = { workspace = true }
+sp-version = { workspace = true }
diff --git a/runtime/gtest/Cargo.toml b/runtime/gtest/Cargo.toml
index 4f90ede28..c4fcde20f 100644
--- a/runtime/gtest/Cargo.toml
+++ b/runtime/gtest/Cargo.toml
@@ -1,246 +1,229 @@
 [package]
-authors = ['Axiom-Team Developers <https://axiom-team.fr>']
-edition = "2021"
-homepage = 'https://duniter.org'
-license = 'AGPL-3.0'
+authors.workspace = true
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
 name = 'gtest-runtime'
-repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
-version = '3.0.0'
+repository.workspace = true
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
 
 [features]
 default = ['std']
 constant-fees = ['common-runtime/constant-fees']
 runtime-benchmarks = [
-    'common-runtime/runtime-benchmarks',
-    'frame-benchmarking/runtime-benchmarks',
-    'frame-support/runtime-benchmarks',
-    'frame-system-benchmarking',
-    'frame-system/runtime-benchmarks',
-    'pallet-authority-members/runtime-benchmarks',
-    'pallet-smith-members/runtime-benchmarks',
-    'pallet-babe/runtime-benchmarks',
-    'pallet-balances/runtime-benchmarks',
-    'pallet-certification/runtime-benchmarks',
-    'pallet-collective/runtime-benchmarks',
-    'pallet-distance/runtime-benchmarks',
-    'pallet-duniter-test-parameters/runtime-benchmarks',
-    'pallet-duniter-account/runtime-benchmarks',
-    'pallet-quota/runtime-benchmarks',
-    'pallet-duniter-wot/runtime-benchmarks',
-    'pallet-grandpa/runtime-benchmarks',
-    'pallet-identity/runtime-benchmarks',
-    'pallet-membership/runtime-benchmarks',
-    'pallet-provide-randomness/runtime-benchmarks',
-    'pallet-im-online/runtime-benchmarks',
-    'pallet-multisig/runtime-benchmarks',
-    'pallet-oneshot-account/runtime-benchmarks',
-    'pallet-preimage/runtime-benchmarks',
-    'pallet-session-benchmarking/runtime-benchmarks',
-    'pallet-proxy/runtime-benchmarks',
-    'pallet-scheduler/runtime-benchmarks',
-    'pallet-sudo/runtime-benchmarks',
-    'pallet-timestamp/runtime-benchmarks',
-    'pallet-treasury/runtime-benchmarks',
-    'pallet-universal-dividend/runtime-benchmarks',
-    'pallet-upgrade-origin/runtime-benchmarks',
-    'pallet-utility/runtime-benchmarks',
-    'sp-runtime/runtime-benchmarks',
+	'common-runtime/runtime-benchmarks',
+	'frame-support/runtime-benchmarks',
+	'frame-system/runtime-benchmarks',
+	'pallet-authority-members/runtime-benchmarks',
+	'pallet-babe/runtime-benchmarks',
+	'pallet-balances/runtime-benchmarks',
+	'pallet-certification/runtime-benchmarks',
+	'pallet-collective/runtime-benchmarks',
+	'pallet-distance/runtime-benchmarks',
+	'pallet-duniter-account/runtime-benchmarks',
+	'pallet-duniter-wot/runtime-benchmarks',
+	'pallet-grandpa/runtime-benchmarks',
+	'pallet-identity/runtime-benchmarks',
+	'pallet-im-online/runtime-benchmarks',
+	'pallet-membership/runtime-benchmarks',
+	'pallet-multisig/runtime-benchmarks',
+	'pallet-offences/runtime-benchmarks',
+	'pallet-oneshot-account/runtime-benchmarks',
+	'pallet-preimage/runtime-benchmarks',
+	'pallet-provide-randomness/runtime-benchmarks',
+	'pallet-proxy/runtime-benchmarks',
+	'pallet-quota/runtime-benchmarks',
+	'pallet-scheduler/runtime-benchmarks',
+	'pallet-session-benchmarking/runtime-benchmarks',
+	'pallet-smith-members/runtime-benchmarks',
+	'pallet-sudo/runtime-benchmarks',
+	'pallet-timestamp/runtime-benchmarks',
+	'pallet-treasury/runtime-benchmarks',
+	'pallet-universal-dividend/runtime-benchmarks',
+	'pallet-upgrade-origin/runtime-benchmarks',
+	'pallet-utility/runtime-benchmarks',
+	'sp-runtime/runtime-benchmarks',
 ]
 std = [
-    'codec/std',
-    'common-runtime/std',
-    'frame-benchmarking/std',
-    'frame-executive/std',
-    'frame-support/std',
-    'frame-system/std',
-    'frame-system-benchmarking/std',
-    'frame-system-rpc-runtime-api/std',
-    "frame-try-runtime/std",
-    'log/std',
-    'pallet-atomic-swap/std',
-    'pallet-authority-discovery/std',
-    'pallet-authority-members/std',
-    "pallet-authorship/std",
-    'pallet-babe/std',
-    'pallet-balances/std',
-    'pallet-certification/std',
-    'pallet-collective/std',
-    'pallet-distance/std',
-    'pallet-duniter-account/std',
-    'pallet-duniter-test-parameters/std',
-    'pallet-duniter-wot/std',
-    'pallet-grandpa/std',
-    'pallet-identity/std',
-    'pallet-im-online/std',
-    'pallet-membership/std',
-    'pallet-multisig/std',
-    "pallet-offences/std",
-    'pallet-oneshot-account/std',
-    'pallet-preimage/std',
-    'pallet-provide-randomness/std',
-    'pallet-proxy/std',
-    'pallet-quota/std',
-    'pallet-multisig/std',
-    "pallet-scheduler/std",
-    'pallet-session/std',
-    'pallet-session-benchmarking/std',
-    'pallet-smith-members/std',
-    'pallet-sudo/std',
-    'pallet-timestamp/std',
-    'pallet-transaction-payment/std',
-    'pallet-transaction-payment-rpc-runtime-api/std',
-    'pallet-treasury/std',
-    'pallet-universal-dividend/std',
-    'pallet-upgrade-origin/std',
-    'pallet-utility/std',
-    'scale-info/std',
-    "serde/std",
-    "serde_derive",
-    'sp-api/std',
-    'sp-arithmetic/std',
-    'sp-authority-discovery/std',
-    'sp-block-builder/std',
-    'sp-consensus-babe/std',
-    'sp-consensus-grandpa/std',
-    'sp-core/std',
-    'sp-distance/std',
-    'sp-inherents/std',
-    'sp-membership/std',
-    'sp-offchain/std',
-    'sp-runtime/std',
-    'sp-session/std',
-    'sp-std/std',
-    'sp-transaction-pool/std',
-    'sp-version/std',
-    'sp-staking/std',
-    'node-primitives/std',
-    'substrate-wasm-builder',
-    'sp-genesis-builder/std',
+	'codec/std',
+	'common-runtime/std',
+	'frame-executive/std',
+	'frame-support/std',
+	'frame-system-rpc-runtime-api/std',
+	'frame-system/std',
+	'log/std',
+	'node-primitives/std',
+	'pallet-atomic-swap/std',
+	'pallet-authority-discovery/std',
+	'pallet-authority-members/std',
+	'pallet-authorship/std',
+	'pallet-babe/std',
+	'pallet-balances/std',
+	'pallet-certification/std',
+	'pallet-collective/std',
+	'pallet-distance/std',
+	'pallet-duniter-account/std',
+	'pallet-duniter-wot/std',
+	'pallet-grandpa/std',
+	'pallet-identity/std',
+	'pallet-im-online/std',
+	'pallet-membership/std',
+	'pallet-multisig/std',
+	'pallet-offences/std',
+	'pallet-oneshot-account/std',
+	'pallet-preimage/std',
+	'pallet-provide-randomness/std',
+	'pallet-proxy/std',
+	'pallet-quota/std',
+	'pallet-scheduler/std',
+	'pallet-session-benchmarking/std',
+	'pallet-session/std',
+	'pallet-smith-members/std',
+	'pallet-sudo/std',
+	'pallet-timestamp/std',
+	'pallet-transaction-payment-rpc-runtime-api/std',
+	'pallet-transaction-payment/std',
+	'pallet-treasury/std',
+	'pallet-universal-dividend/std',
+	'pallet-upgrade-origin/std',
+	'pallet-utility/std',
+	'scale-info/std',
+	'serde/std',
+	'serde_derive',
+	'sp-api/std',
+	'sp-arithmetic/std',
+	'sp-authority-discovery/std',
+	'sp-block-builder/std',
+	'sp-consensus-babe/std',
+	'sp-consensus-grandpa/std',
+	'sp-core/std',
+	'sp-distance/std',
+	'sp-genesis-builder/std',
+	'sp-inherents/std',
+	'sp-membership/std',
+	'sp-offchain/std',
+	'sp-runtime/std',
+	'sp-session/std',
+	'sp-staking/std',
+	'sp-std/std',
+	'sp-transaction-pool/std',
+	'sp-version/std',
+	'substrate-wasm-builder',
 ]
 try-runtime = [
-    'common-runtime/try-runtime',
-    'frame-executive/try-runtime',
-    'frame-support/try-runtime',
-    'frame-system/try-runtime',
-    'frame-try-runtime/try-runtime',
-    'pallet-atomic-swap/try-runtime',
-    'pallet-authority-discovery/try-runtime',
-    'pallet-authority-members/try-runtime',
-    "pallet-authorship/try-runtime",
-    'pallet-babe/try-runtime',
-    'pallet-balances/try-runtime',
-    'pallet-certification/try-runtime',
-    'pallet-collective/try-runtime',
-    'pallet-distance/try-runtime',
-    'pallet-duniter-account/try-runtime',
-    'pallet-duniter-test-parameters/try-runtime',
-    'pallet-duniter-wot/try-runtime',
-    'pallet-grandpa/try-runtime',
-    'pallet-identity/try-runtime',
-    'pallet-im-online/try-runtime',
-    'pallet-membership/try-runtime',
-    'pallet-multisig/try-runtime',
-    "pallet-offences/try-runtime",
-    'pallet-oneshot-account/try-runtime',
-    'pallet-preimage/try-runtime',
-    'pallet-provide-randomness/try-runtime',
-    'pallet-proxy/try-runtime',
-    'pallet-quota/try-runtime',
-    'pallet-multisig/try-runtime',
-    "pallet-scheduler/try-runtime",
-    'pallet-session/try-runtime',
-    'pallet-smith-members/try-runtime',
-    'pallet-sudo/try-runtime',
-    'pallet-timestamp/try-runtime',
-    'pallet-transaction-payment/try-runtime',
-    'pallet-treasury/try-runtime',
-    'pallet-universal-dividend/try-runtime',
-    'pallet-upgrade-origin/try-runtime',
-    'pallet-utility/try-runtime',
+	'common-runtime/try-runtime',
+	'frame-executive/try-runtime',
+	'frame-support/try-runtime',
+	'frame-system/try-runtime',
+	'pallet-atomic-swap/try-runtime',
+	'pallet-authority-discovery/try-runtime',
+	'pallet-authority-members/try-runtime',
+	'pallet-authorship/try-runtime',
+	'pallet-babe/try-runtime',
+	'pallet-balances/try-runtime',
+	'pallet-certification/try-runtime',
+	'pallet-collective/try-runtime',
+	'pallet-distance/try-runtime',
+	'pallet-duniter-account/try-runtime',
+	'pallet-duniter-wot/try-runtime',
+	'pallet-grandpa/try-runtime',
+	'pallet-identity/try-runtime',
+	'pallet-im-online/try-runtime',
+	'pallet-membership/try-runtime',
+	'pallet-multisig/try-runtime',
+	'pallet-offences/try-runtime',
+	'pallet-oneshot-account/try-runtime',
+	'pallet-preimage/try-runtime',
+	'pallet-provide-randomness/try-runtime',
+	'pallet-proxy/try-runtime',
+	'pallet-quota/try-runtime',
+	'pallet-scheduler/try-runtime',
+	'pallet-session-benchmarking/try-runtime',
+	'pallet-session/try-runtime',
+	'pallet-smith-members/try-runtime',
+	'pallet-sudo/try-runtime',
+	'pallet-timestamp/try-runtime',
+	'pallet-transaction-payment/try-runtime',
+	'pallet-treasury/try-runtime',
+	'pallet-universal-dividend/try-runtime',
+	'pallet-upgrade-origin/try-runtime',
+	'pallet-utility/try-runtime',
+	'sp-distance/try-runtime',
+	'sp-membership/try-runtime',
 ]
 
 [dev-dependencies]
-sp-keyring = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-staking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
+sp-staking = { workspace = true }
 
 [build-dependencies]
-substrate-wasm-builder = { git = "https://github.com/duniter/duniter-polkadot-sdk", optional = true , branch = "duniter-substrate-v1.6.0" }
+substrate-wasm-builder = { workspace = true, optional = true }
 
 [dependencies]
-
-# crates.io
-codec = { package = "parity-scale-codec", version = "3.6.9", features = ["derive"], default-features = false }
-# local
-common-runtime = { path = "../common", default-features = false }
-
-# substrate benchmarking
-frame-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, optional = false }
-frame-executive = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-support = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-system = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-frame-system-benchmarking = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, optional = true }
-frame-system-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-# substrate
-frame-try-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false, optional = true }
-hex-literal = { version = '0.4.1', default-features = false, optional = true }
-log = { version = "0.4.20", default-features = false }
-pallet-atomic-swap = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-authority-members = { path = '../../pallets/authority-members', default-features = false }
-pallet-authorship = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-balances = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-certification = { path = '../../pallets/certification', default-features = false }
-pallet-collective = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-distance = { path = "../../pallets/distance", default-features = false }
-pallet-duniter-account = { path = '../../pallets/duniter-account', default-features = false }
-pallet-duniter-test-parameters = { path = '../../pallets/duniter-test-parameters', default-features = false }
-pallet-duniter-wot = { path = '../../pallets/duniter-wot', default-features = false }
-pallet-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-identity = { path = '../../pallets/identity', default-features = false }
-pallet-im-online = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-membership = { path = '../../pallets/membership', default-features = false }
-pallet-multisig = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-offences = { path = '../../pallets/offences', default-features = false }
-pallet-oneshot-account = { path = '../../pallets/oneshot-account', default-features = false }
-pallet-preimage = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-provide-randomness = { path = '../../pallets/provide-randomness', default-features = false }
-pallet-proxy = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-quota = { path = '../../pallets/quota', default-features = false }
-pallet-scheduler = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-session-benchmarking = { path = '../../pallets/session-benchmarking', default-features = false }
-pallet-smith-members = { path = '../../pallets/smith-members', default-features = false }
-pallet-sudo = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-timestamp = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-transaction-payment = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-treasury = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-pallet-universal-dividend = { path = '../../pallets/universal-dividend', default-features = false }
-pallet-upgrade-origin = { path = '../../pallets/upgrade-origin', default-features = false }
-pallet-utility = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0.195", default-features = false }
-serde_derive = { version = "1.0.195", default-features = false, optional = true }
-sp-api = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-arithmetic = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-authority-discovery = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-block-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-consensus-babe = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-consensus-grandpa = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-core = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-distance = { path = '../../primitives/distance', default-features = false }
-sp-inherents = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-membership = { path = '../../primitives/membership', default-features = false }
-sp-offchain = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-runtime = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-session = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-std = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-transaction-pool = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-version = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-sp-genesis-builder = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-node-primitives = { git = 'https://github.com/duniter/duniter-polkadot-sdk', branch = 'duniter-substrate-v1.6.0', default-features = false }
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+common-runtime = { workspace = true }
+frame-executive = { workspace = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+frame-system-rpc-runtime-api = { workspace = true }
+frame-try-runtime = { workspace = true, optional = true }
+hex-literal = { workspace = true, optional = true }
+pallet-session-benchmarking = { workspace = true }
+log = { workspace = true }
+pallet-atomic-swap = { workspace = true }
+pallet-authority-discovery = { workspace = true }
+pallet-authority-members = { workspace = true }
+pallet-authorship = { workspace = true }
+pallet-babe = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-certification = { workspace = true }
+pallet-collective = { workspace = true }
+pallet-distance = { workspace = true }
+frame-benchmarking = { workspace = true }
+frame-system-benchmarking = { workspace = true }
+pallet-duniter-account = { workspace = true }
+pallet-duniter-wot = { workspace = true }
+pallet-grandpa = { workspace = true }
+pallet-identity = { workspace = true }
+pallet-im-online = { workspace = true }
+pallet-membership = { workspace = true }
+pallet-multisig = { workspace = true }
+pallet-offences = { workspace = true }
+pallet-oneshot-account = { workspace = true }
+pallet-preimage = { workspace = true }
+pallet-provide-randomness = { workspace = true }
+pallet-proxy = { workspace = true }
+pallet-quota = { workspace = true }
+pallet-scheduler = { workspace = true }
+pallet-session = { workspace = true }
+pallet-smith-members = { workspace = true }
+pallet-sudo = { workspace = true }
+pallet-timestamp = { workspace = true }
+pallet-transaction-payment = { workspace = true }
+pallet-transaction-payment-rpc-runtime-api = { workspace = true }
+pallet-treasury = { workspace = true }
+pallet-universal-dividend = { workspace = true }
+pallet-upgrade-origin = { workspace = true }
+pallet-utility = { workspace = true }
+scale-info = { workspace = true, features = ['derive'] }
+serde = { workspace = true }
+serde_derive = { workspace = true, optional = true }
+sp-api = { workspace = true }
+sp-arithmetic = { workspace = true }
+sp-authority-discovery = { workspace = true }
+sp-block-builder = { workspace = true }
+sp-consensus-babe = { workspace = true }
+sp-consensus-grandpa = { workspace = true }
+sp-core = { workspace = true }
+sp-distance = { workspace = true }
+sp-inherents = { workspace = true }
+sp-membership = { workspace = true }
+sp-offchain = { workspace = true }
+sp-runtime = { workspace = true }
+sp-session = { workspace = true }
+sp-std = { workspace = true }
+sp-transaction-pool = { workspace = true }
+sp-version = { workspace = true }
+sp-genesis-builder = { workspace = true }
+node-primitives = { workspace = true }
+codec = { workspace = true, features = ['derive'] }
diff --git a/scripts/check_metadata.sh b/scripts/check_metadata.sh
index 96b2c4720..69bd92b6f 100755
--- a/scripts/check_metadata.sh
+++ b/scripts/check_metadata.sh
@@ -2,8 +2,8 @@
 
 cargo install subxt-cli
 cargo build
-cargo run -- --dev&
-sleep 15
+target/debug/duniter --dev&
+sleep 20
 subxt metadata -f bytes > resources/new_metadata.scale
 kill $!
 
diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml
index c996fece8..87d44067f 100644
--- a/xtask/Cargo.toml
+++ b/xtask/Cargo.toml
@@ -1,34 +1,32 @@
 [package]
-authors = ["elois <elois@duniter.org>"]
-description = "Duniter-v2s xtask"
-edition = "2021"
-license = "AGPL-3.0"
-name = "xtask"
-repository = "https://git.duniter.org/nodes/rust/duniter-v2s"
-version = "0.1.0"
+authors.workspace = true
+description = 'Duniter-v2s xtask'
+edition.workspace = true
+license.workspace = true
+name = 'xtask'
+repository.workspace = true
+version = '0.1.0'
 
 [[bin]]
 bench = false
-path = "src/main.rs"
-name = "xtask"
+path = 'src/main.rs'
+name = 'xtask'
 
 [dependencies]
-anyhow = "1.0.32"
-clap = { version = "4.0", features = ["derive"] }
-codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["derive", "full", "bit-vec"] }
-frame-metadata = "16.0.0"
-graphql_client = "0.10.0"
-hex = "0.4"
-memmap2 = "0.5.0"
-placeholder = "1.1.3"
-reqwest = { version = "0.11.11", features = ["json"] }
-run_script = "0.6.3"
-scale-info = { version = "2.1.1", features = ["bit-vec"] }
-scale-value = "0.13.0"
-serde = { version = "1.0.101", features = ["derive"] }
-serde_json = "1.0"
-tera = { version = "1", default-features = false }
-tokio = { version = "1.24.2", features = ["macros"] }
-version-compare = "0.0.11"
-version_check = "0.9.2"
-weight-analyzer = { path = "../resources/weight_analyzer" }
+anyhow = { workspace = true }
+clap = { workspace = true, features = ['derive'] }
+codec = { workspace = true, features = ['derive', 'full', 'bit-vec'] }
+frame-metadata = { workspace = true }
+graphql_client =  { workspace = true }
+hex =  { workspace = true }
+memmap2 =  { workspace = true }
+placeholder =  { workspace = true }
+reqwest = { workspace = true, features = ['json'] }
+scale-info = { workspace = true, features = ['bit-vec'] }
+scale-value =  { workspace = true }
+serde = { workspace = true, features = ['derive'] }
+serde_json =  { workspace = true }
+tera = { workspace = true }
+tokio = { workspace = true, features = ['macros'] }
+version_check =  { workspace = true }
+weight-analyzer = { workspace = true }
-- 
GitLab