aboutsummaryrefslogtreecommitdiffstats
path: root/routes/lightning/invoice.js
blob: 31f23bd6178a91e211069d8fd45d4f57d0f9f683 (plain) (blame)
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
module.exports = ah(async (req, res) => {
  let { amount, memo, tip } = req.body;
  if (!tip) tip = 0;
  let value = amount + tip;

  try {
    if (config.lna.clightning) {
      if (!memo) memo = "coinos";
      const invoice = await lna.invoice(
        value ? `${value}sat` : "any",
        new Date(),
        memo,
        360
      );
      res.send({ text: invoice.bolt11 });
    } else {
      const invoice = await lnp.addInvoice({ value, memo });
      res.send({ text: invoice.payment_request });
    }
  } catch (e) {
    l.error("problem creating invoice", e.message, e.stack);
    res.status(500).send(e.message);
  }
});