diff --git a/distance-oracle/src/api.rs b/distance-oracle/src/api.rs
index 3af39b736d557280609b320c0fbb44c709d9277f..0c08c72658988bb0982eb77d4b1722f10d9868b6 100644
--- a/distance-oracle/src/api.rs
+++ b/distance-oracle/src/api.rs
@@ -17,12 +17,10 @@
 use crate::{
     runtime,
     runtime::runtime_types::{
-        pallet_distance::median::MedianAcc,
-        sp_arithmetic::per_things::Perbill,
-        sp_core::bounded::{bounded_btree_set::BoundedBTreeSet, bounded_vec::BoundedVec},
+        pallet_distance::median::MedianAcc, sp_arithmetic::per_things::Perbill,
     },
 };
-
+use sp_core::bounded::{bounded_btree_set::BoundedBTreeSet, bounded_vec::BoundedVec};
 use sp_core::H256;
 use subxt::storage::StorageKey;
 
@@ -30,8 +28,8 @@ pub type Client = subxt::OnlineClient<crate::RuntimeConfig>;
 pub type AccountId = subxt::ext::sp_runtime::AccountId32;
 pub type IdtyIndex = u32;
 pub type EvaluationPool<AccountId, IdtyIndex> = (
-    BoundedVec<(IdtyIndex, MedianAcc<Perbill>)>,
-    BoundedBTreeSet<AccountId>,
+    BoundedVec<(IdtyIndex, MedianAcc<Perbill>), u32>, // FIXME is u32 still the good type?
+    BoundedBTreeSet<AccountId, u32>,                  // FIXME idem
 );
 
 pub async fn client(rpc_url: String) -> Client {
@@ -111,9 +109,7 @@ pub struct MemberIter(
     subxt::storage::KeyIter<
         crate::RuntimeConfig,
         Client,
-        subxt::metadata::DecodeStaticType<
-            runtime::runtime_types::sp_membership::MembershipData<u32>,
-        >,
+        runtime::runtime_types::sp_membership::MembershipData<u32>,
     >,
 );
 
@@ -141,13 +137,7 @@ pub async fn cert_iter(client: &Client, evaluation_block: H256) -> CertIter {
     )
 }
 
-pub struct CertIter(
-    subxt::storage::KeyIter<
-        crate::RuntimeConfig,
-        Client,
-        subxt::metadata::DecodeStaticType<Vec<(IdtyIndex, u32)>>,
-    >,
-);
+pub struct CertIter(subxt::storage::KeyIter<crate::RuntimeConfig, Client, Vec<(IdtyIndex, u32)>>);
 
 impl CertIter {
     pub async fn next(
diff --git a/distance-oracle/src/lib.rs b/distance-oracle/src/lib.rs
index 0a461546fd4f737ac1c3d793320264fb60ec9cad..eb76d9a3657688e1e06b79c3976a25097f59c4f8 100644
--- a/distance-oracle/src/lib.rs
+++ b/distance-oracle/src/lib.rs
@@ -41,17 +41,15 @@ pub mod runtime {}
 pub enum RuntimeConfig {}
 impl subxt::config::Config for RuntimeConfig {
     type Index = u32;
-    type BlockNumber = u32;
+    // type BlockNumber = u32;
     type Hash = sp_core::H256;
-    type Hashing = subxt::ext::sp_runtime::traits::BlakeTwo256;
+    type Hasher = subxt::config::substrate::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 Header =
+        subxt::config::substrate::SubstrateHeader<u32, subxt::config::substrate::BlakeTwo256>;
     type Signature = subxt::ext::sp_runtime::MultiSignature;
-    type ExtrinsicParams = subxt::tx::BaseExtrinsicParams<Self, Tip>;
+    type ExtrinsicParams = subxt::config::extrinsic_params::BaseExtrinsicParams<Self, Tip>;
 }
 
 #[derive(Copy, Clone, Debug, Default, Encode)]
diff --git a/resources/metadata.scale b/resources/metadata.scale
index 0a5e73adca71206ba98ea65245f09e8c46de65c2..f07487e82a374da0a65ec5e45aba8ea16a31f0bf 100644
Binary files a/resources/metadata.scale and b/resources/metadata.scale differ