aboutsummaryrefslogtreecommitdiffstats
path: root/routes/balances.js
blob: 86658ed30c86860367af9c0d12c91cc8febe475e (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
const sequelize = require("sequelize");
const { Op } = sequelize;

app.get("/balances", async (req, res) => {
  const assets = await lq.getBalance();
  const accounts = await db.Account.findAll({
    attributes: [
      "asset",
      [sequelize.fn("sum", sequelize.col("balance")), "total"]
    ],
    group: ["asset"],
  });

  const balances = {
    accounts,
    assets,
    bitcoin: parseInt((await bc.getBalance()) * SATS),
    liquid: parseInt(assets.bitcoin * SATS),
    lnchannel: parseInt((await lna.channelBalance({})).balance),
    lnwallet: parseInt((await lna.walletBalance({})).total_balance),
  };

  const { bitcoin, liquid, lnchannel, user, lnwallet } = balances;

  balances.total =
    parseInt(bitcoin) +
    parseInt(liquid) +
    parseInt(lnchannel) +
    parseInt(lnwallet);

  balances.ratio = (balances.total / parseInt(user)).toFixed(2);

  res.send(balances);
});