From 9fa5428cb182b0a6475144e3a60d63124cccfdc1 Mon Sep 17 00:00:00 2001 From: Renzo <rontivero@ultimamillasa.com.ar> Date: Tue, 12 May 2020 17:38:06 -0300 Subject: [PATCH] Optimizando los procesos --- api/controllers/AccountController.js | 2 +- api/controllers/BlockchainController.js | 8 ++++++-- api/controllers/CeloController.js | 3 ++- api/controllers/RinkebyController.js | 18 ++++++++++-------- api/helpers/ars-to-usd.js | 13 ++++++++----- api/helpers/eth-to-usd.js | 18 ++++++++++++++---- api/helpers/rbtc-to-usd.js | 13 +++++++++---- api/helpers/usd-to-ars.js | 13 ++++++++----- api/helpers/usd-to-eth.js | 12 +++++++++--- api/helpers/usd-to-rbtc.js | 15 ++++++++++----- 10 files changed, 77 insertions(+), 38 deletions(-) diff --git a/api/controllers/AccountController.js b/api/controllers/AccountController.js index 2ae1adf..6e5efa3 100755 --- a/api/controllers/AccountController.js +++ b/api/controllers/AccountController.js @@ -45,7 +45,7 @@ module.exports = { payments.push({name: 'rinkeby', enabled: true}); payments.push({name: 'rsk', enabled: true}); payments.push({name: 'bfa', enabled: false}); - payments.push({name: 'celo', enabled: false}); + payments.push({name: 'celo', enabled: true}); return res.json(payments); } diff --git a/api/controllers/BlockchainController.js b/api/controllers/BlockchainController.js index b9a22af..b81fc4d 100755 --- a/api/controllers/BlockchainController.js +++ b/api/controllers/BlockchainController.js @@ -235,10 +235,14 @@ module.exports = { web3.eth.sendSignedTransaction(raw, (err, tx_hash) => { if(err){ - return res.json(err.toString()); + return res.json({ + status: 'error', + error: err.toString() + }); } - return res.json({ + return res.json({ + status: 'ok', tx_hash : tx_hash }); }); diff --git a/api/controllers/CeloController.js b/api/controllers/CeloController.js index 696b22a..94a245c 100755 --- a/api/controllers/CeloController.js +++ b/api/controllers/CeloController.js @@ -24,7 +24,8 @@ module.exports = { let balance = await goldtoken.balanceOf(account) - return res.json(balance.toString()); + sails.log("-------------------------------------------------------"); + return res.json(balance); }, }; diff --git a/api/controllers/RinkebyController.js b/api/controllers/RinkebyController.js index cbccd6f..787a9cc 100755 --- a/api/controllers/RinkebyController.js +++ b/api/controllers/RinkebyController.js @@ -184,8 +184,8 @@ module.exports = { throw 'No se pudo obtener la cotización del USD'; } - sails.log("-------------------------------------------------------"); - return res.json(usdToArs); + sails.log("-------------------------------------------------------"); + return res.json(usdToArs); }); }, @@ -197,8 +197,7 @@ module.exports = { var private_key = Buffer.from( req.body.private_key.substr(2), 'hex', - ); - + ); // Tengo que convertir el dinero que viene en ARS a USD try{ @@ -214,8 +213,7 @@ module.exports = { sails.log("USDToEth:", usdToEth); } catch (e){ throw 'No se pudo obtener la cotización ETH'; - } - + } web3.eth.getTransactionCount(_from, (err, txCount) => { @@ -240,10 +238,14 @@ module.exports = { web3.eth.sendSignedTransaction(raw, (err, tx_hash) => { if(err){ - return res.json(err.toString()); + return res.json({ + status: 'error', + error: err.toString() + }); } - return res.json({ + return res.json({ + status: 'ok', tx_hash : tx_hash }); }); diff --git a/api/helpers/ars-to-usd.js b/api/helpers/ars-to-usd.js index b91f23c..d14ccb7 100755 --- a/api/helpers/ars-to-usd.js +++ b/api/helpers/ars-to-usd.js @@ -38,11 +38,14 @@ module.exports = { console.log(err); }); - sails.log("Tasa de conversión USD/ARS:", openexchange); - - // TODO: guardar el último valor en la BD y en caso de fallar el exchange, tomar la cotización de la BD - - var arsToUsd = inputs.ars / openexchange; + if(openexchange){ + sails.log("Tasa de conversión USD/ARS:", openexchange); + var arsToUsd = inputs.ars / openexchange; + } else { + openexchange = 67.4556; // Camperiño + sails.log("********Tasa de conversión USD/ARS:", openexchange); + var arsToUsd = inputs.ars / openexchange; + } return arsToUsd; } diff --git a/api/helpers/eth-to-usd.js b/api/helpers/eth-to-usd.js index 120e81c..a97fcc3 100755 --- a/api/helpers/eth-to-usd.js +++ b/api/helpers/eth-to-usd.js @@ -27,6 +27,11 @@ module.exports = { fn: async function (inputs) { + // TODO: + //- Almacenar el valor obtenido en la BD + //- Calcular el tiempo de la última actualización + //- Si es más de una hs, actualizar, si no leer y devolver el valor de la BD + var exchangerate = await axios({ method : 'GET', url : 'https://rest.coinapi.io/v1/exchangerate/ETH/USD', @@ -40,11 +45,16 @@ module.exports = { .catch(err => { console.log(err.response.data); }); - - sails.log("Tasa de conversion ETH/USD:", exchangerate); - - var etherToUsd = exchangerate * inputs.eth; + if(exchangerate){ + sails.log("Tasa de conversion ETH/USD:", exchangerate); + var etherToUsd = inputs.eth * exchangerate; + } else { + exchangerate = 190.8182377954368; // Camperiño + sails.log("***** Tasa de conversion ETH/USD:", exchangerate); + var etherToUsd = inputs.eth * exchangerate; + } + return etherToUsd; } diff --git a/api/helpers/rbtc-to-usd.js b/api/helpers/rbtc-to-usd.js index ad5341a..89724cb 100755 --- a/api/helpers/rbtc-to-usd.js +++ b/api/helpers/rbtc-to-usd.js @@ -40,11 +40,16 @@ module.exports = { .catch(err => { console.log(err.response.data); }); - - sails.log("Tasa de conversion RBTC/USD:", exchangerate); - - var rbtcToUsd = exchangerate * inputs.rbtc; + if(exchangerate){ + sails.log("Tasa de conversion RBTC/USD:", exchangerate); + var rbtcToUsd = inputs.rbtc * exchangerate; + } else { + exchangerate = 8869.059502279988; // Camperiño + sails.log("***** Tasa de conversion RBTC/USD:", exchangerate); + var rbtcToUsd = inputs.rbtc * exchangerate; + } + return rbtcToUsd; } diff --git a/api/helpers/usd-to-ars.js b/api/helpers/usd-to-ars.js index e63f77a..a056e98 100755 --- a/api/helpers/usd-to-ars.js +++ b/api/helpers/usd-to-ars.js @@ -38,11 +38,14 @@ module.exports = { console.log(err); }); - sails.log("Tasa de conversión USD/ARS:", openexchange); - - // TODO: guardar el último valor en la BD y en caso de fallar el exchange, tomar la cotización de la BD - - var usdToArs = openexchange * inputs.usd; + if(openexchange){ + sails.log("Tasa de conversión USD/ARS:", openexchange); + var usdToArs = inputs.usd * openexchange; + } else { + openexchange = 67.4556; // Camperiño + sails.log("******** Tasa de conversión USD/ARS:", openexchange); + var usdToArs = inputs.usd * openexchange; + } return usdToArs; } diff --git a/api/helpers/usd-to-eth.js b/api/helpers/usd-to-eth.js index 6ad1da8..002c891 100755 --- a/api/helpers/usd-to-eth.js +++ b/api/helpers/usd-to-eth.js @@ -40,10 +40,16 @@ module.exports = { .catch(err => { console.log(err.response.data); }); + + if(exchangerate){ + sails.log("Tasa de conversion ETH/USD:", exchangerate); + var usdToEth = inputs.usd / exchangerate; + } else { + exchangerate = 190.8182377954368; // Camperiño + sails.log("***** Tasa de conversion ETH/USD:", exchangerate); + var usdToEth = inputs.usd / exchangerate; + } - sails.log("Tasa de conversion ETH/USD:", exchangerate); - - var usdToEth = inputs.usd / exchangerate; return usdToEth; } diff --git a/api/helpers/usd-to-rbtc.js b/api/helpers/usd-to-rbtc.js index 5e96532..4865a88 100755 --- a/api/helpers/usd-to-rbtc.js +++ b/api/helpers/usd-to-rbtc.js @@ -40,12 +40,17 @@ module.exports = { .catch(err => { console.log(err.response.data); }); - - sails.log("Tasa de conversion ETH/USD:", exchangerate); - - var rbtcToUsd = inputs.usd / exchangerate; - return rbtcToUsd; + if(exchangerate){ + sails.log("Tasa de conversion RBTC/USD:", exchangerate); + var usdToRbtc = inputs.usd / exchangerate; + } else { + exchangerate = 8869.059502279988; // Camperiño + sails.log("***** Tasa de conversion RBTC/USD:", exchangerate); + var usdToRbtc = inputs.usd / exchangerate; + } + + return usdToRbtc; } -- GitLab