aboutsummaryrefslogtreecommitdiffstats
path: root/routes/liquid
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-09-02 14:47:08 -0700
committerAdam Soltys <[email protected]>2022-09-02 14:47:14 -0700
commit3161dd7ee95b6c7d70f8341298dd4fab84cda8b0 (patch)
tree16cd6c55d5dc481331b1e8b640d179f193e7ea13 /routes/liquid
parent7a8d64833de8873afb92982b3f5bfff59b30c542 (diff)
downloadcoinos-server-3161dd7ee95b6c7d70f8341298dd4fab84cda8b0.tar.gz
coinos-server-3161dd7ee95b6c7d70f8341298dd4fab84cda8b0.zip
es6 migration
Diffstat (limited to 'routes/liquid')
-rw-r--r--routes/liquid/broadcast.js4
-rw-r--r--routes/liquid/conversionFee.js7
-rw-r--r--routes/liquid/fee.js20
-rw-r--r--routes/liquid/generate.js4
-rw-r--r--routes/liquid/index.js13
-rw-r--r--routes/liquid/receive.js7
-rw-r--r--routes/liquid/send.js42
-rw-r--r--routes/liquid/taxi.js14
8 files changed, 72 insertions, 39 deletions
diff --git a/routes/liquid/broadcast.js b/routes/liquid/broadcast.js
index 168e9518..2562effc 100644
--- a/routes/liquid/broadcast.js
+++ b/routes/liquid/broadcast.js
@@ -1,4 +1,4 @@
-export default ah(async (req, res) => {
+export default async (req, res) => {
try {
const { user } = req;
let hash = await lq.sendRawTransaction(req.body.tx);
@@ -49,4 +49,4 @@ export default ah(async (req, res) => {
l.error("problem broadcasting liquid transaction", e);
res.status(500).send(e.message);
}
-});
+};
diff --git a/routes/liquid/conversionFee.js b/routes/liquid/conversionFee.js
index f6a9e5b9..36ba6f36 100644
--- a/routes/liquid/conversionFee.js
+++ b/routes/liquid/conversionFee.js
@@ -2,14 +2,11 @@
// This is in a separate file so that the same function can be used by ./send and ./receive
const conversionFeeMultiplier = 0.01;
-const conversionFeeReceiver = "coinosfees"; // account that receives the fees
+export const conversionFeeReceiver = "coinosfees"; // account that receives the fees
/**
* Returns the fee you have to pay for withdrawing 'amount' L-BTC.
*/
-function computeConversionFee(amount) {
+export function computeConversionFee(amount) {
return Math.floor(amount * conversionFeeMultiplier);
}
-
-module.exports.conversionFeeReceiver = conversionFeeReceiver;
-module.exports.computeConversionFee = computeConversionFee;
diff --git a/routes/liquid/fee.js b/routes/liquid/fee.js
index 0488b31e..0a2c330a 100644
--- a/routes/liquid/fee.js
+++ b/routes/liquid/fee.js
@@ -1,4 +1,4 @@
-import buildTx from '../../lib/buildliquidtx';
+import buildTx from "../../lib/buildliquidtx.js";
liquidTx = async ({ address, asset, amount, feeRate, replaceable, user }) => {
let tx, fee;
@@ -49,12 +49,14 @@ liquidTx = async ({ address, asset, amount, feeRate, replaceable, user }) => {
tx = await node.createRawTransaction(
[],
- [{
- [address]: (amount / SATS).toFixed(8),
- asset
- }],
+ [
+ {
+ [address]: (amount / SATS).toFixed(8),
+ asset
+ }
+ ],
0,
- replaceable,
+ replaceable
);
l.info("funding tx for fee estimate", tx);
@@ -71,12 +73,12 @@ liquidTx = async ({ address, asset, amount, feeRate, replaceable, user }) => {
return { feeRate, tx };
};
-export default ah(async (req, res) => {
+export default async (req, res) => {
try {
- let tx = await liquidTx({ ...req.body, user: req.user })
+ let tx = await liquidTx({ ...req.body, user: req.user });
res.send(tx);
} catch (e) {
l.error("error estimating liquid fee", e.message, e.stack);
return res.status(500).send(e.message);
}
-});
+};
diff --git a/routes/liquid/generate.js b/routes/liquid/generate.js
index 50c63dcf..73ad9b59 100644
--- a/routes/liquid/generate.js
+++ b/routes/liquid/generate.js
@@ -1,5 +1,5 @@
-export default ah(async (req, res) => {
+export default async (req, res) => {
let address = await lq.getNewAddress();
await lq.generateToAddress(1, address);
res.end();
-});
+};
diff --git a/routes/liquid/index.js b/routes/liquid/index.js
new file mode 100644
index 00000000..2b6b72b9
--- /dev/null
+++ b/routes/liquid/index.js
@@ -0,0 +1,13 @@
+import broadcast from "./broadcast.js";
+import generate from "./generate.js";
+// import fee from "./fee.js";
+import send from "./send.js";
+// import taxi from "./taxi.js";
+
+export default {
+ broadcast,
+ generate,
+ // fee,
+ send,
+ // taxi
+};
diff --git a/routes/liquid/receive.js b/routes/liquid/receive.js
index 151ffb40..8891292e 100644
--- a/routes/liquid/receive.js
+++ b/routes/liquid/receive.js
@@ -1,9 +1,12 @@
+import { sendLiquid } from "./send.js";
+import { notify } from "../lib/notifications.js";
+import { callWebhook } from "../lib/webhooks.js";
import reverse from 'buffer-reverse';
import zmq from 'zeromq/v5-compat';
-import { Op } from 'sequelize';
+import { Op } from '@sequelize/core';
import { fromBase58 } from 'bip32';
import bitcoin from 'bitcoinjs-lib';
-import { Block, networks, Transaction } from 'liquidjs-lib';
+// import { Block, networks, Transaction } from 'liquidjs-lib';
import wretch from 'wretch';
import fetch from 'node-fetch';
wretch().polyfills({ fetch });
diff --git a/routes/liquid/send.js b/routes/liquid/send.js
index e5112468..9529a040 100644
--- a/routes/liquid/send.js
+++ b/routes/liquid/send.js
@@ -1,9 +1,13 @@
+import config from "../../config/index.js";
const btc = config.liquid.btcasset;
const lcad = config.liquid.cadasset;
-import { Transaction } from 'liquidjs-lib';
-import { computeConversionFee, conversionFeeReceiver } from './conversionFee.js';
+// import { Transaction } from 'liquidjs-lib';
+import {
+ computeConversionFee,
+ conversionFeeReceiver
+} from "./conversionFee.js";
-sendLiquid = async ({ asset, amount, user, address, memo, tx, limit }) => {
+export const sendLiquid = async ({ asset, amount, user, address, memo, tx, limit }) => {
try {
l.info("sending liquid", amount, address);
if (!tx) {
@@ -106,9 +110,15 @@ sendLiquid = async ({ asset, amount, user, address, memo, tx, limit }) => {
});
// use user's credits to reduce fee, if available
- let conversionFeeDeduction = Math.min(account.liquid_credits, conversionFee);
+ let conversionFeeDeduction = Math.min(
+ account.liquid_credits,
+ conversionFee
+ );
if (conversionFeeDeduction) {
- await account.decrement({ liquid_credits: conversionFeeDeduction }, { transaction });
+ await account.decrement(
+ { liquid_credits: conversionFeeDeduction },
+ { transaction }
+ );
await account.reload({ transaction });
conversionFee -= conversionFeeDeduction;
}
@@ -140,7 +150,10 @@ sendLiquid = async ({ asset, amount, user, address, memo, tx, limit }) => {
);
}
- await account.decrement({ balance: (total + conversionFee)}, { transaction });
+ await account.decrement(
+ { balance: total + conversionFee },
+ { transaction }
+ );
await account.reload({ transaction });
let receiverAccount = await db.Account.findOne({
@@ -151,14 +164,17 @@ sendLiquid = async ({ asset, amount, user, address, memo, tx, limit }) => {
{
model: db.User,
as: "user"
- },
+ }
],
lock: transaction.LOCK.UPDATE,
transaction
});
if (conversionFee) {
- await receiverAccount.increment({ balance: conversionFee }, { transaction });
+ await receiverAccount.increment(
+ { balance: conversionFee },
+ { transaction }
+ );
await receiverAccount.reload({ transaction });
fee_payment = {
amount: conversionFee,
@@ -173,7 +189,9 @@ sendLiquid = async ({ asset, amount, user, address, memo, tx, limit }) => {
network: "COINOS"
};
fee_payment.account = receiverAccount;
- ({ id: fee_payment_id } = await db.Payment.create(fee_payment, { transaction }));
+ ({ id: fee_payment_id } = await db.Payment.create(fee_payment, {
+ transaction
+ }));
}
let payment = {
@@ -188,7 +206,7 @@ sendLiquid = async ({ asset, amount, user, address, memo, tx, limit }) => {
confirmed: true,
received: false,
network: "liquid",
- fee_payment_id,
+ fee_payment_id
};
payment.account = account;
@@ -231,7 +249,7 @@ sendLiquid = async ({ asset, amount, user, address, memo, tx, limit }) => {
}
};
-export default ah(async (req, res) => {
+export default async (req, res) => {
let { user } = req;
try {
@@ -240,4 +258,4 @@ export default ah(async (req, res) => {
l.error("problem sending liquid", user.username, e.message);
return res.status(500).send(e);
}
-});
+};
diff --git a/routes/liquid/taxi.js b/routes/liquid/taxi.js
index 5bc3c8b7..e5baeeb9 100644
--- a/routes/liquid/taxi.js
+++ b/routes/liquid/taxi.js
@@ -1,8 +1,8 @@
-import { address as Address, Psbt, payments, networks } from 'liquidjs-lib';
-import { ECPairFactory } from 'ecpair';
-import tinysecp from 'tiny-secp256k1';
-import wretch from 'wretch';
-import fetch from 'node-fetch';
+// import { address as Address, Psbt, payments, networks } from 'liquidjs-lib';
+import { ECPairFactory } from "ecpair";
+import tinysecp from "tiny-secp256k1";
+import wretch from "wretch";
+import fetch from "node-fetch";
wretch().polyfills({ fetch });
@@ -16,7 +16,7 @@ const network = prod ? networks.liquid : networks.regtest;
const ECPair = ECPairFactory(tinysecp);
const key = ECPair.fromPrivateKey(Buffer.from(config.taxi, "hex"));
-export default ah(async (req, res) => {
+export default async (req, res) => {
let { user } = req;
let { psbt } = req.body;
@@ -82,4 +82,4 @@ export default ah(async (req, res) => {
console.log(e);
return res.status(500).send(e);
}
-});
+};