Skip to content

Commit ac6e0b3

Browse files
authored
Merge pull request #1930 from arik-so/2022-12-remove-keysinterface
Remove KeysInterface
2 parents e8b91a4 + 49c1f30 commit ac6e0b3

34 files changed

+587
-499
lines changed

fuzz/src/chanmon_consistency.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ use lightning::chain::{BestBlock, ChannelMonitorUpdateStatus, chainmonitor, chan
3636
use lightning::chain::channelmonitor::{ChannelMonitor, MonitorEvent};
3737
use lightning::chain::transaction::OutPoint;
3838
use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
39-
use lightning::chain::keysinterface::{KeyMaterial, KeysInterface, InMemorySigner, Recipient, EntropySource, NodeSigner, SignerProvider};
39+
use lightning::chain::keysinterface::{KeyMaterial, InMemorySigner, Recipient, EntropySource, NodeSigner, SignerProvider};
4040
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
4141
use lightning::ln::channelmanager::{self, ChainParameters, ChannelDetails, ChannelManager, PaymentSendFailure, ChannelManagerReadArgs, PaymentId};
4242
use lightning::ln::channel::FEE_SPIKE_BUFFER_FEE_INCREASE_MULTIPLE;
@@ -159,7 +159,7 @@ impl chain::Watch<EnforcingSigner> for TestChainMonitor {
159159
hash_map::Entry::Vacant(_) => panic!("Didn't have monitor on update call"),
160160
};
161161
let deserialized_monitor = <(BlockHash, channelmonitor::ChannelMonitor<EnforcingSigner>)>::
162-
read(&mut Cursor::new(&map_entry.get().1), &*self.keys).unwrap().1;
162+
read(&mut Cursor::new(&map_entry.get().1), (&*self.keys, &*self.keys)).unwrap().1;
163163
deserialized_monitor.update_monitor(&update, &&TestBroadcaster{}, &FuzzEstimator { ret_val: atomic::AtomicU32::new(253) }, &self.logger).unwrap();
164164
let mut ser = VecWriter(Vec::new());
165165
deserialized_monitor.write(&mut ser).unwrap();
@@ -270,8 +270,6 @@ impl SignerProvider for KeyProvider {
270270
}
271271
}
272272

273-
impl KeysInterface for KeyProvider {}
274-
275273
impl KeyProvider {
276274
fn make_enforcement_state_cell(&self, commitment_seed: [u8; 32]) -> Arc<Mutex<EnforcementState>> {
277275
let mut revoked_commitments = self.enforcement_states.lock().unwrap();
@@ -328,7 +326,7 @@ fn check_payment_err(send_err: PaymentSendFailure) {
328326
}
329327
}
330328

331-
type ChanMan<'a> = ChannelManager<Arc<TestChainMonitor>, Arc<TestBroadcaster>, Arc<KeyProvider>, Arc<FuzzEstimator>, &'a FuzzRouter, Arc<dyn Logger>>;
329+
type ChanMan<'a> = ChannelManager<Arc<TestChainMonitor>, Arc<TestBroadcaster>, Arc<KeyProvider>, Arc<KeyProvider>, Arc<KeyProvider>, Arc<FuzzEstimator>, &'a FuzzRouter, Arc<dyn Logger>>;
332330

333331
#[inline]
334332
fn get_payment_secret_hash(dest: &ChanMan, payment_id: &mut u8) -> Option<(PaymentSecret, PaymentHash)> {
@@ -418,7 +416,7 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out) {
418416
network,
419417
best_block: BestBlock::from_genesis(network),
420418
};
421-
(ChannelManager::new($fee_estimator.clone(), monitor.clone(), broadcast.clone(), &router, Arc::clone(&logger), keys_manager.clone(), config, params),
419+
(ChannelManager::new($fee_estimator.clone(), monitor.clone(), broadcast.clone(), &router, Arc::clone(&logger), keys_manager.clone(), keys_manager.clone(), keys_manager.clone(), config, params),
422420
monitor, keys_manager)
423421
} }
424422
}
@@ -439,7 +437,7 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out) {
439437
let mut monitors = HashMap::new();
440438
let mut old_monitors = $old_monitors.latest_monitors.lock().unwrap();
441439
for (outpoint, (update_id, monitor_ser)) in old_monitors.drain() {
442-
monitors.insert(outpoint, <(BlockHash, ChannelMonitor<EnforcingSigner>)>::read(&mut Cursor::new(&monitor_ser), &*$keys_manager).expect("Failed to read monitor").1);
440+
monitors.insert(outpoint, <(BlockHash, ChannelMonitor<EnforcingSigner>)>::read(&mut Cursor::new(&monitor_ser), (&*$keys_manager, &*$keys_manager)).expect("Failed to read monitor").1);
443441
chain_monitor.latest_monitors.lock().unwrap().insert(outpoint, (update_id, monitor_ser));
444442
}
445443
let mut monitor_refs = HashMap::new();
@@ -448,7 +446,9 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out) {
448446
}
449447

450448
let read_args = ChannelManagerReadArgs {
451-
keys_manager,
449+
entropy_source: keys_manager.clone(),
450+
node_signer: keys_manager.clone(),
451+
signer_provider: keys_manager.clone(),
452452
fee_estimator: $fee_estimator.clone(),
453453
chain_monitor: chain_monitor.clone(),
454454
tx_broadcaster: broadcast.clone(),

fuzz/src/chanmon_deser.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ impl Writer for VecWriter {
2222

2323
#[inline]
2424
pub fn do_test<Out: test_logger::Output>(data: &[u8], _out: Out) {
25-
if let Ok((latest_block_hash, monitor)) = <(BlockHash, channelmonitor::ChannelMonitor<EnforcingSigner>)>::read(&mut Cursor::new(data), &OnlyReadsKeysInterface {}) {
25+
if let Ok((latest_block_hash, monitor)) = <(BlockHash, channelmonitor::ChannelMonitor<EnforcingSigner>)>::read(&mut Cursor::new(data), (&OnlyReadsKeysInterface {}, &OnlyReadsKeysInterface {})) {
2626
let mut w = VecWriter(Vec::new());
2727
monitor.write(&mut w).unwrap();
28-
let deserialized_copy = <(BlockHash, channelmonitor::ChannelMonitor<EnforcingSigner>)>::read(&mut Cursor::new(&w.0), &OnlyReadsKeysInterface {}).unwrap();
28+
let deserialized_copy = <(BlockHash, channelmonitor::ChannelMonitor<EnforcingSigner>)>::read(&mut Cursor::new(&w.0), (&OnlyReadsKeysInterface {}, &OnlyReadsKeysInterface {})).unwrap();
2929
assert!(latest_block_hash == deserialized_copy.0);
3030
assert!(monitor == deserialized_copy.1);
3131
}

fuzz/src/full_stack.rs

+4-6
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use lightning::chain::{BestBlock, ChannelMonitorUpdateStatus, Confirm, Listen};
3333
use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
3434
use lightning::chain::chainmonitor;
3535
use lightning::chain::transaction::OutPoint;
36-
use lightning::chain::keysinterface::{InMemorySigner, Recipient, KeyMaterial, KeysInterface, EntropySource, NodeSigner, SignerProvider};
36+
use lightning::chain::keysinterface::{InMemorySigner, Recipient, KeyMaterial, EntropySource, NodeSigner, SignerProvider};
3737
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
3838
use lightning::ln::channelmanager::{ChainParameters, ChannelDetails, ChannelManager, PaymentId};
3939
use lightning::ln::peer_handler::{MessageHandler,PeerManager,SocketDescriptor,IgnoringMessageHandler};
@@ -182,7 +182,7 @@ impl<'a> std::hash::Hash for Peer<'a> {
182182

183183
type ChannelMan<'a> = ChannelManager<
184184
Arc<chainmonitor::ChainMonitor<EnforcingSigner, Arc<dyn chain::Filter>, Arc<TestBroadcaster>, Arc<FuzzEstimator>, Arc<dyn Logger>, Arc<TestPersister>>>,
185-
Arc<TestBroadcaster>, Arc<KeyProvider>, Arc<FuzzEstimator>, &'a FuzzRouter, Arc<dyn Logger>>;
185+
Arc<TestBroadcaster>, Arc<KeyProvider>, Arc<KeyProvider>, Arc<KeyProvider>, Arc<FuzzEstimator>, &'a FuzzRouter, Arc<dyn Logger>>;
186186
type PeerMan<'a> = PeerManager<Peer<'a>, Arc<ChannelMan<'a>>, Arc<P2PGossipSync<Arc<NetworkGraph<Arc<dyn Logger>>>, Arc<dyn chain::Access>, Arc<dyn Logger>>>, IgnoringMessageHandler, Arc<dyn Logger>, IgnoringMessageHandler>;
187187

188188
struct MoneyLossDetector<'a> {
@@ -387,8 +387,6 @@ impl SignerProvider for KeyProvider {
387387
}
388388
}
389389

390-
impl KeysInterface for KeyProvider {}
391-
392390
#[inline]
393391
pub fn do_test(data: &[u8], logger: &Arc<dyn Logger>) {
394392
let input = Arc::new(InputData {
@@ -443,8 +441,8 @@ pub fn do_test(data: &[u8], logger: &Arc<dyn Logger>) {
443441
network,
444442
best_block: BestBlock::from_genesis(network),
445443
};
446-
let channelmanager = Arc::new(ChannelManager::new(fee_est.clone(), monitor.clone(), broadcast.clone(), &router, Arc::clone(&logger), keys_manager.clone(), config, params));
447-
// Adding new calls to `KeysInterface::get_secure_random_bytes` during startup can change all the
444+
let channelmanager = Arc::new(ChannelManager::new(fee_est.clone(), monitor.clone(), broadcast.clone(), &router, Arc::clone(&logger), keys_manager.clone(), keys_manager.clone(), keys_manager.clone(), config, params));
445+
// Adding new calls to `EntropySource::get_secure_random_bytes` during startup can change all the
448446
// keys subsequently generated in this test. Rather than regenerating all the messages manually,
449447
// it's easier to just increment the counter here so the keys don't change.
450448
keys_manager.counter.fetch_sub(3, Ordering::AcqRel);

fuzz/src/onion_message.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use bitcoin::secp256k1::{PublicKey, Scalar, Secp256k1, SecretKey};
55
use bitcoin::secp256k1::ecdh::SharedSecret;
66
use bitcoin::secp256k1::ecdsa::RecoverableSignature;
77

8-
use lightning::chain::keysinterface::{Recipient, KeyMaterial, KeysInterface, EntropySource, NodeSigner, SignerProvider};
8+
use lightning::chain::keysinterface::{Recipient, KeyMaterial, EntropySource, NodeSigner, SignerProvider};
99
use lightning::ln::msgs::{self, DecodeError, OnionMessageHandler};
1010
use lightning::ln::script::ShutdownScript;
1111
use lightning::util::enforcing_trait_impls::EnforcingSigner;
@@ -30,7 +30,7 @@ pub fn do_test<L: Logger>(data: &[u8], logger: &L) {
3030
counter: AtomicU64::new(0),
3131
};
3232
let custom_msg_handler = TestCustomMessageHandler {};
33-
let onion_messenger = OnionMessenger::new(&keys_manager, logger, &custom_msg_handler);
33+
let onion_messenger = OnionMessenger::new(&keys_manager, &keys_manager, logger, &custom_msg_handler);
3434
let mut pk = [2; 33]; pk[1] = 0xff;
3535
let peer_node_id_not_used = PublicKey::from_slice(&pk).unwrap();
3636
onion_messenger.handle_onion_message(&peer_node_id_not_used, &msg);
@@ -140,8 +140,6 @@ impl SignerProvider for KeyProvider {
140140
fn get_shutdown_scriptpubkey(&self) -> ShutdownScript { unreachable!() }
141141
}
142142

143-
impl KeysInterface for KeyProvider {}
144-
145143
#[cfg(test)]
146144
mod tests {
147145
use lightning::util::logger::{Logger, Record};

lightning-background-processor/src/lib.rs

+25-17
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ extern crate lightning_rapid_gossip_sync;
1717
use lightning::chain;
1818
use lightning::chain::chaininterface::{BroadcasterInterface, FeeEstimator};
1919
use lightning::chain::chainmonitor::{ChainMonitor, Persist};
20-
use lightning::chain::keysinterface::{KeysInterface, SignerProvider};
20+
use lightning::chain::keysinterface::{EntropySource, NodeSigner, SignerProvider};
2121
use lightning::ln::channelmanager::ChannelManager;
2222
use lightning::ln::msgs::{ChannelMessageHandler, OnionMessageHandler, RoutingMessageHandler};
2323
use lightning::ln::peer_handler::{CustomMessageHandler, PeerManager, SocketDescriptor};
@@ -341,7 +341,9 @@ pub async fn process_events_async<
341341
CF: 'static + Deref + Send + Sync,
342342
CW: 'static + Deref + Send + Sync,
343343
T: 'static + Deref + Send + Sync,
344-
K: 'static + Deref + Send + Sync,
344+
ES: 'static + Deref + Send + Sync,
345+
NS: 'static + Deref + Send + Sync,
346+
SP: 'static + Deref + Send + Sync,
345347
F: 'static + Deref + Send + Sync,
346348
R: 'static + Deref + Send + Sync,
347349
G: 'static + Deref<Target = NetworkGraph<L>> + Send + Sync,
@@ -354,8 +356,8 @@ pub async fn process_events_async<
354356
EventHandlerFuture: core::future::Future<Output = ()>,
355357
EventHandler: Fn(Event) -> EventHandlerFuture,
356358
PS: 'static + Deref + Send,
357-
M: 'static + Deref<Target = ChainMonitor<<K::Target as SignerProvider>::Signer, CF, T, F, L, P>> + Send + Sync,
358-
CM: 'static + Deref<Target = ChannelManager<CW, T, K, F, R, L>> + Send + Sync,
359+
M: 'static + Deref<Target = ChainMonitor<<SP::Target as SignerProvider>::Signer, CF, T, F, L, P>> + Send + Sync,
360+
CM: 'static + Deref<Target = ChannelManager<CW, T, ES, NS, SP, F, R, L>> + Send + Sync,
359361
PGS: 'static + Deref<Target = P2PGossipSync<G, CA, L>> + Send + Sync,
360362
RGS: 'static + Deref<Target = RapidGossipSync<G, L>> + Send,
361363
UMH: 'static + Deref + Send + Sync,
@@ -372,18 +374,20 @@ pub async fn process_events_async<
372374
where
373375
CA::Target: 'static + chain::Access,
374376
CF::Target: 'static + chain::Filter,
375-
CW::Target: 'static + chain::Watch<<K::Target as SignerProvider>::Signer>,
377+
CW::Target: 'static + chain::Watch<<SP::Target as SignerProvider>::Signer>,
376378
T::Target: 'static + BroadcasterInterface,
377-
K::Target: 'static + KeysInterface,
379+
ES::Target: 'static + EntropySource,
380+
NS::Target: 'static + NodeSigner,
381+
SP::Target: 'static + SignerProvider,
378382
F::Target: 'static + FeeEstimator,
379383
R::Target: 'static + Router,
380384
L::Target: 'static + Logger,
381-
P::Target: 'static + Persist<<K::Target as SignerProvider>::Signer>,
385+
P::Target: 'static + Persist<<SP::Target as SignerProvider>::Signer>,
382386
CMH::Target: 'static + ChannelMessageHandler,
383387
OMH::Target: 'static + OnionMessageHandler,
384388
RMH::Target: 'static + RoutingMessageHandler,
385389
UMH::Target: 'static + CustomMessageHandler,
386-
PS::Target: 'static + Persister<'a, CW, T, K, F, R, L, SC>,
390+
PS::Target: 'static + Persister<'a, CW, T, ES, NS, SP, F, R, L, SC>,
387391
{
388392
let mut should_break = true;
389393
let async_event_handler = |event| {
@@ -461,7 +465,9 @@ impl BackgroundProcessor {
461465
CF: 'static + Deref + Send + Sync,
462466
CW: 'static + Deref + Send + Sync,
463467
T: 'static + Deref + Send + Sync,
464-
K: 'static + Deref + Send + Sync,
468+
ES: 'static + Deref + Send + Sync,
469+
NS: 'static + Deref + Send + Sync,
470+
SP: 'static + Deref + Send + Sync,
465471
F: 'static + Deref + Send + Sync,
466472
R: 'static + Deref + Send + Sync,
467473
G: 'static + Deref<Target = NetworkGraph<L>> + Send + Sync,
@@ -473,8 +479,8 @@ impl BackgroundProcessor {
473479
RMH: 'static + Deref + Send + Sync,
474480
EH: 'static + EventHandler + Send,
475481
PS: 'static + Deref + Send,
476-
M: 'static + Deref<Target = ChainMonitor<<K::Target as SignerProvider>::Signer, CF, T, F, L, P>> + Send + Sync,
477-
CM: 'static + Deref<Target = ChannelManager<CW, T, K, F, R, L>> + Send + Sync,
482+
M: 'static + Deref<Target = ChainMonitor<<SP::Target as SignerProvider>::Signer, CF, T, F, L, P>> + Send + Sync,
483+
CM: 'static + Deref<Target = ChannelManager<CW, T, ES, NS, SP, F, R, L>> + Send + Sync,
478484
PGS: 'static + Deref<Target = P2PGossipSync<G, CA, L>> + Send + Sync,
479485
RGS: 'static + Deref<Target = RapidGossipSync<G, L>> + Send,
480486
UMH: 'static + Deref + Send + Sync,
@@ -488,18 +494,20 @@ impl BackgroundProcessor {
488494
where
489495
CA::Target: 'static + chain::Access,
490496
CF::Target: 'static + chain::Filter,
491-
CW::Target: 'static + chain::Watch<<K::Target as SignerProvider>::Signer>,
497+
CW::Target: 'static + chain::Watch<<SP::Target as SignerProvider>::Signer>,
492498
T::Target: 'static + BroadcasterInterface,
493-
K::Target: 'static + KeysInterface,
499+
ES::Target: 'static + EntropySource,
500+
NS::Target: 'static + NodeSigner,
501+
SP::Target: 'static + SignerProvider,
494502
F::Target: 'static + FeeEstimator,
495503
R::Target: 'static + Router,
496504
L::Target: 'static + Logger,
497-
P::Target: 'static + Persist<<K::Target as SignerProvider>::Signer>,
505+
P::Target: 'static + Persist<<SP::Target as SignerProvider>::Signer>,
498506
CMH::Target: 'static + ChannelMessageHandler,
499507
OMH::Target: 'static + OnionMessageHandler,
500508
RMH::Target: 'static + RoutingMessageHandler,
501509
UMH::Target: 'static + CustomMessageHandler,
502-
PS::Target: 'static + Persister<'a, CW, T, K, F, R, L, SC>,
510+
PS::Target: 'static + Persister<'a, CW, T, ES, NS, SP, F, R, L, SC>,
503511
{
504512
let stop_thread = Arc::new(AtomicBool::new(false));
505513
let stop_thread_clone = stop_thread.clone();
@@ -575,7 +583,7 @@ mod tests {
575583
use bitcoin::network::constants::Network;
576584
use lightning::chain::{BestBlock, Confirm, chainmonitor};
577585
use lightning::chain::channelmonitor::ANTI_REORG_DELAY;
578-
use lightning::chain::keysinterface::{InMemorySigner, Recipient, EntropySource, KeysInterface, KeysManager, NodeSigner};
586+
use lightning::chain::keysinterface::{InMemorySigner, Recipient, EntropySource, KeysManager, NodeSigner};
579587
use lightning::chain::transaction::OutPoint;
580588
use lightning::get_event_msg;
581589
use lightning::ln::channelmanager::{self, BREAKDOWN_TIMEOUT, ChainParameters, ChannelManager, SimpleArcChannelManager};
@@ -742,7 +750,7 @@ mod tests {
742750
let chain_monitor = Arc::new(chainmonitor::ChainMonitor::new(Some(chain_source.clone()), tx_broadcaster.clone(), logger.clone(), fee_estimator.clone(), persister.clone()));
743751
let best_block = BestBlock::from_genesis(network);
744752
let params = ChainParameters { network, best_block };
745-
let manager = Arc::new(ChannelManager::new(fee_estimator.clone(), chain_monitor.clone(), tx_broadcaster.clone(), router.clone(), logger.clone(), keys_manager.clone(), UserConfig::default(), params));
753+
let manager = Arc::new(ChannelManager::new(fee_estimator.clone(), chain_monitor.clone(), tx_broadcaster.clone(), router.clone(), logger.clone(), keys_manager.clone(), keys_manager.clone(), keys_manager.clone(), UserConfig::default(), params));
746754
let p2p_gossip_sync = Arc::new(P2PGossipSync::new(network_graph.clone(), Some(chain_source.clone()), logger.clone()));
747755
let rapid_gossip_sync = Arc::new(RapidGossipSync::new(network_graph.clone()));
748756
let msg_handler = MessageHandler { chan_handler: Arc::new(test_utils::TestChannelMessageHandler::new()), route_handler: Arc::new(test_utils::TestRoutingMessageHandler::new()), onion_message_handler: IgnoringMessageHandler{}};

lightning-block-sync/src/init.rs

+15-9
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ BlockSourceResult<ValidatedBlockHeader> where B::Target: BlockSource {
4848
/// use lightning::chain::chaininterface::BroadcasterInterface;
4949
/// use lightning::chain::chaininterface::FeeEstimator;
5050
/// use lightning::chain::keysinterface;
51-
/// use lightning::chain::keysinterface::KeysInterface;
51+
/// use lightning::chain::keysinterface::{EntropySource, NodeSigner, SignerProvider};
5252
/// use lightning::ln::channelmanager::{ChannelManager, ChannelManagerReadArgs};
5353
/// use lightning::routing::router::Router;
5454
/// use lightning::util::config::UserConfig;
@@ -61,18 +61,22 @@ BlockSourceResult<ValidatedBlockHeader> where B::Target: BlockSource {
6161
///
6262
/// async fn init_sync<
6363
/// B: BlockSource,
64-
/// K: KeysInterface,
64+
/// ES: EntropySource,
65+
/// NS: NodeSigner,
66+
/// SP: SignerProvider,
6567
/// T: BroadcasterInterface,
6668
/// F: FeeEstimator,
6769
/// R: Router,
6870
/// L: Logger,
6971
/// C: chain::Filter,
70-
/// P: chainmonitor::Persist<K::Signer>,
72+
/// P: chainmonitor::Persist<SP::Signer>,
7173
/// >(
7274
/// block_source: &B,
73-
/// chain_monitor: &ChainMonitor<K::Signer, &C, &T, &F, &L, &P>,
75+
/// chain_monitor: &ChainMonitor<SP::Signer, &C, &T, &F, &L, &P>,
7476
/// config: UserConfig,
75-
/// keys_manager: &K,
77+
/// entropy_source: &ES,
78+
/// node_signer: &NS,
79+
/// signer_provider: &SP,
7680
/// tx_broadcaster: &T,
7781
/// fee_estimator: &F,
7882
/// router: &R,
@@ -81,14 +85,16 @@ BlockSourceResult<ValidatedBlockHeader> where B::Target: BlockSource {
8185
/// ) {
8286
/// // Read a serialized channel monitor paired with the block hash when it was persisted.
8387
/// let serialized_monitor = "...";
84-
/// let (monitor_block_hash, mut monitor) = <(BlockHash, ChannelMonitor<K::Signer>)>::read(
85-
/// &mut Cursor::new(&serialized_monitor), keys_manager).unwrap();
88+
/// let (monitor_block_hash, mut monitor) = <(BlockHash, ChannelMonitor<SP::Signer>)>::read(
89+
/// &mut Cursor::new(&serialized_monitor), (entropy_source, signer_provider)).unwrap();
8690
///
8791
/// // Read the channel manager paired with the block hash when it was persisted.
8892
/// let serialized_manager = "...";
8993
/// let (manager_block_hash, mut manager) = {
9094
/// let read_args = ChannelManagerReadArgs::new(
91-
/// keys_manager,
95+
/// entropy_source,
96+
/// node_signer,
97+
/// signer_provider,
9298
/// fee_estimator,
9399
/// chain_monitor,
94100
/// tx_broadcaster,
@@ -97,7 +103,7 @@ BlockSourceResult<ValidatedBlockHeader> where B::Target: BlockSource {
97103
/// config,
98104
/// vec![&mut monitor],
99105
/// );
100-
/// <(BlockHash, ChannelManager<&ChainMonitor<K::Signer, &C, &T, &F, &L, &P>, &T, &K, &F, &R, &L>)>::read(
106+
/// <(BlockHash, ChannelManager<&ChainMonitor<SP::Signer, &C, &T, &F, &L, &P>, &T, &ES, &NS, &SP, &F, &R, &L>)>::read(
101107
/// &mut Cursor::new(&serialized_manager), read_args).unwrap()
102108
/// };
103109
///

0 commit comments

Comments
 (0)