diff --git a/core/src/apiKeyUtils.js b/core/src/apiKeyUtils.js index 307ed6cb..e65772b0 100644 --- a/core/src/apiKeyUtils.js +++ b/core/src/apiKeyUtils.js @@ -49,8 +49,6 @@ export const testApiKey = async (apiKey) => { let testRes = await api.request(testUrl, { method: "GET" }); - if (testRes === true) { - return true; - } - return false; + return testRes === true; + } diff --git a/core/src/components/app-info.js b/core/src/components/app-info.js index c5d4aa95..46aacbbe 100644 --- a/core/src/components/app-info.js +++ b/core/src/components/app-info.js @@ -63,7 +63,7 @@ class AppInfo extends connect(store)(LitElement) { super() this.nodeInfo = [] this.coreInfo = [] - this.nodeStatus = {} + this.nodeConfig = {} this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' } diff --git a/core/src/components/app-view.js b/core/src/components/app-view.js index 3f2b6877..612d3a2a 100644 --- a/core/src/components/app-view.js +++ b/core/src/components/app-view.js @@ -1,12 +1,12 @@ -import { css, html, LitElement } from 'lit' -import { connect } from 'pwa-helpers' -import { store } from '../store.js' -import { Epml } from '../epml.js' -import { addTradeBotRoutes } from '../tradebot/addTradeBotRoutes.js' -import { get, translate } from '../../translate/index.js' +import {css, html, LitElement} from 'lit' +import {connect} from 'pwa-helpers' +import {store} from '../store.js' +import {Epml} from '../epml.js' +import {addTradeBotRoutes} from '../tradebot/addTradeBotRoutes.js' +import {get, translate} from '../../translate' import localForage from 'localforage' -import { decryptData, encryptData } from '../lockScreen.js' -import { setChatLastSeen } from '../redux/app/app-actions.js' +import {decryptData, encryptData} from '../lockScreen.js' +import {setChatLastSeen} from '../redux/app/app-actions.js' import isElectron from 'is-electron' import '@material/mwc-button' import '@material/mwc-icon' @@ -560,7 +560,7 @@ class AppView extends connect(store)(LitElement) { if(el3) { els['checklist'] = el3 } - + return els } @@ -746,7 +746,7 @@ class AppView extends connect(store)(LitElement) { drawerTog.click() }) - this.getNodeType() + await this.getNodeType() const myAppNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] const nodeAppUrl = myAppNode.protocol + '://' + myAppNode.domain + ':' + myAppNode.port @@ -915,7 +915,7 @@ class AppView extends connect(store)(LitElement) { await filterOpenOfferBTC() await appDelay(1000) - filterMyBotPriceTradesBTC() + await filterMyBotPriceTradesBTC() setTimeout(getOpenTradesBTC, 150000) } } @@ -923,11 +923,9 @@ class AppView extends connect(store)(LitElement) { const filterMyBotPriceTradesBTC = async () => { const tradeBotBtcUrl = `${nodeAppUrl}/crosschain/tradebot?foreignBlockchain=BITCOIN&apiKey=${this.getApiKey()}` - const tradeBotBtcAt = await fetch(tradeBotBtcUrl).then(response => { - return response.json() - }) - - this.tradeBotBtcAt = tradeBotBtcAt + this.tradeBotBtcAt = await fetch(tradeBotBtcUrl).then(response => { + return response.json() + }) await appDelay(1000) @@ -965,7 +963,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) if (this.isEmptyArray(this.tradeBotAvailableBtcQortal) === true) { - return + } else { const botbtcprice = this.round(parseFloat(this.tradeBotBtcBook[0].botBtcPrice)) const changebtcamount = parseFloat(this.tradeBotBtcBook[0].botBtcQortAmount) @@ -996,7 +994,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) - this.buyBtcAction() + await this.buyBtcAction() if (this.isEmptyArray(this.tradeBotBtcBook) === true) { return @@ -1009,7 +1007,7 @@ class AppView extends connect(store)(LitElement) { } if (this.isEmptyArray(this.tradeBotBtcBook) === true) { - return + } else { const checkBotBtcFunds = this.round(parseFloat(this.tradeBotBtcBook[0].botBtcQortAmount) * parseFloat(this.tradeBotBtcBook[0].botBtcPrice)) const myBotBtcFunds = this.round(parseFloat(this.btcWalletBalance)) @@ -1112,7 +1110,7 @@ class AppView extends connect(store)(LitElement) { await filterOpenOfferLTC() await appDelay(1000) - filterMyBotPriceTradesLTC() + await filterMyBotPriceTradesLTC() setTimeout(getOpenTradesLTC, 150000) } } @@ -1120,11 +1118,9 @@ class AppView extends connect(store)(LitElement) { const filterMyBotPriceTradesLTC = async () => { const tradeBotLtcUrl = `${nodeAppUrl}/crosschain/tradebot?foreignBlockchain=LITECOIN&apiKey=${this.getApiKey()}` - const tradeBotLtcAt = await fetch(tradeBotLtcUrl).then(response => { - return response.json() - }) - - this.tradeBotLtcAt = tradeBotLtcAt + this.tradeBotLtcAt = await fetch(tradeBotLtcUrl).then(response => { + return response.json() + }) await appDelay(1000) @@ -1162,7 +1158,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) if (this.isEmptyArray(this.tradeBotAvailableLtcQortal) === true) { - return + } else { const botltcprice = this.round(parseFloat(this.tradeBotLtcBook[0].botLtcPrice)) const changeltcamount = parseFloat(this.tradeBotLtcBook[0].botLtcQortAmount) @@ -1193,7 +1189,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) - this.buyLtcAction() + await this.buyLtcAction() if (this.isEmptyArray(this.tradeBotLtcBook) === true) { return @@ -1206,7 +1202,7 @@ class AppView extends connect(store)(LitElement) { } if (this.isEmptyArray(this.tradeBotLtcBook) === true) { - return + } else { const checkBotLtcFunds = this.round(parseFloat(this.tradeBotLtcBook[0].botLtcQortAmount) * parseFloat(this.tradeBotLtcBook[0].botLtcPrice)) const myBotLtcFunds = this.round(parseFloat(this.ltcWalletBalance)) @@ -1298,7 +1294,7 @@ class AppView extends connect(store)(LitElement) { await filterOpenOfferDOGE() await appDelay(1000) - filterMyBotPriceTradesDOGE() + await filterMyBotPriceTradesDOGE() setTimeout(getOpenTradesDOGE, 150000) } } @@ -1306,11 +1302,9 @@ class AppView extends connect(store)(LitElement) { const filterMyBotPriceTradesDOGE = async () => { const tradeBotDogeUrl = `${nodeAppUrl}/crosschain/tradebot?foreignBlockchain=DOGECOIN&apiKey=${this.getApiKey()}` - const tradeBotDogeAt = await fetch(tradeBotDogeUrl).then(response => { - return response.json() - }) - - this.tradeBotDogeAt = tradeBotDogeAt + this.tradeBotDogeAt = await fetch(tradeBotDogeUrl).then(response => { + return response.json() + }) await appDelay(1000) @@ -1348,7 +1342,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) if (this.isEmptyArray(this.tradeBotAvailableDogeQortal) === true) { - return + } else { const botdogeprice = this.round(parseFloat(this.tradeBotDogeBook[0].botDogePrice)) const changedogeamount = parseFloat(this.tradeBotDogeBook[0].botDogeQortAmount) @@ -1379,7 +1373,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) - this.buyDogeAction() + await this.buyDogeAction() if (this.isEmptyArray(this.tradeBotDogeBook) === true) { return @@ -1392,7 +1386,7 @@ class AppView extends connect(store)(LitElement) { } if (this.isEmptyArray(this.tradeBotDogeBook) === true) { - return + } else { const checkBotDogeFunds = this.round(parseFloat(this.tradeBotDogeBook[0].botDogeQortAmount) * parseFloat(this.tradeBotDogeBook[0].botDogePrice)) const myBotDogeFunds = this.round(parseFloat(this.dogeWalletBalance)) @@ -1484,7 +1478,7 @@ class AppView extends connect(store)(LitElement) { await filterOpenOfferDGB() await appDelay(1000) - filterMyBotPriceTradesDGB() + await filterMyBotPriceTradesDGB() setTimeout(getOpenTradesDGB, 150000) } } @@ -1492,11 +1486,9 @@ class AppView extends connect(store)(LitElement) { const filterMyBotPriceTradesDGB = async () => { const tradeBotDgbUrl = `${nodeAppUrl}/crosschain/tradebot?foreignBlockchain=DIGIBYTE&apiKey=${this.getApiKey()}` - const tradeBotDgbAt = await fetch(tradeBotDgbUrl).then(response => { - return response.json() - }) - - this.tradeBotDgbAt = tradeBotDgbAt + this.tradeBotDgbAt = await fetch(tradeBotDgbUrl).then(response => { + return response.json() + }) await appDelay(1000) @@ -1534,7 +1526,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) if (this.isEmptyArray(this.tradeBotAvailableDgbQortal) === true) { - return + } else { const botdgbprice = this.round(parseFloat(this.tradeBotDgbBook[0].botDgbPrice)) const changedgbamount = parseFloat(this.tradeBotDgbBook[0].botDgbQortAmount) @@ -1565,7 +1557,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) - this.buyDgbAction() + await this.buyDgbAction() if (this.isEmptyArray(this.tradeBotDgbBook) === true) { return @@ -1578,7 +1570,7 @@ class AppView extends connect(store)(LitElement) { } if (this.isEmptyArray(this.tradeBotDgbBook) === true) { - return + } else { const checkBotDgbFunds = this.round(parseFloat(this.tradeBotDgbBook[0].botDgbQortAmount) * parseFloat(this.tradeBotDgbBook[0].botDgbPrice)) const myBotDgbFunds = this.round(parseFloat(this.dgbWalletBalance)) @@ -1670,7 +1662,7 @@ class AppView extends connect(store)(LitElement) { await filterOpenOfferRVN() await appDelay(1000) - filterMyBotPriceTradesRVN() + await filterMyBotPriceTradesRVN() setTimeout(getOpenTradesRVN, 150000) } } @@ -1678,11 +1670,9 @@ class AppView extends connect(store)(LitElement) { const filterMyBotPriceTradesRVN = async () => { const tradeBotRvnUrl = `${nodeAppUrl}/crosschain/tradebot?foreignBlockchain=RAVENCOIN&apiKey=${this.getApiKey()}` - const tradeBotRvnAt = await fetch(tradeBotRvnUrl).then(response => { - return response.json() - }) - - this.tradeBotRvnAt = tradeBotRvnAt + this.tradeBotRvnAt = await fetch(tradeBotRvnUrl).then(response => { + return response.json() + }) await appDelay(1000) @@ -1720,7 +1710,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) if (this.isEmptyArray(this.tradeBotAvailableRvnQortal) === true) { - return + } else { const botrvnprice = this.round(parseFloat(this.tradeBotRvnBook[0].botRvnPrice)) const changervnamount = parseFloat(this.tradeBotRvnBook[0].botRvnQortAmount) @@ -1751,7 +1741,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) - this.buyRvnAction() + await this.buyRvnAction() if (this.isEmptyArray(this.tradeBotRvnBook) === true) { return @@ -1764,7 +1754,7 @@ class AppView extends connect(store)(LitElement) { } if (this.isEmptyArray(this.tradeBotRvnBook) === true) { - return + } else { const checkBotRvnFunds = this.round(parseFloat(this.tradeBotRvnBook[0].botRvnQortAmount) * parseFloat(this.tradeBotRvnBook[0].botRvnPrice)) const myBotRvnFunds = this.round(parseFloat(this.rvnWalletBalance)) @@ -1856,7 +1846,7 @@ class AppView extends connect(store)(LitElement) { await filterOpenOfferARRR() await appDelay(1000) - filterMyBotPriceTradesARRR() + await filterMyBotPriceTradesARRR() setTimeout(getOpenTradesARRR, 150000) } } @@ -1864,11 +1854,9 @@ class AppView extends connect(store)(LitElement) { const filterMyBotPriceTradesARRR = async () => { const tradeBotArrrUrl = `${nodeAppUrl}/crosschain/tradebot?foreignBlockchain=PIRATECHAIN&apiKey=${this.getApiKey()}` - const tradeBotArrrAt = await fetch(tradeBotArrrUrl).then(response => { - return response.json() - }) - - this.tradeBotArrrAt = tradeBotArrrAt + this.tradeBotArrrAt = await fetch(tradeBotArrrUrl).then(response => { + return response.json() + }) await appDelay(1000) @@ -1906,7 +1894,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) if (this.isEmptyArray(this.tradeBotAvailableArrrQortal) === true) { - return + } else { const botarrrprice = this.round(parseFloat(this.tradeBotArrrBook[0].botArrrPrice)) const changearrramount = parseFloat(this.tradeBotArrrBook[0].botArrrQortAmount) @@ -1937,7 +1925,7 @@ class AppView extends connect(store)(LitElement) { await appDelay(1000) - this.buyArrrAction() + await this.buyArrrAction() if (this.isEmptyArray(this.tradeBotArrrBook) === true) { return @@ -1950,7 +1938,7 @@ class AppView extends connect(store)(LitElement) { } if (this.isEmptyArray(this.tradeBotArrrBook) === true) { - return + } else { const checkBotArrrFunds = this.round(parseFloat(this.tradeBotArrrBook[0].botArrrQortAmount) * parseFloat(this.tradeBotArrrBook[0].botArrrPrice)) const myBotArrrFunds = this.round(parseFloat(this.arrrWalletBalance)) @@ -2243,7 +2231,7 @@ class AppView extends connect(store)(LitElement) { this.helperMessage = this.renderHelperErr() await errDelay(3000) this.helperMessage = this.renderHelperPass() - return + } } @@ -2451,12 +2439,11 @@ class AppView extends connect(store)(LitElement) { async buyBtcAction() { const makeRequest = async () => { - const response = await parentEpml.request('tradeBotRespondRequest', { - atAddress: this.botBtcBuyAtAddress, - foreignKey: store.getState().app.selectedAddress.btcWallet.derivedMasterPrivateKey, - receivingAddress: store.getState().app.selectedAddress.address, - }) - return response + return await parentEpml.request('tradeBotRespondRequest', { + atAddress: this.botBtcBuyAtAddress, + foreignKey: store.getState().app.selectedAddress.btcWallet.derivedMasterPrivateKey, + receivingAddress: store.getState().app.selectedAddress.address, + }) } const manageResponse = (response) => { @@ -2509,12 +2496,11 @@ class AppView extends connect(store)(LitElement) { async buyLtcAction() { const makeRequest = async () => { - const response = await parentEpml.request('tradeBotRespondRequest', { - atAddress: this.botLtcBuyAtAddress, - foreignKey: store.getState().app.selectedAddress.ltcWallet.derivedMasterPrivateKey, - receivingAddress: store.getState().app.selectedAddress.address, - }) - return response + return await parentEpml.request('tradeBotRespondRequest', { + atAddress: this.botLtcBuyAtAddress, + foreignKey: store.getState().app.selectedAddress.ltcWallet.derivedMasterPrivateKey, + receivingAddress: store.getState().app.selectedAddress.address, + }) } const manageResponse = (response) => { @@ -2567,12 +2553,11 @@ class AppView extends connect(store)(LitElement) { async buyDogeAction() { const makeRequest = async () => { - const response = await parentEpml.request('tradeBotRespondRequest', { - atAddress: this.botDogeBuyAtAddress, - foreignKey: store.getState().app.selectedAddress.dogeWallet.derivedMasterPrivateKey, - receivingAddress: store.getState().app.selectedAddress.address, - }) - return response + return await parentEpml.request('tradeBotRespondRequest', { + atAddress: this.botDogeBuyAtAddress, + foreignKey: store.getState().app.selectedAddress.dogeWallet.derivedMasterPrivateKey, + receivingAddress: store.getState().app.selectedAddress.address, + }) } const manageResponse = (response) => { @@ -2625,12 +2610,11 @@ class AppView extends connect(store)(LitElement) { async buyDgbAction() { const makeRequest = async () => { - const response = await parentEpml.request('tradeBotRespondRequest', { - atAddress: this.botDgbBuyAtAddress, - foreignKey: store.getState().app.selectedAddress.dgbWallet.derivedMasterPrivateKey, - receivingAddress: store.getState().app.selectedAddress.address, - }) - return response + return await parentEpml.request('tradeBotRespondRequest', { + atAddress: this.botDgbBuyAtAddress, + foreignKey: store.getState().app.selectedAddress.dgbWallet.derivedMasterPrivateKey, + receivingAddress: store.getState().app.selectedAddress.address, + }) } const manageResponse = (response) => { @@ -2683,12 +2667,11 @@ class AppView extends connect(store)(LitElement) { async buyRvnAction() { const makeRequest = async () => { - const response = await parentEpml.request('tradeBotRespondRequest', { - atAddress: this.botRvnBuyAtAddress, - foreignKey: store.getState().app.selectedAddress.rvnWallet.derivedMasterPrivateKey, - receivingAddress: store.getState().app.selectedAddress.address, - }) - return response + return await parentEpml.request('tradeBotRespondRequest', { + atAddress: this.botRvnBuyAtAddress, + foreignKey: store.getState().app.selectedAddress.rvnWallet.derivedMasterPrivateKey, + receivingAddress: store.getState().app.selectedAddress.address, + }) } const manageResponse = (response) => { @@ -2741,12 +2724,11 @@ class AppView extends connect(store)(LitElement) { async buyArrrAction() { const makeRequest = async () => { - const response = await parentEpml.request('tradeBotRespondRequest', { - atAddress: this.botArrrBuyAtAddress, - foreignKey: store.getState().app.selectedAddress.arrrWallet.seed58, - receivingAddress: store.getState().app.selectedAddress.address, - }) - return response + return await parentEpml.request('tradeBotRespondRequest', { + atAddress: this.botArrrBuyAtAddress, + foreignKey: store.getState().app.selectedAddress.arrrWallet.seed58, + receivingAddress: store.getState().app.selectedAddress.address, + }) } const manageResponse = (response) => { @@ -3348,8 +3330,7 @@ class AppView extends connect(store)(LitElement) { getApiKey() { const apiNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] - let apiKey = apiNode.apiKey - return apiKey + return apiNode.apiKey } isEmptyArray(arr) { @@ -3360,9 +3341,8 @@ class AppView extends connect(store)(LitElement) { } round(number) { - let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) - return result + return (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) } } -window.customElements.define('app-view', AppView) \ No newline at end of file +window.customElements.define('app-view', AppView) diff --git a/core/src/components/beginner-tour/sync-indicator.js b/core/src/components/beginner-tour/sync-indicator.js index bcd067b5..520344b1 100644 --- a/core/src/components/beginner-tour/sync-indicator.js +++ b/core/src/components/beginner-tour/sync-indicator.js @@ -1,16 +1,18 @@ -import { LitElement, html, css } from 'lit' -import { store } from '../../store' -import { connect } from 'pwa-helpers' -import { translate } from '../../../translate' -import { parentEpml } from '../show-plugin' +import {css, html, LitElement} from 'lit' +import {store} from '../../store' +import {connect} from 'pwa-helpers' +import {translate} from '../../../translate' +import {parentEpml} from '../show-plugin' import '@material/mwc-icon' class SyncIndicator extends connect(store)(LitElement) { static get properties() { return { - isBehind: { type: Boolean }, blocksBehind: { type: Number }, + nodeUrl: { type: String }, + address: { type: String }, + isBehind: { type: Boolean }, isSynchronizing: { type: Boolean }, hasCoreRunning: { type: Boolean } } @@ -18,12 +20,13 @@ class SyncIndicator extends connect(store)(LitElement) { constructor() { super() - this.isBehind = null this.blocksBehind = 0 - this.nodeUrl = this.getNodeUrl() - this.myNode = this.getMyNode() - this.interval = null + this.nodeUrl = '' + this.address = '' + this.isBehind = false + this.isSynchronizing = false this.hasCoreRunning = true + this.interval = null this.seenWelcomeSync = false this.numberOfTries = 0 this.hasOpened = false @@ -68,6 +71,7 @@ class SyncIndicator extends connect(store)(LitElement) { gap: 10px; width: 100%; } + .bootstrap-button { font-family: Roboto, sans-serif; font-size: 16px; @@ -86,48 +90,82 @@ class SyncIndicator extends connect(store)(LitElement) { ` } - async firstUpdated() { + render() { + return html` + ${!this.hasCoreRunning ? html` +
+ + + priority_high + + +

+ ${translate("tour.tour17")} +

+
+ ` : (this.blocksBehind > 1050 && this.isSynchronizing) ? html` +
+
+
+ + + +

+ ${this.blocksBehind} ${translate("tour.tour20")} +

+
+
+ +
+
+
+ ` : this.isSynchronizing ? html` +
+ + + +

+ ${translate("tour.tour19")} ${this.blocksBehind ? this.blocksBehind : ""} ${this.blocksBehind ? translate("tour.tour21"): ""} +

+
+ ` : "" } + ` + } + + firstUpdated() { + this.getNodeUrl() this.address = store.getState().app.selectedAddress.address - const seenWelcomeSync = JSON.parse( + this.seenWelcomeSync = JSON.parse( localStorage.getItem(`welcome-sync-${this.address}`) || 'false' ) - this.seenWelcomeSync = seenWelcomeSync + setInterval(() => { + this.getNodeUrl() + }, 60000) } getNodeUrl() { - const myNode = - window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node - ] - - const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port - return nodeUrl - } - - getMyNode() { - const myNode = - window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node - ] - - return myNode + const syncInfoNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] + const syncInfoUrl = syncInfoNode.protocol + '://' + syncInfoNode.domain + ':' + syncInfoNode.port + this.nodeUrl = syncInfoUrl } async getDaySummary() { try { this.fetchingSummary = true - const endpointLastBlock = `${this.nodeUrl}/blocks/last` const resLastBlock = await fetch(endpointLastBlock) const dataLastBlock = await resLastBlock.json() const timestampNow = Date.now() const currentBlockTimestamp = dataLastBlock.timestamp + if (currentBlockTimestamp < timestampNow) { const diff = timestampNow - currentBlockTimestamp - const inSeconds = diff / 1000 // millisecs to secs + const inSeconds = diff / 1000 const inBlocks = inSeconds / 70 this.blocksBehind = parseInt(inBlocks) if (inBlocks >= 100) { @@ -147,7 +185,7 @@ class SyncIndicator extends connect(store)(LitElement) { async checkHowManyBlocksBehind() { try { - this.getDaySummary(); + await this.getDaySummary() this.interval = setInterval(() => { if(this.fetchingSummary) return if (this.isBehind === false) { @@ -156,12 +194,33 @@ class SyncIndicator extends connect(store)(LitElement) { } this.getDaySummary() }, 20000) - } catch (error) {} + } catch (error) { + // ... + } + } + + async bootstrap() { + try { + const endpoint = `${this.nodeUrl}/admin/bootstrap/?apiKey=${this.getApiKey()}` + const res = await fetch(endpoint) + const data = await res.json() + if (data === true) { + parentEpml.request('showSnackBar', get('tour.tour22')) + } + } catch (error) { + // ... + } + } + + getApiKey() { + const apiNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] + return apiNode.apiKey } stateChanged(state) { + this.address = store.getState().app.selectedAddress.address - if(!this.seenWelcomeSync && state.app.nodeStatus && state.app.nodeStatus.syncPercent === 100 && this.hasOpened === false){ + if (!this.seenWelcomeSync && state.app.nodeStatus && state.app.nodeStatus.syncPercent === 100 && this.hasOpened === false) { this.hasOpened = true this.dispatchEvent( new CustomEvent('open-welcome-modal-sync', { @@ -170,119 +229,32 @@ class SyncIndicator extends connect(store)(LitElement) { }) ) } - if ( - state.app.nodeStatus && - Object.keys(state.app.nodeStatus).length === 0 - ) { + + if (state.app.nodeStatus && Object.keys(state.app.nodeStatus).length === 0) { if (this.numberOfTries > 5) { this.hasCoreRunning = false } else { this.numberOfTries = this.numberOfTries + 1 } - } else if(state.app.nodeStatus && state.app.nodeStatus.syncPercent === 100 && state.app.nodeStatus.syncPercent !== this.syncPercentage){ + } else if (state.app.nodeStatus && state.app.nodeStatus.syncPercent === 100 && state.app.nodeStatus.syncPercent !== this.syncPercentage) { this.syncPercentage = state.app.nodeStatus.syncPercent this.isSynchronizing = false - - } else if ( - state.app.nodeStatus - ) { + } else if (state.app.nodeStatus) { this.hasCoreRunning = true this.numberOfTries = 0 this.syncPercentage = state.app.nodeStatus.syncPercent if (state.app.nodeStatus.syncPercent !== 100) { this.isSynchronizing = true - } - - if ( - !this.interval && - this.isBehind === null && - state.app.nodeStatus.isSynchronizing && - state.app.nodeStatus.syncPercent !== 100 - ) { + } + + if (!this.interval && this.isBehind === null && state.app.nodeStatus.isSynchronizing && state.app.nodeStatus.syncPercent !== 100) { this.checkHowManyBlocksBehind() } } else { this.hasCoreRunning = true } } - - async bootstrap(){ - try { - const endpoint = `${this.nodeUrl}/admin/bootstrap/?apiKey=${this.myNode.apiKey}` - const res = await fetch(endpoint) - const data = await res.json() - if (data === true) { - parentEpml.request('showSnackBar', get('tour.tour22')) - } - } catch (error) { - - } - } - - render() { - return html` - ${!this.hasCoreRunning - ? html` -
- priority_high -

- ${translate("tour.tour17")} -

-
- ` - : (this.blocksBehind > 1050 && this.isSynchronizing) - ? html` -
-
-
- -

- ${this.blocksBehind} ${translate("tour.tour20")} -

-
-
- -
-
-
- ` - : this.isSynchronizing - ? html` -
- -

- ${translate("tour.tour19")} ${this.blocksBehind ? this.blocksBehind : ""} ${this.blocksBehind ? translate("tour.tour21"): ""} -

-
- ` - : "" } - ` - } } -customElements.define('sync-indicator', SyncIndicator) +customElements.define('sync-indicator', SyncIndicator) \ No newline at end of file diff --git a/core/src/components/beginner-tour/tour-component.js b/core/src/components/beginner-tour/tour-component.js index f51ba3d6..26b16276 100644 --- a/core/src/components/beginner-tour/tour-component.js +++ b/core/src/components/beginner-tour/tour-component.js @@ -1,16 +1,17 @@ -import { LitElement, html, css } from 'lit'; -import { driver } from 'driver.js'; +import {css, html, LitElement} from 'lit'; +import {driver} from 'driver.js'; import 'driver.js/dist/driver.css'; import '@material/mwc-icon'; import '@polymer/paper-spinner/paper-spinner-lite.js'; import '@vaadin/tooltip'; import '@material/mwc-button'; -import { get, translate } from '../../../translate/index.js'; +import {get, translate} from '../../../translate'; import '@polymer/paper-dialog/paper-dialog.js'; -import { setNewTab } from '../../redux/app/app-actions.js'; -import { store } from '../../store.js'; -import { connect } from 'pwa-helpers'; +import {setNewTab} from '../../redux/app/app-actions.js'; +import {store} from '../../store.js'; +import {connect} from 'pwa-helpers'; import './tour.css'; + class TourComponent extends connect(store)(LitElement) { static get properties() { return { @@ -116,7 +117,7 @@ class TourComponent extends connect(store)(LitElement) { _controlOpenWelcomeModal() { this.isSynced = true - + const seenWelcomeSync = JSON.parse( localStorage.getItem('welcome-sync') || 'false' ); @@ -175,19 +176,14 @@ class TourComponent extends connect(store)(LitElement) { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ window.parent.reduxStore.getState().app.nodeConfig.node - ]; + ] - const nodeUrl = - myNode.protocol + '://' + myNode.domain + ':' + myNode.port; - return nodeUrl; + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port } getMyNode() { - const myNode = - window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node - ]; - - return myNode; + return window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ + window.parent.reduxStore.getState().app.nodeConfig.node + ] } async getName(recipient) { @@ -280,7 +276,7 @@ class TourComponent extends connect(store)(LitElement) {

${get("tour.tour4")}

- + `, }, }); @@ -397,7 +393,7 @@ class TourComponent extends connect(store)(LitElement) { class="close-button" @click=${()=> { this.onClose() - + }} > ${translate("general.close")} diff --git a/core/src/components/check-for-update.js b/core/src/components/check-for-update.js index 10ad8339..26a9a70e 100644 --- a/core/src/components/check-for-update.js +++ b/core/src/components/check-for-update.js @@ -1,5 +1,5 @@ import {css, html, LitElement} from 'lit' -import {translate} from '../../translate/index.js' +import {translate} from '../../translate' import isElectron from 'is-electron' import '@polymer/paper-icon-button/paper-icon-button.js' diff --git a/core/src/components/controllers/coin-balances-controller.js b/core/src/components/controllers/coin-balances-controller.js index 3cddd6d8..7bcdabad 100644 --- a/core/src/components/controllers/coin-balances-controller.js +++ b/core/src/components/controllers/coin-balances-controller.js @@ -27,19 +27,14 @@ class CoinBalancesController extends connect(store)(LitElement) { const myNode = store.getState().app.nodeConfig.knownNodes[ store.getState().app.nodeConfig.node - ]; + ] - const nodeUrl = - myNode.protocol + '://' + myNode.domain + ':' + myNode.port; - return nodeUrl; + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port } getMyNode() { - const myNode = - store.getState().app.nodeConfig.knownNodes[ - store.getState().app.nodeConfig.node - ]; - - return myNode; + return store.getState().app.nodeConfig.knownNodes[ + store.getState().app.nodeConfig.node + ] } diff --git a/core/src/components/friends-view/ChatSideNavHeads.js b/core/src/components/friends-view/ChatSideNavHeads.js index 66c006fb..d2f6ebdd 100644 --- a/core/src/components/friends-view/ChatSideNavHeads.js +++ b/core/src/components/friends-view/ChatSideNavHeads.js @@ -1,5 +1,5 @@ import {css, html, LitElement} from 'lit' -import {get} from '../../../translate/index.js' +import {get} from '../../../translate' import '@material/mwc-icon' import '@vaadin/tooltip'; @@ -206,11 +206,9 @@ class ChatSideNavHeads extends LitElement { if(changedProperties.has('chatInfo')){ return true } - if(changedProperties.has('isImageLoaded')){ - return true - } + return !!changedProperties.has('isImageLoaded'); + - return false } getUrl(chatUrl) { diff --git a/core/src/components/friends-view/add-friends-modal.js b/core/src/components/friends-view/add-friends-modal.js index c622e4ef..1e6f4ddd 100644 --- a/core/src/components/friends-view/add-friends-modal.js +++ b/core/src/components/friends-view/add-friends-modal.js @@ -1,5 +1,5 @@ import {css, html, LitElement} from 'lit'; -import {translate,} from '../../../translate/index.js' +import {translate,} from '../../../translate' import '@material/mwc-button'; import '@material/mwc-dialog'; import '@material/mwc-checkbox'; @@ -202,17 +202,12 @@ class AddFriendsModal extends connect(store)(LitElement) { window.parent.reduxStore.getState().app.nodeConfig.node ]; - const nodeUrl = - myNode.protocol + '://' + myNode.domain + ':' + myNode.port; - return nodeUrl; + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port; } getMyNode() { - const myNode = - store.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node + return store.getState().app.nodeConfig.knownNodes[ + window.parent.reduxStore.getState().app.nodeConfig.node ]; - - return myNode; } clearFields() { @@ -267,7 +262,7 @@ class AddFriendsModal extends connect(store)(LitElement) { changedProperties && changedProperties.has('isOpen') && this.isOpen ) { - this.getAvailableFeedSchemas() + await this.getAvailableFeedSchemas() } } @@ -281,11 +276,9 @@ class AddFriendsModal extends connect(store)(LitElement) { if (data.error === 401) { this.availableFeeedSchemas = []; } else { - const result = data.filter( + this.availableFeeedSchemas = data.filter( (item) => item.identifier === 'ui_schema_feed' ); - - this.availableFeeedSchemas = result; } this.userFoundModalOpen = true; } catch (error) {} finally { diff --git a/core/src/components/friends-view/avatar.js b/core/src/components/friends-view/avatar.js index fdee3967..e0714032 100644 --- a/core/src/components/friends-view/avatar.js +++ b/core/src/components/friends-view/avatar.js @@ -1,13 +1,11 @@ -import { LitElement, html, css } from 'lit'; -import { get, translate } from '../../../translate/index.js' +import {css, html, LitElement} from 'lit'; import axios from 'axios'; import '@material/mwc-menu'; import '@material/mwc-list/mwc-list-item.js'; -import { RequestQueueWithPromise } from '../../../../plugins/plugins/utils/queue'; +import {RequestQueueWithPromise} from '../../../../plugins/plugins/utils/queue'; import '../../../../plugins/plugins/core/components/TimeAgo'; -import { connect } from 'pwa-helpers'; -import { store } from '../../store'; -import { setNewTab } from '../../redux/app/app-actions'; +import {connect} from 'pwa-helpers'; +import {store} from '../../store'; import ShortUniqueId from 'short-unique-id'; const requestQueue = new RequestQueueWithPromise(3); @@ -125,17 +123,12 @@ export class AvatarComponent extends connect(store)(LitElement) { window.parent.reduxStore.getState().app.nodeConfig.node ]; - const nodeUrl = - myNode.protocol + '://' + myNode.domain + ':' + myNode.port; - return nodeUrl; + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port; } getMyNode() { - const myNode = - window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node + return window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ + window.parent.reduxStore.getState().app.nodeConfig.node ]; - - return myNode; } getApiKey() { @@ -143,8 +136,7 @@ export class AvatarComponent extends connect(store)(LitElement) { window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ window.parent.reduxStore.getState().app.nodeConfig.node ]; - let apiKey = myNode.apiKey; - return apiKey; + return myNode.apiKey; } async fetchResource() { @@ -161,7 +153,7 @@ export class AvatarComponent extends connect(store)(LitElement) { } async fetchVideoUrl() { - this.fetchResource(); + await this.fetchResource(); } async getRawData() { @@ -249,7 +241,7 @@ export class AvatarComponent extends connect(store)(LitElement) { this.status = res; if (this.status.status === 'DOWNLOADED') { - this.fetchResource(); + await this.fetchResource(); } } @@ -264,8 +256,8 @@ export class AvatarComponent extends connect(store)(LitElement) { async _fetchImage() { try { - this.fetchVideoUrl(); - this.fetchStatus(); + await this.fetchVideoUrl(); + await this.fetchStatus(); } catch (error) { /* empty */ } diff --git a/core/src/components/friends-view/beginner-checklist.js b/core/src/components/friends-view/beginner-checklist.js index 3501d112..4a688aed 100644 --- a/core/src/components/friends-view/beginner-checklist.js +++ b/core/src/components/friends-view/beginner-checklist.js @@ -1,15 +1,14 @@ -import { css, html, LitElement } from 'lit'; -import { connect } from 'pwa-helpers'; +import {css, html, LitElement} from 'lit'; +import {connect} from 'pwa-helpers'; import '@vaadin/item'; import '@vaadin/list-box'; import '@polymer/paper-icon-button/paper-icon-button.js'; import '@polymer/iron-icons/iron-icons.js'; -import { store } from '../../store.js'; -import { setNewTab } from '../../redux/app/app-actions.js'; +import {store} from '../../store.js'; +import {setNewTab} from '../../redux/app/app-actions.js'; import '@material/mwc-icon'; -import { get, translate } from '../../../translate/index.js'; -import { repeat } from 'lit/directives/repeat.js'; +import {get} from '../../../translate'; import '../../../../plugins/plugins/core/components/TimeAgo.js'; import '../notification-view/popover.js'; import ShortUniqueId from 'short-unique-id'; @@ -74,17 +73,12 @@ class BeginnerChecklist extends connect(store)(LitElement) { window.parent.reduxStore.getState().app.nodeConfig.node ]; - const nodeUrl = - myNode.protocol + '://' + myNode.domain + ':' + myNode.port; - return nodeUrl; + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port; } getMyNode() { - const myNode = - window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node + return window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ + window.parent.reduxStore.getState().app.nodeConfig.node ]; - - return myNode; } async getName(recipient) { @@ -94,11 +88,7 @@ class BeginnerChecklist extends connect(store)(LitElement) { const res = await fetch(endpoint); const getNames = await res.json(); - if (Array.isArray(getNames) && getNames.length > 0) { - this.hasName = true; - } else { - this.hasName = false; - } + this.hasName = Array.isArray(getNames) && getNames.length > 0; } catch (error) { return ''; } @@ -132,7 +122,7 @@ class BeginnerChecklist extends connect(store)(LitElement) { state.app.accountInfo.names.length > 0 ) { this.hasName = true; - } + } } handleBlur() { diff --git a/core/src/components/friends-view/core-sync-status.js b/core/src/components/friends-view/core-sync-status.js index 733123aa..a4345671 100644 --- a/core/src/components/friends-view/core-sync-status.js +++ b/core/src/components/friends-view/core-sync-status.js @@ -1,128 +1,150 @@ import {css, html, LitElement} from 'lit' import {store} from '../../store' import {connect} from 'pwa-helpers' -import {translate} from '../../../translate/index.js' +import {translate} from '../../../translate' class CoreSyncStatus extends connect(store)(LitElement) { static get properties() { return { - nodeStatus: {type: Object}, - coreInfos: { type: Array } + nodeInfos: { type: Array }, + coreInfos: { type: Array }, + theme: { type: String, reflect: true } } } constructor() { super() - this.nodeStatus = {} + this.nodeInfos = [] this.coreInfos = [] + this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' } - static styles = css` - .lineHeight { - line-height: 33%; - } + static get styles() { + return css` + .lineHeight { + line-height: 33%; + } - .tooltip { - display: inline-block; - position: relative; - text-align: left; - } + .tooltip { + display: inline-block; + position: relative; + text-align: left; + } - .tooltip .bottom { - min-width: 200px; - max-width: 250px; - top: 35px; - left: 50%; - transform: translate(-50%, 0); - padding: 10px 10px; - color: var(--black); - background-color: var(--white); - font-weight: normal; - font-size: 13px; - border-radius: 8px; - position: absolute; - z-index: 99999999; - box-sizing: border-box; - box-shadow: 0 1px 8px rgba(0,0,0,0.5); - border: 1px solid var(--black); - visibility: hidden; - opacity: 0; - transition: opacity 0.8s; - } + .tooltip .bottom { + min-width: 200px; + max-width: 250px; + top: 35px; + left: 50%; + transform: translate(-50%, 0); + padding: 10px 10px; + color: var(--black); + background-color: var(--white); + font-weight: normal; + font-size: 13px; + border-radius: 8px; + position: absolute; + z-index: 99999999; + box-sizing: border-box; + box-shadow: 0 1px 8px rgba(0,0,0,0.5); + border: 1px solid var(--black); + visibility: hidden; + opacity: 0; + transition: opacity 0.8s; + } - .tooltip:hover .bottom { - visibility: visible; - opacity: 1; - } + .tooltip:hover .bottom { + visibility: visible; + opacity: 1; + } - .tooltip .bottom i { - position: absolute; - bottom: 100%; - left: 50%; - margin-left: -12px; - width: 24px; - height: 12px; - overflow: hidden; - } + .tooltip .bottom i { + position: absolute; + bottom: 100%; + left: 50%; + margin-left: -12px; + width: 24px; + height: 12px; + overflow: hidden; + } - .tooltip .bottom i::after { - content: ''; - position: absolute; - width: 12px; - height: 12px; - left: 50%; - transform: translate(-50%,50%) rotate(45deg); - background-color: var(--white); - border: 1px solid var(--black); - box-shadow: 0 1px 8px rgba(0,0,0,0.5); - } - - ` + .tooltip .bottom i::after { + content: ''; + position: absolute; + width: 12px; + height: 12px; + left: 50%; + transform: translate(-50%,50%) rotate(45deg); + background-color: var(--white); + border: 1px solid var(--black); + box-shadow: 0 1px 8px rgba(0,0,0,0.5); + } + ` + } render() { return html`
- ${this.renderSyncStatusIcon()} + ${this.renderSyncStatusIcon()}
` } firstUpdated() { + this.getNodeInfos() this.getCoreInfos() setInterval(() => { + this.getNodeInfos() this.getCoreInfos() - }, 60000) + }, 30000) } + async getNodeInfos() { + const appInfoNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] + const appInfoUrl = appInfoNode.protocol + '://' + appInfoNode.domain + ':' + appInfoNode.port + const nodeInfoUrl = `${appInfoUrl}/admin/status` + + await fetch(nodeInfoUrl).then(response => { + return response.json() + }).then(data => { + this.nodeInfos = data + }).catch(err => { + console.error('Request failed', err) + }) + } + async getCoreInfos() { - const corInfo = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] - const coreInfoUrl = corInfo.protocol + '://' + corInfo.domain + ':' + corInfo.port - const infoUrl = `${coreInfoUrl}/admin/info` - await fetch(infoUrl).then(response => { + const appCoreNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] + const appCoreUrl = appCoreNode.protocol + '://' + appCoreNode.domain + ':' + appCoreNode.port + const coreInfoUrl = `${appCoreUrl}/admin/info` + + await fetch(coreInfoUrl).then(response => { return response.json() }).then(data => { this.coreInfos = data + }).catch(err => { + console.error('Request failed', err) }) } renderSyncStatusIcon() { - if (this.nodeStatus.isSynchronizing === true && this.nodeStatus.syncPercent === 99) { + if (this.nodeInfos.isSynchronizing === true && this.nodeInfos.syncPercent === 99) { return html`

${translate("walletprofile.wp3")}

${translate("appinfo.coreversion")}: ${this.coreInfos.buildVersion ? (this.coreInfos.buildVersion).substring(0,12) : ''}

-

${translate("appinfo.synchronizing")}... ${this.nodeStatus.syncPercent !== undefined ? this.nodeStatus.syncPercent + '%' : ''}

-

${translate("appinfo.blockheight")}: ${this.nodeStatus.height ? this.nodeStatus.height : ''}

-

${translate("appinfo.peers")}: ${this.nodeStatus.numberOfConnections ? this.nodeStatus.numberOfConnections : ''}

+

${translate("appinfo.synchronizing")}... ${this.nodeInfos.syncPercent !== undefined ? this.nodeInfos.syncPercent + '%' : ''}

+

${translate("appinfo.blockheight")}: ${this.nodeInfos.height ? this.nodeInfos.height : ''}

+

${translate("appinfo.peers")}: ${this.nodeInfos.numberOfConnections ? this.nodeInfos.numberOfConnections : ''}

` - } else if (this.nodeStatus.isSynchronizing === true && this.nodeStatus.isMintingPossible === false && this.nodeStatus.syncPercent === 100) { + } else if (this.nodeInfos.isSynchronizing === true && this.nodeInfos.isMintingPossible === false && this.nodeInfos.syncPercent === 100) { return html`
@@ -130,13 +152,13 @@ class CoreSyncStatus extends connect(store)(LitElement) {

${translate("walletprofile.wp3")}

${translate("appinfo.coreversion")}: ${this.coreInfos.buildVersion ? (this.coreInfos.buildVersion).substring(0,12) : ''}

${translate("walletprofile.wp4")} ${translate("walletprofile.wp2")}

-

${translate("appinfo.blockheight")}: ${this.nodeStatus.height ? this.nodeStatus.height : ''}

-

${translate("appinfo.peers")}: ${this.nodeStatus.numberOfConnections ? this.nodeStatus.numberOfConnections : ''}

+

${translate("appinfo.blockheight")}: ${this.nodeInfos.height ? this.nodeInfos.height : ''}

+

${translate("appinfo.peers")}: ${this.nodeInfos.numberOfConnections ? this.nodeInfos.numberOfConnections : ''}

` - } else if (this.nodeStatus.isSynchronizing === false && this.nodeStatus.isMintingPossible === false && this.nodeStatus.syncPercent === 100) { + } else if (this.nodeInfos.isSynchronizing === false && this.nodeInfos.isMintingPossible === false && this.nodeInfos.syncPercent === 100) { return html`
@@ -144,13 +166,13 @@ class CoreSyncStatus extends connect(store)(LitElement) {

${translate("walletprofile.wp3")}

${translate("appinfo.coreversion")}: ${this.coreInfos.buildVersion ? (this.coreInfos.buildVersion).substring(0,12) : ''}

${translate("walletprofile.wp4")} ${translate("walletprofile.wp2")}

-

${translate("appinfo.blockheight")}: ${this.nodeStatus.height ? this.nodeStatus.height : ''}

-

${translate("appinfo.peers")}: ${this.nodeStatus.numberOfConnections ? this.nodeStatus.numberOfConnections : ''}

+

${translate("appinfo.blockheight")}: ${this.nodeInfos.height ? this.nodeInfos.height : ''}

+

${translate("appinfo.peers")}: ${this.nodeInfos.numberOfConnections ? this.nodeInfos.numberOfConnections : ''}

` - } else if (this.nodeStatus.isSynchronizing === true && this.nodeStatus.isMintingPossible === true && this.nodeStatus.syncPercent === 100) { + } else if (this.nodeInfos.isSynchronizing === true && this.nodeInfos.isMintingPossible === true && this.nodeInfos.syncPercent === 100) { return html`
@@ -158,13 +180,13 @@ class CoreSyncStatus extends connect(store)(LitElement) {

${translate("walletprofile.wp3")}

${translate("appinfo.coreversion")}: ${this.coreInfos.buildVersion ? (this.coreInfos.buildVersion).substring(0,12) : ''}

${translate("walletprofile.wp4")} ( ${translate("walletprofile.wp1")} )

-

${translate("appinfo.blockheight")}: ${this.nodeStatus.height ? this.nodeStatus.height : ''}

-

${translate("appinfo.peers")}: ${this.nodeStatus.numberOfConnections ? this.nodeStatus.numberOfConnections : ''}

+

${translate("appinfo.blockheight")}: ${this.nodeInfos.height ? this.nodeInfos.height : ''}

+

${translate("appinfo.peers")}: ${this.nodeInfos.numberOfConnections ? this.nodeInfos.numberOfConnections : ''}

` - } else if (this.nodeStatus.isSynchronizing === false && this.nodeStatus.isMintingPossible === true && this.nodeStatus.syncPercent === 100) { + } else if (this.nodeInfos.isSynchronizing === false && this.nodeInfos.isMintingPossible === true && this.nodeInfos.syncPercent === 100) { return html`
@@ -172,8 +194,8 @@ class CoreSyncStatus extends connect(store)(LitElement) {

${translate("walletprofile.wp3")}

${translate("appinfo.coreversion")}: ${this.coreInfos.buildVersion ? (this.coreInfos.buildVersion).substring(0,12) : ''}

${translate("walletprofile.wp4")} ( ${translate("walletprofile.wp1")} )

-

${translate("appinfo.blockheight")}: ${this.nodeStatus.height ? this.nodeStatus.height : ''}

-

${translate("appinfo.peers")}: ${this.nodeStatus.numberOfConnections ? this.nodeStatus.numberOfConnections : ''}

+

${translate("appinfo.blockheight")}: ${this.nodeInfos.height ? this.nodeInfos.height : ''}

+

${translate("appinfo.peers")}: ${this.nodeInfos.numberOfConnections ? this.nodeInfos.numberOfConnections : ''}

@@ -185,9 +207,9 @@ class CoreSyncStatus extends connect(store)(LitElement) {

${translate("walletprofile.wp3")}

${translate("appinfo.coreversion")}: ${this.coreInfos.buildVersion ? (this.coreInfos.buildVersion).substring(0,12) : ''}

-

${translate("appinfo.synchronizing")}... ${this.nodeStatus.syncPercent !== undefined ? this.nodeStatus.syncPercent + '%' : ''}

-

${translate("appinfo.blockheight")}: ${this.nodeStatus.height ? this.nodeStatus.height : ''}

-

${translate("appinfo.peers")}: ${this.nodeStatus.numberOfConnections ? this.nodeStatus.numberOfConnections : ''}

+

${translate("appinfo.synchronizing")}... ${this.nodeInfos.syncPercent !== undefined ? this.nodeInfos.syncPercent + '%' : ''}

+

${translate("appinfo.blockheight")}: ${this.nodeInfos.height ? this.nodeInfos.height : ''}

+

${translate("appinfo.peers")}: ${this.nodeInfos.numberOfConnections ? this.nodeInfos.numberOfConnections : ''}

@@ -196,7 +218,7 @@ class CoreSyncStatus extends connect(store)(LitElement) { } stateChanged(state) { - this.nodeStatus = state.app.nodeStatus + // ... } } diff --git a/core/src/components/friends-view/feed-item.js b/core/src/components/friends-view/feed-item.js index 4b344187..2410c5ff 100644 --- a/core/src/components/friends-view/feed-item.js +++ b/core/src/components/friends-view/feed-item.js @@ -1,5 +1,5 @@ import {css, html, LitElement} from 'lit'; -import {translate,} from '../../../translate/index.js' +import {translate,} from '../../../translate' import axios from 'axios' import '@material/mwc-menu'; import '@material/mwc-list/mwc-list-item.js' @@ -174,13 +174,10 @@ export class FeedItem extends connect(store)(LitElement) { getNodeUrl(){ const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port - return nodeUrl + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port } getMyNode(){ - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - - return myNode + return window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] } getApiKey() { @@ -188,8 +185,7 @@ getMyNode(){ window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ window.parent.reduxStore.getState().app.nodeConfig.node ]; - let apiKey = myNode.apiKey; - return apiKey; + return myNode.apiKey; } async fetchResource() { @@ -206,7 +202,7 @@ getMyNode(){ async fetchVideoUrl() { - this.fetchResource() + await this.fetchResource() } @@ -311,7 +307,7 @@ getMyNode(){ this.status = res if(this.status.status === 'DOWNLOADED'){ - this.fetchResource() + await this.fetchResource() } } @@ -332,8 +328,8 @@ getMyNode(){ async _fetchImage() { try { - this.fetchVideoUrl() - this.fetchStatus() + await this.fetchVideoUrl() + await this.fetchStatus() } catch (error) { /* empty */ } } diff --git a/core/src/components/friends-view/friend-item-actions.js b/core/src/components/friends-view/friend-item-actions.js index d4a2d2b0..06b1217a 100644 --- a/core/src/components/friends-view/friend-item-actions.js +++ b/core/src/components/friends-view/friend-item-actions.js @@ -1,11 +1,11 @@ // popover-component.js -import { css, html, LitElement } from 'lit'; -import { createPopper } from '@popperjs/core'; +import {css, html, LitElement} from 'lit'; +import {createPopper} from '@popperjs/core'; import '@material/mwc-icon'; -import { translate } from '../../../translate/index.js' -import { store } from '../../store'; -import { connect } from 'pwa-helpers'; -import { setNewTab, setSideEffectAction } from '../../redux/app/app-actions'; +import {translate} from '../../../translate' +import {store} from '../../store'; +import {connect} from 'pwa-helpers'; +import {setNewTab, setSideEffectAction} from '../../redux/app/app-actions'; import ShortUniqueId from 'short-unique-id'; export class FriendItemActions extends connect(store)(LitElement) { @@ -79,11 +79,9 @@ export class FriendItemActions extends connect(store)(LitElement) { const myNode = store.getState().app.nodeConfig.knownNodes[ window.parent.reduxStore.getState().app.nodeConfig.node - ]; + ] - const nodeUrl = - myNode.protocol + '://' + myNode.domain + ':' + myNode.port; - return nodeUrl; + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port } firstUpdated() { diff --git a/core/src/components/friends-view/friends-feed.js b/core/src/components/friends-view/friends-feed.js index 6d265d6b..597fa8e1 100644 --- a/core/src/components/friends-view/friends-feed.js +++ b/core/src/components/friends-view/friends-feed.js @@ -5,7 +5,7 @@ import {friendsViewStyles} from './friends-view-css'; import {connect} from 'pwa-helpers'; import {store} from '../../store'; import './feed-item' -import {translate} from '../../../translate/index.js' +import {translate} from '../../../translate' import '@polymer/paper-spinner/paper-spinner-lite.js' @@ -53,24 +53,18 @@ class FriendsFeed extends connect(store)(LitElement) { const myNode = store.getState().app.nodeConfig.knownNodes[ window.parent.reduxStore.getState().app.nodeConfig.node - ]; + ] - const nodeUrl = - myNode.protocol + '://' + myNode.domain + ':' + myNode.port; - return nodeUrl; + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port } getMyNode() { - const myNode = - store.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node - ]; - - return myNode; + return store.getState().app.nodeConfig.knownNodes[ + window.parent.reduxStore.getState().app.nodeConfig.node + ] } _updateFeeds(event) { - const detail = event.detail - this.mySelectedFeeds = detail + this.mySelectedFeeds = event.detail this.reFetchFeedData() this.requestUpdate() } @@ -170,7 +164,7 @@ class FriendsFeed extends connect(store)(LitElement) { if(this.mySelectedFeeds.length === 0){ await this.getEndpoints() -this.loadAndMergeData(); +await this.loadAndMergeData(); } this.getFeedOnInterval() @@ -190,7 +184,7 @@ this.getFeedOnInterval() async refresh(){ try { await this.getEndpoints() - this.reFetchFeedData() + await this.reFetchFeedData() } catch (error) { } @@ -216,7 +210,7 @@ this.getFeedOnInterval() observerHandler(entries) { if (!entries[0].isIntersecting) { - return; + } else { if (this.feedToRender.length < 20) { return; @@ -326,8 +320,7 @@ this.getFeedOnInterval() let clickValue1 = newItem.schema.click; - const resolvedClickValue1 = replacePlaceholders(clickValue1, resource, newItem.schema.customParams); - newItem.link = resolvedClickValue1 + newItem.link = replacePlaceholders(clickValue1, resource, newItem.schema.customParams) newData.push(newItem) } } @@ -375,7 +368,7 @@ this.getFeedOnInterval() return false; }); } - + async loadAndMergeData() { let allData = this.feed diff --git a/core/src/components/friends-view/friends-side-panel-parent.js b/core/src/components/friends-view/friends-side-panel-parent.js index f763c4d1..42984e65 100644 --- a/core/src/components/friends-view/friends-side-panel-parent.js +++ b/core/src/components/friends-view/friends-side-panel-parent.js @@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit' import '@material/mwc-icon' import './friends-side-panel.js' import '@vaadin/tooltip' -import {translate} from '../../../translate/index.js' +import {translate} from '../../../translate' class FriendsSidePanelParent extends LitElement { static get properties() { diff --git a/core/src/components/friends-view/friends-side-panel.js b/core/src/components/friends-view/friends-side-panel.js index d47cc5e3..3e4a0370 100644 --- a/core/src/components/friends-view/friends-side-panel.js +++ b/core/src/components/friends-view/friends-side-panel.js @@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit'; import '@material/mwc-icon'; import './friends-view' import './friends-feed' -import {translate} from '../../../translate/index.js' +import {translate} from '../../../translate' class FriendsSidePanel extends LitElement { static get properties() { diff --git a/core/src/components/friends-view/friends-view.js b/core/src/components/friends-view/friends-view.js index 148422c9..94e4b128 100644 --- a/core/src/components/friends-view/friends-view.js +++ b/core/src/components/friends-view/friends-view.js @@ -13,7 +13,7 @@ import './ChatSideNavHeads'; import '../../../../plugins/plugins/core/components/ChatSearchResults' import './add-friends-modal' -import {translate,} from '../../../translate/index.js' +import {translate,} from '../../../translate' import {store} from '../../store'; import {friendsViewStyles} from './friends-view-css'; import {parentEpml} from '../show-plugin'; @@ -74,19 +74,14 @@ class FriendsView extends connect(store)(LitElement) { const myNode = store.getState().app.nodeConfig.knownNodes[ window.parent.reduxStore.getState().app.nodeConfig.node - ]; + ] - const nodeUrl = - myNode.protocol + '://' + myNode.domain + ':' + myNode.port; - return nodeUrl; + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port } getMyNode() { - const myNode = - store.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node - ]; - - return myNode; + return store.getState().app.nodeConfig.knownNodes[ + window.parent.reduxStore.getState().app.nodeConfig.node + ] } getMoreFriends() {} @@ -105,12 +100,10 @@ class FriendsView extends connect(store)(LitElement) { } _updateFriends(event) { - const detail = event.detail - this.friendList = detail + this.friendList = event.detail } _updateFeed(event) { - const detail = event.detail - this.mySelectedFeeds = detail + this.mySelectedFeeds = event.detail this.requestUpdate() } _addFriend(event){ @@ -125,7 +118,7 @@ class FriendsView extends connect(store)(LitElement) { name }; } - + this.isOpenAddFriendsModal = true this.openSidePanel() } @@ -165,7 +158,7 @@ class FriendsView extends connect(store)(LitElement) { observerHandler(entries) { if (!entries[0].isIntersecting) { - return; + } else { if (this.friendList.length < 20) { return; @@ -201,8 +194,7 @@ class FriendsView extends connect(store)(LitElement) { getApiKey() { const apiNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - let apiKey = apiNode.apiKey - return apiKey + return apiNode.apiKey } async myFollowName(name) { @@ -211,7 +203,7 @@ class FriendsView extends connect(store)(LitElement) { ] let namesJsonString = JSON.stringify({ "items": items }) - let ret = await parentEpml.request('apiCall', { + return await parentEpml.request('apiCall', { url: `/lists/followedNames?apiKey=${this.getApiKey()}`, method: 'POST', headers: { @@ -219,9 +211,6 @@ class FriendsView extends connect(store)(LitElement) { }, body: `${namesJsonString}` }) - - - return ret } async unFollowName(name) { @@ -230,7 +219,7 @@ class FriendsView extends connect(store)(LitElement) { ] let namesJsonString = JSON.stringify({ "items": items }) - let ret = await parentEpml.request('apiCall', { + return await parentEpml.request('apiCall', { url: `/lists/followedNames?apiKey=${this.getApiKey()}`, method: 'DELETE', headers: { @@ -238,9 +227,6 @@ class FriendsView extends connect(store)(LitElement) { }, body: `${namesJsonString}` }) - - - return ret } async addToFriendList(val, isRemove){ const copyVal = {...val} @@ -260,9 +246,9 @@ class FriendsView extends connect(store)(LitElement) { this.friendList = [...this.friendList, copyVal] } if(!copyVal.willFollow || isRemove) { - this.unFollowName(copyVal.name) + await this.unFollowName(copyVal.name) } else if(copyVal.willFollow){ - this.myFollowName(copyVal.name) + await this.myFollowName(copyVal.name) } this.setMySelectedFeeds(val.mySelectedFeeds) await new Promise((res)=> { diff --git a/core/src/components/friends-view/profile-modal-update.js b/core/src/components/friends-view/profile-modal-update.js index bdf58755..8e1418bf 100644 --- a/core/src/components/friends-view/profile-modal-update.js +++ b/core/src/components/friends-view/profile-modal-update.js @@ -1,15 +1,14 @@ -import { LitElement, html, css } from 'lit'; -import { render } from 'lit/html.js'; -import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from '../../../translate/index.js' +import {css, html, LitElement} from 'lit'; +import {get, translate} from '../../../translate' import '@material/mwc-button'; import '@material/mwc-icon'; import '@vaadin/tooltip'; import '@material/mwc-dialog'; import '@material/mwc-checkbox'; -import { connect } from 'pwa-helpers'; -import { store } from '../../store'; +import {connect} from 'pwa-helpers'; +import {store} from '../../store'; import '@polymer/paper-spinner/paper-spinner-lite.js'; -import { parentEpml } from '../show-plugin'; +import {parentEpml} from '../show-plugin'; class ProfileModalUpdate extends connect(store)(LitElement) { static get properties() { @@ -274,7 +273,7 @@ class ProfileModalUpdate extends connect(store)(LitElement) { this.requestUpdate(); } - + } async firstUpdated() { @@ -335,19 +334,14 @@ class ProfileModalUpdate extends connect(store)(LitElement) { const myNode = store.getState().app.nodeConfig.knownNodes[ window.parent.reduxStore.getState().app.nodeConfig.node - ]; + ] - const nodeUrl = - myNode.protocol + '://' + myNode.domain + ':' + myNode.port; - return nodeUrl; + return myNode.protocol + '://' + myNode.domain + ':' + myNode.port } getMyNode() { - const myNode = - store.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node - ]; - - return myNode; + return store.getState().app.nodeConfig.knownNodes[ + window.parent.reduxStore.getState().app.nodeConfig.node + ] } clearFields() { @@ -549,12 +543,12 @@ class ProfileModalUpdate extends connect(store)(LitElement) {
- +

${key} @@ -592,9 +586,9 @@ class ProfileModalUpdate extends connect(store)(LitElement) { > ${translate('general.close')} - +

- +
` : ''} - +
` } diff --git a/plugins/plugins/core/components/frag-file-input.js b/plugins/plugins/core/components/frag-file-input.js index 17744b88..3afa739c 100644 --- a/plugins/plugins/core/components/frag-file-input.js +++ b/plugins/plugins/core/components/frag-file-input.js @@ -3,7 +3,7 @@ import {css, html, LitElement} from 'lit' import '@material/mwc-button' import '@material/mwc-icon' -import {translate} from '../../../../core/translate/index.js' +import {translate} from '../../../../core/translate' class FragFileInput extends LitElement { static get properties () { diff --git a/plugins/plugins/core/components/qdn-action-encryption.js b/plugins/plugins/core/components/qdn-action-encryption.js index 1165807a..cabd288a 100644 --- a/plugins/plugins/core/components/qdn-action-encryption.js +++ b/plugins/plugins/core/components/qdn-action-encryption.js @@ -91,18 +91,16 @@ export function uint8ArrayToObject(uint8Array) { const jsonString = decoder.decode(uint8Array) // Convert the JSON string back into an object - const obj = JSON.parse(jsonString) - - return obj + return JSON.parse(jsonString) } export function objectToBase64(obj) { // Step 1: Convert the object to a JSON string const jsonString = JSON.stringify(obj); - + // Step 2: Create a Blob from the JSON string const blob = new Blob([jsonString], { type: 'application/json' }); - + // Step 3: Create a FileReader to read the Blob as a base64-encoded string return new Promise((resolve, reject) => { const reader = new FileReader(); @@ -128,8 +126,7 @@ export function uint8ArrayToObject(uint8Array) { export const encryptData = ({ data64, recipientPublicKey }) => { - const Uint8ArrayData = base64ToUint8Array(data64) - const uint8Array = Uint8ArrayData + const uint8Array = base64ToUint8Array(data64) if (!(uint8Array instanceof Uint8Array)) { @@ -220,7 +217,7 @@ export const encryptDataGroup = ({ data64, publicKeys }) => { const convertedPublicKey = ed2curve.convertPublicKey(publicKeyUnit8Array) const sharedSecret = new Uint8Array(32) - // the length of the sharedSecret will be 32 + 16 + // the length of the sharedSecret will be 32 + 16 // When you're encrypting data using nacl.secretbox, it's adding an authentication tag to the result, which is 16 bytes long. This tag is used for verifying the integrity and authenticity of the data when it is decrypted nacl.lowlevel.crypto_scalarmult(sharedSecret, convertedPrivateKey, convertedPublicKey) @@ -264,8 +261,7 @@ export const encryptDataGroup = ({ data64, publicKeys }) => { }); const countArray = new Uint8Array(new Uint32Array([publicKeysDuplicateFree.length]).buffer); combinedData.set(countArray, combinedData.length - 4); - const uint8arrayToData64 = uint8ArrayToBase64(combinedData) - return uint8arrayToData64; + return uint8ArrayToBase64(combinedData); } catch (error) { throw new Error("Error in encrypting data") @@ -317,8 +313,7 @@ export function decryptDeprecatedSingle(uint8Array, publicKey) { if (!_decryptedData) { throw new Error("Unable to decrypt") } - const decryptedDataToBase64 = uint8ArrayToBase64(_decryptedData) - return decryptedDataToBase64 + return uint8ArrayToBase64(_decryptedData) } export function decryptGroupData(data64EncryptedData) { diff --git a/plugins/plugins/core/components/qortal-info-view.js b/plugins/plugins/core/components/qortal-info-view.js index 9c97050b..b7afb6a6 100644 --- a/plugins/plugins/core/components/qortal-info-view.js +++ b/plugins/plugins/core/components/qortal-info-view.js @@ -1,6 +1,6 @@ import {css, html, LitElement} from 'lit' import {render} from 'lit/html.js' -import {get, translate} from '../../../../core/translate/index.js' +import {get, translate} from '../../../../core/translate' import '@polymer/paper-dialog/paper-dialog.js' import '@material/mwc-button' import '@material/mwc-icon' @@ -1298,13 +1298,11 @@ class QortalInfoView extends LitElement { const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port const fromNameUrl = `${nodeUrl}/names/${fromName}` - const qortalNameInfo = await fetch(fromNameUrl).then(response => { - return response.json() - }) - - this.nameAddressResult = qortalNameInfo + this.nameAddressResult = await fetch(fromNameUrl).then(response => { + return response.json() + }) const nameAddress = this.nameAddressResult.owner - this.getAllWithAddress(nameAddress) + await this.getAllWithAddress(nameAddress) } async getAllWithAddress(myAddress) { @@ -1325,11 +1323,9 @@ class QortalInfoView extends LitElement { const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port const infoAddressUrl = `${nodeUrl}/addresses/${infoAddress}` - const qortalAddressInfo = await fetch(infoAddressUrl).then(response => { - return response.json() - }) - - this.addressResult = qortalAddressInfo + this.addressResult = await fetch(infoAddressUrl).then(response => { + return response.json() + }) } async getAddressUserAvatar(avatarAddress) { @@ -1351,8 +1347,7 @@ class QortalInfoView extends LitElement { } }) - const myImageUrl = `${nodeUrl}/arbitrary/THUMBNAIL/${this.imageName}/qortal_avatar?async=true&apiKey=${this.getApiKey()}` - this.imageUrl = myImageUrl + this.imageUrl = `${nodeUrl}/arbitrary/THUMBNAIL/${this.imageName}/qortal_avatar?async=true&apiKey=${this.getApiKey()}` } async getAddressUserBalance(balanceAddress) { @@ -1378,28 +1373,22 @@ class QortalInfoView extends LitElement { const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port if (checkBlocks === 0) { - let noMinterString = get("explorerpage.exp16") - this.startMintTime = noMinterString + this.startMintTime = get("explorerpage.exp16") } else { const blockheightUrl = `${nodeUrl}/blocks/height` - const currentBlockheight = await fetch(blockheightUrl).then(response => { - return response.json() - }) - - this.actualBlockheight = currentBlockheight + this.actualBlockheight = await fetch(blockheightUrl).then(response => { + return response.json() + }) this.reduceBlockheight = this.addressResult.blocksMinted + this.addressResult.blocksMintedAdjustment this.startMintBlockheight = (this.actualBlockheight - this.reduceBlockheight) const startMintUrl = `${nodeUrl}/blocks/byheight/${this.startMintBlockheight}?includeOnlineSignatures=false` - const startMintBlock = await fetch(startMintUrl).then(response => { - return response.json() - }) + this.startMintBlock = await fetch(startMintUrl).then(response => { + return response.json() + }) - this.startMintBlock = startMintBlock - - const mintString = new Date(this.startMintBlock.timestamp).toLocaleDateString() - this.startMintTime = mintString + this.startMintTime = new Date(this.startMintBlock.timestamp).toLocaleDateString() } } @@ -1854,8 +1843,7 @@ class QortalInfoView extends LitElement { getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - let apiKey = myNode.apiKey - return apiKey + return myNode.apiKey } isEmptyArray(arr) { @@ -1866,8 +1854,7 @@ class QortalInfoView extends LitElement { } round(number) { - let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) - return result + return (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) } } diff --git a/plugins/plugins/core/components/time-elements/extended-time-element.js b/plugins/plugins/core/components/time-elements/extended-time-element.js index fce17b2d..874a1a89 100644 --- a/plugins/plugins/core/components/time-elements/extended-time-element.js +++ b/plugins/plugins/core/components/time-elements/extended-time-element.js @@ -75,7 +75,7 @@ export default class ExtendedTimeElement extends HTMLElement { } } getFormattedDate() { - return; + } } const titleFormatter = makeFormatter({ diff --git a/plugins/plugins/core/components/time-elements/index.js b/plugins/plugins/core/components/time-elements/index.js index 8b3dbe4c..961c29d9 100644 --- a/plugins/plugins/core/components/time-elements/index.js +++ b/plugins/plugins/core/components/time-elements/index.js @@ -240,7 +240,7 @@ class ExtendedTimeElement extends HTMLElement { } } getFormattedDate() { - return; + } } const titleFormatter = makeFormatter({ diff --git a/plugins/plugins/core/components/webworkerDecodeMessages.js b/plugins/plugins/core/components/webworkerDecodeMessages.js index 4c6af4f7..c12c004a 100644 --- a/plugins/plugins/core/components/webworkerDecodeMessages.js +++ b/plugins/plugins/core/components/webworkerDecodeMessages.js @@ -2379,7 +2379,7 @@ nacl.verify = function(x, y) { // Zero length arguments are considered not equal. if (x.length === 0 || y.length === 0) return false; if (x.length !== y.length) return false; - return (vn(x, 0, y, 0, x.length) === 0) ? true : false; + return (vn(x, 0, y, 0, x.length) === 0); }; nacl.setPRNG = function(fn) { diff --git a/plugins/plugins/core/group-management/group-management.src.js b/plugins/plugins/core/group-management/group-management.src.js index e1bf5032..57013a33 100644 --- a/plugins/plugins/core/group-management/group-management.src.js +++ b/plugins/plugins/core/group-management/group-management.src.js @@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit' import {render} from 'lit/html.js' import {Epml} from '../../../epml.js' import isElectron from 'is-electron' -import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js' +import {get, registerTranslateConfig, translate, use} from '../../../../core/translate' import '../components/time-elements/index.js' import '@material/mwc-button' import '@material/mwc-dialog' @@ -1374,8 +1374,7 @@ class GroupManagement extends LitElement { this.filteredItems = [] const searchTerm = (e.target.value || '').trim() const keys = ['groupName', 'description', 'owner'] - const filtered = this.publicGroups.filter((search) => keys.some((key) => search[key].toLowerCase().includes(searchTerm.toLowerCase()))) - this.filteredItems = filtered + this.filteredItems = this.publicGroups.filter((search) => keys.some((key) => search[key].toLowerCase().includes(searchTerm.toLowerCase()))) }}" > @@ -1724,29 +1723,25 @@ class GroupManagement extends LitElement { let openG = await parentEpml.request('apiCall', { url: `/groups?limit=0&reverse=true` }) - let myGs = openG.filter(myG => myG.isOpen === true) - return myGs + return openG.filter(myG => myG.isOpen === true) } const getPrivateGroups = async () => { let privateG = await parentEpml.request('apiCall', { url: `/groups?limit=0&reverse=true` }) - let myPgs = privateG.filter(myP => myP.isOpen === false) - return myPgs + return privateG.filter(myP => myP.isOpen === false) } const getJoinedGroups = async () => { - let joinedG = await parentEpml.request('apiCall', { - url: `/groups/member/${this.selectedAddress.address}` - }) - return joinedG + return await parentEpml.request('apiCall', { + url: `/groups/member/${this.selectedAddress.address}` + }) } const getGroupInfo = async (groupId) => { - let joinedG = await parentEpml.request('apiCall', { - url: `/groups/${groupId}` - }) - return joinedG + return await parentEpml.request('apiCall', { + url: `/groups/${groupId}` + }) } const getGroupInvites = async () => { @@ -1805,11 +1800,10 @@ class GroupManagement extends LitElement { let _joinedGroups = await getJoinedGroups() let _publicGroups = await getOpenPublicGroups() let _privateGroups = await getPrivateGroups() - let results = _publicGroups.filter(myOpenGroup => { - let value = _joinedGroups.some(myJoinedGroup => myOpenGroup.groupId === myJoinedGroup.groupId) - return !value - }); - this.publicGroups = results + this.publicGroups = _publicGroups.filter(myOpenGroup => { + let value = _joinedGroups.some(myJoinedGroup => myOpenGroup.groupId === myJoinedGroup.groupId) + return !value + }) this.privateGroups = _privateGroups this.joinedGroups = _joinedGroups this.filteredItems = this.publicGroups @@ -2248,13 +2242,11 @@ class GroupManagement extends LitElement { const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port const fromNameUrl = `${nodeUrl}/names/${_inviteMemberInfo}` - const qortalNameInfo = await fetch(fromNameUrl).then(response => { - return response.json() - }) - - this.nameAddressResult = qortalNameInfo + this.nameAddressResult = await fetch(fromNameUrl).then(response => { + return response.json() + }) const _inviteMemberNameInfo = this.nameAddressResult.owner - this.createInviteGroupMember(_inviteMemberNameInfo, _nviteMemberTime, _inviteGroupId) + await this.createInviteGroupMember(_inviteMemberNameInfo, _nviteMemberTime, _inviteGroupId) } closeErrorDialog() { @@ -2417,8 +2409,7 @@ class GroupManagement extends LitElement { await fetch(callMembersUrl).then(res => { return res.json() }).then(data => { - let groupMemberToParse = data - groupMemberToParse.members.map(a => { + data.members.map(a => { if (a.isAdmin === undefined) { let callTheNewMember = a.member let callSingleMemberUrl = `${nodeUrl}/names/address/${callTheNewMember}` @@ -2491,7 +2482,7 @@ class GroupManagement extends LitElement { }) if (this.bannedMembers.length === 0) { - return + } else { this.bannedMembers.map(a => { let callTheBannedMember = a.offender @@ -2542,7 +2533,7 @@ class GroupManagement extends LitElement { }) if (this.groupInviteMembers.length === 0) { - return + } else { this.groupInviteMembers.map(a => { let callTheInviteMember = a.invitee @@ -2589,7 +2580,7 @@ class GroupManagement extends LitElement { }) if (this.groupJoinMembers.length === 0) { - return + } else { this.groupJoinMembers.map(a => { let callTheJoinMember = a.joiner @@ -2698,14 +2689,11 @@ class GroupManagement extends LitElement { renderRole(groupObj) { if (groupObj.owner === this.selectedAddress.address) { - let ownerstring = get("grouppage.gchange10") - return ownerstring + return get("grouppage.gchange10") } else if (groupObj.isAdmin === true) { - let adminstring = get("grouppage.gchange52") - return adminstring + return get("grouppage.gchange52") } else { - let memberstring = get("grouppage.gchange53") - return memberstring + return get("grouppage.gchange53") } } @@ -2782,11 +2770,10 @@ class GroupManagement extends LitElement { this.isLoading = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) }; const validateReceiver = async () => { @@ -2808,27 +2795,26 @@ class GroupManagement extends LitElement { let groupdialog7 = get("grouppage.gchange4") let groupdialog8 = get("grouppage.gchange5") let groupdialog9 = get("grouppage.gchange13") - let myTxnrequest = await parentEpml.request('transaction', { - type: 22, - nonce: this.selectedAddress.nonce, - params: { - fee: createFeeInput, - registrantAddress: this.selectedAddress.address, - rGroupName: groupNameInput, - rGroupDesc: groupDescInput, - rGroupType: _groupTypeInput, - rGroupApprovalThreshold: _groupApprovalInput, - rGroupMinimumBlockDelay: _groupMinDelayInput, - rGroupMaximumBlockDelay: _groupMaxDelayInput, - lastReference: lastRef, - groupdialog5: groupdialog5, - groupdialog6: groupdialog6, - groupdialog7: groupdialog7, - groupdialog8: groupdialog8, - groupdialog9: groupdialog9, - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 22, + nonce: this.selectedAddress.nonce, + params: { + fee: createFeeInput, + registrantAddress: this.selectedAddress.address, + rGroupName: groupNameInput, + rGroupDesc: groupDescInput, + rGroupType: _groupTypeInput, + rGroupApprovalThreshold: _groupApprovalInput, + rGroupMinimumBlockDelay: _groupMinDelayInput, + rGroupMaximumBlockDelay: _groupMaxDelayInput, + lastReference: lastRef, + groupdialog5: groupdialog5, + groupdialog6: groupdialog6, + groupdialog7: groupdialog7, + groupdialog8: groupdialog8, + groupdialog9: groupdialog9, + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -2872,7 +2858,7 @@ class GroupManagement extends LitElement { this.isLoading = false } else { this.error = false - validateReceiver() + await validateReceiver() } } @@ -2894,11 +2880,10 @@ class GroupManagement extends LitElement { this.isLoading = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) }; const validateReceiver = async () => { @@ -2912,21 +2897,20 @@ class GroupManagement extends LitElement { const makeTransactionRequest = async (lastRef) => { let groupdialog1 = get("transactions.groupdialog1") let groupdialog2 = get("transactions.groupdialog2") - let myTxnrequest = await parentEpml.request('transaction', { - type: 31, - nonce: this.selectedAddress.nonce, - params: { - fee: joinFeeInput, - registrantAddress: this.selectedAddress.address, - rGroupName: groupName, - rGroupId: groupId, - lastReference: lastRef, - groupdialog1: groupdialog1, - groupdialog2: groupdialog2 - }, - apiVersion: 2 - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 31, + nonce: this.selectedAddress.nonce, + params: { + fee: joinFeeInput, + registrantAddress: this.selectedAddress.address, + rGroupName: groupName, + rGroupId: groupId, + lastReference: lastRef, + groupdialog1: groupdialog1, + groupdialog2: groupdialog2 + }, + apiVersion: 2 + }) } const getTxnRequestResponse = (txnResponse) => { @@ -2949,7 +2933,7 @@ class GroupManagement extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() this.resetDefaultSettings() } @@ -2960,11 +2944,10 @@ class GroupManagement extends LitElement { this.isLoading = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) }; const validateReceiver = async () => { @@ -2978,20 +2961,19 @@ class GroupManagement extends LitElement { const makeTransactionRequest = async (lastRef) => { let groupdialog3 = get("transactions.groupdialog3") let groupdialog4 = get("transactions.groupdialog4") - let myTxnrequest = await parentEpml.request('transaction', { - type: 32, - nonce: this.selectedAddress.nonce, - params: { - fee: leaveFeeInput, - registrantAddress: this.selectedAddress.address, - rGroupName: groupName, - rGroupId: groupId, - lastReference: lastRef, - groupdialog3: groupdialog3, - groupdialog4: groupdialog4 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 32, + nonce: this.selectedAddress.nonce, + params: { + fee: leaveFeeInput, + registrantAddress: this.selectedAddress.address, + rGroupName: groupName, + rGroupId: groupId, + lastReference: lastRef, + groupdialog3: groupdialog3, + groupdialog4: groupdialog4 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3009,7 +2991,7 @@ class GroupManagement extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() this.resetDefaultSettings() } @@ -3023,11 +3005,10 @@ class GroupManagement extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -3048,21 +3029,20 @@ class GroupManagement extends LitElement { const myBanMemberDialog1 = get("managegroup.mg22") const myBanMemberDialog2 = get("managegroup.mg23") - let myTxnrequest = await parentEpml.request('transaction', { - type: 26, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - recipient: myMember, - rGroupId: myGroupId, - rBanReason: myReason, - rBanTime: myBanTime, - lastReference: myLastRef, - banMemberDialog1: myBanMemberDialog1, - banMemberDialog2: myBanMemberDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 26, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + recipient: myMember, + rGroupId: myGroupId, + rBanReason: myReason, + rBanTime: myBanTime, + lastReference: myLastRef, + banMemberDialog1: myBanMemberDialog1, + banMemberDialog2: myBanMemberDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3102,7 +3082,7 @@ class GroupManagement extends LitElement { this.isLoading = false } else { this.error = false - validateReceiver() + await validateReceiver() } } @@ -3114,11 +3094,10 @@ class GroupManagement extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -3136,19 +3115,18 @@ class GroupManagement extends LitElement { const myCancelBanMemberDialog1 = get("managegroup.mg29") const myCancelBanMemberDialog2 = get("managegroup.mg30") - let myTxnrequest = await parentEpml.request('transaction', { - type: 27, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - recipient: myMember, - rGroupId: myGroupId, - lastReference: myLastRef, - cancelBanMemberDialog1: myCancelBanMemberDialog1, - cancelBanMemberDialog2: myCancelBanMemberDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 27, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + recipient: myMember, + rGroupId: myGroupId, + lastReference: myLastRef, + cancelBanMemberDialog1: myCancelBanMemberDialog1, + cancelBanMemberDialog2: myCancelBanMemberDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3171,7 +3149,7 @@ class GroupManagement extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } async createInviteGroupMember(_inviteMemberNameInfo, _nviteMemberTime, _inviteGroupId) { @@ -3183,11 +3161,10 @@ class GroupManagement extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -3205,20 +3182,19 @@ class GroupManagement extends LitElement { const myInviteMemberDialog1 = get("managegroup.mg40") const myInviteMemberDialog2 = get("managegroup.mg41") - let myTxnrequest = await parentEpml.request('transaction', { - type: 29, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - recipient: myMember, - rGroupId: myGroupId, - rInviteTime: myInviteTime, - lastReference: myLastRef, - inviteMemberDialog1: myInviteMemberDialog1, - inviteMemberDialog2: myInviteMemberDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 29, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + recipient: myMember, + rGroupId: myGroupId, + rInviteTime: myInviteTime, + lastReference: myLastRef, + inviteMemberDialog1: myInviteMemberDialog1, + inviteMemberDialog2: myInviteMemberDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3243,7 +3219,7 @@ class GroupManagement extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } async cancelInviteGroupMember(groupId) { @@ -3255,11 +3231,10 @@ class GroupManagement extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -3277,20 +3252,19 @@ class GroupManagement extends LitElement { const myCancelInviteDialog1 = get("managegroup.mg48") const myCancelInviteDialog2 = get("managegroup.mg49") - let myTxnrequest = await parentEpml.request('transaction', { - type: 30, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - memberName: myName, - recipient: myMember, - rGroupId: myGroupId, - lastReference: myLastRef, - cancelInviteDialog1: myCancelInviteDialog1, - cancelInviteDialog2: myCancelInviteDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 30, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + memberName: myName, + recipient: myMember, + rGroupId: myGroupId, + lastReference: myLastRef, + cancelInviteDialog1: myCancelInviteDialog1, + cancelInviteDialog2: myCancelInviteDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3315,7 +3289,7 @@ class GroupManagement extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } async createAcceptJoinGroupMember(joinObj) { @@ -3327,11 +3301,10 @@ class GroupManagement extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -3349,20 +3322,19 @@ class GroupManagement extends LitElement { const myInviteMemberDialog1 = get("managegroup.mg55") const myInviteMemberDialog2 = get("managegroup.mg56") - let myTxnrequest = await parentEpml.request('transaction', { - type: 29, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - recipient: myMember, - rGroupId: myGroupId, - rInviteTime: myInviteTime, - lastReference: myLastRef, - inviteMemberDialog1: myInviteMemberDialog1, - inviteMemberDialog2: myInviteMemberDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 29, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + recipient: myMember, + rGroupId: myGroupId, + rInviteTime: myInviteTime, + lastReference: myLastRef, + inviteMemberDialog1: myInviteMemberDialog1, + inviteMemberDialog2: myInviteMemberDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3386,7 +3358,7 @@ class GroupManagement extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } async kickJoinGroupMember(joinObj) { @@ -3398,11 +3370,10 @@ class GroupManagement extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -3420,20 +3391,19 @@ class GroupManagement extends LitElement { const myKickMemberDialog1 = get("managegroup.mg60") const myKickMemberDialog2 = get("managegroup.mg61") - let myTxnrequest = await parentEpml.request('transaction', { - type: 28, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - recipient: myMember, - rGroupId: myGroupId, - rBanReason: myReason, - lastReference: myLastRef, - kickMemberDialog1: myKickMemberDialog1, - kickMemberDialog2: myKickMemberDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 28, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + recipient: myMember, + rGroupId: myGroupId, + rBanReason: myReason, + lastReference: myLastRef, + kickMemberDialog1: myKickMemberDialog1, + kickMemberDialog2: myKickMemberDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3457,7 +3427,7 @@ class GroupManagement extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } async addGroupAdmin(groupId) { @@ -3468,11 +3438,10 @@ class GroupManagement extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -3489,19 +3458,18 @@ class GroupManagement extends LitElement { const myAddAdminDialog1 = get("managegroup.mg11") const myAddAdminDialog2 = get("managegroup.mg12") - let myTxnrequest = await parentEpml.request('transaction', { - type: 24, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - recipient: myMember, - rGroupId: myGroupId, - lastReference: myLastRef, - addAdminDialog1: myAddAdminDialog1, - addAdminDialog2: myAddAdminDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 24, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + recipient: myMember, + rGroupId: myGroupId, + lastReference: myLastRef, + addAdminDialog1: myAddAdminDialog1, + addAdminDialog2: myAddAdminDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3524,7 +3492,7 @@ class GroupManagement extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } async kickGroupMember(groupId) { @@ -3536,11 +3504,10 @@ class GroupManagement extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -3558,20 +3525,19 @@ class GroupManagement extends LitElement { const myKickMemberDialog1 = get("managegroup.mg33") const myKickMemberDialog2 = get("managegroup.mg34") - let myTxnrequest = await parentEpml.request('transaction', { - type: 28, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - recipient: myMember, - rGroupId: myGroupId, - rBanReason: myReason, - lastReference: myLastRef, - kickMemberDialog1: myKickMemberDialog1, - kickMemberDialog2: myKickMemberDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 28, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + recipient: myMember, + rGroupId: myGroupId, + rBanReason: myReason, + lastReference: myLastRef, + kickMemberDialog1: myKickMemberDialog1, + kickMemberDialog2: myKickMemberDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3605,7 +3571,7 @@ class GroupManagement extends LitElement { this.isLoading = false } else { this.error = false - validateReceiver() + await validateReceiver() } } @@ -3617,11 +3583,10 @@ class GroupManagement extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -3639,19 +3604,18 @@ class GroupManagement extends LitElement { const myKickAdminDialog1 = get("managegroup.mg15") const myKickAdminDialog2 = get("managegroup.mg16") - let myTxnrequest = await parentEpml.request('transaction', { - type: 25, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - recipient: myKickAdmin, - rGroupId: myGroupId, - lastReference: myLastRef, - kickAdminDialog1: myKickAdminDialog1, - kickAdminDialog2: myKickAdminDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 25, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + recipient: myKickAdmin, + rGroupId: myGroupId, + lastReference: myLastRef, + kickAdminDialog1: myKickAdminDialog1, + kickAdminDialog2: myKickAdminDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -3674,13 +3638,12 @@ class GroupManagement extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - let apiKey = myNode.apiKey - return apiKey + return myNode.apiKey } isEmptyArray(arr) { diff --git a/plugins/plugins/core/group-management/group-transaction/group-transaction.src.js b/plugins/plugins/core/group-management/group-transaction/group-transaction.src.js index fec02327..6fe47a15 100644 --- a/plugins/plugins/core/group-management/group-transaction/group-transaction.src.js +++ b/plugins/plugins/core/group-management/group-transaction/group-transaction.src.js @@ -134,8 +134,7 @@ class GroupTransaction extends LitElement { let tempUrl = document.location.href let decodeTempUrl = decodeURI(tempUrl) let splitedUrl = decodeTempUrl.split('?') - let myGroupId = splitedUrl[1] - this.addMintingAccountMessage = myGroupId + this.addMintingAccountMessage = splitedUrl[1] } getGroupIdFromURL() diff --git a/plugins/plugins/core/messaging/q-chat/q-chat.src.js b/plugins/plugins/core/messaging/q-chat/q-chat.src.js index 86f956d4..202f2cbf 100644 --- a/plugins/plugins/core/messaging/q-chat/q-chat.src.js +++ b/plugins/plugins/core/messaging/q-chat/q-chat.src.js @@ -425,10 +425,9 @@ class Chat extends LitElement { this.getLocalBlockedList() const getBlockedUsers = async () => { - let blockedUsers = await parentEpml.request('apiCall', { + this.blockedUsers = await parentEpml.request('apiCall', { url: `/lists/blockedAddresses?apiKey=${this.getApiKey()}` }) - this.blockedUsers = blockedUsers setTimeout(getBlockedUsers, 60000) } @@ -516,7 +515,7 @@ class Chat extends LitElement { const name = sideEffectAction.data.name const address = sideEffectAction.data.address if(this.chatHeadsObj.direct && this.chatHeadsObj.direct.find(item=> item.address === address)){ - this.setActiveChatHeadUrl(`direct/${address}`) + await this.setActiveChatHeadUrl(`direct/${address}`) window.parent.reduxStore.dispatch( window.parent.reduxAction.setSideEffectAction(null)) } else { @@ -601,7 +600,7 @@ class Chat extends LitElement { version: 3 } const stringifyMessageObject = JSON.stringify(messageObject) - this.sendMessage(stringifyMessageObject) + await this.sendMessage(stringifyMessageObject) } } @@ -654,7 +653,7 @@ class Chat extends LitElement { } else if (addressPublicKey !== false) { isEncrypted = 1 _publicKey = addressPublicKey - sendMessageRequest(isEncrypted, _publicKey) + await sendMessageRequest(isEncrypted, _publicKey) } else { let err4string = get("chatpage.cchange39") parentEpml.request('showSnackBar', `${err4string}`) @@ -680,7 +679,7 @@ class Chat extends LitElement { isText: 1 } }) - _computePow(chatResponse) + await _computePow(chatResponse) } const _computePow = async (chatBytes) => { @@ -723,7 +722,7 @@ class Chat extends LitElement { this.isLoading = false } // Exec.. - getAddressPublicKey() + await getAddressPublicKey() } insertImage(file) { @@ -807,10 +806,9 @@ class Chat extends LitElement { async getPendingGroupInvites() { const myAddress = window.parent.reduxStore.getState().app.selectedAddress.address try { - let pendingGroupInvites = await parentEpml.request('apiCall', { + this.groupInvites = await parentEpml.request('apiCall', { url: `/groups/invites/${myAddress}` - }) - this.groupInvites = pendingGroupInvites; + }); } catch (error) { let err4string = get("chatpage.cchange61"); parentEpml.request('showSnackBar', `${err4string}`) @@ -938,7 +936,7 @@ class Chat extends LitElement { getChatHeadFromState(chatObj) { if (chatObj === undefined) { - return + } else { this.chatHeadsObj = chatObj this.setChatHeads(chatObj) @@ -960,8 +958,7 @@ class Chat extends LitElement { getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - let apiKey = myNode.apiKey - return apiKey + return myNode.apiKey } scrollToBottom() { @@ -986,4 +983,4 @@ class Chat extends LitElement { } } -window.customElements.define('q-chat', Chat) \ No newline at end of file +window.customElements.define('q-chat', Chat) diff --git a/plugins/plugins/core/minting/minting-info.src.js b/plugins/plugins/core/minting/minting-info.src.js index 9790b268..f541a9de 100644 --- a/plugins/plugins/core/minting/minting-info.src.js +++ b/plugins/plugins/core/minting/minting-info.src.js @@ -1,7 +1,7 @@ import {css, html, LitElement} from 'lit' import {Epml} from '../../../epml.js' import isElectron from 'is-electron' -import {registerTranslateConfig, translate, use} from '../../../../core/translate/index.js' +import {registerTranslateConfig, translate, use} from '../../../../core/translate' import '@material/mwc-icon' import '@material/mwc-button' import '@material/mwc-dialog' @@ -441,10 +441,9 @@ class MintingInfo extends LitElement { } async getAddressLevel() { - const callLevels = await parentEpml.request('apiCall', { - url: `/addresses/online/levels` - }) - this.addressLevel = callLevels + this.addressLevel = await parentEpml.request('apiCall', { + url: `/addresses/online/levels` + }) this.tier4Online = parseFloat(this.addressLevel[7].count) + parseFloat(this.addressLevel[8].count) } diff --git a/plugins/plugins/core/name-registration/name-registration.src.js b/plugins/plugins/core/name-registration/name-registration.src.js index 69aac944..426d8b29 100644 --- a/plugins/plugins/core/name-registration/name-registration.src.js +++ b/plugins/plugins/core/name-registration/name-registration.src.js @@ -1,7 +1,7 @@ import {css, html, LitElement} from 'lit' import {render} from 'lit/html.js' import {Epml} from '../../../epml.js' -import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js' +import {get, registerTranslateConfig, translate, use} from '../../../../core/translate' import isElectron from 'is-electron' import '@material/mwc-button' import '@material/mwc-dialog' @@ -898,8 +898,7 @@ class NameRegistration extends LitElement { getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - let apiKey = myNode.apiKey - return apiKey + return myNode.apiKey } async registerName(e) { @@ -914,20 +913,18 @@ class NameRegistration extends LitElement { // Get Last Ref const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) }; // Get Account Details const validateName = async () => { - let isValid = await parentEpml.request('apiCall', { - type: 'api', - url: `/names/${nameInput}` - }) - return isValid + return await parentEpml.request('apiCall', { + type: 'api', + url: `/names/${nameInput}` + }) }; const validateReceiver = async () => { @@ -949,19 +946,18 @@ class NameRegistration extends LitElement { const makeTransactionRequest = async (lastRef) => { let dialogyou = get("transactions.namedialog1") let dialogonpress = get("transactions.namedialog2") - let myTxnrequest = await parentEpml.request('transaction', { - type: 3, - nonce: this.selectedAddress.nonce, - params: { - fee: feeInput, - name: nameInput, - value: descInput, - lastReference: lastRef, - dialogyou: dialogyou, - dialogonpress: dialogonpress, - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 3, + nonce: this.selectedAddress.nonce, + params: { + fee: feeInput, + name: nameInput, + value: descInput, + lastReference: lastRef, + dialogyou: dialogyou, + dialogonpress: dialogonpress, + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -979,7 +975,7 @@ class NameRegistration extends LitElement { } } - validateReceiver() + await validateReceiver() this.registerNameLoading = false } @@ -994,20 +990,18 @@ class NameRegistration extends LitElement { // Get Last Ref const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } // Get Account Details const validateName = async () => { - let isValid = await parentEpml.request('apiCall', { - type: 'api', - url: `/names/${newNameInput}` - }) - return isValid + return await parentEpml.request('apiCall', { + type: 'api', + url: `/names/${newNameInput}` + }) } const validateReceiver = async () => { @@ -1035,21 +1029,20 @@ class NameRegistration extends LitElement { let dialogUpdateName1 = get("registernamepage.nchange43") let dialogUpdateName2 = get("registernamepage.nchange44") let dialogUpdateName3 = get("registernamepage.nchange45") - let myTxnrequest = await parentEpml.request('transaction', { - type: 4, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - name: myOldName, - newName: myNewName, - newData: myNewDesc, - lastReference: myLastRef, - dialogUpdateName1: dialogUpdateName1, - dialogUpdateName2: dialogUpdateName2, - dialogUpdateName3: dialogUpdateName3 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 4, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + name: myOldName, + newName: myNewName, + newData: myNewDesc, + lastReference: myLastRef, + dialogUpdateName1: dialogUpdateName1, + dialogUpdateName2: dialogUpdateName2, + dialogUpdateName3: dialogUpdateName3 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -1067,7 +1060,7 @@ class NameRegistration extends LitElement { } } - validateReceiver() + await validateReceiver() } async createSellName() { @@ -1078,11 +1071,10 @@ class NameRegistration extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -1100,20 +1092,19 @@ class NameRegistration extends LitElement { const mySellNameDialog2 = get("registernamepage.nchange27") const mySellNameDialog3 = get("registernamepage.nchange28") - let myTxnrequest = await parentEpml.request('transaction', { - type: 5, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - name: myName, - sellPrice: myPrice, - lastReference: myLastRef, - sellNameDialog1: mySellNameDialog1, - sellNameDialog2: mySellNameDialog2, - sellNameDialog3: mySellNameDialog3 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 5, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + name: myName, + sellPrice: myPrice, + lastReference: myLastRef, + sellNameDialog1: mySellNameDialog1, + sellNameDialog2: mySellNameDialog2, + sellNameDialog3: mySellNameDialog3 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -1138,7 +1129,7 @@ class NameRegistration extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } async createCancelSellName() { @@ -1148,11 +1139,10 @@ class NameRegistration extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -1168,18 +1158,17 @@ class NameRegistration extends LitElement { const myCancelSellNameDialog1 = get("registernamepage.nchange30") const myCancelSellNameDialog2 = get("registernamepage.nchange31") - let myTxnrequest = await parentEpml.request('transaction', { - type: 6, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - name: myName, - lastReference: myLastRef, - cancelSellNameDialog1: myCancelSellNameDialog1, - cancelSellNameDialog2: myCancelSellNameDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 6, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + name: myName, + lastReference: myLastRef, + cancelSellNameDialog1: myCancelSellNameDialog1, + cancelSellNameDialog2: myCancelSellNameDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -1202,12 +1191,11 @@ class NameRegistration extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } round(number) { - let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) - return result + return (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) } isEmptyArray(arr) { diff --git a/plugins/plugins/core/names-market/names-market.src.js b/plugins/plugins/core/names-market/names-market.src.js index c23f0f9a..8730b4a3 100644 --- a/plugins/plugins/core/names-market/names-market.src.js +++ b/plugins/plugins/core/names-market/names-market.src.js @@ -1,7 +1,7 @@ import {css, html, LitElement} from 'lit' import {render} from 'lit/html.js' import {Epml} from '../../../epml.js' -import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js' +import {get, registerTranslateConfig, translate, use} from '../../../../core/translate' import isElectron from 'is-electron' import '../components/qortal-info-view.js' import '@material/mwc-button' @@ -580,7 +580,7 @@ class NamesMarket extends LitElement { }).then(res => { this.marketSellNames = res }) - this.updatePageSize() + await this.updatePageSize() this.isLoading = false setTimeout(fetchMarketSellNames, 180000) } @@ -592,7 +592,7 @@ class NamesMarket extends LitElement { }).then(res => { this.marketSoldNames = res }) - this.updatePageSoldSize() + await this.updatePageSoldSize() this.isLoading = false setTimeout(fetchMarketSoldNames, 300000) } @@ -1053,8 +1053,7 @@ class NamesMarket extends LitElement { getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - let apiKey = myNode.apiKey - return apiKey + return myNode.apiKey } async createCancelSellName() { @@ -1064,11 +1063,10 @@ class NamesMarket extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -1084,18 +1082,17 @@ class NamesMarket extends LitElement { const myCancelSellNameDialog1 = get("registernamepage.nchange30") const myCancelSellNameDialog2 = get("registernamepage.nchange31") - let myTxnrequest = await parentEpml.request('transaction', { - type: 6, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - name: myName, - lastReference: myLastRef, - cancelSellNameDialog1: myCancelSellNameDialog1, - cancelSellNameDialog2: myCancelSellNameDialog2 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 6, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + name: myName, + lastReference: myLastRef, + cancelSellNameDialog1: myCancelSellNameDialog1, + cancelSellNameDialog2: myCancelSellNameDialog2 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -1118,7 +1115,7 @@ class NamesMarket extends LitElement { throw new Error(txnResponse) } } - validateReceiver() + await validateReceiver() } createBuyName() { @@ -1130,11 +1127,10 @@ class NamesMarket extends LitElement { this.btnDisable = true const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { - type: 'api', - url: `/addresses/lastreference/${this.selectedAddress.address}` - }) - return myRef + return await parentEpml.request('apiCall', { + type: 'api', + url: `/addresses/lastreference/${this.selectedAddress.address}` + }) } const validateReceiver = async () => { @@ -1153,21 +1149,20 @@ class NamesMarket extends LitElement { const myBuyNameDialog2 = get("registernamepage.nchange27") const myBuyNameDialog3 = get("registernamepage.nchange40") - let myTxnrequest = await parentEpml.request('transaction', { - type: 7, - nonce: this.selectedAddress.nonce, - params: { - fee: myFee, - name: myName, - sellPrice: myPrice, - recipient: mySeller, - lastReference: myLastRef, - buyNameDialog1: myBuyNameDialog1, - buyNameDialog2: myBuyNameDialog2, - buyNameDialog3: myBuyNameDialog3 - } - }) - return myTxnrequest + return await parentEpml.request('transaction', { + type: 7, + nonce: this.selectedAddress.nonce, + params: { + fee: myFee, + name: myName, + sellPrice: myPrice, + recipient: mySeller, + lastReference: myLastRef, + buyNameDialog1: myBuyNameDialog1, + buyNameDialog2: myBuyNameDialog2, + buyNameDialog3: myBuyNameDialog3 + } + }) } const getTxnRequestResponse = (txnResponse) => { @@ -1198,8 +1193,7 @@ class NamesMarket extends LitElement { } round(number) { - let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) - return result + return (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) } isEmptyArray(arr) { diff --git a/plugins/plugins/core/node-management/node-management.src.js b/plugins/plugins/core/node-management/node-management.src.js index 3716c024..57a1ac12 100644 --- a/plugins/plugins/core/node-management/node-management.src.js +++ b/plugins/plugins/core/node-management/node-management.src.js @@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit' import {render} from 'lit/html.js' import {Epml} from '../../../epml.js' import isElectron from 'is-electron' -import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js' +import {get, registerTranslateConfig, translate, use} from '../../../../core/translate' import '@polymer/paper-spinner/paper-spinner-lite.js' import '@material/mwc-icon' import '@material/mwc-textfield' @@ -581,8 +581,7 @@ class NodeManagement extends LitElement { getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - let apiKey = myNode.apiKey - return apiKey + return myNode.apiKey } isEmptyArray(arr) { diff --git a/plugins/plugins/core/overview-page/overview-page-css.js b/plugins/plugins/core/overview-page/overview-page-css.js index 2e3ef30f..e619ae67 100644 --- a/plugins/plugins/core/overview-page/overview-page-css.js +++ b/plugins/plugins/core/overview-page/overview-page-css.js @@ -522,7 +522,7 @@ button.bg-default:focus { page-break-after: avoid; } - @ page { + @page { size: a3; } } @@ -664,7 +664,7 @@ button.bg-default:focus { } @media (min-width: 768px) { - @ keyframes show-navbar-dropdown { + @keyframes show-navbar-dropdown { 0% { transition: visibility .25s, opacity .25s, transform .25s; transform: translate(0, 10px) perspective(200px) rotateX(-2deg); diff --git a/plugins/plugins/core/overview-page/overview-page.src.js b/plugins/plugins/core/overview-page/overview-page.src.js index 6592a09f..11baf6f3 100644 --- a/plugins/plugins/core/overview-page/overview-page.src.js +++ b/plugins/plugins/core/overview-page/overview-page.src.js @@ -1,6 +1,6 @@ import {css, html, LitElement} from 'lit' import {Epml} from '../../../epml.js' -import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js' +import {get, registerTranslateConfig, translate, use} from '../../../../core/translate' import {overviewStyle} from './overview-page-css.js' import {asyncReplace} from 'lit/directives/async-replace.js' import isElectron from 'is-electron' @@ -146,9 +146,9 @@ class OverviewPage extends LitElement { this.nodeConfig = window.parent.reduxStore.getState().app.nodeConfig this.accountInfo = window.parent.reduxStore.getState().app.accountInfo - this.getNodeInfo() - this.getCoreInfo() - this.getBalanceInfo() + await this.getNodeInfo() + await this.getCoreInfo() + await this.getBalanceInfo() await this.getMintingKeysList() window.addEventListener('storage', () => { @@ -223,9 +223,9 @@ class OverviewPage extends LitElement { async refreshItems() { this.nodeConfig = window.parent.reduxStore.getState().app.nodeConfig this.accountInfo = window.parent.reduxStore.getState().app.accountInfo - this.getNodeInfo() - this.getCoreInfo() - this.getBalanceInfo() + await this.getNodeInfo() + await this.getCoreInfo() + await this.getBalanceInfo() await this.getMintingKeysList() } @@ -238,8 +238,7 @@ class OverviewPage extends LitElement { try { const res = await fetch(statusUrl) - const listAccounts = await res.json() - this.listAccounts = listAccounts + this.listAccounts = await res.json() const addressInfo = window.parent.reduxStore.getState().app.accountInfo.addressInfo const address = window.parent.reduxStore.getState().app.selectedAddress.address @@ -247,17 +246,9 @@ class OverviewPage extends LitElement { const findMyMintingRecipient = this.listAccounts.find((myKey) => myKey.recipientAccount === address) const findRemovedSponsorsKey = this.listAccounts.filter((my) => my.address) - if (findMyMintingAccount === undefined) { - this.check1 = false - } else { - this.check1 = true - } + this.check1 = findMyMintingAccount !== undefined; - if (findMyMintingRecipient === undefined) { - this.check2 = false - } else { - this.check2 = true - } + this.check2 = findMyMintingRecipient !== undefined; if (findRemovedSponsorsKey.length > 0) { this.removeBlankKey(findRemovedSponsorsKey.publicKey) @@ -367,8 +358,7 @@ class OverviewPage extends LitElement { getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - let apiKey = myNode.apiKey - return apiKey + return myNode.apiKey } } window.customElements.define('overview-page', OverviewPage) @@ -558,8 +548,7 @@ class StartMintingNow extends LitElement { const url = `${nodeUrl}/admin/mintingaccounts` try { const res = await fetch(url) - const mintingAccountData = await res.json() - this.mintingAccountData = mintingAccountData + this.mintingAccountData = await res.json() } catch (error) { this.errorMsg = this.renderErrorMsg1() } @@ -608,10 +597,10 @@ class StartMintingNow extends LitElement { let snack1 = get('becomeMinterPage.bchange19') parentEpml.request('showSnackBar', `${snack1}`) this.status = 5 - this.getMintingAcccounts() + await this.getMintingAcccounts() } catch (error) { this.errorMsg = this.renderErrorMsg3() - return + } } @@ -626,8 +615,7 @@ class StartMintingNow extends LitElement { const rewardShares = async (minterAddr) => { const url = `${nodeUrl}/addresses/rewardshares?minters=${minterAddr}&recipients=${minterAddr}` const res = await fetch(url) - const data = await res.json() - return data + return await res.json() } if (!stop) { @@ -667,7 +655,7 @@ class StartMintingNow extends LitElement { let rewarddialog3 = get('transactions.rewarddialog3') let rewarddialog4 = get('transactions.rewarddialog4') - let myTxnrequest = await parentEpml.request('transaction', { + return await parentEpml.request('transaction', { type: 38, nonce: nonce, params: { @@ -681,7 +669,6 @@ class StartMintingNow extends LitElement { }, disableModal: true }) - return myTxnrequest } const getTxnRequestResponse = (txnResponse) => { @@ -709,11 +696,10 @@ class StartMintingNow extends LitElement { } const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { + return await parentEpml.request('apiCall', { type: 'api', url: `/addresses/lastreference/${address}` }) - return myRef } const startMinting = async () => { @@ -729,10 +715,10 @@ class StartMintingNow extends LitElement { try { this.privateRewardShareKey = await createSponsorshipKey() - this.confirmRelationship(publicAddress) + await this.confirmRelationship(publicAddress) } catch (error) { this.errorMsg = error.data.message || this.renderErrorMsg4() - return + } } diff --git a/plugins/plugins/core/puzzles/puzzles.src.js b/plugins/plugins/core/puzzles/puzzles.src.js index d979bb0f..cc78269f 100644 --- a/plugins/plugins/core/puzzles/puzzles.src.js +++ b/plugins/plugins/core/puzzles/puzzles.src.js @@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit' import {render} from 'lit/html.js' import {Epml} from '../../../epml.js' import isElectron from 'is-electron' -import {registerTranslateConfig, translate, use} from '../../../../core/translate/index.js' +import {registerTranslateConfig, translate, use} from '../../../../core/translate' import nacl from '../../../../crypto/api/deps/nacl-fast.js' import Base58 from '../../../../crypto/api/deps/Base58.js' import publicKeyToAddress from '../../../../crypto/api/wallet/publicKeyToAddress.js' @@ -426,10 +426,9 @@ class Puzzles extends LitElement { // Get Last Ref const getLastRef = async (address) => { - let myRef = await parentEpml.request('apiCall', { - url: `/addresses/lastreference/${address}` - }) - return myRef + return await parentEpml.request('apiCall', { + url: `/addresses/lastreference/${address}` + }) } let lastRef = await getLastRef(_guessAddress) diff --git a/plugins/plugins/core/q-app/q-apps.src.js b/plugins/plugins/core/q-app/q-apps.src.js index 64241b73..593f508f 100644 --- a/plugins/plugins/core/q-app/q-apps.src.js +++ b/plugins/plugins/core/q-app/q-apps.src.js @@ -1,7 +1,6 @@ import {css, html, LitElement} from 'lit' -import {render} from 'lit/html.js' import {Epml} from '../../../epml.js' -import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js' +import {get, registerTranslateConfig, translate, use} from '../../../../core/translate' import isElectron from 'is-electron' import '@polymer/paper-spinner/paper-spinner-lite.js' import '@polymer/paper-dialog/paper-dialog.js' @@ -726,28 +725,23 @@ class QApps extends LitElement { }, 0) const getFollowedNames = async () => { - const followedNames = await parentEpml.request('apiCall', { - url: `/lists/followedNames?apiKey=${this.getApiKey()}` - }) - - this.followedNames = followedNames + this.followedNames = await parentEpml.request('apiCall', { + url: `/lists/followedNames?apiKey=${this.getApiKey()}` + }) setTimeout(getFollowedNames, 60000) } const getBlockedNames = async () => { - const blockedNames = await parentEpml.request('apiCall', { - url: `/lists/blockedNames?apiKey=${this.getApiKey()}` - }) - this.blockedNames = blockedNames + this.blockedNames = await parentEpml.request('apiCall', { + url: `/lists/blockedNames?apiKey=${this.getApiKey()}` + }) setTimeout(getBlockedNames, 60000) } const getRelayMode = async () => { - const relayMode = await parentEpml.request('apiCall', { - url: `/arbitrary/relaymode?apiKey=${this.getApiKey()}` - }) - - this.relayMode = relayMode + this.relayMode = await parentEpml.request('apiCall', { + url: `/arbitrary/relaymode?apiKey=${this.getApiKey()}` + }) setTimeout(getRelayMode, 600000) } @@ -858,10 +852,9 @@ class QApps extends LitElement { getAppsArrayData = async () => { this.isLoading = true this.appsArray = [] - const appsArrayRes = await parentEpml.request('apiCall', { - url: `/arbitrary/resources?service=APP&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&excludeblocked=true` - }) - this.appsArray = appsArrayRes + this.appsArray = await parentEpml.request('apiCall', { + url: `/arbitrary/resources?service=APP&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&excludeblocked=true` + }) this.isLoading = false this.renderAppGrid() } @@ -950,19 +943,17 @@ class QApps extends LitElement { getFollowedNamesRefresh = async () => { this.isLoading = true - const followedNamesRes = await parentEpml.request('apiCall', { - url: `/lists/followedNames?apiKey=${this.getApiKey()}` - }) - this.followedNames = followedNamesRes + this.followedNames = await parentEpml.request('apiCall', { + url: `/lists/followedNames?apiKey=${this.getApiKey()}` + }) this.isLoading = false } getFollowedNamesResource = async () => { this.isLoading = true - const followedResourcesRes = await parentEpml.request('apiCall', { - url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=followedNames` - }) - this.followedResources = followedResourcesRes + this.followedResources = await parentEpml.request('apiCall', { + url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=followedNames` + }) this.isLoading = false this.renderFollowedAppsGrid() } @@ -1051,20 +1042,18 @@ class QApps extends LitElement { getBlockedNamesRefresh = async () => { this.isLoading = true - const blockedNamesRes = await parentEpml.request('apiCall', { - url: `/lists/blockedNames?apiKey=${this.getApiKey()}` - }) - this.blockedNames = blockedNamesRes + this.blockedNames = await parentEpml.request('apiCall', { + url: `/lists/blockedNames?apiKey=${this.getApiKey()}` + }) this.isLoading = false } getBlockedNamesResource = async () => { this.isLoading = true this.blockedResources = [] - const blockedResourcesRes = await parentEpml.request('apiCall', { - url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=blockedNames` - }) - this.blockedResources = blockedResourcesRes + this.blockedResources = await parentEpml.request('apiCall', { + url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=blockedNames` + }) this.isLoading = false this.renderBlockedAppsGrid() } @@ -1410,9 +1399,9 @@ class QApps extends LitElement { this.textProgress = '' this.shadowRoot.getElementById('downloadProgressDialog').close() this.closeAppInfoDialog() - this.getAppsArrayData() - this.getFollowedNamesRefresh() - this.getFollowedNamesResource() + await this.getAppsArrayData() + await this.getFollowedNamesRefresh() + await this.getFollowedNamesResource() this.updateComplete.then(() => this.requestUpdate()) } else if (status.id === "BUILDING") { this.textProgress = '' @@ -1478,8 +1467,8 @@ class QApps extends LitElement { this.followedNames = this.followedNames.filter(item => item != name) this.followedNames.push(name) this.closeAppInfoDialog() - this.getFollowedNamesRefresh() - this.getFollowedNamesResource() + await this.getFollowedNamesRefresh() + await this.getFollowedNamesResource() } else { let err3string = get("appspage.schange22") parentEpml.request('showSnackBar', `${err3string}`) @@ -1506,8 +1495,8 @@ class QApps extends LitElement { if (ret === true) { this.followedNames = this.followedNames.filter(item => item != name) this.closeAppInfoDialog() - this.getFollowedNamesRefresh() - this.getFollowedNamesResource() + await this.getFollowedNamesRefresh() + await this.getFollowedNamesResource() } else { let err4string = get("appspage.schange23") parentEpml.request('showSnackBar', `${err4string}`) @@ -1535,9 +1524,9 @@ class QApps extends LitElement { this.blockedNames = this.blockedNames.filter(item => item != name) this.blockedNames.push(name) this.closeAppInfoDialog() - this.getAppsArrayData() - this.getBlockedNamesRefresh() - this.getBlockedNamesResource() + await this.getAppsArrayData() + await this.getBlockedNamesRefresh() + await this.getBlockedNamesResource() } else { let err5string = get("appspage.schange24") parentEpml.request('showSnackBar', `${err5string}`) @@ -1564,8 +1553,8 @@ class QApps extends LitElement { if (ret === true) { this.blockedNames = this.blockedNames.filter(item => item != name) this.closeBlockedInfoDialog() - this.getBlockedNamesRefresh() - this.getBlockedNamesResource() + await this.getBlockedNamesRefresh() + await this.getBlockedNamesResource() } else { let err6string = get("appspage.schange25") parentEpml.request('showSnackBar', `${err6string}`) @@ -1590,8 +1579,7 @@ class QApps extends LitElement { getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - let apiKey = myNode.apiKey - return apiKey + return myNode.apiKey } isEmptyArray(arr) { diff --git a/plugins/plugins/core/qdn/browser/browser.src.js b/plugins/plugins/core/qdn/browser/browser.src.js index c1701d82..8e9828cc 100644 --- a/plugins/plugins/core/qdn/browser/browser.src.js +++ b/plugins/plugins/core/qdn/browser/browser.src.js @@ -1,7 +1,7 @@ -import { css, html, LitElement } from 'lit' -import { Epml } from '../../../../epml' +import {css, html, LitElement} from 'lit' +import {Epml} from '../../../../epml' import isElectron from 'is-electron' -import { get, registerTranslateConfig, translate, use } from '../../../../../core/translate/index.js' +import {get, registerTranslateConfig, translate, use} from '../../../../../core/translate' import ShortUniqueId from 'short-unique-id'; import FileSaver from 'file-saver' import * as actions from '../../components/qdn-action-types' @@ -10,10 +10,10 @@ import '@material/mwc-icon' import '@material/mwc-checkbox' import WebWorker from 'web-worker:./computePowWorkerFile.src.js' import WebWorkerChat from 'web-worker:./computePowWorker.src.js' -import { publishData } from '../../../utils/publish-image.js' -import { Loader } from '../../../utils/loader.js'; -import { QORT_DECIMALS } from '../../../../../crypto/api/constants' -import { mimeToExtensionMap } from '../../components/qdn-action-constants'; +import {publishData} from '../../../utils/publish-image.js' +import {Loader} from '../../../utils/loader.js'; +import {QORT_DECIMALS} from '../../../../../crypto/api/constants' +import {mimeToExtensionMap} from '../../components/qdn-action-constants'; import { base64ToUint8Array, decryptDeprecatedSingle, @@ -177,11 +177,9 @@ class WebBrowser extends LitElement { this.displayUrl = displayUrl const getFollowedNames = async () => { - let followedNames = await parentEpml.request('apiCall', { + this.followedNames = await parentEpml.request('apiCall', { url: `/lists/followedNames?apiKey=${this.getApiKey()}`, }) - - this.followedNames = followedNames setTimeout( getFollowedNames, this.config.user.nodeSettings.pingInterval @@ -189,11 +187,9 @@ class WebBrowser extends LitElement { } const getBlockedNames = async () => { - let blockedNames = await parentEpml.request('apiCall', { + this.blockedNames = await parentEpml.request('apiCall', { url: `/lists/blockedNames?apiKey=${this.getApiKey()}`, }) - - this.blockedNames = blockedNames setTimeout( getBlockedNames, this.config.user.nodeSettings.pingInterval @@ -299,8 +295,7 @@ class WebBrowser extends LitElement { async _handleKeyDown(e) { if (e.key === 'Enter') { - const value = e.target.value - let newQuery = value + let newQuery = e.target.value if (newQuery.endsWith('/')) { newQuery = newQuery.slice(0, -1) } @@ -323,8 +318,7 @@ class WebBrowser extends LitElement { async linkOpenNewTab(link) { - const value = link - let newQuery = value + let newQuery = link if (newQuery.endsWith('/')) { newQuery = newQuery.slice(0, -1) } @@ -449,8 +443,7 @@ class WebBrowser extends LitElement { } const data = await response.json() - const joinFee = (Number(data) / 1e8).toFixed(8) - return joinFee + return (Number(data) / 1e8).toFixed(8) } async deployAtFee() { @@ -463,8 +456,7 @@ class WebBrowser extends LitElement { } const data = await response.json() - const joinFee = (Number(data) / 1e8).toFixed(8) - return joinFee + return (Number(data) / 1e8).toFixed(8) } async getArbitraryFee() { @@ -494,8 +486,7 @@ class WebBrowser extends LitElement { } const data = await response.json() - const qortFee = (Number(data) / 1e8).toFixed(8) - return qortFee + return (Number(data) / 1e8).toFixed(8) } async unitVoteFee() { @@ -508,8 +499,7 @@ class WebBrowser extends LitElement { } const data = await response.json() - const joinFee = (Number(data) / 1e8).toFixed(8) - return joinFee + return (Number(data) / 1e8).toFixed(8) } async unitCreatePollFee() { @@ -522,31 +512,28 @@ class WebBrowser extends LitElement { } const data = await response.json() - const joinFee = (Number(data) / 1e8).toFixed(8) - return joinFee + return (Number(data) / 1e8).toFixed(8) } async _joinGroup(groupId, groupName) { const joinFeeInput = await this.unitJoinFee() const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { + return await parentEpml.request('apiCall', { type: 'api', url: `/addresses/lastreference/${this.selectedAddress.address}` }) - return myRef } const validateReceiver = async () => { let lastRef = await getLastRef() let myTransaction = await makeTransactionRequest(lastRef) - const res = getTxnRequestResponse(myTransaction) - return res + return getTxnRequestResponse(myTransaction) } const makeTransactionRequest = async (lastRef) => { let groupdialog1 = get("transactions.groupdialog1") let groupdialog2 = get("transactions.groupdialog2") - let myTxnrequest = await parentEpml.request('transaction', { + return await parentEpml.request('transaction', { type: 31, nonce: this.selectedAddress.nonce, params: { @@ -560,7 +547,6 @@ class WebBrowser extends LitElement { }, apiVersion: 2 }) - return myTxnrequest } const getTxnRequestResponse = (txnResponse) => { @@ -574,26 +560,23 @@ class WebBrowser extends LitElement { throw new Error('Server error. Could not perform action.') } } - const groupRes = await validateReceiver() - return groupRes + return await validateReceiver() } async _deployAt(name, description, tags, creationBytes, amount, assetId, atType) { const deployAtFee = await this.deployAtFee() const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { + return await parentEpml.request('apiCall', { type: 'api', url: `/addresses/lastreference/${this.selectedAddress.address}` }) - return myRef } const validateReceiver = async () => { let lastRef = await getLastRef() let myTransaction = await makeTransactionRequest(lastRef) - const res = getTxnRequestResponse(myTransaction) - return res + return getTxnRequestResponse(myTransaction) } const makeTransactionRequest = async (lastRef) => { @@ -601,7 +584,7 @@ class WebBrowser extends LitElement { let deployAtdialog2 = get("transactions.deployAtdialog2") let deployAtdialog3 = get("transactions.deployAtdialog3") let deployAtdialog4 = get("walletpage.wchange12") - let myTxnrequest = await parentEpml.request('transaction', { + return await parentEpml.request('transaction', { type: 16, nonce: this.selectedAddress.nonce, params: { @@ -621,7 +604,6 @@ class WebBrowser extends LitElement { }, apiVersion: 2 }) - return myTxnrequest } const getTxnRequestResponse = (txnResponse) => { @@ -635,26 +617,23 @@ class WebBrowser extends LitElement { throw new Error('Server error. Could not perform action.') } } - const groupRes = await validateReceiver() - return groupRes + return await validateReceiver() } async _voteOnPoll(pollName, optionIndex) { const voteFeeInput = await this.unitVoteFee() const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { + return await parentEpml.request('apiCall', { type: 'api', url: `/addresses/lastreference/${this.selectedAddress.address}` }) - return myRef } const validateReceiver = async () => { let lastRef = await getLastRef() let myTransaction = await makeTransactionRequest(lastRef) - const res = getTxnRequestResponse(myTransaction) - return res + return getTxnRequestResponse(myTransaction) } const makeTransactionRequest = async (lastRef) => { @@ -662,7 +641,7 @@ class WebBrowser extends LitElement { let votedialog2 = get("transactions.votedialog2") let feeDialog = get("walletpage.wchange12") - let myTxnrequest = await parentEpml.request('transaction', { + return await parentEpml.request('transaction', { type: 9, nonce: this.selectedAddress.nonce, params: { @@ -677,7 +656,6 @@ class WebBrowser extends LitElement { }, apiVersion: 2 }) - return myTxnrequest } const getTxnRequestResponse = (txnResponse) => { @@ -691,26 +669,23 @@ class WebBrowser extends LitElement { throw new Error('Server error. Could not perform action.') } } - const voteRes = await validateReceiver() - return voteRes + return await validateReceiver() } async _createPoll(pollName, pollDescription, options, pollOwnerAddress) { const voteFeeInput = await this.unitCreatePollFee() const getLastRef = async () => { - let myRef = await parentEpml.request('apiCall', { + return await parentEpml.request('apiCall', { type: 'api', url: `/addresses/lastreference/${this.selectedAddress.address}` }) - return myRef } const validateReceiver = async () => { let lastRef = await getLastRef() let myTransaction = await makeTransactionRequest(lastRef) - const res = getTxnRequestResponse(myTransaction) - return res + return getTxnRequestResponse(myTransaction) } const makeTransactionRequest = async (lastRef) => { @@ -720,7 +695,7 @@ class WebBrowser extends LitElement { let votedialog6 = get("transactions.votedialog6") let feeDialog = get("walletpage.wchange12") - let myTxnrequest = await parentEpml.request('transaction', { + return await parentEpml.request('transaction', { type: 8, nonce: this.selectedAddress.nonce, params: { @@ -738,7 +713,6 @@ class WebBrowser extends LitElement { }, apiVersion: 2 }) - return myTxnrequest } const getTxnRequestResponse = (txnResponse) => { @@ -752,8 +726,7 @@ class WebBrowser extends LitElement { throw new Error('Server error. Could not perform action.') } } - const voteRes = await validateReceiver() - return voteRes + return await validateReceiver() } @@ -829,8 +802,7 @@ class WebBrowser extends LitElement { break } else { const data = {} - const errorMsg = "User declined to share account details" - data['error'] = errorMsg + data['error'] = "User declined to share account details" response = JSON.stringify(data) break } @@ -868,8 +840,7 @@ class WebBrowser extends LitElement { } catch (error) { const data = {} - const errorMsg = error.message || "Error in encrypting data" - data['error'] = errorMsg + data['error'] = error.message || "Error in encrypting data" response = JSON.stringify(data) break } @@ -882,9 +853,7 @@ class WebBrowser extends LitElement { try { let data = {} if (!encryptedData) { - const errorMsg = `Missing fields: encryptedData` - - data['error'] = errorMsg + data['error'] = `Missing fields: encryptedData` response = JSON.stringify(data) break @@ -894,9 +863,7 @@ class WebBrowser extends LitElement { if (startsWithQortalEncryptedData) { if (!publicKey) { - const errorMsg = `Missing fields: publicKey` - - data['error'] = errorMsg + data['error'] = `Missing fields: publicKey` response = JSON.stringify(data) break } @@ -918,15 +885,13 @@ class WebBrowser extends LitElement { } - const errorMsg = "Unable to decrypt" - data['error'] = errorMsg + data['error'] = "Unable to decrypt" response = JSON.stringify(data) break } catch (error) { const data = {} - const errorMsg = error.message || "Error in decrypting data" - data['error'] = errorMsg + data['error'] = error.message || "Error in decrypting data" response = JSON.stringify(data) break } @@ -976,8 +941,7 @@ class WebBrowser extends LitElement { } catch (error) { const data = {} - const errorMsg = "Error in retrieving list" - data['error'] = errorMsg + data['error'] = "Error in retrieving list" response = JSON.stringify(data) } finally { break @@ -985,8 +949,7 @@ class WebBrowser extends LitElement { } else { const data = {} - const errorMsg = "User declined to share list" - data['error'] = errorMsg + data['error'] = "User declined to share list" response = JSON.stringify(data) break } @@ -1028,7 +991,7 @@ class WebBrowser extends LitElement { } const bodyToString = JSON.stringify(body) - const data = await parentEpml.request('apiCall', { + response = await parentEpml.request('apiCall', { type: 'api', method: 'POST', url: `/lists/${list_name}?apiKey=${this.getApiKey()}`, @@ -1037,11 +1000,9 @@ class WebBrowser extends LitElement { 'Content-Type': 'application/json', }, }) - response = data } catch (error) { const data = {} - const errorMsg = "Error in adding to list" - data['error'] = errorMsg + data['error'] = "Error in adding to list" response = JSON.stringify(data) } finally { break @@ -1049,8 +1010,7 @@ class WebBrowser extends LitElement { } else { const data = {} - const errorMsg = "User declined add to list" - data['error'] = errorMsg + data['error'] = "User declined add to list" response = JSON.stringify(data) break } @@ -1093,7 +1053,7 @@ class WebBrowser extends LitElement { const bodyToString = JSON.stringify(body) - const data = await parentEpml.request('apiCall', { + response = await parentEpml.request('apiCall', { type: 'api', method: 'DELETE', url: `/lists/${list_name}?apiKey=${this.getApiKey()}`, @@ -1102,11 +1062,9 @@ class WebBrowser extends LitElement { 'Content-Type': 'application/json', }, }) - response = data } catch (error) { const data = {} - const errorMsg = "Error in adding to list" - data['error'] = errorMsg + data['error'] = "Error in adding to list" response = JSON.stringify(data) } finally { break @@ -1114,8 +1072,7 @@ class WebBrowser extends LitElement { } else { const data = {} - const errorMsg = "User declined add to list" - data['error'] = errorMsg + data['error'] = "User declined add to list" response = JSON.stringify(data) break } @@ -1143,8 +1100,7 @@ class WebBrowser extends LitElement { response = JSON.stringify(list) } catch (error) { const data = {} - const errorMsg = "Error in retrieving friends list" - data['error'] = errorMsg + data['error'] = "Error in retrieving friends list" response = JSON.stringify(data) } @@ -1152,8 +1108,7 @@ class WebBrowser extends LitElement { } else { const data = {} - const errorMsg = "User declined to share friends list" - data['error'] = errorMsg + data['error'] = "User declined to share friends list" response = JSON.stringify(data) break } @@ -1296,8 +1251,7 @@ class WebBrowser extends LitElement { } catch (error) { const obj = {} - const errorMsg = error.message || 'Upload failed due to failed encryption' - obj['error'] = errorMsg + obj['error'] = error.message || 'Upload failed due to failed encryption' response = JSON.stringify(obj) break } @@ -1341,7 +1295,7 @@ class WebBrowser extends LitElement { tag4, tag5, apiVersion: 2, - withFee: res2.userData.isWithFee === true ? true : false, + withFee: res2.userData.isWithFee === true, feeAmount: feeAmount }) @@ -1350,8 +1304,7 @@ class WebBrowser extends LitElement { } catch (error) { worker.terminate() const obj = {} - const errorMsg = error.message || 'Upload failed' - obj['error'] = errorMsg + obj['error'] = error.message || 'Upload failed' response = JSON.stringify(obj) console.error(error) break @@ -1530,7 +1483,7 @@ class WebBrowser extends LitElement { tag4, tag5, apiVersion: 2, - withFee: res2.userData.isWithFee === true ? true : false, + withFee: res2.userData.isWithFee === true, feeAmount: feeAmount }) @@ -1547,7 +1500,6 @@ class WebBrowser extends LitElement { reason: errorMsg, identifier: resource.identifier }) - continue } } catch (error) { @@ -1555,7 +1507,6 @@ class WebBrowser extends LitElement { reason: "Unknown error", identifier: resource.identifier }) - continue } @@ -1565,10 +1516,9 @@ class WebBrowser extends LitElement { if (failedPublishesIdentifiers.length > 0) { response = failedPublishesIdentifiers const obj = {} - const errorMsg = { + obj['error'] = { unsuccessfulPublishes: failedPublishesIdentifiers } - obj['error'] = errorMsg response = JSON.stringify(obj) this.loader.hide() break @@ -1630,8 +1580,7 @@ class WebBrowser extends LitElement { response = JSON.stringify(resVoteOnPoll) } catch (error) { const obj = {} - const errorMsg = error.message || 'Failed to vote on the poll.' - obj['error'] = errorMsg + obj['error'] = error.message || 'Failed to vote on the poll.' response = JSON.stringify(obj) } finally { this.loader.hide() @@ -1670,8 +1619,7 @@ class WebBrowser extends LitElement { response = JSON.stringify(resCreatePoll) } catch (error) { const obj = {} - const errorMsg = error.message || 'Failed to created poll.' - obj['error'] = errorMsg + obj['error'] = error.message || 'Failed to created poll.' response = JSON.stringify(obj) } finally { this.loader.hide() @@ -1683,8 +1631,7 @@ class WebBrowser extends LitElement { case actions.OPEN_NEW_TAB: { if (!data.qortalLink) { const obj = {} - const errorMsg = 'Please enter a qortal link - qortal://...' - obj['error'] = errorMsg + obj['error'] = 'Please enter a qortal link - qortal://...' response = JSON.stringify(obj) break } @@ -1696,8 +1643,7 @@ class WebBrowser extends LitElement { } catch (error) { console.log('error', error) const obj = {} - const errorMsg = "Invalid qortal link" - obj['error'] = errorMsg + obj['error'] = "Invalid qortal link" response = JSON.stringify(obj) break } @@ -1763,8 +1709,7 @@ class WebBrowser extends LitElement { } catch (error) { const obj = {} - const errorMsg = error.message || "error in pushing notification" - obj['error'] = errorMsg + obj['error'] = error.message || "error in pushing notification" response = JSON.stringify(obj) break @@ -1775,7 +1720,7 @@ class WebBrowser extends LitElement { const message = data.message const recipient = data.destinationAddress const groupId = data.groupId - const isRecipient = groupId ? false : true + const isRecipient = !groupId const sendMessage = async (messageText, chatReference) => { let _reference = new Uint8Array(64) @@ -1826,8 +1771,7 @@ class WebBrowser extends LitElement { } - const msgResponse = await _computePow(chatResponse) - return msgResponse + return await _computePow(chatResponse) } const _computePow = async (chatBytes) => { @@ -1853,8 +1797,7 @@ class WebBrowser extends LitElement { apiVersion: 2 }) - const chatResponse = getSendChatResponse(_response) - return chatResponse + return getSendChatResponse(_response) } const getSendChatResponse = (res) => { @@ -1867,8 +1810,7 @@ class WebBrowser extends LitElement { } } - const chatResponse = await sendMessageRequest() - return chatResponse + return await sendMessageRequest() } const result = await showModalAndWait( @@ -1938,8 +1880,7 @@ class WebBrowser extends LitElement { // } try { this.loader.show() - const msgResponse = await sendMessage(stringifyMessageObject) - response = msgResponse + response = await sendMessage(stringifyMessageObject) } catch (error) { console.error(error) if (error.message) { @@ -2014,8 +1955,7 @@ class WebBrowser extends LitElement { response = JSON.stringify(resJoinGroup) } catch (error) { const obj = {} - const errorMsg = error.message || 'Failed to join the group.' - obj['error'] = errorMsg + obj['error'] = error.message || 'Failed to join the group.' response = JSON.stringify(obj) } finally { this.loader.hide() @@ -2076,15 +2016,13 @@ class WebBrowser extends LitElement { let fileHandleOptions = {} if (!mimeType) { const obj = {} - const errorMsg = 'A mimeType could not be derived' - obj['error'] = errorMsg + obj['error'] = 'A mimeType could not be derived' response = JSON.stringify(obj) break } if (!fileExtension) { const obj = {} - const errorMsg = 'A file extension could not be derived' - obj['error'] = errorMsg + obj['error'] = 'A file extension could not be derived' response = JSON.stringify(obj) break } @@ -2117,8 +2055,7 @@ class WebBrowser extends LitElement { } catch (error) { if (error.name === 'AbortError') { const obj = {} - const errorMsg = 'User declined the download' - obj['error'] = errorMsg + obj['error'] = 'User declined the download' response = JSON.stringify(obj) break } @@ -2128,8 +2065,7 @@ class WebBrowser extends LitElement { response = JSON.stringify(true) } catch (error) { const obj = {} - const errorMsg = error.message || 'Failed to initiate download' - obj['error'] = errorMsg + obj['error'] = error.message || 'Failed to initiate download' response = JSON.stringify(obj) } break @@ -2162,8 +2098,7 @@ class WebBrowser extends LitElement { response = JSON.stringify(resDeployAt) } catch (error) { const obj = {} - const errorMsg = error.message || 'Failed to join the group.' - obj['error'] = errorMsg + obj['error'] = error.message || 'Failed to join the group.' response = JSON.stringify(obj) } finally { this.loader.hide() @@ -2240,8 +2175,7 @@ class WebBrowser extends LitElement { } catch (error) { const obj = {}; - const errorMsg = error.message || 'Failed to join the group.'; - obj['error'] = errorMsg; + obj['error'] = error.message || 'Failed to join the group.'; response = JSON.stringify(obj); } finally { this.loader.hide(); @@ -2319,8 +2253,7 @@ class WebBrowser extends LitElement { } catch (error) { const obj = {}; - const errorMsg = error.message || 'Failed to set property.'; - obj['error'] = errorMsg; + obj['error'] = error.message || 'Failed to set property.'; response = JSON.stringify(obj); } finally { this.loader.hide(); @@ -2356,8 +2289,7 @@ class WebBrowser extends LitElement { response = JSON.stringify(true); } catch (error) { const obj = {}; - const errorMsg = error.message || 'Failed to open profile'; - obj['error'] = errorMsg; + obj['error'] = error.message || 'Failed to open profile'; response = JSON.stringify(obj); } break; @@ -2468,17 +2400,15 @@ class WebBrowser extends LitElement { let qortAddress = window.parent.reduxStore.getState().app.selectedAddress.address try { this.loader.show() - const QORTBalance = await parentEpml.request('apiCall', { + response = await parentEpml.request('apiCall', { url: `/addresses/balance/${qortAddress}?apiKey=${this.getApiKey()}`, }) - response = QORTBalance } catch (error) { console.error(error) const data = {} - const errorMsg = error.message || get("browserpage.bchange21") - data['error'] = errorMsg + data['error'] = error.message || get("browserpage.bchange21") response = JSON.stringify(data) } finally { @@ -2525,8 +2455,7 @@ class WebBrowser extends LitElement { }) if (isNaN(Number(res))) { const data = {} - const errorMsg = get("browserpage.bchange21") - data['error'] = errorMsg + data['error'] = get("browserpage.bchange21") response = JSON.stringify(data) return } else { @@ -2535,8 +2464,7 @@ class WebBrowser extends LitElement { } catch (error) { console.error(error) const data = {} - const errorMsg = error.message || get("browserpage.bchange21") - data['error'] = errorMsg + data['error'] = error.message || get("browserpage.bchange21") response = JSON.stringify(data) return } finally { @@ -2597,8 +2525,7 @@ class WebBrowser extends LitElement { } catch (error) { console.error(error) const data = {} - const errorMsg = error.message || get("browserpage.bchange21") - data['error'] = errorMsg + data['error'] = error.message || get("browserpage.bchange21") response = JSON.stringify(data) return } finally { @@ -2644,8 +2571,7 @@ class WebBrowser extends LitElement { } catch (error) { console.error(error) const data = {} - const errorMsg = error.message || 'Error in retrieving server info' - data['error'] = errorMsg + data['error'] = error.message || 'Error in retrieving server info' response = JSON.stringify(data) return } finally { @@ -2687,8 +2613,7 @@ class WebBrowser extends LitElement { }) } catch (error) { const data = {} - const errorMsg = "Error in tx activity summary" - data['error'] = errorMsg + data['error'] = "Error in tx activity summary" response = JSON.stringify(data) } finally { break @@ -2697,15 +2622,13 @@ class WebBrowser extends LitElement { case actions.GET_DAY_SUMMARY: { try { - const summary = await parentEpml.request('apiCall', { + response = await parentEpml.request('apiCall', { type: 'api', url: `/admin/summary?apiKey=${this.getApiKey()}`, }) - response = summary } catch (error) { const data = {} - const errorMsg = "Error in retrieving summary" - data['error'] = errorMsg + data['error'] = "Error in retrieving summary" response = JSON.stringify(data) } finally { break @@ -2725,7 +2648,7 @@ class WebBrowser extends LitElement { if (missingFields.length > 0) { const missingFieldsString = missingFields.join(', ') const errorMsg = `Missing fields: ${missingFieldsString}` - showErrorAndWait("MISSING_FIELDS", errorMsg) + await showErrorAndWait("MISSING_FIELDS", errorMsg) let data = {} data['error'] = errorMsg response = JSON.stringify(data) @@ -2751,7 +2674,7 @@ class WebBrowser extends LitElement { let errorMsg = "Failed to Fetch QORT Balance. Try again!" let failedMsg = get("walletpage.wchange33") + " QORT " + get("general.balance") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) + await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2773,7 +2696,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2782,7 +2705,7 @@ class WebBrowser extends LitElement { if (amount <= 0) { let errorMsg = "Invalid Amount!" - showErrorAndWait("INVALID_AMOUNT", errorMsg) + await showErrorAndWait("INVALID_AMOUNT", errorMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2791,7 +2714,7 @@ class WebBrowser extends LitElement { if (recipient.length === 0) { let errorMsg = "Receiver cannot be empty!" - showErrorAndWait("NO_RECEIVER", errorMsg) + await showErrorAndWait("NO_RECEIVER", errorMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2813,7 +2736,7 @@ class WebBrowser extends LitElement { let errorMsg = "User declined request" let myMsg1 = get("transactions.declined") let myMsg2 = get("walletpage.wchange44") - showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) + await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) response = '{"error": "User declined request"}' break } @@ -2834,8 +2757,7 @@ class WebBrowser extends LitElement { } const validateAddress = async (receiverAddress) => { - let myAddress = await window.parent.validateAddress(receiverAddress) - return myAddress + return await window.parent.validateAddress(receiverAddress) } const validateReceiver = async (recipient) => { @@ -2850,19 +2772,17 @@ class WebBrowser extends LitElement { if (isAddress) { let myTransaction = await makeTransactionRequest(recipient, lastRef) - const res = getTxnRequestResponse(myTransaction) - return res + return getTxnRequestResponse(myTransaction) } else { let myNameRes = await validateName(recipient) if (myNameRes !== false) { let myNameAddress = myNameRes.owner let myTransaction = await makeTransactionRequest(myNameAddress, lastRef) - const res = getTxnRequestResponse(myTransaction) - return res + return getTxnRequestResponse(myTransaction) } else { let errorMsg = get("walletpage.wchange29") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INVALID_RECEIVER", errorMsg, pleaseMsg) + await showErrorAndWait("INVALID_RECEIVER", errorMsg, pleaseMsg) throw new Error(errorMsg) } } @@ -2895,7 +2815,7 @@ class WebBrowser extends LitElement { let dialogName = get("login.name") let dialogto = get("transactions.to") let recipientName = await getName(myReceiver) - let myTxnrequest = await parentEpml.request('transaction', { + return await parentEpml.request('transaction', { type: 2, nonce: this.myAddress.nonce, params: { @@ -2911,7 +2831,6 @@ class WebBrowser extends LitElement { }, apiVersion: 2 }) - return myTxnrequest } const getTxnRequestResponse = (txnResponse) => { @@ -2929,8 +2848,7 @@ class WebBrowser extends LitElement { } try { - const result = await validateReceiver(recipient) - response = result + response = await validateReceiver(recipient) } catch (error) { console.error(error) response = '{"error": "Request could not be fulfilled"}' @@ -2957,7 +2875,7 @@ class WebBrowser extends LitElement { let errorMsg = "Failed to Fetch BTC Balance. Try again!" let failedMsg = get("walletpage.wchange33") + " BTC " + get("general.balance") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) + await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2974,7 +2892,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2998,7 +2916,7 @@ class WebBrowser extends LitElement { let errorMsg = "User declined request" let myMsg1 = get("transactions.declined") let myMsg2 = get("walletpage.wchange44") - showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) + await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) response = '{"error": "User declined request"}' break } @@ -3012,8 +2930,7 @@ class WebBrowser extends LitElement { bitcoinAmount: amount, feePerByte: feePerByte * QORT_DECIMALS } - const response = await parentEpml.request('sendBtc', opts) - return response + return await parentEpml.request('sendBtc', opts) } const manageResponse = (response) => { @@ -3067,7 +2984,7 @@ class WebBrowser extends LitElement { let errorMsg = "Failed to Fetch LTC Balance. Try again!" let failedMsg = get("walletpage.wchange33") + " LTC " + get("general.balance") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) + await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3084,7 +3001,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3108,7 +3025,7 @@ class WebBrowser extends LitElement { let errorMsg = "User declined request" let myMsg1 = get("transactions.declined") let myMsg2 = get("walletpage.wchange44") - showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) + await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) response = '{"error": "User declined request"}' break } @@ -3122,8 +3039,7 @@ class WebBrowser extends LitElement { litecoinAmount: amount, feePerByte: feePerByte * QORT_DECIMALS } - const response = await parentEpml.request('sendLtc', opts) - return response + return await parentEpml.request('sendLtc', opts) } const manageResponse = (response) => { @@ -3177,7 +3093,7 @@ class WebBrowser extends LitElement { let errorMsg = "Failed to Fetch DOGE Balance. Try again!" let failedMsg = get("walletpage.wchange33") + " DOGE " + get("general.balance") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) + await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3194,7 +3110,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3218,7 +3134,7 @@ class WebBrowser extends LitElement { let errorMsg = "User declined request" let myMsg1 = get("transactions.declined") let myMsg2 = get("walletpage.wchange44") - showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) + await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) response = '{"error": "User declined request"}' break } @@ -3232,8 +3148,7 @@ class WebBrowser extends LitElement { dogecoinAmount: amount, feePerByte: feePerByte * QORT_DECIMALS } - const response = await parentEpml.request('sendDoge', opts) - return response + return await parentEpml.request('sendDoge', opts) } const manageResponse = (response) => { @@ -3287,7 +3202,7 @@ class WebBrowser extends LitElement { let errorMsg = "Failed to Fetch DGB Balance. Try again!" let failedMsg = get("walletpage.wchange33") + " DGB " + get("general.balance") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) + await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3304,7 +3219,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3328,7 +3243,7 @@ class WebBrowser extends LitElement { let errorMsg = "User declined request" let myMsg1 = get("transactions.declined") let myMsg2 = get("walletpage.wchange44") - showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) + await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) response = '{"error": "User declined request"}' break } @@ -3342,8 +3257,7 @@ class WebBrowser extends LitElement { digibyteAmount: amount, feePerByte: feePerByte * QORT_DECIMALS } - const response = await parentEpml.request('sendDgb', opts) - return response + return await parentEpml.request('sendDgb', opts) } const manageResponse = (response) => { @@ -3397,7 +3311,7 @@ class WebBrowser extends LitElement { let errorMsg = "Failed to Fetch RVN Balance. Try again!" let failedMsg = get("walletpage.wchange33") + " RVN " + get("general.balance") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) + await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3414,7 +3328,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3438,7 +3352,7 @@ class WebBrowser extends LitElement { let errorMsg = "User declined request" let myMsg1 = get("transactions.declined") let myMsg2 = get("walletpage.wchange44") - showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) + await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) response = '{"error": "User declined request"}' break } @@ -3452,8 +3366,7 @@ class WebBrowser extends LitElement { ravencoinAmount: amount, feePerByte: feePerByte * QORT_DECIMALS } - const response = await parentEpml.request('sendRvn', opts) - return response + return await parentEpml.request('sendRvn', opts) } const manageResponse = (response) => { @@ -3507,7 +3420,7 @@ class WebBrowser extends LitElement { let errorMsg = "Failed to Fetch ARRR Balance. Try again!" let failedMsg = get("walletpage.wchange33") + " ARRR " + get("general.balance") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) + await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3524,7 +3437,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3548,7 +3461,7 @@ class WebBrowser extends LitElement { let errorMsg = "User declined request" let myMsg1 = get("transactions.declined") let myMsg2 = get("walletpage.wchange44") - showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) + await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2) response = '{"error": "User declined request"}' break } @@ -3562,8 +3475,7 @@ class WebBrowser extends LitElement { arrrAmount: amount, memo: memo } - const response = await parentEpml.request('sendArrr', opts) - return response + return await parentEpml.request('sendArrr', opts) } const manageResponse = (response) => { @@ -3984,8 +3896,7 @@ class WebBrowser extends LitElement { window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ window.parent.reduxStore.getState().app.nodeConfig.node ] - let apiKey = myNode.apiKey - return apiKey + return myNode.apiKey } } @@ -4020,7 +3931,7 @@ async function showModalAndWait(type, data) { ${type === actions.PUBLISH_MULTIPLE_QDN_RESOURCES ? `