diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip65RelayList/AdvertisedRelayListEvent.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip65RelayList/AdvertisedRelayListEvent.kt index 315f406b3..8f1093b0f 100644 --- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip65RelayList/AdvertisedRelayListEvent.kt +++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip65RelayList/AdvertisedRelayListEvent.kt @@ -41,6 +41,8 @@ class AdvertisedRelayListEvent( ) : BaseReplaceableEvent(id, pubKey, createdAt, KIND, tags, content, sig) { fun relays() = tags.mapNotNull(AdvertisedRelayInfo::parse) + fun relaysNorm() = tags.mapNotNull(AdvertisedRelayInfo::parseNorm) + fun readRelays() = tags.mapNotNull(AdvertisedRelayInfo::parseRead).ifEmpty { null } fun readRelaysNorm() = tags.mapNotNull(AdvertisedRelayInfo::parseReadNorm).ifEmpty { null } diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip65RelayList/tags/AdvertisedRelayInfoTag.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip65RelayList/tags/AdvertisedRelayInfoTag.kt index a588ec4c7..57215a443 100644 --- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip65RelayList/tags/AdvertisedRelayInfoTag.kt +++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip65RelayList/tags/AdvertisedRelayInfoTag.kt @@ -58,6 +58,13 @@ class AdvertisedRelayInfo( return AdvertisedRelayInfo(normalizedUrl, type) } + @JvmStatic + fun parseNorm(tag: Array): NormalizedRelayUrl? { + ensure(match(tag)) { return null } + val normalizedUrl = RelayUrlNormalizer.normalizeOrNull(tag[1]) + return normalizedUrl + } + @JvmStatic fun parseRead(tag: Array): String? { ensure(match(tag)) { return null }