aboutsummaryrefslogtreecommitdiffstats
path: root/routes/lightning/invoice.js
blob: f58169ebf3271498c3dacb5dbf2ed9d6020aa239 (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
26
27
28
29
30
31
32
33
34
import config from "$config";
import { createInvoice } from "lightning";
import { err } from "$lib/logging";
import lnd from "$lib/lnd";

export default 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 createInvoice({
        lnd,
        tokens: value,
        description: memo
      });
      console.log(invoice)
      res.send({ text: invoice.request });
    }
  } catch (e) {
    err("problem creating invoice", e.message, e.stack);
    res.code(500).send(e.message);
  }
};