diff --git a/Cargo.lock b/Cargo.lock
index 1d8fa6f3d062dda40cf2e1d07fb18d343293c1f6..62a35af0dabd5598522addcad2223afe241351f5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -865,7 +865,7 @@ dependencies = [
 
 [[package]]
 name = "common-runtime"
-version = "0.8.0-dev"
+version = "0.3.0"
 dependencies = [
  "duniter-primitives",
  "frame-benchmarking",
@@ -1627,7 +1627,7 @@ dependencies = [
 
 [[package]]
 name = "duniter-end2end-tests"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "anyhow",
  "async-trait",
@@ -1647,7 +1647,7 @@ dependencies = [
 
 [[package]]
 name = "duniter-live-tests"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "anyhow",
  "hex-literal",
@@ -1659,7 +1659,7 @@ dependencies = [
 
 [[package]]
 name = "duniter-primitives"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
@@ -2474,7 +2474,7 @@ dependencies = [
 
 [[package]]
 name = "g1-runtime"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "common-runtime",
  "frame-benchmarking",
@@ -2543,7 +2543,7 @@ dependencies = [
 
 [[package]]
 name = "gdev-runtime"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "common-runtime",
  "frame-benchmarking",
@@ -2589,7 +2589,6 @@ dependencies = [
  "parity-scale-codec",
  "scale-info",
  "serde",
- "serde_derive",
  "sp-api",
  "sp-arithmetic",
  "sp-authority-discovery",
@@ -2837,7 +2836,7 @@ dependencies = [
 
 [[package]]
 name = "gtest-runtime"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "common-runtime",
  "frame-benchmarking",
@@ -5024,7 +5023,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-authority-members"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5099,7 +5098,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-certification"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5133,7 +5132,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-duniter-account"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5154,7 +5153,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-duniter-test-parameters"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5170,7 +5169,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-duniter-test-parameters-macro"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "num_enum",
  "proc-macro2",
@@ -5180,7 +5179,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-duniter-wot"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5223,7 +5222,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-identity"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5260,7 +5259,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-membership"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5311,7 +5310,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-oneshot-account"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5346,7 +5345,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-provide-randomness"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5506,7 +5505,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-universal-dividend"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5524,7 +5523,7 @@ dependencies = [
 
 [[package]]
 name = "pallet-upgrade-origin"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -8565,7 +8564,7 @@ dependencies = [
 
 [[package]]
 name = "sp-membership"
-version = "3.0.0"
+version = "0.3.0"
 dependencies = [
  "frame-support",
  "parity-scale-codec",
diff --git a/Cargo.toml b/Cargo.toml
index 52ef2cf89f23bece2d618aea08df95f98240c252..dfa79132f54db988dfa3e32cfe3bdcca9e5c23c7 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -20,13 +20,8 @@ members = [
     'live-tests',
 
     'pallets/*',
-
-    'primitives/membership',
-
-    'runtime/common',
-    "runtime/gdev",
-    # "runtime/g1",
-    # "runtime/gtest",
+    'primitives/*',
+    'runtime/*',
 
     'xtask',
 ]
@@ -41,20 +36,21 @@ members = [
 try-runtime-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
 substrate-frame-rpc-system = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
 substrate-build-script-utils = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32' }
+substrate-wasm-builder = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32' }
 
 babe = { package = "sc-consensus-babe", git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
 manual-seal = { package = "sc-consensus-manual-seal", git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
 
-subxt = { git = 'https://github.com/duniter/subxt', branch = 'duniter-substrate-v0.9.32' }
+subxt = { git = 'https://github.com/duniter/subxt', branch = 'duniter-substrate-v0.9.32', default-features = false }
 
-frame-benchmarking = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32' }
+frame-benchmarking = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 frame-try-runtime = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 frame-executive = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 frame-support = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 frame-system = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
-frame-system-benchmarking = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32' }
+frame-system-benchmarking = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 frame-system-rpc-runtime-api = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
-frame-benchmarking-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
+frame-benchmarking-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
 
 pallet-atomic-swap = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 pallet-authority-discovery = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
@@ -76,7 +72,7 @@ pallet-transaction-payment = { git = 'https://github.com/duniter/substrate', bra
 pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 pallet-treasury = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 pallet-utility = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
-pallet-transaction-payment-rpc = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
+pallet-transaction-payment-rpc = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
 
 
 sp-api = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
@@ -92,32 +88,32 @@ sp-session = { git = 'https://github.com/duniter/substrate', branch = 'duniter-s
 sp-std = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 sp-transaction-pool = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
 sp-version = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
-sp-consensus-vrf = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32' }
-sc-basic-authorship = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sc-chain-spec = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
+sp-consensus-vrf = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
+sc-basic-authorship = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sc-chain-spec = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
 sc-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
-sc-client-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sc-consensus = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
+sc-client-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sc-consensus = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
 sc-client-db = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
-sc-consensus-uncles = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sc-executor = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sc-finality-grandpa = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sc-keystore = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sc-network = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sc-rpc-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
+sc-consensus-uncles = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sc-executor = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sc-finality-grandpa = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sc-keystore = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sc-network = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sc-rpc-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
 sc-service = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
-sc-telemetry = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sc-transaction-pool = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sc-transaction-pool-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sp-blockchain = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sp-consensus = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sp-finality-grandpa = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sp-io = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sp-keyring = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sp-keystore = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sp-storage = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sp-timestamp = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
-sp-trie = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32" }
+sc-telemetry = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sc-transaction-pool = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sc-transaction-pool-api = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sp-blockchain = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sp-consensus = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sp-finality-grandpa = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sp-io = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sp-keyring = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sp-keystore = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sp-storage = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sp-timestamp = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
+sp-trie = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false }
 
 #===============================================================================
 #                           crate.io dependencies 
@@ -129,14 +125,28 @@ clap = { version = "4.0", features = ["derive"] }
 clap_complete = { version = "4" }
 futures = { version = "0.3.1", features = ["compat"] }
 hex = "0.4.3"
+hex-literal = { version = '0.3.1' }
 jsonrpsee = { version = "0.15.1", features = ["server"] }
 lazy_static = "1.4.0"
-log = "0.4"
+log = { version = "0.4", default-features = false }
 maplit = '1.0.2'
 memmap2 = "0.5.0"
 serde = { version = "1.0", features = ["derive"] }
-serde_json = "1.0.64"
-tracing-core = "0.1.28"
+serde_json = "1.0"
+tracing-core = "0.1"
+impl-trait-for-tuples = "0.2.1"
+getrandom = { version = "0.2.8", features = ["js"] }
+
+frame-metadata = "15.0.0"
+graphql_client = "0.10.0"
+placeholder = "1.1.3"
+
+reqwest = { version = "0.11.11", features = ["json"] }
+run_script = "0.6.3"
+version_check = "0.9.2"
+version-compare = "0.0.11"
+tera = { version = "1", default-features = false }
+
 
 # WHY TWICE THE SAME PACKAGE WITH DIFFERENT NAMES ? 
 codec = { package = "parity-scale-codec", version = "3.1.5", features = [
@@ -145,7 +155,6 @@ codec = { package = "parity-scale-codec", version = "3.1.5", features = [
 parity-scale-codec = "3.1.5"
 # WHY ??
 
-hex-literal = { version = '0.3.1' }
 scale-info = { version = "2.1.1", default-features = false, features = [
     "derive",
 ] }
diff --git a/pallets/certification/Cargo.toml b/pallets/certification/Cargo.toml
index ffade350d18ab5b5af392f53545d3eabcaff4cf4..0ddaaac8848a9b411b617100596d472da745ae6c 100644
--- a/pallets/certification/Cargo.toml
+++ b/pallets/certification/Cargo.toml
@@ -9,6 +9,9 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 runtime-benchmarks = ['frame-benchmarking']
@@ -25,65 +28,22 @@ std = [
 try-runtime = ['frame-support/try-runtime']
 
 [dependencies]
+scale-info = { workspace = true }
+serde = { workspace = true, optional = true }
 
-# substrate
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.1.5"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-optional = true
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.serde]
-version = "1.0.101"
-optional = true
-features = ["derive"]
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
-[dev-dependencies.serde]
-version = '1.0.119'
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 
-### DEV ###
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+sp-core = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
-[dev-dependencies.maplit]
-version = '1.0.2'
 
-[dev-dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+[dev-dependencies]
+serde = { workspace = true }
+maplit = { workspace = true }
+sp-io = { workspace = true }
diff --git a/pallets/duniter-account/Cargo.toml b/pallets/duniter-account/Cargo.toml
index 115238f1ee88dc1dda389d2d2504b29376cfdfc9..b6bf33cb164092f1fa7a967e61d0db9bd596abcb 100644
--- a/pallets/duniter-account/Cargo.toml
+++ b/pallets/duniter-account/Cargo.toml
@@ -9,6 +9,9 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 runtime-benchmarks = ['frame-benchmarking']
@@ -33,79 +36,25 @@ try-runtime = ['frame-support/try-runtime']
 pallet-provide-randomness = { path = "../provide-randomness", default-features = false }
 
 # crates.io
-codec = { package = 'parity-scale-codec', version = "3.1.5", default-features = false, features = ["derive"] }
-log = { version = "0.4.14", default-features = false }
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
+log = { workspace = true }
+scale-info = { workspace = true }
+serde = { workspace = true, optional = true }
 
 # substrate
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-optional = true
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.pallet-balances]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.pallet-treasury]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.serde]
-version = "1.0.101"
-optional = true
-features = ["derive"]
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
-
-### DEV ###
-
-[dev-dependencies.pallet-balances]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dev-dependencies.maplit]
-version = '1.0.2'
-
-[dev-dependencies.serde]
-version = '1.0.119'
-
-[dev-dependencies.sp-io]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+pallet-balances = { workspace = true }
+pallet-treasury = { workspace = true }
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
+
+
+[dev-dependencies]
+serde = { workspace = true }
+maplit = { workspace = true }
diff --git a/pallets/duniter-test-parameters/Cargo.toml b/pallets/duniter-test-parameters/Cargo.toml
index 3e08a039bb8e11deb2bc61bf335780b59d41af37..208753ecd5e1903312d655b4c2a2fa3cd8e44b76 100644
--- a/pallets/duniter-test-parameters/Cargo.toml
+++ b/pallets/duniter-test-parameters/Cargo.toml
@@ -9,6 +9,9 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 runtime-benchmarks = ['frame-benchmarking']
@@ -25,49 +28,19 @@ try-runtime = ['frame-support/try-runtime']
 
 [dependencies]
 pallet-duniter-test-parameters-macro = { path = "macro" }
-serde = { version = "1.0.101", features = ["derive"], optional = true }
+serde = { workspace = true, optional = true }
 
 # substrate
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.1.5"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-optional = true
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+scale-info = { workspace = true }
 
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
diff --git a/pallets/duniter-wot/Cargo.toml b/pallets/duniter-wot/Cargo.toml
index 2a3643714d02e2cb20fd34ea6f7c28f1c5033279..e2b59438e0ab64cd7225185614cb3e5fd1553617 100644
--- a/pallets/duniter-wot/Cargo.toml
+++ b/pallets/duniter-wot/Cargo.toml
@@ -9,6 +9,9 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 runtime-benchmarks = ['frame-benchmarking']
@@ -35,65 +38,25 @@ pallet-identity = { path = "../identity", default-features = false }
 pallet-membership = { path = "../membership", default-features = false }
 sp-membership = { path = "../../primitives/membership", default-features = false }
 
-# substrate
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.1.5"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-optional = true
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+serde = { workspace = true, optional = true }
 
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.serde]
-version = "1.0.101"
-optional = true
-features = ["derive"]
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+# substrate
+scale-info = { workspace = true }
 
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
 
-### DOC ###
 
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
-[dev-dependencies.serde]
-version = '1.0.119'
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
-### DEV ###
 
-[dev-dependencies.sp-io]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+[dev-dependencies]
+serde = { workspace = true }
diff --git a/pallets/identity/Cargo.toml b/pallets/identity/Cargo.toml
index af15e453299f9e40634000e874c2799e8ca5c942..c2042de3a418509a530815bb63236ae9467b982d 100644
--- a/pallets/identity/Cargo.toml
+++ b/pallets/identity/Cargo.toml
@@ -30,44 +30,24 @@ targets = ['x86_64-unknown-linux-gnu']
 [dependencies]
 
 # crates.io
-codec = { package = 'parity-scale-codec', version = "3.1.5", features = ['derive'], default-features = false }
-impl-trait-for-tuples = "0.2.1"
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-serde = { version = "1.0.101", features = ["derive"], optional = true }
+scale-info = { workspace = true }
+serde = { workspace = true, optional = true }
+impl-trait-for-tuples = { workspace = true }
 
-# substrate
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-optional = true
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
 
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+# substrate
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+sp-core = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
 [dev-dependencies]
-serde = '1.0.119'
-sp-io = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32' }
+sp-io = { workspace = true }
+serde = { workspace = true }
diff --git a/pallets/membership/Cargo.toml b/pallets/membership/Cargo.toml
index 000a8301ef7f1ea1d40b03e4157971493155a617..0ea93696eafc53987aa3aa672350e6ba382ab0bb 100644
--- a/pallets/membership/Cargo.toml
+++ b/pallets/membership/Cargo.toml
@@ -9,6 +9,9 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 runtime-benchmarks = ['frame-benchmarking']
@@ -29,63 +32,23 @@ try-runtime = ['frame-support/try-runtime']
 sp-membership = { path = "../../primitives/membership", default-features = false }
 
 # substrate
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.1.5"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-optional = true
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+scale-info = { workspace = true }
+serde = { workspace = true, optional = true }
 
-[dependencies.serde]
-version = "1.0.101"
-optional = true
-features = ["derive"]
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
-[dev-dependencies.serde]
-version = '1.0.119'
 
-### DEV ###
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
 
-[dev-dependencies.maplit]
-version = '1.0.2'
+sp-core = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
-[dev-dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+[dev-dependencies]
+sp-io = { workspace = true }
+maplit = { workspace = true }
+serde = { workspace = true }
diff --git a/pallets/oneshot-account/Cargo.toml b/pallets/oneshot-account/Cargo.toml
index f22c0e0e992477d8440300f213d85f06070d2760..68adab916222d9bf7469a05e7aadcfbf8bacbb5e 100644
--- a/pallets/oneshot-account/Cargo.toml
+++ b/pallets/oneshot-account/Cargo.toml
@@ -9,11 +9,14 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 runtime-benchmarks = [
-	"frame-benchmarking/runtime-benchmarks",
-	"pallet-balances",
+    "frame-benchmarking/runtime-benchmarks",
+    "pallet-balances",
 ]
 std = [
     'codec/std',
@@ -29,66 +32,27 @@ try-runtime = ['frame-support/try-runtime']
 
 [dependencies]
 # crates.io
-codec = { package = 'parity-scale-codec', version = "3.1.5", default-features = false, features = ["derive"] }
-log = { version = "0.4.14", default-features = false }
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
+log = { workspace = true }
 
 # benchmarks
-pallet-balances = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', optional = true, default-features = false }
+pallet-balances = { workspace = true, optional = true }
 
 # substrate
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-optional = true
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.pallet-transaction-payment]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+scale-info = { workspace = true }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
 
-### DEV ###
+pallet-transaction-payment = { workspace = true }
 
-[dev-dependencies.sp-io]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
-[dev-dependencies.pallet-balances]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+[dev-dependencies]
+pallet-balances = { workspace = true }
diff --git a/pallets/provide-randomness/Cargo.toml b/pallets/provide-randomness/Cargo.toml
index 595f51bfdca467dd76f9b64c0f04e63fe5e7aae8..e55586ce0c95cf5635b07ac86ef8a0c775076086 100644
--- a/pallets/provide-randomness/Cargo.toml
+++ b/pallets/provide-randomness/Cargo.toml
@@ -9,6 +9,9 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 runtime-benchmarks = ['frame-benchmarking']
@@ -26,51 +29,16 @@ try-runtime = ['frame-support/try-runtime']
 [dependencies]
 
 # substrate
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.1.5"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-optional = true
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-core]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+scale-info = { workspace = true }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
+
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+
+sp-core = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
diff --git a/pallets/universal-dividend/Cargo.toml b/pallets/universal-dividend/Cargo.toml
index 186b6bc1739242375812841a37f62baa1942770d..6985747ad32076dfdf050753442fd39fbcf8b43e 100644
--- a/pallets/universal-dividend/Cargo.toml
+++ b/pallets/universal-dividend/Cargo.toml
@@ -9,18 +9,21 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 runtime-benchmarks = [
-	"frame-benchmarking/runtime-benchmarks",
-	"pallet-balances",
+    "frame-benchmarking/runtime-benchmarks",
+    "pallet-balances",
 ]
 std = [
     'codec/std',
     'frame-support/std',
     'frame-system/std',
     'frame-benchmarking/std',
-	"serde",
+    "serde",
     "sp-arithmetic/std",
     "sp-io/std",
     "sp-std/std",
@@ -29,67 +32,29 @@ try-runtime = ['frame-support/try-runtime']
 
 [dependencies]
 # crates.io
-codec = { package = 'parity-scale-codec', version = "3.1.5", default-features = false, features = ["derive", "max-encoded-len"] }
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-serde = { version = "1.0.101", features = ["derive"], optional = true }
+codec = { package = 'parity-scale-codec', version = "3.1.5", default-features = false, features = [
+    "derive",
+    "max-encoded-len",
+] }
+scale-info = { workspace = true }
+serde = { workspace = true, optional = true }
 
 # substrate bencharks
-frame-benchmarking = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', optional = true, default-features = false }
-pallet-balances = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', optional = true, default-features = false }
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
 
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+frame-benchmarking = { workspace = true, optional = true }
+pallet-balances = { workspace = true, optional = true }
 
-[dependencies.sp-arithmetic]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+frame-support = { workspace = true }
+frame-system = { workspace = true }
 
+sp-arithmetic = { workspace = true }
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
 
 ### DEV ###
 
 [dev-dependencies]
-serde = { version = "1.0.101", features = ["derive"] }
-
-[dev-dependencies.pallet-balances]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dev-dependencies.sp-core]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dev-dependencies.sp-io]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dev-dependencies.sp-runtime]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+serde = { workspace = true }
+pallet-balances = { workspace = true, features = ['std'] }
+sp-core = { workspace = true }
diff --git a/pallets/upgrade-origin/Cargo.toml b/pallets/upgrade-origin/Cargo.toml
index 000b89cb4756a9d8c70399b02369c79e32af1c7e..f70abdb720d19466373b38849ba0c92cd412cdbf 100644
--- a/pallets/upgrade-origin/Cargo.toml
+++ b/pallets/upgrade-origin/Cargo.toml
@@ -9,6 +9,9 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 runtime-benchmarks = ['frame-benchmarking/runtime-benchmarks']
@@ -23,48 +26,16 @@ std = [
 try-runtime = ['frame-support/try-runtime']
 
 [dependencies]
-
 # substrate
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.1.5"
-
-[dependencies.frame-benchmarking]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-optional = true
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.frame-system]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-io]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+scale-info = { workspace = true }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
+
+frame-benchmarking = { workspace = true, optional = true }
+frame-support = { workspace = true }
+frame-system = { workspace = true }
+
+sp-io = { workspace = true }
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
diff --git a/primitives/duniter/Cargo.toml b/primitives/duniter/Cargo.toml
index cdcce860a04b3b7cb57b02ba4566ad42af29c488..c114c916cf5d8f99e8152b5f258a9005f77dd512 100644
--- a/primitives/duniter/Cargo.toml
+++ b/primitives/duniter/Cargo.toml
@@ -9,43 +9,23 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
-std = [
-    'codec/std',
-    'frame-support/std',
-    'sp-runtime/std',
-    'sp-std/std',
-]
+std = ['codec/std', 'frame-support/std', 'sp-runtime/std', 'sp-std/std']
 try-runtime = ['frame-support/try-runtime']
 
 [dependencies]
 
 # substrate
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.1.5"
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+scale-info = { workspace = true }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+frame-support = { workspace = true }
 
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
diff --git a/primitives/membership/Cargo.toml b/primitives/membership/Cargo.toml
index 36592a7692f8c796327299bf179d1feac663388f..99bbbb446c239f046d580484e61a6908c0cc421e 100644
--- a/primitives/membership/Cargo.toml
+++ b/primitives/membership/Cargo.toml
@@ -9,6 +9,9 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
 [features]
 default = ['std']
 std = [
@@ -21,37 +24,15 @@ std = [
 try-runtime = ['frame-support/try-runtime']
 
 [dependencies]
+serde = { workspace = true, optional = true }
 
 # substrate
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = "3.1.5"
-
-[dependencies.frame-support]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
+scale-info = { workspace = true }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 
-[dependencies.serde]
-version = "1.0.101"
-optional = true
-features = ["derive"]
+frame-support = { workspace = true }
 
-[dependencies.sp-runtime]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-[dependencies.sp-std]
-default-features = false
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
-### DOC ###
-
-[package.metadata.docs.rs]
-targets = ['x86_64-unknown-linux-gnu']
+sp-runtime = { workspace = true }
+sp-std = { workspace = true }
diff --git a/runtime/g1/Cargo.toml b/runtime/g1/Cargo.toml
index b47ca4727ae478b9a4446d5208f3a1192325ea6b..e3a6fee6beabb19bff1a7d40f5cf015ff4abb599 100644
--- a/runtime/g1/Cargo.toml
+++ b/runtime/g1/Cargo.toml
@@ -9,10 +9,6 @@ documentation.workspace = true
 homepage.workspace = true
 version.workspace = true
 
-[build-dependencies.substrate-wasm-builder]
-git = 'https://github.com/duniter/substrate'
-branch = 'duniter-substrate-v0.9.32'
-
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
 
@@ -105,12 +101,6 @@ try-runtime = [
     "pallet-utility/try-runtime",
 ]
 
-[dev-dependencies]
-sp-consensus-vrf = { workspace = true }
-sp-finality-grandpa = { workspace = true }
-sp-io = { workspace = true }
-sp-keyring = { workspace = true }
-
 [dependencies]
 # local
 common-runtime = { path = "../common", default-features = false }
@@ -136,6 +126,7 @@ log = { workspace = true }
 scale-info = { workspace = true }
 hex-literal = { workspace = true, optional = true }
 serde = { workspace = true, optional = true }
+# getrandom = { workspace = true }
 
 # substrate
 frame-benchmarking = { workspace = true, optional = true }
@@ -178,3 +169,14 @@ sp-session = { workspace = true }
 sp-std = { workspace = true }
 sp-transaction-pool = { workspace = true }
 sp-version = { workspace = true }
+
+
+[dev-dependencies]
+sp-consensus-vrf = { workspace = true }
+sp-finality-grandpa = { workspace = true }
+sp-io = { workspace = true }
+sp-keyring = { workspace = true }
+
+
+[build-dependencies]
+substrate-wasm-builder = { workspace = true }
diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml
index 39c296105385ff26e9fbef22bc02c1eabe42445f..2a0767c386c511a244ce4523041f95230fb62c7a 100644
--- a/xtask/Cargo.toml
+++ b/xtask/Cargo.toml
@@ -1,5 +1,6 @@
 [package]
 name = "xtask"
+version = "0.1.0"
 edition.workspace = true
 authors.workspace = true
 description.workspace = true
@@ -7,7 +8,6 @@ license.workspace = true
 repository.workspace = true
 documentation.workspace = true
 homepage.workspace = true
-version.workspace = true
 
 [[bin]]
 bench = false
@@ -15,20 +15,24 @@ 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 = "15.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"] }
-serde = { version = "1.0.101", features = ["derive"] }
-serde_json = "1.0"
-tokio = { version = "1.15.0", features = ["macros"] }
-version_check = "0.9.2"
-version-compare = "0.0.11"
-tera = { version = "1", default-features = false }
\ No newline at end of file
+anyhow = { workspace = true }
+clap = { workspace = true }
+codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, 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 }
+run_script = { workspace = true }
+scale-info = { workspace = true, features = ["bit-vec"] }
+serde = { workspace = true }
+serde_json = { workspace = true }
+tokio = { workspace = true }
+version_check = { workspace = true }
+version-compare = { workspace = true }
+tera = { workspace = true }