Skip to content

Commit 82e00a8

Browse files
Remove unnecessary router reference
When parameterizing a method by a router that's behind a Deref, there's no need to pass in &Deref (a reference to a reference). This helps us a bit in upcoming commits because we're adding a wrapper to ChannelManager's internal Router, so without this change we'd need to pass in &&self.router to all of these methods.
1 parent a706159 commit 82e00a8

File tree

2 files changed

+32
-32
lines changed

2 files changed

+32
-32
lines changed

lightning/src/ln/channelmanager.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -4636,7 +4636,7 @@ where
46364636
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
46374637
self.pending_outbound_payments
46384638
.send_payment(payment_hash, recipient_onion, payment_id, retry_strategy, route_params,
4639-
&self.router, self.list_usable_channels(), || self.compute_inflight_htlcs(),
4639+
&*self.router, self.list_usable_channels(), || self.compute_inflight_htlcs(),
46404640
&self.entropy_source, &self.node_signer, best_block_height, &self.logger,
46414641
&self.pending_events, |args| self.send_payment_along_path(args))
46424642
}
@@ -4713,7 +4713,7 @@ where
47134713
let features = self.bolt12_invoice_features();
47144714
self.pending_outbound_payments
47154715
.send_payment_for_bolt12_invoice(
4716-
invoice, payment_id, &self.router, self.list_usable_channels(), features,
4716+
invoice, payment_id, &*self.router, self.list_usable_channels(), features,
47174717
|| self.compute_inflight_htlcs(), &self.entropy_source, &self.node_signer, &self,
47184718
&self.secp_ctx, best_block_height, &self.logger, &self.pending_events,
47194719
|args| self.send_payment_along_path(args)
@@ -4788,7 +4788,7 @@ where
47884788
let mut res = Ok(());
47894789
PersistenceNotifierGuard::optionally_notify(self, || {
47904790
let outbound_pmts_res = self.pending_outbound_payments.send_payment_for_static_invoice(
4791-
payment_id, &self.router, self.list_usable_channels(), || self.compute_inflight_htlcs(),
4791+
payment_id, &*self.router, self.list_usable_channels(), || self.compute_inflight_htlcs(),
47924792
&self.entropy_source, &self.node_signer, &self, &self.secp_ctx, best_block_height,
47934793
&self.logger, &self.pending_events, |args| self.send_payment_along_path(args)
47944794
);
@@ -4864,7 +4864,7 @@ where
48644864
let best_block_height = self.best_block.read().unwrap().height;
48654865
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
48664866
self.pending_outbound_payments.send_spontaneous_payment(payment_preimage, recipient_onion,
4867-
payment_id, retry_strategy, route_params, &self.router, self.list_usable_channels(),
4867+
payment_id, retry_strategy, route_params, &*self.router, self.list_usable_channels(),
48684868
|| self.compute_inflight_htlcs(), &self.entropy_source, &self.node_signer, best_block_height,
48694869
&self.logger, &self.pending_events, |args| self.send_payment_along_path(args))
48704870
}
@@ -6243,7 +6243,7 @@ where
62436243
}
62446244

62456245
let best_block_height = self.best_block.read().unwrap().height;
6246-
self.pending_outbound_payments.check_retry_payments(&self.router, || self.list_usable_channels(),
6246+
self.pending_outbound_payments.check_retry_payments(&*self.router, || self.list_usable_channels(),
62476247
|| self.compute_inflight_htlcs(), &self.entropy_source, &self.node_signer, best_block_height,
62486248
&self.pending_events, &self.logger, |args| self.send_payment_along_path(args));
62496249

lightning/src/ln/outbound_payment.rs

+27-27
Original file line numberDiff line numberDiff line change
@@ -780,7 +780,7 @@ impl OutboundPayments {
780780

781781
pub(super) fn send_payment<R: Deref, ES: Deref, NS: Deref, IH, SP, L: Deref>(
782782
&self, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields, payment_id: PaymentId,
783-
retry_strategy: Retry, route_params: RouteParameters, router: &R,
783+
retry_strategy: Retry, route_params: RouteParameters, router: R,
784784
first_hops: Vec<ChannelDetails>, compute_inflight_htlcs: IH, entropy_source: &ES,
785785
node_signer: &NS, best_block_height: u32, logger: &L,
786786
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, send_payment_along_path: SP,
@@ -817,7 +817,7 @@ impl OutboundPayments {
817817

818818
pub(super) fn send_spontaneous_payment<R: Deref, ES: Deref, NS: Deref, IH, SP, L: Deref>(
819819
&self, payment_preimage: Option<PaymentPreimage>, recipient_onion: RecipientOnionFields,
820-
payment_id: PaymentId, retry_strategy: Retry, route_params: RouteParameters, router: &R,
820+
payment_id: PaymentId, retry_strategy: Retry, route_params: RouteParameters, router: R,
821821
first_hops: Vec<ChannelDetails>, inflight_htlcs: IH, entropy_source: &ES,
822822
node_signer: &NS, best_block_height: u32, logger: &L,
823823
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, send_payment_along_path: SP
@@ -842,7 +842,7 @@ impl OutboundPayments {
842842
pub(super) fn send_payment_for_bolt12_invoice<
843843
R: Deref, ES: Deref, NS: Deref, NL: Deref, IH, SP, L: Deref
844844
>(
845-
&self, invoice: &Bolt12Invoice, payment_id: PaymentId, router: &R,
845+
&self, invoice: &Bolt12Invoice, payment_id: PaymentId, router: R,
846846
first_hops: Vec<ChannelDetails>, features: Bolt12InvoiceFeatures, inflight_htlcs: IH,
847847
entropy_source: &ES, node_signer: &NS, node_id_lookup: &NL,
848848
secp_ctx: &Secp256k1<secp256k1::All>, best_block_height: u32, logger: &L,
@@ -904,7 +904,7 @@ impl OutboundPayments {
904904
>(
905905
&self, payment_id: PaymentId, payment_hash: PaymentHash,
906906
keysend_preimage: Option<PaymentPreimage>, invoice_request: Option<&InvoiceRequest>,
907-
mut route_params: RouteParameters, retry_strategy: Retry, router: &R,
907+
mut route_params: RouteParameters, retry_strategy: Retry, router: R,
908908
first_hops: Vec<ChannelDetails>, inflight_htlcs: IH, entropy_source: &ES, node_signer: &NS,
909909
node_id_lookup: &NL, secp_ctx: &Secp256k1<secp256k1::All>, best_block_height: u32, logger: &L,
910910
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>,
@@ -944,8 +944,8 @@ impl OutboundPayments {
944944
};
945945
let route = match self.find_initial_route(
946946
payment_id, payment_hash, &recipient_onion, keysend_preimage, invoice_request,
947-
&mut route_params, router, &first_hops, &inflight_htlcs, node_signer, best_block_height,
948-
logger,
947+
&mut route_params, router.deref(), &first_hops, &inflight_htlcs, node_signer,
948+
best_block_height, logger,
949949
) {
950950
Ok(route) => route,
951951
Err(e) => {
@@ -1092,7 +1092,7 @@ impl OutboundPayments {
10921092
pub(super) fn send_payment_for_static_invoice<
10931093
R: Deref, ES: Deref, NS: Deref, NL: Deref, IH, SP, L: Deref
10941094
>(
1095-
&self, payment_id: PaymentId, router: &R, first_hops: Vec<ChannelDetails>, inflight_htlcs: IH,
1095+
&self, payment_id: PaymentId, router: R, first_hops: Vec<ChannelDetails>, inflight_htlcs: IH,
10961096
entropy_source: &ES, node_signer: &NS, node_id_lookup: &NL,
10971097
secp_ctx: &Secp256k1<secp256k1::All>, best_block_height: u32, logger: &L,
10981098
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>,
@@ -1129,7 +1129,7 @@ impl OutboundPayments {
11291129
}
11301130

11311131
pub(super) fn check_retry_payments<R: Deref, ES: Deref, NS: Deref, SP, IH, FH, L: Deref>(
1132-
&self, router: &R, first_hops: FH, inflight_htlcs: IH, entropy_source: &ES, node_signer: &NS,
1132+
&self, router: R, first_hops: FH, inflight_htlcs: IH, entropy_source: &ES, node_signer: &NS,
11331133
best_block_height: u32,
11341134
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, logger: &L,
11351135
send_payment_along_path: SP,
@@ -1163,7 +1163,7 @@ impl OutboundPayments {
11631163
}
11641164
core::mem::drop(outbounds);
11651165
if let Some((payment_hash, payment_id, route_params)) = retry_id_route_params {
1166-
self.find_route_and_send_payment(payment_hash, payment_id, route_params, router, first_hops(), &inflight_htlcs, entropy_source, node_signer, best_block_height, logger, pending_events, &send_payment_along_path)
1166+
self.find_route_and_send_payment(payment_hash, payment_id, route_params, router.deref(), first_hops(), &inflight_htlcs, entropy_source, node_signer, best_block_height, logger, pending_events, &send_payment_along_path)
11671167
} else { break }
11681168
}
11691169

@@ -1195,7 +1195,7 @@ impl OutboundPayments {
11951195
fn find_initial_route<R: Deref, NS: Deref, IH, L: Deref>(
11961196
&self, payment_id: PaymentId, payment_hash: PaymentHash, recipient_onion: &RecipientOnionFields,
11971197
keysend_preimage: Option<PaymentPreimage>, invoice_request: Option<&InvoiceRequest>,
1198-
route_params: &mut RouteParameters, router: &R, first_hops: &Vec<ChannelDetails>,
1198+
route_params: &mut RouteParameters, router: R, first_hops: &Vec<ChannelDetails>,
11991199
inflight_htlcs: &IH, node_signer: &NS, best_block_height: u32, logger: &L,
12001200
) -> Result<Route, RetryableSendFailure>
12011201
where
@@ -1249,7 +1249,7 @@ impl OutboundPayments {
12491249
fn send_payment_internal<R: Deref, NS: Deref, ES: Deref, IH, SP, L: Deref>(
12501250
&self, payment_id: PaymentId, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields,
12511251
keysend_preimage: Option<PaymentPreimage>, retry_strategy: Retry, mut route_params: RouteParameters,
1252-
router: &R, first_hops: Vec<ChannelDetails>, inflight_htlcs: IH, entropy_source: &ES,
1252+
router: R, first_hops: Vec<ChannelDetails>, inflight_htlcs: IH, entropy_source: &ES,
12531253
node_signer: &NS, best_block_height: u32, logger: &L,
12541254
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, send_payment_along_path: SP,
12551255
) -> Result<(), RetryableSendFailure>
@@ -1262,8 +1262,8 @@ impl OutboundPayments {
12621262
SP: Fn(SendAlongPathArgs) -> Result<(), APIError>,
12631263
{
12641264
let route = self.find_initial_route(
1265-
payment_id, payment_hash, &recipient_onion, keysend_preimage, None, &mut route_params, router,
1266-
&first_hops, &inflight_htlcs, node_signer, best_block_height, logger,
1265+
payment_id, payment_hash, &recipient_onion, keysend_preimage, None, &mut route_params,
1266+
router.deref(), &first_hops, &inflight_htlcs, node_signer, best_block_height, logger,
12671267
)?;
12681268

12691269
let onion_session_privs = self.add_new_pending_payment(payment_hash,
@@ -1292,7 +1292,7 @@ impl OutboundPayments {
12921292

12931293
fn find_route_and_send_payment<R: Deref, NS: Deref, ES: Deref, IH, SP, L: Deref>(
12941294
&self, payment_hash: PaymentHash, payment_id: PaymentId, route_params: RouteParameters,
1295-
router: &R, first_hops: Vec<ChannelDetails>, inflight_htlcs: &IH, entropy_source: &ES,
1295+
router: R, first_hops: Vec<ChannelDetails>, inflight_htlcs: &IH, entropy_source: &ES,
12961296
node_signer: &NS, best_block_height: u32, logger: &L,
12971297
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, send_payment_along_path: &SP,
12981298
)
@@ -1451,7 +1451,7 @@ impl OutboundPayments {
14511451

14521452
fn handle_pay_route_err<R: Deref, NS: Deref, ES: Deref, IH, SP, L: Deref>(
14531453
&self, err: PaymentSendFailure, payment_id: PaymentId, payment_hash: PaymentHash, route: Route,
1454-
mut route_params: RouteParameters, onion_session_privs: Vec<[u8; 32]>, router: &R,
1454+
mut route_params: RouteParameters, onion_session_privs: Vec<[u8; 32]>, router: R,
14551455
first_hops: Vec<ChannelDetails>, inflight_htlcs: &IH, entropy_source: &ES, node_signer: &NS,
14561456
best_block_height: u32, logger: &L,
14571457
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>,
@@ -2507,7 +2507,7 @@ mod tests {
25072507
Some(Retry::Attempts(1)), Some(expired_route_params.payment_params.clone()),
25082508
&&keys_manager, 0).unwrap();
25092509
outbound_payments.find_route_and_send_payment(
2510-
PaymentHash([0; 32]), PaymentId([0; 32]), expired_route_params, &&router, vec![],
2510+
PaymentHash([0; 32]), PaymentId([0; 32]), expired_route_params, &router, vec![],
25112511
&|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
25122512
&|_| Ok(()));
25132513
let events = pending_events.lock().unwrap();
@@ -2518,7 +2518,7 @@ mod tests {
25182518
} else {
25192519
let err = outbound_payments.send_payment(
25202520
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([0; 32]),
2521-
Retry::Attempts(0), expired_route_params, &&router, vec![], || InFlightHtlcs::new(),
2521+
Retry::Attempts(0), expired_route_params, &router, vec![], || InFlightHtlcs::new(),
25222522
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events, |_| Ok(())).unwrap_err();
25232523
if let RetryableSendFailure::PaymentExpired = err { } else { panic!("Unexpected error"); }
25242524
}
@@ -2551,7 +2551,7 @@ mod tests {
25512551
Some(Retry::Attempts(1)), Some(route_params.payment_params.clone()),
25522552
&&keys_manager, 0).unwrap();
25532553
outbound_payments.find_route_and_send_payment(
2554-
PaymentHash([0; 32]), PaymentId([0; 32]), route_params, &&router, vec![],
2554+
PaymentHash([0; 32]), PaymentId([0; 32]), route_params, &router, vec![],
25552555
&|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
25562556
&|_| Ok(()));
25572557
let events = pending_events.lock().unwrap();
@@ -2560,7 +2560,7 @@ mod tests {
25602560
} else {
25612561
let err = outbound_payments.send_payment(
25622562
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([0; 32]),
2563-
Retry::Attempts(0), route_params, &&router, vec![], || InFlightHtlcs::new(),
2563+
Retry::Attempts(0), route_params, &router, vec![], || InFlightHtlcs::new(),
25642564
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events, |_| Ok(())).unwrap_err();
25652565
if let RetryableSendFailure::RouteNotFound = err {
25662566
} else { panic!("Unexpected error"); }
@@ -2608,7 +2608,7 @@ mod tests {
26082608
let pending_events = Mutex::new(VecDeque::new());
26092609
outbound_payments.send_payment(
26102610
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([0; 32]),
2611-
Retry::Attempts(0), route_params.clone(), &&router, vec![], || InFlightHtlcs::new(),
2611+
Retry::Attempts(0), route_params.clone(), &router, vec![], || InFlightHtlcs::new(),
26122612
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
26132613
|_| Err(APIError::ChannelUnavailable { err: "test".to_owned() })).unwrap();
26142614
let mut events = pending_events.lock().unwrap();
@@ -2626,15 +2626,15 @@ mod tests {
26262626
// Ensure that a MonitorUpdateInProgress "error" will not result in a PaymentPathFailed event.
26272627
outbound_payments.send_payment(
26282628
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([0; 32]),
2629-
Retry::Attempts(0), route_params.clone(), &&router, vec![], || InFlightHtlcs::new(),
2629+
Retry::Attempts(0), route_params.clone(), &router, vec![], || InFlightHtlcs::new(),
26302630
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
26312631
|_| Err(APIError::MonitorUpdateInProgress)).unwrap();
26322632
assert_eq!(pending_events.lock().unwrap().len(), 0);
26332633

26342634
// Ensure that any other error will result in a PaymentPathFailed event but no blamed scid.
26352635
outbound_payments.send_payment(
26362636
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([1; 32]),
2637-
Retry::Attempts(0), route_params.clone(), &&router, vec![], || InFlightHtlcs::new(),
2637+
Retry::Attempts(0), route_params.clone(), &router, vec![], || InFlightHtlcs::new(),
26382638
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
26392639
|_| Err(APIError::APIMisuseError { err: "test".to_owned() })).unwrap();
26402640
let events = pending_events.lock().unwrap();
@@ -2820,7 +2820,7 @@ mod tests {
28202820

28212821
assert_eq!(
28222822
outbound_payments.send_payment_for_bolt12_invoice(
2823-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2823+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
28242824
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
28252825
&secp_ctx, 0, &&logger, &pending_events, |_| panic!()
28262826
),
@@ -2882,7 +2882,7 @@ mod tests {
28822882

28832883
assert_eq!(
28842884
outbound_payments.send_payment_for_bolt12_invoice(
2885-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2885+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
28862886
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
28872887
&secp_ctx, 0, &&logger, &pending_events, |_| panic!()
28882888
),
@@ -2957,7 +2957,7 @@ mod tests {
29572957
assert!(!outbound_payments.has_pending_payments());
29582958
assert_eq!(
29592959
outbound_payments.send_payment_for_bolt12_invoice(
2960-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2960+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
29612961
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
29622962
&secp_ctx, 0, &&logger, &pending_events, |_| panic!()
29632963
),
@@ -2975,7 +2975,7 @@ mod tests {
29752975

29762976
assert_eq!(
29772977
outbound_payments.send_payment_for_bolt12_invoice(
2978-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2978+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
29792979
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
29802980
&secp_ctx, 0, &&logger, &pending_events, |_| Ok(())
29812981
),
@@ -2986,7 +2986,7 @@ mod tests {
29862986

29872987
assert_eq!(
29882988
outbound_payments.send_payment_for_bolt12_invoice(
2989-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2989+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
29902990
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
29912991
&secp_ctx, 0, &&logger, &pending_events, |_| panic!()
29922992
),

0 commit comments

Comments
 (0)