From 72977a16447a0caf2f8fa2d87baabe40b3cc77f0 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Tue, 6 Mar 2018 19:29:34 +0100 Subject: [PATCH] ExchangeAPI reviewed --- .vs/AACloudPlatform/v15/.suo | Bin 69632 -> 69632 bytes Assistant.js | 34 ++++++++++++++++---------------- Context.js | 22 ++++++++++----------- Datasource.js | 26 ++++++++++++------------ Debug Log.js | 4 ++-- ExchangeAPI.js | 37 +++++++++++++++++------------------ 6 files changed, 61 insertions(+), 62 deletions(-) diff --git a/.vs/AACloudPlatform/v15/.suo b/.vs/AACloudPlatform/v15/.suo index 01df8afc368b90effcde477f6e00b9c6b846c612..a076f695ae1c87a73ee20ddb481769c78edc2afe 100644 GIT binary patch delta 436 zcmZozz|ydQWkU`V>jbHdzbZBtGW}*|6$tZWtlV74)~>*qy7{Nte{&EO$8O42ByXR3z#McPLtUzv*iUd zL}Et>>!N)ulRwT-pS)m?$l_Cr7$=+WJ-X-!)8_sqg^VD#Og_1~eDZ;%{EJR7P3GTF zxHrWwG4It(LV&=_pmljE)+p4&k@6;tmF058;Va9Km;4(HwE&$ghqDlY& delta 491 zcmZozz|ydQWkU`V>w~rPiVHRuGW}*|4OsM|63Aq0S71!s{8R0}If#m5H|0(gVPFtu zU|`^6STvb&M&ac6Ge(pDOkF-{M$zPb=XoX@Ox2jYc-lI~Wnf9)(|nV=rf5t~xUMi+ zVMfqo+vB#2X0Q=q2J0F|7b}C!g*#6%Z$7oyjA=6CwA{(>*9uOy*rScx>`g0J*cjo? z+Pr2*1mon7ZyPo@Y-nJdJaMt*X4_rI87Bu#lbP&$I%RXimKJ6d)gi1bdRfKhi}tZh zZro$O*?P}WMu@->rpbX*v^VR&xyrcc1QT~=PO3t1Nq$jcdg|oFE%KB5j~P!c*dQ>O zeMUCWV7|$(-u>b-0tS&F5WB#f^M+Azv(LvJOp`B`s!iUo-(|W1H>1ktz6(W+ljAo# t%9;Yz!hk1`p#sD_K+Fsh+#GjlktEa!Tba?!-W>no88c!1g3H(#xd0D?wEh49 diff --git a/Assistant.js b/Assistant.js index 8b258e8a6..359ad47d5 100644 --- a/Assistant.js +++ b/Assistant.js @@ -57,27 +57,27 @@ break; case 'Retry Later': { // Something bad happened, but if we retry in a while it might go through the next time. logger.write("[ERROR] initialize -> onDone -> Retry Later. Requesting Execution Retry."); - callBackFunction(err); + callBackFunction(err.message); return; } break; case 'Retry Later': { // This is an unexpected exception that we do not know how to handle. logger.write("[ERROR] initialize -> onDone -> Operation Failed. Aborting the process."); - callBackFunction(err); + callBackFunction(err.message); return; } break; } } catch (err) { - logger.write("[ERROR] initialize -> onDone -> err = " + err); + logger.write("[ERROR] initialize -> onDone -> err = " + err.message); callBackFunction("Operation Failed"); } } } catch (err) { - logger.write("[ERROR] initialize -> err = " + err); + logger.write("[ERROR] initialize -> err = " + err.message); callBackFunction("Operation Failed"); } } @@ -106,20 +106,20 @@ break; case 'Retry Later': { // Something bad happened, but if we retry in a while it might go through the next time. logger.write("[ERROR] getPositionsAtExchange -> onResponse -> Retry Later. Requesting Execution Retry."); - callBack(err); + callBack(err.message); return; } break; case 'Operation Failed': { // This is an unexpected exception that we do not know how to handle. logger.write("[ERROR] getPositionsAtExchange -> onResponse -> Operation Failed. Aborting the process."); - callBack(err); + callBack(err.message); return; } break; } } } catch (err) { - logger.write("[ERROR] getPositionsAtExchange -> err = " + err); + logger.write("[ERROR] getPositionsAtExchange -> err = " + err.message); callBack("Operation Failed"); } } @@ -261,7 +261,7 @@ next(); } catch (err) { - logger.write("[ERROR] ordersExecutionCheck -> loopBody -> confirmOrderWasPartiallyExecuted -> err = " + err); + logger.write("[ERROR] ordersExecutionCheck -> loopBody -> confirmOrderWasPartiallyExecuted -> err = " + err.message); callBack("Operation Failed"); return; } @@ -336,7 +336,7 @@ next(); } catch (err) { - logger.write("[ERROR] ordersExecutionCheck -> loopBody -> confirmOrderWasExecuted -> err = " + err); + logger.write("[ERROR] ordersExecutionCheck -> loopBody -> confirmOrderWasExecuted -> err = " + err.message); callBack("Operation Failed"); return; } @@ -375,18 +375,18 @@ break; } } catch (err) { - logger.write("[ERROR] ordersExecutionCheck -> loopBody -> getPositionTradesAtExchange -> onResponse -> err = " + err); + logger.write("[ERROR] ordersExecutionCheck -> loopBody -> getPositionTradesAtExchange -> onResponse -> err = " + err.message); callBack("Operation Failed"); } } } catch (err) { - logger.write("[ERROR] ordersExecutionCheck -> loopBody -> getPositionTradesAtExchange -> err = " + err); + logger.write("[ERROR] ordersExecutionCheck -> loopBody -> getPositionTradesAtExchange -> err = " + err.message); callBack("Operation Failed"); } } } catch (err) { - logger.write("[ERROR] ordersExecutionCheck -> loopBody -> err = " + err); + logger.write("[ERROR] ordersExecutionCheck -> loopBody -> err = " + err.message); callBack("Operation Failed"); return; } @@ -418,7 +418,7 @@ } } catch (err) { - logger.write("[ERROR] ordersExecutionCheck -> err = " + err); + logger.write("[ERROR] ordersExecutionCheck -> err = " + err.message); callBack("Operation Failed"); } } @@ -474,12 +474,12 @@ break; } } catch (err) { - logger.write("[ERROR] putPositionAtExchange -> onResponse -> err = " + err); + logger.write("[ERROR] putPositionAtExchange -> onResponse -> err = " + err.message); callBack("Operation Failed"); } } } catch (err) { - logger.write("[ERROR] putPositionAtExchange -> err = " + err); + logger.write("[ERROR] putPositionAtExchange -> err = " + err.message); callBack("Operation Failed"); } } @@ -548,12 +548,12 @@ break; } } catch (err) { - logger.write("[ERROR] movePositionAtExchange -> onResponse -> err = " + err); + logger.write("[ERROR] movePositionAtExchange -> onResponse -> err = " + err.message); callBack("Operation Failed"); } } } catch (err) { - logger.write("[ERROR] movePositionAtExchange -> err = " + err); + logger.write("[ERROR] movePositionAtExchange -> err = " + err.message); callBack("Operation Failed"); } } diff --git a/Context.js b/Context.js index 6f218d6b8..6ba1b35d8 100644 --- a/Context.js +++ b/Context.js @@ -94,20 +94,20 @@ break; case 'Retry Later': { // Something bad happened, but if we retry in a while it might go through the next time. logger.write("[ERROR] initialize -> onDone -> Retry Later. Requesting Execution Retry."); - callBackFunction(err); + callBackFunction(err.message); return; } break; case 'Retry Later': { // This is an unexpected exception that we do not know how to handle. logger.write("[ERROR] initialize -> onDone -> Operation Failed. Aborting the process."); - callBackFunction(err); + callBackFunction(err.message); return; } break; } } catch (err) { - logger.write("[ERROR] initialize -> onDone -> err = " + err); + logger.write("[ERROR] initialize -> onDone -> err = " + err.message); callBackFunction("Operation Failed"); } } @@ -153,7 +153,7 @@ } } } catch (err) { - logger.write("[ERROR] initialize -> getExecutionHistory -> err = " + err); + logger.write("[ERROR] initialize -> getExecutionHistory -> err = " + err.message); callBack("Operation Failed"); } } @@ -188,7 +188,7 @@ } } } catch (err) { - logger.write("[ERROR] initialize -> getExecutionHistory -> err = " + err); + logger.write("[ERROR] initialize -> getExecutionHistory -> err = " + err.message); callBack("Operation Failed"); } } @@ -230,7 +230,7 @@ } } catch (err) { - logger.write("[ERROR] initialize -> getExecutionContext -> err = " + err); + logger.write("[ERROR] initialize -> getExecutionContext -> err = " + err.message); callBack("Operation Failed"); } } @@ -263,13 +263,13 @@ callBack(null); } catch (err) { - logger.write("[ERROR] initialize -> createConext -> err = " + err); + logger.write("[ERROR] initialize -> createConext -> err = " + err.message); callBack("Operation Failed"); } } } catch (err) { - logger.write("[ERROR] initialize -> err = " + err); + logger.write("[ERROR] initialize -> err = " + err.message); callBackFunction("Operation Failed"); } } @@ -290,20 +290,20 @@ break; case 'Retry Later': { // Something bad happened, but if we retry in a while it might go through the next time. logger.write("[ERROR] saveThemAll -> onDone -> Retry Later. Requesting Execution Retry."); - callBackFunction(err); + callBackFunction(err.message); return; } break; case 'Retry Later': { // This is an unexpected exception that we do not know how to handle. logger.write("[ERROR] saveThemAll -> onDone -> Operation Failed. Aborting the process."); - callBackFunction(err); + callBackFunction(err.message); return; } break; } } catch (err) { - logger.write("[ERROR] saveThemAll -> onDone -> err = " + err); + logger.write("[ERROR] saveThemAll -> onDone -> err = " + err.message); callBackFunction("Operation Failed"); } } diff --git a/Datasource.js b/Datasource.js index 9355488ad..86f78163c 100644 --- a/Datasource.js +++ b/Datasource.js @@ -75,20 +75,20 @@ break; case 'Retry Later': { // Something bad happened, but if we retry in a while it might go through the next time. logger.write("[ERROR] initialize -> onDone -> Retry Later. Requesting Execution Retry."); - callBackFunction(err); + callBackFunction(err.message); return; } break; case 'Retry Later': { // This is an unexpected exception that we do not know how to handle. logger.write("[ERROR] initialize -> onDone -> Operation Failed. Aborting the process."); - callBackFunction(err); + callBackFunction(err.message); return; } break; } } catch (err) { - logger.write("[ERROR] initialize -> onDone -> err = " + err); + logger.write("[ERROR] initialize -> onDone -> err = " + err.message); callBackFunction("Operation Failed"); } } @@ -130,7 +130,7 @@ } } } catch (err) { - logger.write("[ERROR] getCandles -> getMarketFiles -> err = " + err); + logger.write("[ERROR] getCandles -> getMarketFiles -> err = " + err.message); callBack("Operation Failed"); } } @@ -157,7 +157,7 @@ } } } catch (err) { - logger.write("[ERROR] getCandles -> getDailyFiles -> err = " + err); + logger.write("[ERROR] getCandles -> getDailyFiles -> err = " + err.message); callBack("Operation Failed"); } } @@ -220,13 +220,13 @@ } } } catch (err) { - logger.write("[ERROR] getCandles -> getCandlesWeAreIn -> err = " + err); + logger.write("[ERROR] getCandles -> getCandlesWeAreIn -> err = " + err.message); callBack("Operation Failed"); } } } catch (err) { - logger.write("[ERROR] getCandles -> err = " + err); + logger.write("[ERROR] getCandles -> err = " + err.message); callBack("Operation Failed"); } } @@ -267,7 +267,7 @@ } } } catch (err) { - logger.write("[ERROR] getPatterns -> getMarketFiles -> err = " + err); + logger.write("[ERROR] getPatterns -> getMarketFiles -> err = " + err.message); callBack("Operation Failed"); } } @@ -294,7 +294,7 @@ } } } catch (err) { - logger.write("[ERROR] getPatterns -> getDailyFiles -> err = " + err); + logger.write("[ERROR] getPatterns -> getDailyFiles -> err = " + err.message); callBack("Operation Failed"); } } @@ -359,13 +359,13 @@ } } } catch (err) { - logger.write("[ERROR] getPatterns -> getStairsWeAreIn -> err = " + err); + logger.write("[ERROR] getPatterns -> getStairsWeAreIn -> err = " + err.message); callBack("Operation Failed"); } } } catch (err) { - logger.write("[ERROR] getPatterns -> err = " + err); + logger.write("[ERROR] getPatterns -> err = " + err.message); callBack("Operation Failed"); } } @@ -407,14 +407,14 @@ } } catch (err) { - logger.write("[ERROR] getPatterns -> err = " + err); + logger.write("[ERROR] getPatterns -> err = " + err.message); outerCallBack("Operation Failed"); } } } catch (err) { - logger.write("[ERROR] initialize -> err = " + err); + logger.write("[ERROR] initialize -> err = " + err.message); callBackFunction("Operation Failed"); } } diff --git a/Debug Log.js b/Debug Log.js index e88bbaf80..f78c18965 100644 --- a/Debug Log.js +++ b/Debug Log.js @@ -48,7 +48,7 @@ } catch (err) { - console.log("Error trying to create the folders needed. Error: " + err); + console.log("Error trying to create the folders needed. Error: " + err.message); } @@ -75,7 +75,7 @@ } catch (err) { - console.log("Error trying to log info into a file. File: " + filePath + " Error:" + err); + console.log("Error trying to log info into a file. File: " + filePath + " Error:" + err.message); } } diff --git a/ExchangeAPI.js b/ExchangeAPI.js index c1703db7a..33585a37a 100644 --- a/ExchangeAPI.js +++ b/ExchangeAPI.js @@ -1,4 +1,4 @@ -exports.newExchangeAPI = function newExchangeAPI(BOT) { +exports.newExchangeAPI = function newExchangeAPI(BOT, DEBUG_MODULE, POLONIEX_CLIENT_MODULE) { /* @@ -18,11 +18,9 @@ let bot = BOT; - const DEBUG_MODULE = require('./Debug Log'); const logger = DEBUG_MODULE.newDebugLog(); logger.fileName = MODULE_NAME; - const POLONIEX_CLIENT_MODULE = require('./Poloniex API Client'); let poloniexApiClient; return thisObject; @@ -34,6 +32,8 @@ let apiKey = readApiKey(); poloniexApiClient = new POLONIEX_CLIENT_MODULE(apiKey.Key, apiKey.Secret); + callBackFunction(null); + function readApiKey() { try { @@ -42,7 +42,7 @@ return JSON.parse(fs.readFileSync(filePath, 'utf8')); } catch (err) { - logger.write("[ERROR] initialize -> readApiKey -> err = " + err); + logger.write("[ERROR] initialize -> readApiKey -> err = " + err.message); logger.write("[HINT] You need to have a file at this path -> " + filePath); logger.write("[HINT] The file must have the keys to access your poloniex account, in this format -> " + '{ "Key" : "4FB9TMEB-234VH2W1-BYJIXHGM-GL15DSA1", "Secret" : "1a24298skdjdf734uuyhbdagdasdtyut276587256hdsdas765asdasdasd76asdasda765asdasfas6asfda57657asd5a76sd5a7s65d7a6sd57as65d7as65d"}'); logger.write("[HINT] You get this key logging in to your Poloniex web account, enabling API keys and getting a new one. "); @@ -53,7 +53,7 @@ } catch (err) { - logger.write("[ERROR] initialize -> err = " + err); + logger.write("[ERROR] initialize -> err = " + err.message); callBackFunction("Operation Failed"); } } @@ -98,8 +98,6 @@ return; } - return; - } else { /* @@ -142,7 +140,7 @@ } } } catch (err) { - logger.write("[ERROR] getOpenPositions -> onExchangeCallReturned -> Error = " + err.message); + logger.write("[ERROR] getOpenPositions -> Error = " + err.message); callBackFunction("Operation Failed"); } } @@ -186,9 +184,6 @@ callBackFunction("Operation Failed"); return; } - - return; - } else { /* @@ -238,7 +233,7 @@ } } } catch (err) { - logger.write("[ERROR] getExecutedTrades -> onExchangeCallReturned -> Error = " + err.message); + logger.write("[ERROR] getExecutedTrades -> Error = " + err.message); callBackFunction("Operation Failed"); } } @@ -249,10 +244,18 @@ if (pType === "buy") { poloniexApiClient.buy(pMarket.assetA, pMarket.assetB, pRate, pAmountB, onExchangeCallReturned); - } else { + return; + } + + if (pType === "sell") { poloniexApiClient.sell(pMarket.assetA, pMarket.assetB, pRate, pAmountB, onExchangeCallReturned); + return; } + logger.write("[ERROR] putPosition -> pType must be either 'buy' or 'sell'."); + callBackFunction("Operation Failed"); + return; + function onExchangeCallReturned(err, exchangeResponse) { try { @@ -287,8 +290,6 @@ return; } - return; - } else { /* @@ -320,7 +321,7 @@ } } catch (err) { - logger.write("[ERROR] putPosition -> err = " + err); + logger.write("[ERROR] putPosition -> err = " + err.message); callBackFunction("Operation Failed"); } } @@ -365,8 +366,6 @@ return; } - return; - } else { if (exchangeResponse.success !== 1) { @@ -403,7 +402,7 @@ } } catch (err) { - logger.write("[ERROR] movePosition -> err = " + err); + logger.write("[ERROR] movePosition -> err = " + err.message); callBackFunction("Operation Failed"); } }