Skip to content

Commit 94e87e5

Browse files
committed
Expose list_payments in bindings
1 parent d7e56c1 commit 94e87e5

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed

bindings/kotlin/ldk-node-jvm/lib/src/test/kotlin/org/lightningdevkit/ldknode/LibraryTest.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,9 @@ class LibraryTest {
182182
assert(paymentReceivedEvent is Event.PaymentReceived)
183183
node2.eventHandled()
184184

185+
assert(node1.listPayments().size == 1)
186+
assert(node2.listPayments().size == 1)
187+
185188
node2.closeChannel(channelId, nodeId1)
186189

187190
val channelClosedEvent1 = node1.waitNextEvent()
@@ -197,7 +200,7 @@ class LibraryTest {
197200
mine(1u)
198201

199202
// Sleep a bit to allow for the block to propagate to esplora
200-
Thread.sleep(3_000)
203+
Thread.sleep(5_000)
201204

202205
node1.syncWallets()
203206
node2.syncWallets()

bindings/ldk_node.udl

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ interface Node {
5959
PaymentDetails? payment([ByRef]PaymentHash payment_hash);
6060
[Throws=NodeError]
6161
boolean remove_payment([ByRef]PaymentHash payment_hash);
62+
sequence<PaymentDetails> list_payments();
6263
sequence<PeerDetails> list_peers();
6364
sequence<ChannelDetails> list_channels();
6465
[Throws=NodeError]

src/lib.rs

+5
Original file line numberDiff line numberDiff line change
@@ -1623,6 +1623,11 @@ impl Node {
16231623
self.payment_store.list_filter(f)
16241624
}
16251625

1626+
/// Retrieves all payments.
1627+
pub fn list_payments(&self) -> Vec<PaymentDetails> {
1628+
self.payment_store.list_filter(|_| true)
1629+
}
1630+
16261631
/// Retrieves a list of known peers.
16271632
pub fn list_peers(&self) -> Vec<PeerDetails> {
16281633
let active_connected_peers: Vec<PublicKey> =

src/test/functional_tests.rs

+2
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ fn channel_full_cycle() {
102102
let payment_hash = node_a.send_payment(&invoice).unwrap();
103103
assert_eq!(node_a.send_payment(&invoice), Err(Error::DuplicatePayment));
104104

105+
assert_eq!(node_a.list_payments().first().unwrap().hash, payment_hash);
106+
105107
let outbound_payments_a =
106108
node_a.list_payments_with_filter(|p| p.direction == PaymentDirection::Outbound);
107109
assert_eq!(outbound_payments_a.len(), 1);

0 commit comments

Comments
 (0)