From 4234da98af65bc63865cf850d6f4973c86e76b5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pascal=20Eng=C3=A9libert?= <tuxmain@zettascript.org>
Date: Tue, 12 Sep 2023 17:19:31 +0200
Subject: [PATCH] Distance Oracle (nodes/rust/duniter-v2s!105)

* Fix distance-oracle EvaluationPool type

* Remove instanciation and dep to certification

* Doc comments, make max size params const

* Fix default distance dir

* Rename pool accessors

* doc add READMEs

* fix(distance): Remember account_id who reserved

* Log, comments, crate author

* feat: distance

* integration tests, expiration

* fixes & working end2end tests

* fix(distance): max_depth, compute min_certs_for_referee

* fix(distance): add distance pallet to gtest, g1

* test(distance): WiP end2end test

* feat: distance
---
 .vscode/settings.json                         |    3 +-
 Cargo.lock                                    | 1139 ++++++++++-------
 Cargo.toml                                    |   27 +-
 client/distance/Cargo.toml                    |   51 +
 client/distance/src/lib.rs                    |  107 ++
 distance-oracle/Cargo.toml                    |   44 +
 distance-oracle/README.md                     |   20 +
 distance-oracle/src/api.rs                    |  155 +++
 distance-oracle/src/lib.rs                    |  313 +++++
 distance-oracle/src/main.rs                   |   51 +
 distance-oracle/src/mock.rs                   |  121 ++
 distance-oracle/src/tests.rs                  |  109 ++
 distance-oracle/wot.deflate                   |  Bin 0 -> 230115 bytes
 docs/api/manual.md                            |    3 +
 docs/user/distance.md                         |   31 +
 end2end-tests/Cargo.toml                      |    3 +-
 end2end-tests/README.md                       |    2 +-
 .../identity_creation.feature                 |   13 +-
 end2end-tests/tests/common/distance.rs        |   87 ++
 end2end-tests/tests/common/identity.rs        |    6 +-
 end2end-tests/tests/common/mod.rs             |   29 +-
 end2end-tests/tests/cucumber_tests.rs         |   93 +-
 node/src/service.rs                           |   66 +-
 pallets/README.md                             |    2 +-
 pallets/authority-members/src/lib.rs          |    7 +-
 pallets/distance/Cargo.toml                   |   89 ++
 pallets/distance/README.md                    |   47 +
 pallets/distance/src/lib.rs                   |  461 +++++++
 pallets/distance/src/median.rs                |  156 +++
 pallets/distance/src/traits.rs                |   21 +
 pallets/distance/src/types.rs                 |   60 +
 pallets/duniter-wot/Cargo.toml                |    6 +-
 pallets/duniter-wot/src/lib.rs                |   12 +-
 pallets/duniter-wot/src/mock.rs               |    2 +
 pallets/duniter-wot/src/traits.rs             |   27 +
 primitives/distance/Cargo.toml                |   67 +
 primitives/distance/src/lib.rs                |  110 ++
 resources/metadata.scale                      |  Bin 131109 -> 134215 bytes
 runtime/common/Cargo.toml                     |   30 +-
 runtime/common/src/handlers.rs                |    6 +-
 runtime/common/src/pallets_config.rs          |   11 +
 runtime/common/src/providers.rs               |   15 +
 runtime/g1/Cargo.toml                         |   12 +-
 runtime/g1/src/lib.rs                         |    1 +
 runtime/gdev/Cargo.toml                       |   24 +-
 runtime/gdev/src/lib.rs                       |    1 +
 runtime/gdev/tests/common/mod.rs              |   17 +-
 runtime/gdev/tests/integration_tests.rs       |  108 +-
 runtime/gtest/Cargo.toml                      |   22 +-
 runtime/gtest/src/lib.rs                      |    1 +
 50 files changed, 3256 insertions(+), 532 deletions(-)
 create mode 100644 client/distance/Cargo.toml
 create mode 100644 client/distance/src/lib.rs
 create mode 100644 distance-oracle/Cargo.toml
 create mode 100644 distance-oracle/README.md
 create mode 100644 distance-oracle/src/api.rs
 create mode 100644 distance-oracle/src/lib.rs
 create mode 100644 distance-oracle/src/main.rs
 create mode 100644 distance-oracle/src/mock.rs
 create mode 100644 distance-oracle/src/tests.rs
 create mode 100644 distance-oracle/wot.deflate
 create mode 100644 docs/user/distance.md
 create mode 100644 end2end-tests/tests/common/distance.rs
 create mode 100644 pallets/distance/Cargo.toml
 create mode 100644 pallets/distance/README.md
 create mode 100644 pallets/distance/src/lib.rs
 create mode 100644 pallets/distance/src/median.rs
 create mode 100644 pallets/distance/src/traits.rs
 create mode 100644 pallets/distance/src/types.rs
 create mode 100644 pallets/duniter-wot/src/traits.rs
 create mode 100644 primitives/distance/Cargo.toml
 create mode 100644 primitives/distance/src/lib.rs

diff --git a/.vscode/settings.json b/.vscode/settings.json
index 3070b8018..f6e785cae 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -14,5 +14,6 @@
     "port_p2p": 19931,
     "port_rpc": 19932,
     "port_ws": 19933
-  }
+  },
+  "rust-analyzer.showUnlinkedFileNotification": false
 }
\ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
index ca42803f5..9f89e471d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -27,7 +27,7 @@ version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
 dependencies = [
- "gimli 0.27.0",
+ "gimli 0.27.1",
 ]
 
 [[package]]
@@ -313,13 +313,13 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
 
 [[package]]
 name = "async-trait"
-version = "0.1.60"
+version = "0.1.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3"
+checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -337,9 +337,9 @@ dependencies = [
 
 [[package]]
 name = "atomic-waker"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a"
+checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599"
 
 [[package]]
 name = "atty"
@@ -369,7 +369,7 @@ dependencies = [
  "cfg-if 1.0.0",
  "libc",
  "miniz_oxide",
- "object 0.30.0",
+ "object 0.30.3",
  "rustc-demangle",
 ]
 
@@ -397,6 +397,12 @@ version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
+[[package]]
+name = "base64"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
+
 [[package]]
 name = "base64ct"
 version = "1.5.3"
@@ -554,11 +560,12 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"
 
 [[package]]
 name = "bstr"
-version = "0.2.17"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
+checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832"
 dependencies = [
  "memchr",
+ "serde",
 ]
 
 [[package]]
@@ -572,9 +579,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.11.1"
+version = "3.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
 
 [[package]]
 name = "byte-slice-cast"
@@ -602,15 +609,15 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
 
 [[package]]
 name = "bytes"
-version = "1.3.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "camino"
-version = "1.1.1"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e"
+checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055"
 dependencies = [
  "serde",
 ]
@@ -639,9 +646,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.78"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
 dependencies = [
  "jobserver",
 ]
@@ -708,7 +715,7 @@ dependencies = [
  "js-sys",
  "num-integer",
  "num-traits",
- "time",
+ "time 0.1.45",
  "wasm-bindgen",
  "winapi 0.3.9",
 ]
@@ -763,13 +770,13 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.0.30"
+version = "4.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "656ad1e55e23d287773f7d8192c300dc715c3eeded93b3da651d11c42cfd74d2"
+checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76"
 dependencies = [
  "bitflags",
- "clap_derive 4.0.21",
- "clap_lex 0.3.0",
+ "clap_derive 4.1.0",
+ "clap_lex 0.3.1",
  "is-terminal",
  "once_cell",
  "strsim",
@@ -778,11 +785,11 @@ dependencies = [
 
 [[package]]
 name = "clap_complete"
-version = "4.0.6"
+version = "4.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7b3c9eae0de7bf8e3f904a5e40612b21fb2e2e566456d177809a48b892d24da"
+checksum = "3d6540eedc41f8a5a76cf3d8d458057dcdf817be4158a55b5f861f7a5483de75"
 dependencies = [
- "clap 4.0.30",
+ "clap 4.1.4",
 ]
 
 [[package]]
@@ -791,24 +798,24 @@ version = "3.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65"
 dependencies = [
- "heck 0.4.0",
+ "heck 0.4.1",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.0.21"
+version = "4.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014"
+checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8"
 dependencies = [
- "heck 0.4.0",
+ "heck 0.4.1",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -822,13 +829,22 @@ dependencies = [
 
 [[package]]
 name = "clap_lex"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8"
+checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade"
 dependencies = [
  "os_str_bytes",
 ]
 
+[[package]]
+name = "cmake"
+version = "0.1.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
+dependencies = [
+ "cc",
+]
+
 [[package]]
 name = "codespan-reporting"
 version = "0.11.1"
@@ -839,6 +855,17 @@ dependencies = [
  "unicode-width",
 ]
 
+[[package]]
+name = "colored"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2674ec482fbc38012cf31e6c42ba0177b431a0cb6f15fe40efa5aab1bda516f6"
+dependencies = [
+ "is-terminal",
+ "lazy_static",
+ "windows-sys 0.48.0",
+]
+
 [[package]]
 name = "combine"
 version = "3.8.1"
@@ -854,9 +881,9 @@ dependencies = [
 
 [[package]]
 name = "comfy-table"
-version = "6.1.3"
+version = "6.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e621e7e86c46fd8a14c32c6ae3cb95656621b4743a27d0cffedb831d46e7ad21"
+checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d"
 dependencies = [
  "strum",
  "strum_macros",
@@ -878,6 +905,7 @@ dependencies = [
  "pallet-balances",
  "pallet-certification",
  "pallet-collective",
+ "pallet-distance",
  "pallet-duniter-account",
  "pallet-duniter-wot",
  "pallet-grandpa",
@@ -905,6 +933,7 @@ dependencies = [
  "sp-arithmetic",
  "sp-consensus-babe",
  "sp-core",
+ "sp-distance",
  "sp-membership",
  "sp-runtime",
  "sp-staking",
@@ -914,25 +943,24 @@ dependencies = [
 
 [[package]]
 name = "concurrent-queue"
-version = "2.0.0"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b"
+checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e"
 dependencies = [
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "console"
-version = "0.15.2"
+version = "0.15.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c050367d967ced717c04b65d8c619d863ef9292ce0c5760028655a2fb298718c"
+checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
 dependencies = [
  "encode_unicode",
  "lazy_static",
  "libc",
- "terminal_size",
  "unicode-width",
- "winapi 0.3.9",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -1201,7 +1229,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
 dependencies = [
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -1219,7 +1247,7 @@ version = "3.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1631ca6e3c59112501a9d87fd86f21591ff77acd31331e8a73f8d80a65bbdd71"
 dependencies = [
- "nix 0.26.1",
+ "nix 0.26.2",
  "windows-sys 0.42.0",
 ]
 
@@ -1237,7 +1265,7 @@ dependencies = [
  "cucumber-expressions",
  "derive_more",
  "either",
- "futures 0.3.25",
+ "futures 0.3.26",
  "gherkin",
  "globwalk",
  "inventory",
@@ -1260,7 +1288,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn",
+ "syn 1.0.107",
  "synthez",
 ]
 
@@ -1305,9 +1333,9 @@ dependencies = [
 
 [[package]]
 name = "curve25519-dalek"
-version = "4.0.0-pre.5"
+version = "4.0.0-rc.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67bc65846be335cb20f4e52d49a437b773a2c1fdb42b19fc84e79e6f6771536f"
+checksum = "8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac"
 dependencies = [
  "cfg-if 1.0.0",
  "fiat-crypto",
@@ -1319,9 +1347,9 @@ dependencies = [
 
 [[package]]
 name = "cxx"
-version = "1.0.85"
+version = "1.0.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd"
+checksum = "bc831ee6a32dd495436e317595e639a587aa9907bef96fe6e6abc290ab6204e9"
 dependencies = [
  "cc",
  "cxxbridge-flags",
@@ -1331,9 +1359,9 @@ dependencies = [
 
 [[package]]
 name = "cxx-build"
-version = "1.0.85"
+version = "1.0.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0"
+checksum = "94331d54f1b1a8895cd81049f7eaaaef9d05a7dcb4d1fd08bf3ff0806246789d"
 dependencies = [
  "cc",
  "codespan-reporting",
@@ -1341,24 +1369,24 @@ dependencies = [
  "proc-macro2",
  "quote",
  "scratch",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "cxxbridge-flags"
-version = "1.0.85"
+version = "1.0.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59"
+checksum = "48dcd35ba14ca9b40d6e4b4b39961f23d835dbb8eed74565ded361d93e1feb8a"
 
 [[package]]
 name = "cxxbridge-macro"
-version = "1.0.85"
+version = "1.0.89"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6"
+checksum = "81bbeb29798b407ccd82a3324ade1a7286e0d29851475990b612670f6f5124d2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -1382,7 +1410,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "strsim",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -1393,7 +1421,7 @@ checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e"
 dependencies = [
  "darling_core",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -1419,7 +1447,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db"
 dependencies = [
  "data-encoding",
- "syn",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "dc-distance"
+version = "1.0.0"
+dependencies = [
+ "frame-support",
+ "log",
+ "pallet-distance",
+ "parity-scale-codec",
+ "sc-client-api",
+ "scale-info",
+ "sp-core",
+ "sp-distance",
+ "sp-keystore",
+ "sp-runtime",
+ "thiserror",
 ]
 
 [[package]]
@@ -1439,7 +1484,7 @@ checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -1450,7 +1495,7 @@ checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -1529,6 +1574,29 @@ dependencies = [
  "winapi 0.3.9",
 ]
 
+[[package]]
+name = "distance-oracle"
+version = "0.1.0"
+dependencies = [
+ "bincode",
+ "clap 4.1.4",
+ "dubp-wot",
+ "flate2",
+ "fnv",
+ "log",
+ "num-traits",
+ "parity-scale-codec",
+ "rayon",
+ "simple_logger",
+ "sp-core",
+ "sp-distance",
+ "sp-runtime",
+ "subxt",
+ "time 0.1.45",
+ "time-macros",
+ "tokio",
+]
+
 [[package]]
 name = "dns-parser"
 version = "0.8.0"
@@ -1557,18 +1625,33 @@ version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313"
 
+[[package]]
+name = "dubp-wot"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59f62bdc1abf2da65794c9fd7fe46f7328834a97a2346048d46b0b6676302de0"
+dependencies = [
+ "log",
+ "once_cell",
+ "parking_lot 0.11.2",
+ "rayon",
+ "serde",
+]
+
 [[package]]
 name = "duniter"
 version = "0.3.0"
 dependencies = [
  "async-io",
- "clap 4.0.30",
+ "clap 4.1.4",
  "clap_complete",
  "common-runtime",
+ "dc-distance",
+ "distance-oracle",
  "frame-benchmarking",
  "frame-benchmarking-cli",
  "frame-system",
- "futures 0.3.25",
+ "futures 0.3.26",
  "g1-runtime",
  "gdev-runtime",
  "gtest-runtime",
@@ -1613,6 +1696,7 @@ dependencies = [
  "sp-consensus",
  "sp-consensus-babe",
  "sp-core",
+ "sp-distance",
  "sp-finality-grandpa",
  "sp-inherents",
  "sp-io",
@@ -1641,7 +1725,8 @@ dependencies = [
  "clap 3.2.23",
  "ctrlc",
  "cucumber",
- "env_logger",
+ "distance-oracle",
+ "env_logger 0.9.3",
  "hex",
  "notify",
  "parity-scale-codec",
@@ -1693,7 +1778,7 @@ checksum = "558e40ea573c374cf53507fd240b7ee2f5477df7cfebdb97323ec61c719399c5"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -1716,9 +1801,9 @@ dependencies = [
 
 [[package]]
 name = "ed25519"
-version = "1.5.2"
+version = "1.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369"
+checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7"
 dependencies = [
  "signature",
 ]
@@ -1753,9 +1838,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
 
 [[package]]
 name = "elliptic-curve"
@@ -1783,9 +1868,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.31"
+version = "0.8.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
+checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
 dependencies = [
  "cfg-if 1.0.0",
 ]
@@ -1796,10 +1881,10 @@ version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116"
 dependencies = [
- "heck 0.4.0",
+ "heck 0.4.1",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -1815,6 +1900,19 @@ dependencies = [
  "termcolor",
 ]
 
+[[package]]
+name = "env_logger"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
 [[package]]
 name = "environmental"
 version = "1.1.4"
@@ -1864,7 +1962,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
 ]
 
 [[package]]
@@ -1885,7 +1983,7 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "synstructure",
 ]
 
@@ -1937,11 +2035,11 @@ checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90"
 
 [[package]]
 name = "file-per-thread-logger"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21e16290574b39ee41c71aeb90ae960c504ebaf1e2a1c87bd52aa56ed6e1a02f"
+checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866"
 dependencies = [
- "env_logger",
+ "env_logger 0.10.0",
  "log",
 ]
 
@@ -1953,18 +2051,18 @@ checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.2.16",
  "windows-sys 0.42.0",
 ]
 
 [[package]]
 name = "finality-grandpa"
-version = "0.16.0"
+version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b22349c6a11563a202d95772a68e0fcf56119e74ea8a2a19cf2301460fcd0df5"
+checksum = "e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34"
 dependencies = [
  "either",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "log",
  "num-traits",
@@ -2086,7 +2184,7 @@ dependencies = [
  "Inflector",
  "array-bytes",
  "chrono",
- "clap 4.0.30",
+ "clap 4.1.4",
  "comfy-table",
  "frame-benchmarking",
  "frame-support",
@@ -2201,7 +2299,7 @@ dependencies = [
  "itertools",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -2213,7 +2311,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -2223,7 +2321,7 @@ source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -2349,9 +2447,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
 
 [[package]]
 name = "futures"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
+checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2364,9 +2462,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
+checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -2374,15 +2472,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
+checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -2392,9 +2490,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
+checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531"
 
 [[package]]
 name = "futures-lite"
@@ -2413,13 +2511,13 @@ dependencies = [
 
 [[package]]
 name = "futures-macro"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
+checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -2435,15 +2533,15 @@ dependencies = [
 
 [[package]]
 name = "futures-sink"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
+checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
 
 [[package]]
 name = "futures-task"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
+checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
 
 [[package]]
 name = "futures-timer"
@@ -2453,9 +2551,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
 
 [[package]]
 name = "futures-util"
-version = "0.3.25"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
+checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
 dependencies = [
  "futures 0.1.31",
  "futures-channel",
@@ -2501,6 +2599,7 @@ dependencies = [
  "pallet-balances",
  "pallet-certification",
  "pallet-collective",
+ "pallet-distance",
  "pallet-duniter-account",
  "pallet-duniter-test-parameters",
  "pallet-duniter-wot",
@@ -2570,6 +2669,7 @@ dependencies = [
  "pallet-balances",
  "pallet-certification",
  "pallet-collective",
+ "pallet-distance",
  "pallet-duniter-account",
  "pallet-duniter-test-parameters",
  "pallet-duniter-wot",
@@ -2606,6 +2706,7 @@ dependencies = [
  "sp-consensus-slots",
  "sp-consensus-vrf",
  "sp-core",
+ "sp-distance",
  "sp-finality-grandpa",
  "sp-inherents",
  "sp-io",
@@ -2705,7 +2806,7 @@ dependencies = [
  "quote",
  "serde",
  "serde_json",
- "syn",
+ "syn 1.0.107",
  "textwrap 0.12.1",
  "thiserror",
  "typed-builder",
@@ -2719,7 +2820,7 @@ checksum = "41973d4c45f7a35af8753ba3457cc99d406d863941fd7f52663cff54a5ab99b3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -2735,15 +2836,15 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.27.0"
+version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793"
+checksum = "221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec"
 
 [[package]]
 name = "globset"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a"
+checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
 dependencies = [
  "aho-corasick",
  "bstr",
@@ -2765,9 +2866,9 @@ dependencies = [
 
 [[package]]
 name = "gloo-timers"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b"
+checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2819,7 +2920,7 @@ dependencies = [
  "quote",
  "serde",
  "serde_json",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -2830,7 +2931,7 @@ checksum = "e56b093bfda71de1da99758b036f4cc811fd2511c8a76f75680e9ffbd2bb4251"
 dependencies = [
  "graphql_client_codegen",
  "proc-macro2",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -2866,6 +2967,7 @@ dependencies = [
  "pallet-balances",
  "pallet-certification",
  "pallet-collective",
+ "pallet-distance",
  "pallet-duniter-account",
  "pallet-duniter-wot",
  "pallet-grandpa",
@@ -2982,9 +3084,9 @@ dependencies = [
 
 [[package]]
 name = "heck"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
@@ -3100,9 +3202,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "0.14.23"
+version = "0.14.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c"
+checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -3221,7 +3323,7 @@ dependencies = [
  "async-io",
  "core-foundation",
  "fnv",
- "futures 0.3.25",
+ "futures 0.3.26",
  "if-addrs",
  "ipnet",
  "log",
@@ -3232,11 +3334,10 @@ dependencies = [
 
 [[package]]
 name = "ignore"
-version = "0.4.18"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d"
+checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
 dependencies = [
- "crossbeam-utils",
  "globset",
  "lazy_static",
  "log",
@@ -3274,7 +3375,7 @@ checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -3350,12 +3451,12 @@ checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074"
 
 [[package]]
 name = "io-lifetimes"
-version = "1.0.3"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c"
+checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3"
 dependencies = [
  "libc",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -3387,9 +3488,9 @@ dependencies = [
 
 [[package]]
 name = "ipnet"
-version = "2.7.0"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11b0d96e660696543b251e58030cf9787df56da39dab19ad60eae7353040917e"
+checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146"
 
 [[package]]
 name = "is-terminal"
@@ -3398,8 +3499,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189"
 dependencies = [
  "hermit-abi 0.2.6",
- "io-lifetimes 1.0.3",
- "rustix 0.36.5",
+ "io-lifetimes 1.0.5",
+ "rustix 0.36.7",
  "windows-sys 0.42.0",
 ]
 
@@ -3429,9 +3530,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.60"
+version = "0.3.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -3606,7 +3707,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -3744,9 +3845,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
 name = "libc"
-version = "0.2.138"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
 
 [[package]]
 name = "libm"
@@ -3767,7 +3868,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec878fda12ebec479186b3914ebc48ff180fa4c51847e11a1a68bf65249e02c1"
 dependencies = [
  "bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "getrandom 0.2.8",
  "instant",
@@ -3805,7 +3906,7 @@ dependencies = [
  "ed25519-dalek",
  "either",
  "fnv",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "instant",
  "lazy_static",
@@ -3834,7 +3935,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2322c9fb40d99101def6a01612ee30500c89abbbecb6297b3cd252903a4c1720"
 dependencies = [
  "async-std-resolver",
- "futures 0.3.25",
+ "futures 0.3.26",
  "libp2p-core",
  "log",
  "parking_lot 0.12.1",
@@ -3849,7 +3950,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dcf9a121f699e8719bda2e6e9e9b6ddafc6cff4602471d6481c1067930ccb29b"
 dependencies = [
  "asynchronous-codec",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "libp2p-core",
  "libp2p-swarm",
@@ -3874,7 +3975,7 @@ dependencies = [
  "bytes",
  "either",
  "fnv",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "instant",
  "libp2p-core",
@@ -3900,7 +4001,7 @@ dependencies = [
  "async-io",
  "data-encoding",
  "dns-parser",
- "futures 0.3.25",
+ "futures 0.3.26",
  "if-watch",
  "libp2p-core",
  "libp2p-swarm",
@@ -3933,7 +4034,7 @@ checksum = "692664acfd98652de739a8acbb0a0d670f1d67190a49be6b4395e22c37337d89"
 dependencies = [
  "asynchronous-codec",
  "bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "libp2p-core",
  "log",
  "nohash-hasher",
@@ -3951,7 +4052,7 @@ checksum = "048155686bd81fe6cb5efdef0c6290f25ad32a0a42e8f4f72625cf6a505a206f"
 dependencies = [
  "bytes",
  "curve25519-dalek 3.2.0",
- "futures 0.3.25",
+ "futures 0.3.26",
  "lazy_static",
  "libp2p-core",
  "log",
@@ -3971,7 +4072,7 @@ version = "0.40.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7228b9318d34689521349a86eb39a3c3a802c9efc99a0568062ffb80913e3f91"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "instant",
  "libp2p-core",
@@ -3989,7 +4090,7 @@ checksum = "8827af16a017b65311a410bb626205a9ad92ec0473967618425039fa5231adc1"
 dependencies = [
  "async-trait",
  "bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "instant",
  "libp2p-core",
  "libp2p-swarm",
@@ -4007,7 +4108,7 @@ checksum = "46d13df7c37807965d82930c0e4b04a659efcb6cca237373b206043db5398ecf"
 dependencies = [
  "either",
  "fnv",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "instant",
  "libp2p-core",
@@ -4025,9 +4126,9 @@ version = "0.30.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a0eddc4497a8b5a506013c40e8189864f9c3a00db2b25671f428ae9007f3ba32"
 dependencies = [
- "heck 0.4.0",
+ "heck 0.4.1",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -4037,7 +4138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9839d96761491c6d3e238e70554b856956fca0ab60feb9de2cd08eed4473fa92"
 dependencies = [
  "async-io",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "if-watch",
  "libc",
@@ -4052,7 +4153,7 @@ version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a17b5b8e7a73e379e47b1b77f8a82c4721e97eca01abcd18e9cd91a23ca6ce97"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "js-sys",
  "libp2p-core",
  "parity-send-wrapper",
@@ -4067,7 +4168,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3758ae6f89b2531a24b6d9f5776bda6a626b60a57600d7185d43dfa75ca5ecc4"
 dependencies = [
  "either",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-rustls",
  "libp2p-core",
  "log",
@@ -4085,7 +4186,7 @@ version = "0.41.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0d6874d66543c4f7e26e3b8ca9a6bead351563a13ab4fafd43c7927f7c0d6c12"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "libp2p-core",
  "log",
  "parking_lot 0.12.1",
@@ -4100,7 +4201,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1"
 dependencies = [
  "arrayref",
- "base64",
+ "base64 0.13.1",
  "digest 0.9.0",
  "hmac-drbg",
  "libsecp256k1-core",
@@ -4148,6 +4249,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf"
 dependencies = [
  "cc",
+ "cmake",
+ "libc",
  "pkg-config",
  "vcpkg",
 ]
@@ -4200,9 +4303,9 @@ checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
 
 [[package]]
 name = "lock_api"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -4297,9 +4400,9 @@ dependencies = [
 
 [[package]]
 name = "matches"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
 
 [[package]]
 name = "matrixmultiply"
@@ -4322,7 +4425,7 @@ version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb"
 dependencies = [
- "rustix 0.36.5",
+ "rustix 0.36.7",
 ]
 
 [[package]]
@@ -4481,7 +4584,7 @@ dependencies = [
  "cfg-if 1.0.0",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -4532,15 +4635,15 @@ dependencies = [
 
 [[package]]
 name = "multihash-derive"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc076939022111618a5026d3be019fd8b366e76314538ff9a1b59ffbcbf98bcd"
+checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db"
 dependencies = [
  "proc-macro-crate",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "synstructure",
 ]
 
@@ -4557,7 +4660,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a"
 dependencies = [
  "bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "log",
  "pin-project",
  "smallvec",
@@ -4590,7 +4693,7 @@ checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -4659,9 +4762,9 @@ dependencies = [
 
 [[package]]
 name = "netlink-packet-utils"
-version = "0.5.1"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25af9cf0dc55498b7bd94a1508af7a78706aa0ab715a73c5169273e03c84845e"
+checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34"
 dependencies = [
  "anyhow",
  "byteorder",
@@ -4676,7 +4779,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6"
 dependencies = [
  "bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "log",
  "netlink-packet-core",
  "netlink-sys",
@@ -4686,13 +4789,13 @@ dependencies = [
 
 [[package]]
 name = "netlink-sys"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92b654097027250401127914afb37cb1f311df6610a9891ff07a757e94199027"
+checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b"
 dependencies = [
  "async-io",
  "bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "libc",
  "log",
 ]
@@ -4716,9 +4819,9 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.26.1"
+version = "0.26.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46a58d1d356c6597d08cde02c2f09d785b09e28711837b1ed667dc652c08a694"
+checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
 dependencies = [
  "bitflags",
  "cfg-if 1.0.0",
@@ -4740,9 +4843,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
 
 [[package]]
 name = "nom"
-version = "7.1.1"
+version = "7.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
 dependencies = [
  "memchr",
  "minimal-lexical",
@@ -4750,9 +4853,9 @@ dependencies = [
 
 [[package]]
 name = "nom_locate"
-version = "4.0.0"
+version = "4.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37794436ca3029a3089e0b95d42da1f0b565ad271e4d3bb4bad0c7bb70b10605"
+checksum = "b1e299bf5ea7b212e811e71174c5d1a5d065c4c0ad0c8691ecb1f97e3e66025e"
 dependencies = [
  "bytecount",
  "memchr",
@@ -4807,9 +4910,9 @@ dependencies = [
 
 [[package]]
 name = "num-complex"
-version = "0.4.2"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19"
+checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
 dependencies = [
  "num-traits",
 ]
@@ -4880,22 +4983,31 @@ dependencies = [
 
 [[package]]
 name = "num_enum"
-version = "0.5.7"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9"
+checksum = "8d829733185c1ca374f17e52b762f24f535ec625d2cc1f070e34c8a9068f341b"
 dependencies = [
  "num_enum_derive",
 ]
 
 [[package]]
 name = "num_enum_derive"
-version = "0.5.7"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce"
+checksum = "2be1598bf1c313dcdd12092e3f1920f463462525a21b7b4e11b4168353d0123e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "num_threads"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+dependencies = [
+ "libc",
 ]
 
 [[package]]
@@ -4912,20 +5024,20 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.30.0"
+version = "0.30.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "239da7f290cfa979f43f85a8efeee9a8a76d0827c356d37f9d3d7254d6b537fb"
+checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.16.0"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 dependencies = [
- "parking_lot_core 0.9.5",
+ "parking_lot_core 0.9.8",
 ]
 
 [[package]]
@@ -4963,7 +5075,7 @@ checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -5142,6 +5254,26 @@ dependencies = [
  "sp-std",
 ]
 
+[[package]]
+name = "pallet-distance"
+version = "1.0.0"
+dependencies = [
+ "frame-support",
+ "frame-system",
+ "pallet-authority-members",
+ "pallet-authorship",
+ "pallet-identity",
+ "pallet-membership",
+ "pallet-session",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-core",
+ "sp-distance",
+ "sp-inherents",
+ "sp-runtime",
+ "sp-std",
+]
+
 [[package]]
 name = "pallet-duniter-account"
 version = "3.0.0"
@@ -5186,7 +5318,7 @@ dependencies = [
  "num_enum",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -5197,6 +5329,7 @@ dependencies = [
  "frame-support",
  "frame-system",
  "pallet-certification",
+ "pallet-distance",
  "pallet-identity",
  "pallet-membership",
  "parity-scale-codec",
@@ -5608,9 +5741,9 @@ dependencies = [
 
 [[package]]
 name = "parity-scale-codec"
-version = "3.2.1"
+version = "3.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a"
+checksum = "c3840933452adf7b3b9145e27086a5a3376c619dca1a21b1e5a5af0d54979bed"
 dependencies = [
  "arrayvec 0.7.2",
  "bitvec",
@@ -5623,14 +5756,14 @@ dependencies = [
 
 [[package]]
 name = "parity-scale-codec-derive"
-version = "3.1.3"
+version = "3.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9299338969a3d2f491d65f140b00ddec470858402f888af98e8642fb5e8965cd"
+checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -5661,7 +5794,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2"
 dependencies = [
  "proc-macro2",
- "syn",
+ "syn 1.0.107",
  "synstructure",
 ]
 
@@ -5704,7 +5837,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.5",
+ "parking_lot_core 0.9.8",
 ]
 
 [[package]]
@@ -5716,22 +5849,22 @@ dependencies = [
  "cfg-if 1.0.0",
  "instant",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.2.16",
  "smallvec",
  "winapi 0.3.9",
 ]
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.5"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.3.5",
  "smallvec",
- "windows-sys 0.42.0",
+ "windows-targets 0.48.1",
 ]
 
 [[package]]
@@ -5793,9 +5926,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
 
 [[package]]
 name = "pest"
-version = "2.5.1"
+version = "2.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8bed3549e0f9b0a2a78bf7c0018237a2cdf085eecbbc048e52612438e4e9d0"
+checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f"
 dependencies = [
  "thiserror",
  "ucd-trie",
@@ -5803,9 +5936,9 @@ dependencies = [
 
 [[package]]
 name = "pest_derive"
-version = "2.5.1"
+version = "2.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdc078600d06ff90d4ed238f0119d84ab5d43dbaad278b0e33a8820293b32344"
+checksum = "8bf026e2d0581559db66d837fe5242320f525d85c76283c61f4d51a1238d65ea"
 dependencies = [
  "pest",
  "pest_generator",
@@ -5813,26 +5946,26 @@ dependencies = [
 
 [[package]]
 name = "pest_generator"
-version = "2.5.1"
+version = "2.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28a1af60b1c4148bb269006a750cff8e2ea36aff34d2d96cf7be0b14d1bed23c"
+checksum = "2b27bd18aa01d91c8ed2b61ea23406a676b42d82609c6e2581fba42f0c15f17f"
 dependencies = [
  "pest",
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "pest_meta"
-version = "2.5.1"
+version = "2.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fec8605d59fc2ae0c6c1aefc0c7c7a9769732017c0ce07f7a9cfffa7b4404f20"
+checksum = "9f02b677c1859756359fc9983c2e56a0237f18624a3789528804406b7e915e5d"
 dependencies = [
  "once_cell",
  "pest",
- "sha1",
+ "sha2 0.10.6",
 ]
 
 [[package]]
@@ -5862,7 +5995,7 @@ checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -5976,9 +6109,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "predicates"
-version = "2.1.4"
+version = "2.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f54fc5dc63ed3bbf19494623db4f3af16842c0d975818e469022d09e53f0aa05"
+checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd"
 dependencies = [
  "difflib",
  "float-cmp",
@@ -6006,12 +6139,12 @@ dependencies = [
 
 [[package]]
 name = "prettyplease"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c8992a85d8e93a28bdf76137db888d3874e3b230dee5ed8bebac4c9f7617773"
+checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78"
 dependencies = [
  "proc-macro2",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -6029,11 +6162,10 @@ dependencies = [
 
 [[package]]
 name = "proc-macro-crate"
-version = "1.2.1"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9"
+checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a"
 dependencies = [
- "once_cell",
  "thiserror",
  "toml",
 ]
@@ -6047,7 +6179,7 @@ dependencies = [
  "proc-macro-error-attr",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "version_check",
 ]
 
@@ -6064,9 +6196,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.49"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 dependencies = [
  "unicode-ident",
 ]
@@ -6105,14 +6237,14 @@ checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "prost"
-version = "0.11.5"
+version = "0.11.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c01db6702aa05baa3f57dec92b8eeeeb4cb19e894e73996b32a4093289e54592"
+checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698"
 dependencies = [
  "bytes",
  "prost-derive",
@@ -6120,12 +6252,12 @@ dependencies = [
 
 [[package]]
 name = "prost-build"
-version = "0.11.5"
+version = "0.11.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb5320c680de74ba083512704acb90fe00f28f79207286a848e730c45dd73ed6"
+checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e"
 dependencies = [
  "bytes",
- "heck 0.4.0",
+ "heck 0.4.1",
  "itertools",
  "lazy_static",
  "log",
@@ -6135,7 +6267,7 @@ dependencies = [
  "prost",
  "prost-types",
  "regex",
- "syn",
+ "syn 1.0.107",
  "tempfile",
  "which",
 ]
@@ -6155,22 +6287,22 @@ dependencies = [
 
 [[package]]
 name = "prost-derive"
-version = "0.11.5"
+version = "0.11.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8842bad1a5419bca14eac663ba798f6bc19c413c2fdceb5f3ba3b0932d96720"
+checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d"
 dependencies = [
  "anyhow",
  "itertools",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "prost-types"
-version = "0.11.5"
+version = "0.11.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "017f79637768cde62820bc2d4fe0e45daaa027755c323ad077767c6c5f173091"
+checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788"
 dependencies = [
  "bytes",
  "prost",
@@ -6204,9 +6336,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.23"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -6325,9 +6457,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
 
 [[package]]
 name = "rayon"
-version = "1.6.1"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7"
+checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
 dependencies = [
  "either",
  "rayon-core",
@@ -6335,9 +6467,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.10.1"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3"
+checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
 dependencies = [
  "crossbeam-channel",
  "crossbeam-deque",
@@ -6354,6 +6486,15 @@ dependencies = [
  "bitflags",
 ]
 
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags",
+]
+
 [[package]]
 name = "redox_users"
 version = "0.4.3"
@@ -6361,7 +6502,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
 dependencies = [
  "getrandom 0.2.8",
- "redox_syscall",
+ "redox_syscall 0.2.16",
  "thiserror",
 ]
 
@@ -6382,7 +6523,7 @@ checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -6399,9 +6540,9 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.7.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -6428,7 +6569,7 @@ name = "remote-externalities"
 version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "env_logger",
+ "env_logger 0.9.3",
  "log",
  "parity-scale-codec",
  "serde",
@@ -6451,11 +6592,11 @@ dependencies = [
 
 [[package]]
 name = "reqwest"
-version = "0.11.13"
+version = "0.11.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c"
+checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
 dependencies = [
- "base64",
+ "base64 0.21.0",
  "bytes",
  "encoding_rs",
  "futures-core",
@@ -6540,7 +6681,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0"
 dependencies = [
  "async-global-executor",
- "futures 0.3.25",
+ "futures 0.3.26",
  "log",
  "netlink-packet-route",
  "netlink-proto",
@@ -6610,13 +6751,13 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.36.5"
+version = "0.36.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588"
+checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03"
 dependencies = [
  "bitflags",
  "errno",
- "io-lifetimes 1.0.3",
+ "io-lifetimes 1.0.5",
  "libc",
  "linux-raw-sys 0.1.4",
  "windows-sys 0.42.0",
@@ -6624,9 +6765,9 @@ dependencies = [
 
 [[package]]
 name = "rustls"
-version = "0.20.7"
+version = "0.20.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c"
+checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
 dependencies = [
  "log",
  "ring",
@@ -6648,11 +6789,11 @@ dependencies = [
 
 [[package]]
 name = "rustls-pemfile"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55"
+checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
 dependencies = [
- "base64",
+ "base64 0.21.0",
 ]
 
 [[package]]
@@ -6679,7 +6820,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "pin-project",
  "static_assertions",
 ]
@@ -6715,7 +6856,7 @@ name = "sc-basic-authorship"
 version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "log",
  "parity-scale-codec",
@@ -6774,7 +6915,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -6784,9 +6925,9 @@ source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9
 dependencies = [
  "array-bytes",
  "chrono",
- "clap 4.0.30",
+ "clap 4.1.4",
  "fdlimit",
- "futures 0.3.25",
+ "futures 0.3.26",
  "libp2p",
  "log",
  "names",
@@ -6823,7 +6964,7 @@ version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "fnv",
- "futures 0.3.25",
+ "futures 0.3.26",
  "hash-db",
  "log",
  "parity-scale-codec",
@@ -6875,7 +7016,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "async-trait",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "libp2p",
  "log",
@@ -6899,7 +7040,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "async-trait",
- "futures 0.3.25",
+ "futures 0.3.26",
  "log",
  "parity-scale-codec",
  "sc-block-builder",
@@ -6929,7 +7070,7 @@ source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9
 dependencies = [
  "async-trait",
  "fork-tree",
- "futures 0.3.25",
+ "futures 0.3.26",
  "log",
  "merlin",
  "num-bigint 0.2.6",
@@ -6984,7 +7125,7 @@ source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9
 dependencies = [
  "assert_matches",
  "async-trait",
- "futures 0.3.25",
+ "futures 0.3.26",
  "jsonrpsee 0.15.1",
  "log",
  "parity-scale-codec",
@@ -7017,7 +7158,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "async-trait",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "log",
  "parity-scale-codec",
@@ -7135,7 +7276,7 @@ dependencies = [
  "dyn-clone",
  "finality-grandpa",
  "fork-tree",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "log",
  "parity-scale-codec",
@@ -7171,7 +7312,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "ansi_term",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "log",
  "parity-util-mem",
@@ -7211,7 +7352,7 @@ dependencies = [
  "either",
  "fnv",
  "fork-tree",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "ip_network",
  "libp2p",
@@ -7250,7 +7391,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "cid",
- "futures 0.3.25",
+ "futures 0.3.26",
  "libp2p",
  "log",
  "prost",
@@ -7272,7 +7413,7 @@ dependencies = [
  "async-trait",
  "bitflags",
  "bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "libp2p",
  "linked_hash_set",
@@ -7296,7 +7437,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "ahash",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "libp2p",
  "log",
@@ -7314,7 +7455,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "array-bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "libp2p",
  "log",
  "parity-scale-codec",
@@ -7336,7 +7477,7 @@ source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9
 dependencies = [
  "array-bytes",
  "fork-tree",
- "futures 0.3.25",
+ "futures 0.3.26",
  "libp2p",
  "log",
  "lru 0.7.8",
@@ -7365,7 +7506,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "array-bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "hex",
  "libp2p",
  "log",
@@ -7386,7 +7527,7 @@ dependencies = [
  "array-bytes",
  "bytes",
  "fnv",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "hyper",
  "hyper-rustls",
@@ -7413,7 +7554,7 @@ name = "sc-peerset"
 version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "libp2p",
  "log",
  "sc-utils",
@@ -7435,7 +7576,7 @@ name = "sc-rpc"
 version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "hash-db",
  "jsonrpsee 0.15.1",
  "log",
@@ -7465,7 +7606,7 @@ name = "sc-rpc-api"
 version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "jsonrpsee 0.15.1",
  "log",
  "parity-scale-codec",
@@ -7488,7 +7629,7 @@ name = "sc-rpc-server"
 version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "jsonrpsee 0.15.1",
  "log",
  "serde_json",
@@ -7501,7 +7642,7 @@ name = "sc-rpc-spec-v2"
 version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "hex",
  "jsonrpsee 0.15.1",
  "parity-scale-codec",
@@ -7523,7 +7664,7 @@ dependencies = [
  "async-trait",
  "directories",
  "exit-future",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "hash-db",
  "jsonrpsee 0.15.1",
@@ -7605,7 +7746,7 @@ name = "sc-sysinfo"
 version = "6.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "libc",
  "log",
  "rand 0.7.3",
@@ -7625,7 +7766,7 @@ version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "chrono",
- "futures 0.3.25",
+ "futures 0.3.26",
  "libp2p",
  "log",
  "parking_lot 0.12.1",
@@ -7676,7 +7817,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -7685,7 +7826,7 @@ version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "async-trait",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "linked-hash-map",
  "log",
@@ -7712,7 +7853,7 @@ version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "async-trait",
- "futures 0.3.25",
+ "futures 0.3.26",
  "log",
  "serde",
  "sp-blockchain",
@@ -7725,7 +7866,7 @@ name = "sc-utils"
 version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "lazy_static",
  "log",
@@ -7779,7 +7920,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -7801,12 +7942,11 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.20"
+version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
+checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
 dependencies = [
- "lazy_static",
- "windows-sys 0.36.1",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -7858,7 +7998,7 @@ dependencies = [
  "heck 0.3.3",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -7870,7 +8010,7 @@ dependencies = [
  "heck 0.3.3",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -7888,9 +8028,9 @@ dependencies = [
 
 [[package]]
 name = "secp256k1"
-version = "0.24.2"
+version = "0.24.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9512ffd81e3a3503ed401f79c33168b9148c75038956039166cd750eaa037c3"
+checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62"
 dependencies = [
  "secp256k1-sys",
 ]
@@ -7915,9 +8055,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework"
-version = "2.7.0"
+version = "2.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c"
+checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254"
 dependencies = [
  "bitflags",
  "core-foundation",
@@ -7928,9 +8068,9 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.6.1"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
+checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -7962,22 +8102,22 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "serde"
-version = "1.0.151"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.151"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -8025,17 +8165,6 @@ dependencies = [
  "opaque-debug 0.3.0",
 ]
 
-[[package]]
-name = "sha1"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
-dependencies = [
- "cfg-if 1.0.0",
- "cpufeatures",
- "digest 0.10.6",
-]
-
 [[package]]
 name = "sha2"
 version = "0.8.2"
@@ -8132,6 +8261,18 @@ dependencies = [
  "paste",
 ]
 
+[[package]]
+name = "simple_logger"
+version = "4.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2230cd5c29b815c9b699fb610b49a5ed65588f3509d9f0108be3a885da629333"
+dependencies = [
+ "colored",
+ "log",
+ "time 0.3.23",
+ "windows-sys 0.42.0",
+]
+
 [[package]]
 name = "slab"
 version = "0.4.7"
@@ -8161,14 +8302,14 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831"
 
 [[package]]
 name = "snow"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "774d05a3edae07ce6d68ea6984f3c05e9bba8927e3dd591e3b479e5b03213d0d"
+checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d"
 dependencies = [
  "aes-gcm",
  "blake2",
  "chacha20poly1305",
- "curve25519-dalek 4.0.0-pre.5",
+ "curve25519-dalek 4.0.0-rc.0",
  "rand_core 0.6.4",
  "ring",
  "rustc_version",
@@ -8192,10 +8333,10 @@ version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2"
 dependencies = [
- "base64",
+ "base64 0.13.1",
  "bytes",
  "flate2",
- "futures 0.3.25",
+ "futures 0.3.26",
  "httparse",
  "log",
  "rand 0.8.5",
@@ -8229,7 +8370,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -8302,7 +8443,7 @@ name = "sp-blockchain"
 version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "log",
  "lru 0.7.8",
  "parity-scale-codec",
@@ -8321,7 +8462,7 @@ version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "async-trait",
- "futures 0.3.25",
+ "futures 0.3.26",
  "futures-timer",
  "log",
  "parity-scale-codec",
@@ -8414,7 +8555,7 @@ dependencies = [
  "byteorder",
  "dyn-clonable",
  "ed25519-zebra",
- "futures 0.3.25",
+ "futures 0.3.26",
  "hash-db",
  "hash256-std-hasher",
  "impl-serde",
@@ -8470,7 +8611,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "sp-core-hashing",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -8489,7 +8630,22 @@ source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "sp-distance"
+version = "3.0.0"
+dependencies = [
+ "async-trait",
+ "frame-support",
+ "parity-scale-codec",
+ "scale-info",
+ "serde",
+ "sp-inherents",
+ "sp-runtime",
+ "sp-std",
+ "thiserror",
 ]
 
 [[package]]
@@ -8541,7 +8697,7 @@ version = "6.0.0"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "bytes",
- "futures 0.3.25",
+ "futures 0.3.26",
  "hash-db",
  "libsecp256k1",
  "log",
@@ -8578,7 +8734,7 @@ version = "0.12.0"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "async-trait",
- "futures 0.3.25",
+ "futures 0.3.26",
  "merlin",
  "parity-scale-codec",
  "parking_lot 0.12.1",
@@ -8690,7 +8846,7 @@ dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -8886,7 +9042,7 @@ dependencies = [
  "parity-scale-codec",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -8936,9 +9092,9 @@ dependencies = [
 
 [[package]]
 name = "ss58-registry"
-version = "1.36.0"
+version = "1.38.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23d92659e7d18d82b803824a9ba5a6022cff101c3491d027c1c1d8d30e749284"
+checksum = "e40c020d72bc0a9c5660bb71e4a6fdef081493583062c474740a7d59f55f0e7b"
 dependencies = [
  "Inflector",
  "num-format",
@@ -8986,7 +9142,7 @@ dependencies = [
  "memchr",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -9023,11 +9179,11 @@ version = "0.24.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
 dependencies = [
- "heck 0.4.0",
+ "heck 0.4.1",
  "proc-macro2",
  "quote",
  "rustversion",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -9057,7 +9213,7 @@ version = "4.0.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
  "frame-system-rpc-runtime-api",
- "futures 0.3.25",
+ "futures 0.3.26",
  "jsonrpsee 0.15.1",
  "log",
  "parity-scale-codec",
@@ -9129,7 +9285,7 @@ dependencies = [
  "bitvec",
  "derivative",
  "frame-metadata",
- "futures 0.3.25",
+ "futures 0.3.26",
  "getrandom 0.2.8",
  "hex",
  "jsonrpsee 0.16.2",
@@ -9155,7 +9311,7 @@ source = "git+https://github.com/duniter/subxt.git?branch=duniter-substrate-v0.9
 dependencies = [
  "darling",
  "frame-metadata",
- "heck 0.4.0",
+ "heck 0.4.1",
  "hex",
  "jsonrpsee 0.16.2",
  "parity-scale-codec",
@@ -9164,7 +9320,7 @@ dependencies = [
  "quote",
  "scale-info",
  "subxt-metadata",
- "syn",
+ "syn 1.0.107",
  "tokio",
 ]
 
@@ -9176,7 +9332,7 @@ dependencies = [
  "darling",
  "proc-macro-error",
  "subxt-codegen",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -9201,6 +9357,17 @@ dependencies = [
  "unicode-ident",
 ]
 
+[[package]]
+name = "syn"
+version = "2.0.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
 [[package]]
 name = "synstructure"
 version = "0.12.6"
@@ -9209,7 +9376,7 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "unicode-xid",
 ]
 
@@ -9219,7 +9386,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "033178d0acccffc5490021657006e6a8dd586ee9dc6f7c24e7608b125e568cb1"
 dependencies = [
- "syn",
+ "syn 1.0.107",
  "synthez-codegen",
  "synthez-core",
 ]
@@ -9230,7 +9397,7 @@ version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "69263462a40e46960f070618e20094ce69e783a41f86e54bc75545136afd597a"
 dependencies = [
- "syn",
+ "syn 1.0.107",
  "synthez-core",
 ]
 
@@ -9243,7 +9410,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "sealed 0.3.0",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -9288,16 +9455,16 @@ dependencies = [
  "cfg-if 1.0.0",
  "fastrand",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.2.16",
  "remove_dir_all",
  "winapi 0.3.9",
 ]
 
 [[package]]
 name = "tera"
-version = "1.17.0"
+version = "1.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d4685e72cb35f0eb74319c8fe2d3b61e93da5609841cde2cb87fcc3bea56d20"
+checksum = "3df578c295f9ec044ff1c829daf31bb7581d5b3c2a7a3d87419afe1f2531438c"
 dependencies = [
  "globwalk",
  "lazy_static",
@@ -9311,23 +9478,13 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.1.3"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
 dependencies = [
  "winapi-util",
 ]
 
-[[package]]
-name = "terminal_size"
-version = "0.1.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df"
-dependencies = [
- "libc",
- "winapi 0.3.9",
-]
-
 [[package]]
 name = "termtree"
 version = "0.4.0"
@@ -9366,7 +9523,7 @@ checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -9404,6 +9561,35 @@ dependencies = [
  "winapi 0.3.9",
 ]
 
+[[package]]
+name = "time"
+version = "0.3.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446"
+dependencies = [
+ "itoa",
+ "libc",
+ "num_threads",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+
+[[package]]
+name = "time-macros"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4"
+dependencies = [
+ "time-core",
+]
+
 [[package]]
 name = "tiny-bip39"
 version = "0.8.2"
@@ -9434,15 +9620,15 @@ dependencies = [
 
 [[package]]
 name = "tinyvec_macros"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.23.0"
+version = "1.26.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46"
+checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64"
 dependencies = [
  "autocfg",
  "bytes",
@@ -9455,7 +9641,7 @@ dependencies = [
  "signal-hook-registry",
  "socket2",
  "tokio-macros",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
 ]
 
 [[package]]
@@ -9466,7 +9652,7 @@ checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -9518,9 +9704,9 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.5.10"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
 dependencies = [
  "serde",
 ]
@@ -9551,7 +9737,7 @@ checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -9685,16 +9871,16 @@ dependencies = [
 
 [[package]]
 name = "try-lock"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
 
 [[package]]
 name = "try-runtime-cli"
 version = "0.10.0-dev"
 source = "git+https://github.com/duniter/substrate?branch=duniter-substrate-v0.9.32#7f8b8db65b441ce1d1b2ffb26ebde314b54e117c"
 dependencies = [
- "clap 4.0.30",
+ "clap 4.1.4",
  "frame-try-runtime",
  "log",
  "parity-scale-codec",
@@ -9742,7 +9928,7 @@ checksum = "f85f4270f4f449a3f2c0cf2aecc8415e388a597aeacc7d55fc749c5c968c8533"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -9830,9 +10016,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.8"
+version = "0.3.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
 
 [[package]]
 name = "unicode-ident"
@@ -9851,9 +10037,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.10.0"
+version = "1.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
 name = "unicode-width"
@@ -10012,9 +10198,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.83"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
 dependencies = [
  "cfg-if 1.0.0",
  "wasm-bindgen-macro",
@@ -10022,24 +10208,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.83"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.33"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d"
+checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -10049,9 +10235,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.83"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -10059,22 +10245,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.83"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.83"
+version = "0.2.84"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
 
 [[package]]
 name = "wasm-gc-api"
@@ -10102,7 +10288,7 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "js-sys",
  "parking_lot 0.11.2",
  "pin-utils",
@@ -10197,7 +10383,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bcd849399d17d2270141cfe47fa0d91ee52d5f8ea9b98cf7ddde0d53e5f79882"
 dependencies = [
  "anyhow",
- "base64",
+ "base64 0.13.1",
  "bincode",
  "directories-next",
  "file-per-thread-logger",
@@ -10325,9 +10511,9 @@ dependencies = [
 
 [[package]]
 name = "web-sys"
-version = "0.3.60"
+version = "0.3.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -10363,9 +10549,9 @@ dependencies = [
 
 [[package]]
 name = "which"
-version = "4.3.0"
+version = "4.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b"
+checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
 dependencies = [
  "either",
  "libc",
@@ -10453,20 +10639,74 @@ version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
 dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc 0.42.0",
- "windows_i686_gnu 0.42.0",
- "windows_i686_msvc 0.42.0",
- "windows_x86_64_gnu 0.42.0",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc 0.42.0",
+ "windows_aarch64_gnullvm 0.42.1",
+ "windows_aarch64_msvc 0.42.1",
+ "windows_i686_gnu 0.42.1",
+ "windows_i686_msvc 0.42.1",
+ "windows_x86_64_gnu 0.42.1",
+ "windows_x86_64_gnullvm 0.42.1",
+ "windows_x86_64_msvc 0.42.1",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.1",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.1",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.1",
+ "windows_aarch64_msvc 0.42.1",
+ "windows_i686_gnu 0.42.1",
+ "windows_i686_msvc 0.42.1",
+ "windows_x86_64_gnu 0.42.1",
+ "windows_x86_64_gnullvm 0.42.1",
+ "windows_x86_64_msvc 0.42.1",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
 ]
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.42.0"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -10482,9 +10722,15 @@ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.42.0"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -10500,9 +10746,15 @@ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.0"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -10518,9 +10770,15 @@ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.42.0"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -10536,15 +10794,27 @@ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.42.0"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.0"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -10560,9 +10830,15 @@ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.0"
+version = "0.42.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
 
 [[package]]
 name = "winreg"
@@ -10608,7 +10884,7 @@ name = "xtask"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "clap 4.0.30",
+ "clap 4.1.4",
  "frame-metadata",
  "graphql_client",
  "hex",
@@ -10632,7 +10908,7 @@ version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5"
 dependencies = [
- "futures 0.3.25",
+ "futures 0.3.26",
  "log",
  "nohash-hasher",
  "parking_lot 0.12.1",
@@ -10663,7 +10939,7 @@ checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "synstructure",
 ]
 
@@ -10688,10 +10964,11 @@ dependencies = [
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.4+zstd.1.5.2"
+version = "2.0.6+zstd.1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fa202f2ef00074143e219d15b62ffc317d17cc33909feac471c044087cad7b0"
+checksum = "68a3f9792c0c3dc6c165840a75f47ae1f4da402c2d006881129579f6597e801b"
 dependencies = [
  "cc",
  "libc",
+ "pkg-config",
 ]
diff --git a/Cargo.toml b/Cargo.toml
index 0896f98b8..16f852337 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -32,10 +32,10 @@ runtime-benchmarks = [
     'sc-client-db/runtime-benchmarks',
 ]
 try-runtime = [
-	#"g1-runtime/try-runtime",
-	"gdev-runtime/try-runtime",
-	#"gtest-runtime/try-runtime",
-	"try-runtime-cli"
+    #"g1-runtime/try-runtime",
+    "gdev-runtime/try-runtime",
+    #"gtest-runtime/try-runtime",
+    "try-runtime-cli",
 ]
 
 [build-dependencies]
@@ -48,19 +48,28 @@ rusty-hook = "^0.11.2"
 
 # Dependencies for specific targets
 [target.'cfg(any(target_arch="x86_64", target_arch="aarch64"))'.dependencies]
-sc-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false, features = ["wasmtime"] }
-sc-service = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false, features = ["wasmtime"] }
-sp-trie = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", features = ["memory-tracker"] }
+sc-cli = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false, features = [
+    "wasmtime",
+] }
+sc-service = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", default-features = false, features = [
+    "wasmtime",
+] }
+sp-trie = { git = "https://github.com/duniter/substrate", branch = "duniter-substrate-v0.9.32", features = [
+    "memory-tracker",
+] }
 
 
 [dependencies]
 # local dependencies
 common-runtime = { path = 'runtime/common' }
+dc-distance = { path = 'client/distance' }
+distance-oracle = { path = 'distance-oracle', optional = true }
 g1-runtime = { path = 'runtime/g1', optional = true }
 gdev-runtime = { path = 'runtime/gdev', optional = true }
 gtest-runtime = { path = 'runtime/gtest', optional = true }
 pallet-certification = { path = 'pallets/certification' }
 pallet-oneshot-account = { path = 'pallets/oneshot-account' }
+sp-distance = { path = 'primitives/distance' }
 sp-membership = { path = 'primitives/membership' }
 
 # crates.io dependencies
@@ -131,9 +140,12 @@ try-runtime-cli = { git = "https://github.com/duniter/substrate", branch = "duni
 resolver = "2"
 
 members = [
+    'client/distance',
+    'distance-oracle',
     'end2end-tests',
     'live-tests',
     'pallets/certification',
+    'pallets/distance',
     'pallets/duniter-test-parameters',
     'pallets/duniter-test-parameters/macro',
     'pallets/duniter-wot',
@@ -144,6 +156,7 @@ members = [
     'pallets/universal-dividend',
     'pallets/upgrade-origin',
     'primitives/membership',
+    'primitives/distance',
     'runtime/common',
     'runtime/gdev',
     'xtask',
diff --git a/client/distance/Cargo.toml b/client/distance/Cargo.toml
new file mode 100644
index 000000000..27f16c31e
--- /dev/null
+++ b/client/distance/Cargo.toml
@@ -0,0 +1,51 @@
+[package]
+authors = ['tuxmain <tuxmain@zettascript.org>']
+description = 'Duniter client distance'
+edition = '2021'
+homepage = 'https://duniter.org'
+license = 'AGPL-3.0'
+name = 'dc-distance'
+readme = 'README.md'
+repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
+version = '1.0.0'
+
+[dependencies]
+
+pallet-distance = { path = "../../pallets/distance" }
+sp-distance = { path = "../../primitives/distance" }
+
+log = "0.4"
+thiserror = "1.0.30"
+
+# substrate
+scale-info = { version = "2.1.1", features = ["derive"] }
+
+[dependencies.codec]
+features = ['derive']
+package = 'parity-scale-codec'
+version = '3.1.5'
+
+[dependencies.frame-support]
+git = 'https://github.com/duniter/substrate'
+branch = 'duniter-substrate-v0.9.32'
+
+[dependencies.sc-client-api]
+git = 'https://github.com/duniter/substrate'
+branch = 'duniter-substrate-v0.9.32'
+
+[dependencies.sp-core]
+git = 'https://github.com/duniter/substrate'
+branch = 'duniter-substrate-v0.9.32'
+
+[dependencies.sp-keystore]
+git = 'https://github.com/duniter/substrate'
+branch = 'duniter-substrate-v0.9.32'
+
+[dependencies.sp-runtime]
+git = 'https://github.com/duniter/substrate'
+branch = 'duniter-substrate-v0.9.32'
+
+### DOC ###
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
diff --git a/client/distance/src/lib.rs b/client/distance/src/lib.rs
new file mode 100644
index 000000000..ea3451010
--- /dev/null
+++ b/client/distance/src/lib.rs
@@ -0,0 +1,107 @@
+// Copyright 2022 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/>.
+
+use codec::{Decode, Encode};
+use frame_support::pallet_prelude::*;
+use sc_client_api::{ProvideUncles, StorageKey, StorageProvider};
+use scale_info::TypeInfo;
+use sp_runtime::{generic::BlockId, traits::Block as BlockT, AccountId32};
+use std::path::PathBuf;
+
+type IdtyIndex = u32;
+
+#[derive(Debug, thiserror::Error)]
+pub enum Error<B: BlockT> {
+    #[error("Could not retrieve the block hash for block id: {0:?}")]
+    NoHashForBlockId(BlockId<B>),
+}
+
+/// Create a new [`sp_distance::InherentDataProvider`] at the given block.
+pub fn create_distance_inherent_data_provider<B, C, Backend>(
+    client: &C,
+    parent: B::Hash,
+    distance_dir: PathBuf,
+    owner_keys: &[sp_core::sr25519::Public],
+) -> Result<sp_distance::InherentDataProvider<IdtyIndex>, sc_client_api::blockchain::Error>
+where
+    B: BlockT,
+    C: ProvideUncles<B> + StorageProvider<B, Backend>,
+    Backend: sc_client_api::Backend<B>,
+    IdtyIndex: Decode + Encode + PartialEq + TypeInfo,
+{
+    let &[owner_key] = owner_keys else {
+        return Ok(sp_distance::InherentDataProvider::<IdtyIndex>::new(
+            None
+        ))
+    };
+    let owner_key = sp_runtime::AccountId32::new(owner_key.0);
+
+    let session_index = client
+        .storage(
+            &parent,
+            &StorageKey(
+                frame_support::storage::storage_prefix(b"Session", b"CurrentIndex").to_vec(),
+            ),
+        )
+        .expect("CurrentIndex is Err")
+        .map_or(0, |raw| {
+            u32::decode(&mut &raw.0[..]).expect("cannot decode CurrentIndex")
+        });
+
+    let published_results = client
+        .storage(
+            &parent,
+            &StorageKey(
+                frame_support::storage::storage_prefix(
+                    b"Distance",
+                    match session_index % 3 {
+                        0 => b"StoragePublishedResults1",
+                        1 => b"StoragePublishedResults2",
+                        2 => b"StoragePublishedResults0",
+                        _ => unreachable!("n%3<3"),
+                    },
+                )
+                .to_vec(),
+            ),
+        )?
+        .map_or_else(Default::default, |raw| {
+            pallet_distance::EvaluationPool::<AccountId32, IdtyIndex>::decode(&mut &raw.0[..])
+                .expect("cannot decode EvaluationPool")
+        });
+
+    // Have we already published a result for this session?
+    if published_results.evaluators.contains(&owner_key) {
+        return Ok(sp_distance::InherentDataProvider::<IdtyIndex>::new(None));
+    }
+
+    // Read evaluation result from file, if it exists
+    let evaluation_result = match std::fs::read(distance_dir.join(session_index.to_string())) {
+        Ok(data) => data,
+        Err(e) => {
+            match e.kind() {
+                std::io::ErrorKind::NotFound => {}
+                _ => {
+                    log::error!("Cannot read distance evaluation result file: {e:?}");
+                }
+            }
+            return Ok(sp_distance::InherentDataProvider::<IdtyIndex>::new(None));
+        }
+    };
+
+    Ok(sp_distance::InherentDataProvider::<IdtyIndex>::new(Some(
+        sp_distance::ComputationResult::decode(&mut evaluation_result.as_slice()).unwrap(),
+    )))
+}
diff --git a/distance-oracle/Cargo.toml b/distance-oracle/Cargo.toml
new file mode 100644
index 000000000..60240d9f2
--- /dev/null
+++ b/distance-oracle/Cargo.toml
@@ -0,0 +1,44 @@
+[package]
+name = "distance-oracle"
+version = "0.1.0"
+authors = ["tuxmain <tuxmain@zettascript.org>"]
+repository = "https://git.duniter.org/nodes/rust/duniter-v2s"
+license = "AGPL-3.0-only"
+edition = "2021"
+
+[dependencies]
+sp-distance = { path = "../primitives/distance" }
+
+codec = { package = "parity-scale-codec", version = "3.1.5" }
+fnv = "1.0.7"
+log = "0.4.17"
+num-traits = "0.2.15"
+rayon = "1.7.0"
+simple_logger = "4.2.0"
+sp-core = { git = "https://github.com/duniter/substrate.git", branch = "duniter-substrate-v0.9.32" }
+sp-runtime = { git = "https://github.com/duniter/substrate.git", branch = "duniter-substrate-v0.9.32" }
+subxt = { git = 'https://github.com/duniter/subxt.git', branch = "duniter-substrate-v0.9.32" }
+time = "<=0.3.23"# required for MSRV
+time-macros = "=0.2.10"
+
+# standalone only
+clap = { version = "4.0", features = ["derive"], optional = true }
+tokio = { version = "1.15.0", features = [
+	"rt-multi-thread",
+	"macros",
+], optional = true }
+
+[dev-dependencies]
+bincode = "1.3.3"
+dubp-wot = "0.11.1"
+flate2 = { version = "1.0", features = [
+	"zlib-ng-compat",
+], default-features = false }
+
+[features]
+default = ["standalone"]
+standalone = ["clap", "tokio"]
+
+[[bin]]
+name = "distance-oracle"
+required-features = ["standalone"]
diff --git a/distance-oracle/README.md b/distance-oracle/README.md
new file mode 100644
index 000000000..5a4233827
--- /dev/null
+++ b/distance-oracle/README.md
@@ -0,0 +1,20 @@
+# Distance oracle
+
+> for explanation about the Duniter web of trust, see https://duniter.org/wiki/web-of-trust/deep-dive-wot/
+
+Distance computation on the Duniter web of trust is an expensive operation that should not be included in the runtime for multiple reasons:
+
+- it could exceed the time available for a block computation
+- it takes a lot of resource from the host machine
+- the result is not critical to the operation of Äž1
+
+It is then separated into an other program that the user (a duniter smith) can choose to run or not. This program publishes its result in a inherent and the network selects the median of the results given by the smith who published some.
+
+## Structure
+
+This feature is organized in multiple parts:
+
+- **/distance-oracle/** (here): binary executing the distance algorithm
+- **/primitives/distance/**: primitive types used both by client and runtime
+- **/client/distance/**: exposes the `create_distance_inherent_data_provider` which provides data to the runtime
+- **/pallets/distance/**: distance pallet exposing type, traits, storage/calls/hooks executing in the runtime
\ No newline at end of file
diff --git a/distance-oracle/src/api.rs b/distance-oracle/src/api.rs
new file mode 100644
index 000000000..ee5ce2587
--- /dev/null
+++ b/distance-oracle/src/api.rs
@@ -0,0 +1,155 @@
+// Copyright 2023 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+use crate::runtime;
+
+use sp_core::H256;
+use subxt::storage::StorageKey;
+
+pub type Client = subxt::OnlineClient<crate::RuntimeConfig>;
+pub type AccountId = subxt::ext::sp_runtime::AccountId32;
+pub type IdtyIndex = u32;
+
+pub async fn client(rpc_url: String) -> Client {
+    Client::from_url(rpc_url)
+        .await
+        .expect("Cannot create RPC client")
+}
+
+pub async fn parent_hash(client: &Client) -> H256 {
+    client
+        .storage()
+        .fetch(&runtime::storage().system().parent_hash(), None)
+        .await
+        .expect("Cannot fetch parent hash")
+        .expect("Parent hash is None")
+}
+
+pub async fn current_session(client: &Client, parent_hash: H256) -> u32 {
+    client
+        .storage()
+        .fetch(
+            &runtime::storage().session().current_index(),
+            Some(parent_hash),
+        )
+        .await
+        .expect("Cannot fetch current session")
+        .unwrap_or_default()
+}
+
+pub async fn current_pool(
+    client: &Client,
+    parent_hash: H256,
+    current_session: u32,
+) -> Option<runtime::runtime_types::pallet_distance::types::EvaluationPool<AccountId, IdtyIndex>> {
+    client
+        .storage()
+        .fetch(
+            &match current_session % 3 {
+                0 => runtime::storage().distance().evaluation_pool1(),
+                1 => runtime::storage().distance().evaluation_pool2(),
+                2 => runtime::storage().distance().evaluation_pool0(),
+                _ => unreachable!("n%3<3"),
+            },
+            Some(parent_hash),
+        )
+        .await
+        .expect("Cannot fetch current pool")
+}
+
+pub async fn evaluation_block(client: &Client, parent_hash: H256) -> H256 {
+    client
+        .storage()
+        .fetch(
+            &runtime::storage().distance().evaluation_block(),
+            Some(parent_hash),
+        )
+        .await
+        .expect("Cannot fetch evaluation block")
+        .expect("No evaluation block")
+}
+
+pub async fn member_iter(client: &Client, evaluation_block: H256) -> MemberIter {
+    MemberIter(
+        client
+            .storage()
+            .iter(
+                runtime::storage().membership().membership(0),
+                100,
+                Some(evaluation_block),
+            )
+            .await
+            .expect("Cannot fetch memberships"),
+    )
+}
+
+pub struct MemberIter(
+    subxt::storage::KeyIter<
+        crate::RuntimeConfig,
+        Client,
+        subxt::metadata::DecodeStaticType<
+            runtime::runtime_types::sp_membership::MembershipData<u32>,
+        >,
+    >,
+);
+
+impl MemberIter {
+    pub async fn next(&mut self) -> Result<Option<IdtyIndex>, subxt::error::Error> {
+        Ok(self
+            .0
+            .next()
+            .await?
+            .map(|(storage_key, _membership_data)| idty_id_from_storage_key(&storage_key)))
+    }
+}
+
+pub async fn cert_iter(client: &Client, evaluation_block: H256) -> CertIter {
+    CertIter(
+        client
+            .storage()
+            .iter(
+                runtime::storage().cert().certs_by_receiver(0),
+                100,
+                Some(evaluation_block),
+            )
+            .await
+            .expect("Cannot fetch certifications"),
+    )
+}
+
+pub struct CertIter(
+    subxt::storage::KeyIter<
+        crate::RuntimeConfig,
+        Client,
+        subxt::metadata::DecodeStaticType<Vec<(IdtyIndex, u32)>>,
+    >,
+);
+
+impl CertIter {
+    pub async fn next(
+        &mut self,
+    ) -> Result<Option<(IdtyIndex, Vec<(IdtyIndex, u32)>)>, subxt::error::Error> {
+        Ok(self
+            .0
+            .next()
+            .await?
+            .map(|(storage_key, issuers)| (idty_id_from_storage_key(&storage_key), issuers)))
+    }
+}
+
+fn idty_id_from_storage_key(storage_key: &StorageKey) -> IdtyIndex {
+    u32::from_le_bytes(storage_key.as_ref()[40..44].try_into().unwrap())
+}
diff --git a/distance-oracle/src/lib.rs b/distance-oracle/src/lib.rs
new file mode 100644
index 000000000..be8b8432e
--- /dev/null
+++ b/distance-oracle/src/lib.rs
@@ -0,0 +1,313 @@
+// Copyright 2023 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+#[cfg(not(test))]
+pub mod api;
+#[cfg(test)]
+pub mod mock;
+#[cfg(test)]
+mod tests;
+
+#[cfg(test)]
+pub use mock as api;
+
+use api::{AccountId, IdtyIndex};
+
+use codec::Encode;
+use fnv::{FnvHashMap, FnvHashSet};
+use log::{debug, error, warn};
+use rayon::iter::IntoParallelRefIterator;
+use rayon::iter::ParallelIterator;
+use std::io::Write;
+use std::path::PathBuf;
+
+// TODO select metadata file using features
+#[subxt::subxt(runtime_metadata_path = "../resources/metadata.scale")]
+pub mod runtime {}
+
+pub enum RuntimeConfig {}
+impl subxt::config::Config for RuntimeConfig {
+    type Index = u32;
+    type BlockNumber = u32;
+    type Hash = sp_core::H256;
+    type Hashing = subxt::ext::sp_runtime::traits::BlakeTwo256;
+    type AccountId = AccountId;
+    type Address = subxt::ext::sp_runtime::MultiAddress<Self::AccountId, u32>;
+    type Header = subxt::ext::sp_runtime::generic::Header<
+        Self::BlockNumber,
+        subxt::ext::sp_runtime::traits::BlakeTwo256,
+    >;
+    type Signature = subxt::ext::sp_runtime::MultiSignature;
+    type ExtrinsicParams = subxt::tx::BaseExtrinsicParams<Self, Tip>;
+}
+
+#[derive(Copy, Clone, Debug, Default, Encode)]
+pub struct Tip {
+    #[codec(compact)]
+    tip: u64,
+}
+
+impl Tip {
+    pub fn new(amount: u64) -> Self {
+        Tip { tip: amount }
+    }
+}
+
+impl From<u64> for Tip {
+    fn from(n: u64) -> Self {
+        Self::new(n)
+    }
+}
+
+pub struct Settings {
+    pub evaluation_result_dir: PathBuf,
+    pub max_depth: u32,
+    pub rpc_url: String,
+}
+
+impl Default for Settings {
+    fn default() -> Self {
+        Self {
+            evaluation_result_dir: PathBuf::from("/tmp/duniter/chains/gdev/distance"),
+            max_depth: 5,
+            rpc_url: String::from("ws://127.0.0.1:9944"),
+        }
+    }
+}
+
+pub async fn run_and_save(client: &api::Client, settings: Settings) {
+    let Some((evaluation, current_session, evaluation_result_path)) = run(client, &settings, true).await else {return};
+
+    let mut evaluation_result_file = std::fs::OpenOptions::new()
+        .write(true)
+        .create_new(true)
+        .open(&evaluation_result_path)
+        .unwrap_or_else(|e| {
+            panic!(
+                "Cannot open distance evaluation result file `{evaluation_result_path:?}`: {e:?}"
+            )
+        });
+    evaluation_result_file
+        .write_all(
+            &sp_distance::ComputationResult {
+                distances: evaluation,
+            }
+            .encode(),
+        )
+        .unwrap_or_else(|e| {
+            panic!(
+                "Cannot write distance evaluation result to file `{evaluation_result_path:?}`: {e:?}"
+            )
+        });
+
+    // Remove old results
+    let mut files_to_remove = Vec::new();
+    for entry in settings
+        .evaluation_result_dir
+        .read_dir()
+        .unwrap_or_else(|e| {
+            panic!(
+                "Cannot read distance evaluation result directory `{0:?}`: {e:?}",
+                settings.evaluation_result_dir
+            )
+        })
+        .flatten()
+    {
+        if let Ok(entry_name) = entry.file_name().into_string() {
+            if let Ok(entry_session) = entry_name.parse::<isize>() {
+                if current_session as isize - entry_session > 3 {
+                    files_to_remove.push(entry.path());
+                }
+            }
+        }
+    }
+    files_to_remove.into_iter().for_each(|f| {
+        std::fs::remove_file(&f)
+            .unwrap_or_else(move |e| warn!("Cannot remove old result file `{f:?}`: {e:?}"));
+    });
+}
+
+/// Returns `Option<(evaluation, current_session, evaluation_result_path)>`
+pub async fn run(
+    client: &api::Client,
+    settings: &Settings,
+    handle_fs: bool,
+) -> Option<(Vec<sp_runtime::Perbill>, u32, PathBuf)> {
+    let parent_hash = api::parent_hash(client).await;
+
+    let current_session = api::current_session(client, parent_hash).await;
+
+    // Fetch the pending identities
+    let Some(evaluation_pool) = api::current_pool(client, parent_hash, current_session).await
+         else {
+            debug!("Nothing to do: Pool does not exist");
+            return None
+        };
+
+    // Stop if nothing to evaluate
+    if evaluation_pool.evaluations.0.is_empty() {
+        debug!("Nothing to do: Pool is empty");
+        return None;
+    }
+
+    let evaluation_result_path = settings
+        .evaluation_result_dir
+        .join((current_session + 1).to_string());
+
+    if handle_fs {
+        // Stop if already evaluated
+        if evaluation_result_path.try_exists().unwrap() {
+            debug!("Nothing to do: File already exists");
+            return None;
+        }
+
+        std::fs::create_dir_all(&settings.evaluation_result_dir).unwrap_or_else(|e| {
+            error!(
+                "Cannot create distance evaluation result directory `{0:?}`: {e:?}",
+                settings.evaluation_result_dir
+            );
+        });
+    }
+
+    let evaluation_block = api::evaluation_block(client, parent_hash).await;
+
+    // member idty -> issued certs
+    let mut members = FnvHashMap::<IdtyIndex, u32>::default();
+
+    let mut members_iter = api::member_iter(client, evaluation_block).await;
+    while let Some(member_idty) = members_iter.next().await.unwrap() {
+        members.insert(member_idty, 0);
+    }
+
+    let min_certs_for_referee = (members.len() as f32)
+        .powf(1. / (settings.max_depth as f32))
+        .ceil() as u32;
+
+    // idty -> received certs
+    let mut received_certs = FnvHashMap::<IdtyIndex, Vec<IdtyIndex>>::default();
+
+    let mut certs_iter = api::cert_iter(client, evaluation_block).await;
+    while let Some((receiver, issuers)) = certs_iter
+        .next()
+        .await
+        .expect("Cannot fetch next certification")
+    {
+        if (issuers.len() as u32) < min_certs_for_referee {
+            // This member is not referee
+            members.remove(&receiver);
+        }
+        for (issuer, _removable_on) in issuers.iter() {
+            if let Some(issued_certs) = members.get_mut(issuer) {
+                *issued_certs += 1;
+            }
+        }
+        received_certs.insert(
+            receiver,
+            issuers
+                .into_iter()
+                .map(|(issuer, _removable_on)| issuer)
+                .collect(),
+        );
+    }
+
+    // Only retain referees
+    members.retain(|_idty, issued_certs| *issued_certs >= min_certs_for_referee);
+    let referees = members;
+
+    let evaluation = evaluation_pool
+        .evaluations
+        .0
+        .as_slice()
+        .par_iter()
+        .map(|(idty, _)| distance_rule(&received_certs, &referees, settings.max_depth, *idty))
+        .collect();
+
+    Some((evaluation, current_session, evaluation_result_path))
+}
+
+fn distance_rule_recursive(
+    received_certs: &FnvHashMap<IdtyIndex, Vec<IdtyIndex>>,
+    referees: &FnvHashMap<IdtyIndex, u32>,
+    idty: IdtyIndex,
+    accessible_referees: &mut FnvHashSet<IdtyIndex>,
+    known_idties: &mut FnvHashMap<IdtyIndex, u32>,
+    depth: u32,
+) {
+    // Do not re-explore identities that have already been explored at least as deeply
+    match known_idties.entry(idty) {
+        std::collections::hash_map::Entry::Occupied(mut entry) => {
+            if *entry.get() >= depth {
+                return;
+            } else {
+                *entry.get_mut() = depth;
+            }
+        }
+        std::collections::hash_map::Entry::Vacant(entry) => {
+            entry.insert(depth);
+        }
+    }
+
+    // If referee, add it to the list
+    if referees.contains_key(&idty) {
+        accessible_referees.insert(idty);
+    }
+
+    // If reached the maximum distance, stop exploring
+    if depth == 0 {
+        return;
+    }
+
+    // Explore certifiers
+    for &certifier in received_certs.get(&idty).unwrap_or(&vec![]).iter() {
+        distance_rule_recursive(
+            received_certs,
+            referees,
+            certifier,
+            accessible_referees,
+            known_idties,
+            depth - 1,
+        );
+    }
+}
+
+/// Returns the fraction `nb_accessible_referees / nb_referees`
+fn distance_rule(
+    received_certs: &FnvHashMap<IdtyIndex, Vec<IdtyIndex>>,
+    referees: &FnvHashMap<IdtyIndex, u32>,
+    depth: u32,
+    idty: IdtyIndex,
+) -> sp_runtime::Perbill {
+    let mut accessible_referees =
+        FnvHashSet::<IdtyIndex>::with_capacity_and_hasher(referees.len(), Default::default());
+    let mut known_idties =
+        FnvHashMap::<IdtyIndex, u32>::with_capacity_and_hasher(referees.len(), Default::default());
+    distance_rule_recursive(
+        received_certs,
+        referees,
+        idty,
+        &mut accessible_referees,
+        &mut known_idties,
+        depth,
+    );
+    if referees.contains_key(&idty) {
+        sp_runtime::Perbill::from_rational(
+            accessible_referees.len() as u32 - 1,
+            referees.len() as u32 - 1,
+        )
+    } else {
+        sp_runtime::Perbill::from_rational(accessible_referees.len() as u32, referees.len() as u32)
+    }
+}
diff --git a/distance-oracle/src/main.rs b/distance-oracle/src/main.rs
new file mode 100644
index 000000000..d60668e87
--- /dev/null
+++ b/distance-oracle/src/main.rs
@@ -0,0 +1,51 @@
+// Copyright 2023 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+use clap::Parser;
+
+#[derive(Debug, clap::Parser)]
+struct Cli {
+    #[clap(short = 'd', long, default_value = "/tmp/duniter/chains/gdev/distance")]
+    evaluation_result_dir: String,
+    /// Maximum depth to explore the WoT graph for referees
+    #[clap(short = 'D', long, default_value = "5")]
+    max_depth: u32,
+    #[clap(short = 'u', long, default_value = "ws://127.0.0.1:9944")]
+    rpc_url: String,
+    /// Log level (off, error, warn, info, debug, trace)
+    #[clap(short = 'l', long, default_value = "info")]
+    log: log::LevelFilter,
+}
+
+#[tokio::main]
+async fn main() {
+    let cli = Cli::parse();
+
+    simple_logger::SimpleLogger::new()
+        .with_level(cli.log)
+        .init()
+        .unwrap();
+
+    distance_oracle::run_and_save(
+        &distance_oracle::api::client(cli.rpc_url.clone()).await,
+        distance_oracle::Settings {
+            evaluation_result_dir: cli.evaluation_result_dir.into(),
+            max_depth: cli.max_depth,
+            rpc_url: cli.rpc_url,
+        },
+    )
+    .await;
+}
diff --git a/distance-oracle/src/mock.rs b/distance-oracle/src/mock.rs
new file mode 100644
index 000000000..1ecc7a74c
--- /dev/null
+++ b/distance-oracle/src/mock.rs
@@ -0,0 +1,121 @@
+// Copyright 2023 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+use crate::runtime::runtime_types::{
+    pallet_distance::median::MedianAcc, sp_arithmetic::per_things::Perbill,
+};
+
+use dubp_wot::{data::rusty::RustyWebOfTrust, WebOfTrust, WotId};
+use sp_core::H256;
+use std::collections::BTreeSet;
+
+pub struct Client {
+    wot: RustyWebOfTrust,
+    pub pool_len: usize,
+}
+pub type AccountId = subxt::ext::sp_runtime::AccountId32;
+pub type IdtyIndex = u32;
+
+pub struct EvaluationPool<AccountId: Ord, IdtyIndex> {
+    pub evaluations: (Vec<(IdtyIndex, MedianAcc<Perbill>)>,),
+    pub evaluators: BTreeSet<AccountId>,
+}
+
+pub async fn client(_rpc_url: String) -> Client {
+    unimplemented!()
+}
+
+pub fn client_from_wot(wot: RustyWebOfTrust) -> Client {
+    Client { wot, pool_len: 1 }
+}
+
+pub async fn parent_hash(_client: &Client) -> H256 {
+    Default::default()
+}
+
+pub async fn current_session(_client: &Client, _parent_hash: H256) -> u32 {
+    0
+}
+
+pub async fn current_pool(
+    client: &Client,
+    _parent_hash: H256,
+    _current_session: u32,
+) -> Option<EvaluationPool<AccountId, IdtyIndex>> {
+    Some(EvaluationPool {
+        evaluations: (client
+            .wot
+            .get_enabled()
+            .into_iter()
+            .chain(client.wot.get_disabled().into_iter())
+            .zip(0..client.pool_len)
+            .map(|(wot_id, _)| {
+                (wot_id.0 as IdtyIndex, unsafe {
+                    std::mem::transmute((Vec::<()>::new(), Option::<u32>::None, 0))
+                })
+            })
+            .collect(),),
+        evaluators: BTreeSet::new(),
+    })
+}
+
+pub async fn evaluation_block(_client: &Client, _parent_hash: H256) -> H256 {
+    Default::default()
+}
+
+pub async fn member_iter(client: &Client, _evaluation_block: H256) -> MemberIter {
+    MemberIter(client.wot.get_enabled().into_iter())
+}
+
+pub struct MemberIter(std::vec::IntoIter<WotId>);
+
+impl MemberIter {
+    pub async fn next(&mut self) -> Result<Option<IdtyIndex>, subxt::error::Error> {
+        Ok(self.0.next().map(|wot_id| wot_id.0 as u32))
+    }
+}
+
+pub async fn cert_iter(client: &Client, _evaluation_block: H256) -> CertIter {
+    CertIter(
+        client
+            .wot
+            .get_enabled()
+            .iter()
+            .chain(client.wot.get_disabled().iter())
+            .map(|wot_id| {
+                (
+                    wot_id.0 as IdtyIndex,
+                    client
+                        .wot
+                        .get_links_source(*wot_id)
+                        .unwrap_or_default()
+                        .into_iter()
+                        .map(|wot_id| (wot_id.0 as IdtyIndex, 0))
+                        .collect::<Vec<(IdtyIndex, u32)>>(),
+                )
+            })
+            .collect::<Vec<_>>()
+            .into_iter(),
+    )
+}
+
+pub struct CertIter(std::vec::IntoIter<(IdtyIndex, Vec<(IdtyIndex, u32)>)>);
+
+impl CertIter {
+    pub async fn next(&mut self) -> Result<Option<(u32, Vec<(u32, u32)>)>, subxt::error::Error> {
+        Ok(self.0.next())
+    }
+}
diff --git a/distance-oracle/src/tests.rs b/distance-oracle/src/tests.rs
new file mode 100644
index 000000000..f2f6d77ed
--- /dev/null
+++ b/distance-oracle/src/tests.rs
@@ -0,0 +1,109 @@
+// Copyright 2023 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+use dubp_wot::{
+    data::rusty::RustyWebOfTrust, operations::distance::DistanceCalculator, WebOfTrust,
+};
+use flate2::read::ZlibDecoder;
+use sp_runtime::Perbill;
+use std::{fs::File, io::Read};
+
+#[tokio::test]
+#[ignore = "long to execute"]
+async fn test_distance_against_v1() {
+    let wot = wot_from_v1_file();
+    let n = wot.size();
+    let max_depth = 5;
+    let min_certs_for_referee = (wot.get_enabled().len() as f32).powf(1. / 5.).ceil() as u32;
+
+    // Reference implementation
+    let ref_calculator = dubp_wot::operations::distance::RustyDistanceCalculator;
+    let t_a = std::time::Instant::now();
+    let ref_results: Vec<Perbill> = wot
+        .get_enabled()
+        .into_iter()
+        .chain(wot.get_disabled().into_iter())
+        .zip(0..n)
+        .map(|(i, _)| {
+            let result = ref_calculator
+                .compute_distance(
+                    &wot,
+                    dubp_wot::operations::distance::WotDistanceParameters {
+                        node: i,
+                        sentry_requirement: min_certs_for_referee,
+                        step_max: max_depth,
+                        x_percent: 0.8,
+                    },
+                )
+                .unwrap();
+            Perbill::from_rational(result.success, result.sentries)
+        })
+        .collect();
+    println!("ref time: {}", t_a.elapsed().as_millis());
+
+    // Our implementation
+    let mut client = crate::api::client_from_wot(wot);
+    client.pool_len = n;
+
+    let t_a = std::time::Instant::now();
+    let results = crate::run(
+        &client,
+        &crate::Settings {
+            max_depth,
+            ..Default::default()
+        },
+        false,
+    )
+    .await
+    .unwrap();
+    println!("new time: {}", t_a.elapsed().as_millis());
+    assert_eq!(results.0.len(), n);
+
+    let mut errors: Vec<_> = results
+        .0
+        .iter()
+        .zip(ref_results.iter())
+        .map(|(r, r_ref)| r.deconstruct() as i64 - r_ref.deconstruct() as i64)
+        .collect();
+    errors.sort_unstable();
+    println!(
+        "Error: {:?} / {:?} / {:?} / {:?} / {:?}  (min / 1Q / med / 3Q / max)",
+        errors[0],
+        errors[errors.len() / 4],
+        errors[errors.len() / 2],
+        errors[errors.len() * 3 / 4],
+        errors[errors.len() - 1]
+    );
+
+    let correct_results = results
+        .0
+        .iter()
+        .zip(ref_results.iter())
+        .map(|(r, r_ref)| (r == r_ref) as usize)
+        .sum::<usize>();
+    println!("Correct results: {correct_results} / {n}");
+    assert_eq!(correct_results, n);
+}
+
+fn wot_from_v1_file() -> RustyWebOfTrust {
+    let file = File::open("wot.deflate").expect("Cannot open wot.deflate");
+    let mut decompressor = ZlibDecoder::new(file);
+    let mut decompressed_bytes = Vec::new();
+    decompressor
+        .read_to_end(&mut decompressed_bytes)
+        .expect("Cannot decompress wot.deflate");
+    bincode::deserialize::<RustyWebOfTrust>(&decompressed_bytes).expect("Cannot decode wot.deflate")
+}
diff --git a/distance-oracle/wot.deflate b/distance-oracle/wot.deflate
new file mode 100644
index 0000000000000000000000000000000000000000..087c09cfc125ee954a63b79d04e4013630b4c4f5
GIT binary patch
literal 230115
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

literal 0
HcmV?d00001

diff --git a/docs/api/manual.md b/docs/api/manual.md
index 6ef23fce5..0b9a91eb7 100644
--- a/docs/api/manual.md
+++ b/docs/api/manual.md
@@ -20,6 +20,9 @@ Only use `identity` pallet. The `membership` calls are disabled.
 1. The account that wants to gain membership needs to exists.
 1. Any account that already has membership and respects the identity creation period can create an identity for another account, using `identity.createIdentity`.
 1. The account has to confirm its identity with a name, using `identity.confirmIdentity`. The name must be ASCII alphanumeric, punctuation or space characters: ``/^[-!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~a-zA-Z0-9 ]{3,64}$/`` (additionally, trailing spaces and double spaces are forbidden, as a phishing countermeasure). If the name is already used, the call will fail.
+1. 4 different member accounts must certify the account using `cert.addCert`.
+1. The distance evaluation must be requested for the pending identity using `distance.evaluateDistance`.
+1. 3 sessions later, if the distance rule is respected, `identity.validateIdentity` can be called.
 
 ## Change key
 
diff --git a/docs/user/distance.md b/docs/user/distance.md
new file mode 100644
index 000000000..3dea9edf2
--- /dev/null
+++ b/docs/user/distance.md
@@ -0,0 +1,31 @@
+# Distance rule evaluation
+
+The [distance rule](https://duniter.org/blog/duniter-deep-dive-wot/) is computationally too heavy to be handled by the runtime. Therefore it is computed offchain using the distance oracle.
+
+Distance evaluation is operated on a voluntary basis by individual smiths. Since evaluators can lie or make errors, the result considered for applying the distance rule is the median of results published by the different evaluators.
+
+## Running distance evaluation
+
+Any smith member authoring blocks can run a distance evaluation oracle. It is better to have a machine more powerful than the reference machine.
+
+The simplest way is to run the oracle on the same machine as Duniter.
+
+Build the oracle:
+
+    cargo build --release -p distance-oracle
+
+It will be available at `./target/release/distance-oracle`. Move it to somewhere appropriate.
+
+Add this line to your cron with the command `crontab -e`: (add option `-u <user>` to edit another user's cron)
+
+    4,24,44 * * * * nice -n 2 /absolute/path/to/distance-oracle
+
+The precise hours don't matter so you can pick random values, but it should run at least one time per hour, and running it more often decreases the risk of problem in case of missing blocks or temporary network failure.
+
+If the evaluation ran successfully in a session, the next runs in the same session won't re-evaluate the same data.
+
+The `nice -n 2` lowers the oracle's priority, so that Duniter has the priority even when the oracle wants to use all the cores.
+
+### Additional Duniter configuration
+
+Duniter should keep states at least one session old, that it 600 blocks (while 256 is the default). Use the option `--state-pruning 600` if your node is not already an archive (`--state-pruning archive`).
diff --git a/end2end-tests/Cargo.toml b/end2end-tests/Cargo.toml
index 07df18c1a..95e15c04a 100644
--- a/end2end-tests/Cargo.toml
+++ b/end2end-tests/Cargo.toml
@@ -14,6 +14,7 @@ async-trait = "0.1"
 clap = { version = "3.2.23", features = ["derive"] }
 ctrlc = "3.2.2"
 cucumber = "0.11"
+distance-oracle = { path = "../distance-oracle", default_features = false }
 env_logger = "0.9.0"
 hex = "0.4"
 notify = "4.0"
@@ -26,4 +27,4 @@ tokio = { version = "1.15.0", features = ["macros"] }
 
 [[test]]
 name = "cucumber_tests"
-harness = false  # allows Cucumber to print output instead of libtest
+harness = false         # allows Cucumber to print output instead of libtest
diff --git a/end2end-tests/README.md b/end2end-tests/README.md
index b5f21c0c2..79da56e7f 100644
--- a/end2end-tests/README.md
+++ b/end2end-tests/README.md
@@ -163,7 +163,7 @@ To work, the integration tests need to have the runtime metadata up to date, her
 them:
 
 ```bash
-subxt metadata -f bytes > resources/metadata.scale
+subxt metadata -f bytes --version 14 > resources/metadata.scale
 ```
 
 If you don't have subxt, install it: `cargo install subxt-cli`
diff --git a/end2end-tests/cucumber-features/identity_creation.feature b/end2end-tests/cucumber-features/identity_creation.feature
index 81113d8b1..56a7404df 100644
--- a/end2end-tests/cucumber-features/identity_creation.feature
+++ b/end2end-tests/cucumber-features/identity_creation.feature
@@ -5,8 +5,9 @@ Feature: Identity creation
     # - account creation fees (3 ÄžD) 
     # - existential deposit (2 ÄžD)
     # - transaction fees (below 1 ÄžD)
-    When alice sends 6 ÄžD to dave
-    When bob sends 6 ÄžD to eve
+    When alice sends 7 ÄžD to dave
+    When bob sends 750 cÄžD to dave
+    When charlie sends 6 ÄžD to eve
     # alice last certification is counted from block zero
     # then next cert can be done after cert_period, which is 15
     When 15 block later
@@ -20,6 +21,12 @@ Feature: Identity creation
     When charlie certifies dave
     Then dave should be certified by bob
     Then dave should be certified by charlie
-    When 3 block later
+    When dave requests distance evaluation
+    Then dave should have distance result in 2 sessions
+    When 30 blocks later
+    Then dave should have distance result in 1 session
+    When alice runs distance oracle
+    When 30 blocks later
+    Then dave should have distance ok
     When eve validates dave identity
     Then dave identity should be validated
diff --git a/end2end-tests/tests/common/distance.rs b/end2end-tests/tests/common/distance.rs
new file mode 100644
index 000000000..e1a8f1eca
--- /dev/null
+++ b/end2end-tests/tests/common/distance.rs
@@ -0,0 +1,87 @@
+// Copyright 2023 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+use super::gdev;
+use super::gdev::runtime_types::pallet_identity;
+use super::*;
+use crate::DuniterWorld;
+use sp_keyring::AccountKeyring;
+use subxt::ext::sp_runtime::AccountId32;
+use subxt::tx::{PairSigner, Signer};
+
+pub async fn request_evaluation(client: &Client, origin: AccountKeyring) -> Result<()> {
+    let origin = PairSigner::new(origin.pair());
+
+    let _events = create_block_with_extrinsic(
+        client,
+        client
+            .tx()
+            .create_signed(
+                &gdev::tx().distance().request_distance_evaluation(),
+                &origin,
+                BaseExtrinsicParamsBuilder::new(),
+            )
+            .await?,
+    )
+    .await?;
+
+    Ok(())
+}
+
+pub async fn run_oracle(client: &Client, origin: AccountKeyring, rpc_url: String) -> Result<()> {
+    let origin = PairSigner::new(origin.pair());
+    let account_id: &AccountId32 = origin.account_id();
+
+    if let Some((distances, _current_session, _evaluation_result_path)) = distance_oracle::run(
+        &distance_oracle::api::client(rpc_url.clone()).await,
+        &distance_oracle::Settings {
+            evaluation_result_dir: PathBuf::default(),
+            max_depth: 5,
+            rpc_url,
+        },
+        false,
+    )
+    .await
+    {
+        for _ in 0..30 {
+            super::create_empty_block(client).await?;
+        }
+
+        let _events = create_block_with_extrinsic(
+            client,
+            client
+                .tx()
+                .create_signed(
+                    &gdev::tx().sudo().sudo(gdev::runtime_types::gdev_runtime::RuntimeCall::Distance(
+                            gdev::runtime_types::pallet_distance::pallet::Call::force_update_evaluation {
+                                evaluator: account_id.clone(),
+                                computation_result:
+                                    gdev::runtime_types::sp_distance::ComputationResult {
+                                        distances: distances.into_iter().map(|res| unsafe{std::mem::transmute(res)}).collect(),
+                                    },
+                            },
+                        )
+                    ),
+                    &origin,
+                    BaseExtrinsicParamsBuilder::new(),
+                )
+                .await?,
+        )
+        .await?;
+    }
+
+    Ok(())
+}
diff --git a/end2end-tests/tests/common/identity.rs b/end2end-tests/tests/common/identity.rs
index 58e881264..735e655fd 100644
--- a/end2end-tests/tests/common/identity.rs
+++ b/end2end-tests/tests/common/identity.rs
@@ -84,9 +84,11 @@ pub async fn validate_identity(client: &Client, from: AccountKeyring, to: u32) -
                 &from,
                 BaseExtrinsicParamsBuilder::new(),
             )
-            .await?,
+            .await
+            .unwrap(),
     )
-    .await?;
+    .await
+    .unwrap();
 
     Ok(())
 }
diff --git a/end2end-tests/tests/common/mod.rs b/end2end-tests/tests/common/mod.rs
index 24a265832..956a2f546 100644
--- a/end2end-tests/tests/common/mod.rs
+++ b/end2end-tests/tests/common/mod.rs
@@ -18,6 +18,7 @@
 
 pub mod balances;
 pub mod cert;
+pub mod distance;
 pub mod identity;
 pub mod oneshot;
 
@@ -86,6 +87,7 @@ impl Process {
     }
 }
 
+pub const DISTANCE_ORACLE_LOCAL_PATH: &str = "../target/debug/distance-oracle";
 const DUNITER_DOCKER_PATH: &str = "/usr/local/bin/duniter";
 const DUNITER_LOCAL_PATH: &str = "../target/debug/duniter";
 
@@ -95,7 +97,7 @@ struct FullNode {
     ws_port: u16,
 }
 
-pub async fn spawn_node(maybe_genesis_conf_file: Option<PathBuf>) -> (Client, Process) {
+pub async fn spawn_node(maybe_genesis_conf_file: Option<PathBuf>) -> (Client, Process, u16) {
     println!("maybe_genesis_conf_file={:?}", maybe_genesis_conf_file);
     let duniter_binary_path = std::env::var("DUNITER_BINARY_PATH").unwrap_or_else(|_| {
         if std::path::Path::new(DUNITER_DOCKER_PATH).exists() {
@@ -118,7 +120,7 @@ pub async fn spawn_node(maybe_genesis_conf_file: Option<PathBuf>) -> (Client, Pr
         .await
         .expect("fail to connect to node");
 
-    (client, process)
+    (client, process, ws_port)
 }
 
 pub async fn create_empty_block(client: &Client) -> Result<()> {
@@ -174,6 +176,9 @@ fn spawn_full_node(
     let log_file_path = format!("duniter-v2s-{}.log", ws_port);
     let log_file = std::fs::File::create(&log_file_path).expect("fail to create log file");
 
+    // Clean previous data
+    std::fs::remove_dir_all("/tmp/duniter-cucumber").ok();
+
     // Command
     let process = Process(
         Command::new(duniter_binary_path)
@@ -181,13 +186,14 @@ fn spawn_full_node(
                 [
                     "--no-telemetry",
                     "--no-prometheus",
-                    "--tmp",
                     "--port",
                     &p2p_port.to_string(),
                     "--rpc-port",
                     &rpc_port.to_string(),
                     "--ws-port",
                     &ws_port.to_string(),
+                    "--base-path",
+                    "/tmp/duniter-cucumber",
                 ]
                 .iter()
                 .chain(args),
@@ -280,3 +286,20 @@ fn has_log_line(log_file_path: &str, expected_log_line: &str) -> bool {
     }
     false
 }
+
+pub fn spawn_distance_oracle(distance_oracle_binary_path: &str, duniter_rpc_port: u16) {
+    Command::new(distance_oracle_binary_path)
+        .args(
+            [
+                "-u",
+                &format!("ws://127.0.0.1:{duniter_rpc_port}"),
+                "-d",
+                "/tmp/duniter-cucumber/chains/gdev/distance",
+            ]
+            .iter(),
+        )
+        .spawn()
+        .expect("failed to spawn distance oracle")
+        .wait()
+        .unwrap();
+}
diff --git a/end2end-tests/tests/cucumber_tests.rs b/end2end-tests/tests/cucumber_tests.rs
index e0b1b2da7..49177f72c 100644
--- a/end2end-tests/tests/cucumber_tests.rs
+++ b/end2end-tests/tests/cucumber_tests.rs
@@ -120,12 +120,17 @@ impl World for DuniterWorld {
 struct DuniterWorldInner {
     client: Client,
     process: Process,
+    ws_port: u16,
 }
 
 impl DuniterWorldInner {
     async fn new(maybe_genesis_conf_file: Option<PathBuf>) -> Self {
-        let (client, process) = spawn_node(maybe_genesis_conf_file).await;
-        DuniterWorldInner { client, process }
+        let (client, process, ws_port) = spawn_node(maybe_genesis_conf_file).await;
+        DuniterWorldInner {
+            client,
+            process,
+            ws_port,
+        }
     }
     fn kill(&mut self) {
         self.process.kill();
@@ -317,11 +322,32 @@ async fn confirm_identity(world: &mut DuniterWorld, from: String, pseudo: String
 async fn validate_identity(world: &mut DuniterWorld, from: String, to: String) -> Result<()> {
     // input names to keyrings
     let from = AccountKeyring::from_str(&from).expect("unknown from");
-    let to: u32 = common::identity::get_identity_index(world, to).await?;
+    let to: u32 = common::identity::get_identity_index(world, to)
+        .await
+        .unwrap();
 
     common::identity::validate_identity(world.client(), from, to).await
 }
 
+#[when(regex = r#"([a-zA-Z]+) requests distance evaluation"#)]
+async fn request_distance_evaluation(world: &mut DuniterWorld, who: String) -> Result<()> {
+    let who = AccountKeyring::from_str(&who).expect("unknown origin");
+
+    common::distance::request_evaluation(world.client(), who).await
+}
+
+#[when(regex = r#"([a-zA-Z]+) runs distance oracle"#)]
+async fn run_distance_oracle(world: &mut DuniterWorld, who: String) -> Result<()> {
+    let who = AccountKeyring::from_str(&who).expect("unknown origin");
+
+    common::distance::run_oracle(
+        world.client(),
+        who,
+        format!("ws://127.0.0.1:{}", world.inner.as_ref().unwrap().ws_port),
+    )
+    .await
+}
+
 // ===== then ====
 
 #[then(regex = r"([a-zA-Z]+) should have (\d+) (ÄžD|cÄžD)")]
@@ -437,6 +463,67 @@ async fn should_be_certified_by(
     }
 }
 
+#[then(regex = r"([a-zA-Z]+) should have distance result in (\d+) sessions?")]
+async fn should_have_distance_result_in_sessions(
+    world: &mut DuniterWorld,
+    who: String,
+    sessions: u32,
+) -> Result<()> {
+    assert!(sessions < 3, "Session number must be < 3");
+
+    let who = AccountKeyring::from_str(&who).unwrap().to_account_id();
+
+    let idty_id = world
+        .read(&gdev::storage().identity().identity_index_of(&who))
+        .await?
+        .unwrap();
+
+    let current_session = world
+        .read(&gdev::storage().session().current_index())
+        .await?
+        .unwrap_or_default();
+
+    let pool = world
+        .read(&match (current_session + sessions) % 3 {
+            0 => gdev::storage().distance().evaluation_pool0(),
+            1 => gdev::storage().distance().evaluation_pool1(),
+            2 => gdev::storage().distance().evaluation_pool2(),
+            _ => unreachable!("n%3<3"),
+        })
+        .await
+        .unwrap()
+        .ok_or_else(|| anyhow::anyhow!("given pool is empty"))?;
+
+    for (sample_idty, _) in pool.evaluations.0 {
+        if sample_idty == idty_id {
+            return Ok(());
+        }
+    }
+
+    Err(anyhow::anyhow!("no evaluation in given pool").into())
+}
+
+#[then(regex = r"([a-zA-Z]+) should have distance ok")]
+async fn should_have_distance_ok(world: &mut DuniterWorld, who: String) -> Result<()> {
+    let who = AccountKeyring::from_str(&who).unwrap().to_account_id();
+
+    let idty_id = world
+        .read(&gdev::storage().identity().identity_index_of(&who))
+        .await?
+        .unwrap();
+
+    match world
+        .read(&gdev::storage().distance().identity_distance_status(idty_id))
+        .await?
+    {
+        Some((_, gdev::runtime_types::pallet_distance::types::DistanceStatus::Valid)) => Ok(()),
+        Some((_, gdev::runtime_types::pallet_distance::types::DistanceStatus::Pending)) => {
+            Err(anyhow::anyhow!("pending distance status").into())
+        }
+        None => Err(anyhow::anyhow!("no distance status").into()),
+    }
+}
+
 use gdev::runtime_types::pallet_identity::types::IdtyStatus;
 
 // status from string
diff --git a/node/src/service.rs b/node/src/service.rs
index 6562b6584..78b432c7b 100644
--- a/node/src/service.rs
+++ b/node/src/service.rs
@@ -31,7 +31,7 @@ use sc_service::{error::Error as ServiceError, Configuration, PartialComponents,
 use sc_telemetry::{Telemetry, TelemetryWorker};
 use sp_core::H256;
 use sp_runtime::traits::BlakeTwo256;
-use std::{sync::Arc, time::Duration};
+use std::{path::PathBuf, sync::Arc, time::Duration};
 
 type FullClient<RuntimeApi, Executor> =
     sc_service::TFullClient<Block, RuntimeApi, NativeElseWasmExecutor<Executor>>;
@@ -309,7 +309,7 @@ where
             Some(Box::new(justification_import)),
             client.clone(),
             select_chain.clone(),
-            move |_, ()| async move {
+            move |_parent, ()| async move {
                 let timestamp = sp_timestamp::InherentDataProvider::from_system_time();
 
                 let slot =
@@ -431,6 +431,20 @@ where
 
     let mut command_sink_opt = None;
     if role.is_authority() {
+        let distance_dir = config.base_path.as_ref().map_or_else(
+            || {
+                PathBuf::from(format!(
+                    "/tmp/duniter/chains/{}/distance",
+                    config.chain_spec.id()
+                ))
+            },
+            |base_path| {
+                base_path
+                    .config_dir(config.chain_spec.id())
+                    .join("distance")
+            },
+        );
+
         let proposer_factory = sc_basic_authorship::ProposerFactory::new(
             task_manager.spawn_handle(),
             client.clone(),
@@ -439,6 +453,9 @@ where
             telemetry.as_ref().map(|x| x.handle()),
         );
 
+        let sync_cryptostore_ptr = keystore_container.sync_keystore();
+        let client = client.clone();
+
         if sealing.is_manual_consensus() {
             let commands_stream: Box<dyn Stream<Item = EngineCommand<H256>> + Send + Sync + Unpin> =
                 match sealing {
@@ -489,7 +506,6 @@ where
                 )
                 .expect("failed to create BabeConsensusDataProvider");
 
-            let client_clone = client.clone();
             task_manager.spawn_essential_handle().spawn_blocking(
                 "manual-seal",
                 Some("block-authoring"),
@@ -501,8 +517,14 @@ where
                     commands_stream,
                     select_chain,
                     consensus_data_provider: Some(Box::new(babe_consensus_data_provider)),
-                    create_inherent_data_providers: move |_, _| {
-                        let client = client_clone.clone();
+                    create_inherent_data_providers: move |parent, _| {
+                        let client = client.clone();
+                        let distance_dir = distance_dir.clone();
+                        let babe_owner_keys =
+                            std::sync::Arc::new(sp_keystore::SyncCryptoStore::sr25519_public_keys(
+                                sync_cryptostore_ptr.as_ref(),
+                                sp_runtime::KeyTypeId(*b"babe"),
+                            ));
                         async move {
                             let timestamp =
                                 manual_seal::consensus::timestamp::SlotTimestampProvider::new_babe(
@@ -512,13 +534,20 @@ where
                             let babe = sp_consensus_babe::inherents::InherentDataProvider::new(
                                 timestamp.slot(),
                             );
-                            Ok((timestamp, babe))
+                            let distance =
+                                dc_distance::create_distance_inherent_data_provider::<
+                                    Block,
+                                    FullClient<RuntimeApi, Executor>,
+                                    FullBackend,
+                                >(
+                                    &*client, parent, distance_dir, &babe_owner_keys.clone()
+                                )?;
+                            Ok((timestamp, babe, distance))
                         }
                     },
                 }),
             );
         } else {
-            let client_clone = client.clone();
             let slot_duration = babe_link.config().slot_duration();
             let babe_config = babe::BabeParams {
                 keystore: keystore_container.sync_keystore(),
@@ -529,12 +558,19 @@ where
                 sync_oracle: network.clone(),
                 justification_sync_link: network.clone(),
                 create_inherent_data_providers: move |parent, ()| {
-                    let client_clone = client_clone.clone();
+                    // This closure is called during each block generation.
+
+                    let client = client.clone();
+                    let distance_dir = distance_dir.clone();
+                    let babe_owner_keys =
+                        std::sync::Arc::new(sp_keystore::SyncCryptoStore::sr25519_public_keys(
+                            sync_cryptostore_ptr.as_ref(),
+                            sp_runtime::KeyTypeId(*b"babe"),
+                        ));
 
                     async move {
                         let uncles = sc_consensus_uncles::create_uncles_inherent_data_provider(
-                            &*client_clone,
-                            parent,
+                            &*client, parent,
                         )?;
 
                         let timestamp = sp_timestamp::InherentDataProvider::from_system_time();
@@ -545,7 +581,15 @@ where
                                     slot_duration,
                                 );
 
-                        Ok((slot, timestamp, uncles))
+                        let distance = dc_distance::create_distance_inherent_data_provider::<
+                            Block,
+                            FullClient<RuntimeApi, Executor>,
+                            FullBackend,
+                        >(
+                            &*client, parent, distance_dir, &babe_owner_keys.clone()
+                        )?;
+
+                        Ok((slot, timestamp, uncles, distance))
                     }
                 },
                 force_authoring,
diff --git a/pallets/README.md b/pallets/README.md
index cf67622f8..4e229119e 100644
--- a/pallets/README.md
+++ b/pallets/README.md
@@ -10,7 +10,7 @@ These pallets are at the core of Duniter/Äž1 currency
 - **`certification`** Certifications are the "edges" of Duniter's dynamic directed graph. They mean the acceptation of a Licence.
 - **`duniter-account`** Duniter customized the `AccountData` defined in the `Balances` pallet to introduce a `RandomId`.
 - **`duniter-wot`** Merges identities, membership, certifications and distance pallets to implement Duniter Web of Trust.
-- **`duniter-distance`** Offchain worker used to compute distance criterion.
+- **`distance`** Publishes median of distance computation results provided by inherents coming from `distance-oracle` workers.
 - **`identity`** Identities are the "nodes" of Duniter's dynamic directed graph. They are one-to-one mapping to human being.
 - **`membership`** Membership defines the state of identities. They can be member or not of the different WoTs.
 - **`universal-dividend`** UD is at the basis of Äž1 "libre currency". It is both a kind of "basic income" and a measure unit.
diff --git a/pallets/authority-members/src/lib.rs b/pallets/authority-members/src/lib.rs
index 1102c85e7..b2387ee44 100644
--- a/pallets/authority-members/src/lib.rs
+++ b/pallets/authority-members/src/lib.rs
@@ -17,6 +17,7 @@
 #![cfg_attr(not(feature = "std"), no_std)]
 #![allow(clippy::type_complexity)]
 
+pub mod impls;
 pub mod traits;
 mod types;
 pub mod weights;
@@ -30,17 +31,15 @@ mod tests;
 #[cfg(feature = "runtime-benchmarks")]
 mod benchmarking;
 
-pub mod impls;
 pub use impls::*;
-
 pub use pallet::*;
+pub use sp_staking::SessionIndex;
+pub use traits::*;
 pub use types::*;
 pub use weights::WeightInfo;
 
-use self::traits::*;
 use frame_support::traits::Get;
 use sp_runtime::traits::Convert;
-use sp_staking::SessionIndex;
 use sp_std::prelude::*;
 
 #[frame_support::pallet]
diff --git a/pallets/distance/Cargo.toml b/pallets/distance/Cargo.toml
new file mode 100644
index 000000000..56226bf77
--- /dev/null
+++ b/pallets/distance/Cargo.toml
@@ -0,0 +1,89 @@
+[package]
+authors = ['tuxmain <tuxmain@zettascript.org>']
+description = 'FRAME pallet distance.'
+edition = '2021'
+homepage = 'https://duniter.org'
+license = 'AGPL-3.0'
+name = 'pallet-distance'
+readme = 'README.md'
+repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
+version = '1.0.0'
+
+[features]
+default = ['std']
+std = [
+    'codec/std',
+    'frame-support/std',
+    'pallet-authority-members/std',
+    'pallet-authorship/std',
+    'pallet-identity/std',
+    'pallet-membership/std',
+    'pallet-session/std',
+    'sp-core/std',
+    'sp-distance/std',
+    'sp-runtime/std',
+    'sp-std/std',
+]
+
+[dependencies]
+
+pallet-authority-members = { path = "../authority-members", default-features = false }
+pallet-identity = { path = "../identity", default-features = false }
+pallet-membership = { path = "../membership", default-features = false }
+sp-distance = { path = "../../primitives/distance", 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-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-authorship]
+default-features = false
+git = 'https://github.com/duniter/substrate'
+branch = 'duniter-substrate-v0.9.32'
+
+[dependencies.pallet-session]
+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-inherents]
+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']
diff --git a/pallets/distance/README.md b/pallets/distance/README.md
new file mode 100644
index 000000000..7b34661e1
--- /dev/null
+++ b/pallets/distance/README.md
@@ -0,0 +1,47 @@
+# Distance pallet
+
+The distance pallet uses results provided in a file by the `distance-oracle` offchain worker.
+At some point an inherent is called to submit the results of this file to the blockchain.
+The pallet then selects the median of the results (reach perbill) of an evaluation pool and fills the storage with the result status.
+The status of an identity can be:
+
+- inexistant: distance evaluation has not been requested or has expired
+- pending: distance evaluation for this identity has been requested and is waiting two sessions for results
+- valid: distance has been evaluated positively for this identity
+
+The result of the evaluation is used by `duniter-wot` pallet to determine if an identity can get / should loose membership to the web of trust. 
+
+## Process
+
+Any account can request a distance evaluation for a given identity provided it has enough currency to be reserved. In this case, the distance status is marked as pending and in the next session, inherents can start to publish results. 
+
+This is how a result is published:
+
+1. local worker creates a file containing the result of computation
+1. inherent is created with the data from this file
+1. author is registered as an evaluator
+1. the result is added to the current evaluation pool
+1. a flag is set to prevent other distance evaluation in the same block
+
+On each new session:
+
+1. old results set to expire at this session do expire
+1. results from the current pool (previous session's result pool) are taken and for each identity
+    - the median of the distance results for this identity is chosen
+    - if the distance is ok, the distance is marked as valid
+    - if the distance is ko, the result for this identity is removed and reserved currency is slashed (from the account which requested the evaluation)
+
+Then, in other pallets, when a membership is claimed, it is possible to look if there is a valid evaluation of distance for this identity.
+
+## Pools
+
+Evaluation pools are made of two components:
+
+- a set of evaluators
+- a vec of results
+
+The evaluation are separated in three pools (N - 2 is the session index):
+
+- pool number N - 1 % 3: results from the previous session used in the current one (let empty for next session)
+- pool number N + 0 % 3: inherent results are added there
+- pool number N + 1 % 3: identities are added there for evaluation
\ No newline at end of file
diff --git a/pallets/distance/src/lib.rs b/pallets/distance/src/lib.rs
new file mode 100644
index 000000000..45ee644be
--- /dev/null
+++ b/pallets/distance/src/lib.rs
@@ -0,0 +1,461 @@
+// Copyright 2022 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+mod median;
+mod traits;
+mod types;
+
+pub use pallet::*;
+pub use traits::*;
+pub use types::*;
+
+use frame_support::traits::StorageVersion;
+use pallet_authority_members::SessionIndex;
+use sp_distance::{InherentError, INHERENT_IDENTIFIER};
+use sp_inherents::{InherentData, InherentIdentifier};
+use sp_std::convert::TryInto;
+
+type IdtyIndex = u32;
+
+/// Maximum number of identities to be evaluated in a session
+pub const MAX_EVALUATIONS_PER_SESSION: u32 = 600;
+/// Maximum number of evaluators in a session
+pub const MAX_EVALUATORS_PER_SESSION: u32 = 100;
+
+#[frame_support::pallet]
+pub mod pallet {
+    use super::*;
+    use frame_support::{pallet_prelude::*, traits::ReservableCurrency};
+    use frame_system::pallet_prelude::*;
+    use sp_runtime::Perbill;
+
+    /// The current storage version.
+    const STORAGE_VERSION: StorageVersion = StorageVersion::new(1);
+
+    #[pallet::pallet]
+    #[pallet::generate_store(pub(super) trait Store)]
+    #[pallet::storage_version(STORAGE_VERSION)]
+    #[pallet::without_storage_info]
+    pub struct Pallet<T>(PhantomData<T>);
+    #[pallet::config]
+    pub trait Config:
+        frame_system::Config
+        + pallet_authorship::Config
+        + pallet_identity::Config<IdtyIndex = IdtyIndex>
+        + pallet_session::Config
+    {
+        type Currency: ReservableCurrency<Self::AccountId>;
+        /// Amount reserved during evaluation
+        #[pallet::constant]
+        type EvaluationPrice: Get<
+            <Self::Currency as frame_support::traits::Currency<Self::AccountId>>::Balance,
+        >;
+        /// Minimum ratio of accessible referees
+        type MinAccessibleReferees: Get<Perbill>;
+        /// Number of session to keep a positive evaluation result
+        type ResultExpiration: Get<u32>;
+    }
+
+    // STORAGE //
+
+    /// Identities queued for distance evaluation
+    #[pallet::storage]
+    #[pallet::getter(fn evaluation_pool_0)]
+    pub type EvaluationPool0<T: Config> = StorageValue<
+        _,
+        EvaluationPool<
+            <T as frame_system::Config>::AccountId,
+            <T as pallet_identity::Config>::IdtyIndex,
+        >,
+        ValueQuery,
+    >;
+    /// Identities queued for distance evaluation
+    #[pallet::storage]
+    #[pallet::getter(fn evaluation_pool_1)]
+    pub type EvaluationPool1<T: Config> = StorageValue<
+        _,
+        EvaluationPool<
+            <T as frame_system::Config>::AccountId,
+            <T as pallet_identity::Config>::IdtyIndex,
+        >,
+        ValueQuery,
+    >;
+    /// Identities queued for distance evaluation
+    #[pallet::storage]
+    #[pallet::getter(fn evaluation_pool_2)]
+    pub type EvaluationPool2<T: Config> = StorageValue<
+        _,
+        EvaluationPool<
+            <T as frame_system::Config>::AccountId,
+            <T as pallet_identity::Config>::IdtyIndex,
+        >,
+        ValueQuery,
+    >;
+
+    /// Block for which the distance rule must be checked
+    #[pallet::storage]
+    pub type EvaluationBlock<T: Config> =
+        StorageValue<_, <T as frame_system::Config>::Hash, ValueQuery>;
+
+    /// Distance evaluation status by identity
+    ///
+    /// * `.0` is the account who requested an evaluation and reserved the price,
+    ///   for whom the price will be unreserved or slashed when the evaluation completes.
+    /// * `.1` is the status of the evaluation.
+    #[pallet::storage]
+    #[pallet::getter(fn identity_distance_status)]
+    pub type IdentityDistanceStatus<T: Config> = StorageMap<
+        _,
+        Twox64Concat,
+        <T as pallet_identity::Config>::IdtyIndex,
+        (<T as frame_system::Config>::AccountId, DistanceStatus),
+        OptionQuery,
+    >;
+
+    /// Identities by distance status expiration session index
+    #[pallet::storage]
+    #[pallet::getter(fn distance_status_expire_on)]
+    pub type DistanceStatusExpireOn<T: Config> = StorageMap<
+        _,
+        Twox64Concat,
+        u32,
+        BoundedVec<
+            <T as pallet_identity::Config>::IdtyIndex,
+            ConstU32<MAX_EVALUATIONS_PER_SESSION>,
+        >,
+        ValueQuery,
+    >;
+
+    /// Did evaluation get updated in this block?
+    #[pallet::storage]
+    pub(super) type DidUpdate<T: Config> = StorageValue<_, bool, ValueQuery>;
+
+    // session_index % 3:
+    //   storage_id + 0 => pending
+    //   storage_id + 1 => receives results
+    //   storage_id + 2 => receives new identities
+    // (this avoids problems for session_index < 3)
+
+    // ERRORS //
+
+    #[pallet::error]
+    pub enum Error<T> {
+        AlreadyInEvaluation,
+        CannotReserve,
+        ManyEvaluationsByAuthor,
+        ManyEvaluationsInBlock,
+        NoAuthor,
+        NoIdentity,
+        NonEligibleForEvaluation,
+        QueueFull,
+        TooManyEvaluators,
+        WrongResultLength,
+    }
+
+    #[pallet::hooks]
+    impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
+        /// dummy `on_initialize` to return the weight used in `on_finalize`.
+        fn on_initialize(_n: BlockNumberFor<T>) -> Weight {
+            // weight of `on_finalize`
+            //T::WeightInfo::on_finalize()// TODO uncomment when benchmarking
+            Weight::zero()
+        }
+
+        /// # <weight>
+        /// - `O(1)`
+        /// - 1 storage deletion (codec `O(1)`).
+        /// # </weight>
+        fn on_finalize(_n: BlockNumberFor<T>) {
+            DidUpdate::<T>::take();
+        }
+    }
+
+    // CALLS //
+
+    #[pallet::call]
+    impl<T: Config> Pallet<T> {
+        /// Request an identity to be evaluated
+        #[pallet::weight(1_000_000_000)]
+        pub fn request_distance_evaluation(origin: OriginFor<T>) -> DispatchResultWithPostInfo {
+            let who = ensure_signed(origin)?;
+
+            let idty =
+                pallet_identity::IdentityIndexOf::<T>::get(&who).ok_or(Error::<T>::NoIdentity)?;
+
+            ensure!(
+                IdentityDistanceStatus::<T>::get(idty).is_none(),
+                Error::<T>::AlreadyInEvaluation
+            );
+
+            Pallet::<T>::do_request_distance_evaluation(who, idty)?;
+            Ok(().into())
+        }
+
+        /// (Inherent) Push an evaluation result to the pool
+        #[pallet::weight(1_000_000_000)]
+        pub fn update_evaluation(
+            origin: OriginFor<T>,
+            computation_result: ComputationResult,
+        ) -> DispatchResult {
+            ensure_none(origin)?;
+            ensure!(
+                !DidUpdate::<T>::exists(),
+                Error::<T>::ManyEvaluationsInBlock,
+            );
+            let author = pallet_authorship::Pallet::<T>::author().ok_or(Error::<T>::NoAuthor)?;
+
+            Pallet::<T>::do_update_evaluation(author, computation_result)?;
+
+            DidUpdate::<T>::set(true);
+            Ok(())
+        }
+
+        /// Push an evaluation result to the pool
+        #[pallet::weight(1_000_000_000)]
+        pub fn force_update_evaluation(
+            origin: OriginFor<T>,
+            evaluator: <T as frame_system::Config>::AccountId,
+            computation_result: ComputationResult,
+        ) -> DispatchResult {
+            ensure_root(origin)?;
+
+            Pallet::<T>::do_update_evaluation(evaluator, computation_result)
+        }
+
+        /// Set the distance evaluation status of an identity
+        ///
+        /// Removes the status if `status` is `None`.
+        ///
+        /// * `status.0` is the account for whom the price will be unreserved or slashed
+        ///   when the evaluation completes.
+        /// * `status.1` is the status of the evaluation.
+        #[pallet::weight(1_000_000)]
+        pub fn force_set_distance_status(
+            origin: OriginFor<T>,
+            identity: <T as pallet_identity::Config>::IdtyIndex,
+            status: Option<(<T as frame_system::Config>::AccountId, DistanceStatus)>,
+        ) -> DispatchResult {
+            ensure_root(origin)?;
+
+            IdentityDistanceStatus::<T>::set(identity, status);
+            DistanceStatusExpireOn::<T>::mutate(
+                pallet_session::CurrentIndex::<T>::get() + T::ResultExpiration::get(),
+                move |identities| {
+                    identities
+                        .try_push(identity)
+                        .map_err(|_| Error::<T>::ManyEvaluationsInBlock.into())
+                },
+            )
+        }
+    }
+
+    // INTERNAL FUNCTIONS //
+
+    impl<T: Config> Pallet<T> {
+        /// Mutate the evaluation pool containing:
+        /// * when this session begins: the evaluation results to be applied
+        /// * when this session ends: the evaluation requests
+        fn mutate_current_pool<
+            R,
+            F: FnOnce(
+                &mut EvaluationPool<
+                    <T as frame_system::Config>::AccountId,
+                    <T as pallet_identity::Config>::IdtyIndex,
+                >,
+            ) -> R,
+        >(
+            index: SessionIndex,
+            f: F,
+        ) -> R {
+            match index % 3 {
+                0 => EvaluationPool2::<T>::mutate(f),
+                1 => EvaluationPool0::<T>::mutate(f),
+                2 => EvaluationPool1::<T>::mutate(f),
+                _ => unreachable!("index % 3 < 3"),
+            }
+        }
+        /// Mutate the evaluation pool containing the results sent by evaluators on this session.
+        fn mutate_next_pool<
+            R,
+            F: FnOnce(
+                &mut EvaluationPool<
+                    <T as frame_system::Config>::AccountId,
+                    <T as pallet_identity::Config>::IdtyIndex,
+                >,
+            ) -> R,
+        >(
+            index: SessionIndex,
+            f: F,
+        ) -> R {
+            match index % 3 {
+                0 => EvaluationPool0::<T>::mutate(f),
+                1 => EvaluationPool1::<T>::mutate(f),
+                2 => EvaluationPool2::<T>::mutate(f),
+                _ => unreachable!("index % 3 < 3"),
+            }
+        }
+
+        /// Take (and leave empty) the evaluation pool containing:
+        /// * when this session begins: the evaluation results to be applied
+        /// * when this session ends: the evaluation requests
+        #[allow(clippy::type_complexity)]
+        fn take_current_pool(
+            index: SessionIndex,
+        ) -> EvaluationPool<
+            <T as frame_system::Config>::AccountId,
+            <T as pallet_identity::Config>::IdtyIndex,
+        > {
+            match index % 3 {
+                0 => EvaluationPool2::<T>::take(),
+                1 => EvaluationPool0::<T>::take(),
+                2 => EvaluationPool1::<T>::take(),
+                _ => unreachable!("index % 3 < 3"),
+            }
+        }
+
+        fn do_request_distance_evaluation(
+            who: T::AccountId,
+            idty_index: <T as pallet_identity::Config>::IdtyIndex,
+        ) -> Result<(), DispatchError> {
+            Pallet::<T>::mutate_current_pool(
+                pallet_session::CurrentIndex::<T>::get(),
+                |current_pool| {
+                    ensure!(
+                        current_pool.evaluations.len() < (MAX_EVALUATIONS_PER_SESSION as usize),
+                        Error::<T>::QueueFull
+                    );
+
+                    T::Currency::reserve(&who, <T as Config>::EvaluationPrice::get())?;
+
+                    current_pool
+                        .evaluations
+                        .try_push((idty_index, median::MedianAcc::new()))
+                        .map_err(|_| Error::<T>::QueueFull)?;
+
+                    IdentityDistanceStatus::<T>::insert(idty_index, (who, DistanceStatus::Pending));
+
+                    DistanceStatusExpireOn::<T>::mutate(
+                        pallet_session::CurrentIndex::<T>::get() + T::ResultExpiration::get(),
+                        move |identities| identities.try_push(idty_index).ok(),
+                    );
+
+                    Ok(())
+                },
+            )
+        }
+
+        fn do_update_evaluation(
+            evaluator: <T as frame_system::Config>::AccountId,
+            computation_result: ComputationResult,
+        ) -> DispatchResult {
+            Pallet::<T>::mutate_next_pool(pallet_session::CurrentIndex::<T>::get(), |result_pool| {
+                ensure!(
+                    computation_result.distances.len() == result_pool.evaluations.len(),
+                    Error::<T>::WrongResultLength
+                );
+
+                if result_pool
+                    .evaluators
+                    .try_insert(evaluator)
+                    .map_err(|_| Error::<T>::TooManyEvaluators)?
+                {
+                    for (distance_value, (_identity, median_acc)) in computation_result
+                        .distances
+                        .into_iter()
+                        .zip(result_pool.evaluations.iter_mut())
+                    {
+                        median_acc.push(distance_value);
+                    }
+
+                    Ok(())
+                } else {
+                    Err(Error::<T>::ManyEvaluationsByAuthor.into())
+                }
+            })
+        }
+    }
+
+    impl<T: Config> pallet_authority_members::OnNewSession for Pallet<T> {
+        fn on_new_session(index: SessionIndex) -> Weight {
+            EvaluationBlock::<T>::set(frame_system::Pallet::<T>::parent_hash());
+
+            // Make results expire
+            DistanceStatusExpireOn::<T>::remove(index);
+
+            // Apply the results from the current pool (which was previous session's result pool)
+            // We take the results so the pool is left empty for the new session.
+            #[allow(clippy::type_complexity)]
+            let current_pool: EvaluationPool<
+                <T as frame_system::Config>::AccountId,
+                <T as pallet_identity::Config>::IdtyIndex,
+            > = Pallet::<T>::take_current_pool(index);
+            for (idty, median_acc) in current_pool.evaluations.into_iter() {
+                if let Some(median_result) = median_acc.get_median() {
+                    let median = match median_result {
+                        MedianResult::One(m) => m,
+                        MedianResult::Two(m1, m2) => m1 + (m2 - m1) / 2, // Avoid overflow (since max is 1)
+                    };
+                    if median >= T::MinAccessibleReferees::get() {
+                        IdentityDistanceStatus::<T>::mutate(idty, |entry| {
+                            entry.as_mut().map(|(account_id, status)| {
+                                T::Currency::unreserve(
+                                    account_id,
+                                    <T as Config>::EvaluationPrice::get(),
+                                );
+                                *status = DistanceStatus::Valid;
+                            })
+                        });
+                    } else if let Some((account_id, _status)) =
+                        IdentityDistanceStatus::<T>::take(idty)
+                    {
+                        <T as Config>::Currency::slash_reserved(
+                            &account_id,
+                            <T as Config>::EvaluationPrice::get(),
+                        );
+                    }
+                } else if let Some((account_id, _status)) = IdentityDistanceStatus::<T>::take(idty)
+                {
+                    <T as Config>::Currency::unreserve(
+                        &account_id,
+                        <T as Config>::EvaluationPrice::get(),
+                    );
+                }
+            }
+            Weight::zero()
+        }
+    }
+
+    #[pallet::inherent]
+    impl<T: Config> ProvideInherent for Pallet<T> {
+        type Call = Call<T>;
+        type Error = InherentError;
+
+        const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER;
+
+        fn create_inherent(data: &InherentData) -> Option<Self::Call> {
+            data.get_data::<ComputationResult>(&INHERENT_IDENTIFIER)
+                .expect("Distance inherent data not correctly encoded")
+                .map(|inherent_data| Call::update_evaluation {
+                    computation_result: inherent_data,
+                })
+        }
+        fn is_inherent(call: &Self::Call) -> bool {
+            matches!(call, Self::Call::update_evaluation { .. })
+        }
+    }
+}
diff --git a/pallets/distance/src/median.rs b/pallets/distance/src/median.rs
new file mode 100644
index 000000000..feab0d863
--- /dev/null
+++ b/pallets/distance/src/median.rs
@@ -0,0 +1,156 @@
+// Copyright 2022 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+use frame_support::pallet_prelude::*;
+use sp_std::cmp::Ordering;
+
+#[derive(Clone, Debug, Decode, Default, Encode, TypeInfo)]
+pub struct MedianAcc<
+    T: Clone + Decode + Encode + Ord + TypeInfo,
+    const S: u32, /*Get<u32> + TypeInfo*/
+> {
+    samples: BoundedVec<(T, u32), ConstU32<S>>,
+    median_index: Option<u32>,
+    median_subindex: u32,
+}
+
+/*impl<T: 'static + Clone + Decode + Encode + Ord + TypeInfo, S: 'static + Get<u32>> TypeInfo
+    for MedianAcc<T, S>
+{
+    type Identity = Self;
+
+    fn type_info() -> scale_info::Type<scale_info::form::MetaForm> {}
+}*/
+
+#[derive(Clone, Debug, Eq, PartialEq)]
+pub enum MedianResult<T: Clone + Ord> {
+    One(T),
+    Two(T, T),
+}
+
+impl<T: Clone + Decode + Encode + Ord + TypeInfo, const S: u32 /*Get<u32> + TypeInfo*/>
+    MedianAcc<T, S>
+{
+    pub fn new() -> Self {
+        Self {
+            samples: BoundedVec::default(),
+            median_index: None,
+            median_subindex: 0,
+        }
+    }
+
+    pub fn push(&mut self, sample: T) {
+        if let Some(median_index) = &mut self.median_index {
+            match self
+                .samples
+                .binary_search_by_key(&sample, |(s, _n)| s.clone())
+            {
+                Ok(sample_index) => {
+                    self.samples.get_mut(sample_index).expect("unreachable").1 += 1;
+                    match (sample_index as u32).cmp(median_index) {
+                        Ordering::Greater => {
+                            if self.median_subindex
+                                == self
+                                    .samples
+                                    .get(*median_index as usize)
+                                    .expect("unreachable")
+                                    .1
+                                    * 2
+                                    - 1
+                            {
+                                self.median_subindex = 0;
+                                *median_index += 1;
+                            } else {
+                                self.median_subindex += 1;
+                            }
+                        }
+                        Ordering::Equal => {
+                            self.median_subindex += 1;
+                        }
+                        Ordering::Less => {
+                            if self.median_subindex == 0 {
+                                *median_index -= 1;
+                                self.median_subindex = self
+                                    .samples
+                                    .get(*median_index as usize)
+                                    .expect("unreachable")
+                                    .1
+                                    * 2
+                                    - 1;
+                            } else {
+                                self.median_subindex -= 1;
+                            }
+                        }
+                    }
+                }
+                Err(sample_index) => {
+                    self.samples.try_insert(sample_index, (sample, 1)).ok();
+                    if *median_index as usize >= sample_index {
+                        if self.median_subindex == 0 {
+                            self.median_subindex = self
+                                .samples
+                                .get(*median_index as usize)
+                                .expect("unreachable")
+                                .1
+                                * 2
+                                - 1;
+                        } else {
+                            self.median_subindex -= 1;
+                            *median_index += 1;
+                        }
+                    } else if self.median_subindex
+                        == self
+                            .samples
+                            .get(*median_index as usize)
+                            .expect("unreachable")
+                            .1
+                            * 2
+                            - 1
+                    {
+                        self.median_subindex = 0;
+                        *median_index += 1;
+                    } else {
+                        self.median_subindex += 1;
+                    }
+                }
+            }
+        } else {
+            self.samples.try_push((sample, 1)).ok();
+            self.median_index = Some(0);
+        }
+    }
+
+    pub fn get_median(&self) -> Option<MedianResult<T>> {
+        self.median_index.map(|median_index| {
+            let (median_sample, median_n) = self
+                .samples
+                .get(median_index as usize)
+                .expect("unreachable");
+            if self.median_subindex == median_n * 2 - 1 {
+                MedianResult::Two(
+                    median_sample.clone(),
+                    self.samples
+                        .get(median_index as usize + 1)
+                        .expect("unreachable")
+                        .0
+                        .clone(),
+                )
+            } else {
+                MedianResult::One(median_sample.clone())
+            }
+        })
+    }
+}
diff --git a/pallets/distance/src/traits.rs b/pallets/distance/src/traits.rs
new file mode 100644
index 000000000..de9d532d6
--- /dev/null
+++ b/pallets/distance/src/traits.rs
@@ -0,0 +1,21 @@
+// Copyright 2023 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+pub trait HandleNegativeEvaluation<T: crate::Config> {
+    /// Do something with the reserved amount on the account,
+    /// when distance evaluation result is negative.
+    fn handle_negative_evaluation(account_id: T::AccountId);
+}
diff --git a/pallets/distance/src/types.rs b/pallets/distance/src/types.rs
new file mode 100644
index 000000000..8a3613344
--- /dev/null
+++ b/pallets/distance/src/types.rs
@@ -0,0 +1,60 @@
+// Copyright 2022 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+pub use crate::{median::*, MAX_EVALUATIONS_PER_SESSION, MAX_EVALUATORS_PER_SESSION};
+pub use sp_distance::ComputationResult;
+
+use codec::{Decode, Encode};
+use frame_support::{pallet_prelude::*, BoundedBTreeSet};
+use sp_runtime::Perbill;
+
+/// Status of the distance evaluation of an identity
+#[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo)]
+pub enum DistanceStatus {
+    /// Identity is in evaluation.
+    Pending,
+    /// Identity respects the distance
+    Valid,
+}
+
+/// Pool where distance evaluation requests and results are stored
+///
+/// Depending on the pool rotation, this may not be complete, and still be accepting
+/// new evaluation requests (with empty median accumulators) or new evaluations (with evaluators
+/// and new samples in the median accumulators).
+#[derive(Encode, Decode, Clone, RuntimeDebug, TypeInfo)]
+pub struct EvaluationPool<AccountId: Ord, IdtyIndex> {
+    /// List of identities with their evaluation result
+    /// The result is the median of all the evaluations.
+    pub evaluations: BoundedVec<
+        (IdtyIndex, MedianAcc<Perbill, MAX_EVALUATORS_PER_SESSION>),
+        ConstU32<MAX_EVALUATIONS_PER_SESSION>,
+    >,
+    /// Evaluators who have published a result
+    /// Its length should be the same as the number of samples
+    /// in each evaluation result `MedianAcc`.
+    /// An evaluator is not allowed to publish twice in a single session.
+    pub evaluators: BoundedBTreeSet<AccountId, ConstU32<MAX_EVALUATORS_PER_SESSION>>,
+}
+
+impl<AccountId: Ord, IdtyIndex> Default for EvaluationPool<AccountId, IdtyIndex> {
+    fn default() -> Self {
+        Self {
+            evaluations: BoundedVec::default(),
+            evaluators: BoundedBTreeSet::new(),
+        }
+    }
+}
diff --git a/pallets/duniter-wot/Cargo.toml b/pallets/duniter-wot/Cargo.toml
index 252e9e8a4..1af0bcfa9 100644
--- a/pallets/duniter-wot/Cargo.toml
+++ b/pallets/duniter-wot/Cargo.toml
@@ -18,6 +18,7 @@ std = [
     'frame-system/std',
     'frame-benchmarking/std',
     'pallet-certification/std',
+    'pallet-distance/std',
     'pallet-identity/std',
     'pallet-membership/std',
     'serde',
@@ -32,11 +33,14 @@ try-runtime = ['frame-support/try-runtime']
 [dependencies]
 pallet-certification = { path = "../certification", default-features = false }
 pallet-identity = { path = "../identity", default-features = false }
+pallet-distance = { path = "../distance", 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"] }
+scale-info = { version = "2.1.1", default-features = false, features = [
+    "derive",
+] }
 
 [dependencies.codec]
 default-features = false
diff --git a/pallets/duniter-wot/src/lib.rs b/pallets/duniter-wot/src/lib.rs
index 6acb51373..832f99678 100644
--- a/pallets/duniter-wot/src/lib.rs
+++ b/pallets/duniter-wot/src/lib.rs
@@ -25,12 +25,16 @@ mod mock;
 #[cfg(test)]
 mod tests;
 
+pub mod traits;
+
 /*#[cfg(feature = "runtime-benchmarks")]
 mod benchmarking;*/
 
 pub use pallet::*;
 pub use types::*;
 
+use traits::*;
+
 use frame_support::dispatch::UnfilteredDispatchable;
 use frame_support::pallet_prelude::*;
 use frame_system::RawOrigin;
@@ -65,6 +69,8 @@ pub mod pallet {
             IdtyRemovalOtherReason = IdtyRemovalWotReason,
         > + pallet_membership::Config<I, IdtyId = IdtyIndex>
     {
+        /// Distance evaluation provider
+        type IsDistanceOk: IsDistanceOk<IdtyIndex>;
         #[pallet::constant]
         type FirstIssuableOn: Get<Self::BlockNumber>;
         #[pallet::constant]
@@ -247,7 +253,8 @@ impl<T: Config<I>, I: 'static> sp_membership::traits::CheckMembershipCallAllowed
     fn check_idty_allowed_to_claim_membership(idty_index: &IdtyIndex) -> Result<(), DispatchError> {
         let idty_cert_meta = pallet_certification::Pallet::<T, I>::idty_cert_meta(idty_index);
         ensure!(
-            idty_cert_meta.received_count >= T::MinCertForMembership::get(),
+            idty_cert_meta.received_count >= T::MinCertForMembership::get()
+                && T::IsDistanceOk::is_distance_ok(idty_index),
             Error::<T, I>::IdtyNotAllowedToClaimMembership
         );
         Ok(())
@@ -257,7 +264,8 @@ impl<T: Config<I>, I: 'static> sp_membership::traits::CheckMembershipCallAllowed
     fn check_idty_allowed_to_renew_membership(idty_index: &IdtyIndex) -> Result<(), DispatchError> {
         if let Some(idty_value) = pallet_identity::Pallet::<T>::identity(idty_index) {
             ensure!(
-                idty_value.status == IdtyStatus::Validated,
+                idty_value.status == IdtyStatus::Validated
+                    && T::IsDistanceOk::is_distance_ok(idty_index),
                 Error::<T, I>::IdtyNotAllowedToRenewMembership
             );
         } else {
diff --git a/pallets/duniter-wot/src/mock.rs b/pallets/duniter-wot/src/mock.rs
index d4e95beaa..29fb7731d 100644
--- a/pallets/duniter-wot/src/mock.rs
+++ b/pallets/duniter-wot/src/mock.rs
@@ -101,6 +101,7 @@ impl pallet_duniter_wot::Config<Instance1> for Test {
     type MinCertForMembership = MinCertForMembership;
     type MinCertForCreateIdtyRight = MinCertForCreateIdtyRight;
     type FirstIssuableOn = FirstIssuableOn;
+    type IsDistanceOk = crate::traits::DistanceAlwaysOk;
 }
 
 // Identity
@@ -190,6 +191,7 @@ impl pallet_duniter_wot::Config<Instance2> for Test {
     type MinCertForMembership = SmithMinCertForMembership;
     type MinCertForCreateIdtyRight = frame_support::traits::ConstU32<0>;
     type FirstIssuableOn = SmithFirstIssuableOn;
+    type IsDistanceOk = crate::traits::DistanceAlwaysOk;
 }
 
 // SmithMembership
diff --git a/pallets/duniter-wot/src/traits.rs b/pallets/duniter-wot/src/traits.rs
new file mode 100644
index 000000000..7c3d7b220
--- /dev/null
+++ b/pallets/duniter-wot/src/traits.rs
@@ -0,0 +1,27 @@
+// Copyright 2023 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+pub trait IsDistanceOk<IdtyId> {
+    fn is_distance_ok(idty_id: &IdtyId) -> bool;
+}
+
+pub struct DistanceAlwaysOk;
+
+impl<IdtyId> IsDistanceOk<IdtyId> for DistanceAlwaysOk {
+    fn is_distance_ok(_idty_id: &IdtyId) -> bool {
+        true
+    }
+}
diff --git a/primitives/distance/Cargo.toml b/primitives/distance/Cargo.toml
new file mode 100644
index 000000000..6ee9db251
--- /dev/null
+++ b/primitives/distance/Cargo.toml
@@ -0,0 +1,67 @@
+[package]
+authors = ['tuxmain <tuxmain@zettascript.org>']
+description = 'primitives for pallet distance.'
+edition = "2021"
+homepage = 'https://duniter.org'
+license = 'AGPL-3.0'
+name = 'sp-distance'
+readme = 'README.md'
+repository = 'https://git.duniter.org/nodes/rust/duniter-v2s'
+version = '3.0.0'
+
+[features]
+default = ['std']
+std = [
+    'async-trait',
+    'codec/std',
+    'frame-support/std',
+    'serde',
+    'sp-inherents/std',
+    'sp-runtime/std',
+    'sp-std/std',
+    'thiserror'
+]
+try-runtime = ['frame-support/try-runtime']
+
+[dependencies]
+async-trait = { version = "0.1.50", optional = true }
+thiserror = { version = "1.0.30", 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'
+
+[dependencies.serde]
+version = "1.0.101"
+optional = true
+features = ["derive"]
+
+[dependencies.sp-inherents]
+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']
diff --git a/primitives/distance/src/lib.rs b/primitives/distance/src/lib.rs
new file mode 100644
index 000000000..997224181
--- /dev/null
+++ b/primitives/distance/src/lib.rs
@@ -0,0 +1,110 @@
+// Copyright 2023 Axiom-Team
+//
+// This file is part of Duniter-v2S.
+//
+// Duniter-v2S is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// Duniter-v2S is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
+
+//! Defines types and traits for users of pallet distance.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+#![allow(clippy::type_complexity)]
+
+use codec::{Decode, Encode};
+use frame_support::RuntimeDebug;
+use scale_info::TypeInfo;
+//#[cfg(feature = "std")]
+//use serde::{Deserialize, Serialize};
+use sp_inherents::{InherentData, InherentIdentifier, IsFatalError};
+use sp_runtime::Perbill;
+use sp_std::vec::Vec;
+#[cfg(feature = "std")]
+use std::marker::PhantomData;
+
+pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"distanc0";
+
+#[derive(Clone, Decode, Encode, PartialEq, RuntimeDebug, TypeInfo)]
+pub struct ComputationResult {
+    pub distances: Vec<Perbill>,
+}
+
+#[derive(Encode, sp_runtime::RuntimeDebug)]
+#[cfg_attr(feature = "std", derive(Decode, thiserror::Error))]
+pub enum InherentError {
+    #[cfg_attr(feature = "std", error("InvalidComputationResultFile"))]
+    InvalidComputationResultFile,
+}
+
+impl IsFatalError for InherentError {
+    fn is_fatal_error(&self) -> bool {
+        match self {
+            InherentError::InvalidComputationResultFile => false,
+        }
+    }
+}
+
+impl InherentError {
+    #[cfg(feature = "std")]
+    pub fn try_from(id: &InherentIdentifier, mut data: &[u8]) -> Option<Self> {
+        if id == &INHERENT_IDENTIFIER {
+            <InherentError as codec::Decode>::decode(&mut data).ok()
+        } else {
+            None
+        }
+    }
+}
+
+#[cfg(feature = "std")]
+pub struct InherentDataProvider<IdtyIndex: Decode + Encode + PartialEq + TypeInfo> {
+    computation_result: Option<ComputationResult>,
+    _p: PhantomData<IdtyIndex>,
+}
+
+#[cfg(feature = "std")]
+impl<IdtyIndex: Decode + Encode + PartialEq + TypeInfo> InherentDataProvider<IdtyIndex> {
+    pub fn new(computation_result: Option<ComputationResult>) -> Self {
+        Self {
+            computation_result,
+            _p: PhantomData,
+        }
+    }
+}
+
+#[cfg(feature = "std")]
+#[async_trait::async_trait]
+impl<IdtyIndex: Decode + Encode + PartialEq + TypeInfo + Send + Sync>
+    sp_inherents::InherentDataProvider for InherentDataProvider<IdtyIndex>
+{
+    fn provide_inherent_data(
+        &self,
+        inherent_data: &mut InherentData,
+    ) -> Result<(), sp_inherents::Error> {
+        if let Some(computation_result) = &self.computation_result {
+            inherent_data.put_data(INHERENT_IDENTIFIER, computation_result)?;
+        }
+        Ok(())
+    }
+
+    async fn try_handle_error(
+        &self,
+        identifier: &InherentIdentifier,
+        error: &[u8],
+    ) -> Option<Result<(), sp_inherents::Error>> {
+        if *identifier != INHERENT_IDENTIFIER {
+            return None;
+        }
+
+        Some(Err(sp_inherents::Error::Application(Box::from(
+            InherentError::try_from(&INHERENT_IDENTIFIER, error)?,
+        ))))
+    }
+}
diff --git a/resources/metadata.scale b/resources/metadata.scale
index 6c236f8d95a610f8b1044687302dd08fea17a14d..11d3bc5da37cff7bbbecf45c200e1d612b5caff4 100644
GIT binary patch
delta 10297
zcmbVS4O~@Kw%=>tbMd067X`h1dPq>vtAUDwA_;;*$~X9tB3`%$xC-~;{V*vRw9>Tk
zv#o7yrWvW62|r5SRqt3a>MN%l$BHJOQCXq!CYwh^r7vGOy>-sH7p@=k@t!}t=bUxc
zUVHDg*Iw(t);{~!>E76*8&EGfO+ym2Z3DVBP{evPQBdX{BzQE;s>=vSN+;upp1rKg
zXA5;BA&S{_MG(VI>lQ;CiwK+yNvt3+RY(O`$C`4&*#5v_kimWzXoOtW9XJN^+(85X
z7y<_O#prExNo}4~Un$v(rFz?H$vnqytIw=6Rjr(FaX1B{2V?2<=_*IAnP_!KGsJp@
zU#vAb#7arBigvZ7SdC3ZXRRbw%I)j0y?as2n<1=tO7t{?T{1ar*1-Tra?Q?0r884q
zu|iD49{h*}C;~?#v!}DPsn0g2HJIw^Bxi-iELoivXJd%7u|aZV`883w1*2b62nNtc
zX0K_m*d;R|#E@sQx=eKhNQlBE5M=OgKq!eUmR8$VBD;p*+n^k^-+2{gm(}8w>=h5%
zoNC{Netj>rIo0k7=(1ErIchBp{XMJwVaFsC_^C#Sbl;ddmAZ4%-=zF>BSa{V5aUiv
zeVyX^4aum61h*?=JU{|#$(#!l*wxH?@wX*2luevnf{Xje?2jOsRb;)Q{1&hk*-gq_
zKASq{DZD#Brvy@2%-q*tChMNN3x8wgMzW`J95e&?&BtLRyC=65vfY2mT>+5I1BYTy
z%jZeH+pp$50@=(yzZ!Dgo%8=d(O&iyye->dLrK}tGMoq%$zu7kmXx#iN~VE{1(jy#
zOh^jQ6N#0TP63PiiPCrh>X~~{Cb-<!7kvuU0z7gHM6>G;=)>ye_N##49}#qkiNqxn
z5=kTLSUQ3wFPQ^PZ0(XUv<X-TOh{f2BnS*vo4wvtw;n(!C1A8QNOqIcVzc&<V(U#-
zv&m_*H!3{rt)*dX)Y3HAz?LqJ!rzCMMuu(xNGWKLo24z3EH$;xbV4?;gG=LJGj=@=
zwz40WhSRM|w=BDSGVElH<!P{+9WQ?l_Ob_-&78a!grM2B2L+)No&h2d{2|H@Z2^LR
zIHCQZC;RbEqr+D^((3->vUe#x47^YR<IFY?N|1|$X~3{Rs!A)xF(A#Lj!Tw%3_z#P
zw^=1@t}n6GO9DBD;_&Yn8&Eku<^&is>ugmk^Ih`Z1^tvlWsf)t?3Nmf6+pvED)XaG
z;2xNbF9@X6n;I*n3e=dzX0}wF0ocWY9R~Ivl_Nqx1GhFO<iwLz6QG?<tcs<f8dh30
z4Ij2tMGa{%lr%b=QoTSVfWxd!TFQo-M+v6^PACsgnxo(>J7Qid^!i9!q!_ryUX(Tn
zS_<bCE>=BJ7);@U@(@!q4no;F>vDFeMiinbv?*j`ZM2Z!dpJ-#iY}(?C21K;utd^E
z%G%7!*nUfl&_uC6c^G3>#L@LC%fS`ngbfrfDfHx(lZD+BI+cevS0>QCDpOJ2J#Y-W
ztzdtyi>4<OiP5tqyVEEZyU@+lOX*}h5wp;XnXFZ){&uBZh>zgMW@M)N;lc$99ZDzf
z)yE5$s8=CNt)rm}yID`W)qYL31fj<_o-b@;pqB+VJS^PsP4&MTM$ur6GS!u<M$ps1
z@`J<JFIUZkGi->X7}ufq+gMg)f3@$~<T&bgKbmcE9=PTCu&W)PSFVmjP3>Hri)--V
z>Z!B~*w|;I*%NEtVX$VBN`x-=$~B(@bh}F*dK8fM{=<o>9iYoKLnmM;5N*}flGQBP
zJJC8Z8i3wWXLDXcBP+oxfy8Qy-QldLl}yOf!7|o{4ekIi<S5UCbg-JWlX2C5u{It(
z#_MYz!23~6v9uF-Q92A~i<(B`qOENjgBp9TDH~kuYSR?jt-Ot3(|<M!uJWW=5Eb16
zkeE?dXM0dG%N;x9ZE+R<3p#^=^swDOb3w0rQ1d$!4ez7%)8Gd06(P($;gM~E@BYHZ
zlc3&*Yt53w>18>;DauO@V-p?;VTLCz`C1J9Il4fVjeWoEFx+6j*=~ZHOt)j+7@#07
zaiz=<Cnc8Swk9`mFaetgP;>wxiUZKnphc`mJA!TBkq9^3r*`1}31mZeCAk+q=}~Xf
zy@cjnMvV~Y<3Gd0hulDQ8}b$3Cy*PghlhnCDK?|3%7&&YF9acjY0z@ELu+7@_XI--
z%ii-V2xgz{`SpwjH9S|SQM*D8(iMFHT7XzD-D18i)C<Bcme*w%d`m#*>!-u~pkR4k
z>y&wgvJdyBLl_Hxx^Z9_l4%E!D9V1iXCyoNbOc7Vcb?AHA~qSZuPzX+=Jm8pQ>DZT
z_Dy6b_ASC_H>@QKe;2l-(FDp8V@I+>EmJVob+u%ng}TQ+8xH+Xo1U|1@#&ivio=p9
z<YcdMSytPsln9WPV-)kzi6*h~))XO`V)*-^HIbcdod|jC`_@Gm6pIcd1f)`-1f$`)
z1NVx#6b$hTjABUw0fR%TvRTc3B$A5!!`bBn(~&*uV0>5xb|{%AB_}7PPM=<4sj-@z
zE;~Bs47Ti`7?<r^|EW{T3CWh#GfPoVF5U{dR63KAJY@t${Ua#5a|C`QQp92o6$F(j
z0*Yh-i`kAtGoYOP=}<hZdhXgGiuc!Fd;qsn(Mv1wxBaC_AhEAsijA;PD3rrWL4#?P
zOUiTAIV~o$*^c^=*u6)_23k-kt*4}(RUDa2S5ek7b_{#@$dE7>&eCDObCxdFbwnI`
z>nt0YzRjq*Be$t74)C_^daV24zd5`+$iSu@?eXogDvUzy%;XsDt~pi*w288@<D%KO
z$46tclb%R6+4FN~cc1i>fb7M^@dmf?M7TgVP`<Vj!r8?ugPE;80z>q&>m%GP?PXeQ
zXL1Z@17C{<lRM$H`4C}3Jg4HX+48m^AU4=-4K{~K>Db5m@2{5$*uro&m7>lxe~!n1
z|M0m8B=K`A2PmXjfha1-HF**VaR2(;FSPvrK`>vxSymb$Tk(IuPD*yN*`1^5Zp!XY
zx`#c{nT`J7oz52JH=P~%U?;{IeqSA8>?I!}tb4{Seq066;(qLt&A_I963xbU4V-_N
z!YnTokpX4CNe(*j|AWdbrz;0T=gzLb&}S$c6(7df<uG)ihcAoJ!rr=^fEmE|m+wJJ
z#1*k<KlUtDnH?s7W5${7r$Ld9hKeeiT?$d&$NJg2Kw7ES&rMB6J8#7XnheFx53?;-
z#tv*l0u2OmjLJAS+<o!NXex)+q|_+)tiKMU&FwVE2j<P*z-mxIwgOWS_+U(_vrA~T
z7)N|871C-`olDv0xSO^VtFJ|qRrF;9qSJ<{i0I{$%vr7mgn^P@LjiKCY|ZrzE~g@=
z!Y(;*Tb!nlHQUxlEmnvGgj4akR!l-L-AE7%U5;A0ul_+`!Xr19JC&VdgUwdAwAyB`
zk}B@#RtK@(b~ZbK<~?bpB4$n1c3kNShk~T0PoHhGR$FS)r%(6u=Q!BDQT@ZQQeoG>
zG(fXFz-H_e^Qb<(BD8V396IRJqaL1DM|fMt<u^##P;(IjtdZTO(*7(30IwOx|HBD3
z_s!7Q2dqjI842k`6Zv|Hgi1w?`UdE)bG0u-ApYx4o>#M0htkZ;VyPCFtGCNVi$h#4
zqv+)mNfL~k;CnGKQF$fzWm1Evi24y9to0_a4R%YF#483s=t8^bs53cgCG$EF-($8b
zH}bOud7&^ll^hd~j_VVj)F-}w*tfRh>!w3q^J%Ix;&$`R_b#?bFhcuYJI+u@l>K_4
zWUsW;)uBH>Bkwp1kh9c3c{oq+NFL53BccTPBIrm5#lN7mbni0zI#83_lq~PoEK!yQ
z)7r>FM12-(4Q}<21*STS0yr+Hn;c!U5jx$@&;J`}r|Nh%elbBnh!DiTT7j;+<BOE=
zV2mpzlEZ;X*F34wvCwX6z)XaYOZ~oqc2PDoBZAp_%3y-~Oiz>sFIT>PjzTwk{M$U$
z^9SgaIO6X8wvH;4F>sY_xIP|3N89yRbbh2U?w5bM5&)a|uL3}XWY5U}xG0RfdW)Kp
z@6551QAhaKL;0!=a1Xyc2;yKS*9F0&(95?3!9*_t<OwlYV7SI-#6Ywf13d|Y;bk9o
z<Tr=FAjtM$W_{u|nv!jMf`b90sgin+V>|2tp2vs73Lm`mw&o*8!dPko9y1h%50utm
z0Yu(+CQtcDi0$Lu76lQW<Kggo>K&Q~DO>wGRbCg4f_+{}^xY?bf!Wg(1K&WxwOdq_
zeW!}DRTbUfdqzXjfSVN7qDk_iu@L3y84cwc6$f~1V__wQo1PC7z)2}+c#%<2mE03E
z!U(vv>G=szMhD)M&AA;2vKtd|@>&fqON41OP{X$+LY^>KgP^ue%HU!W=<qF;1`Iqi
z2{L7ljY-fvVz5T%3t;*MHq}xwooXpC@KKW>OP#&Jvvv|x0+>9XV69BP1}DQ}uZ9es
zN2dali6c|sIE7GNAi)Iw!*m!nFboSrv<(ri2D7pV&!ib}03e2cya1+-jnk+(eS%+3
zABX&ct`iI-L2ikU6BKE)1(i3+k2gu?5J<Ade<!DE?%2tx$cIai$_vvWlK){Qj6@6l
zcqWX63?7gU#^`Jfl$I!f)?{y7P&}v5E@fG2Frdn1t(kJO<#36&A*+Ju6b_rM8nLV@
zQg<KB8`PK7k!+Rv(0!15_hz~Lr~6QgYHl|Cj@*poc}%kaO`ynQ&V-XN!~jNgU|5Dw
zU>Z-#g5kH(JjGe?B|sU^m;>u!v7+D5a<6_RKb@7!9K(6cT!@7IJbf-q9AeS{mht4`
zp@R?;e`qdD36x~jmTQPbQGRH>SJEm!N%g9vpd1)Ad_P2Hn(E}N9~VvsI*S=)=RiW>
zDp^jwhPZe`4os$v8g^;D!PA}tjTD;rw0SUY_<9ZKT}hKt2w9KJ+5u#PhIh2!LhYD`
zerU6&Z5}M3!d8u%tntzLFbV{|Js-k^oj&60`7jI;`Ne$L(L7&8w7KTKnk<$l5htl+
zIllGfa+0}FrRLk5{@hx@+|O;bIsIFt^tG6SnAuDMgjrr*nX%f&A1{C~7{FT!Al{%8
zVo|hcd(bM`<vW#=1oEx|h=qYXpb+kbL40Z<Y=qsas`q+T{fwWg_wt_#Ve7zWWM%Hv
zkQNR5Xm7aZND=%Qa1kFXfn}+iDNK<AU9r?)vt#8IBV8-93%VnT<gnbXO+)Zc4rMWv
z98>O2XcEZ@9#IP8X}bm!&@hjw6ipUR^MhsZ6rACi3&0F#`EM7%Sp9ho#Cjo%oHm}7
zO)Lk_^RWvdj&^7;6Akm!ECk%27ZmH`Z$AJ7LOcCt(J2q(9db#-plSq%B`|VWmj)|+
zCfu8(OCwh(Nf#ft1Xe>gZ&?EO;Rfki0!8>Fy9>piAW3l@-CiyA_{r~)<#%gHuQEA3
zA=fl)=b<qE%~E)W-q5h%wh;b)IV^yi{N82oYBbKs=$#Q}E|^B3m%vJdpcC~(D=1}0
zrB50tV0snqsj9%4(!uJRP*L?qWmv6|^)A;Vg9U!h1lDj|ixipGhuu)N-fC)eZ004E
z=%Ygg52k2X+zeA?#YcIaTa3^zEJ_&)N+&URNAWREz|1L@e^8Ew^R9$pGQqQ@8unw<
z=aW{z+(AhKF@PRXyeWx4wgTorGC#KhOv7dh5HDj;FE}Adf}HH|g)5<8QnGN1?-cIz
zo!GhTJC)H8J$l3US3=3~40%l10>M92n0}@}ay{voyJ;bhFI)xl&~=?`1TCdy0_HL!
z_$de2>0<eQ6hBZ6L7oaHPN2D5xFfsqBC71Z1f~#^1zmsT21sllpvH=^4vhWK(qR&y
z9Wv#8DVgOJQ0A>*Z=;wenJp$Ou89u}8pY<kj71gM3o_=HWt0{amsAvH7gv;Imz3ld
z<fkVX2V$DxaF$J;l;+2VuWsct;^M~lWh{;+0inHj1ev9FNkW9)ZwN;57MYQMr*E_+
zlWH2xlGijE{Y(Q(tFqE90<qkwKSRAT&)B}{%C&LCyFn1?Fv-B%Q7^z_{yHi(ifI1{
zeq$?1$4Mp1f+m}+Du%jav!tp0R5)Cf3dqu{`9G=m4t$k&;4Z&`uTlnX!DVyF_Jfa&
z@)hUPB<Ou0B(hRnzbx;yqSA?Kl+&=Z+w`i#nGtmxt{1Sn?^CzD7bDgSg6N~jDnOMH
zxgbF{r~~A>EikNk^Ia6ELi~_yyWM72^6U8d8JJ<4%$UXXn<Yw`GTUTDr;j<XWM3`e
zHd%@%W{v$Uj?Bgkm$Mf0SV|V%_A1vZA4W8<M1&#c+q`T7iO;v?de7{LmdJ@%b{!s1
zRMtszZ1#T1B!I*gxg?h~$Aw1~14ve>&F0sE&F(<Inzhhwv(~5?`h3Y+<E$ltL^uWm
z0|NtRyBto;-1yrTM0H!eeq^V2&+fi`pAOoqES!99BVfuA<$1RWu3&A3A8*DOkj#H-
zMlZdY7p;Tgu-_xCgF`}KtGu#@1#*}-Y`|bXbpxbAn|%Ln&@n~Y3Bf>4sB010?lqRv
ze#X+yw{L`Li1^>w2vhL#<3@-LIW0?V7swe!#90(^)+^$?S44-Oi1Xa_IQ%TILvD0l
zAQwD8J`NmD68Nqs;8lcXML&nlw9C&PFw{hB!H|5F&)b4|Ob=hR1)_%T2Z&T^)hSrQ
z=@k$fhpSHPwJq=nU`{h<8_c=yhI(*>4yeBZ1T8cqdyUg>f*S&AFA<FfZ-^k?6hN!h
z25JXuL$xv5I4!x!f3+RLdG|I*q@d-$-VR|raXUt4t@mN|c8nZ>%EJsg*h{>&9mWg_
z)<RIW-GuQ+>lw2Hj_8F@ty((gU+;s6tS~Kh9i@f3+lnZ)5*~)x5VI-4D@?0PtT9Wg
zE9~l7PNert2ZxM}c|i+I(_@iOluw?OVg`xv4&tR25NVuN25ot;!!znxcu|1Gp0|Dj
zOR(VT8P^K607aY~fcPW{pwN)0oWrR{iH=6Zt8|2+l?)={{jD8%05A(4dGZg51O_c1
z{eBDo>HvfW`3MKc1wF@u4??6MQ~0EV809we#)EJKcJgtDpaOP#o;U<=0JQSr7vUTn
z_C&t~LuE)a@d!rTC=JJCBo`Bq`E8h)Ug8h8K@(i^+-QRgOq=<Pqi7c~p6`#sFR+Tv
zcOAzZC)xAmaR?V6mj}KA4+Z3E1frY3hrEJDz5f-cgR`Dtufjuk<jc4I9@EHPPsB-h
z2!tZdPT(!45Q`T+3wr)Prw~e&c`8mrsRn6BUxzJV;TdNT<+%9zGf)86JRN7y-l35P
zz5(foj&t5XjJUy5{|0=k8K9-Ghu~am&Y@jKdbXYe1He}Pn?J$m(AYlg3giVeFBnYW
zc|P+ZjO3@z!)S`S8TJ;8Mua)_EqD;qvlrh&g|+aCw;^<>4za%s8SzL+(2D!{qi=&#
z)2b=s|MNB!@@*Y36?;9?0pFo6Uw&6k^I~}Zd$^g8@lEf+{R8m$@hE|I-uWJ86sP%h
z`PCUu;spq#kie&3gvrq1v0jALczVgZJE0i0p7H_0%U=HW2UsLn%u7Cm_iz)%e*~rB
zm==6S;D#n-N?AjV9S_CS(^-P*c<LiaK<IYrBS_WbPz8CS>nVIqAW-0emmpb&X0t9q
z3J#|65@b<?V<#_xgu{>f7+%$Fpzs}mP=R0l7{*`{tp5bQnulLG;KnQ!^RZYUmStg`
z(i_UL?qZOMWoDHntB<7$LxFr2ZY(r8(D%#y4j>5SCVmPLBX(2xF=R@fX-)rIy?!6B
z_!M!cg&+SEN`nmI@-O6Fg??ZkAJzq<MKQkKk&semR;8(_o<Uq!Fihn-!smD4-0S({
zU8t!zzVtGhT>?LQ8Rs#9e|;G?0p*QXU<O`}U4iE@t$pA#RP<iY;m=?opymFq8^)o5
zzVZcp!!P_N>=%y7S^CfZ0+(=OF8v%c;WA#+1KGG5hkIZqUjEtx_rM80<V);!&sA8{
zyjU3DSAm4SyU4Wupd<seL?GpuVi4g4(HqAsl0(Gev`aE81w&uq%&#DLn~0>lifH~n
z$(VFk8UL~f#XkWN*D3l}e)zm+VMMd=rl`F0);=v&wYOGZ?XEgWtjE|Y*Ve0K2P>Hu
z`2zawMM6QVKab^$kYDy`(@!a)w+vd@*jH*M36&sX#q=(vSS-V$>EitGO9S(5rFZ<k
zLoUC|5XG#FRw>mQb3qjUUJ19kuY~(g3b^}}@%;1J?Zid5PG0@grvSgYKqYLztt@=x
zZ!hz3)_sQJRfHsem!xbw(V^BwMFn@pW?9T-%Gm{w?@`bTs7<q<BKhBb50M4!lnDNI
zCReKs;^&wt%KwB-Vn)4u0@kl6v&)X<TR%ClSuh$)>MhRN5?3X!xQrVx`wN(bK6v97
zh)>kbh0x-~zvA|~Kp{%qUORbm50-lFw!P#}9%6X#mv9+9^LJl@F=(%l0J2-_!mpY<
z#;+g+kHNUq3vrsgLJQy83*&`u3Q3+<d!dA4=CA(_-FYkD^c~g-TlsIl14;f+B9-f}
z!KzVhLV8G{-L|F?)C<<6@d>x1taNgW@4JSv?hG%#4yi&fg$&Qr*WocC_=0d>WSP@a
zhhL4MBc|v)?)?EHW+!j_0jkk=fBFL?LKhGI5wb#pH5l<D6H%^mXqbs7!rdOrkANRy
zUFExPVzB7u34cS+*W+3DH_$?JuaI#Kae2;cFZOsqvfE0O?;~ysn`SB0k_M@2fn=8p
z-=Ni}D74ZwUW!($PgE##C9CAHI0Chz%8`c=49o1!#=%-K-Y30E3e|2hDo-ld(8Opr
O@tzh4L&UWyO#8oWWzD|;

delta 7468
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

diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml
index 4a7412e77..bb74d5ea4 100644
--- a/runtime/common/Cargo.toml
+++ b/runtime/common/Cargo.toml
@@ -8,11 +8,11 @@ edition = "2021"
 
 [features]
 runtime-benchmarks = [
-	"frame-benchmarking/runtime-benchmarks",
+    "frame-benchmarking/runtime-benchmarks",
     'frame-support/runtime-benchmarks',
     'frame-system-benchmarking/runtime-benchmarks',
     'frame-system/runtime-benchmarks',
-	"pallet-babe/runtime-benchmarks",
+    "pallet-babe/runtime-benchmarks",
     'pallet-balances/runtime-benchmarks',
     'pallet-certification/runtime-benchmarks',
     'pallet-collective/runtime-benchmarks',
@@ -38,6 +38,7 @@ std = [
     'pallet-babe/std',
     'pallet-balances/std',
     'pallet-certification/std',
+    'pallet-distance/std',
     'pallet-duniter-account/std',
     'pallet-duniter-wot/std',
     'pallet-grandpa/std',
@@ -50,27 +51,29 @@ std = [
     'pallet-scheduler/std',
     'pallet-timestamp/std',
     'pallet-treasury/std',
-	'pallet-universal-dividend/std',
-	"serde/std",
-	"serde_derive",
+    'pallet-universal-dividend/std',
+    "serde/std",
+    "serde_derive",
     'sp-arithmetic/std',
     'sp-core/std',
+    'sp-distance/std',
     'sp-membership/std',
     'sp-runtime/std',
     'sp-std/std',
     'sp-weights/std',
 ]
 try-runtime = [
-	"frame-support/try-runtime",
-	"frame-system/try-runtime",
-	"pallet-babe/try-runtime",
-	"pallet-grandpa/try-runtime",
+    "frame-support/try-runtime",
+    "frame-system/try-runtime",
+    "pallet-babe/try-runtime",
+    "pallet-grandpa/try-runtime",
 ]
 
 [dependencies]
 duniter-primitives = { path = '../../primitives/duniter', default-features = false }
 pallet-authority-members = { path = '../../pallets/authority-members', default-features = false }
 pallet-certification = { path = '../../pallets/certification', default-features = false }
+pallet-distance = { path = "../../pallets/distance", default-features = false }
 pallet-duniter-account = { path = '../../pallets/duniter-account', default-features = false }
 pallet-duniter-wot = { path = '../../pallets/duniter-wot', default-features = false }
 pallet-identity = { path = '../../pallets/identity', default-features = false }
@@ -80,12 +83,17 @@ pallet-provide-randomness = { path = '../../pallets/provide-randomness', default
 pallet-upgrade-origin = { path = '../../pallets/upgrade-origin', default-features = false }
 pallet-universal-dividend = { path = '../../pallets/universal-dividend', default-features = false }
 pallet-session-benchmarking = { path = '../../pallets/session-benchmarking', default-features = false }
+sp-distance = { path = '../../primitives/distance', default-features = false }
 sp-membership = { path = '../../primitives/membership', default-features = false }
 
 # Crates.io
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"], default-features = false }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 log = { version = "0.4.14", default-features = false }
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
+scale-info = { version = "2.1.1", default-features = false, features = [
+    "derive",
+] }
 serde = { version = "1.0.101", default-features = false }
 serde_derive = { version = "1.0.101", optional = true }
 smallvec = "1.6.1"
diff --git a/runtime/common/src/handlers.rs b/runtime/common/src/handlers.rs
index 95a6ccabd..e05a97d4f 100644
--- a/runtime/common/src/handlers.rs
+++ b/runtime/common/src/handlers.rs
@@ -28,11 +28,11 @@ use sp_runtime::traits::IsMember;
 pub struct OnNewSessionHandler<Runtime>(core::marker::PhantomData<Runtime>);
 impl<Runtime> pallet_authority_members::traits::OnNewSession for OnNewSessionHandler<Runtime>
 where
-    Runtime: pallet_provide_randomness::Config,
+    Runtime: pallet_provide_randomness::Config + pallet_distance::Config,
 {
-    fn on_new_session(_index: sp_staking::SessionIndex) -> Weight {
+    fn on_new_session(index: sp_staking::SessionIndex) -> Weight {
         pallet_provide_randomness::Pallet::<Runtime>::on_new_epoch();
-        Weight::zero()
+        pallet_distance::Pallet::<Runtime>::on_new_session(index)
     }
 }
 
diff --git a/runtime/common/src/pallets_config.rs b/runtime/common/src/pallets_config.rs
index 36c0a294f..74093f6b7 100644
--- a/runtime/common/src/pallets_config.rs
+++ b/runtime/common/src/pallets_config.rs
@@ -430,6 +430,7 @@ macro_rules! pallets_config {
         use frame_support::instances::Instance1;
         impl pallet_duniter_wot::Config<Instance1> for Runtime {
             type FirstIssuableOn = WotFirstCertIssuableOn;
+            type IsDistanceOk = common_runtime::providers::MainWotIsDistanceOk<Runtime>;
             type IsSubWot = frame_support::traits::ConstBool<false>;
             type MinCertForMembership = WotMinCertForMembership;
             type MinCertForCreateIdtyRight = WotMinCertForCreateIdtyRight;
@@ -480,12 +481,22 @@ macro_rules! pallets_config {
             type WeightInfo = common_runtime::weights::pallet_certification_cert::WeightInfo<Runtime>;
             type ValidityPeriod = ValidityPeriod;
         }
+        parameter_types! {
+            pub const MinAccessibleReferees: Perbill = Perbill::from_percent(80);
+        }
+        impl pallet_distance::Config for Runtime {
+            type Currency = Balances;
+            type EvaluationPrice = frame_support::traits::ConstU64<1000>;
+            type MinAccessibleReferees = MinAccessibleReferees;
+            type ResultExpiration = frame_support::traits::ConstU32<720>;
+        }
 
         // SMITHS SUB-WOT //
 
         use frame_support::instances::Instance2;
         impl pallet_duniter_wot::Config<Instance2> for Runtime {
             type FirstIssuableOn = SmithWotFirstCertIssuableOn;
+            type IsDistanceOk = pallet_duniter_wot::traits::DistanceAlwaysOk;
             type IsSubWot = frame_support::traits::ConstBool<true>;
             type MinCertForMembership = SmithWotMinCertForMembership;
             type MinCertForCreateIdtyRight = frame_support::traits::ConstU32<0>;
diff --git a/runtime/common/src/providers.rs b/runtime/common/src/providers.rs
index 4582513b9..151f70ece 100644
--- a/runtime/common/src/providers.rs
+++ b/runtime/common/src/providers.rs
@@ -106,3 +106,18 @@ where
         }
     }
 }
+
+pub struct MainWotIsDistanceOk<T>(PhantomData<T>);
+
+impl<T> pallet_duniter_wot::traits::IsDistanceOk<<T as pallet_identity::Config>::IdtyIndex>
+    for MainWotIsDistanceOk<T>
+where
+    T: pallet_distance::Config,
+{
+    fn is_distance_ok(idty_id: &<T as pallet_identity::Config>::IdtyIndex) -> bool {
+        matches!(
+            pallet_distance::Pallet::<T>::identity_distance_status(idty_id),
+            Some((_, pallet_distance::DistanceStatus::Valid))
+        )
+    }
+}
diff --git a/runtime/g1/Cargo.toml b/runtime/g1/Cargo.toml
index 93b8f3464..5f9c149ce 100644
--- a/runtime/g1/Cargo.toml
+++ b/runtime/g1/Cargo.toml
@@ -43,6 +43,7 @@ std = [
     'pallet-balances/std',
     'pallet-certification/std',
     'pallet-collective/std',
+    'pallet-distance/std',
     'pallet-duniter-test-parameters/std',
     'pallet-duniter-account/std',
     'pallet-duniter-wot/std',
@@ -113,6 +114,7 @@ sp-keyring = { git = 'https://github.com/duniter/substrate', branch = 'duniter-s
 common-runtime = { path = "../common", default-features = false }
 pallet-authority-members = { path = '../../pallets/authority-members', default-features = false }
 pallet-certification = { path = '../../pallets/certification', default-features = false }
+pallet-distance = { path = "../../pallets/distance", default-features = false }
 pallet-duniter-test-parameters = { path = '../../pallets/duniter-test-parameters', default-features = false }
 pallet-duniter-account = { path = '../../pallets/duniter-account', default-features = false }
 pallet-duniter-wot = { path = '../../pallets/duniter-wot', default-features = false }
@@ -126,10 +128,14 @@ sp-membership = { path = '../../primitives/membership', default-features = false
 pallet-offences = { path = '../../pallets/offences', default-features = false }
 
 # crates.io
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"], default-features = false }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 log = { version = "0.4.17", default-features = false }
 hex-literal = { version = '0.3.1', optional = true }
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
+scale-info = { version = "2.1.1", default-features = false, features = [
+    "derive",
+] }
 serde = { version = "1.0.101", optional = true, features = ["derive"] }
 
 # substrate
@@ -139,7 +145,7 @@ frame-executive = { git = 'https://github.com/duniter/substrate', branch = 'duni
 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', optional = true }
-frame-system-rpc-runtime-api = { 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 }
 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 }
 pallet-authorship = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
diff --git a/runtime/g1/src/lib.rs b/runtime/g1/src/lib.rs
index fdb472726..8fc21691c 100644
--- a/runtime/g1/src/lib.rs
+++ b/runtime/g1/src/lib.rs
@@ -277,6 +277,7 @@ construct_runtime!(
         Identity: pallet_identity::{Pallet, Call, Config<T>, Storage, Event<T>} = 41,
         Membership: pallet_membership::<Instance1>::{Pallet, Call, Config<T>, Storage, Event<T>} = 42,
         Cert: pallet_certification::<Instance1>::{Pallet, Call, Config<T>, Storage, Event<T>} = 43,
+        Distance: pallet_distance::{Pallet, Call, Storage, Inherent} = 44,
 
         // Smith Sub-Wot
         SmithSubWot: pallet_duniter_wot::<Instance2>::{Pallet} = 50,
diff --git a/runtime/gdev/Cargo.toml b/runtime/gdev/Cargo.toml
index b5c742c89..9cb9f382a 100644
--- a/runtime/gdev/Cargo.toml
+++ b/runtime/gdev/Cargo.toml
@@ -50,7 +50,7 @@ runtime-benchmarks = [
 ]
 std = [
     'codec/std',
-	'common-runtime/std',
+    'common-runtime/std',
     'frame-executive/std',
     'frame-support/std',
     'frame-system-rpc-runtime-api/std',
@@ -64,6 +64,7 @@ std = [
     'pallet-balances/std',
     'pallet-certification/std',
     'pallet-collective/std',
+    'pallet-distance/std',
     'pallet-duniter-test-parameters/std',
     'pallet-duniter-account/std',
     'pallet-duniter-wot/std',
@@ -74,10 +75,10 @@ std = [
     'pallet-provide-randomness/std',
     'pallet-im-online/std',
     'pallet-multisig/std',
-	"pallet-offences/std",
+    "pallet-offences/std",
     'pallet-preimage/std',
     'pallet-proxy/std',
-	"pallet-scheduler/std",
+    "pallet-scheduler/std",
     'pallet-session/std',
     'pallet-sudo/std',
     'pallet-universal-dividend/std',
@@ -87,14 +88,15 @@ std = [
     'pallet-transaction-payment/std',
     'pallet-treasury/std',
     'pallet-utility/std',
-	"serde/std",
-	"serde_derive",
+    "serde/std",
+    "serde_derive",
     'sp-api/std',
     'sp-arithmetic/std',
     'sp-authority-discovery/std',
     'sp-block-builder/std',
     'sp-consensus-babe/std',
     'sp-core/std',
+    'sp-distance/std',
     'sp-inherents/std',
     'sp-offchain/std',
     'sp-membership/std',
@@ -139,6 +141,7 @@ sp-keyring = { git = 'https://github.com/duniter/substrate', branch = 'duniter-s
 common-runtime = { path = "../common", default-features = false }
 pallet-authority-members = { path = '../../pallets/authority-members', default-features = false }
 pallet-certification = { path = '../../pallets/certification', default-features = false }
+pallet-distance = { path = "../../pallets/distance", default-features = false }
 pallet-duniter-test-parameters = { path = '../../pallets/duniter-test-parameters', default-features = false }
 pallet-duniter-account = { path = '../../pallets/duniter-account', default-features = false }
 pallet-duniter-wot = { path = '../../pallets/duniter-wot', default-features = false }
@@ -150,13 +153,18 @@ pallet-provide-randomness = { path = '../../pallets/provide-randomness', default
 pallet-universal-dividend = { path = '../../pallets/universal-dividend', default-features = false }
 pallet-session-benchmarking = { path = '../../pallets/session-benchmarking', default-features = false }
 pallet-upgrade-origin = { path = '../../pallets/upgrade-origin', default-features = false }
+sp-distance = { path = '../../primitives/distance', default-features = false }
 sp-membership = { path = '../../primitives/membership', default-features = false }
 
 # crates.io
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"], default-features = false }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 log = { version = "0.4.17", default-features = false }
 hex-literal = { version = '0.3.1', optional = true }
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
+scale-info = { version = "2.1.1", default-features = false, features = [
+    "derive",
+] }
 serde = { version = "1.0.101", default-features = false }
 serde_derive = { version = "1.0.101", optional = true }
 
@@ -165,7 +173,7 @@ frame-try-runtime = { git = 'https://github.com/duniter/substrate', branch = 'du
 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-rpc-runtime-api = { 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 }
 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 }
 pallet-authorship = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
diff --git a/runtime/gdev/src/lib.rs b/runtime/gdev/src/lib.rs
index dff62b247..67d2dde35 100644
--- a/runtime/gdev/src/lib.rs
+++ b/runtime/gdev/src/lib.rs
@@ -333,6 +333,7 @@ construct_runtime!(
         Identity: pallet_identity::{Pallet, Call, Config<T>, Storage, Event<T>} = 41,
         Membership: pallet_membership::<Instance1>::{Pallet, Call, Config<T>, Storage, Event<T>} = 42,
         Cert: pallet_certification::<Instance1>::{Pallet, Call, Config<T>, Storage, Event<T>} = 43,
+        Distance: pallet_distance::{Pallet, Call, Storage, Inherent} = 44,
 
         // Smith Sub-Wot
         SmithSubWot: pallet_duniter_wot::<Instance2>::{Pallet} = 50,
diff --git a/runtime/gdev/tests/common/mod.rs b/runtime/gdev/tests/common/mod.rs
index 4debb039c..c2d6be1f6 100644
--- a/runtime/gdev/tests/common/mod.rs
+++ b/runtime/gdev/tests/common/mod.rs
@@ -22,6 +22,7 @@ use frame_support::instances::{Instance1, Instance2};
 use frame_support::traits::{GenesisBuild, OnFinalize, OnInitialize};
 use gdev_runtime::opaque::SessionKeys;
 use gdev_runtime::*;
+use pallet_authority_members::OnNewSession;
 use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId;
 use sp_consensus_babe::{AuthorityId as BabeId, Slot};
 use sp_consensus_vrf::schnorrkel::{VRFOutput, VRFProof};
@@ -319,8 +320,9 @@ fn mock_babe_initialize(n: u32) {
 pub fn run_to_block(n: u32) {
     while System::block_number() < n {
         // Finalize the previous block
-        //Babe::on_finalize(System::block_number());
+        Babe::on_finalize(System::block_number());
         //Timestamp::on_finalize(System::block_number());
+        Distance::on_finalize(System::block_number());
         TransactionPayment::on_finalize(System::block_number());
         Authorship::on_finalize(System::block_number());
         Grandpa::on_finalize(System::block_number());
@@ -329,12 +331,22 @@ pub fn run_to_block(n: u32) {
         System::reset_events();
         System::set_block_number(System::block_number() + 1);
 
+        // Current slot is not incremented by BABE
+        pallet_babe::CurrentSlot::<Runtime>::put(pallet_babe::CurrentSlot::<Runtime>::get() + 1);
+
         // Initialize the new block
         Account::on_initialize(System::block_number());
         Scheduler::on_initialize(System::block_number());
         mock_babe_initialize(System::block_number());
-        Authorship::on_initialize(System::block_number());
         Session::on_initialize(System::block_number());
+        Authorship::on_initialize(System::block_number());
+
+        /*if session_before != session_after {
+            Distance::on_new_session(session_after);
+        } else {
+            use pallet_session::ShouldEndSession;
+            assert!(!Babe::should_end_session(System::block_number()));
+        }*/
 
         UniversalDividend::on_initialize(System::block_number());
         Wot::on_initialize(System::block_number());
@@ -346,6 +358,7 @@ pub fn run_to_block(n: u32) {
         SmithCert::on_initialize(System::block_number());
 
         Timestamp::set_timestamp(System::block_number() as u64 * BLOCK_TIME);
+        Distance::on_initialize(System::block_number());
     }
 }
 
diff --git a/runtime/gdev/tests/integration_tests.rs b/runtime/gdev/tests/integration_tests.rs
index f18dbca93..79b29cb93 100644
--- a/runtime/gdev/tests/integration_tests.rs
+++ b/runtime/gdev/tests/integration_tests.rs
@@ -113,7 +113,10 @@ fn test_remove_identity() {
 #[test]
 fn test_validate_identity_when_claim() {
     ExtBuilder::new(1, 3, 4)
-        .with_initial_balances(vec![(AccountKeyring::Ferdie.to_account_id(), 1000)])
+        .with_initial_balances(vec![
+            (AccountKeyring::Eve.to_account_id(), 2000),
+            (AccountKeyring::Ferdie.to_account_id(), 1000),
+        ])
         .build()
         .execute_with(|| {
             run_to_block(1);
@@ -141,6 +144,20 @@ fn test_validate_identity_when_claim() {
                 5
             ));
 
+            assert_ok!(Distance::request_distance_evaluation(
+                frame_system::RawOrigin::Signed(AccountKeyring::Eve.to_account_id()).into(),
+            ));
+
+            run_to_block(51); // Pass 2 sessions
+            assert_ok!(Distance::force_update_evaluation(
+                frame_system::RawOrigin::Root.into(),
+                AccountKeyring::Alice.to_account_id(),
+                pallet_distance::ComputationResult {
+                    distances: vec![Perbill::one()],
+                }
+            ));
+            run_to_block(76); // Pass 1 session
+
             // eve can claim her membership
             assert_ok!(Membership::claim_membership(
                 frame_system::RawOrigin::Signed(AccountKeyring::Eve.to_account_id()).into(),
@@ -181,31 +198,47 @@ fn test_membership_expiry() {
 /// test membership renewal
 #[test]
 fn test_membership_renewal() {
-    ExtBuilder::new(1, 3, 4).build().execute_with(|| {
-        // renew at block 2
-        run_to_block(2);
-        assert_ok!(Membership::renew_membership(
-            frame_system::RawOrigin::Signed(AccountKeyring::Alice.to_account_id()).into(),
-        ));
-        System::assert_has_event(RuntimeEvent::Membership(
-            pallet_membership::Event::MembershipRenewed(1),
-        ));
+    ExtBuilder::new(1, 3, 4)
+        .with_initial_balances(vec![(AccountKeyring::Alice.to_account_id(), 2000)])
+        .build()
+        .execute_with(|| {
+            assert_ok!(Distance::request_distance_evaluation(
+                frame_system::RawOrigin::Signed(AccountKeyring::Alice.to_account_id()).into(),
+            ));
 
-        // renew at block 3
-        run_to_block(3);
-        assert_ok!(Membership::renew_membership(
-            frame_system::RawOrigin::Signed(AccountKeyring::Alice.to_account_id()).into(),
-        ));
-        System::assert_has_event(RuntimeEvent::Membership(
-            pallet_membership::Event::MembershipRenewed(1),
-        ));
+            run_to_block(51); // Pass 2 sessions
+            assert_ok!(Distance::force_update_evaluation(
+                frame_system::RawOrigin::Root.into(),
+                AccountKeyring::Alice.to_account_id(),
+                pallet_distance::ComputationResult {
+                    distances: vec![Perbill::one()],
+                }
+            ));
+            run_to_block(76); // Pass 1 session
 
-        // should expire at block 103 = 3+100
-        run_to_block(103);
-        System::assert_has_event(RuntimeEvent::Membership(
-            pallet_membership::Event::MembershipExpired(1),
-        ));
-    });
+            // renew at block 76
+            assert_ok!(Membership::renew_membership(
+                frame_system::RawOrigin::Signed(AccountKeyring::Alice.to_account_id()).into(),
+            ));
+            System::assert_has_event(RuntimeEvent::Membership(
+                pallet_membership::Event::MembershipRenewed(1),
+            ));
+
+            // renew at block 77
+            run_to_block(77);
+            assert_ok!(Membership::renew_membership(
+                frame_system::RawOrigin::Signed(AccountKeyring::Alice.to_account_id()).into(),
+            ));
+            System::assert_has_event(RuntimeEvent::Membership(
+                pallet_membership::Event::MembershipRenewed(1),
+            ));
+
+            // should expire at block 177 = 77+100
+            run_to_block(177);
+            System::assert_has_event(RuntimeEvent::Membership(
+                pallet_membership::Event::MembershipExpired(1),
+            ));
+        });
 }
 
 // test that UD are auto claimed when identity is removed
@@ -310,6 +343,14 @@ fn test_ud_claimed_membership_on_and_off() {
         ));
 
         // alice claims back her membership
+        assert_ok!(Distance::force_set_distance_status(
+            frame_system::RawOrigin::Root.into(),
+            1,
+            Some((
+                AccountKeyring::Alice.to_account_id(),
+                pallet_distance::DistanceStatus::Valid
+            ))
+        ));
         assert_ok!(Membership::claim_membership(
             frame_system::RawOrigin::Signed(AccountKeyring::Alice.to_account_id()).into()
         ));
@@ -628,6 +669,14 @@ fn test_validate_new_idty_after_few_uds() {
                 2,
                 5,
             ));
+            assert_ok!(Distance::force_set_distance_status(
+                frame_system::RawOrigin::Root.into(),
+                5,
+                Some((
+                    AccountKeyring::Bob.to_account_id(),
+                    pallet_distance::DistanceStatus::Valid
+                ))
+            ));
             assert_ok!(Identity::validate_identity(
                 frame_system::RawOrigin::Signed(AccountKeyring::Bob.to_account_id()).into(),
                 5,
@@ -646,7 +695,7 @@ fn test_validate_new_idty_after_few_uds() {
 }
 
 /// test that newly validated identity gets initialized with the next UD
-// even when the method used is membership claim
+/// even when the method used is membership claim
 #[test]
 fn test_claim_memberhsip_after_few_uds() {
     ExtBuilder::new(1, 3, 4)
@@ -654,7 +703,6 @@ fn test_claim_memberhsip_after_few_uds() {
             (AccountKeyring::Alice.to_account_id(), 1_000),
             (AccountKeyring::Bob.to_account_id(), 1_000),
             (AccountKeyring::Charlie.to_account_id(), 1_000),
-            (AccountKeyring::Eve.to_account_id(), 1_000),
         ])
         .build()
         .execute_with(|| {
@@ -682,6 +730,14 @@ fn test_claim_memberhsip_after_few_uds() {
             ));
 
             // eve should be able to claim her membership
+            assert_ok!(Distance::force_set_distance_status(
+                frame_system::RawOrigin::Root.into(),
+                5,
+                Some((
+                    AccountKeyring::Eve.to_account_id(),
+                    pallet_distance::DistanceStatus::Valid
+                ))
+            ));
             assert_ok!(Membership::claim_membership(
                 frame_system::RawOrigin::Signed(AccountKeyring::Eve.to_account_id()).into(),
             ));
diff --git a/runtime/gtest/Cargo.toml b/runtime/gtest/Cargo.toml
index 43ff07fb3..14fce690e 100644
--- a/runtime/gtest/Cargo.toml
+++ b/runtime/gtest/Cargo.toml
@@ -49,7 +49,7 @@ runtime-benchmarks = [
 ]
 std = [
     'codec/std',
-	'common-runtime/std',
+    'common-runtime/std',
     'frame-executive/std',
     'frame-support/std',
     'frame-system-rpc-runtime-api/std',
@@ -63,6 +63,7 @@ std = [
     'pallet-balances/std',
     'pallet-certification/std',
     'pallet-collective/std',
+    'pallet-distance/std',
     'pallet-duniter-account/std',
     'pallet-duniter-wot/std',
     'pallet-grandpa/std',
@@ -72,10 +73,10 @@ std = [
     'pallet-provide-randomness/std',
     'pallet-im-online/std',
     'pallet-multisig/std',
-	"pallet-offences/std",
+    "pallet-offences/std",
     'pallet-preimage/std',
     'pallet-proxy/std',
-	"pallet-scheduler/std",
+    "pallet-scheduler/std",
     'pallet-session/std',
     'pallet-sudo/std',
     'pallet-universal-dividend/std',
@@ -85,8 +86,8 @@ std = [
     'pallet-transaction-payment/std',
     'pallet-treasury/std',
     'pallet-utility/std',
-	"serde/std",
-	"serde_derive",
+    "serde/std",
+    "serde_derive",
     'sp-api/std',
     'sp-arithmetic/std',
     'sp-authority-discovery/std',
@@ -136,6 +137,7 @@ sp-keyring = { git = 'https://github.com/duniter/substrate', branch = 'duniter-s
 common-runtime = { path = "../common", default-features = false }
 pallet-authority-members = { path = '../../pallets/authority-members', default-features = false }
 pallet-certification = { path = '../../pallets/certification', default-features = false }
+pallet-distance = { path = "../../pallets/distance", default-features = false }
 pallet-duniter-account = { path = '../../pallets/duniter-account', default-features = false }
 pallet-duniter-wot = { path = '../../pallets/duniter-wot', default-features = false }
 pallet-identity = { path = '../../pallets/identity', default-features = false }
@@ -149,10 +151,14 @@ sp-membership = { path = '../../primitives/membership', default-features = false
 pallet-offences = { path = '../../pallets/offences', default-features = false }
 
 # crates.io
-codec = { package = "parity-scale-codec", version = "3.1.5", features = ["derive"], default-features = false }
+codec = { package = "parity-scale-codec", version = "3.1.5", features = [
+    "derive",
+], default-features = false }
 log = { version = "0.4.17", default-features = false }
 hex-literal = { version = '0.3.1', optional = true }
-scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
+scale-info = { version = "2.1.1", default-features = false, features = [
+    "derive",
+] }
 serde = { version = "1.0.101", default-features = false }
 serde_derive = { version = "1.0.101", optional = true }
 
@@ -161,7 +167,7 @@ frame-try-runtime = { git = 'https://github.com/duniter/substrate', branch = 'du
 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-rpc-runtime-api = { 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 }
 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 }
 pallet-authorship = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.32', default-features = false }
diff --git a/runtime/gtest/src/lib.rs b/runtime/gtest/src/lib.rs
index 29ec85aae..9722455c4 100644
--- a/runtime/gtest/src/lib.rs
+++ b/runtime/gtest/src/lib.rs
@@ -293,6 +293,7 @@ construct_runtime!(
         Identity: pallet_identity::{Pallet, Call, Config<T>, Storage, Event<T>} = 41,
         Membership: pallet_membership::<Instance1>::{Pallet, Call, Config<T>, Storage, Event<T>} = 42,
         Cert: pallet_certification::<Instance1>::{Pallet, Call, Config<T>, Storage, Event<T>} = 43,
+        Distance: pallet_distance::{Pallet, Call, Storage, Inherent} = 44,
 
         // Smith Sub-Wot
         SmithSubWot: pallet_duniter_wot::<Instance2>::{Pallet} = 50,
-- 
GitLab