diff --git a/plugins/plugins/core/wallet/wallet-app.src.js b/plugins/plugins/core/wallet/wallet-app.src.js
index 78d638fc..bd815d07 100644
--- a/plugins/plugins/core/wallet/wallet-app.src.js
+++ b/plugins/plugins/core/wallet/wallet-app.src.js
@@ -48,6 +48,8 @@ class MultiWallet extends LitElement {
isTextMenuOpen: { type: Boolean },
wallets: { type: Map },
_selectedWallet: 'qort',
+ nodeConfig: { type: Object },
+ nodeDomain: { type: String },
theme: { type: String, reflect: true },
amount: { type: Number },
recipient: { type: String },
@@ -74,6 +76,12 @@ class MultiWallet extends LitElement {
isValidAmount: { type: Boolean },
balance: { type: Number },
balanceString: { type: String },
+ btcServer: { type: Number },
+ ltcServer: { type: Number },
+ dogeServer: { type: Number },
+ dgbServer: { type: Number },
+ rvnServer: { type: Number },
+ arrrServer: { type: Number },
qortPaymentFee: { type: Number },
btcFeePerByte: { type: Number },
ltcFeePerByte: { type: Number },
@@ -741,6 +749,8 @@ class MultiWallet extends LitElement {
this.isTextMenuOpen = false
this.loading = true
+ this.nodeConfig = {}
+ this.nodeDomain = ''
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light';
this.qortBook = []
@@ -774,6 +784,12 @@ class MultiWallet extends LitElement {
this.arrrMemo = ''
this.arrrWalletAddress = ''
this.unusedWalletAddress = ''
+ this.btcServer = ''
+ this.ltcServer = ''
+ this.dogeServer = ''
+ this.dgbServer = ''
+ this.rvnServer = ''
+ this.arrrServer = ''
this.errorMessage = ''
this.successMessage = ''
this.myElementId = ''
@@ -967,6 +983,8 @@ class MultiWallet extends LitElement {
${this.balanceString}
+ ${this.getSelectedWalletServer()}
+
${this.renderSendButton()}
@@ -4669,6 +4687,7 @@ class MultiWallet extends LitElement {
const coin = this._selectedWallet
await this.fetchWalletAddress(this._selectedWallet)
await this.fetchWalletDetails(this._selectedWallet)
+ await this.fetchWalletServer(this._selectedWallet)
if (this._selectedWallet == coin) {
await this.renderTransactions()
await this.getTransactionGrid(this._selectedWallet)
@@ -4976,6 +4995,106 @@ class MultiWallet extends LitElement {
}
}
+ getSelectedWalletServer() {
+ switch (this._selectedWallet) {
+ case "qort":
+ return this.nodeDomain
+
+ case "btc":
+ return this.btcServer
+
+ case "ltc":
+ return this.ltcServer
+
+ case "doge":
+ return this.dogeServer
+
+ case "dgb":
+ return this.dgbServer
+
+ case "rvn":
+ return this.rvnServer
+
+ case "arrr":
+ return this.arrrServer
+
+ default:
+ return
+ }
+ }
+
+ async fetchWalletServer(coin) {
+ if (coin == 'qort') {
+ this.getNodeConfig()
+ return
+ }
+ let walletServer = ''
+ try {
+ const serverInfo = await parentEpml.request('apiCall', {
+ type: 'api',
+ /* TODO */
+ url: `/crosschain/${coin}/serverinfos`,
+ // TODO when 'current' parameter is added to 'serverinfos' API call, change above line to:
+ // url: `/crosschain/${coin}/serverinfos?current=true`,
+ })
+ /* TODO */
+ let currentServerFound = false
+ for (const server of serverInfo.servers) {
+ if (server.isCurrent === true) {
+ walletServer = `${server.hostName}:${server.port}`
+ currentServerFound = true
+ break
+ }
+ }
+ if (!currentServerFound) {
+ walletServer = 'Not Connected'
+ }
+ // TODO when 'current' parameter is added to 'serverinfos' API call, change above 'let,for,if' sections to:
+ /*if (serverInfo.servers[0]) {
+ const currentServerInfo = `${serverInfo.servers[0].hostName}:${serverInfo.servers[0].port}`
+ walletServer = currentServerInfo
+ } else {
+ walletServer = 'Not Connected'
+ }*/
+ } catch (error) {
+ console.error('Failed to fetch server info:', error)
+ walletServer = `Error fetching server: ${error}`
+ }
+ switch (coin) {
+ case "btc":
+ this.btcServer = walletServer
+ break
+ case "ltc":
+ this.ltcServer = walletServer
+ break
+ case "doge":
+ this.dogeServer = walletServer
+ break
+ case "dgb":
+ this.dgbServer = walletServer
+ break
+ case "rvn":
+ this.rvnServer = walletServer
+ break
+ case "arrr":
+ this.arrrServer = walletServer
+ break
+ default:
+ break
+ }
+ }
+
+ getNodeConfig() {
+ this.nodeConfig = {}
+ this.nodeDomain = ""
+ parentEpml.request("getNodeConfig").then((res) => {
+ this.nodeConfig = res
+ const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
+ this.nodeDomain = myNode.domain + ":" + myNode.port
+ })
+ setTimeout(getNodeConfig, 60000)
+ }
+
async getTransactionGrid(coin) {
this.transactionsGrid = this.shadowRoot.querySelector(`#${coin}TransactionsGrid`)
if (coin === 'qort') {