@@ -19,6 +19,7 @@ enum EventTypes: String, CaseIterable {
1919 case channel_manager_payment_path_successful = " channel_manager_payment_path_successful "
2020 case channel_manager_payment_path_failed = " channel_manager_payment_path_failed "
2121 case channel_manager_payment_failed = " channel_manager_payment_failed "
22+ case channel_manager_pending_htlcs_forwardable = " channel_manager_pending_htlcs_forwardable "
2223 case channel_manager_spendable_outputs = " channel_manager_spendable_outputs "
2324 case channel_manager_channel_closed = " channel_manager_channel_closed "
2425 case channel_manager_discard_funding = " channel_manager_discard_funding "
@@ -46,6 +47,7 @@ enum LdkErrors: String {
4647 case invoice_payment_fail = " invoice_payment_fail "
4748 case init_ldk_currency = " init_ldk_currency "
4849 case invoice_create_failed = " invoice_create_failed "
50+ case claim_funds_failed = " claim_funds_failed "
4951}
5052
5153enum LdkCallbackResponses : String {
@@ -64,6 +66,8 @@ enum LdkCallbackResponses: String {
6466 case invoice_payment_success = " invoice_payment_success "
6567 case tx_set_confirmed = " tx_set_confirmed "
6668 case tx_set_unconfirmed = " tx_set_unconfirmed "
69+ case process_pending_htlc_forwards_success = " process_pending_htlc_forwards_success "
70+ case claim_funds_success = " claim_funds_success "
6771}
6872
6973@objc ( Ldk)
@@ -166,9 +170,8 @@ class Ldk: NSObject {
166170
167171 @objc
168172 func initNetworkGraph( _ genesisHash: NSString , resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) {
169- networkGraph = NetworkGraph ( genesis_hash: String ( genesisHash) . hexaBytes. reversed ( ) )
173+ networkGraph = NetworkGraph ( genesis_hash: String ( genesisHash) . hexaBytes)
170174 //TODO load cached version if exists instead. NetworkGraph.read(ser: serialized_backup)
171-
172175 handleResolve ( resolve, . network_graph_init_success)
173176 }
174177
@@ -305,7 +308,7 @@ class Ldk: NSObject {
305308 @objc
306309 func addPeer( _ address: NSString , port: NSInteger , pubKey: NSString , timeout: NSInteger , resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) {
307310 //timeout param not used. Only for android.
308-
311+
309312 //Sync ChannelMonitors and ChannelManager to chain tip
310313 guard let peerHandler = peerHandler else {
311314 return handleReject ( reject, . init_peer_handler)
@@ -370,7 +373,7 @@ class Ldk: NSObject {
370373 return handleReject ( reject, . decode_invoice_fail, nil , error? . to_str ( ) )
371374 }
372375
373-
376+
374377// invoice.into_signed_raw().raw_invoice().description()
375378 resolve ( invoice. asJson) //Invoice class extended in Helpers file
376379 }
@@ -387,7 +390,7 @@ class Ldk: NSObject {
387390
388391 let res = invoicePayer. pay_invoice ( invoice: invoice)
389392 if res. isOk ( ) {
390- handleResolve ( resolve, . invoice_payment_success)
393+ return handleResolve ( resolve, . invoice_payment_success)
391394 }
392395
393396 guard let error = res. getError ( ) else {
@@ -457,6 +460,31 @@ class Ldk: NSObject {
457460 return handleReject ( reject, . invoice_create_failed, nil , " Invoice creation error: \( creationError. rawValue) " )
458461 }
459462
463+ @objc
464+ func processPendingHtlcForwards( _ resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) {
465+ guard let channelManager = channelManager else {
466+ return handleReject ( reject, . init_channel_manager)
467+ }
468+
469+ channelManager. process_pending_htlc_forwards ( )
470+
471+ handleResolve ( resolve, . process_pending_htlc_forwards_success)
472+ }
473+
474+ @objc
475+ func claimFunds( _ paymentPreimage: NSString , resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) {
476+ guard let channelManager = channelManager else {
477+ return handleReject ( reject, . init_channel_manager)
478+ }
479+
480+ let res = channelManager. claim_funds ( payment_preimage: String ( paymentPreimage) . hexaBytes)
481+ if res == false {
482+ handleReject ( reject, . claim_funds_failed)
483+ }
484+
485+ handleResolve ( resolve, . claim_funds_success)
486+ }
487+
460488 //MARK: Fetch methods
461489 @objc
462490 func version( _ resolve: @escaping RCTPromiseResolveBlock , reject: @escaping RCTPromiseRejectBlock ) {
0 commit comments