check for error result

This commit is contained in:
greenart7c3
2025-11-12 11:49:00 -03:00
parent e02dfce152
commit c2f2dc46d9
@@ -40,6 +40,7 @@ import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequestPing
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequestSign import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequestSign
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponseDecrypt import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponseDecrypt
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponseEncrypt import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponseEncrypt
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponseError
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponseEvent import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponseEvent
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponsePong import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponsePong
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponsePublicKey import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerResponsePublicKey
@@ -114,6 +115,8 @@ class NostrSignerRemote(
} else { } else {
SignerResult.RequestAddressed.Successful(SignResult(response.event)) SignerResult.RequestAddressed.Successful(SignResult(response.event))
} }
} else if (response is BunkerResponseError) {
SignerResult.RequestAddressed.Rejected()
} else { } else {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform() SignerResult.RequestAddressed.ReceivedButCouldNotPerform()
} }
@@ -142,14 +145,18 @@ class NostrSignerRemote(
) )
}, },
parser = { response -> parser = { response ->
if (response is BunkerResponseEncrypt) { when (response) {
if (response.error != null) { is BunkerResponseEncrypt -> {
SignerResult.RequestAddressed.Rejected()
} else {
SignerResult.RequestAddressed.Successful(EncryptionResult(response.ciphertext)) SignerResult.RequestAddressed.Successful(EncryptionResult(response.ciphertext))
} }
} else {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform() is BunkerResponseError -> {
SignerResult.RequestAddressed.Rejected()
}
else -> {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform()
}
} }
}, },
) )
@@ -174,14 +181,16 @@ class NostrSignerRemote(
) )
}, },
parser = { response -> parser = { response ->
if (response is BunkerResponseDecrypt) { when (response) {
if (response.error != null) { is BunkerResponseDecrypt -> {
SignerResult.RequestAddressed.Rejected()
} else {
SignerResult.RequestAddressed.Successful(DecryptionResult(response.plaintext)) SignerResult.RequestAddressed.Successful(DecryptionResult(response.plaintext))
} }
} else { is BunkerResponseError -> {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform() SignerResult.RequestAddressed.Rejected()
}
else -> {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform()
}
} }
}, },
) )
@@ -206,14 +215,18 @@ class NostrSignerRemote(
) )
}, },
parser = { response -> parser = { response ->
if (response is BunkerResponseEncrypt) { when (response) {
if (response.error != null) { is BunkerResponseEncrypt -> {
SignerResult.RequestAddressed.Rejected()
} else {
SignerResult.RequestAddressed.Successful(EncryptionResult(response.ciphertext)) SignerResult.RequestAddressed.Successful(EncryptionResult(response.ciphertext))
} }
} else {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform() is BunkerResponseError -> {
SignerResult.RequestAddressed.Rejected()
}
else -> {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform()
}
} }
}, },
) )
@@ -238,14 +251,18 @@ class NostrSignerRemote(
) )
}, },
parser = { response -> parser = { response ->
if (response is BunkerResponseDecrypt) { when (response) {
if (response.error != null) { is BunkerResponseDecrypt -> {
SignerResult.RequestAddressed.Rejected()
} else {
SignerResult.RequestAddressed.Successful(DecryptionResult(response.plaintext)) SignerResult.RequestAddressed.Successful(DecryptionResult(response.plaintext))
} }
} else {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform() is BunkerResponseError -> {
SignerResult.RequestAddressed.Rejected()
}
else -> {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform()
}
} }
}, },
) )
@@ -257,21 +274,25 @@ class NostrSignerRemote(
throw Exception("Could not decrypt") throw Exception("Could not decrypt")
} }
suspend fun ping(): String? { suspend fun ping(): String {
val result = val result =
manager.launchWaitAndParse( manager.launchWaitAndParse(
bunkerRequestBuilder = { bunkerRequestBuilder = {
BunkerRequestPing() BunkerRequestPing()
}, },
parser = { response -> parser = { response ->
if (response is BunkerResponsePong) { when (response) {
if (response.result != null) { is BunkerResponsePong -> {
SignerResult.RequestAddressed.Successful(PingResult(response.result)) SignerResult.RequestAddressed.Successful(PingResult(response.id))
} else { }
is BunkerResponseError -> {
SignerResult.RequestAddressed.Rejected() SignerResult.RequestAddressed.Rejected()
} }
} else {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform() else -> {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform()
}
} }
}, },
) )
@@ -294,14 +315,18 @@ class NostrSignerRemote(
) )
}, },
parser = { response -> parser = { response ->
if (response is BunkerResponsePublicKey) { when (response) {
if (response.result != null) { is BunkerResponsePublicKey -> {
SignerResult.RequestAddressed.Successful(PublicKeyResult(response.result)) SignerResult.RequestAddressed.Successful(PublicKeyResult(response.pubkey))
} else { }
is BunkerResponseError -> {
SignerResult.RequestAddressed.Rejected() SignerResult.RequestAddressed.Rejected()
} }
} else {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform() else -> {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform()
}
} }
}, },
) )
@@ -320,14 +345,18 @@ class NostrSignerRemote(
BunkerRequestGetPublicKey() BunkerRequestGetPublicKey()
}, },
parser = { response -> parser = { response ->
if (response is BunkerResponsePublicKey) { when (response) {
if (response.result != null) { is BunkerResponsePublicKey -> {
SignerResult.RequestAddressed.Successful(PublicKeyResult(response.result)) SignerResult.RequestAddressed.Successful(PublicKeyResult(response.pubkey))
} else { }
is BunkerResponseError -> {
SignerResult.RequestAddressed.Rejected() SignerResult.RequestAddressed.Rejected()
} }
} else {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform() else -> {
SignerResult.RequestAddressed.ReceivedButCouldNotPerform()
}
} }
}, },
) )