diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DecryptZapResponse.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DecryptZapResponse.kt index baac54777..35b3474a2 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DecryptZapResponse.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DecryptZapResponse.kt @@ -20,7 +20,6 @@ */ package com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.responses -import android.content.Intent import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip55AndroidSigner.api.SignerResult import com.vitorpamplona.quartz.nip55AndroidSigner.api.ZapEventDecryptionResult @@ -29,11 +28,10 @@ import com.vitorpamplona.quartz.nip57Zaps.LnZapPrivateEvent class DecryptZapResponse { companion object { - fun assemble(event: LnZapPrivateEvent): Intent { - val intent = Intent() - intent.putExtra("result", event.toJson()) - return intent - } + fun assemble(event: LnZapPrivateEvent): IntentResult = + IntentResult( + result = event.toJson(), + ) fun parse(intent: IntentResult): SignerResult.RequestAddressed { val eventJson = intent.result diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DeriveKeyResponse.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DeriveKeyResponse.kt index 6369b596e..3d51fb9a5 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DeriveKeyResponse.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DeriveKeyResponse.kt @@ -20,12 +20,18 @@ */ package com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.responses +import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip55AndroidSigner.api.DerivationResult import com.vitorpamplona.quartz.nip55AndroidSigner.api.SignerResult import com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.results.IntentResult class DeriveKeyResponse { companion object { + fun assemble(newPrivateKey: HexKey): IntentResult = + IntentResult( + result = newPrivateKey, + ) + fun parse(intent: IntentResult): SignerResult.RequestAddressed { val newPrivateKey = intent.result return if (newPrivateKey != null) { diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/LoginResponse.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/LoginResponse.kt index 5594a5156..ce5278721 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/LoginResponse.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/LoginResponse.kt @@ -20,12 +20,22 @@ */ package com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.responses +import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip55AndroidSigner.api.PubKeyResult import com.vitorpamplona.quartz.nip55AndroidSigner.api.SignerResult import com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.results.IntentResult class LoginResponse { companion object { + fun assemble( + pubkey: HexKey, + packageName: String, + ): IntentResult = + IntentResult( + result = pubkey, + `package` = packageName, + ) + fun parse(intent: IntentResult): SignerResult.RequestAddressed { val pubkey = intent.result val packageName = intent.`package` diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04DecryptResponse.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04DecryptResponse.kt index 2b9d0cc4c..84cc20ab6 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04DecryptResponse.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04DecryptResponse.kt @@ -26,10 +26,15 @@ import com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.result class Nip04DecryptResponse { companion object { + fun assemble(plaintext: String): IntentResult = + IntentResult( + result = plaintext, + ) + fun parse(intent: IntentResult): SignerResult.RequestAddressed { - val ciphertext = intent.result - return if (ciphertext != null) { - SignerResult.RequestAddressed.Successful(DecryptionResult(ciphertext)) + val plaintext = intent.result + return if (plaintext != null) { + SignerResult.RequestAddressed.Successful(DecryptionResult(plaintext)) } else { SignerResult.RequestAddressed.ReceivedButCouldNotPerform() } diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04EncryptResponse.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04EncryptResponse.kt index 35b58ff64..969520fef 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04EncryptResponse.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04EncryptResponse.kt @@ -26,6 +26,11 @@ import com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.result class Nip04EncryptResponse { companion object { + fun assemble(ciphertext: String): IntentResult = + IntentResult( + result = ciphertext, + ) + fun parse(intent: IntentResult): SignerResult.RequestAddressed { val ciphertext = intent.result return if (ciphertext != null) { diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44DecryptResponse.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44DecryptResponse.kt index fc3a78b89..e65dd8f4f 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44DecryptResponse.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44DecryptResponse.kt @@ -26,10 +26,15 @@ import com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.result class Nip44DecryptResponse { companion object { + fun assemble(plaintext: String): IntentResult = + IntentResult( + result = plaintext, + ) + fun parse(intent: IntentResult): SignerResult.RequestAddressed { - val ciphertext = intent.result - return if (ciphertext != null) { - SignerResult.RequestAddressed.Successful(DecryptionResult(ciphertext)) + val plaintext = intent.result + return if (plaintext != null) { + SignerResult.RequestAddressed.Successful(DecryptionResult(plaintext)) } else { SignerResult.RequestAddressed.ReceivedButCouldNotPerform() } diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44EncryptResponse.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44EncryptResponse.kt index b8cd34466..243856a38 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44EncryptResponse.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44EncryptResponse.kt @@ -26,6 +26,11 @@ import com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.result class Nip44EncryptResponse { companion object { + fun assemble(ciphertext: String): IntentResult = + IntentResult( + result = ciphertext, + ) + fun parse(intent: IntentResult): SignerResult.RequestAddressed { val ciphertext = intent.result return if (ciphertext != null) { diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/SignResponse.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/SignResponse.kt index e6cc27b8f..6e8a6d639 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/SignResponse.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/SignResponse.kt @@ -29,6 +29,12 @@ import com.vitorpamplona.quartz.nip55AndroidSigner.api.foreground.intents.result class SignResponse { companion object { + fun assemble(event: Event): IntentResult = + IntentResult( + event = event.toJson(), + result = event.sig, + ) + fun parse( intent: IntentResult, unsignedEvent: Event, diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResult.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResult.kt index 7bd374ac3..b1beca7a8 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResult.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResult.kt @@ -24,11 +24,11 @@ import android.content.Intent import com.fasterxml.jackson.module.kotlin.readValue import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper -class IntentResult( - val `package`: String?, - val result: String?, - val event: String?, - val id: String?, +data class IntentResult( + val `package`: String? = null, + val result: String? = null, + val event: String? = null, + val id: String? = null, ) { fun toJson(): String = JsonMapper.mapper.writeValueAsString(this)