#ifndef LIGHTNING_LIGHTNINGD_INVOICE_H #define LIGHTNING_LIGHTNINGD_INVOICE_H #include "config.h" #include 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 */