moving conversion.js into service folder

This commit is contained in:
sairajzero 2022-10-09 23:08:48 +05:30
parent 5344b79cdb
commit fef11b4712
3 changed files with 36 additions and 23 deletions

View File

@ -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 => {

View File

@ -1,7 +1,7 @@
'use strict';
const market = require("./market");
const conversion = require('./conversion');
const conversion = require('./services/conversion');
const {
SIGN_EXPIRE_TIME,

View File

@ -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;
}
}