Start the refactor
This commit is contained in:
parent
e5b94527a9
commit
f376e96ab2
10 changed files with 608 additions and 2 deletions
49
lib/protocol/api/balance.js
Normal file
49
lib/protocol/api/balance.js
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
'use strict';
|
||||
|
||||
var _transferExchange;
|
||||
var _tradeExchange;
|
||||
var _api;
|
||||
var _config;
|
||||
var _balance = null;
|
||||
var _balanceTriggers = [];
|
||||
|
||||
var winston = require('winston');
|
||||
var logger = new (winston.Logger)({transports:[new (winston.transports.Console)()]});
|
||||
|
||||
var async = require('async');
|
||||
|
||||
exports.init = function(config, api, transferExchange, tradeExchange) {
|
||||
_api = api;
|
||||
_config = config;
|
||||
|
||||
_transferExchange = transferExchange;
|
||||
_tradeExchange = tradeExchange;
|
||||
|
||||
_balanceTriggers = [function (cb) { _transferExchange.balance(cb); }];
|
||||
|
||||
if (tradeExchange)
|
||||
_balanceTriggers.push(function(cb) { _tradeExchange.balance(cb); });
|
||||
|
||||
_pollBalance();
|
||||
setInterval(_pollBalance, 60 * 1000);
|
||||
};
|
||||
|
||||
exports.balance = function balance() {
|
||||
return _balance;
|
||||
};
|
||||
|
||||
exports.triggerBalance = _pollBalance;
|
||||
|
||||
function _pollBalance() {
|
||||
logger.info('collecting balance');
|
||||
async.parallel(_balanceTriggers, function(err, results) {
|
||||
if (err) return;
|
||||
|
||||
_balance = {
|
||||
transferBalance: results[0],
|
||||
tradeBalance: results.length === 2 ? results[1] : null,
|
||||
timestamp: Date.now()
|
||||
};
|
||||
logger.info('Balance update:', _balance);
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue