From b20c16ee3941b6e213015c0169d7276febdac39f Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 3 Apr 2020 22:51:46 -0700 Subject: fee rate --- routes/bitcoin/fee.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/routes/bitcoin/fee.js b/routes/bitcoin/fee.js index 777633e3..662ddd6e 100644 --- a/routes/bitcoin/fee.js +++ b/routes/bitcoin/fee.js @@ -15,12 +15,21 @@ module.exports = async (req, res) => { } if (feeRate) params.feeRate = (feeRate / SATS).toFixed(8); + l.info("requested rate", params.feeRate * SATS); + + let decoded = await bc.decodeRawTransaction(tx); + let { weight, size, vsize } = decoded; tx = await bc.fundRawTransaction(tx, params); - let decoded = await bc.decodeRawTransaction(tx.hex); - /* TODO: figure out why this 0.8 multiplier seems necessary */ feeRate = parseInt(tx.fee * SATS * 1000 / decoded.size); - l.info(decoded.weight, decoded.size, decoded.vsize, params.feeRate * SATS, feeRate); + l.info("unsigned", { weight, size, vsize, feeRate }); + + decoded = await bc.decodeRawTransaction(tx.hex); + feeRate = parseInt(tx.fee * SATS * 1000 / decoded.size); + ({ weight, size, vsize } = decoded) + l.info("signed", { weight, size, vsize, feeRate }); + + res.send({ feeRate, tx }); } catch (e) { l.error("bitcoin fee estimation error", e); -- cgit v1.2.3