Moving the EmptyOTS resolver to Quartz for test cases

This commit is contained in:
Vitor Pamplona
2025-10-17 14:29:46 -04:00
parent 563e985a2b
commit 990cca3d64
5 changed files with 32 additions and 40 deletions

View File

@@ -28,7 +28,6 @@ import com.vitorpamplona.amethyst.model.LocalCache
import com.vitorpamplona.amethyst.service.location.LocationState import com.vitorpamplona.amethyst.service.location.LocationState
import com.vitorpamplona.amethyst.service.okhttp.OkHttpWebSocket import com.vitorpamplona.amethyst.service.okhttp.OkHttpWebSocket
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.nwc.NWCPaymentFilterAssembler import com.vitorpamplona.amethyst.service.relayClient.reqCommand.nwc.NWCPaymentFilterAssembler
import com.vitorpamplona.amethyst.ui.screen.loggedIn.EmptyOtsResolverBuilder
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.dal.ThreadFeedFilter import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.dal.ThreadFeedFilter
import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
@@ -37,6 +36,7 @@ import com.vitorpamplona.quartz.nip01Core.jackson.JacksonMapper
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
import com.vitorpamplona.quartz.nip01Core.tags.aTag.ATag import com.vitorpamplona.quartz.nip01Core.tags.aTag.ATag
import com.vitorpamplona.quartz.nip03Timestamp.EmptyOtsResolverBuilder
import junit.framework.TestCase import junit.framework.TestCase
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers

View File

@@ -104,12 +104,7 @@ import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
import com.vitorpamplona.quartz.nip01Core.signers.SignerExceptions import com.vitorpamplona.quartz.nip01Core.signers.SignerExceptions
import com.vitorpamplona.quartz.nip01Core.tags.people.PubKeyReferenceTag import com.vitorpamplona.quartz.nip01Core.tags.people.PubKeyReferenceTag
import com.vitorpamplona.quartz.nip01Core.tags.people.isTaggedUser import com.vitorpamplona.quartz.nip01Core.tags.people.isTaggedUser
import com.vitorpamplona.quartz.nip03Timestamp.OtsResolver import com.vitorpamplona.quartz.nip03Timestamp.EmptyOtsResolverBuilder
import com.vitorpamplona.quartz.nip03Timestamp.OtsResolverBuilder
import com.vitorpamplona.quartz.nip03Timestamp.ots.BitcoinExplorer
import com.vitorpamplona.quartz.nip03Timestamp.ots.BlockHeader
import com.vitorpamplona.quartz.nip03Timestamp.ots.RemoteCalendar
import com.vitorpamplona.quartz.nip03Timestamp.ots.Timestamp
import com.vitorpamplona.quartz.nip17Dm.base.ChatroomKeyable import com.vitorpamplona.quartz.nip17Dm.base.ChatroomKeyable
import com.vitorpamplona.quartz.nip18Reposts.GenericRepostEvent import com.vitorpamplona.quartz.nip18Reposts.GenericRepostEvent
import com.vitorpamplona.quartz.nip18Reposts.RepostEvent import com.vitorpamplona.quartz.nip18Reposts.RepostEvent
@@ -1735,36 +1730,3 @@ fun mockVitorAccountViewModel(): AccountViewModel {
vitorCache = it vitorCache = it
} }
} }
val EmptyOtsResolverBuilder =
object : OtsResolverBuilder {
override fun build(): OtsResolver =
OtsResolver(
explorer =
object : BitcoinExplorer {
override suspend fun block(hash: String): BlockHeader {
TODO("Not yet implemented")
}
override suspend fun blockHash(height: Int): String {
TODO("Not yet implemented")
}
},
calendar =
object : RemoteCalendar {
override suspend fun submit(
url: String,
digest: ByteArray,
): Timestamp {
TODO("Not yet implemented")
}
override suspend fun getTimestamp(
url: String,
commitment: ByteArray,
): Timestamp {
TODO("Not yet implemented")
}
},
)
}

View File

@@ -20,6 +20,18 @@
*/ */
package com.vitorpamplona.quartz.nip03Timestamp package com.vitorpamplona.quartz.nip03Timestamp
import com.vitorpamplona.quartz.nip03Timestamp.ots.EmptyBitcoinExplorer
import com.vitorpamplona.quartz.nip03Timestamp.ots.EmptyRemoteCalendar
interface OtsResolverBuilder { interface OtsResolverBuilder {
fun build(): OtsResolver fun build(): OtsResolver
} }
val EmptyOtsResolverBuilder =
object : OtsResolverBuilder {
override fun build(): OtsResolver =
OtsResolver(
explorer = EmptyBitcoinExplorer,
calendar = EmptyRemoteCalendar,
)
}

View File

@@ -39,3 +39,9 @@ interface BitcoinExplorer {
*/ */
suspend fun blockHash(height: Int): String suspend fun blockHash(height: Int): String
} }
object EmptyBitcoinExplorer : BitcoinExplorer {
override suspend fun block(hash: String) = TODO("Not yet implemented")
override suspend fun blockHash(height: Int) = TODO("Not yet implemented")
}

View File

@@ -55,3 +55,15 @@ interface RemoteCalendar {
commitment: ByteArray, commitment: ByteArray,
): Timestamp ): Timestamp
} }
object EmptyRemoteCalendar : RemoteCalendar {
override suspend fun submit(
url: String,
digest: ByteArray,
) = TODO("Not yet implemented")
override suspend fun getTimestamp(
url: String,
commitment: ByteArray,
) = TODO("Not yet implemented")
}