diff options
| author | Adam Soltys <[email protected]> | 2022-09-02 14:47:08 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-09-02 14:47:14 -0700 |
| commit | 3161dd7ee95b6c7d70f8341298dd4fab84cda8b0 (patch) | |
| tree | 16cd6c55d5dc481331b1e8b640d179f193e7ea13 /routes/liquid | |
| parent | 7a8d64833de8873afb92982b3f5bfff59b30c542 (diff) | |
| download | coinos-server-3161dd7ee95b6c7d70f8341298dd4fab84cda8b0.tar.gz coinos-server-3161dd7ee95b6c7d70f8341298dd4fab84cda8b0.zip | |
es6 migration
Diffstat (limited to 'routes/liquid')
| -rw-r--r-- | routes/liquid/broadcast.js | 4 | ||||
| -rw-r--r-- | routes/liquid/conversionFee.js | 7 | ||||
| -rw-r--r-- | routes/liquid/fee.js | 20 | ||||
| -rw-r--r-- | routes/liquid/generate.js | 4 | ||||
| -rw-r--r-- | routes/liquid/index.js | 13 | ||||
| -rw-r--r-- | routes/liquid/receive.js | 7 | ||||
| -rw-r--r-- | routes/liquid/send.js | 42 | ||||
| -rw-r--r-- | routes/liquid/taxi.js | 14 |
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); } -}); +}; |
