From 2b7a824c814cf9e4ce62184e6677bbac296eb900 Mon Sep 17 00:00:00 2001 From: Matias Date: Sat, 16 Feb 2019 12:10:09 -0300 Subject: [PATCH] Using exchangeAPI from the browser --- Exchange/ExchangeAPI.js | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/Exchange/ExchangeAPI.js b/Exchange/ExchangeAPI.js index 3dde860f9..d2c1e7071 100644 --- a/Exchange/ExchangeAPI.js +++ b/Exchange/ExchangeAPI.js @@ -8,9 +8,6 @@ const _ = require('lodash') const isValidOrder = require('./exchangeUtils').isValidOrder const axios = require('axios') - const appRoot = require('app-root-path') - const auth = require(`${appRoot}/utils/auth`) - let MODULE_NAME = "Exchange API"; let thisObject = { @@ -34,14 +31,11 @@ if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] initialize -> Entering function."); } - // TODO integrate with financial beings module to get the exchange let botExchange = 'Poloniex'; let exchange = botExchange.toLowerCase() + 'Client.js'; - let api = require('./wrappers/' + exchange); + let api = require('./Wrappers/' + exchange); - const accessToken = await auth.authenticate() - - let keyVaultAPI = createKeyVaultAPIClient(accessToken) + let keyVaultAPI = createKeyVaultAPIClient() apiClient = api.newAPIClient(keyVaultAPI, logger); callBackFunction(global.DEFAULT_OK_RESPONSE); @@ -52,9 +46,23 @@ } } - function createKeyVaultAPIClient(authToken) { + function createKeyVaultAPIClient() { if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] createKeyVaultAPIClient -> Entering function."); } + let accessToken + let keyId + let cloneId + if (global.CURRENT_EXECUTION_AT === "Cloud") { + keyId = process.env.KEY_ID + cloneId = process.env.CLONE_ID + + let auth = require('../utils/auth') + let authToken = await auth.authenticate() + accessToken = 'Bearer ' + authToken + } else if (global.CURRENT_EXECUTION_AT === "Browser") { + accessToken = window.localStorage.getItem('access_token') + } + const keyVaultAPI = {} keyVaultAPI.signTransaction = function (transaction, next) { axios({ @@ -62,8 +70,8 @@ method: 'post', data: { query: ` - mutation keyVault_SignTransaction($keyId: String!, $cloneId: String!, $transaction: String!){ - keyVault_SignTransaction(keyId: $keyId, cloneId: $cloneId, transaction: $transaction){ + mutation keyVault_SignTransaction($transaction: String!, $keyId: String, $cloneId: String){ + keyVault_SignTransaction(transaction: $transaction, keyId: $keyId, cloneId: $cloneId){ key, signature, date @@ -71,13 +79,13 @@ } `, variables: { - keyId: process.env.KEY_ID, - cloneId: process.env.CLONE_ID, - transaction: transaction + transaction: transaction, + keyId: keyId, + cloneId: cloneId } }, headers: { - authorization: 'Bearer ' + authToken + authorization: accessToken } }).then(res => {