Skip to content

Commit d478802

Browse files
committed
Add payer_note argument for initiate_refund
1 parent fe262c3 commit d478802

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

bindings/ldk_node.udl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ interface Bolt12Payment {
130130
[Throws=NodeError]
131131
Bolt12Invoice request_refund_payment([ByRef]Refund refund);
132132
[Throws=NodeError]
133-
Refund initiate_refund(u64 amount_msat, u32 expiry_secs, u64? quantity);
133+
Refund initiate_refund(u64 amount_msat, u32 expiry_secs, string? payer_note, u64? quantity);
134134
};
135135

136136
interface SpontaneousPayment {

src/payment/bolt12.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,8 @@ impl Bolt12Payment {
314314

315315
/// Returns a [`Refund`] object that can be used to offer a refund payment of the amount given.
316316
pub fn initiate_refund(
317-
&self, amount_msat: u64, expiry_secs: u32, quantity: Option<u64>,
317+
&self, amount_msat: u64, expiry_secs: u32, payer_note: Option<String>,
318+
quantity: Option<u64>,
318319
) -> Result<Refund, Error> {
319320
let mut random_bytes = [0u8; 32];
320321
rand::thread_rng().fill_bytes(&mut random_bytes);
@@ -344,6 +345,10 @@ impl Bolt12Payment {
344345
refund_builder = refund_builder.quantity(qty);
345346
}
346347

348+
if let Some(note) = payer_note.clone() {
349+
refund_builder = refund_builder.payer_note(note);
350+
}
351+
347352
let refund = refund_builder.build().map_err(|e| {
348353
log_error!(self.logger, "Failed to create refund: {:?}", e);
349354
Error::RefundCreationFailed
@@ -355,7 +360,7 @@ impl Bolt12Payment {
355360
hash: None,
356361
preimage: None,
357362
secret: None,
358-
payer_note: refund.payer_note().map(|note| UntrustedString(note.0.to_string())),
363+
payer_note: payer_note.map(|note| UntrustedString(note)),
359364
quantity,
360365
};
361366
let payment = PaymentDetails::new(

tests/integration_tests_rust.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,8 @@ fn simple_bolt12_send_receive() {
511511

512512
// Now node_b refunds the amount node_a just overpaid.
513513
let overpaid_amount = expected_amount_msat - offer_amount_msat;
514-
let refund = node_b.bolt12_payment().initiate_refund(overpaid_amount, 3600, None).unwrap();
514+
let refund =
515+
node_b.bolt12_payment().initiate_refund(overpaid_amount, 3600, None, None).unwrap();
515516
let invoice = node_a.bolt12_payment().request_refund_payment(&refund).unwrap();
516517
expect_payment_received_event!(node_a, overpaid_amount);
517518

0 commit comments

Comments
 (0)