aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-05-21 15:20:06 -0700
committerAdam Soltys <[email protected]>2020-05-21 15:20:06 -0700
commit45b998a8b4d4947187d7ea78c12181232a99a3ae (patch)
tree8401bff434df69bd793fd47b8442a518cc214e5e
parent3f4ef5ab89019353f1e989194c73c8a1528f96e2 (diff)
downloadcoinos-server-45b998a8b4d4947187d7ea78c12181232a99a3ae.tar.gz
coinos-server-45b998a8b4d4947187d7ea78c12181232a99a3ae.zip
handle no change case
-rw-r--r--routes/liquid/fee.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/routes/liquid/fee.js b/routes/liquid/fee.js
index 0b2a4d90..659d9a25 100644
--- a/routes/liquid/fee.js
+++ b/routes/liquid/fee.js
@@ -24,6 +24,7 @@ module.exports = async (req, res) => {
if (feeRate) params.feeRate = (feeRate / SATS).toFixed(8);
let info = await lq.getAddressInfo(address);
+ l.info(info);
tx = await lq.walletCreateFundedPsbt(
[],
@@ -40,15 +41,25 @@ module.exports = async (req, res) => {
tx: { vin, vout },
} = decoded;
+ l.info(decoded);
let change, fee;
for (let i = 0; i < vout.length; i++) {
+ l.info("vout", vout[i]);
if (vout[i].scriptPubKey) {
if (vout[i].scriptPubKey.type === "fee") fee = vout.splice(i, 1)[0];
- else if (!vout[i].scriptPubKey.addresses.includes(info.unconfidential))
+ else if (!(vout[i].scriptPubKey.addresses.includes(info.unconfidential)))
change = vout[i];
}
}
+ if (!change) {
+ change = {
+ value: 0,
+ scriptPubKey:
+ { addresses: [(await lq.getAddressInfo(await lq.getNewAddress())).unconfidential] },
+ }
+ }
+
let psbt = await lq.createPsbt(
vin.map((input) => ({
txid: input.txid,