Skip to content

Commit 198f319

Browse files
committed
f Account for PeerStorage changes
1 parent b42393b commit 198f319

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
@@ -47,7 +47,7 @@ use lightning::routing::router::DefaultRouter;
4747
use lightning::routing::scoring::{
4848
ProbabilisticScorer, ProbabilisticScoringDecayParameters, ProbabilisticScoringFeeParameters,
4949
};
50-
use lightning::sign::EntropySource;
50+
use lightning::sign::{EntropySource, NodeSigner};
5151

5252
use lightning::util::persist::{
5353
read_channel_monitors, CHANNEL_MANAGER_PERSISTENCE_KEY,
@@ -1201,15 +1201,6 @@ fn build_with_store_internal(
12011201

12021202
let runtime = Arc::new(RwLock::new(None));
12031203

1204-
// Initialize the ChainMonitor
1205-
let chain_monitor: Arc<ChainMonitor> = Arc::new(chainmonitor::ChainMonitor::new(
1206-
Some(Arc::clone(&chain_source)),
1207-
Arc::clone(&tx_broadcaster),
1208-
Arc::clone(&logger),
1209-
Arc::clone(&fee_estimator),
1210-
Arc::clone(&kv_store),
1211-
));
1212-
12131204
// Initialize the KeysManager
12141205
let cur_time = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).map_err(|e| {
12151206
log_error!(logger, "Failed to get current time: {}", e);
@@ -1225,6 +1216,19 @@ fn build_with_store_internal(
12251216
Arc::clone(&logger),
12261217
));
12271218

1219+
let peer_storage_key = keys_manager.get_peer_storage_key();
1220+
1221+
// Initialize the ChainMonitor
1222+
let chain_monitor: Arc<ChainMonitor> = Arc::new(chainmonitor::ChainMonitor::new(
1223+
Some(Arc::clone(&chain_source)),
1224+
Arc::clone(&tx_broadcaster),
1225+
Arc::clone(&logger),
1226+
Arc::clone(&fee_estimator),
1227+
Arc::clone(&kv_store),
1228+
Arc::clone(&keys_manager),
1229+
peer_storage_key,
1230+
));
1231+
12281232
// Initialize the network graph, scorer, and router
12291233
let network_graph =
12301234
match io::utils::read_network_graph(Arc::clone(&kv_store), Arc::clone(&logger)) {
@@ -1475,13 +1479,15 @@ fn build_with_store_internal(
14751479
as Arc<dyn RoutingMessageHandler + Sync + Send>,
14761480
onion_message_handler: Arc::clone(&onion_messenger),
14771481
custom_message_handler,
1482+
send_only_message_handler: Arc::clone(&chain_monitor),
14781483
},
14791484
GossipSync::Rapid(_) => MessageHandler {
14801485
chan_handler: Arc::clone(&channel_manager),
14811486
route_handler: Arc::new(IgnoringMessageHandler {})
14821487
as Arc<dyn RoutingMessageHandler + Sync + Send>,
14831488
onion_message_handler: Arc::clone(&onion_messenger),
14841489
custom_message_handler,
1490+
send_only_message_handler: Arc::clone(&chain_monitor),
14851491
},
14861492
GossipSync::None => {
14871493
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<ChainMonitor>,
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)