mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
6630b99cf7
We're going to make it async, so start by moving the core code into invoice.c and having that directly call fail/success functions for the htlc. We add an extra check in fulfill_htlc() that the HTLC state is correct: that can't happen now, but may once we're async. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
26 lines
684 B
C
26 lines
684 B
C
#ifndef LIGHTNING_LIGHTNINGD_INVOICE_H
|
|
#define LIGHTNING_LIGHTNINGD_INVOICE_H
|
|
#include "config.h"
|
|
#include <wire/gen_onion_wire.h>
|
|
|
|
struct amount_msat;
|
|
struct htlc_in;
|
|
struct lightningd;
|
|
struct sha256;
|
|
|
|
/**
|
|
* invoice_try_pay - process payment for this payment_hash, amount msat.
|
|
* @ld: lightningd
|
|
* @hin: the input HTLC which is offering to pay.
|
|
* @payment_hash: hash of preimage they want.
|
|
* @msat: amount they offer to pay.
|
|
*
|
|
* Either calls fulfill_htlc() or fail_htlcs().
|
|
*/
|
|
void invoice_try_pay(struct lightningd *ld,
|
|
struct htlc_in *hin,
|
|
const struct sha256 *payment_hash,
|
|
const struct amount_msat msat);
|
|
|
|
#endif /* LIGHTNING_LIGHTNINGD_INVOICE_H */
|