From 8cfba8a247ac356f37e4a92e0f977b87deb10a37 Mon Sep 17 00:00:00 2001 From: ok300 <106775972+ok300@users.noreply.github.com> Date: Wed, 15 May 2024 09:26:01 +0200 Subject: [PATCH] Update RN bindings --- .../breezliquidsdk/BreezLiquidSDKMapper.kt | 289 ++++++------------ .../breezliquidsdk/BreezLiquidSDKModule.kt | 95 ++---- .../ios/BreezLiquidSDKMapper.swift | 37 +-- packages/react-native/src/index.ts | 27 +- 4 files changed, 134 insertions(+), 314 deletions(-) diff --git a/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKMapper.kt b/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKMapper.kt index 5a0a752..ab0b438 100644 --- a/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKMapper.kt +++ b/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKMapper.kt @@ -1,34 +1,33 @@ package com.breezliquidsdk import breez_liquid_sdk.* import com.facebook.react.bridge.* +import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter +import java.io.File import java.util.* - +import java.util.concurrent.ExecutorService +import java.util.concurrent.Executors + fun asConnectRequest(connectRequest: ReadableMap): ConnectRequest? { - if (!validateMandatoryFields( - connectRequest, - arrayOf( - "mnemonic", - "network", - ), - ) - ) { + if (!validateMandatoryFields(connectRequest, arrayOf( + "mnemonic", + "network", + ))) { return null } val mnemonic = connectRequest.getString("mnemonic")!! - val network = connectRequest.getString("network")?.let { asNetwork(it) }!! + val network = connectRequest.getString("network")?.let { asNetwork(it)}!! val dataDir = if (hasNonNullKey(connectRequest, "dataDir")) connectRequest.getString("dataDir") else null return ConnectRequest( mnemonic, network, - dataDir, - ) + dataDir,) } fun readableMapOf(connectRequest: ConnectRequest): ReadableMap { return readableMapOf( - "mnemonic" to connectRequest.mnemonic, - "network" to connectRequest.network.name.lowercase(), - "dataDir" to connectRequest.dataDir, + "mnemonic" to connectRequest.mnemonic, + "network" to connectRequest.network.name.lowercase(), + "dataDir" to connectRequest.dataDir, ) } @@ -36,32 +35,26 @@ fun asConnectRequestList(arr: ReadableArray): List { val list = ArrayList() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asConnectRequest(value)!!) + is ReadableMap -> list.add(asConnectRequest(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } return list } - fun asGetInfoRequest(getInfoRequest: ReadableMap): GetInfoRequest? { - if (!validateMandatoryFields( - getInfoRequest, - arrayOf( - "withScan", - ), - ) - ) { + if (!validateMandatoryFields(getInfoRequest, arrayOf( + "withScan", + ))) { return null } val withScan = getInfoRequest.getBoolean("withScan") return GetInfoRequest( - withScan, - ) + withScan,) } fun readableMapOf(getInfoRequest: GetInfoRequest): ReadableMap { return readableMapOf( - "withScan" to getInfoRequest.withScan, + "withScan" to getInfoRequest.withScan, ) } @@ -69,36 +62,30 @@ fun asGetInfoRequestList(arr: ReadableArray): List { val list = ArrayList() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asGetInfoRequest(value)!!) + is ReadableMap -> list.add(asGetInfoRequest(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } return list } - fun asGetInfoResponse(getInfoResponse: ReadableMap): GetInfoResponse? { - if (!validateMandatoryFields( - getInfoResponse, - arrayOf( - "balanceSat", - "pubkey", - ), - ) - ) { + if (!validateMandatoryFields(getInfoResponse, arrayOf( + "balanceSat", + "pubkey", + ))) { return null } val balanceSat = getInfoResponse.getDouble("balanceSat").toULong() val pubkey = getInfoResponse.getString("pubkey")!! return GetInfoResponse( balanceSat, - pubkey, - ) + pubkey,) } fun readableMapOf(getInfoResponse: GetInfoResponse): ReadableMap { return readableMapOf( - "balanceSat" to getInfoResponse.balanceSat, - "pubkey" to getInfoResponse.pubkey, + "balanceSat" to getInfoResponse.balanceSat, + "pubkey" to getInfoResponse.pubkey, ) } @@ -106,32 +93,26 @@ fun asGetInfoResponseList(arr: ReadableArray): List { val list = ArrayList() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asGetInfoResponse(value)!!) + is ReadableMap -> list.add(asGetInfoResponse(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } return list } - fun asPrepareReceiveRequest(prepareReceiveRequest: ReadableMap): PrepareReceiveRequest? { - if (!validateMandatoryFields( - prepareReceiveRequest, - arrayOf( - "payerAmountSat", - ), - ) - ) { + if (!validateMandatoryFields(prepareReceiveRequest, arrayOf( + "payerAmountSat", + ))) { return null } val payerAmountSat = prepareReceiveRequest.getDouble("payerAmountSat").toULong() return PrepareReceiveRequest( - payerAmountSat, - ) + payerAmountSat,) } fun readableMapOf(prepareReceiveRequest: PrepareReceiveRequest): ReadableMap { return readableMapOf( - "payerAmountSat" to prepareReceiveRequest.payerAmountSat, + "payerAmountSat" to prepareReceiveRequest.payerAmountSat, ) } @@ -139,40 +120,30 @@ fun asPrepareReceiveRequestList(arr: ReadableArray): List val list = ArrayList() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asPrepareReceiveRequest(value)!!) + is ReadableMap -> list.add(asPrepareReceiveRequest(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } return list } - fun asPrepareReceiveResponse(prepareReceiveResponse: ReadableMap): PrepareReceiveResponse? { - if (!validateMandatoryFields( - prepareReceiveResponse, - arrayOf( - "pairHash", - "payerAmountSat", - "feesSat", - ), - ) - ) { + if (!validateMandatoryFields(prepareReceiveResponse, arrayOf( + "payerAmountSat", + "feesSat", + ))) { return null } - val pairHash = prepareReceiveResponse.getString("pairHash")!! val payerAmountSat = prepareReceiveResponse.getDouble("payerAmountSat").toULong() val feesSat = prepareReceiveResponse.getDouble("feesSat").toULong() return PrepareReceiveResponse( - pairHash, payerAmountSat, - feesSat, - ) + feesSat,) } fun readableMapOf(prepareReceiveResponse: PrepareReceiveResponse): ReadableMap { return readableMapOf( - "pairHash" to prepareReceiveResponse.pairHash, - "payerAmountSat" to prepareReceiveResponse.payerAmountSat, - "feesSat" to prepareReceiveResponse.feesSat, + "payerAmountSat" to prepareReceiveResponse.payerAmountSat, + "feesSat" to prepareReceiveResponse.feesSat, ) } @@ -180,32 +151,26 @@ fun asPrepareReceiveResponseList(arr: ReadableArray): List() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asPrepareReceiveResponse(value)!!) + is ReadableMap -> list.add(asPrepareReceiveResponse(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } return list } - fun asPrepareSendRequest(prepareSendRequest: ReadableMap): PrepareSendRequest? { - if (!validateMandatoryFields( - prepareSendRequest, - arrayOf( - "invoice", - ), - ) - ) { + if (!validateMandatoryFields(prepareSendRequest, arrayOf( + "invoice", + ))) { return null } val invoice = prepareSendRequest.getString("invoice")!! return PrepareSendRequest( - invoice, - ) + invoice,) } fun readableMapOf(prepareSendRequest: PrepareSendRequest): ReadableMap { return readableMapOf( - "invoice" to prepareSendRequest.invoice, + "invoice" to prepareSendRequest.invoice, ) } @@ -213,73 +178,30 @@ fun asPrepareSendRequestList(arr: ReadableArray): List { val list = ArrayList() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asPrepareSendRequest(value)!!) + is ReadableMap -> list.add(asPrepareSendRequest(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } return list } - -fun asPrepareSendRequest(prepareSendRequest: ReadableMap): PrepareSendRequest? { - if (!validateMandatoryFields( - prepareSendRequest, - arrayOf( - "invoice", - ), - ) - ) { - return null - } - val invoice = prepareSendRequest.getString("invoice")!! - return PrepareSendRequest( - invoice, - ) -} - -fun readableMapOf(prepareSendRequest: PrepareSendRequest): ReadableMap { - return readableMapOf( - "invoice" to prepareSendRequest.invoice, - ) -} - -fun asPrepareSendRequestList(arr: ReadableArray): List { - val list = ArrayList() - for (value in arr.toArrayList()) { - when (value) { - is ReadableMap -> list.add(asPrepareSendRequest(value)!!) - else -> throw LsSdkException.Generic(errUnexpectedType("${value::class.java.name}")) - } - } - return list -} - fun asPrepareSendResponse(prepareSendResponse: ReadableMap): PrepareSendResponse? { - if (!validateMandatoryFields( - prepareSendResponse, - arrayOf( - "invoice", - "pairHash", - "feesSat", - ), - ) - ) { + if (!validateMandatoryFields(prepareSendResponse, arrayOf( + "invoice", + "feesSat", + ))) { return null } val invoice = prepareSendResponse.getString("invoice")!! - val pairHash = prepareSendResponse.getString("pairHash")!! val feesSat = prepareSendResponse.getDouble("feesSat").toULong() return PrepareSendResponse( invoice, - pairHash, - feesSat, - ) + feesSat,) } fun readableMapOf(prepareSendResponse: PrepareSendResponse): ReadableMap { return readableMapOf( - "invoice" to prepareSendResponse.invoice, - "pairHash" to prepareSendResponse.pairHash, - "feesSat" to prepareSendResponse.feesSat, + "invoice" to prepareSendResponse.invoice, + "feesSat" to prepareSendResponse.feesSat, ) } @@ -287,36 +209,30 @@ fun asPrepareSendResponseList(arr: ReadableArray): List { val list = ArrayList() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asPrepareSendResponse(value)!!) + is ReadableMap -> list.add(asPrepareSendResponse(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } return list } - fun asReceivePaymentResponse(receivePaymentResponse: ReadableMap): ReceivePaymentResponse? { - if (!validateMandatoryFields( - receivePaymentResponse, - arrayOf( - "id", - "invoice", - ), - ) - ) { + if (!validateMandatoryFields(receivePaymentResponse, arrayOf( + "id", + "invoice", + ))) { return null } val id = receivePaymentResponse.getString("id")!! val invoice = receivePaymentResponse.getString("invoice")!! return ReceivePaymentResponse( id, - invoice, - ) + invoice,) } fun readableMapOf(receivePaymentResponse: ReceivePaymentResponse): ReadableMap { return readableMapOf( - "id" to receivePaymentResponse.id, - "invoice" to receivePaymentResponse.invoice, + "id" to receivePaymentResponse.id, + "invoice" to receivePaymentResponse.invoice, ) } @@ -324,30 +240,25 @@ fun asReceivePaymentResponseList(arr: ReadableArray): List() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asReceivePaymentResponse(value)!!) + is ReadableMap -> list.add(asReceivePaymentResponse(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } return list } - fun asRestoreRequest(restoreRequest: ReadableMap): RestoreRequest? { - if (!validateMandatoryFields( - restoreRequest, - arrayOf(), - ) - ) { + if (!validateMandatoryFields(restoreRequest, arrayOf( + ))) { return null } val backupPath = if (hasNonNullKey(restoreRequest, "backupPath")) restoreRequest.getString("backupPath") else null return RestoreRequest( - backupPath, - ) + backupPath,) } fun readableMapOf(restoreRequest: RestoreRequest): ReadableMap { return readableMapOf( - "backupPath" to restoreRequest.backupPath, + "backupPath" to restoreRequest.backupPath, ) } @@ -355,32 +266,26 @@ fun asRestoreRequestList(arr: ReadableArray): List { val list = ArrayList() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asRestoreRequest(value)!!) + is ReadableMap -> list.add(asRestoreRequest(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } return list } - fun asSendPaymentResponse(sendPaymentResponse: ReadableMap): SendPaymentResponse? { - if (!validateMandatoryFields( - sendPaymentResponse, - arrayOf( - "txid", - ), - ) - ) { + if (!validateMandatoryFields(sendPaymentResponse, arrayOf( + "txid", + ))) { return null } val txid = sendPaymentResponse.getString("txid")!! return SendPaymentResponse( - txid, - ) + txid,) } fun readableMapOf(sendPaymentResponse: SendPaymentResponse): ReadableMap { return readableMapOf( - "txid" to sendPaymentResponse.txid, + "txid" to sendPaymentResponse.txid, ) } @@ -388,7 +293,7 @@ fun asSendPaymentResponseList(arr: ReadableArray): List { val list = ArrayList() for (value in arr.toArrayList()) { when (value) { - is ReadableMap -> list.add(asSendPaymentResponse(value)!!) + is ReadableMap -> list.add(asSendPaymentResponse(value)!!) else -> throw LiquidSdkException.Generic(errUnexpectedType("${value::class.java.name}")) } } @@ -408,9 +313,7 @@ fun asNetworkList(arr: ReadableArray): List { } } return list -} - -fun readableMapOf(vararg values: Pair): ReadableMap { +}fun readableMapOf(vararg values: Pair): ReadableMap { val map = Arguments.createMap() for ((key, value) in values) { pushToMap(map, key, value) @@ -418,17 +321,11 @@ fun readableMapOf(vararg values: Pair): ReadableMap { return map } -fun hasNonNullKey( - map: ReadableMap, - key: String, -): Boolean { +fun hasNonNullKey(map: ReadableMap, key: String): Boolean { return map.hasKey(key) && !map.isNull(key) } -fun validateMandatoryFields( - map: ReadableMap, - keys: Array, -): Boolean { +fun validateMandatoryFields(map: ReadableMap, keys: Array): Boolean { for (k in keys) { if (!hasNonNullKey(map, k)) return false } @@ -436,10 +333,7 @@ fun validateMandatoryFields( return true } -fun pushToArray( - array: WritableArray, - value: Any?, -) { +fun pushToArray(array: WritableArray, value: Any?) { when (value) { null -> array.pushNull() is Array<*> -> array.pushArray(readableArrayOf(value.asIterable())) @@ -448,11 +342,7 @@ fun pushToArray( } } -fun pushToMap( - map: WritableMap, - key: String, - value: Any?, -) { +fun pushToMap(map: WritableMap, key: String, value: Any?) { when (value) { null -> map.putNull(key) is Boolean -> map.putBoolean(key, value) @@ -505,22 +395,19 @@ fun asStringList(arr: ReadableArray): List { return list } -fun errMissingMandatoryField( - fieldName: String, - typeName: String, -): String { - return "Missing mandatory field $fieldName for type $typeName" -} +fun errMissingMandatoryField(fieldName: String, typeName: String): String { + return "Missing mandatory field ${fieldName} for type ${typeName}" + } fun errUnexpectedType(typeName: String): String { - return "Unexpected type $typeName" -} + return "Unexpected type ${typeName}" + } fun errUnexpectedValue(fieldName: String): String { - return "Unexpected value for optional field $fieldName" + return "Unexpected value for optional field ${fieldName}" } fun camelToUpperSnakeCase(str: String): String { val pattern = "(?<=.)[A-Z]".toRegex() return str.replace(pattern, "_$0").uppercase() -} +} \ No newline at end of file diff --git a/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKModule.kt b/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKModule.kt index e9def90..630eb81 100644 --- a/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKModule.kt +++ b/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKModule.kt @@ -2,10 +2,13 @@ package com.breezliquidsdk import breez_liquid_sdk.* import com.facebook.react.bridge.* +import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter +import java.io.File import java.util.* import java.util.concurrent.ExecutorService import java.util.concurrent.Executors + class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) { private lateinit var executor: ExecutorService private var bindingLiquidSdk: BindingLiquidSdk? = null @@ -39,11 +42,10 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext @ReactMethod fun removeListeners(count: Int) {} + + @ReactMethod - fun connect( - req: ReadableMap, - promise: Promise, - ) { + fun connect(req: ReadableMap, promise: Promise) { if (bindingLiquidSdk != null) { promise.reject("Generic", "Already initialized") return @@ -51,13 +53,8 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext executor.execute { try { - var connectRequest = - asConnectRequest( - req, - ) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "ConnectRequest")) } - connectRequest.dataDir = connectRequest.dataDir?.takeUnless { - it.isEmpty() - } ?: run { reactApplicationContext.filesDir.toString() + "/breezLiquidSdk" } + var connectRequest = asConnectRequest(req) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "ConnectRequest")) } + connectRequest.dataDir = connectRequest.dataDir?.takeUnless { it.isEmpty() } ?: run { reactApplicationContext.filesDir.toString() + "/breezLiquidSdk" } bindingLiquidSdk = connect(connectRequest) promise.resolve(readableMapOf("status" to "ok")) } catch (e: Exception) { @@ -66,17 +63,12 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext } } + @ReactMethod - fun getInfo( - req: ReadableMap, - promise: Promise, - ) { + fun getInfo(req: ReadableMap, promise: Promise) { executor.execute { try { - val getInfoRequest = - asGetInfoRequest( - req, - ) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "GetInfoRequest")) } + val getInfoRequest = asGetInfoRequest(req) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "GetInfoRequest")) } val res = getBindingLiquidSdk().getInfo(getInfoRequest) promise.resolve(readableMapOf(res)) } catch (e: Exception) { @@ -84,18 +76,12 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext } } } - + @ReactMethod - fun prepareSendPayment( - req: ReadableMap, - promise: Promise, - ) { + fun prepareSendPayment(req: ReadableMap, promise: Promise) { executor.execute { try { - val prepareSendRequest = - asPrepareSendRequest(req) ?: run { - throw LiquidSdkException.Generic(errMissingMandatoryField("req", "PrepareSendRequest")) - } + val prepareSendRequest = asPrepareSendRequest(req) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "PrepareSendRequest")) } val res = getBindingLiquidSdk().prepareSendPayment(prepareSendRequest) promise.resolve(readableMapOf(res)) } catch (e: Exception) { @@ -103,18 +89,12 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext } } } - + @ReactMethod - fun sendPayment( - req: ReadableMap, - promise: Promise, - ) { + fun sendPayment(req: ReadableMap, promise: Promise) { executor.execute { try { - val prepareSendResponse = - asPrepareSendResponse(req) ?: run { - throw LiquidSdkException.Generic(errMissingMandatoryField("req", "PrepareSendResponse")) - } + val prepareSendResponse = asPrepareSendResponse(req) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "PrepareSendResponse")) } val res = getBindingLiquidSdk().sendPayment(prepareSendResponse) promise.resolve(readableMapOf(res)) } catch (e: Exception) { @@ -122,18 +102,12 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext } } } - + @ReactMethod - fun prepareReceivePayment( - req: ReadableMap, - promise: Promise, - ) { + fun prepareReceivePayment(req: ReadableMap, promise: Promise) { executor.execute { try { - val prepareReceiveRequest = - asPrepareReceiveRequest(req) ?: run { - throw LiquidSdkException.Generic(errMissingMandatoryField("req", "PrepareReceiveRequest")) - } + val prepareReceiveRequest = asPrepareReceiveRequest(req) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "PrepareReceiveRequest")) } val res = getBindingLiquidSdk().prepareReceivePayment(prepareReceiveRequest) promise.resolve(readableMapOf(res)) } catch (e: Exception) { @@ -141,18 +115,12 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext } } } - + @ReactMethod - fun receivePayment( - req: ReadableMap, - promise: Promise, - ) { + fun receivePayment(req: ReadableMap, promise: Promise) { executor.execute { try { - val prepareReceiveResponse = - asPrepareReceiveResponse(req) ?: run { - throw LiquidSdkException.Generic(errMissingMandatoryField("req", "PrepareReceiveResponse")) - } + val prepareReceiveResponse = asPrepareReceiveResponse(req) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "PrepareReceiveResponse")) } val res = getBindingLiquidSdk().receivePayment(prepareReceiveResponse) promise.resolve(readableMapOf(res)) } catch (e: Exception) { @@ -160,7 +128,7 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext } } } - + @ReactMethod fun backup(promise: Promise) { executor.execute { @@ -172,18 +140,12 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext } } } - + @ReactMethod - fun restore( - req: ReadableMap, - promise: Promise, - ) { + fun restore(req: ReadableMap, promise: Promise) { executor.execute { try { - val restoreRequest = - asRestoreRequest( - req, - ) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "RestoreRequest")) } + val restoreRequest = asRestoreRequest(req) ?: run { throw LiquidSdkException.Generic(errMissingMandatoryField("req", "RestoreRequest")) } getBindingLiquidSdk().restore(restoreRequest) promise.resolve(readableMapOf("status" to "ok")) } catch (e: Exception) { @@ -191,4 +153,5 @@ class BreezLiquidSDKModule(reactContext: ReactApplicationContext) : ReactContext } } } -} + +} \ No newline at end of file diff --git a/packages/react-native/ios/BreezLiquidSDKMapper.swift b/packages/react-native/ios/BreezLiquidSDKMapper.swift index fbfa04c..8409800 100644 --- a/packages/react-native/ios/BreezLiquidSDKMapper.swift +++ b/packages/react-native/ios/BreezLiquidSDKMapper.swift @@ -154,9 +154,6 @@ enum BreezLiquidSDKMapper { } static func asPrepareReceiveResponse(prepareReceiveResponse: [String: Any?]) throws -> PrepareReceiveResponse { - guard let pairHash = prepareReceiveResponse["pairHash"] as? String else { - throw LiquidSdkError.Generic(message: errMissingMandatoryField(fieldName: "pairHash", typeName: "PrepareReceiveResponse")) - } guard let payerAmountSat = prepareReceiveResponse["payerAmountSat"] as? UInt64 else { throw LiquidSdkError.Generic(message: errMissingMandatoryField(fieldName: "payerAmountSat", typeName: "PrepareReceiveResponse")) } @@ -165,7 +162,6 @@ enum BreezLiquidSDKMapper { } return PrepareReceiveResponse( - pairHash: pairHash, payerAmountSat: payerAmountSat, feesSat: feesSat ) @@ -173,7 +169,6 @@ enum BreezLiquidSDKMapper { static func dictionaryOf(prepareReceiveResponse: PrepareReceiveResponse) -> [String: Any?] { return [ - "pairHash": prepareReceiveResponse.pairHash, "payerAmountSat": prepareReceiveResponse.payerAmountSat, "feesSat": prepareReceiveResponse.feesSat, ] @@ -229,43 +224,23 @@ enum BreezLiquidSDKMapper { } static func asPrepareSendResponse(prepareSendResponse: [String: Any?]) throws -> PrepareSendResponse { - guard let id = prepareSendResponse["id"] as? String else { - throw LiquidSdkError.Generic(message: errMissingMandatoryField(fieldName: "id", typeName: "PrepareSendResponse")) - } - guard let payerAmountSat = prepareSendResponse["payerAmountSat"] as? UInt64 else { - throw LiquidSdkError.Generic(message: errMissingMandatoryField(fieldName: "payerAmountSat", typeName: "PrepareSendResponse")) - } - guard let receiverAmountSat = prepareSendResponse["receiverAmountSat"] as? UInt64 else { - throw LiquidSdkError.Generic(message: errMissingMandatoryField(fieldName: "receiverAmountSat", typeName: "PrepareSendResponse")) - } - guard let totalFees = prepareSendResponse["totalFees"] as? UInt64 else { - throw LiquidSdkError.Generic(message: errMissingMandatoryField(fieldName: "totalFees", typeName: "PrepareSendResponse")) - } - guard let fundingAddress = prepareSendResponse["fundingAddress"] as? String else { - throw LiquidSdkError.Generic(message: errMissingMandatoryField(fieldName: "fundingAddress", typeName: "PrepareSendResponse")) - } guard let invoice = prepareSendResponse["invoice"] as? String else { throw LiquidSdkError.Generic(message: errMissingMandatoryField(fieldName: "invoice", typeName: "PrepareSendResponse")) } + guard let feesSat = prepareSendResponse["feesSat"] as? UInt64 else { + throw LiquidSdkError.Generic(message: errMissingMandatoryField(fieldName: "feesSat", typeName: "PrepareSendResponse")) + } return PrepareSendResponse( - id: id, - payerAmountSat: payerAmountSat, - receiverAmountSat: receiverAmountSat, - totalFees: totalFees, - fundingAddress: fundingAddress, - invoice: invoice + invoice: invoice, + feesSat: feesSat ) } static func dictionaryOf(prepareSendResponse: PrepareSendResponse) -> [String: Any?] { return [ - "id": prepareSendResponse.id, - "payerAmountSat": prepareSendResponse.payerAmountSat, - "receiverAmountSat": prepareSendResponse.receiverAmountSat, - "totalFees": prepareSendResponse.totalFees, - "fundingAddress": prepareSendResponse.fundingAddress, "invoice": prepareSendResponse.invoice, + "feesSat": prepareSendResponse.feesSat, ] } diff --git a/packages/react-native/src/index.ts b/packages/react-native/src/index.ts index e9e81fb..4b7161d 100644 --- a/packages/react-native/src/index.ts +++ b/packages/react-native/src/index.ts @@ -17,54 +17,49 @@ const BreezLiquidSDK = NativeModules.RNBreezLiquidSDK } ) -export interface ConnectRequest { +export type ConnectRequest = { mnemonic: string network: Network dataDir?: string } -export interface GetInfoRequest { +export type GetInfoRequest = { withScan: boolean } -export interface GetInfoResponse { +export type GetInfoResponse = { balanceSat: number pubkey: string } -export interface PrepareReceiveRequest { +export type PrepareReceiveRequest = { payerAmountSat: number } -export interface PrepareReceiveResponse { - pairHash: string +export type PrepareReceiveResponse = { payerAmountSat: number feesSat: number } -export interface PrepareSendRequest { +export type PrepareSendRequest = { invoice: string } -export interface PrepareSendResponse { - id: string - payerAmountSat: number - receiverAmountSat: number - totalFees: number - fundingAddress: string +export type PrepareSendResponse = { invoice: string + feesSat: number } -export interface ReceivePaymentResponse { +export type ReceivePaymentResponse = { id: string invoice: string } -export interface RestoreRequest { +export type RestoreRequest = { backupPath?: string } -export interface SendPaymentResponse { +export type SendPaymentResponse = { txid: string }