fix: pubkeys only returns active

This commit is contained in:
thesimplekid
2024-09-09 20:53:31 +01:00
parent 1021ec5299
commit 0367e0cd4e

View File

@@ -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(),
})
}