From 4d1a99d0769d6ebe4550590ecaf01d30f96d0146 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Sun, 17 Sep 2023 11:32:35 -0400 Subject: [PATCH] Adds NIP24 Kind1 create function --- .../quartz/events/NIP24Factory.kt | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/NIP24Factory.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/NIP24Factory.kt index 6a5f12bc2..d3534a5e6 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/NIP24Factory.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/NIP24Factory.kt @@ -2,6 +2,7 @@ package com.vitorpamplona.quartz.events import com.vitorpamplona.quartz.encoders.toHexKey import com.vitorpamplona.quartz.crypto.CryptoUtils +import com.vitorpamplona.quartz.encoders.ATag import com.vitorpamplona.quartz.encoders.HexKey class NIP24Factory { @@ -85,4 +86,50 @@ class NIP24Factory { ) } } + + fun createTextNoteNIP24( + msg: String, + to: List, + from: ByteArray, + replyTos: List? = null, + mentions: List? = null, + addresses: List?, + extraTags: List?, + zapReceiver: List? = null, + markAsSensitive: Boolean = false, + replyingTo: String?, + root: String?, + directMentions: Set, + zapRaiserAmount: Long? = null, + geohash: String? = null + ): List { + val senderPublicKey = CryptoUtils.pubkeyCreate(from).toHexKey() + + val senderMessage = TextNoteEvent.create( + msg = msg, + privateKey = from, + replyTos = replyTos, + mentions = mentions, + zapReceiver = zapReceiver, + root = root, + extraTags = extraTags, + addresses = addresses, + directMentions = directMentions, + replyingTo = replyingTo, + markAsSensitive = markAsSensitive, + zapRaiserAmount = zapRaiserAmount, + geohash = geohash + ) + + return to.plus(senderPublicKey).map { + GiftWrapEvent.create( + event = SealedGossipEvent.create( + event = senderMessage, + encryptTo = it, + privateKey = from + ), + recipientPubKey = it + ) + } + } }