Skip to content

Commit 925f830

Browse files
committed
f Account for PeerStorage changes
1 parent ccf9d8d commit 925f830

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,
@@ -1241,15 +1241,6 @@ fn build_with_store_internal(
12411241

12421242
let runtime = Arc::new(RwLock::new(None));
12431243

1244-
// Initialize the ChainMonitor
1245-
let chain_monitor: Arc<ChainMonitor> = Arc::new(chainmonitor::ChainMonitor::new(
1246-
Some(Arc::clone(&chain_source)),
1247-
Arc::clone(&tx_broadcaster),
1248-
Arc::clone(&logger),
1249-
Arc::clone(&fee_estimator),
1250-
Arc::clone(&kv_store),
1251-
));
1252-
12531244
// Initialize the KeysManager
12541245
let cur_time = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).map_err(|e| {
12551246
log_error!(logger, "Failed to get current time: {}", e);
@@ -1265,6 +1256,19 @@ fn build_with_store_internal(
12651256
Arc::clone(&logger),
12661257
));
12671258

1259+
let peer_storage_key = keys_manager.get_peer_storage_key();
1260+
1261+
// Initialize the ChainMonitor
1262+
let chain_monitor: Arc<ChainMonitor> = Arc::new(chainmonitor::ChainMonitor::new(
1263+
Some(Arc::clone(&chain_source)),
1264+
Arc::clone(&tx_broadcaster),
1265+
Arc::clone(&logger),
1266+
Arc::clone(&fee_estimator),
1267+
Arc::clone(&kv_store),
1268+
Arc::clone(&keys_manager),
1269+
peer_storage_key,
1270+
));
1271+
12681272
// Initialize the network graph, scorer, and router
12691273
let network_graph =
12701274
match io::utils::read_network_graph(Arc::clone(&kv_store), Arc::clone(&logger)) {
@@ -1515,13 +1519,15 @@ fn build_with_store_internal(
15151519
as Arc<dyn RoutingMessageHandler + Sync + Send>,
15161520
onion_message_handler: Arc::clone(&onion_messenger),
15171521
custom_message_handler,
1522+
send_only_message_handler: Arc::clone(&chain_monitor),
15181523
},
15191524
GossipSync::Rapid(_) => MessageHandler {
15201525
chan_handler: Arc::clone(&channel_manager),
15211526
route_handler: Arc::new(IgnoringMessageHandler {})
15221527
as Arc<dyn RoutingMessageHandler + Sync + Send>,
15231528
onion_message_handler: Arc::clone(&onion_messenger),
15241529
custom_message_handler,
1530+
send_only_message_handler: Arc::clone(&chain_monitor),
15251531
},
15261532
GossipSync::None => {
15271533
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)