Skip to content

Commit 697bda8

Browse files
f use get_route_and_payment_hash macro
1 parent ea506e3 commit 697bda8

File tree

2 files changed

+13
-26
lines changed

2 files changed

+13
-26
lines changed

lightning/src/ln/functional_test_utils.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1174,16 +1174,19 @@ macro_rules! get_route_and_payment_hash {
11741174
$crate::get_route_and_payment_hash!($send_node, $recv_node, vec![], $recv_value, TEST_FINAL_CLTV)
11751175
}};
11761176
($send_node: expr, $recv_node: expr, $last_hops: expr, $recv_value: expr, $cltv: expr) => {{
1177-
use $crate::chain::keysinterface::KeysInterface;
1178-
let (payment_preimage, payment_hash, payment_secret) = $crate::get_payment_preimage_hash!($recv_node, Some($recv_value));
11791177
let payment_params = $crate::routing::router::PaymentParameters::from_node_id($recv_node.node.get_our_node_id())
11801178
.with_features($crate::ln::features::InvoiceFeatures::known())
11811179
.with_route_hints($last_hops);
1180+
$crate::get_route_and_payment_hash!($send_node, $recv_node, payment_params, $recv_value, $cltv, true)
1181+
}};
1182+
($send_node: expr, $recv_node: expr, $payment_params: expr, $recv_value: expr, $cltv: expr, true /* with specified payment_params */) => {{
1183+
use $crate::chain::keysinterface::KeysInterface;
1184+
let (payment_preimage, payment_hash, payment_secret) = $crate::get_payment_preimage_hash!($recv_node, Some($recv_value));
11821185
let scorer = $crate::util::test_utils::TestScorer::with_penalty(0);
11831186
let keys_manager = $crate::util::test_utils::TestKeysInterface::new(&[0u8; 32], bitcoin::network::constants::Network::Testnet);
11841187
let random_seed_bytes = keys_manager.get_secure_random_bytes();
11851188
let route = $crate::routing::router::get_route(
1186-
&$send_node.node.get_our_node_id(), &payment_params, &$send_node.network_graph.read_only(),
1189+
&$send_node.node.get_our_node_id(), &$payment_params, &$send_node.network_graph.read_only(),
11871190
Some(&$send_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
11881191
$recv_value, $cltv, $send_node.logger, &scorer, &random_seed_bytes
11891192
).unwrap();

lightning/src/ln/onion_route_tests.rs

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ use bitcoin::hashes::sha256::Hash as Sha256;
3434
use bitcoin::secp256k1;
3535
use bitcoin::secp256k1::Secp256k1;
3636
use bitcoin::secp256k1::key::{PublicKey, SecretKey};
37-
use bitcoin::network::constants::Network;
3837

3938
use io;
4039
use prelude::*;
@@ -603,15 +602,8 @@ fn test_default_to_onion_payload_tlv_format() {
603602
// their `features` aren't used when creating the `route`.
604603
network_graph.clear_nodes_announcement_info();
605604

606-
let scorer = test_utils::TestScorer::with_penalty(0);
607-
let seed = [0u8; 32];
608-
let keys_manager = test_utils::TestKeysInterface::new(&seed, Network::Testnet);
609-
let random_seed_bytes = keys_manager.get_secure_random_bytes();
610-
let read_only_network_graph = &network_graph.read_only();
611-
let announced_route = get_route(
612-
&origin_node.node.get_our_node_id(), &payment_params, read_only_network_graph,
613-
Some(&origin_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
614-
1000000, TEST_FINAL_CLTV, origin_node.logger, &scorer, &random_seed_bytes).unwrap();
605+
let (announced_route, _, _, _) = get_route_and_payment_hash!(
606+
origin_node, nodes[3], payment_params, 10_000, TEST_FINAL_CLTV, true);
615607

616608
let hops = &announced_route.paths[0];
617609
// Assert that the hop between `nodes[1]` and `nodes[2]` defaults to supporting variable length
@@ -642,14 +634,12 @@ fn test_default_to_onion_payload_tlv_format() {
642634
}]);
643635

644636
let unannounced_chan_params = PaymentParameters::from_node_id(nodes[4].node.get_our_node_id()).with_route_hints(vec![last_hop]);
645-
let unannounced_route = get_route(
646-
&origin_node.node.get_our_node_id(), &unannounced_chan_params, read_only_network_graph,
647-
Some(&origin_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
648-
10000, TEST_FINAL_CLTV, origin_node.logger, &scorer, &random_seed_bytes).unwrap();
637+
let (unannounced_route, _, _, _) = get_route_and_payment_hash!(
638+
origin_node, nodes[4], unannounced_chan_params, 10_000, TEST_FINAL_CLTV, true);
649639

650640
let unannounced_chan_hop = &unannounced_route.paths[0][3];
651641
// Ensure that `nodes[4]` doesn't exist in `nodes[0]`'s `network_graph`, as it's not public.
652-
assert!(read_only_network_graph.nodes().get(&NodeId::from_pubkey(&nodes[4].node.get_our_node_id())).is_none());
642+
assert!(&network_graph.read_only().nodes().get(&NodeId::from_pubkey(&nodes[4].node.get_our_node_id())).is_none());
653643
// Assert that the hop between `nodes[3]` and `nodes[4]` defaults to supporting variable length
654644
// onions, even though `nodes[4]` as `nodes[0]` doesn't exists in `nodes[0]`'s `network_graph`,
655645
// and no `InvoiceFeatures` for the `payment_params` exists, which would otherwise have been
@@ -703,10 +693,6 @@ fn test_do_not_use_default_to_tlv_onions_if_other_features_not_supporting_them_e
703693
let origin_node = &nodes[0];
704694
let network_graph = origin_node.network_graph;
705695
network_graph.clear_nodes_announcement_info();
706-
let scorer = test_utils::TestScorer::with_penalty(0);
707-
let seed = [0u8; 32];
708-
let keys_manager = test_utils::TestKeysInterface::new(&seed, Network::Testnet);
709-
let random_seed_bytes = keys_manager.get_secure_random_bytes();
710696

711697
// Set `NodeAnnouncementInfo` `features` which do not support variable length onions for
712698
// `nodes[2]` in `nodes[0]`'s `network_graph`.
@@ -722,10 +708,8 @@ fn test_do_not_use_default_to_tlv_onions_if_other_features_not_supporting_them_e
722708
};
723709
let _res = network_graph.update_node_from_unsigned_announcement(&nodes_2_unsigned_node_announcement);
724710

725-
let route = get_route(
726-
&origin_node.node.get_our_node_id(), &payment_params, &network_graph.read_only(),
727-
Some(&origin_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
728-
1000000, TEST_FINAL_CLTV, origin_node.logger, &scorer, &random_seed_bytes).unwrap();
711+
let (route, _, _, _) = get_route_and_payment_hash!(
712+
origin_node, nodes[3], payment_params, 10_000, TEST_FINAL_CLTV, true);
729713

730714
let hops = &route.paths[0];
731715

0 commit comments

Comments
 (0)