moving conversion.js into service folder
This commit is contained in:
parent
5344b79cdb
commit
fef11b4712
@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
const blockchain = require('./blockchain');
|
||||
const conversion = require('./conversion');
|
||||
const conversion_rates = require('./services/conversion').getRate;
|
||||
|
||||
const {
|
||||
LAUNCH_SELLER_TAG,
|
||||
@ -219,7 +219,7 @@ function verifyConvert() {
|
||||
results.forEach(req => {
|
||||
if (mode == _sql.CONVERT_MODE_GET) {
|
||||
verifyTx.token(req.floID, req.in_txid, true).then(({ amount }) => {
|
||||
conversion.getRate().then(rate => {
|
||||
conversion_rates.BTC_INR().then(rate => {
|
||||
blockchain.convertToCoin.init(req.floID, "BTC", amount, amount / rate, req.id)
|
||||
}).catch(error => console.error(error))
|
||||
}).catch(error => {
|
||||
@ -230,7 +230,7 @@ function verifyConvert() {
|
||||
});
|
||||
} else if (mode == _sql.CONVERT_MODE_PUT) {
|
||||
verifyTx.BTC(req.floID, req.in_txid).then(quantity => {
|
||||
conversion.getRate().then(rate => {
|
||||
conversion_rates.BTC_INR().then(rate => {
|
||||
blockchain.convertFromCoin.init(req.floID, quantity * rate, quantity, req.id)
|
||||
}).catch(error => console.error(error))
|
||||
}).catch(error => {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const market = require("./market");
|
||||
const conversion = require('./conversion');
|
||||
const conversion = require('./services/conversion');
|
||||
|
||||
const {
|
||||
SIGN_EXPIRE_TIME,
|
||||
|
||||
@ -1,17 +1,21 @@
|
||||
const _sql = require('./_constants').sql;
|
||||
const _sql = require('../_constants').sql;
|
||||
const eCode = require('../../docs/scripts/floExchangeAPI').errorCode;
|
||||
|
||||
const allowedConversion = ["BTC"];
|
||||
|
||||
function getRate() {
|
||||
var DB; //container for database
|
||||
|
||||
function BTC_INR() {
|
||||
return new Promise((resolve, reject) => {
|
||||
getRate.BTC_USD().then(BTC_rate => {
|
||||
getRate.USD_INR().then(INR_rate => {
|
||||
resolve(BTC_rate * INR_rate);
|
||||
BTC_USD().then(btc_usd => {
|
||||
USD_INR().then(usd_inr => {
|
||||
resolve(btc_usd * usd_inr);
|
||||
}).catch(error => reject(error))
|
||||
}).catch(error => reject(error))
|
||||
})
|
||||
}
|
||||
|
||||
getRate.BTC_USD = function () {
|
||||
function BTC_USD() {
|
||||
return new Promise((resolve, reject) => {
|
||||
fetch('https://api.coinlore.net/api/ticker/?id=90').then(response => {
|
||||
if (response.ok) {
|
||||
@ -24,7 +28,7 @@ getRate.BTC_USD = function () {
|
||||
});
|
||||
}
|
||||
|
||||
getRate.USD_INR = function () {
|
||||
function USD_INR() {
|
||||
return new Promise((resolve, reject) => {
|
||||
fetch('https://api.exchangerate-api.com/v4/latest/usd').then(response => {
|
||||
if (response.ok) {
|
||||
@ -53,6 +57,7 @@ function convertToCoin(floID, txid, coin) {
|
||||
}
|
||||
|
||||
function convertFromCoin(floID, txid, coin) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!allowedConversion.includes(coin))
|
||||
return reject(INVALID(eCode.INVALID_TOKEN_NAME, `Invalid coin (${coin})`));
|
||||
DB.query("SELECT status FROM DirectConvert WHERE in_txid=? AND floID=? mode=?", [txid, floID, _sql.CONVERT_MODE_PUT]).then(result => {
|
||||
@ -63,10 +68,18 @@ function convertFromCoin(floID, txid, coin) {
|
||||
.then(result => resolve("Conversion request in process"))
|
||||
.catch(error => reject(error));
|
||||
}).catch(error => reject(error))
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getRate,
|
||||
getRate: {
|
||||
BTC_USD,
|
||||
USD_INR,
|
||||
BTC_INR
|
||||
},
|
||||
convertToCoin,
|
||||
convertFromCoin
|
||||
convertFromCoin,
|
||||
set DB(db) {
|
||||
DB = db;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user