@@ -154,18 +154,24 @@ pub trait KVStore {
154154 fn list ( & self , primary_namespace : & str , secondary_namespace : & str ) -> Result < Vec < String > , io:: Error > ;
155155}
156156
157+
157158/// Trait that handles persisting a [`ChannelManager`], [`NetworkGraph`], and [`WriteableScore`] to disk.
158159///
159160/// [`ChannelManager`]: crate::ln::channelmanager::ChannelManager
160- pub trait Persister < ' a , CM : Deref , L : Deref , S : WriteableScore < ' a > >
161- where
162- CM :: Target : ' static + AChannelManager ,
163- L :: Target : ' static + Logger ,
161+ pub trait Persister < ' a , M : Deref , T : Deref , ES : Deref , NS : Deref , SP : Deref , F : Deref , R : Deref , L : Deref , S : WriteableScore < ' a > >
162+ where M :: Target : ' static + chain:: Watch < <SP :: Target as SignerProvider >:: EcdsaSigner > ,
163+ T :: Target : ' static + BroadcasterInterface ,
164+ ES :: Target : ' static + EntropySource ,
165+ NS :: Target : ' static + crate :: sign:: NodeSigner ,
166+ SP :: Target : ' static + SignerProvider ,
167+ F :: Target : ' static + FeeEstimator ,
168+ R :: Target : ' static + crate :: routing:: router:: Router ,
169+ L :: Target : ' static + Logger ,
164170{
165171 /// Persist the given ['ChannelManager'] to disk, returning an error if persistence failed.
166172 ///
167173 /// [`ChannelManager`]: crate::ln::channelmanager::ChannelManager
168- fn persist_manager ( & self , channel_manager : & CM ) -> Result < ( ) , io:: Error > ;
174+ fn persist_manager ( & self , channel_manager : & crate :: ln :: channelmanager :: ChannelManager < M , T , ES , NS , SP , F , R , L > ) -> Result < ( ) , io:: Error > ;
169175
170176 /// Persist the given [`NetworkGraph`] to disk, returning an error if persistence failed.
171177 fn persist_graph ( & self , network_graph : & NetworkGraph < L > ) -> Result < ( ) , io:: Error > ;
@@ -174,13 +180,17 @@ where
174180 fn persist_scorer ( & self , scorer : & S ) -> Result < ( ) , io:: Error > ;
175181}
176182
177-
178- impl < ' a , A : KVStore + ?Sized , CM : Deref , L : Deref , S : WriteableScore < ' a > > Persister < ' a , CM , L , S > for A
179- where
180- CM :: Target : ' static + AChannelManager ,
181- L :: Target : ' static + Logger ,
183+ impl < ' a , A : KVStore + ?Sized , M : Deref , T : Deref , ES : Deref , NS : Deref , SP : Deref , F : Deref , R : Deref , L : Deref , S : WriteableScore < ' a > > Persister < ' a , M , T , ES , NS , SP , F , R , L , S > for A
184+ where M :: Target : ' static + chain:: Watch < <SP :: Target as SignerProvider >:: EcdsaSigner > ,
185+ T :: Target : ' static + BroadcasterInterface ,
186+ ES :: Target : ' static + EntropySource ,
187+ NS :: Target : ' static + crate :: sign:: NodeSigner ,
188+ SP :: Target : ' static + SignerProvider ,
189+ F :: Target : ' static + FeeEstimator ,
190+ R :: Target : ' static + crate :: routing:: router:: Router ,
191+ L :: Target : ' static + Logger ,
182192{
183- fn persist_manager ( & self , channel_manager : & CM ) -> Result < ( ) , io:: Error > {
193+ fn persist_manager ( & self , channel_manager : & crate :: ln :: channelmanager :: ChannelManager < M , T , ES , NS , SP , F , R , L > ) -> Result < ( ) , io:: Error > {
184194 self . write ( CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE ,
185195 CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE ,
186196 CHANNEL_MANAGER_PERSISTENCE_KEY ,
0 commit comments