mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-03-15 15:39:09 +01:00
Add find_route test util
And use it in the multihop blinded path receive failure test. Will be used in the next commit to test receiving an invalid blinded final onion payload. We can't use the existing get_route test util here because blinded payments rely on the sender adding a random shadow CLTV offset to the final hop; without this the payment will be failed with cltv-expiry-too-soon.
This commit is contained in:
parent
d99089e16a
commit
fbe4bf1cdd
2 changed files with 14 additions and 0 deletions
|
@ -474,6 +474,8 @@ fn multi_hop_receiver_fail() {
|
|||
nodes.iter().skip(1).map(|n| n.node.get_our_node_id()).collect(), &[&chan_upd_1_2],
|
||||
&chanmon_cfgs[2].keys_manager);
|
||||
|
||||
let route = find_route(&nodes[0], &route_params).unwrap();
|
||||
node_cfgs[0].router.expect_find_route(route_params.clone(), Ok(route.clone()));
|
||||
nodes[0].node.send_payment(payment_hash, RecipientOnionFields::spontaneous_empty(), PaymentId(payment_hash.0), route_params, Retry::Attempts(0)).unwrap();
|
||||
check_added_monitors(&nodes[0], 1);
|
||||
pass_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], amt_msat, payment_hash, payment_secret);
|
||||
|
|
|
@ -1971,6 +1971,18 @@ pub fn get_route(send_node: &Node, route_params: &RouteParameters) -> Result<Rou
|
|||
)
|
||||
}
|
||||
|
||||
/// Like `get_route` above, but adds a random CLTV offset to the final hop.
|
||||
pub fn find_route(send_node: &Node, route_params: &RouteParameters) -> Result<Route, msgs::LightningError> {
|
||||
let scorer = TestScorer::new();
|
||||
let keys_manager = TestKeysInterface::new(&[0u8; 32], bitcoin::network::constants::Network::Testnet);
|
||||
let random_seed_bytes = keys_manager.get_secure_random_bytes();
|
||||
router::find_route(
|
||||
&send_node.node.get_our_node_id(), route_params, &send_node.network_graph,
|
||||
Some(&send_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
|
||||
send_node.logger, &scorer, &Default::default(), &random_seed_bytes
|
||||
)
|
||||
}
|
||||
|
||||
/// Gets a route from the given sender to the node described in `payment_params`.
|
||||
///
|
||||
/// Don't use this, use the identically-named function instead.
|
||||
|
|
Loading…
Add table
Reference in a new issue