From 3c83b64ca231170ff379541842dba11371a777d7 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 4 Apr 2020 15:05:11 -0700 Subject: fix liquid fee rate calculation --- routes/liquid/fee.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/routes/liquid/fee.js b/routes/liquid/fee.js index 54ecf5f8..9dbb7e0a 100644 --- a/routes/liquid/fee.js +++ b/routes/liquid/fee.js @@ -17,10 +17,14 @@ module.exports = async (req, res) => { if (feeRate) params.feeRate = (feeRate / SATS).toFixed(8); tx = await lq.fundRawTransaction(tx, params); - let decoded = await lq.decodeRawTransaction(tx.hex); - /* TODO: figure out why this multiplier seems necessary */ - feeRate = parseInt(tx.fee * SATS * 1000 / decoded.size); - l.info(decoded.weight, decoded.size, decoded.vsize, params.feeRate * SATS, feeRate); + + if (config.liquid.walletpass) + await lq.walletPassphrase(config.liquid.walletpass, 300); + + let signed = (await lq.signRawTransactionWithWallet(tx.hex)); + decoded = await lq.decodeRawTransaction(signed.hex); + feeRate = parseInt(tx.fee * SATS * 1000 / decoded.vsize); + res.send({ feeRate, tx }); } catch (e) { l.error("error estimating liquid fee", e); -- cgit v1.2.3