@@ -53,7 +53,7 @@ use crate::util::async_poll::{MaybeSend, MaybeSync};
53
53
use crate :: util:: errors:: APIError ;
54
54
use crate :: util:: logger:: { Logger , WithContext } ;
55
55
use crate :: util:: native_async:: FutureSpawner ;
56
- use crate :: util:: persist:: { MonitorName , MonitorUpdatingPersisterAsync , KVStore } ;
56
+ use crate :: util:: persist:: { KVStore , MonitorName , MonitorUpdatingPersisterAsync } ;
57
57
#[ cfg( peer_storage) ]
58
58
use crate :: util:: ser:: { VecWriter , Writeable } ;
59
59
use crate :: util:: wakers:: { Future , Notifier } ;
@@ -202,7 +202,9 @@ pub trait Persist<ChannelSigner: EcdsaChannelSigner> {
202
202
/// [`ChainMonitor::channel_monitor_updated`]. Because of this, this method is defaulted and
203
203
/// hidden in the docs.
204
204
#[ doc( hidden) ]
205
- fn get_and_clear_completed_updates ( & self ) -> Vec < ( ChannelId , u64 ) > { Vec :: new ( ) }
205
+ fn get_and_clear_completed_updates ( & self ) -> Vec < ( ChannelId , u64 ) > {
206
+ Vec :: new ( )
207
+ }
206
208
}
207
209
208
210
struct MonitorHolder < ChannelSigner : EcdsaChannelSigner > {
@@ -246,39 +248,59 @@ impl<ChannelSigner: EcdsaChannelSigner> Deref for LockedChannelMonitor<'_, Chann
246
248
}
247
249
}
248
250
249
-
250
251
/// An unconstructable [`Persist`]er which is used under the hood when you call
251
252
/// [`ChainMonitor::new_async_beta`].
252
- pub struct AsyncPersister < K : Deref + MaybeSend + MaybeSync + ' static , S : FutureSpawner , L : Deref + MaybeSend + MaybeSync + ' static , ES : Deref + MaybeSend + MaybeSync + ' static , SP : Deref + MaybeSend + MaybeSync + ' static , BI : Deref + MaybeSend + MaybeSync + ' static , FE : Deref + MaybeSend + MaybeSync + ' static >
253
- where
253
+ pub struct AsyncPersister <
254
+ K : Deref + MaybeSend + MaybeSync + ' static ,
255
+ S : FutureSpawner ,
256
+ L : Deref + MaybeSend + MaybeSync + ' static ,
257
+ ES : Deref + MaybeSend + MaybeSync + ' static ,
258
+ SP : Deref + MaybeSend + MaybeSync + ' static ,
259
+ BI : Deref + MaybeSend + MaybeSync + ' static ,
260
+ FE : Deref + MaybeSend + MaybeSync + ' static ,
261
+ > where
254
262
K :: Target : KVStore + MaybeSync ,
255
263
L :: Target : Logger ,
256
264
ES :: Target : EntropySource + Sized ,
257
265
SP :: Target : SignerProvider + Sized ,
258
266
BI :: Target : BroadcasterInterface ,
259
- FE :: Target : FeeEstimator
267
+ FE :: Target : FeeEstimator ,
260
268
{
261
269
persister : MonitorUpdatingPersisterAsync < K , S , L , ES , SP , BI , FE > ,
262
270
}
263
271
264
- impl < K : Deref + MaybeSend + MaybeSync + ' static , S : FutureSpawner , L : Deref + MaybeSend + MaybeSync + ' static , ES : Deref + MaybeSend + MaybeSync + ' static , SP : Deref + MaybeSend + MaybeSync + ' static , BI : Deref + MaybeSend + MaybeSync + ' static , FE : Deref + MaybeSend + MaybeSync + ' static >
265
- Deref for AsyncPersister < K , S , L , ES , SP , BI , FE >
272
+ impl <
273
+ K : Deref + MaybeSend + MaybeSync + ' static ,
274
+ S : FutureSpawner ,
275
+ L : Deref + MaybeSend + MaybeSync + ' static ,
276
+ ES : Deref + MaybeSend + MaybeSync + ' static ,
277
+ SP : Deref + MaybeSend + MaybeSync + ' static ,
278
+ BI : Deref + MaybeSend + MaybeSync + ' static ,
279
+ FE : Deref + MaybeSend + MaybeSync + ' static ,
280
+ > Deref for AsyncPersister < K , S , L , ES , SP , BI , FE >
266
281
where
267
282
K :: Target : KVStore + MaybeSync ,
268
283
L :: Target : Logger ,
269
284
ES :: Target : EntropySource + Sized ,
270
285
SP :: Target : SignerProvider + Sized ,
271
286
BI :: Target : BroadcasterInterface ,
272
- FE :: Target : FeeEstimator
287
+ FE :: Target : FeeEstimator ,
273
288
{
274
289
type Target = Self ;
275
290
fn deref ( & self ) -> & Self {
276
291
self
277
292
}
278
293
}
279
294
280
- impl < K : Deref + MaybeSend + MaybeSync + ' static , S : FutureSpawner , L : Deref + MaybeSend + MaybeSync + ' static , ES : Deref + MaybeSend + MaybeSync + ' static , SP : Deref + MaybeSend + MaybeSync + ' static , BI : Deref + MaybeSend + MaybeSync + ' static , FE : Deref + MaybeSend + MaybeSync + ' static >
281
- Persist < <SP :: Target as SignerProvider >:: EcdsaSigner > for AsyncPersister < K , S , L , ES , SP , BI , FE >
295
+ impl <
296
+ K : Deref + MaybeSend + MaybeSync + ' static ,
297
+ S : FutureSpawner ,
298
+ L : Deref + MaybeSend + MaybeSync + ' static ,
299
+ ES : Deref + MaybeSend + MaybeSync + ' static ,
300
+ SP : Deref + MaybeSend + MaybeSync + ' static ,
301
+ BI : Deref + MaybeSend + MaybeSync + ' static ,
302
+ FE : Deref + MaybeSend + MaybeSync + ' static ,
303
+ > Persist < <SP :: Target as SignerProvider >:: EcdsaSigner > for AsyncPersister < K , S , L , ES , SP , BI , FE >
282
304
where
283
305
K :: Target : KVStore + MaybeSync ,
284
306
L :: Target : Logger ,
@@ -289,7 +311,8 @@ where
289
311
<SP :: Target as SignerProvider >:: EcdsaSigner : MaybeSend + ' static ,
290
312
{
291
313
fn persist_new_channel (
292
- & self , monitor_name : MonitorName , monitor : & ChannelMonitor < <SP :: Target as SignerProvider >:: EcdsaSigner > ,
314
+ & self , monitor_name : MonitorName ,
315
+ monitor : & ChannelMonitor < <SP :: Target as SignerProvider >:: EcdsaSigner > ,
293
316
) -> ChannelMonitorUpdateStatus {
294
317
self . persister . spawn_async_persist_new_channel ( monitor_name, monitor) ;
295
318
ChannelMonitorUpdateStatus :: InProgress
@@ -312,7 +335,6 @@ where
312
335
}
313
336
}
314
337
315
-
316
338
/// An implementation of [`chain::Watch`] for monitoring channels.
317
339
///
318
340
/// Connected and disconnected blocks must be provided to `ChainMonitor` as documented by
@@ -378,8 +400,16 @@ impl<
378
400
F : Deref + MaybeSend + MaybeSync + ' static ,
379
401
L : Deref + MaybeSend + MaybeSync + ' static ,
380
402
ES : Deref + MaybeSend + MaybeSync + ' static ,
381
- > ChainMonitor < <SP :: Target as SignerProvider >:: EcdsaSigner , C , T , F , L , AsyncPersister < K , S , L , ES , SP , T , F > , ES >
382
- where
403
+ >
404
+ ChainMonitor <
405
+ <SP :: Target as SignerProvider >:: EcdsaSigner ,
406
+ C ,
407
+ T ,
408
+ F ,
409
+ L ,
410
+ AsyncPersister < K , S , L , ES , SP , T , F > ,
411
+ ES ,
412
+ > where
383
413
K :: Target : KVStore + MaybeSync ,
384
414
SP :: Target : SignerProvider + Sized ,
385
415
C :: Target : chain:: Filter ,
0 commit comments