diff options
| author | Adam Soltys <[email protected]> | 2020-05-21 15:20:06 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-05-21 15:20:06 -0700 |
| commit | 45b998a8b4d4947187d7ea78c12181232a99a3ae (patch) | |
| tree | 8401bff434df69bd793fd47b8442a518cc214e5e | |
| parent | 3f4ef5ab89019353f1e989194c73c8a1528f96e2 (diff) | |
| download | coinos-server-45b998a8b4d4947187d7ea78c12181232a99a3ae.tar.gz coinos-server-45b998a8b4d4947187d7ea78c12181232a99a3ae.zip | |
handle no change case
| -rw-r--r-- | routes/liquid/fee.js | 13 |
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, |
