WIP
This commit is contained in:
parent
9f31b31af8
commit
fd4e5b5f34
1 changed files with 5 additions and 34 deletions
|
|
@ -12,10 +12,12 @@ module.exports = {
|
|||
getFingerprint: getFingerprint
|
||||
}
|
||||
|
||||
/*
|
||||
// Make sure these are higher than polling interval
|
||||
// or there will be a lot of errors
|
||||
var STALE_TICKER = 180000
|
||||
var STALE_BALANCE = 180000
|
||||
*/
|
||||
|
||||
var pids = {}
|
||||
var reboots = {}
|
||||
|
|
@ -60,43 +62,12 @@ function poll (req, res) {
|
|||
|
||||
logger.debug('poll request from: %s', fingerprint)
|
||||
|
||||
var rateRec = plugins.getDeviceRate()
|
||||
var balanceRec = plugins.getBalance()
|
||||
|
||||
var rates = buildRates()
|
||||
var balances = buildBalances()
|
||||
|
||||
// `rateRec` and `balanceRec` are both objects, so there's no danger
|
||||
// of misinterpreting rate or balance === 0 as 'Server initializing'.
|
||||
if (!rateRec || !balanceRec) {
|
||||
return res.json({err: 'Server initializing'})
|
||||
}
|
||||
|
||||
var now = Date.now()
|
||||
if (now - rateRec.timestamp > STALE_TICKER) {
|
||||
return res.json({err: 'Stale ticker'})
|
||||
}
|
||||
|
||||
if (now - balanceRec.timestamp > STALE_BALANCE) {
|
||||
return res.json({err: 'Stale balance'})
|
||||
}
|
||||
|
||||
var rate = rateRec.rates.ask
|
||||
var fiatRate = rateRec.rates.bid || rate
|
||||
|
||||
if (rate === null) return res.json({err: 'No rate available'})
|
||||
if (!fiatRate) logger.warn('No bid rate, using ask rate')
|
||||
|
||||
var fiatBalance = plugins.fiatBalance()
|
||||
if (fiatBalance === null) {
|
||||
logger.warn('No balance available.')
|
||||
return res.json({err: 'No balance available'})
|
||||
}
|
||||
|
||||
var config = plugins.getConfig()
|
||||
var settings = config.exchanges.settings
|
||||
var complianceSettings = settings.compliance
|
||||
var fiatCommission = settings.fiatCommission || settings.commission
|
||||
|
||||
plugins.pollQueries(session(req), function (err, results) {
|
||||
if (err) return logger.error(err)
|
||||
|
|
@ -106,9 +77,9 @@ function poll (req, res) {
|
|||
|
||||
var response = {
|
||||
err: null,
|
||||
rate: rate * settings.commission,
|
||||
fiatRate: fiatRate / fiatCommission,
|
||||
fiat: fiatBalance,
|
||||
rate: rates.BTC.cashIn,
|
||||
fiatRate: rates.BTC.cashOut,
|
||||
fiat: balances.BTC,
|
||||
locale: config.brain.locale,
|
||||
txLimit: parseInt(complianceSettings.maximum.limit, 10),
|
||||
idVerificationEnabled: complianceSettings.idVerificationEnabled,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue