kopia lustrzana https://github.com/vitorpamplona/amethyst
Fixes the createAt issue on NIP24b
rodzic
24481459a7
commit
c4a9a2d557
|
@ -499,13 +499,46 @@ class GiftWrapEventTest {
|
||||||
val gossip = unwrapUnsealGossip(json, privateKey)
|
val gossip = unwrapUnsealGossip(json, privateKey)
|
||||||
|
|
||||||
assertEquals("asdfasdfasdf", gossip?.content)
|
assertEquals("asdfasdfasdf", gossip?.content)
|
||||||
assertEquals(0L, gossip?.createdAt)
|
assertEquals(1690659269L, gossip?.createdAt)
|
||||||
assertEquals("827ba09d32ab81d62c60f657b350198c8aaba84372dab9ad3f4f6b8b7274b707", gossip?.id)
|
assertEquals("827ba09d32ab81d62c60f657b350198c8aaba84372dab9ad3f4f6b8b7274b707", gossip?.id)
|
||||||
assertEquals(14, gossip?.kind)
|
assertEquals(14, gossip?.kind)
|
||||||
assertEquals("subject", gossip?.tags?.firstOrNull()?.get(0))
|
assertEquals("subject", gossip?.tags?.firstOrNull()?.get(0))
|
||||||
assertEquals("test", gossip?.tags?.firstOrNull()?.get(1))
|
assertEquals("test", gossip?.tags?.firstOrNull()?.get(1))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testFromCoracle3() {
|
||||||
|
val json = """
|
||||||
|
{
|
||||||
|
"content": "{\"ciphertext\":\"PGCodiacmCB/sClw0C6DQRpP/XIfNAKCVZdKLQpOqytgbFryhs9Z+cPldq2FajXzxs3jQsF7/EVQyWpuV8pXetvFT9tvzjg4Xcm7ZcooLUnAeAo2xZNcJontN4cGubuDqKuXy5n59yXP1fIxfnJxRTRRdCZ2edhsKeNR5NSByUi+StjV10rnfHt8AhZCpiXiZ/giTOsC4wdaeONPgMzMeljaJWLvl6n11VjmXhkx1mXIQt43CNB1hIqO3p89Mbd9p+nlLrOsR+Xs0TB4DCh4XTPbvgf7B7Z+PgOfl3GZfJy9x6TciLcF4E3Ba1zrPe4f79czCIEiJ1yrIKrzzYvv+it35DZQ8fgveFXpyHnNL29hml8PNjyOsFbCHVYLMGw88evI5PijOcpe1TtdoioX8kX5kVEQSKJXuoSjTorvbRPCgGzaa1m0J0uTpzri5VD22a/Jh2CcAnubg6w4JDdUWCogdSV3NqiJllo7ZF7WnZ3apPdRD23MEfphVBJrcLBUNlmwajnY5IvVTKTkZOP50r9dBapvMWXIo6M6zhy/5vVWJz57863pelYCRG4upaXZuNK9sMBtbiphxmFR83i8RML8KN8Q391Cd/xBN7TxJNo5p2YU25VeGZUAmHY8DYlMQDm8Br0nStAXp3T+DzTRL8FTECa8DJV+KTAPoCxqhv3B28Ehr0XAP75CsHoLU00G48cR7h3vQ0CnfKh6KXU6nnDA5OWfpMYpirACCpsnpSD0OaCQ3gkQp3zZNMS3HcOpnPK/IY7R0esbzgAkvNhkyxaIfPDdf+eRUSOA9+2Ji28MwjjY8Dw3SLdUqCOzIDjQeR/T5oNmaQJm3lZ8G0FxxC6ejD4VJX/NI/x+STeB9jWHWmHZvqKzV6JHNh6qmZb6TKSIPOHpafWFoeJFOmiiigf46sju9vRXmVEAx59HXWnvnvCBNJg877yCMulB6xyQuSdVDuotQU4tQZwCKedTHJ6GqjesM98UlJrDtdWQURwwW1qc7N8tS6PukmUVEf0jmbIWVIBmUlkcVuiSs1g1h1kjt8c4MnGTz3CSgpOd1MqxLrl9WwrTqM+YnE+yeZYUjFoewyKZIQ==\",\"nonce\":\"OdCZczJiUGR4bOGIElQ4UUH4dQmG5U/3\",\"v\":1}",
|
||||||
|
"kind": 1059,
|
||||||
|
"created_at": 1690772945,
|
||||||
|
"pubkey": "e01475e87896800b7285eb0daf263c59f811c8fc5bc8daa105d2c98b6d7c4952",
|
||||||
|
"tags": [
|
||||||
|
[
|
||||||
|
"p",
|
||||||
|
"b08d8857a92b4d6aa580ff55cc3c18c4edf313c83388c34abc118621f74f1a78"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"id": "d9fc85ece892ce45ffa737b3ddc0f8b752623181d75363b966191f8c03d2debe",
|
||||||
|
"sig": "1b20416b83f4b5b8eead11e29c185f46b5e76d1960e4505210ddd00f7a6973cc11268f52a8989e3799b774d5f3a55db95bed4d66a1b6e88ab54becec5c771c17"
|
||||||
|
}
|
||||||
|
""".trimIndent()
|
||||||
|
|
||||||
|
val privateKey = "7dd22cafc512c0bc363a259f6dcda515b13ae3351066d7976fd0bb79cbd0d700"
|
||||||
|
|
||||||
|
val gossip = unwrapUnsealGossip(json, privateKey)
|
||||||
|
|
||||||
|
assertEquals("8d1a56008d4e31dae2fb8bef36b3efea519eff75f57033107e2aa16702466ef2", gossip?.id)
|
||||||
|
assertEquals("Howdy", gossip?.content)
|
||||||
|
assertEquals(1690833960L, gossip?.createdAt)
|
||||||
|
assertEquals(14, gossip?.kind)
|
||||||
|
assertEquals("p", gossip?.tags?.firstOrNull()?.get(0))
|
||||||
|
assertEquals("b08d8857a92b4d6aa580ff55cc3c18c4edf313c83388c34abc118621f74f1a78", gossip?.tags?.firstOrNull()?.get(1))
|
||||||
|
assertEquals("subject", gossip?.tags?.getOrNull(1)?.get(0))
|
||||||
|
assertEquals("Stuff", gossip?.tags?.getOrNull(1)?.get(1))
|
||||||
|
}
|
||||||
|
|
||||||
fun unwrapUnsealGossip(json: String, privateKey: HexKey): Gossip? {
|
fun unwrapUnsealGossip(json: String, privateKey: HexKey): Gossip? {
|
||||||
val pkBytes = privateKey.hexToByteArray()
|
val pkBytes = privateKey.hexToByteArray()
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.vitorpamplona.amethyst.service.model
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
import com.google.gson.annotations.SerializedName
|
||||||
import com.vitorpamplona.amethyst.model.HexKey
|
import com.vitorpamplona.amethyst.model.HexKey
|
||||||
import com.vitorpamplona.amethyst.model.TimeUtils
|
import com.vitorpamplona.amethyst.model.TimeUtils
|
||||||
import com.vitorpamplona.amethyst.model.hexToByteArray
|
import com.vitorpamplona.amethyst.model.hexToByteArray
|
||||||
|
@ -93,7 +94,9 @@ class SealedGossipEvent(
|
||||||
|
|
||||||
class Gossip(
|
class Gossip(
|
||||||
val id: HexKey?,
|
val id: HexKey?,
|
||||||
|
@SerializedName("pubkey")
|
||||||
val pubKey: HexKey?,
|
val pubKey: HexKey?,
|
||||||
|
@SerializedName("created_at")
|
||||||
val createdAt: Long?,
|
val createdAt: Long?,
|
||||||
val kind: Int?,
|
val kind: Int?,
|
||||||
val tags: List<List<String>>?,
|
val tags: List<List<String>>?,
|
||||||
|
|
Ładowanie…
Reference in New Issue