Skip to content

Commit 40869d6

Browse files
committed
f Account for PeerStorage changes
1 parent 6a12063 commit 40869d6

File tree

3 files changed

+23
-11
lines changed

3 files changed

+23
-11
lines changed

src/builder.rs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ use lightning::routing::router::DefaultRouter;
4646
use lightning::routing::scoring::{
4747
ProbabilisticScorer, ProbabilisticScoringDecayParameters, ProbabilisticScoringFeeParameters,
4848
};
49-
use lightning::sign::EntropySource;
49+
use lightning::sign::{EntropySource, NodeSigner};
5050

5151
use lightning::util::persist::{
5252
read_channel_monitors, CHANNEL_MANAGER_PERSISTENCE_KEY,
@@ -1103,15 +1103,6 @@ fn build_with_store_internal(
11031103

11041104
let runtime = Arc::new(RwLock::new(None));
11051105

1106-
// Initialize the ChainMonitor
1107-
let chain_monitor: Arc<ChainMonitor> = Arc::new(chainmonitor::ChainMonitor::new(
1108-
Some(Arc::clone(&chain_source)),
1109-
Arc::clone(&tx_broadcaster),
1110-
Arc::clone(&logger),
1111-
Arc::clone(&fee_estimator),
1112-
Arc::clone(&kv_store),
1113-
));
1114-
11151106
// Initialize the KeysManager
11161107
let cur_time = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).map_err(|e| {
11171108
log_error!(logger, "Failed to get current time: {}", e);
@@ -1127,6 +1118,19 @@ fn build_with_store_internal(
11271118
Arc::clone(&logger),
11281119
));
11291120

1121+
let peer_storage_key = keys_manager.get_peer_storage_key();
1122+
1123+
// Initialize the ChainMonitor
1124+
let chain_monitor: Arc<ChainMonitor> = Arc::new(chainmonitor::ChainMonitor::new(
1125+
Some(Arc::clone(&chain_source)),
1126+
Arc::clone(&tx_broadcaster),
1127+
Arc::clone(&logger),
1128+
Arc::clone(&fee_estimator),
1129+
Arc::clone(&kv_store),
1130+
Arc::clone(&keys_manager),
1131+
peer_storage_key,
1132+
));
1133+
11301134
// Initialize the network graph, scorer, and router
11311135
let network_graph =
11321136
match io::utils::read_network_graph(Arc::clone(&kv_store), Arc::clone(&logger)) {
@@ -1377,13 +1381,15 @@ fn build_with_store_internal(
13771381
as Arc<dyn RoutingMessageHandler + Sync + Send>,
13781382
onion_message_handler: Arc::clone(&onion_messenger),
13791383
custom_message_handler,
1384+
send_only_message_handler: Arc::clone(&channel_manager),
13801385
},
13811386
GossipSync::Rapid(_) => MessageHandler {
13821387
chan_handler: Arc::clone(&channel_manager),
13831388
route_handler: Arc::new(IgnoringMessageHandler {})
13841389
as Arc<dyn RoutingMessageHandler + Sync + Send>,
13851390
onion_message_handler: Arc::clone(&onion_messenger),
13861391
custom_message_handler,
1392+
send_only_message_handler: Arc::clone(&channel_manager),
13871393
},
13881394
GossipSync::None => {
13891395
unreachable!("We must always have a gossip sync!");

src/types.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ pub(crate) type ChainMonitor = chainmonitor::ChainMonitor<
4747
Arc<OnchainFeeEstimator>,
4848
Arc<Logger>,
4949
Arc<DynStore>,
50+
Arc<KeysManager>,
5051
>;
5152

5253
pub(crate) type PeerManager = lightning::ln::peer_handler::PeerManager<
@@ -57,6 +58,7 @@ pub(crate) type PeerManager = lightning::ln::peer_handler::PeerManager<
5758
Arc<Logger>,
5859
Arc<NodeCustomMessageHandler<Arc<Logger>>>,
5960
Arc<KeysManager>,
61+
Arc<ChannelManager>,
6062
>;
6163

6264
pub(crate) type LiquidityManager =

src/wallet/mod.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ use lightning::ln::msgs::UnsignedGossipMessage;
2727
use lightning::ln::script::ShutdownScript;
2828
use lightning::sign::{
2929
ChangeDestinationSource, EntropySource, InMemorySigner, KeysManager, NodeSigner, OutputSpender,
30-
Recipient, SignerProvider, SpendableOutputDescriptor,
30+
PeerStorageKey, Recipient, SignerProvider, SpendableOutputDescriptor,
3131
};
3232

3333
use lightning::util::message_signing;
@@ -806,6 +806,10 @@ impl NodeSigner for WalletKeysManager {
806806
self.inner.get_inbound_payment_key()
807807
}
808808

809+
fn get_peer_storage_key(&self) -> PeerStorageKey {
810+
self.inner.get_peer_storage_key()
811+
}
812+
809813
fn sign_invoice(
810814
&self, invoice: &RawBolt11Invoice, recipient: Recipient,
811815
) -> Result<RecoverableSignature, ()> {

0 commit comments

Comments
 (0)