Forráskód Böngészése

fix: pubkeys only returns active

thesimplekid 7 hónapja
szülő
commit
0367e0cd4e
1 módosított fájl, 12 hozzáadás és 4 törlés
  1. 12 4
      crates/cdk/src/mint/mod.rs

+ 12 - 4
crates/cdk/src/mint/mod.rs

@@ -499,13 +499,21 @@ impl Mint {
     /// clients
     #[instrument(skip_all)]
     pub async fn pubkeys(&self) -> Result<KeysResponse, Error> {
-        let keyset_infos = self.localstore.get_keyset_infos().await?;
-        for keyset_info in keyset_infos {
-            self.ensure_keyset_loaded(&keyset_info.id).await?;
+        let active_keysets = self.localstore.get_active_keysets().await?;
+
+        let active_keysets: HashSet<&Id> = active_keysets.values().collect();
+
+        for id in active_keysets.iter() {
+            self.ensure_keyset_loaded(id).await?;
         }
+
         let keysets = self.keysets.read().await;
         Ok(KeysResponse {
-            keysets: keysets.values().map(|k| k.clone().into()).collect(),
+            keysets: keysets
+                .values()
+                .filter(|k| active_keysets.contains(&k.id))
+                .map(|k| k.clone().into())
+                .collect(),
         })
     }