Skip to content

Commit beb3059

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 33be70e commit beb3059

11 files changed

+101
-135
lines changed

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
@@ -5126,15 +5126,14 @@ impl<
51265126
#[cfg(any(test, feature = "_externalize_tests"))]
51275127
pub(crate) fn test_send_payment_along_path(
51285128
&self, path: &Path, payment_hash: &PaymentHash, recipient_onion: RecipientOnionFields,
5129-
total_value: u64, cur_height: u32, payment_id: PaymentId,
5130-
keysend_preimage: &Option<PaymentPreimage>, session_priv_bytes: [u8; 32],
5129+
cur_height: u32, payment_id: PaymentId, keysend_preimage: &Option<PaymentPreimage>,
5130+
session_priv_bytes: [u8; 32],
51315131
) -> Result<(), APIError> {
51325132
let _lck = self.total_consistency_lock.read().unwrap();
51335133
self.send_payment_along_path(SendAlongPathArgs {
51345134
path,
51355135
payment_hash,
51365136
recipient_onion: &recipient_onion,
5137-
total_value,
51385137
cur_height,
51395138
payment_id,
51405139
keysend_preimage,
@@ -5150,7 +5149,6 @@ impl<
51505149
path,
51515150
payment_hash,
51525151
recipient_onion,
5153-
total_value,
51545152
cur_height,
51555153
payment_id,
51565154
keysend_preimage,
@@ -5175,7 +5173,6 @@ impl<
51755173
&self.secp_ctx,
51765174
&path,
51775175
&session_priv,
5178-
total_value,
51795176
recipient_onion,
51805177
cur_height,
51815178
payment_hash,
@@ -5394,7 +5391,7 @@ impl<
53945391
pub(super) fn test_send_payment_internal(
53955392
&self, route: &Route, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields,
53965393
keysend_preimage: Option<PaymentPreimage>, payment_id: PaymentId,
5397-
recv_value_msat: Option<u64>, onion_session_privs: Vec<[u8; 32]>,
5394+
onion_session_privs: Vec<[u8; 32]>,
53985395
) -> Result<(), PaymentSendFailure> {
53995396
let best_block_height = self.best_block.read().unwrap().height;
54005397
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
@@ -5404,7 +5401,6 @@ impl<
54045401
recipient_onion,
54055402
keysend_preimage,
54065403
payment_id,
5407-
recv_value_msat,
54085404
onion_session_privs,
54095405
&self.node_signer,
54105406
best_block_height,
@@ -19591,7 +19587,7 @@ mod tests {
1959119587
let session_privs = nodes[0].node.test_add_new_pending_payment(our_payment_hash,
1959219588
RecipientOnionFields::secret_only(payment_secret, 200_000), payment_id, &mpp_route).unwrap();
1959319589
nodes[0].node.test_send_payment_along_path(&mpp_route.paths[0], &our_payment_hash,
19594-
RecipientOnionFields::secret_only(payment_secret, 200_000), 200_000, cur_height, payment_id, &None, session_privs[0]).unwrap();
19590+
RecipientOnionFields::secret_only(payment_secret, 200_000), cur_height, payment_id, &None, session_privs[0]).unwrap();
1959519591
check_added_monitors(&nodes[0], 1);
1959619592
let mut events = nodes[0].node.get_and_clear_pending_msg_events();
1959719593
assert_eq!(events.len(), 1);
@@ -19627,7 +19623,7 @@ mod tests {
1962719623

1962819624
// Send the second half of the original MPP payment.
1962919625
nodes[0].node.test_send_payment_along_path(&mpp_route.paths[1], &our_payment_hash,
19630-
RecipientOnionFields::secret_only(payment_secret, 200_000), 200_000, cur_height, payment_id, &None, session_privs[1]).unwrap();
19626+
RecipientOnionFields::secret_only(payment_secret, 200_000), cur_height, payment_id, &None, session_privs[1]).unwrap();
1963119627
check_added_monitors(&nodes[0], 1);
1963219628
let mut events = nodes[0].node.get_and_clear_pending_msg_events();
1963319629
assert_eq!(events.len(), 1);
@@ -19875,7 +19871,7 @@ mod tests {
1987519871
let session_privs = nodes[0].node.test_add_new_pending_payment(mismatch_payment_hash,
1987619872
RecipientOnionFields::spontaneous_empty(10_000), PaymentId(mismatch_payment_hash.0), &route).unwrap();
1987719873
nodes[0].node.test_send_payment_internal(&route, mismatch_payment_hash,
19878-
RecipientOnionFields::spontaneous_empty(10_000), Some(test_preimage), PaymentId(mismatch_payment_hash.0), None, session_privs).unwrap();
19874+
RecipientOnionFields::spontaneous_empty(10_000), Some(test_preimage), PaymentId(mismatch_payment_hash.0), session_privs).unwrap();
1987919875
check_added_monitors(&nodes[0], 1);
1988019876

1988119877
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
@@ -2244,9 +2244,8 @@ pub fn fail_backward_pending_htlc_upon_channel_failure() {
22442244
let session_priv = SecretKey::from_slice(&[42; 32]).unwrap();
22452245
let current_height = nodes[1].node.best_block.read().unwrap().height + 1;
22462246
let recipient_onion_fields = RecipientOnionFields::secret_only(payment_secret, 50_000);
2247-
let (onion_payloads, _amount_msat, cltv_expiry) = onion_utils::build_onion_payloads(
2247+
let (onion_payloads, _amount_msat, cltv_expiry) = onion_utils::test_build_onion_payloads(
22482248
&route.paths[0],
2249-
50_000,
22502249
&recipient_onion_fields,
22512250
current_height,
22522251
&None,
@@ -3274,7 +3273,6 @@ fn do_test_htlc_timeout(send_partial_mpp: bool) {
32743273
&route.paths[0],
32753274
&our_payment_hash,
32763275
RecipientOnionFields::secret_only(payment_secret, 200_000),
3277-
200_000,
32783276
cur_height,
32793277
payment_id,
32803278
&None,
@@ -6910,10 +6908,9 @@ pub fn test_onion_value_mpp_set_calculation() {
69106908
let onion = RecipientOnionFields::secret_only(payment_secret, total_msat);
69116909
let onion_session_privs =
69126910
nodes[0].node.test_add_new_pending_payment(hash, onion.clone(), id, &route).unwrap();
6913-
let amt = Some(total_msat);
69146911
nodes[0]
69156912
.node
6916-
.test_send_payment_internal(&route, hash, onion, None, id, amt, onion_session_privs)
6913+
.test_send_payment_internal(&route, hash, onion, None, id, onion_session_privs)
69176914
.unwrap();
69186915
check_added_monitors(&nodes[0], expected_paths.len());
69196916

@@ -6941,9 +6938,8 @@ pub fn test_onion_value_mpp_set_calculation() {
69416938
&session_priv,
69426939
);
69436940
let recipient_onion_fields = RecipientOnionFields::secret_only(payment_secret, 100_000);
6944-
let (mut onion_payloads, _, _) = onion_utils::build_onion_payloads(
6941+
let (mut onion_payloads, _, _) = onion_utils::test_build_onion_payloads(
69456942
&route.paths[0],
6946-
100_000,
69476943
&recipient_onion_fields,
69486944
height + 1,
69496945
&None,
@@ -7049,10 +7045,9 @@ fn do_test_overshoot_mpp(msat_amounts: &[u64], total_msat: u64) {
70497045
let onion_session_privs =
70507046
nodes[src_idx].node.test_add_new_pending_payment(hash, onion, id, &route).unwrap();
70517047
let onion = RecipientOnionFields::secret_only(payment_secret, total_msat);
7052-
let amt = Some(total_msat);
70537048
nodes[src_idx]
70547049
.node
7055-
.test_send_payment_internal(&route, hash, onion, None, id, amt, onion_session_privs)
7050+
.test_send_payment_internal(&route, hash, onion, None, id, onion_session_privs)
70567051
.unwrap();
70577052
check_added_monitors(&nodes[src_idx], expected_paths.len());
70587053

@@ -8369,7 +8364,7 @@ pub fn test_inconsistent_mpp_params() {
83698364
let priv_a = session_privs[0];
83708365
nodes[0]
83718366
.node
8372-
.test_send_payment_along_path(path_a, &hash, onion, real_amt, cur_height, id, &None, priv_a)
8367+
.test_send_payment_along_path(path_a, &hash, onion, cur_height, id, &None, priv_a)
83738368
.unwrap();
83748369
check_added_monitors(&nodes[0], 1);
83758370

@@ -8382,11 +8377,10 @@ pub fn test_inconsistent_mpp_params() {
83828377

83838378
let path_b = &route.paths[1];
83848379
let onion = RecipientOnionFields::secret_only(payment_secret, 14_000_000);
8385-
let amt_b = 14_000_000;
83868380
let priv_b = session_privs[1];
83878381
nodes[0]
83888382
.node
8389-
.test_send_payment_along_path(path_b, &hash, onion, amt_b, cur_height, id, &None, priv_b)
8383+
.test_send_payment_along_path(path_b, &hash, onion, cur_height, id, &None, priv_b)
83908384
.unwrap();
83918385
check_added_monitors(&nodes[0], 1);
83928386

@@ -8446,7 +8440,7 @@ pub fn test_inconsistent_mpp_params() {
84468440
let priv_c = session_privs[2];
84478441
nodes[0]
84488442
.node
8449-
.test_send_payment_along_path(path_b, &hash, onion, real_amt, cur_height, id, &None, priv_c)
8443+
.test_send_payment_along_path(path_b, &hash, onion, cur_height, id, &None, priv_c)
84508444
.unwrap();
84518445
check_added_monitors(&nodes[0], 1);
84528446

lightning/src/ln/htlc_reserve_unit_tests.rs

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -817,9 +817,8 @@ pub fn do_test_fee_spike_buffer(cfg: Option<UserConfig>, htlc_fails: bool) {
817817
let onion_keys = onion_utils::construct_onion_keys(&secp_ctx, &route.paths[0], &session_priv);
818818
let recipient_onion_fields =
819819
RecipientOnionFields::secret_only(payment_secret, payment_amt_msat);
820-
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::build_onion_payloads(
820+
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::test_build_onion_payloads(
821821
&route.paths[0],
822-
payment_amt_msat,
823822
&recipient_onion_fields,
824823
cur_height,
825824
&None,
@@ -1061,9 +1060,8 @@ pub fn test_chan_reserve_violation_inbound_htlc_outbound_channel() {
10611060
let cur_height = nodes[1].node.best_block.read().unwrap().height + 1;
10621061
let onion_keys = onion_utils::construct_onion_keys(&secp_ctx, &route.paths[0], &session_priv);
10631062
let recipient_onion_fields = RecipientOnionFields::secret_only(payment_secret, 700_000);
1064-
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::build_onion_payloads(
1063+
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::test_build_onion_payloads(
10651064
&route.paths[0],
1066-
700_000,
10671065
&recipient_onion_fields,
10681066
cur_height,
10691067
&None,
@@ -1242,9 +1240,8 @@ pub fn test_chan_reserve_violation_inbound_htlc_inbound_chan() {
12421240
let cur_height = nodes[0].node.best_block.read().unwrap().height + 1;
12431241
let onion_keys = onion_utils::construct_onion_keys(&secp_ctx, &route_2.paths[0], &session_priv);
12441242
let recipient_onion_fields = RecipientOnionFields::spontaneous_empty(recv_value_2);
1245-
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::build_onion_payloads(
1243+
let (onion_payloads, htlc_msat, htlc_cltv) = onion_utils::test_build_onion_payloads(
12461244
&route_2.paths[0],
1247-
recv_value_2,
12481245
&recipient_onion_fields,
12491246
cur_height,
12501247
&None,
@@ -1630,9 +1627,8 @@ pub fn test_update_add_htlc_bolt2_receiver_check_max_htlc_limit() {
16301627
&session_priv,
16311628
);
16321629
let recipient_onion_fields = RecipientOnionFields::secret_only(our_payment_secret, send_amt);
1633-
let (onion_payloads, _htlc_msat, htlc_cltv) = onion_utils::build_onion_payloads(
1630+
let (onion_payloads, _htlc_msat, htlc_cltv) = onion_utils::test_build_onion_payloads(
16341631
&route.paths[0],
1635-
send_amt,
16361632
&recipient_onion_fields,
16371633
cur_height,
16381634
&None,
@@ -2237,9 +2233,8 @@ pub fn do_test_dust_limit_fee_accounting(can_afford: bool) {
22372233
onion_utils::construct_onion_keys(&secp_ctx, &route_0_1.paths[0], &session_priv);
22382234
let recipient_onion_fields =
22392235
RecipientOnionFields::secret_only(payment_secret_0_1, HTLC_AMT_SAT * 1000);
2240-
let (onion_payloads, amount_msat, cltv_expiry) = onion_utils::build_onion_payloads(
2236+
let (onion_payloads, amount_msat, cltv_expiry) = onion_utils::test_build_onion_payloads(
22412237
&route_0_1.paths[0],
2242-
HTLC_AMT_SAT * 1000,
22432238
&recipient_onion_fields,
22442239
cur_height,
22452240
&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)