Adds the incoming relays to the request.

This commit is contained in:
Vitor Pamplona
2024-06-03 14:15:12 -04:00
parent ed6825de97
commit 5d4fa0d732
2 changed files with 12 additions and 8 deletions

View File

@@ -781,10 +781,7 @@ class Account(
note.event?.let { event -> note.event?.let { event ->
LnZapRequestEvent.create( LnZapRequestEvent.create(
event, event,
relays = relays = getReceivingRelays(),
getNIP65RelayList()?.readRelays()?.toSet()
?: userProfile().latestContactList?.relays()?.keys?.ifEmpty { null }
?: localRelays.map { it.url }.toSet(),
signer, signer,
pollOption, pollOption,
message, message,
@@ -795,6 +792,12 @@ class Account(
} }
} }
fun getReceivingRelays(): Set<String> {
return getNIP65RelayList()?.readRelays()?.toSet()
?: userProfile().latestContactList?.relays()?.filter { it.value.read }?.keys?.ifEmpty { null }
?: localRelays.filter { it.read }.map { it.url }.toSet()
}
fun hasWalletConnectSetup(): Boolean { fun hasWalletConnectSetup(): Boolean {
return zapPaymentRequest != null return zapPaymentRequest != null
} }
@@ -2462,7 +2465,7 @@ class Account(
dvmPublicKey: String, dvmPublicKey: String,
onReady: (event: NIP90ContentDiscoveryRequestEvent) -> Unit, onReady: (event: NIP90ContentDiscoveryRequestEvent) -> Unit,
) { ) {
NIP90ContentDiscoveryRequestEvent.create(dvmPublicKey, signer.pubKey, signer) { NIP90ContentDiscoveryRequestEvent.create(dvmPublicKey, signer.pubKey, getReceivingRelays(), signer) {
val relayList = (LocalCache.getAddressableNoteIfExists(AdvertisedRelayListEvent.createAddressTag(dvmPublicKey))?.event as? AdvertisedRelayListEvent)?.readRelays() val relayList = (LocalCache.getAddressableNoteIfExists(AdvertisedRelayListEvent.createAddressTag(dvmPublicKey))?.event as? AdvertisedRelayListEvent)?.readRelays()
if (relayList != null) { if (relayList != null) {

View File

@@ -38,10 +38,12 @@ class NIP90ContentDiscoveryRequestEvent(
) : Event(id, pubKey, createdAt, KIND, tags, content, sig) { ) : Event(id, pubKey, createdAt, KIND, tags, content, sig) {
companion object { companion object {
const val KIND = 5300 const val KIND = 5300
const val ALT = "NIP90 Content Discovery request"
fun create( fun create(
dvmPublicKey: HexKey, dvmPublicKey: HexKey,
forUser: HexKey, forUser: HexKey,
relays: Set<String>,
signer: NostrSigner, signer: NostrSigner,
createdAt: Long = TimeUtils.now(), createdAt: Long = TimeUtils.now(),
onReady: (NIP90ContentDiscoveryRequestEvent) -> Unit, onReady: (NIP90ContentDiscoveryRequestEvent) -> Unit,
@@ -49,9 +51,8 @@ class NIP90ContentDiscoveryRequestEvent(
val content = "" val content = ""
val tags = mutableListOf<Array<String>>() val tags = mutableListOf<Array<String>>()
tags.add(arrayOf("p", dvmPublicKey)) tags.add(arrayOf("p", dvmPublicKey))
tags.add(arrayOf("alt", "NIP90 Content Discovery request")) tags.add(arrayOf("alt", ALT))
tags.add(arrayOf("client", "Amethyst")) tags.add(arrayOf("relays") + relays.toTypedArray())
tags.add(arrayOf("client", "Amethyst"))
tags.add(arrayOf("param", "max_results", "200")) tags.add(arrayOf("param", "max_results", "200"))
tags.add(arrayOf("param", "user", forUser)) tags.add(arrayOf("param", "user", forUser))
signer.sign(createdAt, KIND, tags.toTypedArray(), content, onReady) signer.sign(createdAt, KIND, tags.toTypedArray(), content, onReady)