More refactoring on Trader

This commit is contained in:
Maciej Małecki 2014-04-14 15:16:53 +02:00
parent 05fef31fce
commit 1f3c59dbc0
6 changed files with 88 additions and 277 deletions

View file

@ -1,9 +1,6 @@
'use strict';
var api = exports.api = require('./protocol/api/api');
var _config;
var _lamassuConfig;
var _commission;
var _trader;
// Make sure these are higher than polling interval
// or there will be a lot of errors
@ -26,8 +23,8 @@ var poll = function(req, res) {
});
}
var rateRec = api.ticker.rate(req.params.currency);
var satoshiBalanceRec = api.balance.balance();
var rateRec = _trader.rate(req.params.currency);
var satoshiBalanceRec = _trader.balance;
if (rateRec === null || satoshiBalanceRec === null)
return res.json({err: 'Server initializing'});
@ -40,10 +37,10 @@ var poll = function(req, res) {
res.json({
err: null,
rate: rate * _commission,
fiat: api.fiatBalance(rate, satoshiBalanceRec, 0, 0),
rate: rate * _trader.config.exchanges.settings.commission,
fiat: api.fiatBalance(0, 0),
currency: req.params.currency,
txLimit: parseInt(_config.exchanges.settings.compliance.maximum.limit, 10)
txLimit: parseInt(_trader.config.exchanges.settings.compliance.maximum.limit, 10)
});
};
@ -76,33 +73,13 @@ var pair = function(req, res) {
);
};
exports.init = function(app, config, lamassuConfig, authMiddleware) {
_config = config;
_lamassuConfig = lamassuConfig;
api.init(_config.exchanges);
_commission = _config.exchanges.settings.commission;
exports._tradeExchange = api._tradeExchange;
exports._transferExchange = api._transferExchange;
exports.init = function(app, trader, authMiddleware) {
_trader = trader;
app.get('/poll/:currency', authMiddleware, poll);
app.post('/trade', authMiddleware, trade);
app.post('/send', authMiddleware, send);
app.post('/pair', pair);
lamassuConfig.on('configUpdate', function () {
_lamassuConfig.load(function(err, config) {
if (err) {
return console.error('Error while reloading config');
}
_config = config;
api.init(_config.exchanges);
console.log('Config reloaded');
});
});
return app;
};