@@ -261,6 +261,27 @@ pub struct ChainMonitor<ChannelSigner: EcdsaChannelSigner, C: Deref, T: Deref, F
261261 future_spawner : Arc < FS > ,
262262}
263263
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+
264285impl < ChannelSigner : EcdsaChannelSigner + ' static , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref , FS : FutureSpawner > ChainMonitor < ChannelSigner , C , T , F , L , P , FS >
265286where C :: Target : chain:: Filter ,
266287 T :: Target : BroadcasterInterface ,
0 commit comments