Skip to content

Commit 1999952

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 b2bbb9a commit 1999952

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
@@ -4679,7 +4679,7 @@ where
46794679
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
46804680
self.pending_outbound_payments
46814681
.send_payment(payment_hash, recipient_onion, payment_id, retry_strategy, route_params,
4682-
&self.router, self.list_usable_channels(), || self.compute_inflight_htlcs(),
4682+
&*self.router, self.list_usable_channels(), || self.compute_inflight_htlcs(),
46834683
&self.entropy_source, &self.node_signer, best_block_height, &self.logger,
46844684
&self.pending_events, |args| self.send_payment_along_path(args))
46854685
}
@@ -4756,7 +4756,7 @@ where
47564756
let features = self.bolt12_invoice_features();
47574757
self.pending_outbound_payments
47584758
.send_payment_for_bolt12_invoice(
4759-
invoice, payment_id, &self.router, self.list_usable_channels(), features,
4759+
invoice, payment_id, &*self.router, self.list_usable_channels(), features,
47604760
|| self.compute_inflight_htlcs(), &self.entropy_source, &self.node_signer, &self,
47614761
&self.secp_ctx, best_block_height, &self.logger, &self.pending_events,
47624762
|args| self.send_payment_along_path(args)
@@ -4831,7 +4831,7 @@ where
48314831
let mut res = Ok(());
48324832
PersistenceNotifierGuard::optionally_notify(self, || {
48334833
let outbound_pmts_res = self.pending_outbound_payments.send_payment_for_static_invoice(
4834-
payment_id, &self.router, self.list_usable_channels(), || self.compute_inflight_htlcs(),
4834+
payment_id, &*self.router, self.list_usable_channels(), || self.compute_inflight_htlcs(),
48354835
&self.entropy_source, &self.node_signer, &self, &self.secp_ctx, best_block_height,
48364836
&self.logger, &self.pending_events, |args| self.send_payment_along_path(args)
48374837
);
@@ -4907,7 +4907,7 @@ where
49074907
let best_block_height = self.best_block.read().unwrap().height;
49084908
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
49094909
self.pending_outbound_payments.send_spontaneous_payment(payment_preimage, recipient_onion,
4910-
payment_id, retry_strategy, route_params, &self.router, self.list_usable_channels(),
4910+
payment_id, retry_strategy, route_params, &*self.router, self.list_usable_channels(),
49114911
|| self.compute_inflight_htlcs(), &self.entropy_source, &self.node_signer, best_block_height,
49124912
&self.logger, &self.pending_events, |args| self.send_payment_along_path(args))
49134913
}
@@ -6263,7 +6263,7 @@ where
62636263
}
62646264

62656265
let best_block_height = self.best_block.read().unwrap().height;
6266-
self.pending_outbound_payments.check_retry_payments(&self.router, || self.list_usable_channels(),
6266+
self.pending_outbound_payments.check_retry_payments(&*self.router, || self.list_usable_channels(),
62676267
|| self.compute_inflight_htlcs(), &self.entropy_source, &self.node_signer, best_block_height,
62686268
&self.pending_events, &self.logger, |args| self.send_payment_along_path(args));
62696269

lightning/src/ln/outbound_payment.rs

+27-27
Original file line numberDiff line numberDiff line change
@@ -772,7 +772,7 @@ impl OutboundPayments {
772772

773773
pub(super) fn send_payment<R: Deref, ES: Deref, NS: Deref, IH, SP, L: Deref>(
774774
&self, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields, payment_id: PaymentId,
775-
retry_strategy: Retry, route_params: RouteParameters, router: &R,
775+
retry_strategy: Retry, route_params: RouteParameters, router: R,
776776
first_hops: Vec<ChannelDetails>, compute_inflight_htlcs: IH, entropy_source: &ES,
777777
node_signer: &NS, best_block_height: u32, logger: &L,
778778
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, send_payment_along_path: SP,
@@ -809,7 +809,7 @@ impl OutboundPayments {
809809

810810
pub(super) fn send_spontaneous_payment<R: Deref, ES: Deref, NS: Deref, IH, SP, L: Deref>(
811811
&self, payment_preimage: Option<PaymentPreimage>, recipient_onion: RecipientOnionFields,
812-
payment_id: PaymentId, retry_strategy: Retry, route_params: RouteParameters, router: &R,
812+
payment_id: PaymentId, retry_strategy: Retry, route_params: RouteParameters, router: R,
813813
first_hops: Vec<ChannelDetails>, inflight_htlcs: IH, entropy_source: &ES,
814814
node_signer: &NS, best_block_height: u32, logger: &L,
815815
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, send_payment_along_path: SP
@@ -834,7 +834,7 @@ impl OutboundPayments {
834834
pub(super) fn send_payment_for_bolt12_invoice<
835835
R: Deref, ES: Deref, NS: Deref, NL: Deref, IH, SP, L: Deref
836836
>(
837-
&self, invoice: &Bolt12Invoice, payment_id: PaymentId, router: &R,
837+
&self, invoice: &Bolt12Invoice, payment_id: PaymentId, router: R,
838838
first_hops: Vec<ChannelDetails>, features: Bolt12InvoiceFeatures, inflight_htlcs: IH,
839839
entropy_source: &ES, node_signer: &NS, node_id_lookup: &NL,
840840
secp_ctx: &Secp256k1<secp256k1::All>, best_block_height: u32, logger: &L,
@@ -896,7 +896,7 @@ impl OutboundPayments {
896896
>(
897897
&self, payment_id: PaymentId, payment_hash: PaymentHash,
898898
keysend_preimage: Option<PaymentPreimage>, invoice_request: Option<&InvoiceRequest>,
899-
mut route_params: RouteParameters, retry_strategy: Retry, router: &R,
899+
mut route_params: RouteParameters, retry_strategy: Retry, router: R,
900900
first_hops: Vec<ChannelDetails>, inflight_htlcs: IH, entropy_source: &ES, node_signer: &NS,
901901
node_id_lookup: &NL, secp_ctx: &Secp256k1<secp256k1::All>, best_block_height: u32, logger: &L,
902902
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>,
@@ -936,8 +936,8 @@ impl OutboundPayments {
936936
};
937937
let route = match self.find_initial_route(
938938
payment_id, payment_hash, &recipient_onion, keysend_preimage, invoice_request,
939-
&mut route_params, router, &first_hops, &inflight_htlcs, node_signer, best_block_height,
940-
logger,
939+
&mut route_params, router.deref(), &first_hops, &inflight_htlcs, node_signer,
940+
best_block_height, logger,
941941
) {
942942
Ok(route) => route,
943943
Err(e) => {
@@ -1085,7 +1085,7 @@ impl OutboundPayments {
10851085
pub(super) fn send_payment_for_static_invoice<
10861086
R: Deref, ES: Deref, NS: Deref, NL: Deref, IH, SP, L: Deref
10871087
>(
1088-
&self, payment_id: PaymentId, router: &R, first_hops: Vec<ChannelDetails>, inflight_htlcs: IH,
1088+
&self, payment_id: PaymentId, router: R, first_hops: Vec<ChannelDetails>, inflight_htlcs: IH,
10891089
entropy_source: &ES, node_signer: &NS, node_id_lookup: &NL,
10901090
secp_ctx: &Secp256k1<secp256k1::All>, best_block_height: u32, logger: &L,
10911091
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>,
@@ -1122,7 +1122,7 @@ impl OutboundPayments {
11221122
}
11231123

11241124
pub(super) fn check_retry_payments<R: Deref, ES: Deref, NS: Deref, SP, IH, FH, L: Deref>(
1125-
&self, router: &R, first_hops: FH, inflight_htlcs: IH, entropy_source: &ES, node_signer: &NS,
1125+
&self, router: R, first_hops: FH, inflight_htlcs: IH, entropy_source: &ES, node_signer: &NS,
11261126
best_block_height: u32,
11271127
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, logger: &L,
11281128
send_payment_along_path: SP,
@@ -1156,7 +1156,7 @@ impl OutboundPayments {
11561156
}
11571157
core::mem::drop(outbounds);
11581158
if let Some((payment_hash, payment_id, route_params)) = retry_id_route_params {
1159-
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)
1159+
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)
11601160
} else { break }
11611161
}
11621162

@@ -1188,7 +1188,7 @@ impl OutboundPayments {
11881188
fn find_initial_route<R: Deref, NS: Deref, IH, L: Deref>(
11891189
&self, payment_id: PaymentId, payment_hash: PaymentHash, recipient_onion: &RecipientOnionFields,
11901190
keysend_preimage: Option<PaymentPreimage>, invoice_request: Option<&InvoiceRequest>,
1191-
route_params: &mut RouteParameters, router: &R, first_hops: &Vec<ChannelDetails>,
1191+
route_params: &mut RouteParameters, router: R, first_hops: &Vec<ChannelDetails>,
11921192
inflight_htlcs: &IH, node_signer: &NS, best_block_height: u32, logger: &L,
11931193
) -> Result<Route, RetryableSendFailure>
11941194
where
@@ -1242,7 +1242,7 @@ impl OutboundPayments {
12421242
fn send_payment_internal<R: Deref, NS: Deref, ES: Deref, IH, SP, L: Deref>(
12431243
&self, payment_id: PaymentId, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields,
12441244
keysend_preimage: Option<PaymentPreimage>, retry_strategy: Retry, mut route_params: RouteParameters,
1245-
router: &R, first_hops: Vec<ChannelDetails>, inflight_htlcs: IH, entropy_source: &ES,
1245+
router: R, first_hops: Vec<ChannelDetails>, inflight_htlcs: IH, entropy_source: &ES,
12461246
node_signer: &NS, best_block_height: u32, logger: &L,
12471247
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, send_payment_along_path: SP,
12481248
) -> Result<(), RetryableSendFailure>
@@ -1255,8 +1255,8 @@ impl OutboundPayments {
12551255
SP: Fn(SendAlongPathArgs) -> Result<(), APIError>,
12561256
{
12571257
let route = self.find_initial_route(
1258-
payment_id, payment_hash, &recipient_onion, keysend_preimage, None, &mut route_params, router,
1259-
&first_hops, &inflight_htlcs, node_signer, best_block_height, logger,
1258+
payment_id, payment_hash, &recipient_onion, keysend_preimage, None, &mut route_params,
1259+
router.deref(), &first_hops, &inflight_htlcs, node_signer, best_block_height, logger,
12601260
)?;
12611261

12621262
let onion_session_privs = self.add_new_pending_payment(payment_hash,
@@ -1281,7 +1281,7 @@ impl OutboundPayments {
12811281

12821282
fn find_route_and_send_payment<R: Deref, NS: Deref, ES: Deref, IH, SP, L: Deref>(
12831283
&self, payment_hash: PaymentHash, payment_id: PaymentId, route_params: RouteParameters,
1284-
router: &R, first_hops: Vec<ChannelDetails>, inflight_htlcs: &IH, entropy_source: &ES,
1284+
router: R, first_hops: Vec<ChannelDetails>, inflight_htlcs: &IH, entropy_source: &ES,
12851285
node_signer: &NS, best_block_height: u32, logger: &L,
12861286
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, send_payment_along_path: &SP,
12871287
)
@@ -1436,7 +1436,7 @@ impl OutboundPayments {
14361436

14371437
fn handle_pay_route_err<R: Deref, NS: Deref, ES: Deref, IH, SP, L: Deref>(
14381438
&self, err: PaymentSendFailure, payment_id: PaymentId, payment_hash: PaymentHash, route: Route,
1439-
mut route_params: RouteParameters, router: &R, first_hops: Vec<ChannelDetails>,
1439+
mut route_params: RouteParameters, router: R, first_hops: Vec<ChannelDetails>,
14401440
inflight_htlcs: &IH, entropy_source: &ES, node_signer: &NS, best_block_height: u32, logger: &L,
14411441
pending_events: &Mutex<VecDeque<(events::Event, Option<EventCompletionAction>)>>, send_payment_along_path: &SP,
14421442
)
@@ -2491,7 +2491,7 @@ mod tests {
24912491
Some(Retry::Attempts(1)), Some(expired_route_params.payment_params.clone()),
24922492
&&keys_manager, 0).unwrap();
24932493
outbound_payments.find_route_and_send_payment(
2494-
PaymentHash([0; 32]), PaymentId([0; 32]), expired_route_params, &&router, vec![],
2494+
PaymentHash([0; 32]), PaymentId([0; 32]), expired_route_params, &router, vec![],
24952495
&|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
24962496
&|_| Ok(()));
24972497
let events = pending_events.lock().unwrap();
@@ -2502,7 +2502,7 @@ mod tests {
25022502
} else {
25032503
let err = outbound_payments.send_payment(
25042504
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([0; 32]),
2505-
Retry::Attempts(0), expired_route_params, &&router, vec![], || InFlightHtlcs::new(),
2505+
Retry::Attempts(0), expired_route_params, &router, vec![], || InFlightHtlcs::new(),
25062506
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events, |_| Ok(())).unwrap_err();
25072507
if let RetryableSendFailure::PaymentExpired = err { } else { panic!("Unexpected error"); }
25082508
}
@@ -2535,7 +2535,7 @@ mod tests {
25352535
Some(Retry::Attempts(1)), Some(route_params.payment_params.clone()),
25362536
&&keys_manager, 0).unwrap();
25372537
outbound_payments.find_route_and_send_payment(
2538-
PaymentHash([0; 32]), PaymentId([0; 32]), route_params, &&router, vec![],
2538+
PaymentHash([0; 32]), PaymentId([0; 32]), route_params, &router, vec![],
25392539
&|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
25402540
&|_| Ok(()));
25412541
let events = pending_events.lock().unwrap();
@@ -2544,7 +2544,7 @@ mod tests {
25442544
} else {
25452545
let err = outbound_payments.send_payment(
25462546
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([0; 32]),
2547-
Retry::Attempts(0), route_params, &&router, vec![], || InFlightHtlcs::new(),
2547+
Retry::Attempts(0), route_params, &router, vec![], || InFlightHtlcs::new(),
25482548
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events, |_| Ok(())).unwrap_err();
25492549
if let RetryableSendFailure::RouteNotFound = err {
25502550
} else { panic!("Unexpected error"); }
@@ -2592,7 +2592,7 @@ mod tests {
25922592
let pending_events = Mutex::new(VecDeque::new());
25932593
outbound_payments.send_payment(
25942594
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([0; 32]),
2595-
Retry::Attempts(0), route_params.clone(), &&router, vec![], || InFlightHtlcs::new(),
2595+
Retry::Attempts(0), route_params.clone(), &router, vec![], || InFlightHtlcs::new(),
25962596
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
25972597
|_| Err(APIError::ChannelUnavailable { err: "test".to_owned() })).unwrap();
25982598
let mut events = pending_events.lock().unwrap();
@@ -2610,15 +2610,15 @@ mod tests {
26102610
// Ensure that a MonitorUpdateInProgress "error" will not result in a PaymentPathFailed event.
26112611
outbound_payments.send_payment(
26122612
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([0; 32]),
2613-
Retry::Attempts(0), route_params.clone(), &&router, vec![], || InFlightHtlcs::new(),
2613+
Retry::Attempts(0), route_params.clone(), &router, vec![], || InFlightHtlcs::new(),
26142614
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
26152615
|_| Err(APIError::MonitorUpdateInProgress)).unwrap();
26162616
assert_eq!(pending_events.lock().unwrap().len(), 0);
26172617

26182618
// Ensure that any other error will result in a PaymentPathFailed event but no blamed scid.
26192619
outbound_payments.send_payment(
26202620
PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(), PaymentId([1; 32]),
2621-
Retry::Attempts(0), route_params.clone(), &&router, vec![], || InFlightHtlcs::new(),
2621+
Retry::Attempts(0), route_params.clone(), &router, vec![], || InFlightHtlcs::new(),
26222622
&&keys_manager, &&keys_manager, 0, &&logger, &pending_events,
26232623
|_| Err(APIError::APIMisuseError { err: "test".to_owned() })).unwrap();
26242624
let events = pending_events.lock().unwrap();
@@ -2804,7 +2804,7 @@ mod tests {
28042804

28052805
assert_eq!(
28062806
outbound_payments.send_payment_for_bolt12_invoice(
2807-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2807+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
28082808
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
28092809
&secp_ctx, 0, &&logger, &pending_events, |_| panic!()
28102810
),
@@ -2866,7 +2866,7 @@ mod tests {
28662866

28672867
assert_eq!(
28682868
outbound_payments.send_payment_for_bolt12_invoice(
2869-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2869+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
28702870
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
28712871
&secp_ctx, 0, &&logger, &pending_events, |_| panic!()
28722872
),
@@ -2941,7 +2941,7 @@ mod tests {
29412941
assert!(!outbound_payments.has_pending_payments());
29422942
assert_eq!(
29432943
outbound_payments.send_payment_for_bolt12_invoice(
2944-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2944+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
29452945
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
29462946
&secp_ctx, 0, &&logger, &pending_events, |_| panic!()
29472947
),
@@ -2959,7 +2959,7 @@ mod tests {
29592959

29602960
assert_eq!(
29612961
outbound_payments.send_payment_for_bolt12_invoice(
2962-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2962+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
29632963
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
29642964
&secp_ctx, 0, &&logger, &pending_events, |_| Ok(())
29652965
),
@@ -2970,7 +2970,7 @@ mod tests {
29702970

29712971
assert_eq!(
29722972
outbound_payments.send_payment_for_bolt12_invoice(
2973-
&invoice, payment_id, &&router, vec![], Bolt12InvoiceFeatures::empty(),
2973+
&invoice, payment_id, &router, vec![], Bolt12InvoiceFeatures::empty(),
29742974
|| InFlightHtlcs::new(), &&keys_manager, &&keys_manager, &EmptyNodeIdLookUp {},
29752975
&secp_ctx, 0, &&logger, &pending_events, |_| panic!()
29762976
),

0 commit comments

Comments
 (0)