@@ -1469,12 +1469,12 @@ impl Hop {
1469
1469
}
1470
1470
}
1471
1471
1472
- pub ( crate ) fn shared_secret ( & self ) -> SharedSecret {
1472
+ pub ( crate ) fn shared_secret ( & self ) -> & SharedSecret {
1473
1473
match self {
1474
- Hop :: Forward { shared_secret, .. } => shared_secret. clone ( ) ,
1475
- Hop :: BlindedForward { shared_secret, .. } => shared_secret. clone ( ) ,
1476
- Hop :: Receive { shared_secret, .. } => shared_secret. clone ( ) ,
1477
- Hop :: BlindedReceive { shared_secret, .. } => shared_secret. clone ( ) ,
1474
+ Hop :: Forward { shared_secret, .. } => shared_secret,
1475
+ Hop :: BlindedForward { shared_secret, .. } => shared_secret,
1476
+ Hop :: Receive { shared_secret, .. } => shared_secret,
1477
+ Hop :: BlindedReceive { shared_secret, .. } => shared_secret,
1478
1478
}
1479
1479
}
1480
1480
}
@@ -1503,11 +1503,10 @@ where
1503
1503
} ) ;
1504
1504
let shared_secret = node_signer
1505
1505
. ecdh ( recipient, hop_pubkey, blinded_node_id_tweak. as_ref ( ) )
1506
- . unwrap ( )
1507
- . secret_bytes ( ) ;
1506
+ . unwrap ( ) ;
1508
1507
1509
1508
let decoded_hop: Result < ( msgs:: InboundOnionPayload , Option < _ > ) , _ > = decode_next_hop (
1510
- shared_secret,
1509
+ shared_secret. secret_bytes ( ) ,
1511
1510
hop_data,
1512
1511
hmac_bytes,
1513
1512
Some ( payment_hash) ,
@@ -1517,14 +1516,14 @@ where
1517
1516
Ok ( ( next_hop_data, Some ( ( next_hop_hmac, FixedSizeOnionPacket ( new_packet_bytes) ) ) ) ) => {
1518
1517
match next_hop_data {
1519
1518
msgs:: InboundOnionPayload :: Forward ( next_hop_data) => Ok ( Hop :: Forward {
1520
- shared_secret : SharedSecret :: from_bytes ( shared_secret ) ,
1519
+ shared_secret,
1521
1520
next_hop_data,
1522
1521
next_hop_hmac,
1523
1522
new_packet_bytes,
1524
1523
} ) ,
1525
1524
msgs:: InboundOnionPayload :: BlindedForward ( next_hop_data) => {
1526
1525
Ok ( Hop :: BlindedForward {
1527
- shared_secret : SharedSecret :: from_bytes ( shared_secret ) ,
1526
+ shared_secret,
1528
1527
next_hop_data,
1529
1528
next_hop_hmac,
1530
1529
new_packet_bytes,
@@ -1541,18 +1540,18 @@ where
1541
1540
Err ( OnionDecodeErr :: Relay {
1542
1541
err_msg : "Final Node OnionHopData provided for us as an intermediary node" ,
1543
1542
err_code : 0x4000 | 22 ,
1544
- shared_secret : SharedSecret :: from_bytes ( shared_secret ) ,
1543
+ shared_secret,
1545
1544
} )
1546
1545
} ,
1547
1546
}
1548
1547
} ,
1549
1548
Ok ( ( next_hop_data, None ) ) => match next_hop_data {
1550
1549
msgs:: InboundOnionPayload :: Receive ( hop_data) => Ok ( Hop :: Receive {
1551
- shared_secret : SharedSecret :: from_bytes ( shared_secret ) ,
1550
+ shared_secret,
1552
1551
hop_data,
1553
1552
} ) ,
1554
1553
msgs:: InboundOnionPayload :: BlindedReceive ( hop_data) => Ok ( Hop :: BlindedReceive {
1555
- shared_secret : SharedSecret :: from_bytes ( shared_secret ) ,
1554
+ shared_secret,
1556
1555
hop_data,
1557
1556
} ) ,
1558
1557
_ => {
@@ -1565,7 +1564,7 @@ where
1565
1564
Err ( OnionDecodeErr :: Relay {
1566
1565
err_msg : "Intermediate Node OnionHopData provided for us as a final node" ,
1567
1566
err_code : 0x4000 | 22 ,
1568
- shared_secret : SharedSecret :: from_bytes ( shared_secret ) ,
1567
+ shared_secret,
1569
1568
} )
1570
1569
} ,
1571
1570
} ,
0 commit comments