Skip to content

Commit b1ddd4d

Browse files
committed
Add quantity param to initiate_refund
1 parent cfac29f commit b1ddd4d

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-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);
133+
Refund initiate_refund(u64 amount_msat, u64? quantity,u32 expiry_secs);
134134
};
135135

136136
interface SpontaneousPayment {

src/payment/bolt12.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,9 @@ impl Bolt12Payment {
313313
}
314314

315315
/// Returns a [`Refund`] object that can be used to offer a refund payment of the amount given.
316-
pub fn initiate_refund(&self, amount_msat: u64, expiry_secs: u32) -> Result<Refund, Error> {
316+
pub fn initiate_refund(
317+
&self, amount_msat: u64, quantity: Option<u64>, expiry_secs: u32,
318+
) -> Result<Refund, Error> {
317319
let mut random_bytes = [0u8; 32];
318320
rand::thread_rng().fill_bytes(&mut random_bytes);
319321
let payment_id = PaymentId(random_bytes);
@@ -337,6 +339,7 @@ impl Bolt12Payment {
337339
log_error!(self.logger, "Failed to create refund builder: {:?}", e);
338340
Error::RefundCreationFailed
339341
})?
342+
.quantity(quantity.unwrap_or(1))
340343
.build()
341344
.map_err(|e| {
342345
log_error!(self.logger, "Failed to create refund: {:?}", e);
@@ -350,7 +353,7 @@ impl Bolt12Payment {
350353
preimage: None,
351354
secret: None,
352355
payer_note: refund.payer_note().map(|note| UntrustedString(note.to_string())),
353-
quantity: refund.quantity(),
356+
quantity,
354357
};
355358
let payment = PaymentDetails::new(
356359
payment_id,

tests/integration_tests_rust.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ 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).unwrap();
514+
let refund = node_b.bolt12_payment().initiate_refund(overpaid_amount, None, 3600).unwrap();
515515
let invoice = node_a.bolt12_payment().request_refund_payment(&refund).unwrap();
516516
expect_payment_received_event!(node_a, overpaid_amount);
517517

0 commit comments

Comments
 (0)