diff --git a/public/fn.js b/public/fn.js index 8b64a9e..25c4b4c 100644 --- a/public/fn.js +++ b/public/fn.js @@ -114,6 +114,16 @@ function getTransactionList() { }); } +function getRate() { + return new Promise((resolve, reject) => { + fetch('/get-rate') + .then(result => responseParse(result, false) + .then(result => resolve(result)) + .catch(error => reject(error))) + .catch(error => reject(error)); + }); +} + function signRequest(request, privKey) { if (typeof request !== "object") throw Error("Request is not an object"); diff --git a/public/home.html b/public/home.html index d33a1d5..7d84570 100644 --- a/public/home.html +++ b/public/home.html @@ -35,6 +35,7 @@ +
Current FLO Rate:
Login @@ -302,6 +303,14 @@ }).catch(error => console.error(error)) } + function get_rate() { + getRate().then(rate => { + console.log("Rate: ", rate); + let container = document.getElementById("cur-rate"); + container.textContent = "Rs " + parseFloat(rate).toFixed(2); + }).catch(error => console.error(error)) + } + function refresh(init = false) { if (init) console.info("init"); @@ -310,6 +319,7 @@ list_buy(); list_sell(); list_txns(); + get_rate(); if (init || document.getElementById('user-container').style.display === "block") account(); } diff --git a/src/app.js b/src/app.js index f491ffd..57fe489 100644 --- a/src/app.js +++ b/src/app.js @@ -50,8 +50,9 @@ module.exports = function App(secret, DB) { app.get('/list-sellorders', Request.ListSellOrders); app.get('/list-buyorders', Request.ListBuyOrders); - //list all process transactions + //list all process transactions and rate app.get('/list-transactions', Request.ListTransactions); + app.get('/get-rate', Request.getRate) //get account details app.get('/account', Request.Account); diff --git a/src/market.js b/src/market.js index f85bdc6..e25a29b 100644 --- a/src/market.js +++ b/src/market.js @@ -52,8 +52,6 @@ const tokenAPI = { } } - - function getRates() { return new Promise((resolve, reject) => { getRates.FLO_USD().then(FLO_rate => { @@ -92,6 +90,10 @@ getRates.USD_INR = function() { }); } +function returnRates() { + return net_FLO_price; +} + function addSellOrder(floID, quantity, min_price) { return new Promise((resolve, reject) => { if (!floID || !floCrypto.validateAddr(floID)) @@ -657,6 +659,7 @@ function transactionReCheck() { } module.exports = { + returnRates, addBuyOrder, addSellOrder, cancelOrder, diff --git a/src/request.js b/src/request.js index 9dc2b1f..56568c3 100644 --- a/src/request.js +++ b/src/request.js @@ -243,6 +243,11 @@ function ListTransactions(req, res) { .catch(error => res.status(INTERNAL.e_code).send("Try again later!")); } +function getRate(req, res) { + let rate = market.returnRates(); + res.send(`${rate}`); +} + function Account(req, res) { const setLogin = function(message) { let randID = floCrypto.randString(16, true); @@ -409,6 +414,7 @@ module.exports = { ListSellOrders, ListBuyOrders, ListTransactions, + getRate, Account, DepositFLO, WithdrawFLO,