Workflow updating files of flowallet

This commit is contained in:
RanchiMall Dev 2024-01-08 21:27:57 +00:00
parent ebc3afaf12
commit 7a1703fffe
4 changed files with 37 additions and 9 deletions

View File

@ -1,4 +1,4 @@
(function (EXPORTS) { //floBlockchainAPI v3.1.0 (function (EXPORTS) { //floBlockchainAPI v3.1.1
/* FLO Blockchain Operator to send/receive data from blockchain using API calls via FLO Blockbook*/ /* FLO Blockchain Operator to send/receive data from blockchain using API calls via FLO Blockbook*/
'use strict'; 'use strict';
const floBlockchainAPI = EXPORTS; const floBlockchainAPI = EXPORTS;

File diff suppressed because one or more lines are too long

View File

@ -4,13 +4,30 @@
const tokenAPI = EXPORTS; const tokenAPI = EXPORTS;
const DEFAULT = { const DEFAULT = {
apiURL: floGlobals.tokenURL || "https://ranchimallflo.duckdns.org/", apiURL: [floGlobals.tokenURL || "https://ranchimallflo.ranchimall.net/"],
currency: floGlobals.currency || "rupee" currency: floGlobals.currency || "rupee"
} }
const checkIfTor = tokenAPI.checkIfTor = () => {
return fetch('https://check.torproject.org/api/ip', {
mode: 'no-cors'
})
.then(response => response.json())
.then(result => result.IsTor)
.catch(error => false)
}
let isTor = false;
checkIfTor().then(result => {
isTor = result
if (isTor) {
DEFAULT.apiURL = ['http://omwkzk6bd6zuragdqsrhdyzgxzre7yx4vzrou4vzftintzc2dmagp6qd.onion:5017/']
}
});
Object.defineProperties(tokenAPI, { Object.defineProperties(tokenAPI, {
URL: { URL: {
get: () => DEFAULT.apiURL get: () => DEFAULT.apiURL[0],
}, },
currency: { currency: {
get: () => DEFAULT.currency, get: () => DEFAULT.currency,
@ -27,16 +44,25 @@
} }
}); });
const fetch_api = tokenAPI.fetch = function (apicall) { const fetch_api = tokenAPI.fetch = function (apicall, apiURLs = DEFAULT.apiURL) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
console.debug(DEFAULT.apiURL + apicall); if (apiURLs.length === 0) {
fetch(DEFAULT.apiURL + apicall).then(response => { reject("No API URLs available");
return;
}
const currentURL = apiURLs[0];
console.debug(currentURL + apicall);
fetch(currentURL + apicall).then(response => {
if (response.ok) if (response.ok)
response.json().then(data => resolve(data)); response.json().then(data => resolve(data));
else else
reject(response) reject(response);
}).catch(error => reject(error)) }).catch(error => {
}) console.error(`Failed to fetch from ${currentURL}: ${error}`);
// Try the next API URL recursively
fetch_api(apicall, apiURLs.slice(1)).then(resolve).catch(reject);
});
});
} }
const getBalance = tokenAPI.getBalance = function (floID, token = DEFAULT.currency) { const getBalance = tokenAPI.getBalance = function (floID, token = DEFAULT.currency) {

1
flowallet/scripts/floTokenAPI.min.js vendored Normal file

File diff suppressed because one or more lines are too long