mirror of
https://github.com/aljazceru/breez-sdk-liquid.git
synced 2026-01-20 14:34:19 +01:00
Monitor chain swap addresses (#322)
* Check chain swap addresses for unspent outputs * Monitoring expired swaps up to 4320 blocks after expiration * Refactor chain swap monitoring * Handle the error to prevent the loop exiting * Add RefundPending state * Check if RefundPendingbefore setting to Refundable * Use script_get_balance to determine spent state * Use unconfirmed balance to check if RefundPending should be reset to Refundable
This commit is contained in:
@@ -1289,25 +1289,28 @@ fun asPrepareRefundResponse(prepareRefundResponse: ReadableMap): PrepareRefundRe
|
||||
if (!validateMandatoryFields(
|
||||
prepareRefundResponse,
|
||||
arrayOf(
|
||||
"refundTxVsize",
|
||||
"refundTxFeeSat",
|
||||
"txVsize",
|
||||
"txFeeSat",
|
||||
),
|
||||
)
|
||||
) {
|
||||
return null
|
||||
}
|
||||
val refundTxVsize = prepareRefundResponse.getInt("refundTxVsize").toUInt()
|
||||
val refundTxFeeSat = prepareRefundResponse.getDouble("refundTxFeeSat").toULong()
|
||||
val txVsize = prepareRefundResponse.getInt("txVsize").toUInt()
|
||||
val txFeeSat = prepareRefundResponse.getDouble("txFeeSat").toULong()
|
||||
val refundTxId = if (hasNonNullKey(prepareRefundResponse, "refundTxId")) prepareRefundResponse.getString("refundTxId") else null
|
||||
return PrepareRefundResponse(
|
||||
refundTxVsize,
|
||||
refundTxFeeSat,
|
||||
txVsize,
|
||||
txFeeSat,
|
||||
refundTxId,
|
||||
)
|
||||
}
|
||||
|
||||
fun readableMapOf(prepareRefundResponse: PrepareRefundResponse): ReadableMap =
|
||||
readableMapOf(
|
||||
"refundTxVsize" to prepareRefundResponse.refundTxVsize,
|
||||
"refundTxFeeSat" to prepareRefundResponse.refundTxFeeSat,
|
||||
"txVsize" to prepareRefundResponse.txVsize,
|
||||
"txFeeSat" to prepareRefundResponse.txFeeSat,
|
||||
"refundTxId" to prepareRefundResponse.refundTxId,
|
||||
)
|
||||
|
||||
fun asPrepareRefundResponseList(arr: ReadableArray): List<PrepareRefundResponse> {
|
||||
|
||||
@@ -389,6 +389,18 @@ class BreezLiquidSDKModule(
|
||||
}
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
fun rescanOnchainSwaps(promise: Promise) {
|
||||
executor.execute {
|
||||
try {
|
||||
getBindingLiquidSdk().rescanOnchainSwaps()
|
||||
promise.resolve(readableMapOf("status" to "ok"))
|
||||
} catch (e: Exception) {
|
||||
promise.reject(e.javaClass.simpleName.replace("Exception", "Error"), e.message, e)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
fun sync(promise: Promise) {
|
||||
executor.execute {
|
||||
|
||||
Reference in New Issue
Block a user