Refactors master serializer name from EventMapper to JsonMapper

This commit is contained in:
Vitor Pamplona
2025-07-11 17:10:51 -04:00
parent bb5ae5d09e
commit f93b08a272
42 changed files with 135 additions and 136 deletions

View File

@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.service.ots.OkHttpBitcoinExplorer
import com.vitorpamplona.amethyst.service.ots.OkHttpCalendarBuilder
import com.vitorpamplona.amethyst.service.ots.OtsBlockHeightCache
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
import com.vitorpamplona.quartz.nip03Timestamp.OtsEvent
import com.vitorpamplona.quartz.nip03Timestamp.OtsResolver
@@ -58,21 +58,21 @@ class OkHttpOtsTest {
@Test
fun verifyNostrEvent() {
val ots = EventMapper.fromJson(otsEvent) as OtsEvent
val ots = JsonMapper.fromJson(otsEvent) as OtsEvent
println(resolver.info(ots.otsByteArray()))
assertEquals(1707688818L, ots.verify(resolver))
}
@Test
fun verifyNostrEvent2() {
val ots = EventMapper.fromJson(otsEvent2) as OtsEvent
val ots = JsonMapper.fromJson(otsEvent2) as OtsEvent
println(resolver.info(ots.otsByteArray()))
assertEquals(1706322179L, ots.verify(resolver))
}
@Test
fun verifyNostrPendingEvent() {
val ots = EventMapper.fromJson(otsPendingEvent) as OtsEvent
val ots = JsonMapper.fromJson(otsPendingEvent) as OtsEvent
println(resolver.info(ots.otsByteArray()))
assertEquals(null, ots.verify(resolver))
}

View File

@@ -28,7 +28,7 @@ import com.vitorpamplona.amethyst.model.LocalCache
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.dal.ThreadFeedFilter
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.tags.addressables.ATag
import com.vitorpamplona.quartz.nip01Core.verify
import junit.framework.TestCase
@@ -121,7 +121,7 @@ class ThreadDualAxisChartAssemblerTest {
fun threadOrderTest() =
runBlocking {
val eventArray =
EventMapper.mapper.readValue<ArrayList<Event>>(db) as List<Event> + Event.fromJson(header)
JsonMapper.mapper.readValue<ArrayList<Event>>(db) as List<Event> + Event.fromJson(header)
var counter = 0
eventArray.forEach {

View File

@@ -43,7 +43,7 @@ import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray
import com.vitorpamplona.quartz.nip01Core.core.toHexKey
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent
import com.vitorpamplona.quartz.nip02FollowList.ContactListEvent
import com.vitorpamplona.quartz.nip17Dm.settings.ChatMessageRelayListEvent
@@ -163,7 +163,7 @@ object LocalPreferences {
with(encryptedPreferences()) {
val newSystemOfAccounts =
getString(PrefKeys.ALL_ACCOUNT_INFO, "[]")?.let {
EventMapper.mapper.readValue<List<AccountInfo>>(it)
JsonMapper.mapper.readValue<List<AccountInfo>>(it)
}
if (!newSystemOfAccounts.isNullOrEmpty()) {
@@ -183,7 +183,7 @@ object LocalPreferences {
savedAccounts.emit(migrated)
edit { putString(PrefKeys.ALL_ACCOUNT_INFO, EventMapper.mapper.writeValueAsString(savedAccounts.value)) }
edit { putString(PrefKeys.ALL_ACCOUNT_INFO, JsonMapper.mapper.writeValueAsString(savedAccounts.value)) }
}
}
}
@@ -203,7 +203,7 @@ object LocalPreferences {
.edit {
putString(
PrefKeys.ALL_ACCOUNT_INFO,
EventMapper.mapper.writeValueAsString(accounts.filter { !it.isTransient }),
JsonMapper.mapper.writeValueAsString(accounts.filter { !it.isTransient }),
)
}
}
@@ -310,7 +310,7 @@ object LocalPreferences {
putString(
PrefKeys.DEFAULT_FILE_SERVER,
EventMapper.mapper.writeValueAsString(settings.defaultFileServer),
JsonMapper.mapper.writeValueAsString(settings.defaultFileServer),
)
putString(PrefKeys.DEFAULT_HOME_FOLLOW_LIST, settings.defaultHomeFollowList.value)
putString(PrefKeys.DEFAULT_STORIES_FOLLOW_LIST, settings.defaultStoriesFollowList.value)
@@ -324,12 +324,12 @@ object LocalPreferences {
)
putString(
PrefKeys.ZAP_PAYMENT_REQUEST_SERVER,
EventMapper.mapper.writeValueAsString(settings.zapPaymentRequest?.denormalize()),
JsonMapper.mapper.writeValueAsString(settings.zapPaymentRequest?.denormalize()),
)
if (settings.backupContactList != null) {
putString(
PrefKeys.LATEST_CONTACT_LIST,
EventMapper.mapper.writeValueAsString(settings.backupContactList),
JsonMapper.mapper.writeValueAsString(settings.backupContactList),
)
} else {
remove(PrefKeys.LATEST_CONTACT_LIST)
@@ -338,7 +338,7 @@ object LocalPreferences {
if (settings.backupUserMetadata != null) {
putString(
PrefKeys.LATEST_USER_METADATA,
EventMapper.mapper.writeValueAsString(settings.backupUserMetadata),
JsonMapper.mapper.writeValueAsString(settings.backupUserMetadata),
)
} else {
remove(PrefKeys.LATEST_USER_METADATA)
@@ -347,7 +347,7 @@ object LocalPreferences {
if (settings.backupDMRelayList != null) {
putString(
PrefKeys.LATEST_DM_RELAY_LIST,
EventMapper.mapper.writeValueAsString(settings.backupDMRelayList),
JsonMapper.mapper.writeValueAsString(settings.backupDMRelayList),
)
} else {
remove(PrefKeys.LATEST_DM_RELAY_LIST)
@@ -356,7 +356,7 @@ object LocalPreferences {
if (settings.backupNIP65RelayList != null) {
putString(
PrefKeys.LATEST_NIP65_RELAY_LIST,
EventMapper.mapper.writeValueAsString(settings.backupNIP65RelayList),
JsonMapper.mapper.writeValueAsString(settings.backupNIP65RelayList),
)
} else {
remove(PrefKeys.LATEST_NIP65_RELAY_LIST)
@@ -365,7 +365,7 @@ object LocalPreferences {
if (settings.backupSearchRelayList != null) {
putString(
PrefKeys.LATEST_SEARCH_RELAY_LIST,
EventMapper.mapper.writeValueAsString(settings.backupSearchRelayList),
JsonMapper.mapper.writeValueAsString(settings.backupSearchRelayList),
)
} else {
remove(PrefKeys.LATEST_SEARCH_RELAY_LIST)
@@ -374,7 +374,7 @@ object LocalPreferences {
if (settings.backupBlockedRelayList != null) {
putString(
PrefKeys.LATEST_BLOCKED_RELAY_LIST,
EventMapper.mapper.writeValueAsString(settings.backupBlockedRelayList),
JsonMapper.mapper.writeValueAsString(settings.backupBlockedRelayList),
)
} else {
remove(PrefKeys.LATEST_BLOCKED_RELAY_LIST)
@@ -383,7 +383,7 @@ object LocalPreferences {
if (settings.backupTrustedRelayList != null) {
putString(
PrefKeys.LATEST_TRUSTED_RELAY_LIST,
EventMapper.mapper.writeValueAsString(settings.backupTrustedRelayList),
JsonMapper.mapper.writeValueAsString(settings.backupTrustedRelayList),
)
} else {
remove(PrefKeys.LATEST_TRUSTED_RELAY_LIST)
@@ -398,7 +398,7 @@ object LocalPreferences {
if (settings.backupMuteList != null) {
putString(
PrefKeys.LATEST_MUTE_LIST,
EventMapper.mapper.writeValueAsString(settings.backupMuteList),
JsonMapper.mapper.writeValueAsString(settings.backupMuteList),
)
} else {
remove(PrefKeys.LATEST_MUTE_LIST)
@@ -407,7 +407,7 @@ object LocalPreferences {
if (settings.backupPrivateHomeRelayList != null) {
putString(
PrefKeys.LATEST_PRIVATE_HOME_RELAY_LIST,
EventMapper.mapper.writeValueAsString(settings.backupPrivateHomeRelayList),
JsonMapper.mapper.writeValueAsString(settings.backupPrivateHomeRelayList),
)
} else {
remove(PrefKeys.LATEST_PRIVATE_HOME_RELAY_LIST)
@@ -416,7 +416,7 @@ object LocalPreferences {
if (settings.backupAppSpecificData != null) {
putString(
PrefKeys.LATEST_APP_SPECIFIC_DATA,
EventMapper.mapper.writeValueAsString(settings.backupAppSpecificData),
JsonMapper.mapper.writeValueAsString(settings.backupAppSpecificData),
)
} else {
remove(PrefKeys.LATEST_APP_SPECIFIC_DATA)
@@ -425,7 +425,7 @@ object LocalPreferences {
if (settings.backupChannelList != null) {
putString(
PrefKeys.LATEST_CHANNEL_LIST,
EventMapper.mapper.writeValueAsString(settings.backupChannelList),
JsonMapper.mapper.writeValueAsString(settings.backupChannelList),
)
} else {
remove(PrefKeys.LATEST_CHANNEL_LIST)
@@ -434,7 +434,7 @@ object LocalPreferences {
if (settings.backupCommunityList != null) {
putString(
PrefKeys.LATEST_COMMUNITY_LIST,
EventMapper.mapper.writeValueAsString(settings.backupCommunityList),
JsonMapper.mapper.writeValueAsString(settings.backupCommunityList),
)
} else {
remove(PrefKeys.LATEST_COMMUNITY_LIST)
@@ -443,7 +443,7 @@ object LocalPreferences {
if (settings.backupHashtagList != null) {
putString(
PrefKeys.LATEST_HASHTAG_LIST,
EventMapper.mapper.writeValueAsString(settings.backupHashtagList),
JsonMapper.mapper.writeValueAsString(settings.backupHashtagList),
)
} else {
remove(PrefKeys.LATEST_HASHTAG_LIST)
@@ -452,7 +452,7 @@ object LocalPreferences {
if (settings.backupGeohashList != null) {
putString(
PrefKeys.LATEST_HASHTAG_LIST,
EventMapper.mapper.writeValueAsString(settings.backupGeohashList),
JsonMapper.mapper.writeValueAsString(settings.backupGeohashList),
)
} else {
remove(PrefKeys.LATEST_HASHTAG_LIST)
@@ -461,7 +461,7 @@ object LocalPreferences {
if (settings.backupEphemeralChatList != null) {
putString(
PrefKeys.LATEST_EPHEMERAL_LIST,
EventMapper.mapper.writeValueAsString(settings.backupEphemeralChatList),
JsonMapper.mapper.writeValueAsString(settings.backupEphemeralChatList),
)
} else {
remove(PrefKeys.LATEST_EPHEMERAL_LIST)
@@ -475,7 +475,7 @@ object LocalPreferences {
remove(PrefKeys.USE_PROXY)
remove(PrefKeys.PROXY_PORT)
putString(PrefKeys.TOR_SETTINGS, EventMapper.mapper.writeValueAsString(settings.torSettings.toSettings()))
putString(PrefKeys.TOR_SETTINGS, JsonMapper.mapper.writeValueAsString(settings.torSettings.toSettings()))
val regularMap =
settings.lastReadPerRoute.value.mapValues {
@@ -484,13 +484,13 @@ object LocalPreferences {
putString(
PrefKeys.LAST_READ_PER_ROUTE,
EventMapper.mapper.writeValueAsString(regularMap),
JsonMapper.mapper.writeValueAsString(regularMap),
)
putStringSet(PrefKeys.HAS_DONATED_IN_VERSION, settings.hasDonatedInVersion.value)
putString(
PrefKeys.PENDING_ATTESTATIONS,
EventMapper.mapper.writeValueAsString(settings.pendingAttestations.value),
JsonMapper.mapper.writeValueAsString(settings.pendingAttestations.value),
)
}
}
@@ -506,7 +506,7 @@ object LocalPreferences {
) {
Log.d("LocalPreferences", "Saving to shared settings")
prefs.edit {
putString(PrefKeys.SHARED_SETTINGS, EventMapper.mapper.writeValueAsString(sharedSettings))
putString(PrefKeys.SHARED_SETTINGS, JsonMapper.mapper.writeValueAsString(sharedSettings))
}
}
@@ -514,7 +514,7 @@ object LocalPreferences {
Log.d("LocalPreferences", "Load shared settings")
with(prefs) {
return try {
getString(PrefKeys.SHARED_SETTINGS, "{}")?.let { EventMapper.mapper.readValue<Settings>(it) }
getString(PrefKeys.SHARED_SETTINGS, "{}")?.let { JsonMapper.mapper.readValue<Settings>(it) }
} catch (e: Throwable) {
if (e is CancellationException) throw e
Log.w(
@@ -658,7 +658,7 @@ object LocalPreferences {
if (T::class.java.isInstance(Event::class.java)) {
Event.fromJson(value) as T?
} else {
EventMapper.mapper.readValue<T?>(value)
JsonMapper.mapper.readValue<T?>(value)
}
} catch (e: Throwable) {
if (e is CancellationException) throw e

View File

@@ -26,7 +26,7 @@ import com.vitorpamplona.amethyst.model.AccountSettings
import com.vitorpamplona.amethyst.model.AccountSyncedSettingsInternal
import com.vitorpamplona.amethyst.model.LocalCache
import com.vitorpamplona.amethyst.model.NoteState
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
import com.vitorpamplona.quartz.nip78AppData.AppSpecificDataEvent
import kotlinx.coroutines.CoroutineScope
@@ -55,7 +55,7 @@ class AppSpecificState(
fun saveNewAppSpecificData(onDone: (AppSpecificDataEvent) -> Unit) {
val toInternal = settings.syncedSettings.toInternal()
signer.nip44Encrypt(EventMapper.mapper.writeValueAsString(toInternal), signer.pubKey) { encrypted ->
signer.nip44Encrypt(JsonMapper.mapper.writeValueAsString(toInternal), signer.pubKey) { encrypted ->
AppSpecificDataEvent.create(
dTag = APP_SPECIFIC_DATA_D_TAG,
description = encrypted,
@@ -74,7 +74,7 @@ class AppSpecificState(
LocalCache.justConsumeMyOwnEvent(event)
signer.decrypt(event.content, event.pubKey) { decrypted ->
try {
val syncedSettings = EventMapper.mapper.readValue<AccountSyncedSettingsInternal>(decrypted)
val syncedSettings = JsonMapper.mapper.readValue<AccountSyncedSettingsInternal>(decrypted)
settings.syncedSettings.updateFrom(syncedSettings)
} catch (e: Throwable) {
if (e is CancellationException) throw e
@@ -94,7 +94,7 @@ class AppSpecificState(
signer.decrypt(it.content, it.pubKey) { decrypted ->
val syncedSettings =
try {
EventMapper.mapper.readValue<AccountSyncedSettingsInternal>(decrypted)
JsonMapper.mapper.readValue<AccountSyncedSettingsInternal>(decrypted)
} catch (e: Throwable) {
if (e is CancellationException) throw e
Log.w("LocalPreferences", "Error Decoding latestAppSpecificData from Preferences with value $decrypted", e)

View File

@@ -27,7 +27,7 @@ import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import com.fasterxml.jackson.module.kotlin.readValue
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.utils.LargeCache
import org.junit.Assert.assertTrue
import org.junit.Rule
@@ -44,7 +44,7 @@ open class BaseCacheBenchmark {
// This file includes duplicates
val fullDBInputStream = getInstrumentation().context.assets.open("nostr_vitor_startup_data.json")
return EventMapper.mapper.readValue<ArrayList<Event>>(
return JsonMapper.mapper.readValue<ArrayList<Event>>(
GZIPInputStream(fullDBInputStream),
)
}

View File

@@ -24,7 +24,7 @@ import androidx.benchmark.junit4.BenchmarkRule
import androidx.benchmark.junit4.measureRepeated
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.vitorpamplona.quartz.EventFactory
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.verify
import com.vitorpamplona.quartz.nip01Core.verifyId
import com.vitorpamplona.quartz.nip01Core.verifySignature
@@ -47,28 +47,28 @@ class EventBenchmark {
@Test
fun parseComplete() {
benchmarkRule.measureRepeated {
val tree = EventMapper.mapper.readTree(reqResponseEvent)
val event = EventMapper.fromJson(tree[2])
val tree = JsonMapper.mapper.readTree(reqResponseEvent)
val event = JsonMapper.fromJson(tree[2])
assertTrue(event.verify())
}
}
@Test
fun parseREQString() {
benchmarkRule.measureRepeated { EventMapper.mapper.readTree(reqResponseEvent) }
benchmarkRule.measureRepeated { JsonMapper.mapper.readTree(reqResponseEvent) }
}
@Test
fun parseEvent() {
val msg = EventMapper.mapper.readTree(reqResponseEvent)
val msg = JsonMapper.mapper.readTree(reqResponseEvent)
benchmarkRule.measureRepeated { EventMapper.fromJson(msg[2]) }
benchmarkRule.measureRepeated { JsonMapper.fromJson(msg[2]) }
}
@Test
fun checkId() {
val msg = EventMapper.mapper.readTree(reqResponseEvent)
val event = EventMapper.fromJson(msg[2])
val msg = JsonMapper.mapper.readTree(reqResponseEvent)
val event = JsonMapper.fromJson(msg[2])
benchmarkRule.measureRepeated {
// Should pass
assertTrue(event.verifyId())
@@ -77,8 +77,8 @@ class EventBenchmark {
@Test
fun checkSignature() {
val msg = EventMapper.mapper.readTree(reqResponseEvent)
val event = EventMapper.fromJson(msg[2])
val msg = JsonMapper.mapper.readTree(reqResponseEvent)
val event = JsonMapper.fromJson(msg[2])
benchmarkRule.measureRepeated {
// Should pass
assertTrue(event.verifySignature())

View File

@@ -25,7 +25,7 @@ import androidx.benchmark.junit4.measureRepeated
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.generateId
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.verifyId
import junit.framework.TestCase.assertNotNull
import junit.framework.TestCase.assertTrue
@@ -45,7 +45,7 @@ class EventCmdHasherBenchmark {
@Test
fun checkIDHashKind1WihtoutTags() {
val event = EventMapper.fromJson(EventMapper.mapper.readTree(reqResponseEvent))
val event = JsonMapper.fromJson(JsonMapper.mapper.readTree(reqResponseEvent))
benchmarkRule.measureRepeated {
// Should pass

View File

@@ -27,7 +27,7 @@ import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import com.fasterxml.jackson.module.kotlin.readValue
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.utils.LargeCache
import org.junit.Assert.assertTrue
import org.junit.Rule
@@ -42,7 +42,7 @@ open class BaseLargeCacheBenchmark {
// This file includes duplicates
val fullDBInputStream = getInstrumentation().context.assets.open("nostr_vitor_startup_data.json")
return EventMapper.mapper.readValue<ArrayList<Event>>(
return JsonMapper.mapper.readValue<ArrayList<Event>>(
GZIPInputStream(fullDBInputStream),
)
}

View File

@@ -24,7 +24,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import com.fasterxml.jackson.module.kotlin.readValue
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.verify
import junit.framework.TestCase.assertEquals
import junit.framework.TestCase.assertTrue
@@ -42,7 +42,7 @@ class LargeDBSignatureCheck {
val fullDBInputStream = getInstrumentation().context.assets.open("nostr_vitor_short.json")
val eventArray =
EventMapper.mapper.readValue<ArrayList<Event>>(
JsonMapper.mapper.readValue<ArrayList<Event>>(
InputStreamReader(fullDBInputStream),
) as List<Event>
@@ -62,7 +62,7 @@ class LargeDBSignatureCheck {
val fullDBInputStream = getInstrumentation().context.assets.open("nostr_vitor_startup_data.json")
val eventArray =
EventMapper.mapper.readValue<ArrayList<Event>>(
JsonMapper.mapper.readValue<ArrayList<Event>>(
GZIPInputStream(fullDBInputStream),
) as List<Event>

View File

@@ -21,7 +21,7 @@
package com.vitorpamplona.quartz.nip01Core
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import org.junit.Test
import org.junit.runner.RunWith
@@ -52,8 +52,8 @@ class EventSigCheck {
@Test
fun testUnicode2028and2029ShouldNotBeEscaped() {
val msg = EventMapper.mapper.readTree(payload1)
val event = EventMapper.fromJson(msg[2])
val msg = JsonMapper.mapper.readTree(payload1)
val event = JsonMapper.fromJson(msg[2])
// Should pass
event.checkSignature()

View File

@@ -24,7 +24,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.toHexKey
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
import com.vitorpamplona.quartz.nip57Zaps.PrivateZapEncryption.Companion.createEncryptionPrivateKey
import com.vitorpamplona.quartz.nip59GiftWraps.wait1SecondForResult
@@ -39,7 +39,7 @@ class PrivateZapTests {
@Test
fun testPollZap() {
val poll =
EventMapper.fromJson(
JsonMapper.fromJson(
"""{
"content": "New poll \n\n #zappoll",
"created_at": 1682440713,

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.experimental.audio.header.tags
import com.fasterxml.jackson.module.kotlin.readValue
import com.vitorpamplona.quartz.nip01Core.core.has
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.utils.ensure
class WaveformTag(
@@ -38,12 +38,12 @@ class WaveformTag(
ensure(tag.has(1)) { return null }
ensure(tag[0] == TAG_NAME) { return null }
ensure(tag[1].isNotEmpty()) { return null }
val wave = runCatching { EventMapper.mapper.readValue<List<Int>>(tag[1]) }.getOrNull()
val wave = runCatching { JsonMapper.mapper.readValue<List<Int>>(tag[1]) }.getOrNull()
if (wave.isNullOrEmpty()) return null
return WaveformTag(wave)
}
@JvmStatic
fun assemble(wave: List<Int>) = arrayOf(TAG_NAME, EventMapper.mapper.writeValueAsString(wave))
fun assemble(wave: List<Int>) = arrayOf(TAG_NAME, JsonMapper.mapper.writeValueAsString(wave))
}
}

View File

@@ -27,7 +27,7 @@ import com.vitorpamplona.quartz.experimental.edits.tags.RelayTag
import com.vitorpamplona.quartz.nip01Core.core.BaseReplaceableEvent
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.core.TagArray
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
import com.vitorpamplona.quartz.nip01Core.tags.addressables.ATag
@@ -81,7 +81,7 @@ class PrivateOutboxRelayListEvent(
try {
signer.nip44Decrypt(content, pubKey) {
try {
privateTagsCache = EventMapper.mapper.readValue<TagArray>(it)
privateTagsCache = JsonMapper.mapper.readValue<TagArray>(it)
privateTagsCache?.let { onReady(it) }
} catch (e: Throwable) {
Log.w("PrivateOutboxRelayListEvent", "Error parsing the JSON: ${e.message}. Json `$it` from event `${toNostrUri()}`")
@@ -107,7 +107,7 @@ class PrivateOutboxRelayListEvent(
signer: NostrSigner,
onReady: (String) -> Unit,
) {
val msg = EventMapper.mapper.writeValueAsString(privateTags)
val msg = JsonMapper.mapper.writeValueAsString(privateTags)
signer.nip44Encrypt(
msg,

View File

@@ -21,9 +21,8 @@
package com.vitorpamplona.quartz.nip01Core.core
import androidx.compose.runtime.Immutable
import com.fasterxml.jackson.annotation.JsonProperty
import com.vitorpamplona.quartz.nip01Core.jackson.EventManualSerializer
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.eventTemplate
import com.vitorpamplona.quartz.utils.TimeUtils
import com.vitorpamplona.quartz.utils.bytesUsedInMemory
@@ -32,8 +31,8 @@ import com.vitorpamplona.quartz.utils.pointerSizeInBytes
@Immutable
open class Event(
val id: HexKey,
@JsonProperty("pubkey") val pubKey: HexKey,
@JsonProperty("created_at") val createdAt: Long,
val pubKey: HexKey,
val createdAt: Long,
val kind: Int,
val tags: TagArray,
val content: String,
@@ -57,7 +56,7 @@ open class Event(
fun toJson(): String = EventManualSerializer.toJson(id, pubKey, createdAt, kind, tags, content, sig)
companion object {
fun fromJson(json: String): Event = EventMapper.fromJson(json)
fun fromJson(json: String): Event = JsonMapper.fromJson(json)
fun build(
kind: Int,

View File

@@ -24,7 +24,7 @@ import com.fasterxml.jackson.databind.node.ArrayNode
import com.fasterxml.jackson.databind.node.JsonNodeFactory
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.core.toHexKey
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.utils.sha256.sha256
class EventHasher {
@@ -61,7 +61,7 @@ class EventHasher {
kind: Int,
tags: Array<Array<String>>,
content: String,
): String = EventMapper.toJson(makeJsonObjectForId(pubKey, createdAt, kind, tags, content))
): String = JsonMapper.toJson(makeJsonObjectForId(pubKey, createdAt, kind, tags, content))
fun hashIdBytes(
pubKey: HexKey,

View File

@@ -67,7 +67,7 @@ class EventManualSerializer {
sig: String,
): String {
val obj = assemble(id, pubKey, createdAt, kind, tags, content, sig)
return EventMapper.mapper.writeValueAsString(obj)
return JsonMapper.mapper.writeValueAsString(obj)
}
}
}

View File

@@ -39,8 +39,8 @@ import com.vitorpamplona.quartz.nip59Giftwrap.rumors.Rumor
import com.vitorpamplona.quartz.nip59Giftwrap.rumors.RumorDeserializer
import com.vitorpamplona.quartz.nip59Giftwrap.rumors.RumorSerializer
class EventMapper {
companion object {
class JsonMapper {
companion object Companion {
val defaultPrettyPrinter = InliningTagArrayPrettyPrinter()
val mapper =

View File

@@ -28,7 +28,7 @@ import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.core.TagArrayBuilder
import com.vitorpamplona.quartz.nip01Core.core.builder
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.metadata.tags.AboutTag
import com.vitorpamplona.quartz.nip01Core.metadata.tags.BannerTag
import com.vitorpamplona.quartz.nip01Core.metadata.tags.DisplayNameTag
@@ -63,7 +63,7 @@ class MetadataEvent(
fun contactMetaData() =
try {
EventMapper.mapper.readValue(content, UserMetadata::class.java)
JsonMapper.mapper.readValue(content, UserMetadata::class.java)
} catch (e: Exception) {
Log.w("MetadataEvent", "Content Parse Error: ${toNostrUri()} ${e.localizedMessage}")
null

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.relay.commands.toClient
import com.fasterxml.jackson.databind.JsonNode
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
class EventMessage(
val subId: String,
@@ -35,7 +35,7 @@ class EventMessage(
fun parse(msgArray: JsonNode): EventMessage =
EventMessage(
msgArray.get(1).asText(),
EventMapper.fromJson(msgArray.get(2)),
JsonMapper.fromJson(msgArray.get(2)),
)
}
}

View File

@@ -20,11 +20,11 @@
*/
package com.vitorpamplona.quartz.nip01Core.relay.commands.toClient
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
class ToClientParser {
fun parse(newMessage: String): Message? {
val msgArray = EventMapper.mapper.readTree(newMessage)
val msgArray = JsonMapper.mapper.readTree(newMessage)
val type = msgArray.get(0).asText()
return when (type) {
EventMessage.LABEL -> EventMessage.parse(msgArray)

View File

@@ -21,7 +21,7 @@
package com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay
import com.fasterxml.jackson.databind.JsonNode
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip42RelayAuth.RelayAuthEvent
class AuthCmd(
@@ -36,7 +36,7 @@ class AuthCmd(
@JvmStatic
fun parse(msgArray: JsonNode): AuthCmd =
AuthCmd(
EventMapper.fromJson(msgArray.get(1)) as RelayAuthEvent,
JsonMapper.fromJson(msgArray.get(1)) as RelayAuthEvent,
)
}
}

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.node.ObjectNode
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
import com.vitorpamplona.quartz.nip01Core.relay.filters.FilterDeserializer
import com.vitorpamplona.quartz.utils.joinToStringLimited
@@ -54,7 +54,7 @@ class CountCmd(
val filters = mutableListOf<Filter>()
for (i in 2 until msgArray.size()) {
val json = EventMapper.mapper.readTree(msgArray.get(i).asText())
val json = JsonMapper.mapper.readTree(msgArray.get(i).asText())
if (json is ObjectNode) {
filters.add(FilterDeserializer.fromJson(json))
}

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay
import com.fasterxml.jackson.databind.JsonNode
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
class EventCmd(
val event: Event,
@@ -36,7 +36,7 @@ class EventCmd(
@JvmStatic
fun parse(msgArray: JsonNode): EventCmd =
EventCmd(
EventMapper.fromJson(msgArray.get(1)),
JsonMapper.fromJson(msgArray.get(1)),
)
}
}

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.node.ObjectNode
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
import com.vitorpamplona.quartz.nip01Core.relay.filters.FilterDeserializer
import com.vitorpamplona.quartz.utils.joinToStringLimited
@@ -54,7 +54,7 @@ class ReqCmd(
val filters = mutableListOf<Filter>()
for (i in 2 until msgArray.size()) {
val json = EventMapper.mapper.readTree(msgArray.get(i).asText())
val json = JsonMapper.mapper.readTree(msgArray.get(i).asText())
if (json is ObjectNode) {
filters.add(FilterDeserializer.fromJson(json))
}

View File

@@ -20,11 +20,11 @@
*/
package com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
class ToRelayParser {
fun parse(newMessage: String): Command? {
val msgArray = EventMapper.mapper.readTree(newMessage)
val msgArray = JsonMapper.mapper.readTree(newMessage)
val type = msgArray.get(0).asText()
return when (type) {
AuthCmd.LABEL -> AuthCmd.parse(msgArray)

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.relay.filters
import com.fasterxml.jackson.databind.node.JsonNodeFactory
import com.fasterxml.jackson.databind.node.ObjectNode
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
object FilterSerializer {
fun toJsonObject(
@@ -80,7 +80,7 @@ object FilterSerializer {
limit: Int? = null,
search: String? = null,
): String =
EventMapper.mapper.writeValueAsString(
JsonMapper.mapper.writeValueAsString(
toJsonObject(
ids,
authors,

View File

@@ -26,7 +26,7 @@ import com.vitorpamplona.quartz.nip01Core.core.TagArray
import com.vitorpamplona.quartz.nip01Core.core.TagArrayBuilder
import com.vitorpamplona.quartz.nip01Core.core.builder
import com.vitorpamplona.quartz.nip01Core.core.tagArray
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.utils.TimeUtils
class EventTemplate<T : Event>(
@@ -36,10 +36,10 @@ class EventTemplate<T : Event>(
val tags: TagArray,
val content: String,
) {
fun toJson(): String = EventMapper.mapper.writeValueAsString(this)
fun toJson(): String = JsonMapper.mapper.writeValueAsString(this)
companion object {
fun fromJson(json: String): EventTemplate<Event> = EventTemplateManualDeserializer.fromJson(EventMapper.mapper.readTree(json))
fun fromJson(json: String): EventTemplate<Event> = EventTemplateManualDeserializer.fromJson(JsonMapper.mapper.readTree(json))
}
}

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip02FollowList
import android.util.Log
import com.fasterxml.jackson.module.kotlin.readValue
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
data class ReadWrite(
val read: Boolean,
@@ -31,12 +31,12 @@ data class ReadWrite(
class RelaySet {
companion object {
fun assemble(relayUse: Map<String, ReadWrite>): String = EventMapper.mapper.writeValueAsString(relayUse)
fun assemble(relayUse: Map<String, ReadWrite>): String = JsonMapper.mapper.writeValueAsString(relayUse)
fun parse(content: String): Map<String, ReadWrite>? =
try {
if (content.isNotEmpty()) {
EventMapper.mapper.readValue<Map<String, ReadWrite>>(content)
JsonMapper.mapper.readValue<Map<String, ReadWrite>>(content)
} else {
null
}

View File

@@ -20,7 +20,7 @@
*/
package com.vitorpamplona.quartz.nip05DnsIdentifiers
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import kotlinx.coroutines.CancellationException
class Nip05 {
@@ -46,7 +46,7 @@ class Nip05 {
// lowercase version of the username.
val nip05url =
try {
EventMapper.mapper.readTree(returnBody.lowercase())
JsonMapper.mapper.readTree(returnBody.lowercase())
} catch (e: Throwable) {
if (e is CancellationException) throw e
return Result.failure(e)

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip28PublicChat.base
import androidx.compose.runtime.Immutable
import com.fasterxml.jackson.module.kotlin.readValue
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
@@ -38,9 +38,9 @@ data class ChannelData(
fun normalize() = ChannelDataNorm(name, about, picture, relays?.mapNotNull { RelayUrlNormalizer.normalizeOrNull(it) })
companion object {
fun parse(content: String): ChannelData? = EventMapper.mapper.readValue(content)
fun parse(content: String): ChannelData? = JsonMapper.mapper.readValue(content)
fun assemble(data: ChannelData) = EventMapper.mapper.writeValueAsString(data)
fun assemble(data: ChannelData) = JsonMapper.mapper.writeValueAsString(data)
}
}

View File

@@ -21,7 +21,7 @@
package com.vitorpamplona.quartz.nip44Encryption
import android.util.Log
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip04Dm.crypto.EncryptedInfo
import com.vitorpamplona.quartz.nip04Dm.crypto.Nip04
import java.util.Base64
@@ -66,7 +66,7 @@ object Nip44 {
// Ignores if it is not a valid json
val info =
try {
EventMapper.mapper.readValue(json, EncryptedInfoString::class.java)
JsonMapper.mapper.readValue(json, EncryptedInfoString::class.java)
} catch (e: Exception) {
Log.e("NIP44", "Unable to parse json $json")
return null

View File

@@ -21,19 +21,19 @@
package com.vitorpamplona.quartz.nip46RemoteSigner
import com.fasterxml.jackson.core.type.TypeReference
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip02FollowList.ReadWrite
import java.util.UUID
class BunkerResponseGetRelays(
id: String = UUID.randomUUID().toString(),
val relays: Map<String, ReadWrite>,
) : BunkerResponse(id, EventMapper.mapper.writeValueAsString(relays), null) {
) : BunkerResponse(id, JsonMapper.mapper.writeValueAsString(relays), null) {
companion object {
fun parse(
id: String,
result: String,
error: String? = null,
) = BunkerResponseGetRelays(id, EventMapper.mapper.readValue(result, object : TypeReference<Map<String, ReadWrite>>() {}))
) = BunkerResponseGetRelays(id, JsonMapper.mapper.readValue(result, object : TypeReference<Map<String, ReadWrite>>() {}))
}
}

View File

@@ -23,7 +23,7 @@ package com.vitorpamplona.quartz.nip46RemoteSigner
import androidx.compose.runtime.Immutable
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
import com.vitorpamplona.quartz.nip31Alts.AltTag
import com.vitorpamplona.quartz.utils.Hex
@@ -73,7 +73,7 @@ class NostrConnectEvent(
// decrypts using NIP-04 or NIP-44
signer.decrypt(content, talkingWith(signer.pubKey)) { retVal ->
val content = EventMapper.mapper.readValue(retVal, BunkerMessage::class.java)
val content = JsonMapper.mapper.readValue(retVal, BunkerMessage::class.java)
decryptedContent = decryptedContent + Pair(signer.pubKey, content)
@@ -98,7 +98,7 @@ class NostrConnectEvent(
arrayOf("p", remoteKey),
)
val encrypted = EventMapper.mapper.writeValueAsString(message)
val encrypted = JsonMapper.mapper.writeValueAsString(message)
signer.nip44Encrypt(encrypted, remoteKey) { content ->
signer.sign(createdAt, KIND, tags, content, onReady)

View File

@@ -24,7 +24,7 @@ import android.util.Log
import androidx.compose.runtime.Immutable
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
import com.vitorpamplona.quartz.nip31Alts.AltTag
import com.vitorpamplona.quartz.utils.TimeUtils
@@ -62,7 +62,7 @@ class LnZapPaymentRequestEvent(
try {
signer.decrypt(content, talkingWith(signer.pubKey)) { jsonText ->
val payInvoiceMethod = EventMapper.mapper.readValue(jsonText, Request::class.java)
val payInvoiceMethod = JsonMapper.mapper.readValue(jsonText, Request::class.java)
lnInvoice = (payInvoiceMethod as? PayInvoiceMethod)?.params?.invoice
@@ -84,7 +84,7 @@ class LnZapPaymentRequestEvent(
createdAt: Long = TimeUtils.now(),
onReady: (LnZapPaymentRequestEvent) -> Unit,
) {
val serializedRequest = EventMapper.mapper.writeValueAsString(PayInvoiceMethod.create(lnInvoice))
val serializedRequest = JsonMapper.mapper.writeValueAsString(PayInvoiceMethod.create(lnInvoice))
val tags = arrayOf(arrayOf("p", walletServicePubkey), AltTag.assemble(ALT))

View File

@@ -24,7 +24,7 @@ import android.util.Log
import androidx.compose.runtime.Immutable
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
import com.vitorpamplona.quartz.utils.pointerSizeInBytes
@@ -71,7 +71,7 @@ class LnZapPaymentResponseEvent(
try {
if (content.isNotEmpty()) {
plainContent(signer) {
EventMapper.mapper.readValue(it, Response::class.java)?.let {
JsonMapper.mapper.readValue(it, Response::class.java)?.let {
response = it
onReady(it)
}

View File

@@ -26,7 +26,7 @@ import com.vitorpamplona.quartz.nip01Core.core.isTagged
import com.vitorpamplona.quartz.nip01Core.hints.AddressHintProvider
import com.vitorpamplona.quartz.nip01Core.hints.EventHintProvider
import com.vitorpamplona.quartz.nip01Core.hints.PubKeyHintProvider
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
import com.vitorpamplona.quartz.nip01Core.tags.addressables.ATag
import com.vitorpamplona.quartz.nip01Core.tags.addressables.Address
@@ -176,7 +176,7 @@ abstract class GeneralListEvent(
signer: NostrSigner,
onReady: (String) -> Unit,
) {
val msg = EventMapper.mapper.writeValueAsString(privateTags)
val msg = JsonMapper.mapper.writeValueAsString(privateTags)
signer.nip04Encrypt(
msg,

View File

@@ -21,14 +21,14 @@
package com.vitorpamplona.quartz.nip51Lists.encryption
import com.fasterxml.jackson.module.kotlin.readValue
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
class PrivateTagsInContent {
companion object {
fun decode(content: String) = EventMapper.mapper.readValue<Array<Array<String>>>(content)
fun decode(content: String) = JsonMapper.mapper.readValue<Array<Array<String>>>(content)
fun encode(privateTags: Array<Array<String>>) = EventMapper.mapper.writeValueAsString(privateTags)
fun encode(privateTags: Array<Array<String>>) = JsonMapper.mapper.writeValueAsString(privateTags)
fun decrypt(
content: String,

View File

@@ -25,7 +25,7 @@ import com.vitorpamplona.quartz.EventFactory
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.crypto.EventHasher
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip59Giftwrap.seals.SealedRumorEvent
class Rumor(
@@ -49,9 +49,9 @@ class Rumor(
}
companion object {
fun fromJson(json: String): Rumor = EventMapper.mapper.readValue(json, Rumor::class.java)
fun fromJson(json: String): Rumor = JsonMapper.mapper.readValue(json, Rumor::class.java)
fun toJson(event: Rumor): String = EventMapper.mapper.writeValueAsString(event)
fun toJson(event: Rumor): String = JsonMapper.mapper.writeValueAsString(event)
fun create(event: Event): Rumor = Rumor(event.id, event.pubKey, event.createdAt, event.kind, event.tags, event.content)
}

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip89AppHandlers.definition
import androidx.compose.runtime.Stable
import com.fasterxml.jackson.annotation.JsonProperty
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.utils.bytesUsedInMemory
import com.vitorpamplona.quartz.utils.pointerSizeInBytes
@@ -113,8 +113,8 @@ class AppMetadata {
fun toJson() = assemble(this)
companion object {
fun assemble(data: AppMetadata) = EventMapper.mapper.writeValueAsString(data)
fun assemble(data: AppMetadata) = JsonMapper.mapper.writeValueAsString(data)
fun parse(content: String) = EventMapper.mapper.readValue(content, AppMetadata::class.java)
fun parse(content: String) = JsonMapper.mapper.readValue(content, AppMetadata::class.java)
}
}

View File

@@ -25,7 +25,7 @@ import androidx.compose.runtime.Immutable
import com.fasterxml.jackson.module.kotlin.readValue
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.signers.NostrSigner
import com.vitorpamplona.quartz.nip31Alts.AltTag
import com.vitorpamplona.quartz.nip89AppHandlers.recommendation.AppRecommendationEvent
@@ -59,7 +59,7 @@ class NIP90ContentDiscoveryResponseEvent(
try {
events =
EventMapper.mapper.readValue<Array<Array<String>>>(content).mapNotNull {
JsonMapper.mapper.readValue<Array<Array<String>>>(content).mapNotNull {
if (it.size > 1 && it[0] == "e") {
it[1]
} else {

View File

@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.metadata
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.jackson.EventManualSerializer
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.utils.nsecToSigner
import org.junit.Assert.assertEquals
import org.junit.Test
@@ -35,7 +35,7 @@ class UpdateMetadataTest {
*/
fun Event.toPrettyJson(): String {
val obj = EventManualSerializer.assemble(id, pubKey, createdAt, kind, tags, content, sig)
return EventMapper.mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj)
return JsonMapper.mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj)
}
@Test

View File

@@ -20,14 +20,14 @@
*/
package com.vitorpamplona.quartz.nip46RemoteSigner
import com.vitorpamplona.quartz.nip01Core.jackson.EventMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import org.junit.Test
class BunkerRequestTest {
@Test
fun testBunkerRequestDeSerialization() {
val requestJson = """{"id":"123","method":"sign_event","params":["{\"created_at\":1234,\"kind\":1,\"tags\":[],\"content\":\"This is an unsigned event.\"}"]}"""
val bunkerRequest = EventMapper.mapper.readValue(requestJson, BunkerRequest::class.java)
val bunkerRequest = JsonMapper.mapper.readValue(requestJson, BunkerRequest::class.java)
assert(bunkerRequest is BunkerRequestSign)
assert((bunkerRequest as BunkerRequestSign).event.kind == 1)