diff options
| author | Adam Soltys <[email protected]> | 2020-04-03 22:51:46 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-04-03 22:51:46 -0700 |
| commit | b20c16ee3941b6e213015c0169d7276febdac39f (patch) | |
| tree | 8b0f867ae6a115ad424ffde0f680fc429c95dee5 | |
| parent | 56ed05e3b432cf1569222f79294ee791ef6abb67 (diff) | |
| download | coinos-server-b20c16ee3941b6e213015c0169d7276febdac39f.tar.gz coinos-server-b20c16ee3941b6e213015c0169d7276febdac39f.zip | |
fee rate
| -rw-r--r-- | routes/bitcoin/fee.js | 15 |
1 files 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); |
