From 0367e0cd4ee043a2d96f8db82de94c36737fb794 Mon Sep 17 00:00:00 2001 From: thesimplekid Date: Mon, 9 Sep 2024 20:53:31 +0100 Subject: [PATCH] fix: pubkeys only returns active --- crates/cdk/src/mint/mod.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/crates/cdk/src/mint/mod.rs b/crates/cdk/src/mint/mod.rs index 5e66ecb2..3edce084 100644 --- a/crates/cdk/src/mint/mod.rs +++ b/crates/cdk/src/mint/mod.rs @@ -499,13 +499,21 @@ impl Mint { /// clients #[instrument(skip_all)] pub async fn pubkeys(&self) -> Result { - 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(), }) }