@@ -30,25 +30,29 @@ mod hex_utils;
3030mod io_utils;
3131mod logger;
3232mod peer_store;
33+ mod types;
3334mod wallet;
3435
3536pub use error:: Error ;
3637pub use event:: Event ;
3738use event:: { EventHandler , EventQueue } ;
3839use peer_store:: { PeerInfo , PeerInfoStorage } ;
39- use wallet:: { Wallet , WalletKeysManager } ;
40+ use types:: {
41+ ChainMonitor , ChannelManager , GossipSync , InvoicePayer , KeysManager , NetworkGraph ,
42+ OnionMessenger , PaymentInfoStorage , PeerManager , Router , Scorer ,
43+ } ;
44+ pub use types:: { PaymentInfo , PaymentStatus } ;
45+ use wallet:: Wallet ;
4046
4147use logger:: { log_error, log_given_level, log_info, log_internal, FilesystemLogger , Logger } ;
4248
43- use lightning:: chain:: keysinterface:: { EntropySource , InMemorySigner , NodeSigner , Recipient } ;
49+ use lightning:: chain:: keysinterface:: { EntropySource , NodeSigner , Recipient } ;
4450use lightning:: chain:: { chainmonitor, Access , BestBlock , Confirm , Watch } ;
4551use lightning:: ln:: channelmanager;
4652use lightning:: ln:: channelmanager:: { ChainParameters , ChannelManagerReadArgs } ;
4753use lightning:: ln:: peer_handler:: { IgnoringMessageHandler , MessageHandler } ;
48- use lightning:: ln:: { PaymentHash , PaymentPreimage , PaymentSecret } ;
49- use lightning:: routing:: gossip;
54+ use lightning:: ln:: { PaymentHash , PaymentPreimage } ;
5055use lightning:: routing:: gossip:: P2PGossipSync ;
51- use lightning:: routing:: scoring:: ProbabilisticScorer ;
5256
5357use lightning:: util:: config:: { ChannelHandshakeConfig , ChannelHandshakeLimits , UserConfig } ;
5458use lightning:: util:: ser:: ReadableArgs ;
@@ -59,8 +63,6 @@ use lightning_persister::FilesystemPersister;
5963
6064use lightning_transaction_sync:: EsploraSyncClient ;
6165
62- use lightning_net_tokio:: SocketDescriptor ;
63-
6466use lightning:: routing:: router:: DefaultRouter ;
6567use lightning_invoice:: { payment, Currency , Invoice } ;
6668
@@ -1039,82 +1041,3 @@ async fn do_connect_peer(
10391041 }
10401042 }
10411043}
1042-
1043- //
1044- // Structs wrapping the particular information which should easily be
1045- // understandable, parseable, and transformable, i.e., we'll try to avoid
1046- // exposing too many technical detail here.
1047- /// Represents a payment.
1048- #[ derive( Clone , Debug , PartialEq , Eq ) ]
1049- pub struct PaymentInfo {
1050- /// The pre-image used by the payment.
1051- pub preimage : Option < PaymentPreimage > ,
1052- /// The secret used by the payment.
1053- pub secret : Option < PaymentSecret > ,
1054- /// The status of the payment.
1055- pub status : PaymentStatus ,
1056- /// The amount transferred.
1057- pub amount_msat : Option < u64 > ,
1058- }
1059-
1060- /// Represents the current status of a payment.
1061- #[ derive( Clone , Debug , PartialEq , Eq ) ]
1062- pub enum PaymentStatus {
1063- /// The payment is still pending.
1064- Pending ,
1065- /// The payment suceeded.
1066- Succeeded ,
1067- /// The payment failed.
1068- Failed ,
1069- }
1070-
1071- type ChainMonitor = chainmonitor:: ChainMonitor <
1072- InMemorySigner ,
1073- Arc < EsploraSyncClient < Arc < FilesystemLogger > > > ,
1074- Arc < Wallet < bdk:: sled:: Tree > > ,
1075- Arc < Wallet < bdk:: sled:: Tree > > ,
1076- Arc < FilesystemLogger > ,
1077- Arc < FilesystemPersister > ,
1078- > ;
1079-
1080- pub ( crate ) type PeerManager = lightning:: ln:: peer_handler:: PeerManager <
1081- SocketDescriptor ,
1082- Arc < ChannelManager > ,
1083- Arc < GossipSync > ,
1084- Arc < OnionMessenger > ,
1085- Arc < FilesystemLogger > ,
1086- IgnoringMessageHandler ,
1087- > ;
1088-
1089- pub ( crate ) type ChannelManager = lightning:: ln:: channelmanager:: ChannelManager <
1090- Arc < ChainMonitor > ,
1091- Arc < Wallet < bdk:: sled:: Tree > > ,
1092- Arc < WalletKeysManager < bdk:: sled:: Tree > > ,
1093- Arc < WalletKeysManager < bdk:: sled:: Tree > > ,
1094- Arc < WalletKeysManager < bdk:: sled:: Tree > > ,
1095- Arc < Wallet < bdk:: sled:: Tree > > ,
1096- Arc < Router > ,
1097- Arc < FilesystemLogger > ,
1098- > ;
1099-
1100- pub ( crate ) type KeysManager = WalletKeysManager < bdk:: sled:: Tree > ;
1101-
1102- type InvoicePayer < F > =
1103- payment:: InvoicePayer < Arc < ChannelManager > , Arc < Router > , Arc < FilesystemLogger > , F > ;
1104-
1105- type Router = DefaultRouter < Arc < NetworkGraph > , Arc < FilesystemLogger > , Arc < Mutex < Scorer > > > ;
1106- type Scorer = ProbabilisticScorer < Arc < NetworkGraph > , Arc < FilesystemLogger > > ;
1107-
1108- type GossipSync =
1109- P2PGossipSync < Arc < NetworkGraph > , Arc < dyn Access + Send + Sync > , Arc < FilesystemLogger > > ;
1110-
1111- pub ( crate ) type NetworkGraph = gossip:: NetworkGraph < Arc < FilesystemLogger > > ;
1112-
1113- pub ( crate ) type PaymentInfoStorage = Mutex < HashMap < PaymentHash , PaymentInfo > > ;
1114-
1115- pub ( crate ) type OnionMessenger = lightning:: onion_message:: OnionMessenger <
1116- Arc < WalletKeysManager < bdk:: sled:: Tree > > ,
1117- Arc < WalletKeysManager < bdk:: sled:: Tree > > ,
1118- Arc < FilesystemLogger > ,
1119- IgnoringMessageHandler ,
1120- > ;
0 commit comments