@@ -31,7 +31,7 @@ use crate::chain::{ChannelMonitorUpdateStatus, Filter, WatchedOutput};
3131use crate :: chain:: chaininterface:: { BroadcasterInterface , FeeEstimator } ;
3232use crate :: chain:: channelmonitor:: { ChannelMonitor , ChannelMonitorUpdate , Balance , MonitorEvent , TransactionOutputs , LATENCY_GRACE_PERIOD_BLOCKS } ;
3333use crate :: chain:: transaction:: { OutPoint , TransactionData } ;
34- use crate :: chain:: keysinterface:: Sign ;
34+ use crate :: chain:: keysinterface:: WriteableEcdsaChannelSigner ;
3535use crate :: util:: atomic_counter:: AtomicCounter ;
3636use crate :: util:: logger:: Logger ;
3737use crate :: util:: errors:: APIError ;
@@ -68,7 +68,7 @@ impl MonitorUpdateId {
6868 pub ( crate ) fn from_monitor_update ( update : & ChannelMonitorUpdate ) -> Self {
6969 Self { contents : UpdateOrigin :: OffChain ( update. update_id ) }
7070 }
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 {
7272 Self { contents : UpdateOrigin :: OffChain ( monitor. get_latest_update_id ( ) ) }
7373 }
7474}
@@ -93,7 +93,7 @@ impl MonitorUpdateId {
9393/// [`ChannelMonitorUpdateStatus::PermanentFailure`], in which case the channel will likely be
9494/// closed without broadcasting the latest state. See
9595/// [`ChannelMonitorUpdateStatus::PermanentFailure`] for more details.
96- pub trait Persist < ChannelSigner : Sign > {
96+ pub trait Persist < ChannelSigner : WriteableEcdsaChannelSigner > {
9797 /// Persist a new channel's data in response to a [`chain::Watch::watch_channel`] call. This is
9898 /// called by [`ChannelManager`] for new channels, or may be called directly, e.g. on startup.
9999 ///
@@ -147,7 +147,7 @@ pub trait Persist<ChannelSigner: Sign> {
147147 fn update_persisted_channel ( & self , channel_id : OutPoint , update : Option < & ChannelMonitorUpdate > , data : & ChannelMonitor < ChannelSigner > , update_id : MonitorUpdateId ) -> ChannelMonitorUpdateStatus ;
148148}
149149
150- struct MonitorHolder < ChannelSigner : Sign > {
150+ struct MonitorHolder < ChannelSigner : WriteableEcdsaChannelSigner > {
151151 monitor : ChannelMonitor < ChannelSigner > ,
152152 /// The full set of pending monitor updates for this Channel.
153153 ///
@@ -182,7 +182,7 @@ struct MonitorHolder<ChannelSigner: Sign> {
182182 last_chain_persist_height : AtomicUsize ,
183183}
184184
185- impl < ChannelSigner : Sign > MonitorHolder < ChannelSigner > {
185+ impl < ChannelSigner : WriteableEcdsaChannelSigner > MonitorHolder < ChannelSigner > {
186186 fn has_pending_offchain_updates ( & self , pending_monitor_updates_lock : & MutexGuard < Vec < MonitorUpdateId > > ) -> bool {
187187 pending_monitor_updates_lock. iter ( ) . any ( |update_id|
188188 if let UpdateOrigin :: OffChain ( _) = update_id. contents { true } else { false } )
@@ -197,12 +197,12 @@ impl<ChannelSigner: Sign> MonitorHolder<ChannelSigner> {
197197///
198198/// Note that this holds a mutex in [`ChainMonitor`] and may block other events until it is
199199/// released.
200- pub struct LockedChannelMonitor < ' a , ChannelSigner : Sign > {
200+ pub struct LockedChannelMonitor < ' a , ChannelSigner : WriteableEcdsaChannelSigner > {
201201 lock : RwLockReadGuard < ' a , HashMap < OutPoint , MonitorHolder < ChannelSigner > > > ,
202202 funding_txo : OutPoint ,
203203}
204204
205- impl < ChannelSigner : Sign > Deref for LockedChannelMonitor < ' _ , ChannelSigner > {
205+ impl < ChannelSigner : WriteableEcdsaChannelSigner > Deref for LockedChannelMonitor < ' _ , ChannelSigner > {
206206 type Target = ChannelMonitor < ChannelSigner > ;
207207 fn deref ( & self ) -> & ChannelMonitor < ChannelSigner > {
208208 & self . lock . get ( & self . funding_txo ) . expect ( "Checked at construction" ) . monitor
@@ -218,7 +218,7 @@ impl<ChannelSigner: Sign> Deref for LockedChannelMonitor<'_, ChannelSigner> {
218218///
219219/// [`ChannelManager`]: crate::ln::channelmanager::ChannelManager
220220/// [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 >
222222 where C :: Target : chain:: Filter ,
223223 T :: Target : BroadcasterInterface ,
224224 F :: Target : FeeEstimator ,
@@ -242,7 +242,7 @@ pub struct ChainMonitor<ChannelSigner: Sign, C: Deref, T: Deref, F: Deref, L: De
242242 highest_chain_height : AtomicUsize ,
243243}
244244
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 >
246246where C :: Target : chain:: Filter ,
247247 T :: Target : BroadcasterInterface ,
248248 F :: Target : FeeEstimator ,
@@ -516,7 +516,7 @@ where C::Target: chain::Filter,
516516 }
517517}
518518
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 >
520520chain:: Listen for ChainMonitor < ChannelSigner , C , T , F , L , P >
521521where
522522 C :: Target : chain:: Filter ,
@@ -543,7 +543,7 @@ where
543543 }
544544}
545545
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 >
547547chain:: Confirm for ChainMonitor < ChannelSigner , C , T , F , L , P >
548548where
549549 C :: Target : chain:: Filter ,
@@ -592,7 +592,7 @@ where
592592 }
593593}
594594
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 >
596596chain:: Watch < ChannelSigner > for ChainMonitor < ChannelSigner , C , T , F , L , P >
597597where C :: Target : chain:: Filter ,
598598 T :: Target : BroadcasterInterface ,
@@ -735,7 +735,7 @@ where C::Target: chain::Filter,
735735 }
736736}
737737
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 >
739739 where C :: Target : chain:: Filter ,
740740 T :: Target : BroadcasterInterface ,
741741 F :: Target : FeeEstimator ,
0 commit comments