@@ -21,6 +21,7 @@ enum EventTypes: String, CaseIterable {
2121 case channel_manager_payment_path_successful = " channel_manager_payment_path_successful "
2222 case channel_manager_payment_path_failed = " channel_manager_payment_path_failed "
2323 case channel_manager_payment_failed = " channel_manager_payment_failed "
24+ case channel_manager_pending_htlcs_forwardable = " channel_manager_pending_htlcs_forwardable "
2425 case channel_manager_spendable_outputs = " channel_manager_spendable_outputs "
2526 case channel_manager_channel_closed = " channel_manager_channel_closed "
2627 case channel_manager_discard_funding = " channel_manager_discard_funding "
@@ -48,6 +49,7 @@ enum LdkErrors: String {
4849 case invoice_payment_fail = " invoice_payment_fail "
4950 case init_ldk_currency = " init_ldk_currency "
5051 case invoice_create_failed = " invoice_create_failed "
52+ case claim_funds_failed = " claim_funds_failed "
5153}
5254
5355enum LdkCallbackResponses : String {
@@ -66,6 +68,8 @@ enum LdkCallbackResponses: String {
6668 case invoice_payment_success = " invoice_payment_success "
6769 case tx_set_confirmed = " tx_set_confirmed "
6870 case tx_set_unconfirmed = " tx_set_unconfirmed "
71+ case process_pending_htlc_forwards_success = " process_pending_htlc_forwards_success "
72+ case claim_funds_success = " claim_funds_success "
6973}
7074
7175@objc ( Ldk)
@@ -179,9 +183,8 @@ class Ldk: NSObject {
179183
180184 @objc
181185 func initNetworkGraph( _ genesisHash: NSString , resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) {
182- networkGraph = NetworkGraph ( genesis_hash: String ( genesisHash) . hexaBytes. reversed ( ) )
186+ networkGraph = NetworkGraph ( genesis_hash: String ( genesisHash) . hexaBytes)
183187 //TODO load cached version if exists instead. NetworkGraph.read(ser: serialized_backup)
184-
185188 handleResolve ( resolve, . network_graph_init_success)
186189 }
187190
@@ -251,7 +254,7 @@ class Ldk: NSObject {
251254 fee_estimator: feeEstimator,
252255 chain_monitor: chainMonitor,
253256 filter: filter,
254- net_graph_serialized: nil , //TODO
257+ net_graph_serialized: networkGraph . write ( ) ,
255258 tx_broadcaster: broadcaster,
256259 logger: logger
257260 )
@@ -397,7 +400,7 @@ class Ldk: NSObject {
397400
398401 let res = invoicePayer. pay_invoice ( invoice: invoice)
399402 if res. isOk ( ) {
400- handleResolve ( resolve, . invoice_payment_success)
403+ return handleResolve ( resolve, . invoice_payment_success)
401404 }
402405
403406 guard let error = res. getError ( ) else {
@@ -467,6 +470,31 @@ class Ldk: NSObject {
467470 return handleReject ( reject, . invoice_create_failed, nil , " Invoice creation error: \( creationError. rawValue) " )
468471 }
469472
473+ @objc
474+ func processPendingHtlcForwards( _ resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) {
475+ guard let channelManager = channelManager else {
476+ return handleReject ( reject, . init_channel_manager)
477+ }
478+
479+ channelManager. process_pending_htlc_forwards ( )
480+
481+ handleResolve ( resolve, . process_pending_htlc_forwards_success)
482+ }
483+
484+ @objc
485+ func claimFunds( _ paymentPreimage: NSString , resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) {
486+ guard let channelManager = channelManager else {
487+ return handleReject ( reject, . init_channel_manager)
488+ }
489+
490+ let res = channelManager. claim_funds ( payment_preimage: String ( paymentPreimage) . hexaBytes)
491+ if res == false {
492+ handleReject ( reject, . claim_funds_failed)
493+ }
494+
495+ handleResolve ( resolve, . claim_funds_success)
496+ }
497+
470498 //MARK: Fetch methods
471499 @objc
472500 func version( _ resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) {
0 commit comments