Skip to content

Commit 266a3aa

Browse files
committed
Have get_route take RouteParameters
1 parent b3612b8 commit 266a3aa

File tree

11 files changed

+519
-372
lines changed

11 files changed

+519
-372
lines changed

fuzz/src/full_stack.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -527,10 +527,8 @@ pub fn do_test(data: &[u8], logger: &Arc<dyn Logger>) {
527527
4 => {
528528
let final_value_msat = slice_to_be24(get_slice!(3)) as u64;
529529
let payment_params = PaymentParameters::from_node_id(get_pubkey!(), 42);
530-
let params = RouteParameters {
531-
payment_params,
532-
final_value_msat,
533-
};
530+
let params = RouteParameters::from_payment_params_and_value(
531+
payment_params, final_value_msat);
534532
let mut payment_hash = PaymentHash([0; 32]);
535533
payment_hash.0[0..8].copy_from_slice(&be64_to_array(payments_sent));
536534
let mut sha = Sha256::engine();
@@ -548,10 +546,8 @@ pub fn do_test(data: &[u8], logger: &Arc<dyn Logger>) {
548546
15 => {
549547
let final_value_msat = slice_to_be24(get_slice!(3)) as u64;
550548
let payment_params = PaymentParameters::from_node_id(get_pubkey!(), 42);
551-
let params = RouteParameters {
552-
payment_params,
553-
final_value_msat,
554-
};
549+
let params = RouteParameters::from_payment_params_and_value(
550+
payment_params, final_value_msat);
555551
let mut payment_hash = PaymentHash([0; 32]);
556552
payment_hash.0[0..8].copy_from_slice(&be64_to_array(payments_sent));
557553
let mut sha = Sha256::engine();

fuzz/src/router.rs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -326,11 +326,10 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
326326
let mut last_hops = Vec::new();
327327
last_hops!(last_hops);
328328
find_routes!(first_hops, node_pks.iter(), |final_amt, final_delta, target: &PublicKey| {
329-
RouteParameters {
330-
payment_params: PaymentParameters::from_node_id(*target, final_delta)
329+
RouteParameters::from_payment_params_and_value(
330+
PaymentParameters::from_node_id(*target, final_delta)
331331
.with_route_hints(last_hops.clone()).unwrap(),
332-
final_value_msat: final_amt,
333-
}
332+
final_amt)
334333
});
335334
},
336335
x => {
@@ -366,11 +365,9 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
366365
let mut features = Bolt12InvoiceFeatures::empty();
367366
features.set_basic_mpp_optional();
368367
find_routes!(first_hops, vec![dummy_pk].iter(), |final_amt, _, _| {
369-
RouteParameters {
370-
payment_params: PaymentParameters::blinded(last_hops.clone())
371-
.with_bolt12_features(features.clone()).unwrap(),
372-
final_value_msat: final_amt,
373-
}
368+
RouteParameters::from_payment_params_and_value(PaymentParameters::blinded(last_hops.clone())
369+
.with_bolt12_features(features.clone()).unwrap(),
370+
final_amt)
374371
});
375372
}
376373
}

lightning-invoice/src/utils.rs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -869,10 +869,8 @@ mod test {
869869
invoice.min_final_cltv_expiry_delta() as u32)
870870
.with_bolt11_features(invoice.features().unwrap().clone()).unwrap()
871871
.with_route_hints(invoice.route_hints()).unwrap();
872-
let route_params = RouteParameters {
873-
payment_params,
874-
final_value_msat: invoice.amount_milli_satoshis().unwrap(),
875-
};
872+
let route_params = RouteParameters::from_payment_params_and_value(
873+
payment_params, invoice.amount_milli_satoshis().unwrap());
876874
let payment_event = {
877875
let mut payment_hash = PaymentHash([0; 32]);
878876
payment_hash.0.copy_from_slice(&invoice.payment_hash().as_ref()[0..32]);
@@ -1326,10 +1324,8 @@ mod test {
13261324
invoice.min_final_cltv_expiry_delta() as u32)
13271325
.with_bolt11_features(invoice.features().unwrap().clone()).unwrap()
13281326
.with_route_hints(invoice.route_hints()).unwrap();
1329-
let params = RouteParameters {
1330-
payment_params,
1331-
final_value_msat: invoice.amount_milli_satoshis().unwrap(),
1332-
};
1327+
let params = RouteParameters::from_payment_params_and_value(
1328+
payment_params, invoice.amount_milli_satoshis().unwrap());
13331329
let (payment_event, fwd_idx) = {
13341330
let mut payment_hash = PaymentHash([0; 32]);
13351331
payment_hash.0.copy_from_slice(&invoice.payment_hash().as_ref()[0..32]);

lightning/src/ln/channelmanager.rs

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9653,10 +9653,9 @@ mod tests {
96539653
let (payment_preimage, payment_hash, _) = route_payment(&nodes[0], &expected_route, 100_000);
96549654

96559655
// Next, attempt a keysend payment and make sure it fails.
9656-
let route_params = RouteParameters {
9657-
payment_params: PaymentParameters::for_keysend(expected_route.last().unwrap().node.get_our_node_id(), TEST_FINAL_CLTV, false),
9658-
final_value_msat: 100_000,
9659-
};
9656+
let route_params = RouteParameters::from_payment_params_and_value(
9657+
PaymentParameters::for_keysend(expected_route.last().unwrap().node.get_our_node_id(),
9658+
TEST_FINAL_CLTV, false), 100_000);
96609659
let route = find_route(
96619660
&nodes[0].node.get_our_node_id(), &route_params, &nodes[0].network_graph,
96629661
None, nodes[0].logger, &scorer, &(), &random_seed_bytes
@@ -9744,10 +9743,10 @@ mod tests {
97449743
pass_along_path(&nodes[0], &path, 100_000, payment_hash, None, event, true, Some(payment_preimage));
97459744

97469745
// Next, attempt a keysend payment and make sure it fails.
9747-
let route_params = RouteParameters {
9748-
payment_params: PaymentParameters::for_keysend(expected_route.last().unwrap().node.get_our_node_id(), TEST_FINAL_CLTV, false),
9749-
final_value_msat: 100_000,
9750-
};
9746+
let route_params = RouteParameters::from_payment_params_and_value(
9747+
PaymentParameters::for_keysend(expected_route.last().unwrap().node.get_our_node_id(), TEST_FINAL_CLTV, false),
9748+
100_000
9749+
);
97519750
let route = find_route(
97529751
&nodes[0].node.get_our_node_id(), &route_params, &nodes[0].network_graph,
97539752
None, nodes[0].logger, &scorer, &(), &random_seed_bytes
@@ -9793,10 +9792,8 @@ mod tests {
97939792
let payee_pubkey = nodes[1].node.get_our_node_id();
97949793

97959794
let _chan = create_chan_between_nodes(&nodes[0], &nodes[1]);
9796-
let route_params = RouteParameters {
9797-
payment_params: PaymentParameters::for_keysend(payee_pubkey, 40, false),
9798-
final_value_msat: 10_000,
9799-
};
9795+
let route_params = RouteParameters::from_payment_params_and_value(
9796+
PaymentParameters::for_keysend(payee_pubkey, 40, false), 10_000);
98009797
let network_graph = nodes[0].network_graph.clone();
98019798
let first_hops = nodes[0].node.list_usable_channels();
98029799
let scorer = test_utils::TestScorer::new();
@@ -9840,10 +9837,8 @@ mod tests {
98409837
let payee_pubkey = nodes[1].node.get_our_node_id();
98419838

98429839
let _chan = create_chan_between_nodes(&nodes[0], &nodes[1]);
9843-
let route_params = RouteParameters {
9844-
payment_params: PaymentParameters::for_keysend(payee_pubkey, 40, false),
9845-
final_value_msat: 10_000,
9846-
};
9840+
let route_params = RouteParameters::from_payment_params_and_value(
9841+
PaymentParameters::for_keysend(payee_pubkey, 40, false), 10_000);
98479842
let network_graph = nodes[0].network_graph.clone();
98489843
let first_hops = nodes[0].node.list_usable_channels();
98499844
let scorer = test_utils::TestScorer::new();
@@ -10740,9 +10735,9 @@ pub mod bench {
1074010735
let payment_secret = $node_b.create_inbound_payment_for_hash(payment_hash, None, 7200, None).unwrap();
1074110736

1074210737
$node_a.send_payment(payment_hash, RecipientOnionFields::secret_only(payment_secret),
10743-
PaymentId(payment_hash.0), RouteParameters {
10744-
payment_params, final_value_msat: 10_000,
10745-
}, Retry::Attempts(0)).unwrap();
10738+
PaymentId(payment_hash.0),
10739+
RouteParameters::from_payment_params_and_value(payment_params, 10_000),
10740+
Retry::Attempts(0)).unwrap();
1074610741
let payment_event = SendEvent::from_event($node_a.get_and_clear_pending_msg_events().pop().unwrap());
1074710742
$node_b.handle_update_add_htlc(&$node_a.get_our_node_id(), &payment_event.msgs[0]);
1074810743
$node_b.handle_commitment_signed(&$node_a.get_our_node_id(), &payment_event.commitment_msg);

lightning/src/ln/functional_test_utils.rs

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::events::bump_transaction::{BumpTransactionEventHandler, Wallet, Walle
1919
use crate::ln::{ChannelId, PaymentPreimage, PaymentHash, PaymentSecret};
2020
use crate::ln::channelmanager::{self, AChannelManager, ChainParameters, ChannelManager, ChannelManagerReadArgs, RAACommitmentOrder, PaymentSendFailure, RecipientOnionFields, PaymentId, MIN_CLTV_EXPIRY_DELTA};
2121
use crate::routing::gossip::{P2PGossipSync, NetworkGraph, NetworkUpdate};
22-
use crate::routing::router::{self, PaymentParameters, Route};
22+
use crate::routing::router::{self, PaymentParameters, Route, RouteParameters};
2323
use crate::ln::features::InitFeatures;
2424
use crate::ln::msgs;
2525
use crate::ln::msgs::{ChannelMessageHandler,RoutingMessageHandler};
@@ -1838,14 +1838,14 @@ macro_rules! get_payment_preimage_hash {
18381838
}
18391839

18401840
/// Gets a route from the given sender to the node described in `payment_params`.
1841-
pub fn get_route(send_node: &Node, payment_params: &PaymentParameters, recv_value: u64) -> Result<Route, msgs::LightningError> {
1841+
pub fn get_route(send_node: &Node, route_params: &RouteParameters) -> Result<Route, msgs::LightningError> {
18421842
let scorer = TestScorer::new();
18431843
let keys_manager = TestKeysInterface::new(&[0u8; 32], bitcoin::network::constants::Network::Testnet);
18441844
let random_seed_bytes = keys_manager.get_secure_random_bytes();
18451845
router::get_route(
1846-
&send_node.node.get_our_node_id(), payment_params, &send_node.network_graph.read_only(),
1846+
&send_node.node.get_our_node_id(), route_params, &send_node.network_graph.read_only(),
18471847
Some(&send_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
1848-
recv_value, send_node.logger, &scorer, &(), &random_seed_bytes
1848+
send_node.logger, &scorer, &(), &random_seed_bytes
18491849
)
18501850
}
18511851

@@ -1854,9 +1854,10 @@ pub fn get_route(send_node: &Node, payment_params: &PaymentParameters, recv_valu
18541854
/// Don't use this, use the identically-named function instead.
18551855
#[macro_export]
18561856
macro_rules! get_route {
1857-
($send_node: expr, $payment_params: expr, $recv_value: expr) => {
1858-
$crate::ln::functional_test_utils::get_route(&$send_node, &$payment_params, $recv_value)
1859-
}
1857+
($send_node: expr, $payment_params: expr, $recv_value: expr) => {{
1858+
let route_params = $crate::routing::router::RouteParameters::from_payment_params_and_value($payment_params, $recv_value);
1859+
$crate::ln::functional_test_utils::get_route(&$send_node, &route_params)
1860+
}}
18601861
}
18611862

18621863
#[cfg(test)]
@@ -1868,9 +1869,10 @@ macro_rules! get_route_and_payment_hash {
18681869
$crate::get_route_and_payment_hash!($send_node, $recv_node, payment_params, $recv_value)
18691870
}};
18701871
($send_node: expr, $recv_node: expr, $payment_params: expr, $recv_value: expr) => {{
1872+
let route_params = $crate::routing::router::RouteParameters::from_payment_params_and_value($payment_params, $recv_value);
18711873
let (payment_preimage, payment_hash, payment_secret) =
18721874
$crate::ln::functional_test_utils::get_payment_preimage_hash(&$recv_node, Some($recv_value), None);
1873-
let route = $crate::ln::functional_test_utils::get_route(&$send_node, &$payment_params, $recv_value);
1875+
let route = $crate::ln::functional_test_utils::get_route(&$send_node, &route_params);
18741876
(route.unwrap(), payment_hash, payment_preimage, payment_secret)
18751877
}}
18761878
}
@@ -2464,7 +2466,8 @@ pub const TEST_FINAL_CLTV: u32 = 70;
24642466
pub fn route_payment<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_route: &[&Node<'a, 'b, 'c>], recv_value: u64) -> (PaymentPreimage, PaymentHash, PaymentSecret) {
24652467
let payment_params = PaymentParameters::from_node_id(expected_route.last().unwrap().node.get_our_node_id(), TEST_FINAL_CLTV)
24662468
.with_bolt11_features(expected_route.last().unwrap().node.invoice_features()).unwrap();
2467-
let route = get_route(origin_node, &payment_params, recv_value).unwrap();
2469+
let route_params = RouteParameters::from_payment_params_and_value(payment_params, recv_value);
2470+
let route = get_route(origin_node, &route_params).unwrap();
24682471
assert_eq!(route.paths.len(), 1);
24692472
assert_eq!(route.paths[0].hops.len(), expected_route.len());
24702473
for (node, hop) in expected_route.iter().zip(route.paths[0].hops.iter()) {
@@ -2478,14 +2481,14 @@ pub fn route_payment<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_route:
24782481
pub fn route_over_limit<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_route: &[&Node<'a, 'b, 'c>], recv_value: u64) {
24792482
let payment_params = PaymentParameters::from_node_id(expected_route.last().unwrap().node.get_our_node_id(), TEST_FINAL_CLTV)
24802483
.with_bolt11_features(expected_route.last().unwrap().node.invoice_features()).unwrap();
2484+
let route_params = RouteParameters::from_payment_params_and_value(payment_params, recv_value);
24812485
let network_graph = origin_node.network_graph.read_only();
24822486
let scorer = test_utils::TestScorer::new();
24832487
let seed = [0u8; 32];
24842488
let keys_manager = test_utils::TestKeysInterface::new(&seed, Network::Testnet);
24852489
let random_seed_bytes = keys_manager.get_secure_random_bytes();
2486-
let route = router::get_route(
2487-
&origin_node.node.get_our_node_id(), &payment_params, &network_graph,
2488-
None, recv_value, origin_node.logger, &scorer, &(), &random_seed_bytes).unwrap();
2490+
let route = router::get_route(&origin_node.node.get_our_node_id(), &route_params, &network_graph,
2491+
None, origin_node.logger, &scorer, &(), &random_seed_bytes).unwrap();
24892492
assert_eq!(route.paths.len(), 1);
24902493
assert_eq!(route.paths[0].hops.len(), expected_route.len());
24912494
for (node, hop) in expected_route.iter().zip(route.paths[0].hops.iter()) {

lightning/src/ln/functional_tests.rs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use crate::ln::channel::{DISCONNECT_PEER_AWAITING_RESPONSE_TICKS, ChannelError};
2626
use crate::ln::{chan_utils, onion_utils};
2727
use crate::ln::chan_utils::{OFFERED_HTLC_SCRIPT_WEIGHT, htlc_success_tx_weight, htlc_timeout_tx_weight, HTLCOutputInCommitment};
2828
use crate::routing::gossip::{NetworkGraph, NetworkUpdate};
29-
use crate::routing::router::{Path, PaymentParameters, Route, RouteHop, get_route};
29+
use crate::routing::router::{Path, PaymentParameters, Route, RouteHop, get_route, RouteParameters};
3030
use crate::ln::features::{ChannelFeatures, ChannelTypeFeatures, NodeFeatures};
3131
use crate::ln::msgs;
3232
use crate::ln::msgs::{ChannelMessageHandler, RoutingMessageHandler, ErrorAction};
@@ -7137,8 +7137,11 @@ fn test_check_htlc_underpaying() {
71377137

71387138
let scorer = test_utils::TestScorer::new();
71397139
let random_seed_bytes = chanmon_cfgs[1].keys_manager.get_secure_random_bytes();
7140-
let payment_params = PaymentParameters::from_node_id(nodes[1].node.get_our_node_id(), TEST_FINAL_CLTV).with_bolt11_features(nodes[1].node.invoice_features()).unwrap();
7141-
let route = get_route(&nodes[0].node.get_our_node_id(), &payment_params, &nodes[0].network_graph.read_only(), None, 10_000, nodes[0].logger, &scorer, &(), &random_seed_bytes).unwrap();
7140+
let payment_params = PaymentParameters::from_node_id(nodes[1].node.get_our_node_id(),
7141+
TEST_FINAL_CLTV).with_bolt11_features(nodes[1].node.invoice_features()).unwrap();
7142+
let route_params = RouteParameters::from_payment_params_and_value(payment_params, 10_000);
7143+
let route = get_route(&nodes[0].node.get_our_node_id(), &route_params, &nodes[0].network_graph.read_only(),
7144+
None, nodes[0].logger, &scorer, &(), &random_seed_bytes).unwrap();
71427145
let (_, our_payment_hash, _) = get_payment_preimage_hash!(nodes[0]);
71437146
let our_payment_secret = nodes[1].node.create_inbound_payment_for_hash(our_payment_hash, Some(100_000), 7200, None).unwrap();
71447147
nodes[0].node.send_payment_with_route(&route, our_payment_hash,
@@ -7394,12 +7397,14 @@ fn test_bump_penalty_txn_on_revoked_htlcs() {
73947397
let payment_params = PaymentParameters::from_node_id(nodes[1].node.get_our_node_id(), 50).with_bolt11_features(nodes[1].node.invoice_features()).unwrap();
73957398
let scorer = test_utils::TestScorer::new();
73967399
let random_seed_bytes = chanmon_cfgs[1].keys_manager.get_secure_random_bytes();
7397-
let route = get_route(&nodes[0].node.get_our_node_id(), &payment_params, &nodes[0].network_graph.read_only(), None,
7398-
3_000_000, nodes[0].logger, &scorer, &(), &random_seed_bytes).unwrap();
7400+
let route_params = RouteParameters::from_payment_params_and_value(payment_params, 3_000_000);
7401+
let route = get_route(&nodes[0].node.get_our_node_id(), &route_params, &nodes[0].network_graph.read_only(), None,
7402+
nodes[0].logger, &scorer, &(), &random_seed_bytes).unwrap();
73997403
let payment_preimage = send_along_route(&nodes[0], route, &[&nodes[1]], 3_000_000).0;
74007404
let payment_params = PaymentParameters::from_node_id(nodes[0].node.get_our_node_id(), 50).with_bolt11_features(nodes[0].node.invoice_features()).unwrap();
7401-
let route = get_route(&nodes[1].node.get_our_node_id(), &payment_params, &nodes[1].network_graph.read_only(), None,
7402-
3_000_000, nodes[0].logger, &scorer, &(), &random_seed_bytes).unwrap();
7405+
let route_params = RouteParameters::from_payment_params_and_value(payment_params, 3_000_000);
7406+
let route = get_route(&nodes[1].node.get_our_node_id(), &route_params, &nodes[1].network_graph.read_only(), None,
7407+
nodes[0].logger, &scorer, &(), &random_seed_bytes).unwrap();
74037408
send_along_route(&nodes[1], route, &[&nodes[0]], 3_000_000);
74047409

74057410
let revoked_local_txn = get_local_commitment_txn!(nodes[1], chan.2);

lightning/src/ln/onion_route_tests.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::ln::channel::EXPIRE_PREV_CONFIG_TICKS;
1919
use crate::ln::channelmanager::{HTLCForwardInfo, FailureCode, CLTV_FAR_FAR_AWAY, DISABLE_GOSSIP_TICKS, MIN_CLTV_EXPIRY_DELTA, PendingAddHTLCInfo, PendingHTLCInfo, PendingHTLCRouting, PaymentId, RecipientOnionFields};
2020
use crate::ln::onion_utils;
2121
use crate::routing::gossip::{NetworkUpdate, RoutingFees};
22-
use crate::routing::router::{get_route, PaymentParameters, Route, RouteHint, RouteHintHop};
22+
use crate::routing::router::{get_route, PaymentParameters, Route, RouteParameters, RouteHint, RouteHintHop};
2323
use crate::ln::features::{InitFeatures, Bolt11InvoiceFeatures};
2424
use crate::ln::msgs;
2525
use crate::ln::msgs::{ChannelMessageHandler, ChannelUpdate};
@@ -1048,10 +1048,11 @@ macro_rules! get_phantom_route {
10481048
])]).unwrap();
10491049
let scorer = test_utils::TestScorer::new();
10501050
let network_graph = $nodes[0].network_graph.read_only();
1051+
let route_params = RouteParameters::from_payment_params_and_value(payment_params, $amt);
10511052
(get_route(
1052-
&$nodes[0].node.get_our_node_id(), &payment_params, &network_graph,
1053+
&$nodes[0].node.get_our_node_id(), &route_params, &network_graph,
10531054
Some(&$nodes[0].node.list_usable_channels().iter().collect::<Vec<_>>()),
1054-
$amt, $nodes[0].logger, &scorer, &(), &[0u8; 32]
1055+
$nodes[0].logger, &scorer, &(), &[0u8; 32]
10551056
).unwrap(), phantom_route_hint.phantom_scid)
10561057
}
10571058
}}

lightning/src/ln/outbound_payment.rs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1565,10 +1565,7 @@ mod tests {
15651565
PublicKey::from_secret_key(&secp_ctx, &SecretKey::from_slice(&[42; 32]).unwrap()),
15661566
0
15671567
).with_expiry_time(past_expiry_time);
1568-
let expired_route_params = RouteParameters {
1569-
payment_params,
1570-
final_value_msat: 0,
1571-
};
1568+
let expired_route_params = RouteParameters::from_payment_params_and_value(payment_params, 0);
15721569
let pending_events = Mutex::new(VecDeque::new());
15731570
if on_retry {
15741571
outbound_payments.add_new_pending_payment(PaymentHash([0; 32]), RecipientOnionFields::spontaneous_empty(),
@@ -1609,10 +1606,7 @@ mod tests {
16091606

16101607
let payment_params = PaymentParameters::from_node_id(
16111608
PublicKey::from_secret_key(&secp_ctx, &SecretKey::from_slice(&[42; 32]).unwrap()), 0);
1612-
let route_params = RouteParameters {
1613-
payment_params,
1614-
final_value_msat: 0,
1615-
};
1609+
let route_params = RouteParameters::from_payment_params_and_value(payment_params, 0);
16161610
router.expect_find_route(route_params.clone(),
16171611
Err(LightningError { err: String::new(), action: ErrorAction::IgnoreError }));
16181612

@@ -1652,10 +1646,7 @@ mod tests {
16521646
let sender_pk = PublicKey::from_secret_key(&secp_ctx, &SecretKey::from_slice(&[42; 32]).unwrap());
16531647
let receiver_pk = PublicKey::from_secret_key(&secp_ctx, &SecretKey::from_slice(&[43; 32]).unwrap());
16541648
let payment_params = PaymentParameters::from_node_id(sender_pk, 0);
1655-
let route_params = RouteParameters {
1656-
payment_params: payment_params.clone(),
1657-
final_value_msat: 0,
1658-
};
1649+
let route_params = RouteParameters::from_payment_params_and_value(payment_params.clone(), 0);
16591650
let failed_scid = 42;
16601651
let route = Route {
16611652
paths: vec![Path { hops: vec![RouteHop {

0 commit comments

Comments
 (0)