Skip to content
This repository was archived by the owner on Feb 3, 2025. It is now read-only.

Commit dd3de02

Browse files
authored
Merge pull request #1086 from MutinyWallet/has-recommended
Add has_recommended_federation
2 parents faa330d + 653499e commit dd3de02

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

mutiny-core/src/nostr/mod.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1456,6 +1456,21 @@ impl<S: MutinyStorage> NostrManager<S> {
14561456
Ok(self.client.send_event_builder(builder).await?)
14571457
}
14581458

1459+
/// Checks if we have recommended the given federation
1460+
pub async fn has_recommended_federation(
1461+
&self,
1462+
federation_id: &FederationId,
1463+
) -> Result<bool, MutinyError> {
1464+
let filter = Filter::new()
1465+
.author(self.public_key)
1466+
.identifier(federation_id.to_string())
1467+
.limit(1);
1468+
1469+
let events = self.client.get_events_of(vec![filter], None).await?;
1470+
1471+
Ok(!events.is_empty())
1472+
}
1473+
14591474
/// Queries our relays for federation announcements
14601475
pub async fn discover_federations(&self) -> Result<Vec<NostrDiscoveredFedimint>, MutinyError> {
14611476
// get contacts by npub

mutiny-wasm/src/lib.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,6 +1246,20 @@ impl MutinyWallet {
12461246
Ok(event_id.to_hex())
12471247
}
12481248

1249+
/// Checks if we have recommended the given federation
1250+
pub async fn has_recommended_federation(
1251+
&self,
1252+
federation_id: String,
1253+
) -> Result<bool, MutinyJsError> {
1254+
let federation_id = FederationId::from_str(&federation_id)
1255+
.map_err(|_| MutinyJsError::InvalidArgumentsError)?;
1256+
Ok(self
1257+
.inner
1258+
.nostr
1259+
.has_recommended_federation(&federation_id)
1260+
.await?)
1261+
}
1262+
12491263
/// Queries our relays for federation announcements
12501264
pub async fn discover_federations(
12511265
&self,

0 commit comments

Comments
 (0)