Skip to content

Commit 5cce02d

Browse files
committed
f Account for PeerStorage changes
1 parent 23a255c commit 5cce02d

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
@@ -48,7 +48,7 @@ use lightning::routing::router::DefaultRouter;
4848
use lightning::routing::scoring::{
4949
ProbabilisticScorer, ProbabilisticScoringDecayParameters, ProbabilisticScoringFeeParameters,
5050
};
51-
use lightning::sign::EntropySource;
51+
use lightning::sign::{EntropySource, NodeSigner};
5252

5353
use lightning::util::persist::{
5454
read_channel_monitors, CHANNEL_MANAGER_PERSISTENCE_KEY,
@@ -1278,15 +1278,6 @@ fn build_with_store_internal(
12781278
},
12791279
};
12801280

1281-
// Initialize the ChainMonitor
1282-
let chain_monitor: Arc<ChainMonitor> = Arc::new(chainmonitor::ChainMonitor::new(
1283-
Some(Arc::clone(&chain_source)),
1284-
Arc::clone(&tx_broadcaster),
1285-
Arc::clone(&logger),
1286-
Arc::clone(&fee_estimator),
1287-
Arc::clone(&kv_store),
1288-
));
1289-
12901281
// Initialize the KeysManager
12911282
let cur_time = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).map_err(|e| {
12921283
log_error!(logger, "Failed to get current time: {}", e);
@@ -1302,6 +1293,19 @@ fn build_with_store_internal(
13021293
Arc::clone(&logger),
13031294
));
13041295

1296+
let peer_storage_key = keys_manager.get_peer_storage_key();
1297+
1298+
// Initialize the ChainMonitor
1299+
let chain_monitor: Arc<ChainMonitor> = Arc::new(chainmonitor::ChainMonitor::new(
1300+
Some(Arc::clone(&chain_source)),
1301+
Arc::clone(&tx_broadcaster),
1302+
Arc::clone(&logger),
1303+
Arc::clone(&fee_estimator),
1304+
Arc::clone(&kv_store),
1305+
Arc::clone(&keys_manager),
1306+
peer_storage_key,
1307+
));
1308+
13051309
// Initialize the network graph, scorer, and router
13061310
let network_graph =
13071311
match io::utils::read_network_graph(Arc::clone(&kv_store), Arc::clone(&logger)) {
@@ -1552,13 +1556,15 @@ fn build_with_store_internal(
15521556
as Arc<dyn RoutingMessageHandler + Sync + Send>,
15531557
onion_message_handler: Arc::clone(&onion_messenger),
15541558
custom_message_handler,
1559+
send_only_message_handler: Arc::clone(&chain_monitor),
15551560
},
15561561
GossipSync::Rapid(_) => MessageHandler {
15571562
chan_handler: Arc::clone(&channel_manager),
15581563
route_handler: Arc::new(IgnoringMessageHandler {})
15591564
as Arc<dyn RoutingMessageHandler + Sync + Send>,
15601565
onion_message_handler: Arc::clone(&onion_messenger),
15611566
custom_message_handler,
1567+
send_only_message_handler: Arc::clone(&chain_monitor),
15621568
},
15631569
GossipSync::None => {
15641570
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)