From 9fd1ae49c284d21b16907ddb3d132d5d727827d0 Mon Sep 17 00:00:00 2001 From: sairajzero Date: Fri, 14 Jan 2022 04:07:51 +0530 Subject: [PATCH] move tokenAPI to tokenAPI.js --- src/market.js | 49 --------------------------------------------- src/tokenAPI.js | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 49 deletions(-) create mode 100644 src/tokenAPI.js diff --git a/src/market.js b/src/market.js index fe3a60f..1458959 100644 --- a/src/market.js +++ b/src/market.js @@ -5,55 +5,6 @@ const MINIMUM_BUY_REQUIREMENT = 0.1; var DB; //container for database -const tokenAPI = { - fetch_api: function(apicall) { - return new Promise((resolve, reject) => { - console.log(floGlobals.tokenURL + apicall); - fetch(floGlobals.tokenURL + apicall).then(response => { - if (response.ok) - response.json().then(data => resolve(data)); - else - reject(response) - }).catch(error => reject(error)) - }) - }, - getBalance: function(floID, token = 'rupee') { - return new Promise((resolve, reject) => { - this.fetch_api(`api/v1.0/getFloAddressBalance?token=${token}&floAddress=${floID}`) - .then(result => resolve(result.balance || 0)) - .catch(error => reject(error)) - }) - }, - getTx: function(txID) { - return new Promise((resolve, reject) => { - this.fetch_api(`api/v1.0/getTransactionDetails/${txID}`).then(res => { - if (res.result === "error") - reject(res.description); - else if (!res.parsedFloData) - reject("Data piece (parsedFloData) missing"); - else if (!res.transactionDetails) - reject("Data piece (transactionDetails) missing"); - else - resolve(res); - }).catch(error => reject(error)) - }) - }, - sendToken: function(privKey, amount, message = "", receiverID = floGlobals.adminID, token = 'rupee') { - return new Promise((resolve, reject) => { - let senderID = floCrypto.getFloID(privKey); - if (typeof amount !== "number" || amount <= 0) - return reject("Invalid amount"); - this.getBalance(senderID, token).then(bal => { - if (amount > bal) - return reject("Insufficiant token balance"); - floBlockchainAPI.writeData(senderID, `send ${amount} ${token}# ${message}`, privKey, receiverID) - .then(txid => resolve(txid)) - .catch(error => reject(error)) - }).catch(error => reject(error)) - }); - } -} - function addSellOrder(floID, quantity, min_price) { return new Promise((resolve, reject) => { if (!floID || !floCrypto.validateAddr(floID)) diff --git a/src/tokenAPI.js b/src/tokenAPI.js new file mode 100644 index 0000000..be96954 --- /dev/null +++ b/src/tokenAPI.js @@ -0,0 +1,53 @@ +'use strict'; + +/* Token Operator to send/receive tokens from blockchain using API calls*/ +(function(GLOBAL) { + const tokenAPI = GLOBAL.tokenAPI = { + fetch_api: function(apicall) { + return new Promise((resolve, reject) => { + console.log(floGlobals.tokenURL + apicall); + fetch(floGlobals.tokenURL + apicall).then(response => { + if (response.ok) + response.json().then(data => resolve(data)); + else + reject(response) + }).catch(error => reject(error)) + }) + }, + getBalance: function(floID, token = floGlobals.token) { + return new Promise((resolve, reject) => { + this.fetch_api(`api/v1.0/getFloAddressBalance?token=${token}&floAddress=${floID}`) + .then(result => resolve(result.balance || 0)) + .catch(error => reject(error)) + }) + }, + getTx: function(txID) { + return new Promise((resolve, reject) => { + this.fetch_api(`api/v1.0/getTransactionDetails/${txID}`).then(res => { + if (res.result === "error") + reject(res.description); + else if (!res.parsedFloData) + reject("Data piece (parsedFloData) missing"); + else if (!res.transactionDetails) + reject("Data piece (transactionDetails) missing"); + else + resolve(res); + }).catch(error => reject(error)) + }) + }, + sendToken: function(privKey, amount, message = "", receiverID = floGlobals.adminID, token = floGlobals.token) { + return new Promise((resolve, reject) => { + let senderID = floCrypto.getFloID(privKey); + if (typeof amount !== "number" || amount <= 0) + return reject("Invalid amount"); + this.getBalance(senderID, token).then(bal => { + if (amount > bal) + return reject("Insufficiant token balance"); + floBlockchainAPI.writeData(senderID, `send ${amount} ${token}# ${message}`, privKey, receiverID) + .then(txid => resolve(txid)) + .catch(error => reject(error)) + }).catch(error => reject(error)) + }); + } + } +})(typeof global !== "undefined" ? global : window); \ No newline at end of file