Browse Source

poll address unspent until non-empty or timeout

hk-custom-address
Wei Lu 10 years ago
parent
commit
713f038583
  1. 3
      test/integration/advanced.js
  2. 3
      test/integration/multisig.js
  3. 18
      test/integration/utils.js

3
test/integration/advanced.js

@ -4,6 +4,7 @@ var assert = require('assert')
var bitcoin = require('../../')
var blockchain = new (require('cb-insight'))('https://test-insight.bitpay.com')
var faucetWithdraw = require('./utils').faucetWithdraw
var pollUnspent = require('./utils').pollUnspent
describe('bitcoinjs-lib (advanced)', function () {
it('can sign a Bitcoin message', function () {
@ -33,7 +34,7 @@ describe('bitcoinjs-lib (advanced)', function () {
faucetWithdraw(address, 2e4, function (err) {
if (err) return done(err)
blockchain.addresses.unspents(address, function (err, unspents) {
pollUnspent(blockchain, address, function (err, unspents) {
if (err) return done(err)
var tx = new bitcoin.TransactionBuilder()

3
test/integration/multisig.js

@ -4,6 +4,7 @@ var assert = require('assert')
var bitcoin = require('../../')
var blockchain = new (require('cb-insight'))('https://test-insight.bitpay.com')
var faucetWithdraw = require('./utils').faucetWithdraw
var pollUnspent = require('./utils').pollUnspent
describe('bitcoinjs-lib (multisig)', function () {
it('can create a 2-of-3 multisig P2SH address', function () {
@ -42,7 +43,7 @@ describe('bitcoinjs-lib (multisig)', function () {
if (err) return done(err)
// get latest unspents from the address
blockchain.addresses.unspents(address, function (err, unspents) {
pollUnspent(blockchain, address, function (err, unspents) {
if (err) return done(err)
// filter small unspents

18
test/integration/utils.js

@ -7,6 +7,22 @@ function faucetWithdraw(address, amount, done) {
}).on('error', done)
}
function pollUnspent(blockchain, address, done) {
blockchain.addresses.unspents(address, function (err, unspents) {
if (err) return done(err)
if(unspents == null || unspents.length === 0) {
return setTimeout(function() {
pollUnspent(blockchain, address, done)
}, 200)
}
done(null, unspents)
})
}
module.exports = {
faucetWithdraw: faucetWithdraw
faucetWithdraw: faucetWithdraw,
pollUnspent: pollUnspent
}

Loading…
Cancel
Save