Skip to content

Commit 9042771

Browse files
authored
Merge pull request #2614 from shubhamkmr04/shubham/limit-fetching-payment
Payments: Update `getPayments` call to limit the number of payments
2 parents db8bd7d + bba70b5 commit 9042771

File tree

7 files changed

+42
-11
lines changed

7 files changed

+42
-11
lines changed

backends/EmbeddedLND.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,10 @@ export default class EmbeddedLND extends LND {
9898
preimage: data.preimage,
9999
route_hints: data.route_hints
100100
});
101-
getPayments = async () => await listPayments();
101+
getPayments = async (params?: {
102+
maxPayments?: number;
103+
reversed?: boolean;
104+
}) => await listPayments(params);
102105
getNewAddress = async (data: any) =>
103106
await newAddress(data.type, data.account);
104107
getNewChangeAddress = async (data: any) =>

backends/LND.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,13 @@ export default class LND {
330330
: undefined,
331331
route_hints: data.route_hints
332332
});
333-
getPayments = () => this.getRequest('/v1/payments?include_incomplete=true');
333+
getPayments = (params?: { maxPayments?: number; reversed?: boolean }) =>
334+
this.getRequest(
335+
`/v1/payments?include_incomplete=true${
336+
params?.maxPayments ? `&max_payments=${params.maxPayments}` : ''
337+
}${params?.reversed ? `&reversed=${params.reversed}` : ''}`
338+
);
339+
334340
getNewAddress = (data: any) => this.getRequest('/v1/newaddress', data);
335341
getNewChangeAddress = (data: any) =>
336342
this.postRequest('/v2/wallet/address/next', data);

backends/LightningNodeConnect.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,17 @@ export default class LightningNodeConnect {
172172
route_hints: data.route_hints
173173
})
174174
.then((data: lnrpc.AddInvoiceResponse) => snakeize(data));
175-
getPayments = async () =>
175+
getPayments = async (params?: {
176+
maxPayments?: number;
177+
reversed?: boolean;
178+
}) =>
176179
await this.lnc.lnd.lightning
177180
.listPayments({
178-
include_incomplete: true
181+
include_incomplete: true,
182+
...(params?.maxPayments && {
183+
max_payments: params.maxPayments
184+
}),
185+
...(params?.reversed && { reversed: params.reversed })
179186
})
180187
.then((data: lnrpc.ListPaymentsResponse) => snakeize(data));
181188
getNewAddress = async (data: any) =>

lndmobile/LndMobileInjection.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,10 @@ export interface ILndMobileInjections {
224224
amount?: Long,
225225
routeHints?: lnrpc.IRouteHint[]
226226
) => Promise<lnrpc.QueryRoutesResponse>;
227-
listPayments: () => Promise<lnrpc.ListPaymentsResponse>;
227+
listPayments: (params?: {
228+
maxPayments?: number;
229+
reversed?: boolean;
230+
}) => Promise<lnrpc.ListPaymentsResponse>;
228231
subscribeChannelGraph: () => Promise<string>;
229232
sendKeysendPaymentV2: ({
230233
amt,

lndmobile/index.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -721,7 +721,10 @@ export const listPeers = async (): Promise<lnrpc.ListPeersResponse> => {
721721
/**
722722
* @throws
723723
*/
724-
export const listPayments = async (): Promise<lnrpc.ListPaymentsResponse> => {
724+
export const listPayments = async (params?: {
725+
maxPayments?: number;
726+
reversed?: boolean;
727+
}): Promise<lnrpc.ListPaymentsResponse> => {
725728
const response = await sendCommand<
726729
lnrpc.IListPaymentsRequest,
727730
lnrpc.ListPaymentsRequest,
@@ -731,7 +734,11 @@ export const listPayments = async (): Promise<lnrpc.ListPaymentsResponse> => {
731734
response: lnrpc.ListPaymentsResponse,
732735
method: 'ListPayments',
733736
options: {
734-
include_incomplete: true
737+
include_incomplete: true,
738+
...(params?.maxPayments && {
739+
max_payments: Long.fromValue(params.maxPayments)
740+
}),
741+
...(params?.reversed && { reversed: params.reversed })
735742
}
736743
});
737744
return response;

stores/PaymentsStore.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,13 @@ export default class PaymentsStore {
3030
};
3131

3232
@action
33-
public getPayments = async () => {
33+
public getPayments = async (params?: {
34+
maxPayments?: number;
35+
reversed?: boolean;
36+
}) => {
3437
this.loading = true;
3538
try {
36-
const data = await BackendUtils.getPayments();
39+
const data = await BackendUtils.getPayments(params);
3740
const payments = data.payments;
3841
this.payments = payments
3942
.slice()

views/SendingLightning.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,10 @@ export default class SendingLightning extends React.Component<
9898
fetchPayments = async () => {
9999
const { PaymentsStore, TransactionsStore } = this.props;
100100
try {
101-
const payments = await PaymentsStore.getPayments();
101+
const payments = await PaymentsStore.getPayments({
102+
maxPayments: 5,
103+
reversed: true
104+
});
102105
const matchingPayment = payments.find(
103106
(payment: any) =>
104107
payment.payment_preimage ===
@@ -406,7 +409,6 @@ export default class SendingLightning extends React.Component<
406409
secondary
407410
buttonStyle={{ height: 40, width: '100%' }}
408411
containerStyle={{
409-
backgroundColor: 'red',
410412
maxWidth: '45%',
411413
margin: 10
412414
}}

0 commit comments

Comments
 (0)