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 ->
LnZapRequestEvent.create(
event,
relays =
getNIP65RelayList()?.readRelays()?.toSet()
?: userProfile().latestContactList?.relays()?.keys?.ifEmpty { null }
?: localRelays.map { it.url }.toSet(),
relays = getReceivingRelays(),
signer,
pollOption,
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 {
return zapPaymentRequest != null
}
@ -2462,7 +2465,7 @@ class Account(
dvmPublicKey: String,
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()
if (relayList != null) {

View File

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