Skip to content
This repository was archived by the owner on Feb 9, 2026. It is now read-only.

Commit e10c41b

Browse files
authored
Merge pull request #177 from synonymdev/ldk-117
LDK 0.0.117
2 parents 9f0a599 + de58478 commit e10c41b

36 files changed

Lines changed: 50559 additions & 38986 deletions

File tree

example/ios/Podfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ PODS:
302302
- React-jsinspector (0.70.6)
303303
- React-logger (0.70.6):
304304
- glog
305-
- react-native-ldk (0.0.111):
305+
- react-native-ldk (0.0.113):
306306
- React
307307
- react-native-randombytes (3.6.1):
308308
- React-Core
@@ -593,7 +593,7 @@ SPEC CHECKSUMS:
593593
React-jsiexecutor: b4a65947391c658450151275aa406f2b8263178f
594594
React-jsinspector: 60769e5a0a6d4b32294a2456077f59d0266f9a8b
595595
React-logger: 1623c216abaa88974afce404dc8f479406bbc3a0
596-
react-native-ldk: 20bafd3ad8ea69c33841d7b4895379b6eb8cf9f6
596+
react-native-ldk: dd463969f46a47599bd622fc02a67d878f13abe5
597597
react-native-randombytes: 421f1c7d48c0af8dbcd471b0324393ebf8fe7846
598598
react-native-tcp-socket: c1b7297619616b4c9caae6889bcb0aba78086989
599599
React-perflogger: 8c79399b0500a30ee8152d0f9f11beae7fc36595

lib/android/libs/LDK-release.aar

945 KB
Binary file not shown.
465 KB
Binary file not shown.

lib/android/src/main/java/com/reactnativeldk/LdkModule.kt

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,13 @@ import org.ldk.batteries.NioPeerHandler
99
import org.ldk.enums.Currency
1010
import org.ldk.enums.Network
1111
import org.ldk.enums.Recipient
12-
import org.ldk.impl.bindings.LDKDestination.Node
1312
import org.ldk.impl.bindings.get_ldk_c_bindings_version
1413
import org.ldk.impl.bindings.get_ldk_version
1514
import org.ldk.structs.*
1615
import org.ldk.structs.Result_Bolt11InvoiceParseOrSemanticErrorZ.Result_Bolt11InvoiceParseOrSemanticErrorZ_OK
1716
import org.ldk.structs.Result_Bolt11InvoiceSignOrCreationErrorZ.Result_Bolt11InvoiceSignOrCreationErrorZ_OK
18-
import org.ldk.structs.Result_PaymentIdPaymentErrorZ.Result_PaymentIdPaymentErrorZ_OK
19-
import org.ldk.structs.Result_PublicKeyErrorZ.Result_PublicKeyErrorZ_OK
2017
import org.ldk.structs.Result_PublicKeyNoneZ.Result_PublicKeyNoneZ_OK
21-
import org.ldk.structs.Result_StringErrorZ.Result_StringErrorZ_OK
18+
import org.ldk.structs.Result_StrSecp256k1ErrorZ.Result_StrSecp256k1ErrorZ_OK
2219
import org.ldk.util.UInt128
2320
import java.io.File
2421
import java.net.InetSocketAddress
@@ -685,7 +682,7 @@ class LdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
685682
ldkOutputs.toTypedArray(),
686683
changeDestinationScript.hexa(),
687684
feeRate.toInt(),
688-
Option_PackedLockTimeZ.none()
685+
Option_u32Z.none()
689686
)
690687

691688
if (!res.is_ok) {
@@ -735,7 +732,7 @@ class LdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
735732
UtilMethods.pay_invoice(invoice, Retry.timeout(timeoutSeconds.toLong()), channelManager)
736733
if (res.is_ok) {
737734
channelManagerPersister.persistPaymentSent(hashMapOf(
738-
"payment_id" to (res as Result_PaymentIdPaymentErrorZ_OK).res.hexEncodedString(),
735+
"payment_id" to (res as Result_ThirtyTwoBytesPaymentErrorZ.Result_ThirtyTwoBytesPaymentErrorZ_OK).res.hexEncodedString(),
739736
"payment_hash" to invoice.payment_hash().hexEncodedString(),
740737
"amount_sat" to if (isZeroValueInvoice) amountSats.toLong() else ((invoice.amount_milli_satoshis() as Option_u64Z.Some).some.toInt() / 1000),
741738
"unix_timestamp" to (System.currentTimeMillis() / 1000).toInt(),
@@ -745,7 +742,7 @@ class LdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
745742
return handleResolve(promise, LdkCallbackResponses.invoice_payment_success)
746743
}
747744

748-
val error = res as? Result_PaymentIdPaymentErrorZ.Result_PaymentIdPaymentErrorZ_Err
745+
val error = res as? Result_ThirtyTwoBytesPaymentErrorZ.Result_ThirtyTwoBytesPaymentErrorZ_Err
749746

750747
val invoiceError = error?.err as? PaymentError.Invoice
751748
if (invoiceError != null) {
@@ -1056,7 +1053,7 @@ class LdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
10561053
emptyArray(),
10571054
changeDestinationScript.hexa(),
10581055
feeRate.toInt(),
1059-
Option_PackedLockTimeZ.none()
1056+
Option_u32Z.none()
10601057
)
10611058

10621059
if (!res.is_ok) {
@@ -1076,7 +1073,7 @@ class LdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
10761073
return handleReject(promise, LdkErrors.failed_signing_request)
10771074
}
10781075

1079-
promise.resolve((res as Result_StringErrorZ_OK).res)
1076+
promise.resolve((res as Result_StrSecp256k1ErrorZ_OK).res)
10801077
}
10811078

10821079
@ReactMethod

lib/android/src/main/java/com/reactnativeldk/classes/BackupClient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import com.reactnativeldk.handleReject
66
import com.reactnativeldk.hexEncodedString
77
import com.reactnativeldk.hexa
88
import org.json.JSONObject
9-
import org.ldk.structs.Result_StringErrorZ.Result_StringErrorZ_OK
9+
import org.ldk.structs.Result_StrSecp256k1ErrorZ.Result_StrSecp256k1ErrorZ_OK
1010
import org.ldk.structs.UtilMethods
1111
import java.net.HttpURLConnection
1212
import java.net.URL
@@ -370,7 +370,7 @@ class BackupClient {
370370
throw BackupError.signingError
371371
}
372372

373-
return (res as Result_StringErrorZ_OK).res
373+
return (res as Result_StrSecp256k1ErrorZ_OK).res
374374
}
375375

376376
private fun verifySignature(message: String, signature: String, pubKey: String): Boolean {

lib/android/src/main/java/com/reactnativeldk/classes/LdkChannelManagerPersister.kt

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ import com.reactnativeldk.*
66
import org.json.JSONArray
77
import org.ldk.batteries.ChannelManagerConstructor
88
import org.ldk.structs.Event
9-
import org.ldk.structs.Option_PaymentHashZ
10-
import org.ldk.structs.Option_PaymentIdZ
11-
import org.ldk.structs.Option_PaymentPreimageZ
9+
import org.ldk.structs.Option_ThirtyTwoBytesZ
1210
import org.ldk.structs.Option_u64Z
1311
import org.ldk.structs.PaymentPurpose
1412
import java.io.File
@@ -29,7 +27,7 @@ class LdkChannelManagerPersister: ChannelManagerConstructor.EventHandler {
2927
body.putHexString("payment_hash", paymentClaimable.payment_hash)
3028
body.putInt("amount_sat", paymentClaimable.amount_msat.toInt() / 1000)
3129
(paymentClaimable.purpose as? PaymentPurpose.InvoicePayment)?.let {
32-
body.putHexString("payment_preimage", (it.payment_preimage as Option_PaymentPreimageZ.Some).some)
30+
body.putHexString("payment_preimage", (it.payment_preimage as Option_ThirtyTwoBytesZ.Some).some)
3331
body.putHexString("payment_secret", it.payment_secret)
3432
}
3533
(paymentClaimable.purpose as? PaymentPurpose.SpontaneousPayment)?.let {
@@ -44,7 +42,7 @@ class LdkChannelManagerPersister: ChannelManagerConstructor.EventHandler {
4442

4543
(event as? Event.PaymentSent)?.let { paymentSent ->
4644
val body = Arguments.createMap()
47-
body.putHexString("payment_id", (paymentSent.payment_id as Option_PaymentIdZ.Some).some)
45+
body.putHexString("payment_id", (paymentSent.payment_id as Option_ThirtyTwoBytesZ.Some).some)
4846
body.putHexString("payment_preimage", paymentSent.payment_preimage)
4947
body.putHexString("payment_hash", paymentSent.payment_hash)
5048
body.putInt("fee_paid_sat", (paymentSent.fee_paid_msat as Option_u64Z.Some).some.toInt() / 1000)
@@ -73,7 +71,7 @@ class LdkChannelManagerPersister: ChannelManagerConstructor.EventHandler {
7371
val body = Arguments.createMap()
7472

7573
body.putHexString("payment_id", paymentPathSuccessful.payment_id)
76-
body.putHexString("payment_hash", (paymentPathSuccessful.payment_hash as Option_PaymentHashZ.Some).some)
74+
body.putHexString("payment_hash", (paymentPathSuccessful.payment_hash as Option_ThirtyTwoBytesZ.Some).some)
7775

7876
val pathHops = Arguments.createArray()
7977
println(paymentPathSuccessful.path)
@@ -84,7 +82,7 @@ class LdkChannelManagerPersister: ChannelManagerConstructor.EventHandler {
8482

8583
(event as? Event.PaymentPathFailed)?.let { paymentPathFailed ->
8684
val body = Arguments.createMap()
87-
body.putHexString("payment_id", (paymentPathFailed.payment_id as Option_PaymentIdZ.Some).some)
85+
body.putHexString("payment_id", (paymentPathFailed.payment_id as Option_ThirtyTwoBytesZ.Some).some)
8886
body.putHexString("payment_hash", paymentPathFailed.payment_hash)
8987
body.putBoolean("payment_failed_permanently", paymentPathFailed.payment_failed_permanently)
9088
body.putInt("short_channel_id", (paymentPathFailed.short_channel_id as Option_u64Z.Some).some.toInt())
@@ -94,7 +92,7 @@ class LdkChannelManagerPersister: ChannelManagerConstructor.EventHandler {
9492

9593
if (paymentPathFailed.payment_id != null) {
9694
persistPaymentSent(hashMapOf(
97-
"payment_id" to (paymentPathFailed.payment_id!! as Option_PaymentIdZ.Some).some.hexEncodedString(),
95+
"payment_id" to (paymentPathFailed.payment_id!! as Option_ThirtyTwoBytesZ.Some).some.hexEncodedString(),
9896
"payment_hash" to paymentPathFailed.payment_hash.hexEncodedString(),
9997
"unix_timestamp" to (System.currentTimeMillis() / 1000).toInt(),
10098
"state" to if (paymentPathFailed.payment_failed_permanently) "failed" else "pending"
@@ -159,7 +157,7 @@ class LdkChannelManagerPersister: ChannelManagerConstructor.EventHandler {
159157
body.putHexString("payment_hash", paymentClaimed.payment_hash)
160158
body.putInt("amount_sat", paymentClaimed.amount_msat.toInt() / 1000)
161159
(paymentClaimed.purpose as? PaymentPurpose.InvoicePayment)?.let {
162-
body.putHexString("payment_preimage", (it.payment_preimage as Option_PaymentPreimageZ.Some).some)
160+
body.putHexString("payment_preimage", (it.payment_preimage as Option_ThirtyTwoBytesZ.Some).some)
163161
body.putHexString("payment_secret", it.payment_secret)
164162
}
165163
(paymentClaimed.purpose as? PaymentPurpose.SpontaneousPayment)?.let {

lib/android/src/main/java/com/reactnativeldk/classes/LdkFilter.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import com.reactnativeldk.hexEncodedString
77
import com.reactnativeldk.putHexString
88
import org.ldk.structs.Filter
99
import org.ldk.structs.Filter.FilterInterface
10-
import org.ldk.structs.Option_BlockHashZ
10+
import org.ldk.structs.Option_ThirtyTwoBytesZ
1111
import org.ldk.structs.WatchedOutput
1212

1313
class LdkFilter {
@@ -21,8 +21,8 @@ class LdkFilter {
2121

2222
override fun register_output(output: WatchedOutput) {
2323
val body = Arguments.createMap()
24-
if (output._block_hash is Option_BlockHashZ.Some) {
25-
body.putHexString("block_hash", (output._block_hash as Option_BlockHashZ.Some).some)
24+
if (output._block_hash is Option_ThirtyTwoBytesZ.Some) {
25+
body.putHexString("block_hash", (output._block_hash as Option_ThirtyTwoBytesZ.Some).some)
2626
}
2727
body.putInt("index", output._outpoint._index.toInt())
2828
body.putString("script_pubkey", output._script_pubkey.hexEncodedString())

lib/android/src/main/java/com/reactnativeldk/classes/LdkPersister.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class LdkPersister {
3737
return ChannelMonitorUpdateStatus.LDKChannelMonitorUpdateStatus_Completed
3838
} catch (e: Exception) {
3939
LdkEventEmitter.send(EventTypes.emergency_force_close_channel, body)
40-
return ChannelMonitorUpdateStatus.LDKChannelMonitorUpdateStatus_PermanentFailure
40+
return ChannelMonitorUpdateStatus.LDKChannelMonitorUpdateStatus_UnrecoverableError
4141
}
4242
}
4343

lib/ios/Classes/LdkChannelManagerPersister.swift

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -261,9 +261,9 @@ class LdkChannelManagerPersister: Persister, ExtendedChannelManagerPersister {
261261
}
262262
}
263263

264-
override func persistManager(channelManager: ChannelManager) -> Result_NoneErrorZ {
264+
override func persistManager(channelManager: Bindings.ChannelManager) -> Bindings.Result_NoneIOErrorZ {
265265
guard let managerStorage = Ldk.accountStoragePath?.appendingPathComponent(LdkFileNames.channel_manager.rawValue) else {
266-
return Result_NoneErrorZ.initWithErr(e: .Other)
266+
return Result_NoneIOErrorZ.initWithErr(e: .Other)
267267
}
268268

269269
do {
@@ -274,44 +274,44 @@ class LdkChannelManagerPersister: Persister, ExtendedChannelManagerPersister {
274274

275275
LdkEventEmitter.shared.send(withEvent: .backup, body: "")
276276

277-
return Result_NoneErrorZ.initWithOk()
277+
return Result_NoneIOErrorZ.initWithOk()
278278
} catch {
279279
LdkEventEmitter.shared.send(withEvent: .native_log, body: "Error. Failed to persist channel manager to disk Error \(error.localizedDescription).")
280-
return Result_NoneErrorZ.initWithErr(e: .Other)
280+
return Result_NoneIOErrorZ.initWithErr(e: .Other)
281281
}
282282
}
283283

284-
override func persistGraph(networkGraph: NetworkGraph) -> Result_NoneErrorZ {
284+
override func persistGraph(networkGraph: Bindings.NetworkGraph) -> Bindings.Result_NoneIOErrorZ {
285285
guard let graphStorage = Ldk.accountStoragePath?.appendingPathComponent(LdkFileNames.network_graph.rawValue) else {
286-
return Result_NoneErrorZ.initWithErr(e: .Other)
286+
return Result_NoneIOErrorZ.initWithErr(e: .Other)
287287
}
288288

289289
do {
290290
try Data(networkGraph.write()).write(to: graphStorage)
291291
LdkEventEmitter.shared.send(withEvent: .native_log, body: "Persisted network graph to disk")
292292

293-
return Result_NoneErrorZ.initWithOk()
293+
return Result_NoneIOErrorZ.initWithOk()
294294
} catch {
295295
LdkEventEmitter.shared.send(withEvent: .native_log, body: "Error. Failed to persist network graph to disk Error \(error.localizedDescription).")
296-
return Result_NoneErrorZ.initWithErr(e: .Other)
296+
return Result_NoneIOErrorZ.initWithErr(e: .Other)
297297
}
298298
}
299299

300-
override func persistScorer(scorer: WriteableScore) -> Bindings.Result_NoneErrorZ {
300+
override func persistScorer(scorer: Bindings.WriteableScore) -> Bindings.Result_NoneIOErrorZ {
301301
guard let scorerStorage = Ldk.accountStoragePath?.appendingPathComponent(LdkFileNames.scorer.rawValue) else {
302-
return Result_NoneErrorZ.initWithErr(e: .Other)
302+
return Result_NoneIOErrorZ.initWithErr(e: .Other)
303303
}
304304

305305
do {
306306
try Data(scorer.write()).write(to: scorerStorage)
307307

308-
return Result_NoneErrorZ.initWithOk()
308+
return Result_NoneIOErrorZ.initWithOk()
309309
} catch {
310310
LdkEventEmitter.shared.send(withEvent: .native_log, body: "Error. Failed to persist scorer to disk Error \(error.localizedDescription).")
311-
return Result_NoneErrorZ.initWithErr(e: .Other)
311+
return Result_NoneIOErrorZ.initWithErr(e: .Other)
312312
}
313313
}
314-
314+
315315
/// Saves claiming/claimed payment to disk. If payment hash exists already then the payment values are merged into the existing entry as an update
316316
/// - Parameter payment: payment obj
317317
private func persistPaymentClaimed(_ payment: [String: Any]) {

lib/ios/Classes/LdkPersist.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class LdkPersister: Persist {
4040
return ChannelMonitorUpdateStatus.Completed
4141
} catch {
4242
LdkEventEmitter.shared.send(withEvent: .native_log, body: "Error. Failed to persist channel (\(channelId)) to disk Error \(error.localizedDescription).")
43-
return ChannelMonitorUpdateStatus.PermanentFailure
43+
return ChannelMonitorUpdateStatus.UnrecoverableError
4444
}
4545
}
4646

0 commit comments

Comments
 (0)