Skip to content

Commit 90c67c6

Browse files
committed
chainmon wrapper
1 parent d31760d commit 90c67c6

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

lightning/src/chain/chainmonitor.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
264285
impl<ChannelSigner: EcdsaChannelSigner + 'static, C: Deref, T: Deref, F: Deref, L: Deref, P: Deref, FS: FutureSpawner> ChainMonitor<ChannelSigner, C, T, F, L, P, FS>
265286
where C::Target: chain::Filter,
266287
T::Target: BroadcasterInterface,

0 commit comments

Comments
 (0)