Skip to content

Commit df17240

Browse files
committed
wip
1 parent a5dd004 commit df17240

File tree

3 files changed

+25
-9
lines changed

3 files changed

+25
-9
lines changed

src/payment/bolt11.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use crate::config::{Config, LDK_PAYMENT_RETRY_TIMEOUT};
1313
use crate::connection::ConnectionManager;
1414
use crate::error::Error;
15+
use crate::hex_utils;
1516
use crate::liquidity::LiquiditySource;
1617
use crate::logger::{log_error, log_info, FilesystemLogger, Logger};
1718
use crate::payment::store::{
@@ -842,3 +843,16 @@ impl TryFrom<&Bolt11InvoiceStringDescription> for Bolt11InvoiceDescription {
842843
}
843844
}
844845
}
846+
847+
impl From<Bolt11InvoiceDescription> for Bolt11InvoiceStringDescription {
848+
fn from(value: Bolt11InvoiceDescription) -> Self {
849+
match value {
850+
Bolt11InvoiceDescription::Direct(description) => {
851+
Bolt11InvoiceStringDescription::Direct { description: description.to_string() }
852+
},
853+
Bolt11InvoiceDescription::Hash(hash) => {
854+
Bolt11InvoiceStringDescription::Hash { hash: hex_utils::to_string(hash.0.as_ref()) }
855+
},
856+
}
857+
}
858+
}

tests/common/mod.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
use ldk_node::config::{Config, EsploraSyncConfig};
1212
use ldk_node::io::sqlite_store::SqliteStore;
13-
use ldk_node::payment::{PaymentDirection, PaymentKind, PaymentStatus};
13+
use ldk_node::payment::{Bolt11InvoiceStringDescription, PaymentDirection, PaymentKind, PaymentStatus};
1414
use ldk_node::{
1515
Builder, CustomTlvRecord, Event, LightningBalance, LogLevel, Node, NodeError,
1616
PendingSweepBalance,
@@ -555,8 +555,10 @@ pub(crate) fn do_channel_full_cycle<E: ElectrumApi>(
555555
let invoice_amount_1_msat = 2500_000;
556556
let invoice_description: Bolt11InvoiceDescription =
557557
Bolt11InvoiceDescription::Direct(Description::new(String::from("asdf")).unwrap());
558-
let invoice =
559-
node_b.bolt11_payment().receive(invoice_amount_1_msat, &invoice_description, 9217).unwrap();
558+
let invoice = node_b
559+
.bolt11_payment()
560+
.receive(invoice_amount_1_msat, &invoice_description.clone().into(), 9217)
561+
.unwrap();
560562

561563
println!("\nA send");
562564
let payment_id = node_a.bolt11_payment().send(&invoice, None).unwrap();
@@ -603,7 +605,7 @@ pub(crate) fn do_channel_full_cycle<E: ElectrumApi>(
603605
// Test under-/overpayment
604606
let invoice_amount_2_msat = 2500_000;
605607
let invoice =
606-
node_b.bolt11_payment().receive(invoice_amount_2_msat, &invoice_description, 9217).unwrap();
608+
node_b.bolt11_payment().receive(invoice_amount_2_msat, &invoice_description.clone().into(), 9217).unwrap();
607609

608610
let underpaid_amount = invoice_amount_2_msat - 1;
609611
assert_eq!(
@@ -613,7 +615,7 @@ pub(crate) fn do_channel_full_cycle<E: ElectrumApi>(
613615

614616
println!("\nB overpaid receive");
615617
let invoice =
616-
node_b.bolt11_payment().receive(invoice_amount_2_msat, &invoice_description, 9217).unwrap();
618+
node_b.bolt11_payment().receive(invoice_amount_2_msat, &invoice_description.clone().into(), 9217).unwrap();
617619
let overpaid_amount_msat = invoice_amount_2_msat + 100;
618620

619621
println!("\nA overpaid send");
@@ -643,7 +645,7 @@ pub(crate) fn do_channel_full_cycle<E: ElectrumApi>(
643645
// Test "zero-amount" invoice payment
644646
println!("\nB receive_variable_amount_payment");
645647
let variable_amount_invoice =
646-
node_b.bolt11_payment().receive_variable_amount(&invoice_description, 9217).unwrap();
648+
node_b.bolt11_payment().receive_variable_amount(&invoice_description.clone().into(), 9217).unwrap();
647649
let determined_amount_msat = 2345_678;
648650
assert_eq!(
649651
Err(NodeError::InvalidInvoice),
@@ -682,7 +684,7 @@ pub(crate) fn do_channel_full_cycle<E: ElectrumApi>(
682684
let manual_payment_hash = PaymentHash(Sha256::hash(&manual_preimage.0).to_byte_array());
683685
let manual_invoice = node_b
684686
.bolt11_payment()
685-
.receive_for_hash(invoice_amount_3_msat, &invoice_description, 9217, manual_payment_hash)
687+
.receive_for_hash(invoice_amount_3_msat, &invoice_description.clone().into(), 9217, manual_payment_hash)
686688
.unwrap();
687689
let manual_payment_id = node_a.bolt11_payment().send(&manual_invoice, None).unwrap();
688690

@@ -722,7 +724,7 @@ pub(crate) fn do_channel_full_cycle<E: ElectrumApi>(
722724
.bolt11_payment()
723725
.receive_for_hash(
724726
invoice_amount_3_msat,
725-
&invoice_description,
727+
&invoice_description.into(),
726728
9217,
727729
manual_fail_payment_hash,
728730
)

tests/integration_tests_rust.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ fn multi_hop_sending() {
192192

193193
let invoice_description =
194194
Bolt11InvoiceDescription::Direct(Description::new(String::from("asdf")).unwrap());
195-
let invoice = nodes[4].bolt11_payment().receive(2_500_000, &invoice_description, 9217).unwrap();
195+
let invoice = nodes[4].bolt11_payment().receive(2_500_000, &invoice_description.clone().into(), 9217).unwrap();
196196
nodes[0].bolt11_payment().send(&invoice, Some(sending_params)).unwrap();
197197

198198
expect_event!(nodes[1], PaymentForwarded);

0 commit comments

Comments
 (0)