Skip to content

Commit 9c228eb

Browse files
Avoid && in public API for onion peeling/decoding.
No reason to take a reference to a Deref.
1 parent 884e85f commit 9c228eb

File tree

6 files changed

+22
-22
lines changed

6 files changed

+22
-22
lines changed

lightning/src/ln/blinded_payment_tests.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1485,7 +1485,7 @@ fn route_blinding_spec_test_vector() {
14851485
// < MIN_CLTV_EXPIRY_DELTA).
14861486
let (bob_peeled_onion, _, next_packet_details_opt) =
14871487
match onion_payment::decode_incoming_update_add_htlc_onion(
1488-
&bob_update_add, &&bob_node_signer, &&logger, &secp_ctx
1488+
&bob_update_add, &bob_node_signer, &logger, &secp_ctx
14891489
) {
14901490
Ok(res) => res,
14911491
_ => panic!("Unexpected error")
@@ -1519,7 +1519,7 @@ fn route_blinding_spec_test_vector() {
15191519
let carol_node_signer = TestEcdhSigner { node_secret: carol_secret };
15201520
let (carol_peeled_onion, _, next_packet_details_opt) =
15211521
match onion_payment::decode_incoming_update_add_htlc_onion(
1522-
&carol_update_add, &&carol_node_signer, &&logger, &secp_ctx
1522+
&carol_update_add, &carol_node_signer, &logger, &secp_ctx
15231523
) {
15241524
Ok(res) => res,
15251525
_ => panic!("Unexpected error")
@@ -1553,7 +1553,7 @@ fn route_blinding_spec_test_vector() {
15531553
let dave_node_signer = TestEcdhSigner { node_secret: dave_secret };
15541554
let (dave_peeled_onion, _, next_packet_details_opt) =
15551555
match onion_payment::decode_incoming_update_add_htlc_onion(
1556-
&dave_update_add, &&dave_node_signer, &&logger, &secp_ctx
1556+
&dave_update_add, &dave_node_signer, &logger, &secp_ctx
15571557
) {
15581558
Ok(res) => res,
15591559
_ => panic!("Unexpected error")
@@ -1588,7 +1588,7 @@ fn route_blinding_spec_test_vector() {
15881588
// We can't decode the final payload because it contains a path_id and is missing some LDK
15891589
// specific fields.
15901590
match onion_payment::decode_incoming_update_add_htlc_onion(
1591-
&eve_update_add, &&eve_node_signer, &&logger, &secp_ctx
1591+
&eve_update_add, &eve_node_signer, &logger, &secp_ctx
15921592
) {
15931593
Err(HTLCFailureMsg::Malformed(msg)) => assert_eq!(msg.failure_code, INVALID_ONION_BLINDING),
15941594
_ => panic!("Unexpected error")

lightning/src/ln/channelmanager.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -3832,7 +3832,7 @@ where
38323832
(onion_utils::Hop, [u8; 32], Option<Result<PublicKey, secp256k1::Error>>), HTLCFailureMsg
38333833
> {
38343834
let (next_hop, shared_secret, next_packet_details_opt) = decode_incoming_update_add_htlc_onion(
3835-
msg, &self.node_signer, &self.logger, &self.secp_ctx
3835+
msg, &*self.node_signer, &*self.logger, &self.secp_ctx
38363836
)?;
38373837

38383838
let next_packet_details = match next_packet_details_opt {
@@ -5044,7 +5044,7 @@ where
50445044
let mut htlc_fails = Vec::new();
50455045
for update_add_htlc in &update_add_htlcs {
50465046
let (next_hop, shared_secret, next_packet_details_opt) = match decode_incoming_update_add_htlc_onion(
5047-
&update_add_htlc, &self.node_signer, &self.logger, &self.secp_ctx
5047+
&update_add_htlc, &*self.node_signer, &*self.logger, &self.secp_ctx
50485048
) {
50495049
Ok(decoded_onion) => decoded_onion,
50505050
Err(htlc_fail) => {
@@ -5221,7 +5221,7 @@ where
52215221
let phantom_shared_secret = self.node_signer.ecdh(Recipient::PhantomNode, &onion_packet.public_key.unwrap(), None).unwrap().secret_bytes();
52225222
let next_hop = match onion_utils::decode_next_payment_hop(
52235223
phantom_shared_secret, &onion_packet.hop_data, onion_packet.hmac,
5224-
payment_hash, None, &self.node_signer
5224+
payment_hash, None, &*self.node_signer
52255225
) {
52265226
Ok(res) => res,
52275227
Err(onion_utils::OnionDecodeErr::Malformed { err_msg, err_code }) => {

lightning/src/ln/msgs.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -2706,8 +2706,8 @@ impl Writeable for OutboundTrampolinePayload {
27062706
}
27072707

27082708

2709-
impl<NS: Deref> ReadableArgs<(Option<PublicKey>, &NS)> for InboundOnionPayload where NS::Target: NodeSigner {
2710-
fn read<R: Read>(r: &mut R, args: (Option<PublicKey>, &NS)) -> Result<Self, DecodeError> {
2709+
impl<NS: Deref> ReadableArgs<(Option<PublicKey>, NS)> for InboundOnionPayload where NS::Target: NodeSigner {
2710+
fn read<R: Read>(r: &mut R, args: (Option<PublicKey>, NS)) -> Result<Self, DecodeError> {
27112711
let (update_add_blinding_point, node_signer) = args;
27122712

27132713
let mut amt = None;
@@ -4406,7 +4406,7 @@ mod tests {
44064406
assert_eq!(encoded_value, target_value);
44074407

44084408
let node_signer = test_utils::TestKeysInterface::new(&[42; 32], Network::Testnet);
4409-
let inbound_msg = ReadableArgs::read(&mut Cursor::new(&target_value[..]), (None, &&node_signer)).unwrap();
4409+
let inbound_msg = ReadableArgs::read(&mut Cursor::new(&target_value[..]), (None, &node_signer)).unwrap();
44104410
if let msgs::InboundOnionPayload::Forward {
44114411
short_channel_id, amt_to_forward, outgoing_cltv_value
44124412
} = inbound_msg {
@@ -4431,7 +4431,7 @@ mod tests {
44314431
assert_eq!(encoded_value, target_value);
44324432

44334433
let node_signer = test_utils::TestKeysInterface::new(&[42; 32], Network::Testnet);
4434-
let inbound_msg = ReadableArgs::read(&mut Cursor::new(&target_value[..]), (None, &&node_signer)).unwrap();
4434+
let inbound_msg = ReadableArgs::read(&mut Cursor::new(&target_value[..]), (None, &node_signer)).unwrap();
44354435
if let msgs::InboundOnionPayload::Receive {
44364436
payment_data: None, sender_intended_htlc_amt_msat, cltv_expiry_height, ..
44374437
} = inbound_msg {
@@ -4459,7 +4459,7 @@ mod tests {
44594459
assert_eq!(encoded_value, target_value);
44604460

44614461
let node_signer = test_utils::TestKeysInterface::new(&[42; 32], Network::Testnet);
4462-
let inbound_msg = ReadableArgs::read(&mut Cursor::new(&target_value[..]), (None, &&node_signer)).unwrap();
4462+
let inbound_msg = ReadableArgs::read(&mut Cursor::new(&target_value[..]), (None, &node_signer)).unwrap();
44634463
if let msgs::InboundOnionPayload::Receive {
44644464
payment_data: Some(FinalOnionHopData {
44654465
payment_secret,
@@ -4495,7 +4495,7 @@ mod tests {
44954495
};
44964496
let encoded_value = msg.encode();
44974497
let node_signer = test_utils::TestKeysInterface::new(&[42; 32], Network::Testnet);
4498-
assert!(msgs::InboundOnionPayload::read(&mut Cursor::new(&encoded_value[..]), (None, &&node_signer)).is_err());
4498+
assert!(msgs::InboundOnionPayload::read(&mut Cursor::new(&encoded_value[..]), (None, &node_signer)).is_err());
44994499
let good_type_range_tlvs = vec![
45004500
((1 << 16) - 3, vec![42]),
45014501
((1 << 16) - 1, vec![42; 32]),
@@ -4504,7 +4504,7 @@ mod tests {
45044504
*custom_tlvs = &good_type_range_tlvs;
45054505
}
45064506
let encoded_value = msg.encode();
4507-
let inbound_msg = ReadableArgs::read(&mut Cursor::new(&encoded_value[..]), (None, &&node_signer)).unwrap();
4507+
let inbound_msg = ReadableArgs::read(&mut Cursor::new(&encoded_value[..]), (None, &node_signer)).unwrap();
45084508
match inbound_msg {
45094509
msgs::InboundOnionPayload::Receive { custom_tlvs, .. } => assert!(custom_tlvs.is_empty()),
45104510
_ => panic!(),
@@ -4529,7 +4529,7 @@ mod tests {
45294529
let target_value = <Vec<u8>>::from_hex("2e02080badf00d010203040404ffffffffff0000000146c6616b021234ff0000000146c6616f084242424242424242").unwrap();
45304530
assert_eq!(encoded_value, target_value);
45314531
let node_signer = test_utils::TestKeysInterface::new(&[42; 32], Network::Testnet);
4532-
let inbound_msg: msgs::InboundOnionPayload = ReadableArgs::read(&mut Cursor::new(&target_value[..]), (None, &&node_signer)).unwrap();
4532+
let inbound_msg: msgs::InboundOnionPayload = ReadableArgs::read(&mut Cursor::new(&target_value[..]), (None, &node_signer)).unwrap();
45334533
if let msgs::InboundOnionPayload::Receive {
45344534
payment_data: None,
45354535
payment_metadata: None,
@@ -4759,7 +4759,7 @@ mod tests {
47594759
let mut rd = Cursor::new(&big_payload[..]);
47604760

47614761
let node_signer = test_utils::TestKeysInterface::new(&[42; 32], Network::Testnet);
4762-
<msgs::InboundOnionPayload as ReadableArgs<(Option<PublicKey>, &&test_utils::TestKeysInterface)>>
4762+
<msgs::InboundOnionPayload as ReadableArgs<(Option<PublicKey>, &test_utils::TestKeysInterface)>>
47634763
::read(&mut rd, (None, &&node_signer)).unwrap();
47644764
}
47654765
// see above test, needs to be a separate method for use of the serialization macros.

lightning/src/ln/onion_payment.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ pub(super) fn create_recv_pending_htlc_info(
280280
///
281281
/// [`Event::PaymentClaimable`]: crate::events::Event::PaymentClaimable
282282
pub fn peel_payment_onion<NS: Deref, L: Deref, T: secp256k1::Verification>(
283-
msg: &msgs::UpdateAddHTLC, node_signer: &NS, logger: &L, secp_ctx: &Secp256k1<T>,
283+
msg: &msgs::UpdateAddHTLC, node_signer: NS, logger: L, secp_ctx: &Secp256k1<T>,
284284
cur_height: u32, accept_mpp_keysend: bool, allow_skimmed_fees: bool,
285285
) -> Result<PendingHTLCInfo, InboundHTLCErr>
286286
where
@@ -346,7 +346,7 @@ pub(super) struct NextPacketDetails {
346346
}
347347

348348
pub(super) fn decode_incoming_update_add_htlc_onion<NS: Deref, L: Deref, T: secp256k1::Verification>(
349-
msg: &msgs::UpdateAddHTLC, node_signer: &NS, logger: &L, secp_ctx: &Secp256k1<T>,
349+
msg: &msgs::UpdateAddHTLC, node_signer: NS, logger: L, secp_ctx: &Secp256k1<T>,
350350
) -> Result<(onion_utils::Hop, [u8; 32], Option<NextPacketDetails>), HTLCFailureMsg>
351351
where
352352
NS::Target: NodeSigner,
@@ -574,7 +574,7 @@ mod tests {
574574
let msg = make_update_add_msg(amount_msat, cltv_expiry, payment_hash, onion);
575575
let logger = test_utils::TestLogger::with_id("bob".to_string());
576576

577-
let peeled = peel_payment_onion(&msg, &&bob, &&logger, &secp_ctx, cur_height, true, false)
577+
let peeled = peel_payment_onion(&msg, &bob, &logger, &secp_ctx, cur_height, true, false)
578578
.map_err(|e| e.msg).unwrap();
579579

580580
let next_onion = match peeled.routing {
@@ -585,7 +585,7 @@ mod tests {
585585
};
586586

587587
let msg2 = make_update_add_msg(amount_msat, cltv_expiry, payment_hash, next_onion);
588-
let peeled2 = peel_payment_onion(&msg2, &&charlie, &&logger, &secp_ctx, cur_height, true, false)
588+
let peeled2 = peel_payment_onion(&msg2, &charlie, &logger, &secp_ctx, cur_height, true, false)
589589
.map_err(|e| e.msg).unwrap();
590590

591591
match peeled2.routing {

lightning/src/ln/onion_utils.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1133,7 +1133,7 @@ pub(crate) enum OnionDecodeErr {
11331133

11341134
pub(crate) fn decode_next_payment_hop<NS: Deref>(
11351135
shared_secret: [u8; 32], hop_data: &[u8], hmac_bytes: [u8; 32], payment_hash: PaymentHash,
1136-
blinding_point: Option<PublicKey>, node_signer: &NS,
1136+
blinding_point: Option<PublicKey>, node_signer: NS,
11371137
) -> Result<Hop, OnionDecodeErr>
11381138
where
11391139
NS::Target: NodeSigner,

lightning/src/ln/payment_tests.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4283,7 +4283,7 @@ fn peel_payment_onion_custom_tlvs() {
42834283
blinding_point: None,
42844284
};
42854285
let peeled_onion = crate::ln::onion_payment::peel_payment_onion(
4286-
&update_add, &&chanmon_cfgs[1].keys_manager, &&chanmon_cfgs[1].logger, &secp_ctx,
4286+
&update_add, &chanmon_cfgs[1].keys_manager, &chanmon_cfgs[1].logger, &secp_ctx,
42874287
nodes[1].best_block_info().1, true, false
42884288
).unwrap();
42894289
assert_eq!(peeled_onion.incoming_amt_msat, Some(amt_msat));

0 commit comments

Comments
 (0)