lamassu-server/lib/plugins/zero-conf/blockcypher/blockcypher.js
2017-06-01 16:52:59 +01:00

28 lines
735 B
JavaScript

const qs = require('querystring')
const axios = require('axios')
const _ = require('lodash/fp')
module.exports = {authorize}
function authorize (account, toAddress, cryptoAtoms, cryptoCode) {
return Promise.resolve()
.then(() => {
if (cryptoCode !== 'BTC') throw new Error('Unsupported crypto: ' + cryptoCode)
const query = qs.stringify({
token: account.token,
includeConfidence: true,
confidence: account.confidence
})
const url = `https://api.blockcypher.com/v1/btc/main/addrs/${toAddress}?${query}`
return axios.get(url)
.then(r => {
const data = r.data
const authorizedValue = _.sumBy('value', data.txrefs)
return cryptoAtoms.lte(authorizedValue)
})
})
}