forked from ElementsProject/lightning
-
Notifications
You must be signed in to change notification settings - Fork 0
/
invoice.h
41 lines (36 loc) · 1.18 KB
/
invoice.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef LIGHTNING_LIGHTNINGD_INVOICE_H
#define LIGHTNING_LIGHTNINGD_INVOICE_H
#include "config.h"
#include <wire/gen_onion_wire.h>
struct amount_msat;
struct htlc_set;
struct lightningd;
struct sha256;
/**
* invoice_check_payment - check if this payment would be valid
* @ctx: tal context to allocate return off
* @ld: lightningd
* @payment_hash: hash of preimage they want.
* @msat: amount they offer to pay.
* @payment_secret: they payment secret they sent, if any.
*
* Returns NULL if there's a problem, otherwise returns the invoice details.
*/
const struct invoice_details *
invoice_check_payment(const tal_t *ctx,
struct lightningd *ld,
const struct sha256 *payment_hash,
const struct amount_msat msat,
const struct secret *payment_secret);
/**
* invoice_try_pay - process payment for these incoming payments.
* @ld: lightningd
* @set: the htlc_set used to pay this.
* @details: returned from successful invoice_check_payment.
*
* Either calls fulfill_htlc_set() or fail_htlc_set().
*/
void invoice_try_pay(struct lightningd *ld,
struct htlc_set *set,
const struct invoice_details *details);
#endif /* LIGHTNING_LIGHTNINGD_INVOICE_H */