This commit is contained in:
Josh Harvey 2017-03-22 00:51:51 +02:00
parent 340ad2b518
commit b7a93b89f5
5 changed files with 159 additions and 77 deletions

View file

@ -36,15 +36,15 @@ function plugins (settings, deviceId) {
const cryptoCodes = config.cryptoCurrencies
const cashOut = config.cashOutEnabled
const cashInCommission = BN(1).minus(BN(config.cashInCommission).div(100))
const cashOutCommission = cashOut && BN(1).plus(BN(config.cashOutCommission).div(100))
const rates = {}
console.log('DEBUG444: %j', tickers)
console.log('DEBUG445: %j', [config.cashOutCommission, cashOutCommission])
cryptoCodes.forEach((cryptoCode, i) => {
const cryptoConfig = configManager.scoped(cryptoCode, deviceId, settings.config)
const rateRec = tickers[i]
const cashInCommission = BN(1).minus(BN(cryptoConfig.cashInCommission).div(100))
const cashOutCommission = cashOut && BN(1).plus(BN(cryptoConfig.cashOutCommission).div(100))
if (Date.now() - rateRec.timestamp > STALE_TICKER) return logger.warn('Stale rate for ' + cryptoCode)
const rate = rateRec.rates
rates[cryptoCode] = {
@ -83,19 +83,39 @@ function plugins (settings, deviceId) {
const virtualCartridges = [config.virtualCashOutDenomination]
return dbm.cartridgeCounts(deviceId)
.then(rec => ({
cartridges: [
{
denomination: parseInt(cartridges[0], 10),
count: parseInt(rec.counts[0], 10)
},
{
denomination: parseInt(cartridges[1], 10),
count: parseInt(rec.counts[1], 10)
.then(rec => {
if (argv.cassettes) {
const counts = argv.cassettes.split(',')
return {
cartridges: [
{
denomination: parseInt(cartridges[0], 10),
count: parseInt(counts[0], 10)
},
{
denomination: parseInt(cartridges[1], 10),
count: parseInt(counts[1], 10)
}
],
virtualCartridges
}
],
virtualCartridges
}))
}
return {
cartridges: [
{
denomination: parseInt(cartridges[0], 10),
count: parseInt(rec.counts[0], 10)
},
{
denomination: parseInt(cartridges[1], 10),
count: parseInt(rec.counts[1], 10)
}
],
virtualCartridges
}
})
}
function fetchCurrentConfigVersion () {
@ -200,7 +220,8 @@ function plugins (settings, deviceId) {
function fiatBalance (fiatCode, cryptoCode) {
const config = configManager.scoped(cryptoCode, deviceId, settings.config)
console.log('DEBUG222: %j', config)
console.log('DEBUG223: %j', [cryptoCode, deviceId])
return Promise.all([
ticker.getRates(settings, fiatCode, cryptoCode),
wallet.balance(settings, cryptoCode)
@ -221,7 +242,6 @@ function plugins (settings, deviceId) {
const unitScale = BN(10).pow(coins[cryptoCode].unitScale)
const fiatTransferBalance = balance.mul(rate.div(unitScale)).div(lowBalanceMargin)
console.log('DEBUG444: %s', fiatTransferBalance)
return {timestamp: balanceRec.timestamp, balance: fiatTransferBalance.truncated().toString()}
})
}