diff --git a/Cargo.lock b/Cargo.lock
index 208e3b2439c13fc72dc0039c7724d475c355ae45..14dbd84ccc4e73654581334a5dfd23085ec32236 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1540,7 +1540,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 [[package]]
 name = "fork-tree"
 version = "3.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
 ]
@@ -1558,7 +1558,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1579,7 +1579,7 @@ dependencies = [
 [[package]]
 name = "frame-benchmarking-cli"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "Inflector",
  "chrono",
@@ -1605,7 +1605,7 @@ dependencies = [
 [[package]]
 name = "frame-executive"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1633,7 +1633,7 @@ dependencies = [
 [[package]]
 name = "frame-support"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "bitflags",
  "frame-metadata",
@@ -1662,7 +1662,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "Inflector",
  "frame-support-procedural-tools",
@@ -1674,7 +1674,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate 1.1.0",
@@ -1686,7 +1686,7 @@ dependencies = [
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "3.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1696,7 +1696,7 @@ dependencies = [
 [[package]]
 name = "frame-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "log",
@@ -1713,7 +1713,7 @@ dependencies = [
 [[package]]
 name = "frame-system-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -1728,7 +1728,7 @@ dependencies = [
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -1951,6 +1951,7 @@ dependencies = [
  "pallet-babe",
  "pallet-balances",
  "pallet-certification",
+ "pallet-collective",
  "pallet-duniter-wot",
  "pallet-grandpa",
  "pallet-identity",
@@ -2008,6 +2009,7 @@ dependencies = [
  "pallet-babe",
  "pallet-balances",
  "pallet-certification",
+ "pallet-collective",
  "pallet-duniter-test-parameters",
  "pallet-duniter-wot",
  "pallet-grandpa",
@@ -2025,6 +2027,7 @@ dependencies = [
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-ud-accounts-storage",
  "pallet-universal-dividend",
+ "pallet-upgrade-origin",
  "pallet-utility",
  "parity-scale-codec",
  "scale-info",
@@ -2204,6 +2207,7 @@ dependencies = [
  "pallet-babe",
  "pallet-balances",
  "pallet-certification",
+ "pallet-collective",
  "pallet-duniter-wot",
  "pallet-grandpa",
  "pallet-identity",
@@ -4273,7 +4277,7 @@ dependencies = [
 [[package]]
 name = "pallet-atomic-swap"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4288,7 +4292,7 @@ dependencies = [
 [[package]]
 name = "pallet-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4324,7 +4328,7 @@ dependencies = [
 [[package]]
 name = "pallet-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4339,7 +4343,7 @@ dependencies = [
 [[package]]
 name = "pallet-babe"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4363,7 +4367,7 @@ dependencies = [
 [[package]]
 name = "pallet-balances"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4392,6 +4396,23 @@ dependencies = [
  "sp-std",
 ]
 
+[[package]]
+name = "pallet-collective"
+version = "4.0.0-dev"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
 [[package]]
 name = "pallet-duniter-test-parameters"
 version = "3.0.0"
@@ -4441,7 +4462,7 @@ dependencies = [
 [[package]]
 name = "pallet-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4481,7 +4502,7 @@ dependencies = [
 [[package]]
 name = "pallet-im-online"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4518,7 +4539,7 @@ dependencies = [
 [[package]]
 name = "pallet-multisig"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4532,7 +4553,7 @@ dependencies = [
 [[package]]
 name = "pallet-offences"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4548,7 +4569,7 @@ dependencies = [
 [[package]]
 name = "pallet-proxy"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4562,7 +4583,7 @@ dependencies = [
 [[package]]
 name = "pallet-scheduler"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4577,7 +4598,7 @@ dependencies = [
 [[package]]
 name = "pallet-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4598,7 +4619,7 @@ dependencies = [
 [[package]]
 name = "pallet-sudo"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4612,7 +4633,7 @@ dependencies = [
 [[package]]
 name = "pallet-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -4630,7 +4651,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -4647,7 +4668,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "jsonrpc-core",
  "jsonrpc-core-client",
@@ -4664,7 +4685,7 @@ dependencies = [
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "pallet-transaction-payment",
  "parity-scale-codec",
@@ -4707,10 +4728,24 @@ dependencies = [
  "sp-std",
 ]
 
+[[package]]
+name = "pallet-upgrade-origin"
+version = "3.0.0"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
 [[package]]
 name = "pallet-utility"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5658,7 +5693,7 @@ dependencies = [
 [[package]]
 name = "sc-allocator"
 version = "4.1.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "log",
  "sp-core",
@@ -5669,7 +5704,7 @@ dependencies = [
 [[package]]
 name = "sc-basic-authorship"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "futures-timer",
@@ -5692,7 +5727,7 @@ dependencies = [
 [[package]]
 name = "sc-block-builder"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "sc-client-api",
@@ -5708,7 +5743,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "impl-trait-for-tuples",
  "memmap2 0.5.0",
@@ -5725,7 +5760,7 @@ dependencies = [
 [[package]]
 name = "sc-chain-spec-derive"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "proc-macro-crate 1.1.0",
  "proc-macro2",
@@ -5736,7 +5771,7 @@ dependencies = [
 [[package]]
 name = "sc-cli"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "chrono",
  "clap",
@@ -5774,7 +5809,7 @@ dependencies = [
 [[package]]
 name = "sc-client-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "fnv",
  "futures 0.3.19",
@@ -5802,7 +5837,7 @@ dependencies = [
 [[package]]
 name = "sc-client-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "hash-db",
  "kvdb",
@@ -5827,7 +5862,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "futures 0.3.19",
@@ -5851,7 +5886,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-aura"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "futures 0.3.19",
@@ -5880,7 +5915,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "fork-tree",
@@ -5923,7 +5958,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "fork-tree",
  "parity-scale-codec",
@@ -5936,7 +5971,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-manual-seal"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "assert_matches",
  "async-trait",
@@ -5972,7 +6007,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "futures 0.3.19",
@@ -5997,7 +6032,7 @@ dependencies = [
 [[package]]
 name = "sc-consensus-uncles"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "sc-client-api",
  "sp-authorship",
@@ -6008,7 +6043,7 @@ dependencies = [
 [[package]]
 name = "sc-executor"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "lazy_static",
  "libsecp256k1",
@@ -6035,7 +6070,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-common"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -6052,7 +6087,7 @@ dependencies = [
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -6068,7 +6103,7 @@ dependencies = [
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "dyn-clone",
@@ -6106,7 +6141,7 @@ dependencies = [
 [[package]]
 name = "sc-informant"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "ansi_term",
  "futures 0.3.19",
@@ -6123,7 +6158,7 @@ dependencies = [
 [[package]]
 name = "sc-keystore"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "hex",
@@ -6138,7 +6173,7 @@ dependencies = [
 [[package]]
 name = "sc-network"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-std",
  "async-trait",
@@ -6188,7 +6223,7 @@ dependencies = [
 [[package]]
 name = "sc-network-gossip"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "futures-timer",
@@ -6204,7 +6239,7 @@ dependencies = [
 [[package]]
 name = "sc-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "bytes 1.1.0",
  "fnv",
@@ -6232,7 +6267,7 @@ dependencies = [
 [[package]]
 name = "sc-peerset"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "libp2p",
@@ -6245,7 +6280,7 @@ dependencies = [
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -6254,7 +6289,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "hash-db",
@@ -6285,7 +6320,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-api"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "jsonrpc-core",
@@ -6310,7 +6345,7 @@ dependencies = [
 [[package]]
 name = "sc-rpc-server"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "jsonrpc-core",
@@ -6327,7 +6362,7 @@ dependencies = [
 [[package]]
 name = "sc-service"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "directories",
@@ -6391,7 +6426,7 @@ dependencies = [
 [[package]]
 name = "sc-state-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "log",
  "parity-scale-codec",
@@ -6405,7 +6440,7 @@ dependencies = [
 [[package]]
 name = "sc-telemetry"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "chrono",
  "futures 0.3.19",
@@ -6423,7 +6458,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "ansi_term",
  "atty",
@@ -6454,7 +6489,7 @@ dependencies = [
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "proc-macro-crate 1.1.0",
  "proc-macro2",
@@ -6465,7 +6500,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "futures-timer",
@@ -6492,7 +6527,7 @@ dependencies = [
 [[package]]
 name = "sc-transaction-pool-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "log",
@@ -6505,7 +6540,7 @@ dependencies = [
 [[package]]
 name = "sc-utils"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "futures-timer",
@@ -6918,7 +6953,7 @@ dependencies = [
 [[package]]
 name = "sp-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "hash-db",
  "log",
@@ -6935,7 +6970,7 @@ dependencies = [
 [[package]]
 name = "sp-api-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "blake2-rfc",
  "proc-macro-crate 1.1.0",
@@ -6947,7 +6982,7 @@ dependencies = [
 [[package]]
 name = "sp-application-crypto"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -6960,7 +6995,7 @@ dependencies = [
 [[package]]
 name = "sp-arithmetic"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "integer-sqrt",
  "num-traits",
@@ -6975,7 +7010,7 @@ dependencies = [
 [[package]]
 name = "sp-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -6988,7 +7023,7 @@ dependencies = [
 [[package]]
 name = "sp-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -7000,7 +7035,7 @@ dependencies = [
 [[package]]
 name = "sp-block-builder"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "sp-api",
@@ -7012,7 +7047,7 @@ dependencies = [
 [[package]]
 name = "sp-blockchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "log",
@@ -7030,7 +7065,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "futures 0.3.19",
@@ -7049,7 +7084,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-aura"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "parity-scale-codec",
@@ -7067,7 +7102,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "merlin",
@@ -7090,7 +7125,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -7102,7 +7137,7 @@ dependencies = [
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "schnorrkel",
@@ -7114,7 +7149,7 @@ dependencies = [
 [[package]]
 name = "sp-core"
 version = "4.1.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "base58",
  "bitflags",
@@ -7162,7 +7197,7 @@ dependencies = [
 [[package]]
 name = "sp-core-hashing"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "blake2-rfc",
  "byteorder",
@@ -7175,7 +7210,7 @@ dependencies = [
 [[package]]
 name = "sp-core-hashing-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -7186,7 +7221,7 @@ dependencies = [
 [[package]]
 name = "sp-database"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "kvdb",
  "parking_lot",
@@ -7195,7 +7230,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -7205,7 +7240,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.10.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "environmental",
  "parity-scale-codec",
@@ -7216,7 +7251,7 @@ dependencies = [
 [[package]]
 name = "sp-finality-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "finality-grandpa",
  "log",
@@ -7234,7 +7269,7 @@ dependencies = [
 [[package]]
 name = "sp-inherents"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
@@ -7248,7 +7283,7 @@ dependencies = [
 [[package]]
 name = "sp-io"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "futures 0.3.19",
  "hash-db",
@@ -7272,7 +7307,7 @@ dependencies = [
 [[package]]
 name = "sp-keyring"
 version = "4.1.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -7283,7 +7318,7 @@ dependencies = [
 [[package]]
 name = "sp-keystore"
 version = "0.10.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "futures 0.3.19",
@@ -7300,7 +7335,7 @@ dependencies = [
 [[package]]
 name = "sp-maybe-compressed-blob"
 version = "4.1.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "zstd",
 ]
@@ -7320,7 +7355,7 @@ dependencies = [
 [[package]]
 name = "sp-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -7330,7 +7365,7 @@ dependencies = [
 [[package]]
 name = "sp-panic-handler"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "backtrace",
  "lazy_static",
@@ -7340,7 +7375,7 @@ dependencies = [
 [[package]]
 name = "sp-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "rustc-hash",
  "serde",
@@ -7350,7 +7385,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime"
 version = "4.1.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "either",
  "hash256-std-hasher",
@@ -7372,7 +7407,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "4.1.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "impl-trait-for-tuples",
  "parity-scale-codec",
@@ -7389,7 +7424,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "Inflector",
  "proc-macro-crate 1.1.0",
@@ -7401,7 +7436,7 @@ dependencies = [
 [[package]]
 name = "sp-serializer"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "serde",
  "serde_json",
@@ -7410,7 +7445,7 @@ dependencies = [
 [[package]]
 name = "sp-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -7424,7 +7459,7 @@ dependencies = [
 [[package]]
 name = "sp-staking"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "scale-info",
@@ -7435,7 +7470,7 @@ dependencies = [
 [[package]]
 name = "sp-state-machine"
 version = "0.10.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "hash-db",
  "log",
@@ -7458,12 +7493,12 @@ dependencies = [
 [[package]]
 name = "sp-std"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 
 [[package]]
 name = "sp-storage"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -7476,7 +7511,7 @@ dependencies = [
 [[package]]
 name = "sp-tasks"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "log",
  "sp-core",
@@ -7489,7 +7524,7 @@ dependencies = [
 [[package]]
 name = "sp-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "futures-timer",
@@ -7505,7 +7540,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "sp-std",
@@ -7517,7 +7552,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "sp-api",
  "sp-runtime",
@@ -7526,7 +7561,7 @@ dependencies = [
 [[package]]
 name = "sp-transaction-storage-proof"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-trait",
  "log",
@@ -7542,7 +7577,7 @@ dependencies = [
 [[package]]
 name = "sp-trie"
 version = "4.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "hash-db",
  "memory-db",
@@ -7557,7 +7592,7 @@ dependencies = [
 [[package]]
 name = "sp-version"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "impl-serde",
  "parity-scale-codec",
@@ -7573,7 +7608,7 @@ dependencies = [
 [[package]]
 name = "sp-version-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "parity-scale-codec",
  "proc-macro2",
@@ -7584,7 +7619,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "4.1.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "impl-trait-for-tuples",
  "log",
@@ -7682,7 +7717,7 @@ dependencies = [
 [[package]]
 name = "substrate-build-script-utils"
 version = "3.0.0"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "platforms",
 ]
@@ -7690,7 +7725,7 @@ dependencies = [
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "frame-system-rpc-runtime-api",
  "futures 0.3.19",
@@ -7712,7 +7747,7 @@ dependencies = [
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.10.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "async-std",
  "futures-util",
@@ -7726,7 +7761,7 @@ dependencies = [
 [[package]]
 name = "substrate-wasm-builder"
 version = "5.0.0-dev"
-source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#7a6dc6ef9991e3a2ac17f30da64c9c80b42f8090"
+source = "git+https://github.com/librelois/substrate.git?branch=duniter-monthly-2022-02#8fbc011c06ee051577022c8fd84f2a018123efd3"
 dependencies = [
  "ansi_term",
  "build-helper",
diff --git a/Cargo.toml b/Cargo.toml
index 9505e8c50d7c3e883a1fffb3cae1c02a2e74ef2a..f189aa11a2ee230b062f5a3f96258c9d0dafb385 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -118,6 +118,7 @@ members = [
 	'pallets/authority-members',
     'pallets/ud-accounts-storage',
     'pallets/universal-dividend',
+	'pallets/upgrade-origin',
     'primitives/membership',
     'runtime/common',
     'runtime/gdev',
diff --git a/node/src/chain_spec/gdev.rs b/node/src/chain_spec/gdev.rs
index f20dd367b899925b5bb952c9cd2da1fdf54d2a8a..5365ec715c48880e6055fc17f4c0bf8b0d3da880 100644
--- a/node/src/chain_spec/gdev.rs
+++ b/node/src/chain_spec/gdev.rs
@@ -354,6 +354,7 @@ fn gen_genesis_conf(
             apply_cert_period_at_genesis: false,
             certs_by_issuer: clique_wot(initial_smiths_len, smith_cert_validity_period),
         },
+        smiths_collective: Default::default(),
         ud_accounts_storage: UdAccountsStorageConfig {
             ud_accounts: initial_identities
                 .values()
@@ -461,6 +462,7 @@ fn genesis_data_to_gdev_genesis_conf(
         smiths_membership: SmithsMembershipConfig {
             memberships: smiths_memberships,
         },
+        smiths_collective: Default::default(),
         ud_accounts_storage: UdAccountsStorageConfig { ud_accounts },
         universal_dividend: UniversalDividendConfig {
             first_ud,
diff --git a/pallets/upgrade-origin/Cargo.toml b/pallets/upgrade-origin/Cargo.toml
new file mode 100644
index 0000000000000000000000000000000000000000..f235cbc95085e32f44a254fce27e6113d30f73fa
--- /dev/null
+++ b/pallets/upgrade-origin/Cargo.toml
@@ -0,0 +1,69 @@
+[package]
+authors = ['librelois <c@elo.tf>']
+description = 'FRAME pallet to upgrade specified origin to root.'
+edition = '2018'
+homepage = 'https://substrate.dev'
+license = 'AGPL-3.0'
+name = 'pallet-upgrade-origin'
+repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
+version = '3.0.0'
+
+[features]
+default = ['std']
+runtime-benchmarks = ['frame-benchmarking']
+std = [
+    'codec/std',
+    'frame-support/std',
+    'frame-system/std',
+    'frame-benchmarking/std',
+    "sp-io/std",
+	"sp-std/std",
+]
+try-runtime = ['frame-support/try-runtime']
+
+[dependencies]
+
+# substrate
+scale-info = { version = "1.0", default-features = false, features = ["derive"] }
+
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '2.3.1'
+
+[dependencies.frame-benchmarking]
+default-features = false
+git = 'https://github.com/librelois/substrate.git'
+optional = true
+branch = 'duniter-monthly-2022-02'
+
+[dependencies.frame-support]
+default-features = false
+git = 'https://github.com/librelois/substrate.git'
+branch = 'duniter-monthly-2022-02'
+
+[dependencies.frame-system]
+default-features = false
+git = 'https://github.com/librelois/substrate.git'
+branch = 'duniter-monthly-2022-02'
+
+[dependencies.sp-io]
+default-features = false
+git = 'https://github.com/librelois/substrate.git'
+branch = 'duniter-monthly-2022-02'
+
+[dependencies.sp-std]
+default-features = false
+git = 'https://github.com/librelois/substrate.git'
+branch = 'duniter-monthly-2022-02'
+
+[dependencies.sp-runtime]
+default-features = false
+git = 'https://github.com/librelois/substrate.git'
+branch = 'duniter-monthly-2022-02'
+
+### DOC ###
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
diff --git a/pallets/upgrade-origin/src/lib.rs b/pallets/upgrade-origin/src/lib.rs
new file mode 100644
index 0000000000000000000000000000000000000000..2a84f8caccc32545ec665576584a30ebe3025a06
--- /dev/null
+++ b/pallets/upgrade-origin/src/lib.rs
@@ -0,0 +1,86 @@
+// Copyright 2021 Axiom-Team
+//
+// This file is part of Substrate-Libre-Currency.
+//
+// Substrate-Libre-Currency is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Substrate-Libre-Currency is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Substrate-Libre-Currency. If not, see <https://www.gnu.org/licenses/>.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+#![allow(clippy::boxed_local)]
+
+use frame_support::{
+    dispatch::PostDispatchInfo,
+    traits::{IsSubType, UnfilteredDispatchable},
+    weights::GetDispatchInfo,
+};
+use sp_runtime::traits::Dispatchable;
+use sp_std::prelude::*;
+
+pub use pallet::*;
+#[frame_support::pallet]
+pub mod pallet {
+    use super::*;
+    use frame_support::pallet_prelude::*;
+    use frame_system::pallet_prelude::*;
+
+    #[pallet::pallet]
+    #[pallet::generate_store(pub(super) trait Store)]
+    pub struct Pallet<T>(_);
+
+    /// Configuration trait.
+    #[pallet::config]
+    pub trait Config: frame_system::Config {
+        /// The overarching event type.
+        type Event: From<Event> + IsType<<Self as frame_system::Config>::Event>;
+
+        /// The overarching call type.
+        type Call: Parameter
+            + Dispatchable<Origin = Self::Origin, PostInfo = PostDispatchInfo>
+            + GetDispatchInfo
+            + From<frame_system::Call<Self>>
+            + UnfilteredDispatchable<Origin = Self::Origin>
+            + IsSubType<Call<Self>>
+            + IsType<<Self as frame_system::Config>::Call>;
+
+        /// The upgradable origin
+        type UpgradableOrigin: EnsureOrigin<Self::Origin>;
+    }
+
+    #[pallet::event]
+    #[pallet::generate_deposit(pub(super) fn deposit_event)]
+    pub enum Event {
+        /// A call was dispatched as root from an upgradable origin
+        DispatchedAsRoot { result: DispatchResult },
+    }
+
+    #[pallet::call]
+    impl<T: Config> Pallet<T> {
+        /// Dispatches a function call from root origin.
+        ///
+        /// The weight of this call is defined by the caller.
+        #[pallet::weight(*_weight)]
+        pub fn dispatch_as_root(
+            origin: OriginFor<T>,
+            call: Box<<T as Config>::Call>,
+            _weight: Weight,
+        ) -> DispatchResultWithPostInfo {
+            T::UpgradableOrigin::ensure_origin(origin)?;
+
+            let res = call.dispatch_bypass_filter(frame_system::RawOrigin::Root.into());
+
+            Self::deposit_event(Event::DispatchedAsRoot {
+                result: res.map(|_| ()).map_err(|e| e.error),
+            });
+            Ok(Pays::No.into())
+        }
+    }
+}
diff --git a/runtime/common/src/pallets_config.rs b/runtime/common/src/pallets_config.rs
index ef3fe5ac25ae94dc64939fadfa535fa8d47fbec5..bc7ebed3c1a6625edeadeb59fa599712f45c99a6 100644
--- a/runtime/common/src/pallets_config.rs
+++ b/runtime/common/src/pallets_config.rs
@@ -415,5 +415,44 @@ macro_rules! pallets_config {
 			type CertRenewablePeriod = SmithCertRenewablePeriod;
 			type ValidityPeriod = SmithValidityPeriod;
 		}
+
+		pub struct SmithMembersDefaultVote;
+		impl pallet_collective::DefaultVote for SmithMembersDefaultVote {
+			fn default_vote(
+				_prime_vote: Option<bool>,
+				_yes_votes: u32,
+				_no_votes: u32,
+				_len: u32,
+			) -> bool {
+				false
+			}
+		}
+		pub struct SmithMembersStorage;
+		impl sp_runtime::traits::IsMember<AccountId> for SmithMembersStorage {
+			fn is_member(account_id: &AccountId) -> bool {
+				use sp_runtime::traits::Convert as _;
+				if let Some(idty_index) = Identity::convert(account_id.clone()) {
+					pallet_membership::Pallet::<Runtime, Instance2>::is_member(&idty_index)
+				} else {
+					false
+				}
+			}
+		}
+		impl pallet_collective::MembersStorage<AccountId> for SmithMembersStorage {
+			fn members_count() -> u32 {
+				pallet_membership::Membership::<Runtime, Instance2>::count()
+			}
+		}
+		impl pallet_collective::Config<Instance2> for Runtime {
+			type Origin = Origin;
+			type Proposal = Call;
+			type Event = Event;
+			type MotionDuration = frame_support::pallet_prelude::ConstU32<10_000>;
+			type MaxProposals = frame_support::pallet_prelude::ConstU32<10>;
+			type MaxMembers = frame_support::pallet_prelude::ConstU32<1_000>;
+			type MembersStorage = SmithMembersStorage;
+			type DefaultVote = SmithMembersDefaultVote;
+			type WeightInfo = ();
+		}
 	};
 }
diff --git a/runtime/g1/Cargo.toml b/runtime/g1/Cargo.toml
index b219a04e70b679d09ab5c0edb5a574841ece5846..ce2dac1538260a29d7a37826e11d28bbda2462bb 100644
--- a/runtime/g1/Cargo.toml
+++ b/runtime/g1/Cargo.toml
@@ -38,6 +38,7 @@ std = [
     'pallet-babe/std',
     'pallet-balances/std',
     'pallet-certification/std',
+    'pallet-collective/std',
     'pallet-duniter-wot/std',
     'pallet-grandpa/std',
     'pallet-identity/std',
@@ -150,6 +151,11 @@ default-features = false
 git = 'https://github.com/librelois/substrate.git'
 branch = 'duniter-monthly-2022-02'
 
+[dependencies.pallet-collective]
+default-features = false
+git = 'https://github.com/librelois/substrate.git'
+branch = 'duniter-monthly-2022-02'
+
 [dependencies.pallet-grandpa]
 default-features = false
 git = 'https://github.com/librelois/substrate.git'
diff --git a/runtime/g1/src/lib.rs b/runtime/g1/src/lib.rs
index 3b39ca6b1ce2ada9fcfccc3ac65f978765d98c1b..6528e2864bee0ca430be73597b1dfc9d20badc52 100644
--- a/runtime/g1/src/lib.rs
+++ b/runtime/g1/src/lib.rs
@@ -232,6 +232,7 @@ construct_runtime!(
         SmithsSubWot: pallet_duniter_wot::<Instance2>::{Pallet} = 50,
         SmithsMembership: pallet_membership::<Instance2>::{Pallet, Call, Config<T>, Storage, Event<T>} = 52,
         SmithsCert: pallet_certification::<Instance2>::{Pallet, Call, Config<T>, Storage, Event<T>} = 53,
+        SmithsCollective: pallet_collective::<Instance2>::{Pallet, Call, Config<T>, Storage, Event<T>, Origin<T>} = 54,
 
         // Utilities
         AtomicSwap: pallet_atomic_swap::{Pallet, Call, Storage, Event<T>} = 60,
diff --git a/runtime/gdev/Cargo.toml b/runtime/gdev/Cargo.toml
index 412d7fa56c6bd3387c76dfbd725f2dc52ddcae59..f74d42564854f9af4b662ac7c8adea0cc0d8ab97 100644
--- a/runtime/gdev/Cargo.toml
+++ b/runtime/gdev/Cargo.toml
@@ -39,6 +39,7 @@ std = [
     'pallet-babe/std',
     'pallet-balances/std',
     'pallet-certification/std',
+    'pallet-collective/std',
     'pallet-duniter-test-parameters/std',
     'pallet-duniter-wot/std',
     'pallet-grandpa/std',
@@ -50,6 +51,7 @@ std = [
     'pallet-session/std',
     'pallet-sudo/std',
     'pallet-universal-dividend/std',
+    'pallet-upgrade-origin/std',
     'pallet-timestamp/std',
     'pallet-transaction-payment-rpc-runtime-api/std',
     'pallet-transaction-payment/std',
@@ -81,6 +83,7 @@ pallet-identity = { path = '../../pallets/identity', default-features = false }
 pallet-membership = { path = '../../pallets/membership', default-features = false }
 pallet-ud-accounts-storage = { path = '../../pallets/ud-accounts-storage', default-features = false }
 pallet-universal-dividend = { path = '../../pallets/universal-dividend', default-features = false }
+pallet-upgrade-origin = { path = '../../pallets/upgrade-origin', default-features = false }
 sp-membership = { path = '../../primitives/membership', default-features = false }
 
 # substrate
@@ -153,6 +156,11 @@ default-features = false
 git = 'https://github.com/librelois/substrate.git'
 branch = 'duniter-monthly-2022-02'
 
+[dependencies.pallet-collective]
+default-features = false
+git = 'https://github.com/librelois/substrate.git'
+branch = 'duniter-monthly-2022-02'
+
 [dependencies.pallet-grandpa]
 default-features = false
 git = 'https://github.com/librelois/substrate.git'
diff --git a/runtime/gdev/src/lib.rs b/runtime/gdev/src/lib.rs
index 7f06460325d02b38a3670afa4cc59084c63280dd..09583583bc502e382746955820ecd73b2dc5bb0b 100644
--- a/runtime/gdev/src/lib.rs
+++ b/runtime/gdev/src/lib.rs
@@ -45,6 +45,7 @@ use frame_system::EnsureRoot;
 use pallet_grandpa::fg_primitives;
 use pallet_grandpa::{AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList};
 use sp_api::impl_runtime_apis;
+use sp_core::u32_trait::*;
 use sp_core::OpaqueMetadata;
 use sp_runtime::traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, NumberFor, OpaqueKeys};
 use sp_runtime::{
@@ -224,10 +225,17 @@ common_runtime::pallets_config! {
         type CertCount = u32;
         type PeriodCount = Balance;
     }
+
     impl pallet_sudo::Config for Runtime {
         type Event = Event;
         type Call = Call;
     }
+
+    impl pallet_upgrade_origin::Config for Runtime {
+        type Event = Event;
+        type Call = Call;
+        type UpgradableOrigin = pallet_collective::EnsureProportionAtLeast<_2, _3, AccountId, Instance2>;
+    }
 }
 
 // Create the runtime by composing the FRAME pallets that were previously configured.
@@ -264,6 +272,7 @@ construct_runtime!(
 
         // Governance stuff
         Sudo: pallet_sudo::{Pallet, Call, Config<T>, Storage, Event<T>} = 20,
+        UpgradeOrigin: pallet_upgrade_origin::{Pallet, Call, Event} = 21,
 
         // Universal dividend
         UdAccountsStorage: pallet_ud_accounts_storage::{Pallet, Config<T>, Storage} = 30,
@@ -279,6 +288,7 @@ construct_runtime!(
         SmithsSubWot: pallet_duniter_wot::<Instance2>::{Pallet} = 50,
         SmithsMembership: pallet_membership::<Instance2>::{Pallet, Call, Config<T>, Storage, Event<T>} = 52,
         SmithsCert: pallet_certification::<Instance2>::{Pallet, Call, Config<T>, Storage, Event<T>} = 53,
+        SmithsCollective: pallet_collective::<Instance2>::{Pallet, Call, Config<T>, Storage, Event<T>, Origin<T>} = 54,
 
         // Utilities
         AtomicSwap: pallet_atomic_swap::{Pallet, Call, Storage, Event<T>} = 60,
diff --git a/runtime/gtest/Cargo.toml b/runtime/gtest/Cargo.toml
index ba64f544e2d37a363c056be1399a67f5c9be6b84..5eb92d06504cd8cada91e7b3ac3576aaea18e1dc 100644
--- a/runtime/gtest/Cargo.toml
+++ b/runtime/gtest/Cargo.toml
@@ -38,6 +38,7 @@ std = [
     'pallet-babe/std',
     'pallet-balances/std',
     'pallet-certification/std',
+    'pallet-collective/std',
     'pallet-duniter-wot/std',
     'pallet-grandpa/std',
     'pallet-identity/std',
@@ -150,6 +151,11 @@ default-features = false
 git = 'https://github.com/librelois/substrate.git'
 branch = 'duniter-monthly-2022-02'
 
+[dependencies.pallet-collective]
+default-features = false
+git = 'https://github.com/librelois/substrate.git'
+branch = 'duniter-monthly-2022-02'
+
 [dependencies.pallet-grandpa]
 default-features = false
 git = 'https://github.com/librelois/substrate.git'
diff --git a/runtime/gtest/src/lib.rs b/runtime/gtest/src/lib.rs
index 3acf1e35f77bc613a182976bf38c41c2c4d77bec..211925aa81f3bbb10902ec6cbf123f87bdf1f4d2 100644
--- a/runtime/gtest/src/lib.rs
+++ b/runtime/gtest/src/lib.rs
@@ -232,6 +232,7 @@ construct_runtime!(
         SmithsSubWot: pallet_duniter_wot::<Instance2>::{Pallet} = 50,
         SmithsMembership: pallet_membership::<Instance2>::{Pallet, Call, Config<T>, Storage, Event<T>} = 52,
         SmithsCert: pallet_certification::<Instance2>::{Pallet, Call, Config<T>, Storage, Event<T>} = 53,
+        SmithsCollective: pallet_collective::<Instance2>::{Pallet, Call, Config<T>, Storage, Event<T>, Origin<T>} = 54,
 
         // Utilities
         AtomicSwap: pallet_atomic_swap::{Pallet, Call, Storage, Event<T>} = 60,