diff --git a/src/wallet.js b/src/wallet.js index 5e04b74..1466774 100644 --- a/src/wallet.js +++ b/src/wallet.js @@ -103,7 +103,8 @@ function Wallet(seed, network) { return { receive: key, address: o.address, - value: o.value + value: o.value, + pending: o.pending } } @@ -211,7 +212,7 @@ function Wallet(seed, network) { for (var key in me.outputs) { var output = me.outputs[key] - if (!output.spend) unspent.push(output) + if (!output.spend && !output.pending) unspent.push(output) } var sortByValueDesc = unspent.sort(function(o1, o2){ diff --git a/test/wallet.js b/test/wallet.js index 00fea42..2f96899 100644 --- a/test/wallet.js +++ b/test/wallet.js @@ -439,6 +439,25 @@ describe('Wallet', function() { assert.equal(tx.ins.length, 1) assert.deepEqual(tx.ins[0].outpoint, { hash: fakeTxHash(3), index: 0 }) }) + + it('ignores pending outputs', function(){ + utxo.push( + { + "hash": fakeTxHash(4), + "outputIndex": 0, + "address" : address2, + "value": 530000, + "pending": true + } + ) + wallet.setUnspentOutputs(utxo) + + var tx = wallet.createTx(to, value) + + assert.equal(tx.ins.length, 1) + assert.deepEqual(tx.ins[0].outpoint, { hash: fakeTxHash(3), index: 0 }) + }) + }) describe(networks.testnet, function(){