inscribing marketID in floExchangeAPI.js

- Inscribed marketID and market name inside floExchange.js
- Added getter for floExchangeAPI
  .adminID
  .application
  .nodeList
This commit is contained in:
sairajzero 2022-10-29 03:46:55 +05:30
parent a7747a2ecf
commit 821de1a6d7
3 changed files with 39 additions and 12 deletions

View File

@ -1,8 +1,13 @@
'use strict'; 'use strict';
(function (EXPORTS) { //floExchangeAPI v1.1.2 (function (EXPORTS) { //floExchangeAPI v1.1.3
const exchangeAPI = EXPORTS; const exchangeAPI = EXPORTS;
const DEFAULT = {
marketID: floGlobals.marketID || "FMxYC7gYZhouzqtHZukGnPiQ8nvG4CMzXM",
marketApp: "exchange"
}
/*Kademlia DHT K-bucket implementation as a binary tree.*/ /*Kademlia DHT K-bucket implementation as a binary tree.*/
/** /**
* Implementation of a Kademlia DHT k-bucket used for storing * Implementation of a Kademlia DHT k-bucket used for storing
@ -464,6 +469,23 @@
var nodeList, nodeURL, nodeKBucket; //Container for (backup) node list var nodeList, nodeURL, nodeKBucket; //Container for (backup) node list
Object.defineProperties(exchangeAPI, {
adminID: {
get: () => DEFAULT.marketID
},
application: {
get: () => DEFAULT.marketApp
},
nodeList: {
get: () => {
if (Array.isArray(nodeList))
return Array.from(nodeList);
else
throw "Exchange API is not loaded";
}
}
});
function fetch_api(api, options) { function fetch_api(api, options) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let curPos = fetch_api.curPos || 0; let curPos = fetch_api.curPos || 0;
@ -1300,7 +1322,7 @@
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (!floCrypto.verifyPrivKey(privKey, floID)) if (!floCrypto.verifyPrivKey(privKey, floID))
return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Invalid Private Key", errorCode.INVALID_PRIVATE_KEY)); return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Invalid Private Key", errorCode.INVALID_PRIVATE_KEY));
if (floID !== floGlobals.adminID) if (floID !== DEFAULT.marketID)
return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Access Denied", errorCode.ACCESS_DENIED)); return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Access Denied", errorCode.ACCESS_DENIED));
floTokenAPI.sendToken(privKey, amount, sinkID, '(add convert fund)', floGlobals.currency).then(txid => { floTokenAPI.sendToken(privKey, amount, sinkID, '(add convert fund)', floGlobals.currency).then(txid => {
let request = { let request = {
@ -1337,7 +1359,7 @@
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (!floCrypto.verifyPrivKey(privKey, floID)) if (!floCrypto.verifyPrivKey(privKey, floID))
return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Invalid Private Key", errorCode.INVALID_PRIVATE_KEY)); return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Invalid Private Key", errorCode.INVALID_PRIVATE_KEY));
if (floID !== floGlobals.adminID) if (floID !== DEFAULT.marketID)
return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Access Denied", errorCode.ACCESS_DENIED)); return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Access Denied", errorCode.ACCESS_DENIED));
let btc_id = btcOperator.convert.legacy2bech(floID), let btc_id = btcOperator.convert.legacy2bech(floID),
btc_sink = btcOperator.convert.legacy2bech(sinkID); btc_sink = btcOperator.convert.legacy2bech(sinkID);
@ -1376,7 +1398,7 @@
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (!floCrypto.verifyPrivKey(privKey, floID)) if (!floCrypto.verifyPrivKey(privKey, floID))
return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Invalid Private Key", errorCode.INVALID_PRIVATE_KEY)); return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Invalid Private Key", errorCode.INVALID_PRIVATE_KEY));
if (floID !== floGlobals.adminID) if (floID !== DEFAULT.marketID)
return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Access Denied", errorCode.ACCESS_DENIED)); return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Access Denied", errorCode.ACCESS_DENIED));
let request = { let request = {
floID: floID, floID: floID,
@ -1411,7 +1433,7 @@
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (!floCrypto.verifyPrivKey(privKey, floID)) if (!floCrypto.verifyPrivKey(privKey, floID))
return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Invalid Private Key", errorCode.INVALID_PRIVATE_KEY)); return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Invalid Private Key", errorCode.INVALID_PRIVATE_KEY));
if (floID !== floGlobals.adminID) if (floID !== DEFAULT.marketID)
return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Access Denied", errorCode.ACCESS_DENIED)); return reject(ExchangeError(ExchangeError.BAD_REQUEST_CODE, "Access Denied", errorCode.ACCESS_DENIED));
let request = { let request = {
floID: floID, floID: floID,
@ -1504,7 +1526,7 @@
}) })
} }
exchangeAPI.init = function refreshDataFromBlockchain(adminID = floGlobals.adminID, appName = floGlobals.application) { exchangeAPI.init = function refreshDataFromBlockchain() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let nodes, assets, tags, lastTx; let nodes, assets, tags, lastTx;
try { try {
@ -1521,13 +1543,13 @@
tags = new Set(); tags = new Set();
lastTx = 0; lastTx = 0;
} }
floBlockchainAPI.readData(adminID, { floBlockchainAPI.readData(DEFAULT.marketID, {
ignoreOld: lastTx, ignoreOld: lastTx,
sentOnly: true, sentOnly: true,
pattern: appName pattern: DEFAULT.marketApp
}).then(result => { }).then(result => {
result.data.reverse().forEach(data => { result.data.reverse().forEach(data => {
var content = JSON.parse(data)[appName]; var content = JSON.parse(data)[DEFAULT.marketApp];
//Node List //Node List
if (content.Nodes) { if (content.Nodes) {
if (content.Nodes.remove) if (content.Nodes.remove)
@ -1557,7 +1579,7 @@
localStorage.setItem('exchange-assets', Array.from(assets).join(",")); localStorage.setItem('exchange-assets', Array.from(assets).join(","));
localStorage.setItem('exchange-tags', Array.from(tags).join(",")); localStorage.setItem('exchange-tags', Array.from(tags).join(","));
nodeURL = nodes; nodeURL = nodes;
nodeKBucket = new K_Bucket(adminID, Object.keys(nodeURL)); nodeKBucket = new K_Bucket(DEFAULT.marketID, Object.keys(nodeURL));
nodeList = nodeKBucket.order; nodeList = nodeKBucket.order;
resolve(nodes); resolve(nodes);
}).catch(error => reject(error)); }).catch(error => reject(error));

View File

@ -1,7 +1,6 @@
const floGlobals = { const floGlobals = {
blockchain: "FLO", blockchain: "FLO",
application: "exchange", marketID: "FMxYC7gYZhouzqtHZukGnPiQ8nvG4CMzXM",
adminID: "FMxYC7gYZhouzqtHZukGnPiQ8nvG4CMzXM",
currency: "rupee" currency: "rupee"
}; };

View File

@ -7,6 +7,12 @@ global.floBlockchainAPI = require('../docs/scripts/floBlockchainAPI');
global.floTokenAPI = require('../docs/scripts/floTokenAPI'); global.floTokenAPI = require('../docs/scripts/floTokenAPI');
global.btcOperator = require('../docs/scripts/btcOperator'); global.btcOperator = require('../docs/scripts/btcOperator');
(function () {
const { adminID, application } = require("../docs/scripts/floExchangeAPI");
floGlobals.adminID = adminID;
floGlobals.application = application;
})();
const Database = require("./database"); const Database = require("./database");
const App = require('./app'); const App = require('./app');