@@ -31,7 +31,7 @@ use crate::chain::{ChannelMonitorUpdateStatus, Filter, WatchedOutput};
31
31
use crate :: chain:: chaininterface:: { BroadcasterInterface , FeeEstimator } ;
32
32
use crate :: chain:: channelmonitor:: { ChannelMonitor , ChannelMonitorUpdate , Balance , MonitorEvent , TransactionOutputs , LATENCY_GRACE_PERIOD_BLOCKS } ;
33
33
use crate :: chain:: transaction:: { OutPoint , TransactionData } ;
34
- use crate :: chain:: keysinterface:: Sign ;
34
+ use crate :: chain:: keysinterface:: WriteableEcdsaChannelSigner ;
35
35
use crate :: util:: atomic_counter:: AtomicCounter ;
36
36
use crate :: util:: logger:: Logger ;
37
37
use crate :: util:: errors:: APIError ;
@@ -68,7 +68,7 @@ impl MonitorUpdateId {
68
68
pub ( crate ) fn from_monitor_update ( update : & ChannelMonitorUpdate ) -> Self {
69
69
Self { contents : UpdateOrigin :: OffChain ( update. update_id ) }
70
70
}
71
- pub ( crate ) fn from_new_monitor < ChannelSigner : Sign > ( monitor : & ChannelMonitor < ChannelSigner > ) -> Self {
71
+ pub ( crate ) fn from_new_monitor < ChannelSigner : WriteableEcdsaChannelSigner > ( monitor : & ChannelMonitor < ChannelSigner > ) -> Self {
72
72
Self { contents : UpdateOrigin :: OffChain ( monitor. get_latest_update_id ( ) ) }
73
73
}
74
74
}
@@ -93,7 +93,7 @@ impl MonitorUpdateId {
93
93
/// [`ChannelMonitorUpdateStatus::PermanentFailure`], in which case the channel will likely be
94
94
/// closed without broadcasting the latest state. See
95
95
/// [`ChannelMonitorUpdateStatus::PermanentFailure`] for more details.
96
- pub trait Persist < ChannelSigner : Sign > {
96
+ pub trait Persist < ChannelSigner : WriteableEcdsaChannelSigner > {
97
97
/// Persist a new channel's data in response to a [`chain::Watch::watch_channel`] call. This is
98
98
/// called by [`ChannelManager`] for new channels, or may be called directly, e.g. on startup.
99
99
///
@@ -147,7 +147,7 @@ pub trait Persist<ChannelSigner: Sign> {
147
147
fn update_persisted_channel ( & self , channel_id : OutPoint , update : Option < & ChannelMonitorUpdate > , data : & ChannelMonitor < ChannelSigner > , update_id : MonitorUpdateId ) -> ChannelMonitorUpdateStatus ;
148
148
}
149
149
150
- struct MonitorHolder < ChannelSigner : Sign > {
150
+ struct MonitorHolder < ChannelSigner : WriteableEcdsaChannelSigner > {
151
151
monitor : ChannelMonitor < ChannelSigner > ,
152
152
/// The full set of pending monitor updates for this Channel.
153
153
///
@@ -182,7 +182,7 @@ struct MonitorHolder<ChannelSigner: Sign> {
182
182
last_chain_persist_height : AtomicUsize ,
183
183
}
184
184
185
- impl < ChannelSigner : Sign > MonitorHolder < ChannelSigner > {
185
+ impl < ChannelSigner : WriteableEcdsaChannelSigner > MonitorHolder < ChannelSigner > {
186
186
fn has_pending_offchain_updates ( & self , pending_monitor_updates_lock : & MutexGuard < Vec < MonitorUpdateId > > ) -> bool {
187
187
pending_monitor_updates_lock. iter ( ) . any ( |update_id|
188
188
if let UpdateOrigin :: OffChain ( _) = update_id. contents { true } else { false } )
@@ -197,12 +197,12 @@ impl<ChannelSigner: Sign> MonitorHolder<ChannelSigner> {
197
197
///
198
198
/// Note that this holds a mutex in [`ChainMonitor`] and may block other events until it is
199
199
/// released.
200
- pub struct LockedChannelMonitor < ' a , ChannelSigner : Sign > {
200
+ pub struct LockedChannelMonitor < ' a , ChannelSigner : WriteableEcdsaChannelSigner > {
201
201
lock : RwLockReadGuard < ' a , HashMap < OutPoint , MonitorHolder < ChannelSigner > > > ,
202
202
funding_txo : OutPoint ,
203
203
}
204
204
205
- impl < ChannelSigner : Sign > Deref for LockedChannelMonitor < ' _ , ChannelSigner > {
205
+ impl < ChannelSigner : WriteableEcdsaChannelSigner > Deref for LockedChannelMonitor < ' _ , ChannelSigner > {
206
206
type Target = ChannelMonitor < ChannelSigner > ;
207
207
fn deref ( & self ) -> & ChannelMonitor < ChannelSigner > {
208
208
& self . lock . get ( & self . funding_txo ) . expect ( "Checked at construction" ) . monitor
@@ -218,7 +218,7 @@ impl<ChannelSigner: Sign> Deref for LockedChannelMonitor<'_, ChannelSigner> {
218
218
///
219
219
/// [`ChannelManager`]: crate::ln::channelmanager::ChannelManager
220
220
/// [module-level documentation]: crate::chain::chainmonitor
221
- pub struct ChainMonitor < ChannelSigner : Sign , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref >
221
+ pub struct ChainMonitor < ChannelSigner : WriteableEcdsaChannelSigner , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref >
222
222
where C :: Target : chain:: Filter ,
223
223
T :: Target : BroadcasterInterface ,
224
224
F :: Target : FeeEstimator ,
@@ -242,7 +242,7 @@ pub struct ChainMonitor<ChannelSigner: Sign, C: Deref, T: Deref, F: Deref, L: De
242
242
highest_chain_height : AtomicUsize ,
243
243
}
244
244
245
- impl < ChannelSigner : Sign , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref > ChainMonitor < ChannelSigner , C , T , F , L , P >
245
+ impl < ChannelSigner : WriteableEcdsaChannelSigner , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref > ChainMonitor < ChannelSigner , C , T , F , L , P >
246
246
where C :: Target : chain:: Filter ,
247
247
T :: Target : BroadcasterInterface ,
248
248
F :: Target : FeeEstimator ,
@@ -516,7 +516,7 @@ where C::Target: chain::Filter,
516
516
}
517
517
}
518
518
519
- impl < ChannelSigner : Sign , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref >
519
+ impl < ChannelSigner : WriteableEcdsaChannelSigner , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref >
520
520
chain:: Listen for ChainMonitor < ChannelSigner , C , T , F , L , P >
521
521
where
522
522
C :: Target : chain:: Filter ,
@@ -543,7 +543,7 @@ where
543
543
}
544
544
}
545
545
546
- impl < ChannelSigner : Sign , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref >
546
+ impl < ChannelSigner : WriteableEcdsaChannelSigner , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref >
547
547
chain:: Confirm for ChainMonitor < ChannelSigner , C , T , F , L , P >
548
548
where
549
549
C :: Target : chain:: Filter ,
@@ -592,7 +592,7 @@ where
592
592
}
593
593
}
594
594
595
- impl < ChannelSigner : Sign , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref >
595
+ impl < ChannelSigner : WriteableEcdsaChannelSigner , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref >
596
596
chain:: Watch < ChannelSigner > for ChainMonitor < ChannelSigner , C , T , F , L , P >
597
597
where C :: Target : chain:: Filter ,
598
598
T :: Target : BroadcasterInterface ,
@@ -735,7 +735,7 @@ where C::Target: chain::Filter,
735
735
}
736
736
}
737
737
738
- impl < ChannelSigner : Sign , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref > events:: EventsProvider for ChainMonitor < ChannelSigner , C , T , F , L , P >
738
+ impl < ChannelSigner : WriteableEcdsaChannelSigner , C : Deref , T : Deref , F : Deref , L : Deref , P : Deref > events:: EventsProvider for ChainMonitor < ChannelSigner , C , T , F , L , P >
739
739
where C :: Target : chain:: Filter ,
740
740
T :: Target : BroadcasterInterface ,
741
741
F :: Target : FeeEstimator ,
0 commit comments