@@ -200,12 +200,9 @@ pub enum GossipSync<
200200 P : Deref < Target = P2PGossipSync < G , U , L > > ,
201201 R : Deref < Target = RapidGossipSync < G , L > > ,
202202 G : Deref < Target = NetworkGraph < L > > ,
203- U : Deref ,
204- L : Deref ,
205- > where
206- U :: Target : UtxoLookup ,
207- L :: Target : Logger ,
208- {
203+ U : UtxoLookup ,
204+ L : Logger ,
205+ > {
209206 /// Gossip sync via the lightning peer-to-peer network as defined by BOLT 7.
210207 P2P ( P ) ,
211208 /// Rapid gossip sync from a trusted server.
@@ -218,12 +215,9 @@ impl<
218215 P : Deref < Target = P2PGossipSync < G , U , L > > ,
219216 R : Deref < Target = RapidGossipSync < G , L > > ,
220217 G : Deref < Target = NetworkGraph < L > > ,
221- U : Deref ,
222- L : Deref ,
218+ U : UtxoLookup ,
219+ L : Logger ,
223220 > GossipSync < P , R , G , U , L >
224- where
225- U :: Target : UtxoLookup ,
226- L :: Target : Logger ,
227221{
228222 fn network_graph ( & self ) -> Option < & G > {
229223 match self {
@@ -260,12 +254,9 @@ where
260254impl <
261255 P : Deref < Target = P2PGossipSync < G , U , L > > ,
262256 G : Deref < Target = NetworkGraph < L > > ,
263- U : Deref ,
264- L : Deref ,
257+ U : UtxoLookup ,
258+ L : Logger ,
265259 > GossipSync < P , & RapidGossipSync < G , L > , G , U , L >
266- where
267- U :: Target : UtxoLookup ,
268- L :: Target : Logger ,
269260{
270261 /// Initializes a new [`GossipSync::P2P`] variant.
271262 pub fn p2p ( gossip_sync : P ) -> Self {
@@ -278,16 +269,15 @@ impl<
278269 ' a ,
279270 R : Deref < Target = RapidGossipSync < G , L > > ,
280271 G : Deref < Target = NetworkGraph < L > > ,
281- L : Deref ,
272+ L : Logger ,
282273 >
283274 GossipSync <
284275 & P2PGossipSync < G , & ' a ( dyn UtxoLookup + Send + Sync ) , L > ,
285276 R ,
286277 G ,
287278 & ' a ( dyn UtxoLookup + Send + Sync ) ,
288279 L ,
289- > where
290- L :: Target : Logger ,
280+ >
291281{
292282 /// Initializes a new [`GossipSync::Rapid`] variant.
293283 pub fn rapid ( gossip_sync : R ) -> Self {
@@ -296,26 +286,22 @@ impl<
296286}
297287
298288/// This is not exported to bindings users as the bindings concretize everything and have constructors for us
299- impl < ' a , L : Deref >
289+ impl < ' a , L : Logger >
300290 GossipSync <
301291 & P2PGossipSync < & ' a NetworkGraph < L > , & ' a ( dyn UtxoLookup + Send + Sync ) , L > ,
302292 & RapidGossipSync < & ' a NetworkGraph < L > , L > ,
303293 & ' a NetworkGraph < L > ,
304294 & ' a ( dyn UtxoLookup + Send + Sync ) ,
305295 L ,
306- > where
307- L :: Target : Logger ,
296+ >
308297{
309298 /// Initializes a new [`GossipSync::None`] variant.
310299 pub fn none ( ) -> Self {
311300 GossipSync :: None
312301 }
313302}
314303
315- fn handle_network_graph_update < L : Deref > ( network_graph : & NetworkGraph < L > , event : & Event )
316- where
317- L :: Target : Logger ,
318- {
304+ fn handle_network_graph_update < L : Logger > ( network_graph : & NetworkGraph < L > , event : & Event ) {
319305 if let Event :: PaymentPathFailed {
320306 failure : PathFailure :: OnPath { network_update : Some ( ref upd) } ,
321307 ..
@@ -420,24 +406,15 @@ type DynChannelManager = lightning::ln::channelmanager::ChannelManager<
420406pub const NO_ONION_MESSENGER : Option <
421407 Arc <
422408 dyn AOnionMessenger <
423- EntropySource = dyn EntropySource + Send + Sync ,
424- ES = & ( dyn EntropySource + Send + Sync ) ,
425- NodeSigner = dyn lightning:: sign:: NodeSigner + Send + Sync ,
426- NS = & ( dyn lightning:: sign:: NodeSigner + Send + Sync ) ,
427- Logger = dyn Logger + Send + Sync ,
428- L = & ' static ( dyn Logger + Send + Sync ) ,
429- NodeIdLookUp = DynChannelManager ,
409+ EntropySource = & ( dyn EntropySource + Send + Sync ) ,
410+ NodeSigner = & ( dyn lightning:: sign:: NodeSigner + Send + Sync ) ,
411+ Logger = & ' static ( dyn Logger + Send + Sync ) ,
430412 NL = & ' static DynChannelManager ,
431- MessageRouter = DynMessageRouter ,
432- MR = & ' static DynMessageRouter ,
433- OffersMessageHandler = lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
434- OMH = & ' static lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
435- AsyncPaymentsMessageHandler = lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
436- APH = & ' static lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
437- DNSResolverMessageHandler = lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
438- DRH = & ' static lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
439- CustomOnionMessageHandler = lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
440- CMH = & ' static lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
413+ MessageRouter = & ' static DynMessageRouter ,
414+ OMH = lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
415+ APH = lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
416+ DRH = lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
417+ CMH = lightning:: ln:: peer_handler:: IgnoringMessageHandler ,
441418 > + Send
442419 + Sync ,
443420 > ,
@@ -480,22 +457,17 @@ impl KVStore for DummyKVStore {
480457pub const NO_LIQUIDITY_MANAGER : Option <
481458 Arc <
482459 dyn ALiquidityManager <
483- EntropySource = dyn EntropySource + Send + Sync ,
484- ES = & ( dyn EntropySource + Send + Sync ) ,
485- NodeSigner = dyn lightning:: sign:: NodeSigner + Send + Sync ,
486- NS = & ( dyn lightning:: sign:: NodeSigner + Send + Sync ) ,
460+ EntropySource = & ( dyn EntropySource + Send + Sync ) ,
461+ NodeSigner = & ( dyn lightning:: sign:: NodeSigner + Send + Sync ) ,
487462 AChannelManager = DynChannelManager ,
488463 CM = & DynChannelManager ,
489- Filter = dyn chain:: Filter + Send + Sync ,
490464 C = & ( dyn chain:: Filter + Send + Sync ) ,
491- KVStore = DummyKVStore ,
492465 K = & DummyKVStore ,
493466 TimeProvider = dyn lightning_liquidity:: utils:: time:: TimeProvider + Send + Sync ,
494467 TP = & ( dyn lightning_liquidity:: utils:: time:: TimeProvider + Send + Sync ) ,
495- BroadcasterInterface = dyn lightning:: chain:: chaininterface:: BroadcasterInterface
496- + Send
497- + Sync ,
498- T = & ( dyn BroadcasterInterface + Send + Sync ) ,
468+ BroadcasterInterface = & ( dyn lightning:: chain:: chaininterface:: BroadcasterInterface
469+ + Send
470+ + Sync ) ,
499471 > + Send
500472 + Sync ,
501473 > ,
@@ -507,22 +479,18 @@ pub const NO_LIQUIDITY_MANAGER: Option<
507479pub const NO_LIQUIDITY_MANAGER_SYNC : Option <
508480 Arc <
509481 dyn ALiquidityManagerSync <
510- EntropySource = dyn EntropySource + Send + Sync ,
511- ES = & ( dyn EntropySource + Send + Sync ) ,
512- NodeSigner = dyn lightning:: sign:: NodeSigner + Send + Sync ,
513- NS = & ( dyn lightning:: sign:: NodeSigner + Send + Sync ) ,
482+ EntropySource = & ( dyn EntropySource + Send + Sync ) ,
483+ NodeSigner = & ( dyn lightning:: sign:: NodeSigner + Send + Sync ) ,
514484 AChannelManager = DynChannelManager ,
515485 CM = & DynChannelManager ,
516- Filter = dyn chain:: Filter + Send + Sync ,
517486 C = & ( dyn chain:: Filter + Send + Sync ) ,
518487 KVStoreSync = dyn lightning:: util:: persist:: KVStoreSync + Send + Sync ,
519488 KS = & ( dyn lightning:: util:: persist:: KVStoreSync + Send + Sync ) ,
520489 TimeProvider = dyn lightning_liquidity:: utils:: time:: TimeProvider + Send + Sync ,
521490 TP = & ( dyn lightning_liquidity:: utils:: time:: TimeProvider + Send + Sync ) ,
522- BroadcasterInterface = dyn lightning:: chain:: chaininterface:: BroadcasterInterface
523- + Send
524- + Sync ,
525- T = & ( dyn BroadcasterInterface + Send + Sync ) ,
491+ BroadcasterInterface = & ( dyn lightning:: chain:: chaininterface:: BroadcasterInterface
492+ + Send
493+ + Sync ) ,
526494 > + Send
527495 + Sync ,
528496 > ,
@@ -954,16 +922,16 @@ use futures_util::{dummy_waker, Joiner, OptionalSelector, Selector, SelectorOutp
954922///```
955923pub async fn process_events_async <
956924 ' a ,
957- UL : Deref ,
958- CF : Deref ,
959- T : Deref ,
960- F : Deref ,
925+ UL : UtxoLookup ,
926+ CF : chain :: Filter ,
927+ T : BroadcasterInterface ,
928+ F : FeeEstimator ,
961929 G : Deref < Target = NetworkGraph < L > > ,
962- L : Deref ,
930+ L : Logger ,
963931 P : Deref ,
964932 EventHandlerFuture : core:: future:: Future < Output = Result < ( ) , ReplayEvent > > ,
965933 EventHandler : Fn ( Event ) -> EventHandlerFuture ,
966- ES : Deref ,
934+ ES : EntropySource ,
967935 M : Deref < Target = ChainMonitor < <CM :: Target as AChannelManager >:: Signer , CF , T , F , L , P , ES > > ,
968936 CM : Deref ,
969937 OM : Deref ,
@@ -972,8 +940,8 @@ pub async fn process_events_async<
972940 PM : Deref ,
973941 LM : Deref ,
974942 D : Deref ,
975- O : Deref ,
976- K : Deref ,
943+ O : OutputSpender ,
944+ K : KVStore ,
977945 OS : Deref < Target = OutputSweeper < T , D , F , CF , K , L , O > > ,
978946 S : Deref < Target = SC > ,
979947 SC : for < ' b > WriteableScore < ' b > ,
@@ -987,20 +955,12 @@ pub async fn process_events_async<
987955 sleeper : Sleeper , mobile_interruptable_platform : bool , fetch_time : FetchTime ,
988956) -> Result < ( ) , lightning:: io:: Error >
989957where
990- UL :: Target : UtxoLookup ,
991- CF :: Target : chain:: Filter ,
992- T :: Target : BroadcasterInterface ,
993- F :: Target : FeeEstimator ,
994- L :: Target : Logger ,
995958 P :: Target : Persist < <CM :: Target as AChannelManager >:: Signer > ,
996- ES :: Target : EntropySource ,
997959 CM :: Target : AChannelManager ,
998960 OM :: Target : AOnionMessenger ,
999961 PM :: Target : APeerManager ,
1000962 LM :: Target : ALiquidityManager ,
1001- O :: Target : OutputSpender ,
1002963 D :: Target : ChangeDestinationSource ,
1003- K :: Target : KVStore ,
1004964{
1005965 let async_event_handler = |event| {
1006966 let network_graph = gossip_sync. network_graph ( ) ;
@@ -1455,16 +1415,16 @@ fn check_and_reset_sleeper<
14551415/// Async events processor that is based on [`process_events_async`] but allows for [`KVStoreSync`] to be used for
14561416/// synchronous background persistence.
14571417pub async fn process_events_async_with_kv_store_sync <
1458- UL : Deref ,
1459- CF : Deref ,
1460- T : Deref ,
1461- F : Deref ,
1418+ UL : UtxoLookup ,
1419+ CF : chain :: Filter ,
1420+ T : BroadcasterInterface ,
1421+ F : FeeEstimator ,
14621422 G : Deref < Target = NetworkGraph < L > > ,
1463- L : Deref ,
1423+ L : Logger ,
14641424 P : Deref ,
14651425 EventHandlerFuture : core:: future:: Future < Output = Result < ( ) , ReplayEvent > > ,
14661426 EventHandler : Fn ( Event ) -> EventHandlerFuture ,
1467- ES : Deref ,
1427+ ES : EntropySource ,
14681428 M : Deref < Target = ChainMonitor < <CM :: Target as AChannelManager >:: Signer , CF , T , F , L , P , ES > > ,
14691429 CM : Deref ,
14701430 OM : Deref ,
@@ -1473,7 +1433,7 @@ pub async fn process_events_async_with_kv_store_sync<
14731433 PM : Deref ,
14741434 LM : Deref ,
14751435 D : Deref ,
1476- O : Deref ,
1436+ O : OutputSpender ,
14771437 K : Deref ,
14781438 OS : Deref < Target = OutputSweeperSync < T , D , F , CF , K , L , O > > ,
14791439 S : Deref < Target = SC > ,
@@ -1488,18 +1448,11 @@ pub async fn process_events_async_with_kv_store_sync<
14881448 sleeper : Sleeper , mobile_interruptable_platform : bool , fetch_time : FetchTime ,
14891449) -> Result < ( ) , lightning:: io:: Error >
14901450where
1491- UL :: Target : UtxoLookup ,
1492- CF :: Target : chain:: Filter ,
1493- T :: Target : BroadcasterInterface ,
1494- F :: Target : FeeEstimator ,
1495- L :: Target : Logger ,
14961451 P :: Target : Persist < <CM :: Target as AChannelManager >:: Signer > ,
1497- ES :: Target : EntropySource ,
14981452 CM :: Target : AChannelManager ,
14991453 OM :: Target : AOnionMessenger ,
15001454 PM :: Target : APeerManager ,
15011455 LM :: Target : ALiquidityManager ,
1502- O :: Target : OutputSpender ,
15031456 D :: Target : ChangeDestinationSourceSync ,
15041457 K :: Target : KVStoreSync ,
15051458{
@@ -1569,15 +1522,15 @@ impl BackgroundProcessor {
15691522 /// [`NetworkGraph::write`]: lightning::routing::gossip::NetworkGraph#impl-Writeable
15701523 pub fn start <
15711524 ' a ,
1572- UL : ' static + Deref ,
1573- CF : ' static + Deref ,
1574- T : ' static + Deref ,
1575- F : ' static + Deref + Send ,
1525+ UL : ' static + UtxoLookup ,
1526+ CF : ' static + chain :: Filter ,
1527+ T : ' static + BroadcasterInterface ,
1528+ F : ' static + FeeEstimator + Send ,
15761529 G : ' static + Deref < Target = NetworkGraph < L > > ,
15771530 L : ' static + Deref + Send ,
15781531 P : ' static + Deref ,
15791532 EH : ' static + EventHandler + Send ,
1580- ES : ' static + Deref + Send ,
1533+ ES : ' static + EntropySource + Send ,
15811534 M : ' static
15821535 + Deref <
15831536 Target = ChainMonitor < <CM :: Target as AChannelManager >:: Signer , CF , T , F , L , P , ES > ,
@@ -1593,7 +1546,7 @@ impl BackgroundProcessor {
15931546 S : ' static + Deref < Target = SC > + Send + Sync ,
15941547 SC : for < ' b > WriteableScore < ' b > ,
15951548 D : ' static + Deref ,
1596- O : ' static + Deref ,
1549+ O : ' static + OutputSpender ,
15971550 K : ' static + Deref + Send ,
15981551 OS : ' static + Deref < Target = OutputSweeperSync < T , D , F , CF , K , L , O > > + Send ,
15991552 > (
@@ -1602,19 +1555,13 @@ impl BackgroundProcessor {
16021555 liquidity_manager : Option < LM > , sweeper : Option < OS > , logger : L , scorer : Option < S > ,
16031556 ) -> Self
16041557 where
1605- UL :: Target : ' static + UtxoLookup ,
1606- CF :: Target : ' static + chain:: Filter ,
1607- T :: Target : ' static + BroadcasterInterface ,
1608- F :: Target : ' static + FeeEstimator ,
16091558 L :: Target : ' static + Logger ,
16101559 P :: Target : ' static + Persist < <CM :: Target as AChannelManager >:: Signer > ,
1611- ES :: Target : ' static + EntropySource ,
16121560 CM :: Target : AChannelManager ,
16131561 OM :: Target : AOnionMessenger ,
16141562 PM :: Target : APeerManager ,
16151563 LM :: Target : ALiquidityManagerSync ,
16161564 D :: Target : ChangeDestinationSourceSync ,
1617- O :: Target : ' static + OutputSpender ,
16181565 K :: Target : ' static + KVStoreSync ,
16191566 {
16201567 let stop_thread = Arc :: new ( AtomicBool :: new ( false ) ) ;
0 commit comments