bitcoinjs-lib/test/integration/utils.js

43 lines
1.1 KiB
JavaScript
Raw Normal View History

var https = require('https')
2015-05-30 15:30:37 +02:00
function faucetWithdraw (address, amount, done) {
var url = 'https://coconut-macaroon.herokuapp.com/withdrawal?address=' + address + '&amount=' + amount
https.get(url, function (res) {
res.statusCode === 200 ? done(null) : done(new Error('non-200 status: ' + res.statusCode))
}).on('error', done)
}
2015-05-30 15:30:37 +02:00
function pollUnspent (blockchain, address, done) {
blockchain.addresses.unspents(address, function (err, unspents) {
if (err) return done(err)
2015-05-30 15:30:37 +02:00
if (!unspents || unspents.length === 0) {
return setTimeout(function () {
pollUnspent(blockchain, address, done)
}, 200)
}
done(null, unspents)
})
}
2015-05-30 15:30:37 +02:00
function pollSummary (blockchain, address, done) {
blockchain.addresses.summary(address, function (err, result) {
if (err) return done(err)
2015-05-30 15:30:37 +02:00
if (result.balance === 0) {
return setTimeout(function () {
pollSummary(blockchain, address, done)
}, 200)
}
done(null, result)
})
}
module.exports = {
faucetWithdraw: faucetWithdraw,
pollUnspent: pollUnspent,
pollSummary: pollSummary
}