Skip to content

Commit 7bcbc9d

Browse files
committed
Replace existing MPP-total args with RecipientOnionFields
In some uses of LDK we need the ability to send HTLCs for only a portion of some larger MPP payment. This allows payers to make single payments which spend funds from multiple wallets, which may be important for ecash wallets holding funds in multiple mints or graduated wallets which hold funds across a trusted wallet and a self-custodial wallet. In the previous commit we added a new field to `RecipientOnionFields` to describe the total value of an MPP payment. Here we start using this field when building onions, dropping existing arguments to onion-building methods.
1 parent a2c6531 commit 7bcbc9d

11 files changed

Lines changed: 101 additions & 135 deletions

lightning/src/ln/blinded_payment_tests.rs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -478,8 +478,8 @@ fn do_forward_checks_failure(check: ForwardCheckFail, intro_fails: bool) {
478478
let session_priv = SecretKey::from_slice(&[3; 32]).unwrap();
479479
let mut onion_keys = onion_utils::construct_onion_keys(&Secp256k1::new(), &route.paths[0], &session_priv);
480480
let cur_height = nodes[0].best_block_info().1;
481-
let (mut onion_payloads, ..) = onion_utils::build_onion_payloads(
482-
&route.paths[0], amt_msat, &recipient_onion_fields, cur_height, &None, None, None).unwrap();
481+
let (mut onion_payloads, ..) = onion_utils::test_build_onion_payloads(
482+
&route.paths[0], &recipient_onion_fields, cur_height, &None, None, None).unwrap();
483483
// Remove the receive payload so the blinded forward payload is encoded as a final payload
484484
// (i.e. next_hop_hmac == [0; 32])
485485
onion_payloads.pop();
@@ -1065,8 +1065,8 @@ fn do_multi_hop_receiver_fail(check: ReceiveCheckFail) {
10651065
let mut onion_keys = onion_utils::construct_onion_keys(&Secp256k1::new(), &route.paths[0], &session_priv);
10661066
let cur_height = nodes[0].best_block_info().1;
10671067
let recipient_onion_fields = RecipientOnionFields::spontaneous_empty(amt_msat);
1068-
let (mut onion_payloads, ..) = onion_utils::build_onion_payloads(
1069-
&route.paths[0], amt_msat, &recipient_onion_fields, cur_height, &None, None, None).unwrap();
1068+
let (mut onion_payloads, ..) = onion_utils::test_build_onion_payloads(
1069+
&route.paths[0], &recipient_onion_fields, cur_height, &None, None, None).unwrap();
10701070

10711071
let update_add = &mut payment_event_1_2.msgs[0];
10721072
onion_payloads.last_mut().map(|p| {
@@ -1681,7 +1681,7 @@ fn route_blinding_spec_test_vector() {
16811681
}),
16821682
};
16831683
let cur_height = 747_000;
1684-
let (bob_onion, _, _) = onion_utils::create_payment_onion(&secp_ctx, &path, &session_priv, amt_msat, &RecipientOnionFields::spontaneous_empty(amt_msat), cur_height, &PaymentHash([0; 32]), &None, None, [0; 32]).unwrap();
1684+
let (bob_onion, _, _) = onion_utils::create_payment_onion(&secp_ctx, &path, &session_priv, &RecipientOnionFields::spontaneous_empty(amt_msat), cur_height, &PaymentHash([0; 32]), &None, None, [0; 32]).unwrap();
16851685

16861686
struct TestEcdhSigner {
16871687
node_secret: SecretKey,
@@ -1905,7 +1905,7 @@ fn test_combined_trampoline_onion_creation_vectors() {
19051905
let amt_msat = 150_000_000;
19061906
let cur_height = 800_000;
19071907
let recipient_onion_fields = RecipientOnionFields::secret_only(payment_secret, amt_msat);
1908-
let (bob_onion, htlc_msat, htlc_cltv) = onion_utils::create_payment_onion_internal(&secp_ctx, &path, &outer_session_key, amt_msat, &recipient_onion_fields, cur_height, &associated_data, &None, None, outer_onion_prng_seed, Some(session_priv), Some([0; 32])).unwrap();
1908+
let (bob_onion, htlc_msat, htlc_cltv) = onion_utils::create_payment_onion_internal(&secp_ctx, &path, &outer_session_key, &recipient_onion_fields, cur_height, &associated_data, &None, None, outer_onion_prng_seed, Some(session_priv), Some([0; 32])).unwrap();
19091909

19101910
let outer_onion_packet_hex = bob_onion.encode().to_lower_hex_string();
19111911
assert_eq!(outer_onion_packet_hex, "00025fd60556c134ae97e4baedba220a644037754ee67c54fd05e93bf40c17cbb73362fb9dee96001ff229945595b6edb59437a6bc143406d3f90f749892a84d8d430c6890437d26d5bfc599d565316ef51347521075bbab87c59c57bcf20af7e63d7192b46cf171e4f73cb11f9f603915389105d91ad630224bea95d735e3988add1e24b5bf28f1d7128db64284d90a839ba340d088c74b1fb1bd21136b1809428ec5399c8649e9bdf92d2dcfc694deae5046fa5b2bdf646847aaad73f5e95275763091c90e71031cae1f9a770fdea559642c9c02f424a2a28163dd0957e3874bd28a97bec67d18c0321b0e68bc804aa8345b17cb626e2348ca06c8312a167c989521056b0f25c55559d446507d6c491d50605cb79fa87929ce64b0a9860926eeaec2c431d926a1cadb9a1186e4061cb01671a122fc1f57602cbef06d6c194ec4b715c2e3dd4120baca3172cd81900b49fef857fb6d6afd24c983b608108b0a5ac0c1c6c52011f23b8778059ffadd1bb7cd06e2525417365f485a7fd1d4a9ba3818ede7cdc9e71afee8532252d08e2531ca52538655b7e8d912f7ec6d37bbcce8d7ec690709dbf9321e92c565b78e7fe2c22edf23e0902153d1ca15a112ad32fb19695ec65ce11ddf670da7915f05ad4b86c154fb908cb567315d1124f303f75fa075ebde8ef7bb12e27737ad9e4924439097338ea6d7a6fc3721b88c9b830a34e8d55f4c582b74a3895cc848fe57f4fe29f115dabeb6b3175be15d94408ed6771109cfaf57067ae658201082eae7605d26b1449af4425ae8e8f58cdda5c6265f1fd7a386fc6cea3074e4f25b909b96175883676f7610a00fdf34df9eb6c7b9a4ae89b839c69fd1f285e38cdceb634d782cc6d81179759bc9fd47d7fd060470d0b048287764c6837963274e708314f017ac7dc26d0554d59bfcfd3136225798f65f0b0fea337c6b256ebbb63a90b994c0ab93fd8b1d6bd4c74aebe535d6110014cd3d525394027dfe8faa98b4e9b2bee7949eb1961f1b026791092f84deea63afab66603dbe9b6365a102a1fef2f6b9744bc1bb091a8da9130d34d4d39f25dbad191649cfb67e10246364b7ce0c6ec072f9690cabb459d9fda0c849e17535de4357e9907270c75953fca3c845bb613926ecf73205219c7057a4b6bb244c184362bb4e2f24279dc4e60b94a5b1ec11c34081a628428ba5646c995b9558821053ba9c84a05afbf00dabd60223723096516d2f5668f3ec7e11612b01eb7a3a0506189a2272b88e89807943adb34291a17f6cb5516ffd6f945a1c42a524b21f096d66f350b1dad4db455741ae3d0e023309fbda5ef55fb0dc74f3297041448b2be76c525141963934c6afc53d263fb7836626df502d7c2ee9e79cbbd87afd84bbb8dfbf45248af3cd61ad5fac827e7683ca4f91dfad507a8eb9c17b2c9ac5ec051fe645a4a6cb37136f6f19b611e0ea8da7960af2d779507e55f57305bc74b7568928c5dd5132990fe54c22117df91c257d8c7b61935a018a28c1c3b17bab8e4294fa699161ec21123c9fc4e71079df31f300c2822e1246561e04765d3aab333eafd026c7431ac7616debb0e022746f4538e1c6348b600c988eeb2d051fc60c468dca260a84c79ab3ab8342dc345a764672848ea234e17332bc124799daf7c5fcb2e2358514a7461357e1c19c802c5ee32deccf1776885dd825bedd5f781d459984370a6b7ae885d4483a76ddb19b30f47ed47cd56aa5a079a89793dbcad461c59f2e002067ac98dd5a534e525c9c46c2af730741bf1f8629357ec0bfc0bc9ecb31af96777e507648ff4260dc3673716e098d9111dfd245f1d7c55a6de340deb8bd7a053e5d62d760f184dc70ca8fa255b9023b9b9aedfb6e419a5b5951ba0f83b603793830ee68d442d7b88ee1bbf6bbd1bcd6f68cc1af");
@@ -1996,7 +1996,7 @@ fn test_trampoline_inbound_payment_decoding() {
19961996
let amt_msat = 150_000_001;
19971997
let cur_height = 800_001;
19981998
let recipient_onion_fields = RecipientOnionFields::secret_only(payment_secret, amt_msat);
1999-
let (bob_onion, _, _) = onion_utils::create_payment_onion(&secp_ctx, &path, &session_priv, amt_msat, &recipient_onion_fields, cur_height, &PaymentHash([0; 32]), &None, None, [0; 32]).unwrap();
1999+
let (bob_onion, _, _) = onion_utils::create_payment_onion(&secp_ctx, &path, &session_priv, &recipient_onion_fields, cur_height, &PaymentHash([0; 32]), &None, None, [0; 32]).unwrap();
20002000

20012001
struct TestEcdhSigner {
20022002
node_secret: SecretKey,
@@ -2181,7 +2181,7 @@ fn test_trampoline_forward_payload_encoded_as_receive() {
21812181
});
21822182

21832183
let recipient_onion_fields = RecipientOnionFields::spontaneous_empty(amt_msat);
2184-
let (mut trampoline_payloads, outer_total_msat, outer_starting_htlc_offset) = onion_utils::build_trampoline_onion_payloads(&blinded_tail, amt_msat, &recipient_onion_fields, 32, &None).unwrap();
2184+
let (mut trampoline_payloads, outer_total_msat, outer_starting_htlc_offset) = onion_utils::build_trampoline_onion_payloads(&blinded_tail, &recipient_onion_fields, 32, &None).unwrap();
21852185

21862186
// pop the last dummy hop
21872187
trampoline_payloads.pop();
@@ -2196,7 +2196,7 @@ fn test_trampoline_forward_payload_encoded_as_receive() {
21962196
).unwrap();
21972197

21982198
let recipient_onion_fields = RecipientOnionFields::spontaneous_empty(outer_total_msat);
2199-
let (outer_payloads, _, _) = onion_utils::build_onion_payloads(&route.paths[0], outer_total_msat, &recipient_onion_fields, outer_starting_htlc_offset, &None, None, Some(trampoline_packet)).unwrap();
2199+
let (outer_payloads, _, _) = onion_utils::test_build_onion_payloads(&route.paths[0], &recipient_onion_fields, outer_starting_htlc_offset, &None, None, Some(trampoline_packet)).unwrap();
22002200
let outer_onion_keys = onion_utils::construct_onion_keys(&secp_ctx, &route.clone().paths[0], &outer_session_priv);
22012201
let outer_packet = onion_utils::construct_onion_packet(
22022202
outer_payloads,
@@ -2489,7 +2489,6 @@ fn replacement_onion(
24892489
let (mut trampoline_payloads, outer_total_msat, outer_starting_htlc_offset) =
24902490
onion_utils::build_trampoline_onion_payloads(
24912491
&blinded_tail,
2492-
original_amt_msat,
24932492
&recipient_onion_fields,
24942493
starting_htlc_offset,
24952494
&None,
@@ -2527,9 +2526,8 @@ fn replacement_onion(
25272526
// Use a different session key to construct the replacement onion packet. Note that the
25282527
// sender isn't aware of this and won't be able to decode the fulfill hold times.
25292528
let recipient_onion_fields = RecipientOnionFields::spontaneous_empty(outer_total_msat);
2530-
let (mut outer_payloads, _, _) = onion_utils::build_onion_payloads(
2529+
let (mut outer_payloads, _, _) = onion_utils::test_build_onion_payloads(
25312530
&route.paths[0],
2532-
outer_total_msat,
25332531
&recipient_onion_fields,
25342532
outer_starting_htlc_offset,
25352533
&None,

lightning/src/ln/channelmanager.rs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5116,15 +5116,14 @@ impl<
51165116
#[cfg(any(test, feature = "_externalize_tests"))]
51175117
pub(crate) fn test_send_payment_along_path(
51185118
&self, path: &Path, payment_hash: &PaymentHash, recipient_onion: RecipientOnionFields,
5119-
total_value: u64, cur_height: u32, payment_id: PaymentId,
5120-
keysend_preimage: &Option<PaymentPreimage>, session_priv_bytes: [u8; 32],
5119+
cur_height: u32, payment_id: PaymentId, keysend_preimage: &Option<PaymentPreimage>,
5120+
session_priv_bytes: [u8; 32],
51215121
) -> Result<(), APIError> {
51225122
let _lck = self.total_consistency_lock.read().unwrap();
51235123
self.send_payment_along_path(SendAlongPathArgs {
51245124
path,
51255125
payment_hash,
51265126
recipient_onion: &recipient_onion,
5127-
total_value,
51285127
cur_height,
51295128
payment_id,
51305129
keysend_preimage,
@@ -5140,7 +5139,6 @@ impl<
51405139
path,
51415140
payment_hash,
51425141
recipient_onion,
5143-
total_value,
51445142
cur_height,
51455143
payment_id,
51465144
keysend_preimage,
@@ -5165,7 +5163,6 @@ impl<
51655163
&self.secp_ctx,
51665164
&path,
51675165
&session_priv,
5168-
total_value,
51695166
recipient_onion,
51705167
cur_height,
51715168
payment_hash,
@@ -5384,7 +5381,7 @@ impl<
53845381
pub(super) fn test_send_payment_internal(
53855382
&self, route: &Route, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields,
53865383
keysend_preimage: Option<PaymentPreimage>, payment_id: PaymentId,
5387-
recv_value_msat: Option<u64>, onion_session_privs: Vec<[u8; 32]>,
5384+
onion_session_privs: Vec<[u8; 32]>,
53885385
) -> Result<(), PaymentSendFailure> {
53895386
let best_block_height = self.best_block.read().unwrap().height;
53905387
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
@@ -5394,7 +5391,6 @@ impl<
53945391
recipient_onion,
53955392
keysend_preimage,
53965393
payment_id,
5397-
recv_value_msat,
53985394
onion_session_privs,
53995395
&self.node_signer,
54005396
best_block_height,
@@ -19998,7 +19994,7 @@ mod tests {
1999819994
let session_privs = nodes[0].node.test_add_new_pending_payment(our_payment_hash,
1999919995
RecipientOnionFields::secret_only(payment_secret, 200_000), payment_id, &mpp_route).unwrap();
2000019996
nodes[0].node.test_send_payment_along_path(&mpp_route.paths[0], &our_payment_hash,
20001-
RecipientOnionFields::secret_only(payment_secret, 200_000), 200_000, cur_height, payment_id, &None, session_privs[0]).unwrap();
19997+
RecipientOnionFields::secret_only(payment_secret, 200_000), cur_height, payment_id, &None, session_privs[0]).unwrap();
2000219998
check_added_monitors(&nodes[0], 1);
2000319999
let mut events = nodes[0].node.get_and_clear_pending_msg_events();
2000420000
assert_eq!(events.len(), 1);
@@ -20034,7 +20030,7 @@ mod tests {
2003420030

2003520031
// Send the second half of the original MPP payment.
2003620032
nodes[0].node.test_send_payment_along_path(&mpp_route.paths[1], &our_payment_hash,
20037-
RecipientOnionFields::secret_only(payment_secret, 200_000), 200_000, cur_height, payment_id, &None, session_privs[1]).unwrap();
20033+
RecipientOnionFields::secret_only(payment_secret, 200_000), cur_height, payment_id, &None, session_privs[1]).unwrap();
2003820034
check_added_monitors(&nodes[0], 1);
2003920035
let mut events = nodes[0].node.get_and_clear_pending_msg_events();
2004020036
assert_eq!(events.len(), 1);
@@ -20282,7 +20278,7 @@ mod tests {
2028220278
let session_privs = nodes[0].node.test_add_new_pending_payment(mismatch_payment_hash,
2028320279
RecipientOnionFields::spontaneous_empty(10_000), PaymentId(mismatch_payment_hash.0), &route).unwrap();
2028420280
nodes[0].node.test_send_payment_internal(&route, mismatch_payment_hash,
20285-
RecipientOnionFields::spontaneous_empty(10_000), Some(test_preimage), PaymentId(mismatch_payment_hash.0), None, session_privs).unwrap();
20281+
RecipientOnionFields::spontaneous_empty(10_000), Some(test_preimage), PaymentId(mismatch_payment_hash.0), session_privs).unwrap();
2028620282
check_added_monitors(&nodes[0], 1);
2028720283

2028820284
let updates = get_htlc_update_msgs(&nodes[0], &nodes[1].node.get_our_node_id());

lightning/src/ln/functional_tests.rs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2284,9 +2284,8 @@ pub fn fail_backward_pending_htlc_upon_channel_failure() {
22842284
let session_priv = SecretKey::from_slice(&[42; 32]).unwrap();
22852285
let current_height = nodes[1].node.best_block.read().unwrap().height + 1;
22862286
let recipient_onion_fields = RecipientOnionFields::secret_only(payment_secret, 50_000);
2287-
let (onion_payloads, _amount_msat, cltv_expiry) = onion_utils::build_onion_payloads(
2287+
let (onion_payloads, _amount_msat, cltv_expiry) = onion_utils::test_build_onion_payloads(
22882288
&route.paths[0],
2289-
50_000,
22902289
&recipient_onion_fields,
22912290
current_height,
22922291
&None,
@@ -3321,7 +3320,6 @@ fn do_test_htlc_timeout(send_partial_mpp: bool) {
33213320
&route.paths[0],
33223321
&our_payment_hash,
33233322
RecipientOnionFields::secret_only(payment_secret, 200_000),
3324-
200_000,
33253323
cur_height,
33263324
payment_id,
33273325
&None,
@@ -7011,10 +7009,9 @@ pub fn test_onion_value_mpp_set_calculation() {
70117009
let onion = RecipientOnionFields::secret_only(payment_secret, total_msat);
70127010
let onion_session_privs =
70137011
nodes[0].node.test_add_new_pending_payment(hash, onion.clone(), id, &route).unwrap();
7014-
let amt = Some(total_msat);
70157012
nodes[0]
70167013
.node
7017-
.test_send_payment_internal(&route, hash, onion, None, id, amt, onion_session_privs)
7014+
.test_send_payment_internal(&route, hash, onion, None, id, onion_session_privs)
70187015
.unwrap();
70197016
check_added_monitors(&nodes[0], expected_paths.len());
70207017

@@ -7042,9 +7039,8 @@ pub fn test_onion_value_mpp_set_calculation() {
70427039
&session_priv,
70437040
);
70447041
let recipient_onion_fields = RecipientOnionFields::secret_only(payment_secret, 100_000);
7045-
let (mut onion_payloads, _, _) = onion_utils::build_onion_payloads(
7042+
let (mut onion_payloads, _, _) = onion_utils::test_build_onion_payloads(
70467043
&route.paths[0],
7047-
100_000,
70487044
&recipient_onion_fields,
70497045
height + 1,
70507046
&None,
@@ -7150,10 +7146,9 @@ fn do_test_overshoot_mpp(msat_amounts: &[u64], total_msat: u64) {
71507146
let onion_session_privs =
71517147
nodes[src_idx].node.test_add_new_pending_payment(hash, onion, id, &route).unwrap();
71527148
let onion = RecipientOnionFields::secret_only(payment_secret, total_msat);
7153-
let amt = Some(total_msat);
71547149
nodes[src_idx]
71557150
.node
7156-
.test_send_payment_internal(&route, hash, onion, None, id, amt, onion_session_privs)
7151+
.test_send_payment_internal(&route, hash, onion, None, id, onion_session_privs)
71577152
.unwrap();
71587153
check_added_monitors(&nodes[src_idx], expected_paths.len());
71597154

@@ -8488,7 +8483,7 @@ pub fn test_inconsistent_mpp_params() {
84888483
let priv_a = session_privs[0];
84898484
nodes[0]
84908485
.node
8491-
.test_send_payment_along_path(path_a, &hash, onion, real_amt, cur_height, id, &None, priv_a)
8486+
.test_send_payment_along_path(path_a, &hash, onion, cur_height, id, &None, priv_a)
84928487
.unwrap();
84938488
check_added_monitors(&nodes[0], 1);
84948489

@@ -8501,11 +8496,10 @@ pub fn test_inconsistent_mpp_params() {
85018496

85028497
let path_b = &route.paths[1];
85038498
let onion = RecipientOnionFields::secret_only(payment_secret, 14_000_000);
8504-
let amt_b = 14_000_000;
85058499
let priv_b = session_privs[1];
85068500
nodes[0]
85078501
.node
8508-
.test_send_payment_along_path(path_b, &hash, onion, amt_b, cur_height, id, &None, priv_b)
8502+
.test_send_payment_along_path(path_b, &hash, onion, cur_height, id, &None, priv_b)
85098503
.unwrap();
85108504
check_added_monitors(&nodes[0], 1);
85118505

@@ -8565,7 +8559,7 @@ pub fn test_inconsistent_mpp_params() {
85658559
let priv_c = session_privs[2];
85668560
nodes[0]
85678561
.node
8568-
.test_send_payment_along_path(path_b, &hash, onion, real_amt, cur_height, id, &None, priv_c)
8562+
.test_send_payment_along_path(path_b, &hash, onion, cur_height, id, &None, priv_c)
85698563
.unwrap();
85708564
check_added_monitors(&nodes[0], 1);
85718565

lightning/src/ln/htlc_reserve_unit_tests.rs

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -821,9 +821,8 @@ pub fn do_test_fee_spike_buffer(cfg: Option<UserConfig>, htlc_fails: bool) {
821821
let onion_keys = onion_utils::construct_onion_keys(&secp_ctx, &route.paths[0], &session_priv);
822822
let recipient_onion_fields =
823823
RecipientOnionFields::secret_only(payment_secret, payment_amt_msat);
824-
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::build_onion_payloads(
824+
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::test_build_onion_payloads(
825825
&route.paths[0],
826-
payment_amt_msat,
827826
&recipient_onion_fields,
828827
cur_height,
829828
&None,
@@ -1069,9 +1068,8 @@ pub fn test_chan_reserve_violation_inbound_htlc_outbound_channel() {
10691068
let cur_height = nodes[1].node.best_block.read().unwrap().height + 1;
10701069
let onion_keys = onion_utils::construct_onion_keys(&secp_ctx, &route.paths[0], &session_priv);
10711070
let recipient_onion_fields = RecipientOnionFields::secret_only(payment_secret, 700_000);
1072-
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::build_onion_payloads(
1071+
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::test_build_onion_payloads(
10731072
&route.paths[0],
1074-
700_000,
10751073
&recipient_onion_fields,
10761074
cur_height,
10771075
&None,
@@ -1254,9 +1252,8 @@ pub fn test_chan_reserve_violation_inbound_htlc_inbound_chan() {
12541252
let cur_height = nodes[0].node.best_block.read().unwrap().height + 1;
12551253
let onion_keys = onion_utils::construct_onion_keys(&secp_ctx, &route_2.paths[0], &session_priv);
12561254
let recipient_onion_fields = RecipientOnionFields::spontaneous_empty(recv_value_2);
1257-
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::build_onion_payloads(
1255+
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::test_build_onion_payloads(
12581256
&route_2.paths[0],
1259-
recv_value_2,
12601257
&recipient_onion_fields,
12611258
cur_height,
12621259
&None,
@@ -1644,9 +1641,8 @@ pub fn test_update_add_htlc_bolt2_receiver_check_max_htlc_limit() {
16441641
&session_priv,
16451642
);
16461643
let recipient_onion_fields = RecipientOnionFields::secret_only(our_payment_secret, send_amt);
1647-
let (onion_payloads, _htlc_msat, htlc_cltv) = onion_utils::build_onion_payloads(
1644+
let (onion_payloads, _htlc_msat, htlc_cltv) = onion_utils::test_build_onion_payloads(
16481645
&route.paths[0],
1649-
send_amt,
16501646
&recipient_onion_fields,
16511647
cur_height,
16521648
&None,
@@ -2246,9 +2242,8 @@ pub fn do_test_dust_limit_fee_accounting(can_afford: bool) {
22462242
onion_utils::construct_onion_keys(&secp_ctx, &route_0_1.paths[0], &session_priv);
22472243
let recipient_onion_fields =
22482244
RecipientOnionFields::secret_only(payment_secret_0_1, HTLC_AMT_SAT * 1000);
2249-
let (onion_payloads, amount_msat, cltv_expiry) = onion_utils::build_onion_payloads(
2245+
let (onion_payloads, amount_msat, cltv_expiry) = onion_utils::test_build_onion_payloads(
22502246
&route_0_1.paths[0],
2251-
HTLC_AMT_SAT * 1000,
22522247
&recipient_onion_fields,
22532248
cur_height,
22542249
&None,

lightning/src/ln/max_payment_path_len_tests.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ fn large_payment_metadata() {
139139
&secp_ctx,
140140
&route_0_1.paths[0],
141141
&test_utils::privkey(42),
142-
MIN_FINAL_VALUE_ESTIMATE_WITH_OVERPAY,
143142
&too_large_onion,
144143
nodes[0].best_block_info().1 + DEFAULT_MAX_TOTAL_CLTV_EXPIRY_DELTA,
145144
&payment_hash,
@@ -369,9 +368,8 @@ fn blinded_path_with_custom_tlv() {
369368
// Calculate the maximum custom TLV value size where a valid onion packet is still possible.
370369
const CUSTOM_TLV_TYPE: u64 = 65537;
371370
let mut route = get_route(&nodes[1], &route_params).unwrap();
372-
let reserved_packet_bytes_without_custom_tlv: usize = onion_utils::build_onion_payloads(
371+
let reserved_packet_bytes_without_custom_tlv: usize = onion_utils::test_build_onion_payloads(
373372
&route.paths[0],
374-
MIN_FINAL_VALUE_ESTIMATE_WITH_OVERPAY,
375373
&RecipientOnionFields::spontaneous_empty(MIN_FINAL_VALUE_ESTIMATE_WITH_OVERPAY),
376374
nodes[0].best_block_info().1 + DEFAULT_MAX_TOTAL_CLTV_EXPIRY_DELTA,
377375
&None,
@@ -433,7 +431,6 @@ fn blinded_path_with_custom_tlv() {
433431
&secp_ctx,
434432
&route.paths[0],
435433
&test_utils::privkey(42),
436-
MIN_FINAL_VALUE_ESTIMATE_WITH_OVERPAY,
437434
&too_large_onion,
438435
nodes[0].best_block_info().1 + DEFAULT_MAX_TOTAL_CLTV_EXPIRY_DELTA,
439436
&payment_hash,

0 commit comments

Comments
 (0)