diff --git a/end2end-tests/tests/cucumber_tests.rs b/end2end-tests/tests/cucumber_tests.rs
index b7c0804a657750868abac3561b126c2391515205..92f1f36eed0a4422e749acc72952cb3ef61f299c 100644
--- a/end2end-tests/tests/cucumber_tests.rs
+++ b/end2end-tests/tests/cucumber_tests.rs
@@ -558,6 +558,9 @@ async fn should_have_distance_ok(world: &mut DuniterWorld, who: String) -> Resul
         .await?
     {
         Some((_, gdev::runtime_types::pallet_distance::types::DistanceStatus::Valid)) => Ok(()),
+        Some((_, gdev::runtime_types::pallet_distance::types::DistanceStatus::Invalid)) => {
+            Err(anyhow::anyhow!("invalid distance status").into())
+        }
         Some((_, gdev::runtime_types::pallet_distance::types::DistanceStatus::Pending)) => {
             Err(anyhow::anyhow!("pending distance status").into())
         }
@@ -669,9 +672,18 @@ async fn main() {
         .run(features_path)
         .await;
 
+    if summarize.failed_steps() > 0 {
+        panic!("Could not run tests correctly (failed steps)");
+    }
     if summarize.hook_errors() > 0 {
         panic!("Could not run tests correctly (hook errors)");
     }
+    if summarize.parsing_errors() > 0 {
+        panic!("Could not run tests correctly (parsing errors)");
+    }
+    if summarize.execution_has_failed() {
+        panic!("Could not run tests correctly (execution has failed)");
+    }
 }
 
 fn genesis_conf_name(feature_tags: &[String], scenario_tags: &[String]) -> String {
diff --git a/resources/metadata.scale b/resources/metadata.scale
index a4239406fb5544df7692aff4f117176809213953..fb9903cdcd8ab7a3f169487e4becee25afdc7d8c 100644
Binary files a/resources/metadata.scale and b/resources/metadata.scale differ