aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/nip11.ts
blob: 7c5b335ad4e18abddda97ba335f14b8686eaa587 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { fetchRelayInformation } from "nostr-tools/nip11";

// Accepts a list of relays, and returns a list of the relays that support all the provided NIPs.
export const relaysSupporting = async (relays: string[], nips: number[]) => {
  let supportingRelays: string[] = [];

  for (const relay of relays) {
    const relayInfo = await fetchRelayInformation(relay);
    if (nips.every((relay) => relayInfo.supported_nips.includes(relay))) {
      supportingRelays.push(relay);
    }
  }

  return supportingRelays;
};