From 45b998a8b4d4947187d7ea78c12181232a99a3ae Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 21 May 2020 15:20:06 -0700 Subject: handle no change case --- routes/liquid/fee.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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, -- cgit v1.2.3