aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-04-03 22:26:06 -0700
committerAdam Soltys <[email protected]>2020-04-03 22:26:06 -0700
commit56ed05e3b432cf1569222f79294ee791ef6abb67 (patch)
tree209faefad79438f19e8ab317b9b128af47bb02f5
parentaf1fe57dfede434fc7b4ca41b4746a4030a9ba7d (diff)
downloadcoinos-server-56ed05e3b432cf1569222f79294ee791ef6abb67.tar.gz
coinos-server-56ed05e3b432cf1569222f79294ee791ef6abb67.zip
fee rate
-rw-r--r--routes/bitcoin/fee.js5
-rw-r--r--routes/liquid/fee.js6
2 files changed, 6 insertions, 5 deletions
diff --git a/routes/bitcoin/fee.js b/routes/bitcoin/fee.js
index a2c63660..777633e3 100644
--- a/routes/bitcoin/fee.js
+++ b/routes/bitcoin/fee.js
@@ -14,12 +14,13 @@ module.exports = async (req, res) => {
subtractFeeFromOutputs: amount === user.balance ? [0] : []
}
- if (feeRate) params["feeRate"] = (feeRate / SATS * 1000).toFixed(8);
+ if (feeRate) params.feeRate = (feeRate / SATS).toFixed(8);
tx = await bc.fundRawTransaction(tx, params);
let decoded = await bc.decodeRawTransaction(tx.hex);
/* TODO: figure out why this 0.8 multiplier seems necessary */
- feeRate = (tx.fee * SATS / decoded.vsize) * 1000 * 0.80145;
+ feeRate = parseInt(tx.fee * SATS * 1000 / decoded.size);
+ l.info(decoded.weight, decoded.size, decoded.vsize, params.feeRate * SATS, feeRate);
res.send({ feeRate, tx });
} catch (e) {
l.error("bitcoin fee estimation error", e);
diff --git a/routes/liquid/fee.js b/routes/liquid/fee.js
index ac1a1a49..54ecf5f8 100644
--- a/routes/liquid/fee.js
+++ b/routes/liquid/fee.js
@@ -14,13 +14,13 @@ module.exports = async (req, res) => {
subtractFeeFromOutputs: amount === user.balance ? [0] : []
}
- if (feeRate) params["feeRate"] = (feeRate / SATS * 1000).toFixed(8);
+ 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 = (tx.fee * SATS / decoded.size) * 1000 * 0.137685;
- l.info(decoded.weight, decoded.size, decoded.vsize, feeRate);
+ feeRate = parseInt(tx.fee * SATS * 1000 / decoded.size);
+ l.info(decoded.weight, decoded.size, decoded.vsize, params.feeRate * SATS, feeRate);
res.send({ feeRate, tx });
} catch (e) {
l.error("error estimating liquid fee", e);