@@ -261,6 +261,27 @@ pub struct ChainMonitor<ChannelSigner: EcdsaChannelSigner, C: Deref, T: Deref, F
261
261
future_spawner : Arc < FS > ,
262
262
}
263
263
264
+ /// A synchronous wrapper around [`ChainMonitor`].
265
+ pub struct ChainMonitorSync < ChannelSigner : EcdsaChannelSigner , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref , FS : FutureSpawner >
266
+ ( ChainMonitor < ChannelSigner , C , T , F , L , P , FS > ) where C :: Target : chain:: Filter ,
267
+ T :: Target : BroadcasterInterface ,
268
+ F :: Target : FeeEstimator ,
269
+ L :: Target : Logger ,
270
+ P :: Target : Persist < ChannelSigner > ;
271
+
272
+ impl < ChannelSigner : EcdsaChannelSigner + ' static , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref , FS : FutureSpawner > ChainMonitorSync < ChannelSigner , C , T , F , L , P , FS >
273
+ where C :: Target : chain:: Filter ,
274
+ T :: Target : BroadcasterInterface ,
275
+ F :: Target : FeeEstimator ,
276
+ L :: Target : Logger ,
277
+ P :: Target : Persist < ChannelSigner > {
278
+
279
+ fn new ( chain_source : Option < C > , broadcaster : T , logger : L , feeest : F , persister : P , future_spawner : FS ) -> Self {
280
+ Self ( ChainMonitor :: new ( chain_source, broadcaster, logger, feeest, persister, future_spawner) )
281
+ }
282
+ }
283
+
284
+
264
285
impl < ChannelSigner : EcdsaChannelSigner + ' static , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref , FS : FutureSpawner > ChainMonitor < ChannelSigner , C , T , F , L , P , FS >
265
286
where C :: Target : chain:: Filter ,
266
287
T :: Target : BroadcasterInterface ,
0 commit comments