@@ -33,7 +33,7 @@ use lightning::ln::channelmanager::{AChannelManager, ChainParameters};
3333use lightning:: ln:: msgs:: { ErrorAction , LightningError } ;
3434use lightning:: ln:: peer_handler:: CustomMessageHandler ;
3535use lightning:: ln:: wire:: CustomMessageReader ;
36- use lightning:: sign:: EntropySource ;
36+ use lightning:: sign:: { EntropySource , NodeSigner } ;
3737use lightning:: util:: logger:: Level ;
3838use lightning:: util:: ser:: { LengthLimitedRead , LengthReadable } ;
3939use lightning:: util:: wakers:: Future ;
@@ -82,8 +82,8 @@ pub struct LiquidityClientConfig {
8282/// This is not exported to bindings users as general cover traits aren't useful in other
8383/// languages.
8484pub trait ALiquidityManager {
85- /// A type implementing [`EntropySource`]
86- type EntropySource : EntropySource + ?Sized ;
85+ /// A type implementing [`EntropySource`] and [`NodeSigner`]
86+ type EntropySource : EntropySource + NodeSigner + ?Sized ;
8787 /// A type that may be dereferenced to [`Self::EntropySource`].
8888 type ES : Deref < Target = Self :: EntropySource > + Clone ;
8989 /// A type implementing [`AChannelManager`]
@@ -105,7 +105,7 @@ pub trait ALiquidityManager {
105105impl < ES : Deref + Clone , CM : Deref + Clone , C : Deref + Clone , TP : Deref + Clone > ALiquidityManager
106106 for LiquidityManager < ES , CM , C , TP >
107107where
108- ES :: Target : EntropySource ,
108+ ES :: Target : EntropySource + NodeSigner ,
109109 CM :: Target : AChannelManager ,
110110 C :: Target : Filter ,
111111 TP :: Target : TimeProvider ,
@@ -148,7 +148,7 @@ pub struct LiquidityManager<
148148 C : Deref + Clone ,
149149 TP : Deref + Clone ,
150150> where
151- ES :: Target : EntropySource ,
151+ ES :: Target : EntropySource + NodeSigner ,
152152 CM :: Target : AChannelManager ,
153153 C :: Target : Filter ,
154154 TP :: Target : TimeProvider ,
@@ -165,7 +165,7 @@ pub struct LiquidityManager<
165165 lsps1_client_handler : Option < LSPS1ClientHandler < ES > > ,
166166 lsps2_service_handler : Option < LSPS2ServiceHandler < CM > > ,
167167 lsps2_client_handler : Option < LSPS2ClientHandler < ES > > ,
168- lsps5_service_handler : Option < LSPS5ServiceHandler < CM , TP > > ,
168+ lsps5_service_handler : Option < LSPS5ServiceHandler < CM , ES , TP > > ,
169169 lsps5_client_handler : Option < LSPS5ClientHandler < ES , TP > > ,
170170 service_config : Option < LiquidityServiceConfig > ,
171171 _client_config : Option < LiquidityClientConfig > ,
@@ -177,7 +177,7 @@ pub struct LiquidityManager<
177177impl < ES : Deref + Clone , CM : Deref + Clone , C : Deref + Clone >
178178 LiquidityManager < ES , CM , C , Arc < DefaultTimeProvider > >
179179where
180- ES :: Target : EntropySource ,
180+ ES :: Target : EntropySource + NodeSigner ,
181181 CM :: Target : AChannelManager ,
182182 C :: Target : Filter ,
183183{
@@ -203,7 +203,7 @@ where
203203impl < ES : Deref + Clone , CM : Deref + Clone , C : Deref + Clone , TP : Deref + Clone >
204204 LiquidityManager < ES , CM , C , TP >
205205where
206- ES :: Target : EntropySource ,
206+ ES :: Target : EntropySource + NodeSigner ,
207207 CM :: Target : AChannelManager ,
208208 C :: Target : Filter ,
209209 TP :: Target : TimeProvider ,
@@ -266,18 +266,19 @@ where
266266 let lsps5_service_handler = service_config. as_ref ( ) . and_then ( |config| {
267267 config. lsps5_service_config . as_ref ( ) . map ( |config| {
268268 if let Some ( number) =
269- <LSPS5ServiceHandler < CM , TP > as LSPSProtocolMessageHandler >:: PROTOCOL_NUMBER
269+ <LSPS5ServiceHandler < CM , ES , TP > as LSPSProtocolMessageHandler >:: PROTOCOL_NUMBER
270270 {
271271 supported_protocols. push ( number) ;
272272 }
273273
274- return LSPS5ServiceHandler :: new_with_time_provider (
274+ LSPS5ServiceHandler :: new_with_time_provider (
275275 Arc :: clone ( & pending_events) ,
276276 Arc :: clone ( & pending_messages) ,
277277 channel_manager. clone ( ) ,
278+ entropy_source. clone ( ) ,
278279 config. clone ( ) ,
279- time_provider,
280- ) ;
280+ time_provider. clone ( ) ,
281+ )
281282 } )
282283 } ) ;
283284
@@ -394,7 +395,7 @@ where
394395 /// Returns a reference to the LSPS5 server-side handler.
395396 ///
396397 /// The returned hendler allows to initiate the LSPS5 service-side flow.
397- pub fn lsps5_service_handler ( & self ) -> Option < & LSPS5ServiceHandler < CM , TP > > {
398+ pub fn lsps5_service_handler ( & self ) -> Option < & LSPS5ServiceHandler < CM , ES , TP > > {
398399 self . lsps5_service_handler . as_ref ( )
399400 }
400401
@@ -551,7 +552,7 @@ where
551552impl < ES : Deref + Clone , CM : Deref + Clone , C : Deref + Clone , TP : Deref + Clone > CustomMessageReader
552553 for LiquidityManager < ES , CM , C , TP >
553554where
554- ES :: Target : EntropySource ,
555+ ES :: Target : EntropySource + NodeSigner ,
555556 CM :: Target : AChannelManager ,
556557 C :: Target : Filter ,
557558 TP :: Target : TimeProvider ,
@@ -573,7 +574,7 @@ where
573574impl < ES : Deref + Clone , CM : Deref + Clone , C : Deref + Clone , TP : Deref + Clone > CustomMessageHandler
574575 for LiquidityManager < ES , CM , C , TP >
575576where
576- ES :: Target : EntropySource ,
577+ ES :: Target : EntropySource + NodeSigner ,
577578 CM :: Target : AChannelManager ,
578579 C :: Target : Filter ,
579580 TP :: Target : TimeProvider ,
@@ -686,7 +687,7 @@ where
686687impl < ES : Deref + Clone , CM : Deref + Clone , C : Deref + Clone , TP : Deref + Clone > Listen
687688 for LiquidityManager < ES , CM , C , TP >
688689where
689- ES :: Target : EntropySource ,
690+ ES :: Target : EntropySource + NodeSigner ,
690691 CM :: Target : AChannelManager ,
691692 C :: Target : Filter ,
692693 TP :: Target : TimeProvider ,
@@ -725,7 +726,7 @@ where
725726impl < ES : Deref + Clone , CM : Deref + Clone , C : Deref + Clone , TP : Deref + Clone > Confirm
726727 for LiquidityManager < ES , CM , C , TP >
727728where
728- ES :: Target : EntropySource ,
729+ ES :: Target : EntropySource + NodeSigner ,
729730 CM :: Target : AChannelManager ,
730731 C :: Target : Filter ,
731732 TP :: Target : TimeProvider ,
0 commit comments