fix blockcypher plugin

This commit is contained in:
Josh Harvey 2017-08-01 00:06:20 +02:00
parent 8fd2c1a7d1
commit e04ea6c796
2 changed files with 14 additions and 6 deletions

View file

@ -4,6 +4,10 @@ const _ = require('lodash/fp')
module.exports = {authorize}
function isHighConfidence (confidence, txref) {
return txref.confirmations > 0 || txref.confidence * 100 >= confidence ? txref.value : 0
}
function authorize (account, toAddress, cryptoAtoms, cryptoCode) {
return Promise.resolve()
.then(() => {
@ -11,18 +15,23 @@ function authorize (account, toAddress, cryptoAtoms, cryptoCode) {
const query = qs.stringify({
token: account.token,
includeConfidence: true,
confidence: account.confidence
includeConfidence: true
})
const confidence = account.confidence
const url = `https://api.blockcypher.com/v1/btc/main/addrs/${toAddress}?${query}`
console.log(url)
return axios.get(url)
.then(r => {
const data = r.data
const authorizedValue = _.sumBy('value', data.txrefs)
const sumTxRefs = txrefs => _.sumBy(txref => isHighConfidence(confidence, txref), txrefs)
const authorizedValue = sumTxRefs(data.txrefs) + sumTxRefs(data.unconfirmed_txrefs)
return cryptoAtoms.lte(authorizedValue)
})
})
}