Skip to content
29 changes: 7 additions & 22 deletions lightning-dns-resolver/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ mod test {
};
use lightning::blinded_path::NodeIdLookUp;
use lightning::events::{Event, PaymentPurpose};
use lightning::ln::channelmanager::{PaymentId, Retry};
use lightning::ln::channelmanager::{OptionalOfferPaymentParams, PaymentId};
use lightning::ln::functional_test_utils::*;
use lightning::ln::msgs::{
BaseMessageHandler, ChannelMessageHandler, Init, OnionMessageHandler,
Expand All @@ -175,7 +175,6 @@ mod test {
use lightning::onion_message::messenger::{
AOnionMessenger, Destination, MessageRouter, OnionMessagePath, OnionMessenger,
};
use lightning::routing::router::RouteParametersConfig;
use lightning::sign::{KeysManager, NodeSigner, ReceiveAuthKey, Recipient};
use lightning::types::features::InitFeatures;
use lightning::types::payment::PaymentHash;
Expand Down Expand Up @@ -382,23 +381,18 @@ mod test {
async fn pay_offer_flow<'a, 'b, 'c>(
nodes: &[Node<'a, 'b, 'c>], resolver_messenger: &impl AOnionMessenger,
resolver_id: PublicKey, payer_id: PublicKey, payee_id: PublicKey, offer: Offer,
name: HumanReadableName, amt: u64, payment_id: PaymentId, payer_note: Option<String>,
retry: Retry, params: RouteParametersConfig, resolvers: Vec<Destination>,
name: HumanReadableName, payment_id: PaymentId, payer_note: Option<String>,
resolvers: Vec<Destination>,
) {
// Override contents to offer provided
let proof_override = &nodes[0].node.testing_dnssec_proof_offer_resolution_override;
proof_override.lock().unwrap().insert(name.clone(), offer);
let amt = 42_000;
let mut opts = OptionalOfferPaymentParams::default();
opts.payer_note = payer_note.clone();
nodes[0]
.node
.pay_for_offer_from_human_readable_name(
name,
amt,
payment_id,
payer_note.clone(),
retry,
params,
resolvers,
)
.pay_for_offer_from_human_readable_name(name, amt, payment_id, opts, resolvers)
.unwrap();

let query = nodes[0].onion_messenger.next_onion_message_for_peer(resolver_id).unwrap();
Expand Down Expand Up @@ -495,9 +489,6 @@ mod test {

let bs_offer = nodes[1].node.create_offer_builder().unwrap().build().unwrap();
let resolvers = vec![Destination::Node(resolver_id)];
let retry = Retry::Attempts(0);
let amt = 42_000;
let params = RouteParametersConfig::default();

pay_offer_flow(
&nodes,
Expand All @@ -507,11 +498,8 @@ mod test {
payee_id,
bs_offer.clone(),
name.clone(),
amt,
PaymentId([42; 32]),
None,
retry,
params,
resolvers.clone(),
)
.await;
Expand All @@ -525,11 +513,8 @@ mod test {
payee_id,
bs_offer,
name,
amt,
PaymentId([21; 32]),
Some("foo".into()),
retry,
params,
resolvers,
)
.await;
Expand Down
78 changes: 16 additions & 62 deletions lightning/src/ln/async_payments_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use crate::events::{
Event, HTLCHandlingFailureType, PaidBolt12Invoice, PaymentFailureReason, PaymentPurpose,
};
use crate::ln::blinded_payment_tests::{fail_blinded_htlc_backwards, get_blinded_route_parameters};
use crate::ln::channelmanager::{PaymentId, RecipientOnionFields};
use crate::ln::channelmanager::{OptionalOfferPaymentParams, PaymentId, RecipientOnionFields};
use crate::ln::functional_test_utils::*;
use crate::ln::inbound_payment;
use crate::ln::msgs;
Expand Down Expand Up @@ -49,7 +49,7 @@ use crate::onion_message::messenger::{
use crate::onion_message::offers::OffersMessage;
use crate::onion_message::packet::ParsedOnionMessageContents;
use crate::prelude::*;
use crate::routing::router::{Payee, PaymentParameters, RouteParametersConfig};
use crate::routing::router::{Payee, PaymentParameters};
use crate::sign::NodeSigner;
use crate::sync::Mutex;
use crate::types::features::Bolt12InvoiceFeatures;
Expand Down Expand Up @@ -480,11 +480,7 @@ fn static_invoice_unknown_required_features() {
// unknown required features.
let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
nodes[0]
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(0), params)
.unwrap();
nodes[0].node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();

// Don't forward the invreq since the invoice was created outside of the normal flow, instead
// manually construct the response.
Expand Down Expand Up @@ -555,11 +551,7 @@ fn ignore_unexpected_static_invoice() {

let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
nodes[0]
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(0), params)
.unwrap();
nodes[0].node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();

let invreq_om = nodes[0]
.onion_messenger
Expand Down Expand Up @@ -648,11 +640,7 @@ fn async_receive_flow_success() {
let offer = nodes[2].node.get_async_receive_offer().unwrap();
let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
nodes[0]
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(0), params)
.unwrap();
nodes[0].node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();
let release_held_htlc_om = pass_async_payments_oms(
static_invoice.clone(),
&nodes[0],
Expand Down Expand Up @@ -710,11 +698,7 @@ fn expired_static_invoice_fail() {

let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
nodes[0]
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(0), params)
.unwrap();
nodes[0].node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();

let invreq_om = nodes[0]
.onion_messenger
Expand Down Expand Up @@ -786,11 +770,7 @@ fn timeout_unreleased_payment() {

let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
sender
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(0), params)
.unwrap();
sender.node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();

let invreq_om =
sender.onion_messenger.next_onion_message_for_peer(server.node.get_our_node_id()).unwrap();
Expand Down Expand Up @@ -872,11 +852,7 @@ fn async_receive_mpp() {

let amt_msat = 15_000_000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
nodes[0]
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(1), params)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presumably the different Retry::Attempts values used throughout these tests weren't necessary?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently not since they pass :) cc @valentinewallace

.unwrap();
nodes[0].node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();
let release_held_htlc_om_3_0 =
pass_async_payments_oms(static_invoice, &nodes[0], &nodes[1], &nodes[3], recipient_id).1;
nodes[0]
Expand Down Expand Up @@ -966,11 +942,7 @@ fn amount_doesnt_match_invreq() {

let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
nodes[0]
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(1), params)
.unwrap();
nodes[0].node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();
let release_held_htlc_om_3_0 =
pass_async_payments_oms(static_invoice, &nodes[0], &nodes[1], &nodes[3], recipient_id).1;

Expand Down Expand Up @@ -1205,11 +1177,7 @@ fn invalid_async_receive_with_retry<F1, F2>(
pass_static_invoice_server_messages(&nodes[1], &nodes[2], recipient_id.clone()).invoice;
let offer = nodes[2].node.get_async_receive_offer().unwrap();

let params = RouteParametersConfig::default();
nodes[0]
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(2), params)
.unwrap();
nodes[0].node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();
let release_held_htlc_om_2_0 =
pass_async_payments_oms(static_invoice, &nodes[0], &nodes[1], &nodes[2], recipient_id).1;
nodes[0]
Expand Down Expand Up @@ -1295,11 +1263,7 @@ fn expired_static_invoice_message_path() {

let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
nodes[0]
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(1), params)
.unwrap();
nodes[0].node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();

// While the invoice is unexpired, respond with release_held_htlc.
let (held_htlc_available_om, _release_held_htlc_om) = pass_async_payments_oms(
Expand Down Expand Up @@ -1410,11 +1374,9 @@ fn expired_static_invoice_payment_path() {

let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
nodes[0]
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(0), params)
.unwrap();
let mut params: OptionalOfferPaymentParams = Default::default();
params.retry_strategy = Retry::Attempts(0);
nodes[0].node.pay_for_offer(&offer, Some(amt_msat), payment_id, params).unwrap();
let release_held_htlc_om =
pass_async_payments_oms(static_invoice, &nodes[0], &nodes[1], &nodes[2], recipient_id).1;
nodes[0]
Expand Down Expand Up @@ -1850,11 +1812,7 @@ fn refresh_static_invoices_for_used_offers() {
let offer = recipient.node.get_async_receive_offer().unwrap();
let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
sender
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(0), params)
.unwrap();
sender.node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();

let release_held_htlc_om =
pass_async_payments_oms(updated_invoice.clone(), sender, server, recipient, recipient_id).1;
Expand Down Expand Up @@ -2179,11 +2137,7 @@ fn invoice_server_is_not_channel_peer() {
let offer = recipient.node.get_async_receive_offer().unwrap();
let amt_msat = 5000;
let payment_id = PaymentId([1; 32]);
let params = RouteParametersConfig::default();
sender
.node
.pay_for_offer(&offer, None, Some(amt_msat), None, payment_id, Retry::Attempts(0), params)
.unwrap();
sender.node.pay_for_offer(&offer, Some(amt_msat), payment_id, Default::default()).unwrap();

// Do the held_htlc_available --> release_held_htlc dance.
let release_held_htlc_om =
Expand Down
Loading
Loading