@@ -9,19 +9,19 @@ use bitcoin::hashes::Hash;
9
9
use bitcoin:: network:: constants:: Network ;
10
10
use bitcoin:: secp256k1:: PublicKey ;
11
11
use lightning:: ln:: channelmanager:: { PaymentId , RecipientOnionFields , Retry } ;
12
- use lightning:: ln:: msgs:: NetAddress ;
13
- use lightning:: ln:: { PaymentHash , PaymentPreimage } ;
12
+ use lightning:: ln:: msgs:: SocketAddress ;
13
+ use lightning:: ln:: { ChannelId , PaymentHash , PaymentPreimage } ;
14
14
use lightning:: onion_message:: OnionMessagePath ;
15
15
use lightning:: onion_message:: { CustomOnionMessageContents , Destination , OnionMessageContents } ;
16
16
use lightning:: routing:: gossip:: NodeId ;
17
17
use lightning:: routing:: router:: { PaymentParameters , RouteParameters } ;
18
18
use lightning:: sign:: { EntropySource , KeysManager } ;
19
19
use lightning:: util:: config:: { ChannelHandshakeConfig , ChannelHandshakeLimits , UserConfig } ;
20
- use lightning:: util:: persist:: KVStorePersister ;
20
+ use lightning:: util:: persist:: KVStore ;
21
21
use lightning:: util:: ser:: { Writeable , Writer } ;
22
22
use lightning_invoice:: payment:: pay_invoice;
23
23
use lightning_invoice:: { utils, Bolt11Invoice , Currency } ;
24
- use lightning_persister:: FilesystemPersister ;
24
+ use lightning_persister:: fs_store :: FilesystemStore ;
25
25
use std:: env;
26
26
use std:: io;
27
27
use std:: io:: Write ;
@@ -38,7 +38,7 @@ pub(crate) struct LdkUserInfo {
38
38
pub ( crate ) bitcoind_rpc_host : String ,
39
39
pub ( crate ) ldk_storage_dir_path : String ,
40
40
pub ( crate ) ldk_peer_listening_port : u16 ,
41
- pub ( crate ) ldk_announced_listen_addr : Vec < NetAddress > ,
41
+ pub ( crate ) ldk_announced_listen_addr : Vec < SocketAddress > ,
42
42
pub ( crate ) ldk_announced_node_name : [ u8 ; 32 ] ,
43
43
pub ( crate ) network : Network ,
44
44
}
@@ -65,7 +65,7 @@ pub(crate) fn poll_for_user_input(
65
65
keys_manager : Arc < KeysManager > , network_graph : Arc < NetworkGraph > ,
66
66
onion_messenger : Arc < OnionMessenger > , inbound_payments : Arc < Mutex < PaymentInfoStorage > > ,
67
67
outbound_payments : Arc < Mutex < PaymentInfoStorage > > , ldk_data_dir : String , network : Network ,
68
- logger : Arc < disk:: FilesystemLogger > , persister : Arc < FilesystemPersister > ,
68
+ logger : Arc < disk:: FilesystemLogger > , persister : Arc < FilesystemStore > ,
69
69
) {
70
70
println ! (
71
71
"LDK startup successful. Enter \" help\" to view available commands. Press Ctrl-D to quit."
@@ -247,7 +247,9 @@ pub(crate) fn poll_for_user_input(
247
247
expiry_secs. unwrap ( ) ,
248
248
Arc :: clone ( & logger) ,
249
249
) ;
250
- persister. persist ( INBOUND_PAYMENTS_FNAME , & * inbound_payments) . unwrap ( ) ;
250
+ persister
251
+ . write ( "" , "" , INBOUND_PAYMENTS_FNAME , & inbound_payments. encode ( ) )
252
+ . unwrap ( ) ;
251
253
}
252
254
"connectpeer" => {
253
255
let peer_pubkey_and_ip_addr = words. next ( ) ;
@@ -515,7 +517,7 @@ fn list_channels(channel_manager: &Arc<ChannelManager>, network_graph: &Arc<Netw
515
517
for chan_info in channel_manager. list_channels ( ) {
516
518
println ! ( "" ) ;
517
519
println ! ( "\t {{" ) ;
518
- println ! ( "\t \t channel_id: {}," , hex_utils :: hex_str ( & chan_info. channel_id[ .. ] ) ) ;
520
+ println ! ( "\t \t channel_id: {}," , chan_info. channel_id) ;
519
521
if let Some ( funding_txo) = chan_info. funding_txo {
520
522
println ! ( "\t \t funding_txid: {}," , funding_txo. txid) ;
521
523
}
@@ -539,7 +541,7 @@ fn list_channels(channel_manager: &Arc<ChannelManager>, network_graph: &Arc<Netw
539
541
}
540
542
println ! ( "\t \t is_channel_ready: {}," , chan_info. is_channel_ready) ;
541
543
println ! ( "\t \t channel_value_satoshis: {}," , chan_info. channel_value_satoshis) ;
542
- println ! ( "\t \t local_balance_msat : {}," , chan_info. balance_msat ) ;
544
+ println ! ( "\t \t outbound_capacity_msat : {}," , chan_info. outbound_capacity_msat ) ;
543
545
if chan_info. is_usable {
544
546
println ! ( "\t \t available_balance_for_send_msat: {}," , chan_info. outbound_capacity_msat) ;
545
547
println ! ( "\t \t available_balance_for_recv_msat: {}," , chan_info. inbound_capacity_msat) ;
@@ -682,7 +684,7 @@ fn open_channel(
682
684
683
685
fn send_payment (
684
686
channel_manager : & ChannelManager , invoice : & Bolt11Invoice ,
685
- outbound_payments : & mut PaymentInfoStorage , persister : Arc < FilesystemPersister > ,
687
+ outbound_payments : & mut PaymentInfoStorage , persister : Arc < FilesystemStore > ,
686
688
) {
687
689
let payment_hash = PaymentHash ( ( * invoice. payment_hash ( ) ) . into_inner ( ) ) ;
688
690
let payment_secret = Some ( * invoice. payment_secret ( ) ) ;
@@ -695,7 +697,7 @@ fn send_payment(
695
697
amt_msat : MillisatAmount ( invoice. amount_milli_satoshis ( ) ) ,
696
698
} ,
697
699
) ;
698
- persister. persist ( OUTBOUND_PAYMENTS_FNAME , & * outbound_payments) . unwrap ( ) ;
700
+ persister. write ( "" , "" , OUTBOUND_PAYMENTS_FNAME , & outbound_payments. encode ( ) ) . unwrap ( ) ;
699
701
match pay_invoice ( invoice, Retry :: Timeout ( Duration :: from_secs ( 10 ) ) , channel_manager) {
700
702
Ok ( _payment_id) => {
701
703
let payee_pubkey = invoice. recover_payee_pub_key ( ) ;
@@ -707,22 +709,22 @@ fn send_payment(
707
709
println ! ( "ERROR: failed to send payment: {:?}" , e) ;
708
710
print ! ( "> " ) ;
709
711
outbound_payments. payments . get_mut ( & payment_hash) . unwrap ( ) . status = HTLCStatus :: Failed ;
710
- persister. persist ( OUTBOUND_PAYMENTS_FNAME , & * outbound_payments) . unwrap ( ) ;
712
+ persister. write ( "" , "" , OUTBOUND_PAYMENTS_FNAME , & outbound_payments. encode ( ) ) . unwrap ( ) ;
711
713
}
712
714
} ;
713
715
}
714
716
715
717
fn keysend < E : EntropySource > (
716
718
channel_manager : & ChannelManager , payee_pubkey : PublicKey , amt_msat : u64 , entropy_source : & E ,
717
- outbound_payments : & mut PaymentInfoStorage , persister : Arc < FilesystemPersister > ,
719
+ outbound_payments : & mut PaymentInfoStorage , persister : Arc < FilesystemStore > ,
718
720
) {
719
721
let payment_preimage = PaymentPreimage ( entropy_source. get_secure_random_bytes ( ) ) ;
720
722
let payment_hash = PaymentHash ( Sha256 :: hash ( & payment_preimage. 0 [ ..] ) . into_inner ( ) ) ;
721
723
722
- let route_params = RouteParameters {
723
- payment_params : PaymentParameters :: for_keysend ( payee_pubkey, 40 , false ) ,
724
- final_value_msat : amt_msat,
725
- } ;
724
+ let route_params = RouteParameters :: from_payment_params_and_value (
725
+ PaymentParameters :: for_keysend ( payee_pubkey, 40 , false ) ,
726
+ amt_msat,
727
+ ) ;
726
728
outbound_payments. payments . insert (
727
729
payment_hash,
728
730
PaymentInfo {
@@ -732,7 +734,7 @@ fn keysend<E: EntropySource>(
732
734
amt_msat : MillisatAmount ( Some ( amt_msat) ) ,
733
735
} ,
734
736
) ;
735
- persister. persist ( OUTBOUND_PAYMENTS_FNAME , & * outbound_payments) . unwrap ( ) ;
737
+ persister. write ( "" , "" , OUTBOUND_PAYMENTS_FNAME , & outbound_payments. encode ( ) ) . unwrap ( ) ;
736
738
match channel_manager. send_spontaneous_payment_with_retry (
737
739
Some ( payment_preimage) ,
738
740
RecipientOnionFields :: spontaneous_empty ( ) ,
@@ -748,7 +750,7 @@ fn keysend<E: EntropySource>(
748
750
println ! ( "ERROR: failed to send payment: {:?}" , e) ;
749
751
print ! ( "> " ) ;
750
752
outbound_payments. payments . get_mut ( & payment_hash) . unwrap ( ) . status = HTLCStatus :: Failed ;
751
- persister. persist ( OUTBOUND_PAYMENTS_FNAME , & * outbound_payments) . unwrap ( ) ;
753
+ persister. write ( "" , "" , OUTBOUND_PAYMENTS_FNAME , & outbound_payments. encode ( ) ) . unwrap ( ) ;
752
754
}
753
755
} ;
754
756
}
@@ -799,7 +801,7 @@ fn get_invoice(
799
801
fn close_channel (
800
802
channel_id : [ u8 ; 32 ] , counterparty_node_id : PublicKey , channel_manager : Arc < ChannelManager > ,
801
803
) {
802
- match channel_manager. close_channel ( & channel_id, & counterparty_node_id) {
804
+ match channel_manager. close_channel ( & ChannelId ( channel_id) , & counterparty_node_id) {
803
805
Ok ( ( ) ) => println ! ( "EVENT: initiating channel close" ) ,
804
806
Err ( e) => println ! ( "ERROR: failed to close channel: {:?}" , e) ,
805
807
}
@@ -808,7 +810,9 @@ fn close_channel(
808
810
fn force_close_channel (
809
811
channel_id : [ u8 ; 32 ] , counterparty_node_id : PublicKey , channel_manager : Arc < ChannelManager > ,
810
812
) {
811
- match channel_manager. force_close_broadcasting_latest_txn ( & channel_id, & counterparty_node_id) {
813
+ match channel_manager
814
+ . force_close_broadcasting_latest_txn ( & ChannelId ( channel_id) , & counterparty_node_id)
815
+ {
812
816
Ok ( ( ) ) => println ! ( "EVENT: initiating channel force-close" ) ,
813
817
Err ( e) => println ! ( "ERROR: failed to force-close channel: {:?}" , e) ,
814
818
}
0 commit comments