diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js
index 97d2179a..dc3e209d 100644
--- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js
+++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js
@@ -31,7 +31,7 @@ import '@vaadin/icons'
const parentEpml = new Epml({ type: 'WINDOW', source: window.parent })
-const coinsNames = ['qort', 'btc', 'ltc', 'doge', 'dgb', 'rvn']
+const coinsNames = ['qort', 'btc', 'ltc', 'doge', 'dgb', 'rvn', 'arrr']
class MultiWallet extends LitElement {
static get properties() {
@@ -56,6 +56,9 @@ class MultiWallet extends LitElement {
dgbAmount: { type: Number },
rvnRecipient: { type: String },
rvnAmount: { type: Number },
+ arrrRecipient: { type: String },
+ arrrAmount: { type: Number },
+ arrrMemo: { type: String },
errorMessage: { type: String },
successMessage: { type: String },
sendMoneyLoading: { type: Boolean },
@@ -68,6 +71,7 @@ class MultiWallet extends LitElement {
dgbFeePerByte: { type: Number },
rvnFeePerByte: { type: Number },
balanceString: { type: String },
+ arrrWalletAddress: { type: String },
exportErrorMessage: { type: String },
qortBook: { type: Array },
btcBook: { type: Array },
@@ -75,18 +79,21 @@ class MultiWallet extends LitElement {
dogeBook: { type: Array },
dgbBook: { type: Array },
rvnBook: { type: Array },
+ arrrBook: { type: Array },
qortBookName: { type: String },
btcBookName: { type: String },
ltcBookName: { type: String },
dogeBookName: { type: String },
dgbBookName: { type: String },
rvnBookName: { type: String },
+ arrrBookName: { type: String },
qortBookAddress: { type: String },
btcBookAddress: { type: String },
ltcBookAddress: { type: String },
dogeBookAddress: { type: String },
dgbBookAddress: { type: String },
- rvnBookAddress: { type: String }
+ rvnBookAddress: { type: String },
+ arrrBookAddress: { type: String }
}
}
@@ -296,7 +303,7 @@ class MultiWallet extends LitElement {
}
.wallet {
- width: 170px;
+ width: 200px;
height: 100vh;
border-top-left-radius: inherit;
border-bottom-left-radius: inherit;
@@ -470,6 +477,10 @@ class MultiWallet extends LitElement {
background-image: url('/img/rvn.png');
}
+ .arrr .currency-image {
+ background-image: url('/img/arrr.png');
+ }
+
.card-list {
margin-top: 20px;
}
@@ -652,18 +663,21 @@ class MultiWallet extends LitElement {
this.dogeBook = []
this.dgbBook = []
this.rvnBook = []
+ this.arrrBook = []
this.qortBookName = ''
this.btcBookName = ''
this.ltcBookName = ''
this.dogeBookName = ''
this.dgbBookName = ''
this.rvnBookName = ''
+ this.arrrBookName = ''
this.qortBookAddress = ''
this.btcBookAddress = ''
this.ltcBookAddress = ''
this.dogeBookAddress = ''
this.dgbBookAddress = ''
this.rvnBookAddress = ''
+ this.arrrBookAddress = ''
this.recipient = ''
this.btcRecipient = ''
@@ -671,6 +685,9 @@ class MultiWallet extends LitElement {
this.dogeRecipient = ''
this.dgbRecipient = ''
this.rvnRecipient = ''
+ this.arrrRecipient = ''
+ this.arrrMemo = ''
+ this.arrrWalletAddress = ''
this.errorMessage = ''
this.successMessage = ''
this.sendMoneyLoading = false
@@ -683,6 +700,7 @@ class MultiWallet extends LitElement {
this.dogeAmount = 0
this.dgbAmount = 0
this.rvnAmount = 0
+ this.arrrAmount = 0
this.btcFeePerByte = 100
this.btcSatMinFee = 20
this.btcSatMaxFee = 150
@@ -719,6 +737,7 @@ class MultiWallet extends LitElement {
this.wallets.get('doge').wallet = window.parent.reduxStore.getState().app.selectedAddress.dogeWallet
this.wallets.get('dgb').wallet = window.parent.reduxStore.getState().app.selectedAddress.dgbWallet
this.wallets.get('rvn').wallet = window.parent.reduxStore.getState().app.selectedAddress.rvnWallet
+ this.wallets.get('arrr').wallet = window.parent.reduxStore.getState().app.selectedAddress.arrWallet
this._selectedWallet = 'qort'
@@ -733,6 +752,7 @@ class MultiWallet extends LitElement {
this.wallets.get('doge').wallet = window.parent.reduxStore.getState().app.selectedAddress.dogeWallet
this.wallets.get('dgb').wallet = window.parent.reduxStore.getState().app.selectedAddress.dgbWallet
this.wallets.get('rvn').wallet = window.parent.reduxStore.getState().app.selectedAddress.rvnWallet
+ this.wallets.get('arrr').wallet = window.parent.reduxStore.getState().app.selectedAddress.arrrWallet
})
parentEpml.subscribe('copy_menu_switch', async (value) => {
@@ -774,6 +794,10 @@ class MultiWallet extends LitElement {
Ravencoin
+
@@ -1128,6 +1152,59 @@ class MultiWallet extends LitElement {
+
+
+
${translate("walletpage.wchange5")}
+
+
+
+
${translate("walletpage.wchange6")}
+
+
+ ${translate("walletpage.wchange40")}
+ ${this.selectedTransaction.arrrTxnFlow === 'OUT' ? html`${translate("walletpage.wchange7")}` : html`${translate("walletpage.wchange8")}`}
+
+
${translate("walletpage.wchange9")}
+
+
+ ${this.selectedTransaction.arrrSender}
+
+
${translate("walletpage.wchange10")}
+
+
+
${this.selectedTransaction.arrrReceiver}
+
this.sendToArrrAddress()} title="${translate("walletpage.wchange46")}">
+
this.openAddArrrAddressDialog()} title="${translate("walletpage.wchange49")}">
+
+
+
${translate("walletpage.wchange12")}
+
+
+ ${(this.selectedTransaction.feeAmount / 1e8).toFixed(8)} ARRR
+
+
${translate("walletpage.wchange37")}
+
+
+ ${(this.selectedTransaction.totalAmount / 1e8).toFixed(8)} ARRR
+
+
${translate("walletpage.wchange14")}
+
+
${new Date(this.selectedTransaction.timestamp).toString()}
+
${translate("walletpage.wchange16")}
+
+
+ ${this.selectedTransaction.txHash}
+
+
+
+ ${translate("general.close")}
+
+
+
@@ -1585,6 +1662,80 @@ class MultiWallet extends LitElement {
+
+
+
+

+
${translate("walletpage.wchange17")} ARRR
+
+
+
+ ${translate("walletpage.wchange18")}:
+ ${this.getSelectedWalletAddress()}
+
+
+ ${translate("walletpage.wchange19")}:
+ ${this.balanceString}
+
+ this.calculateArrrAll()}> ${translate("walletpage.wchange45")} ARRR
+
+
+
+ { this._checkAmount(e) }}"
+ id="arrrAmountInput"
+ label="${translate("walletpage.wchange11")} (ARRR)"
+ type="number"
+ auto-validate="false"
+ value="${this.arrrAmount}"
+ >
+
+
+
+
+
+
+
+
+
+
+
${this.errorMessage}
+
${this.successMessage}
+ ${this.sendMoneyLoading ? html`
` : ''}
+
+
+ this.closeArrrDialog()}"
+ class="red"
+ >
+ ${translate("general.close")}
+
+
+

@@ -1789,6 +1940,41 @@ class MultiWallet extends LitElement {
+
+
+
+

+
Pirate Chain ${translate("walletpage.wchange47")}
+
+ ${this.renderExportAddressbookButton()}
${this.renderImportAddressbookButton()}
+
+
+
+
+
+ {
+ render(html`${this.renderSendFromArrrAddressbookButton(data.item)}`, root);
+ }}>
+
+
+ ${this.isEmptyArray(this.arrrBook) ? html`
+ ${translate("walletpage.wchange48")}
+ `: ''}
+
+ ${translate("general.close")}
+
+ this.openAddToArrrAddressbook()}
+ >
+ ${translate("rewardsharepage.rchange14")}
+
+
+

@@ -2083,6 +2269,55 @@ class MultiWallet extends LitElement {
+
+
+

+
Pirate Chain ${translate("walletpage.wchange47")}
+
${translate("walletpage.wchange49")}
+
+
+
+
+
+ this.closeArrrAddressDialog()}"
+ class="red"
+ >
+ ${translate("general.close")}
+
+
+

@@ -2208,6 +2443,27 @@ class MultiWallet extends LitElement {
${translate("general.close")}
+
+
+
+

+
Pirate Chain ${translate("walletpage.wchange53")}
+
+
+
+
+ this.importArrrAddressbook(e.detail.result)}">
+
${translate("walletpage.wchange56")}
+ ${translate("walletpage.wchange55")}
+
+
+ ${translate("general.close")}
+
+
`
}
@@ -2222,6 +2478,7 @@ class MultiWallet extends LitElement {
this.dogeAddressbook()
this.dgbAddressbook()
this.rvnAddressbook()
+ this.arrrAddressbook()
this.currencyBoxes = this.shadowRoot.querySelectorAll('.currency-box')
this.transactionsDOM = this.shadowRoot.getElementById('transactionsDOM')
@@ -2539,6 +2796,75 @@ class MultiWallet extends LitElement {
}
checkSelectedTextAndShowMenu()
})
+
+ this.shadowRoot.getElementById('arrrAmountInput').addEventListener('contextmenu', (event) => {
+ const getSelectedText = () => {
+ var text = ''
+ if (typeof window.getSelection != 'undefined') {
+ text = window.getSelection().toString()
+ } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') {
+ text = this.shadowRoot.selection.createRange().text
+ }
+ return text
+ }
+ const checkSelectedTextAndShowMenu = () => {
+ let selectedText = getSelectedText()
+ if (selectedText && typeof selectedText === 'string') {
+ } else {
+ this.pasteMenu(event, 'arrrAmountInput')
+ this.isPasteMenuOpen = true
+ event.preventDefault()
+ event.stopPropagation()
+ }
+ }
+ checkSelectedTextAndShowMenu()
+ })
+
+ this.shadowRoot.getElementById('arrrRecipient').addEventListener('contextmenu', (event) => {
+ const getSelectedText = () => {
+ var text = ''
+ if (typeof window.getSelection != 'undefined') {
+ text = window.getSelection().toString()
+ } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') {
+ text = this.shadowRoot.selection.createRange().text
+ }
+ return text
+ }
+ const checkSelectedTextAndShowMenu = () => {
+ let selectedText = getSelectedText()
+ if (selectedText && typeof selectedText === 'string') {
+ } else {
+ this.pasteMenu(event, 'arrrRecipient')
+ this.isPasteMenuOpen = true
+ event.preventDefault()
+ event.stopPropagation()
+ }
+ }
+ checkSelectedTextAndShowMenu()
+ })
+
+ this.shadowRoot.getElementById('arrrMemo').addEventListener('contextmenu', (event) => {
+ const getSelectedText = () => {
+ var text = ''
+ if (typeof window.getSelection != 'undefined') {
+ text = window.getSelection().toString()
+ } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') {
+ text = this.shadowRoot.selection.createRange().text
+ }
+ return text
+ }
+ const checkSelectedTextAndShowMenu = () => {
+ let selectedText = getSelectedText()
+ if (selectedText && typeof selectedText === 'string') {
+ } else {
+ this.pasteMenu(event, 'arrrMemo')
+ this.isPasteMenuOpen = true
+ event.preventDefault()
+ event.stopPropagation()
+ }
+ }
+ checkSelectedTextAndShowMenu()
+ })
}
renderClearSuccess() {
@@ -2576,50 +2902,58 @@ class MultiWallet extends LitElement {
}
qortAddressbook() {
- if (localStorage.getItem("adressbookQort") === null) {
- localStorage.setItem("adressbookQort", "")
+ if (localStorage.getItem("addressbookQort") === null) {
+ localStorage.setItem("addressbookQort", "")
} else {
- this.qortBook = JSON.parse(localStorage.getItem("adressbookQort") || "[]")
+ this.qortBook = JSON.parse(localStorage.getItem("addressbookQort") || "[]")
}
}
btcAddressbook() {
- if (localStorage.getItem("adressbookBtc") === null) {
- localStorage.setItem("adressbookBtc", "")
+ if (localStorage.getItem("addressbookBtc") === null) {
+ localStorage.setItem("addressbookBtc", "")
} else {
- this.btcBook = JSON.parse(localStorage.getItem("adressbookBtc") || "[]")
+ this.btcBook = JSON.parse(localStorage.getItem("addressbookBtc") || "[]")
}
}
ltcAddressbook() {
- if (localStorage.getItem("adressbookLtc") === null) {
- localStorage.setItem("adressbookLtc", "")
+ if (localStorage.getItem("addressbookLtc") === null) {
+ localStorage.setItem("addressbookLtc", "")
} else {
- this.ltcBook = JSON.parse(localStorage.getItem("adressbookLtc") || "[]")
+ this.ltcBook = JSON.parse(localStorage.getItem("addressbookLtc") || "[]")
}
}
dogeAddressbook() {
- if (localStorage.getItem("adressbookDoge") === null) {
- localStorage.setItem("adressbookDoge", "")
+ if (localStorage.getItem("addressbookDoge") === null) {
+ localStorage.setItem("addressbookDoge", "")
} else {
- this.dogeBook = JSON.parse(localStorage.getItem("adressbookDoge") || "[]")
+ this.dogeBook = JSON.parse(localStorage.getItem("addressbookDoge") || "[]")
}
}
dgbAddressbook() {
- if (localStorage.getItem("adressbookDgb") === null) {
- localStorage.setItem("adressbookDgb", "")
+ if (localStorage.getItem("addressbookDgb") === null) {
+ localStorage.setItem("addressbookDgb", "")
} else {
- this.dgbBook = JSON.parse(localStorage.getItem("adressbookDgb") || "[]")
+ this.dgbBook = JSON.parse(localStorage.getItem("addressbookDgb") || "[]")
}
}
rvnAddressbook() {
- if (localStorage.getItem("adressbookRvn") === null) {
- localStorage.setItem("adressbookRvn", "")
+ if (localStorage.getItem("addressbookRvn") === null) {
+ localStorage.setItem("addressbookRvn", "")
} else {
- this.rvnBook = JSON.parse(localStorage.getItem("adressbookRvn") || "[]")
+ this.rvnBook = JSON.parse(localStorage.getItem("addressbookRvn") || "[]")
+ }
+ }
+
+ arrrAddressbook() {
+ if (localStorage.getItem("addressbookArrr") === null) {
+ localStorage.setItem("addressbookArrr", "")
+ } else {
+ this.arrrBook = JSON.parse(localStorage.getItem("addressbookArrr") || "[]")
}
}
@@ -2647,6 +2981,10 @@ class MultiWallet extends LitElement {
this.shadowRoot.querySelector("#rvnBookDialog").show()
}
+ openArrrAddressbook() {
+ this.shadowRoot.querySelector("#arrrBookDialog").show()
+ }
+
openAddQortAddressDialog() {
this.qortBookAddress = this.selectedTransaction.recipient
this.openAddToQortAddressbook()
@@ -2683,6 +3021,12 @@ class MultiWallet extends LitElement {
this.shadowRoot.querySelector('#showRvnTransactionDetailsDialog').close()
}
+ openAddArrrAddressDialog() {
+ this.arrrBookAddress = this.selectedTransaction.arrrReceiver
+ this.openAddToArrrAddressbook()
+ this.shadowRoot.querySelector('#showArrrTransactionDetailsDialog').close()
+ }
+
openAddToQortAddressbook() {
this.shadowRoot.querySelector("#addQortAddressDialog").show()
}
@@ -2707,30 +3051,38 @@ class MultiWallet extends LitElement {
this.shadowRoot.querySelector("#addRvnAddressDialog").show()
}
- openImportQortAdressbook() {
+ openAddToArrrAddressbook() {
+ this.shadowRoot.querySelector("#addArrrAddressDialog").show()
+ }
+
+ openImportQortAddressbook() {
this.shadowRoot.querySelector("#importQortAddressbookDialog").show()
}
- openImportBtcAdressbook() {
+ openImportBtcAddressbook() {
this.shadowRoot.querySelector("#importBtcAddressbookDialog").show()
}
- openImportLtcAdressbook() {
+ openImportLtcAddressbook() {
this.shadowRoot.querySelector("#importLtcAddressbookDialog").show()
}
- openImportDogeAdressbook() {
+ openImportDogeAddressbook() {
this.shadowRoot.querySelector("#importDogeAddressbookDialog").show()
}
- openImportDgbAdressbook() {
+ openImportDgbAddressbook() {
this.shadowRoot.querySelector("#importDgbAddressbookDialog").show()
}
- openImportRvnAdressbook() {
+ openImportRvnAddressbook() {
this.shadowRoot.querySelector("#importRvnAddressbookDialog").show()
}
+ openImportArrrAddressbook() {
+ this.shadowRoot.querySelector("#importArrrAddressbookDialog").show()
+ }
+
closeQortAddressDialog() {
this.shadowRoot.querySelector('#addQortAddressDialog').close()
}
@@ -2755,6 +3107,10 @@ class MultiWallet extends LitElement {
this.shadowRoot.querySelector('#addRvnAddressDialog').close()
}
+ closeArrrAddressDialog() {
+ this.shadowRoot.querySelector('#addArrrAddressDialog').close()
+ }
+
closeImportQortAddressbookDialog() {
this.shadowRoot.querySelector("#importQortAddressbookDialog").close()
}
@@ -2779,13 +3135,15 @@ class MultiWallet extends LitElement {
this.shadowRoot.querySelector("#importRvnAddressbookDialog").close()
}
-
+ closeImportArrrAddressbookDialog() {
+ this.shadowRoot.querySelector("#importArrrAddressbookDialog").close()
+ }
addToQortalAddressbook() {
let name = this.shadowRoot.getElementById('qortNameInput').value
let address = this.shadowRoot.getElementById('qortAddressInput').value
- var oldQortalBook = JSON.parse(localStorage.getItem("adressbookQort") || "[]")
+ var oldQortalBook = JSON.parse(localStorage.getItem("addressbookQort") || "[]")
if (name.length === 0) {
let qortbookstring1 = get("walletpage.wchange50")
@@ -2806,20 +3164,20 @@ class MultiWallet extends LitElement {
oldQortalBook.push(newQortalBookItem)
- localStorage.setItem("adressbookQort", JSON.stringify(oldQortalBook))
+ localStorage.setItem("addressbookQort", JSON.stringify(oldQortalBook))
let qortbookstring2 = get("walletpage.wchange52")
parentEpml.request('showSnackBar', `${qortbookstring2}`)
this.closeQortAddressDialog()
- this.qortBook = JSON.parse(localStorage.getItem("adressbookQort") || "[]")
+ this.qortBook = JSON.parse(localStorage.getItem("addressbookQort") || "[]")
}
addToBitcoinAddressbook() {
let name = this.shadowRoot.getElementById('btcNameInput').value
let address = this.shadowRoot.getElementById('btcAddressInput').value
- var oldBitcoinBook = JSON.parse(localStorage.getItem("adressbookBtc") || "[]")
+ var oldBitcoinBook = JSON.parse(localStorage.getItem("addressbookBtc") || "[]")
if (name.length === 0) {
let btcbookstring1 = get("walletpage.wchange50")
@@ -2840,20 +3198,20 @@ class MultiWallet extends LitElement {
oldBitcoinBook.push(newBitcoinBookItem)
- localStorage.setItem("adressbookBtc", JSON.stringify(oldBitcoinBook))
+ localStorage.setItem("addressbookBtc", JSON.stringify(oldBitcoinBook))
let btcbookstring3 = get("walletpage.wchange52")
parentEpml.request('showSnackBar', `${btcbookstring3}`)
this.closeBtcAddressDialog()
- this.btcBook = JSON.parse(localStorage.getItem("adressbookBtc") || "[]")
+ this.btcBook = JSON.parse(localStorage.getItem("addressbookBtc") || "[]")
}
addToLitecoinAddressbook() {
let name = this.shadowRoot.getElementById('ltcNameInput').value
let address = this.shadowRoot.getElementById('ltcAddressInput').value
- var oldLitecoinBook = JSON.parse(localStorage.getItem("adressbookLtc") || "[]")
+ var oldLitecoinBook = JSON.parse(localStorage.getItem("addressbookLtc") || "[]")
if (name.length === 0) {
let ltcbookstring1 = get("walletpage.wchange50")
@@ -2874,20 +3232,20 @@ class MultiWallet extends LitElement {
oldLitecoinBook.push(newLitecoinBookItem)
- localStorage.setItem("adressbookLtc", JSON.stringify(oldLitecoinBook))
+ localStorage.setItem("addressbookLtc", JSON.stringify(oldLitecoinBook))
let ltcbookstring3 = get("walletpage.wchange52")
parentEpml.request('showSnackBar', `${ltcbookstring3}`)
this.closeLtcAddressDialog()
- this.ltcBook = JSON.parse(localStorage.getItem("adressbookLtc") || "[]")
+ this.ltcBook = JSON.parse(localStorage.getItem("addressbookLtc") || "[]")
}
addToDogecoinAddressbook() {
let name = this.shadowRoot.getElementById('dogeNameInput').value
let address = this.shadowRoot.getElementById('dogeAddressInput').value
- var oldDogecoinBook = JSON.parse(localStorage.getItem("adressbookDoge") || "[]")
+ var oldDogecoinBook = JSON.parse(localStorage.getItem("addressbookDoge") || "[]")
if (name.length === 0) {
let dogebookstring1 = get("walletpage.wchange50")
@@ -2908,20 +3266,20 @@ class MultiWallet extends LitElement {
oldDogecoinBook.push(newDogecoinBookItem)
- localStorage.setItem("adressbookDoge", JSON.stringify(oldDogecoinBook))
+ localStorage.setItem("addressbookDoge", JSON.stringify(oldDogecoinBook))
let dogebookstring3 = get("walletpage.wchange52")
parentEpml.request('showSnackBar', `${dogebookstring3}`)
this.closeDogeAddressDialog()
- this.dogeBook = JSON.parse(localStorage.getItem("adressbookDoge") || "[]")
+ this.dogeBook = JSON.parse(localStorage.getItem("addressbookDoge") || "[]")
}
addToDigibyteAddressbook() {
let name = this.shadowRoot.getElementById('dgbNameInput').value
let address = this.shadowRoot.getElementById('dgbAddressInput').value
- var oldDigibyteBook = JSON.parse(localStorage.getItem("adressbookDgb") || "[]")
+ var oldDigibyteBook = JSON.parse(localStorage.getItem("addressbookDgb") || "[]")
if (name.length === 0) {
let dgbbookstring1 = get("walletpage.wchange50")
@@ -2942,20 +3300,20 @@ class MultiWallet extends LitElement {
oldDigibyteBook.push(newDigibyteBookItem)
- localStorage.setItem("adressbookDgb", JSON.stringify(oldDigibyteBook))
+ localStorage.setItem("addressbookDgb", JSON.stringify(oldDigibyteBook))
let dgbbookstring3 = get("walletpage.wchange52")
parentEpml.request('showSnackBar', `${dgbbookstring3}`)
this.closeDgbAddressDialog()
- this.dgbBook = JSON.parse(localStorage.getItem("adressbookDgb") || "[]")
+ this.dgbBook = JSON.parse(localStorage.getItem("addressbookDgb") || "[]")
}
addToRavencoinAddressbook() {
let name = this.shadowRoot.getElementById('rvnNameInput').value
let address = this.shadowRoot.getElementById('rvnAddressInput').value
- var oldRavencoinBook = JSON.parse(localStorage.getItem("adressbookRvn") || "[]")
+ var oldRavencoinBook = JSON.parse(localStorage.getItem("addressbookRvn") || "[]")
if (name.length === 0) {
let rvnbookstring1 = get("walletpage.wchange50")
@@ -2976,13 +3334,47 @@ class MultiWallet extends LitElement {
oldRavencoinBook.push(newRavencoinBookItem)
- localStorage.setItem("adressbookRvn", JSON.stringify(oldRavencoinBook))
+ localStorage.setItem("addressbookRvn", JSON.stringify(oldRavencoinBook))
let rvnbookstring3 = get("walletpage.wchange52")
parentEpml.request('showSnackBar', `${rvnbookstring3}`)
this.closeRvnAddressDialog()
- this.rvnBook = JSON.parse(localStorage.getItem("adressbookRvn") || "[]")
+ this.rvnBook = JSON.parse(localStorage.getItem("addressbookRvn") || "[]")
+ }
+
+ addToPiratechainAddressbook() {
+ let name = this.shadowRoot.getElementById('arrrNameInput').value
+ let address = this.shadowRoot.getElementById('arrrAddressInput').value
+
+ var oldPiratechainBook = JSON.parse(localStorage.getItem("addressbookArrr") || "[]")
+
+ if (name.length === 0) {
+ let arrrbookstring1 = get("walletpage.wchange50")
+ parentEpml.request('showSnackBar', `${arrrbookstring1}`)
+ return false
+ }
+
+ if (address.length === 0) {
+ let arrrbookstring2 = get("walletpage.wchange51")
+ parentEpml.request('showSnackBar', `${arrrbookstring2}`)
+ return false
+ }
+
+ const newPiratechainBookItem = {
+ name: name,
+ address: address
+ }
+
+ oldPiratechainBook.push(newPiratechainBookItem)
+
+ localStorage.setItem("addressbookArrr", JSON.stringify(oldPiratechainBook))
+
+ let arrrbookstring3 = get("walletpage.wchange52")
+ parentEpml.request('showSnackBar', `${arrrbookstring3}`)
+
+ this.closeArrrAddressDialog()
+ this.arrrBook = JSON.parse(localStorage.getItem("addressbookArrr") || "[]")
}
sendFromQortAddressbook(websiteObj) {
@@ -3027,6 +3419,13 @@ class MultiWallet extends LitElement {
this.shadowRoot.querySelector('#rvnBookDialog').close()
}
+ sendFromArrrAddressbook(websiteObj) {
+ let address = websiteObj.address
+ this.arrrRecipient = address
+ this.openSendArrr()
+ this.shadowRoot.querySelector('#arrrBookDialog').close()
+ }
+
renderSendFromQortAddressbookButton(websiteObj) {
return html` this.sendFromQortAddressbook(websiteObj)}">`
}
@@ -3051,96 +3450,115 @@ class MultiWallet extends LitElement {
return html` this.sendFromRvnAddressbook(websiteObj)}">`
}
- exportQortAdressbook() {
- const qortBookData = JSON.stringify(localStorage.getItem("adressbookQort"))
+ renderSendFromArrrAddressbookButton(websiteObj) {
+ return html` this.sendFromArrrAddressbook(websiteObj)}">`
+ }
+
+ exportQortAddressbook() {
+ const qortBookData = JSON.stringify(localStorage.getItem("addressbookQort"))
const qortBookSave = JSON.parse((qortBookData) || "[]")
const blob = new Blob([qortBookSave], { type: 'text/plain;charset=utf-8' })
FileSaver.saveAs(blob, `qortal_addressbook.qort.json`)
}
- exportBtcAdressbook() {
- const btcBookData = JSON.stringify(localStorage.getItem("adressbookBtc"))
+ exportBtcAddressbook() {
+ const btcBookData = JSON.stringify(localStorage.getItem("addressbookBtc"))
const btcBookSave = JSON.parse((btcBookData) || "[]")
const blob = new Blob([btcBookSave], { type: 'text/plain;charset=utf-8' })
FileSaver.saveAs(blob, `bitcoin_addressbook.btc.json`)
}
- exportLtcAdressbook() {
- const ltcBookData = JSON.stringify(localStorage.getItem("adressbookLtc"))
+ exportLtcAddressbook() {
+ const ltcBookData = JSON.stringify(localStorage.getItem("addressbookLtc"))
const ltcBookSave = JSON.parse((ltcBookData) || "[]")
const blob = new Blob([ltcBookSave], { type: 'text/plain;charset=utf-8' })
FileSaver.saveAs(blob, `litecoin_addressbook.ltc.json`)
}
- exportDogeAdressbook() {
- const dogeBookData = JSON.stringify(localStorage.getItem("adressbookDoge"))
+ exportDogeAddressbook() {
+ const dogeBookData = JSON.stringify(localStorage.getItem("addressbookDoge"))
const dogeBookSave = JSON.parse((dogeBookData) || "[]")
const blob = new Blob([dogeBookSave], { type: 'text/plain;charset=utf-8' })
FileSaver.saveAs(blob, `dogecoin_addressbook.doge.json`)
}
- exportDgbAdressbook() {
- const dgbBookData = JSON.stringify(localStorage.getItem("adressbookDgb"))
+ exportDgbAddressbook() {
+ const dgbBookData = JSON.stringify(localStorage.getItem("addressbookDgb"))
const dgbBookSave = JSON.parse((dgbBookData) || "[]")
const blob = new Blob([dgbBookSave], { type: 'text/plain;charset=utf-8' })
FileSaver.saveAs(blob, `digibyte_addressbook.dgb.json`)
}
- exportRvnAdressbook() {
- const rvnBookData = JSON.stringify(localStorage.getItem("adressbookRvn"))
+ exportRvnAddressbook() {
+ const rvnBookData = JSON.stringify(localStorage.getItem("addressbookRvn"))
const rvnBookSave = JSON.parse((rvnBookData) || "[]")
const blob = new Blob([rvnBookSave], { type: 'text/plain;charset=utf-8' })
FileSaver.saveAs(blob, `ravencoin_addressbook.rvn.json`)
}
+ exportArrrAddressbook() {
+ const arrrBookData = JSON.stringify(localStorage.getItem("addressbookArrr"))
+ const arrrBookSave = JSON.parse((arrrBookData) || "[]")
+ const blob = new Blob([arrrBookSave], { type: 'text/plain;charset=utf-8' })
+ FileSaver.saveAs(blob, `piratechain_addressbook.arrr.json`)
+ }
+
importQortAddressbook(file) {
- localStorage.removeItem("adressbookQort")
+ localStorage.removeItem("addressbookQort")
const newItems = JSON.parse((file) || "[]")
- localStorage.setItem("adressbookQort", JSON.stringify(newItems))
- this.qortBook = JSON.parse(localStorage.getItem("adressbookQort") || "[]")
+ localStorage.setItem("addressbookQort", JSON.stringify(newItems))
+ this.qortBook = JSON.parse(localStorage.getItem("addressbookQort") || "[]")
this.shadowRoot.querySelector('#importQortAddressbookDialog').close()
}
importBtcAddressbook(file) {
- localStorage.removeItem("adressbookBtc")
+ localStorage.removeItem("addressbookBtc")
const newItems = JSON.parse((file) || "[]")
- localStorage.setItem("adressbookBtc", JSON.stringify(newItems))
- this.btcBook = JSON.parse(localStorage.getItem("adressbookBtc") || "[]")
+ localStorage.setItem("addressbookBtc", JSON.stringify(newItems))
+ this.btcBook = JSON.parse(localStorage.getItem("addressbookBtc") || "[]")
this.shadowRoot.querySelector('#importBtcAddressbookDialog').close()
}
importLtcAddressbook(file) {
- localStorage.removeItem("adressbookLtc")
+ localStorage.removeItem("addressbookLtc")
const newItems = JSON.parse((file) || "[]")
- localStorage.setItem("adressbookLtc", JSON.stringify(newItems))
- this.ltcBook = JSON.parse(localStorage.getItem("adressbookLtc") || "[]")
+ localStorage.setItem("addressbookLtc", JSON.stringify(newItems))
+ this.ltcBook = JSON.parse(localStorage.getItem("addressbookLtc") || "[]")
this.shadowRoot.querySelector('#importLtcAddressbookDialog').close()
}
importDogeAddressbook(file) {
- localStorage.removeItem("adressbookDoge")
+ localStorage.removeItem("addressbookDoge")
const newItems = JSON.parse((file) || "[]")
- localStorage.setItem("adressbookDoge", JSON.stringify(newItems))
- this.dogeBook = JSON.parse(localStorage.getItem("adressbookDoge") || "[]")
+ localStorage.setItem("addressbookDoge", JSON.stringify(newItems))
+ this.dogeBook = JSON.parse(localStorage.getItem("addressbookDoge") || "[]")
this.shadowRoot.querySelector('#importDogeAddressbookDialog').close()
}
importDgbAddressbook(file) {
- localStorage.removeItem("adressbookDgb")
+ localStorage.removeItem("addressbookDgb")
const newItems = JSON.parse((file) || "[]")
- localStorage.setItem("adressbookDgb", JSON.stringify(newItems))
- this.dgbBook = JSON.parse(localStorage.getItem("adressbookDgb") || "[]")
+ localStorage.setItem("addressbookDgb", JSON.stringify(newItems))
+ this.dgbBook = JSON.parse(localStorage.getItem("addressbookDgb") || "[]")
this.shadowRoot.querySelector('#importDgbAddressbookDialog').close()
}
importRvnAddressbook(file) {
- localStorage.removeItem("adressbookRvn")
+ localStorage.removeItem("addressbookRvn")
const newItems = JSON.parse((file) || "[]")
- localStorage.setItem("adressbookRvn", JSON.stringify(newItems))
- this.rvnBook = JSON.parse(localStorage.getItem("adressbookRvn") || "[]")
+ localStorage.setItem("addressbookRvn", JSON.stringify(newItems))
+ this.rvnBook = JSON.parse(localStorage.getItem("addressbookRvn") || "[]")
this.shadowRoot.querySelector('#importRvnAddressbookDialog').close()
}
+ importArrrAddressbook(file) {
+ localStorage.removeItem("addressbookArrr")
+ const newItems = JSON.parse((file) || "[]")
+ localStorage.setItem("addressbookArrr", JSON.stringify(newItems))
+ this.arrrBook = JSON.parse(localStorage.getItem("addressbookArrr") || "[]")
+ this.shadowRoot.querySelector('#importArrrAddressbookDialog').close()
+ }
+
closeQortDialog() {
this.shadowRoot.querySelector('#sendQortDialog').close()
this.successMessage = ''
@@ -3177,6 +3595,12 @@ class MultiWallet extends LitElement {
this.errorMessage = ''
}
+ closeArrrDialog() {
+ this.shadowRoot.querySelector('#sendArrrDialog').close()
+ this.successMessage = ''
+ this.errorMessage = ''
+ }
+
sendToQortAddress() {
this.recipient = this.selectedTransaction.recipient
this.openSendQort()
@@ -3213,6 +3637,12 @@ class MultiWallet extends LitElement {
this.shadowRoot.querySelector('#showRvnTransactionDetailsDialog').close()
}
+ sendToArrrAddress() {
+ this.arrrRecipient = this.selectedTransaction.arrrReceiver
+ this.openSendArrr()
+ this.shadowRoot.querySelector('#showArrrTransactionDetailsDialog').close()
+ }
+
calculateQortAll() {
if (this.balance < 0.00100000) {
let not_enough_string = get("walletpage.wchange26")
@@ -3272,6 +3702,15 @@ class MultiWallet extends LitElement {
}
}
+ calculateArrrAll() {
+ if (this.balance < 0.00000002) {
+ let not_enough_string = get("walletpage.wchange26")
+ parentEpml.request('showSnackBar', `${not_enough_string}`)
+ } else {
+ this.arrrAmount = (this.balance - 0.00000001).toFixed(8)
+ }
+ }
+
renderSQB() {
let displaybutton = this.selectedTransaction.recipient
if (displaybutton == null) {
@@ -3706,7 +4145,7 @@ class MultiWallet extends LitElement {
this.showWallet()
}
- async sendRvn() {
+ async sendRvn() {
const rvnAmount = this.shadowRoot.getElementById('rvnAmountInput').value
let rvnRecipient = this.shadowRoot.getElementById('rvnRecipient').value
const xprv58 = this.wallets.get(this._selectedWallet).wallet.derivedMasterPrivateKey
@@ -3752,6 +4191,55 @@ class MultiWallet extends LitElement {
this.showWallet()
}
+ async sendArrr() {
+ const arrrAmount = this.shadowRoot.getElementById('arrrAmountInput').value
+ let arrrRecipient = this.shadowRoot.getElementById('arrrRecipient').value
+ let arrrMemo = this.shadowRoot.getElementById('arrrMemo').value
+ const seed58 = this.wallets.get(this._selectedWallet).wallet.seed58
+
+ this.sendMoneyLoading = true
+ this.btnDisable = true
+
+ const makeRequest = async () => {
+ const opts = {
+ entropy58: seed58,
+ receivingAddress: arrrRecipient,
+ arrrAmount: arrrAmount,
+ memo: arrrMemo
+ }
+ const response = await parentEpml.request('sendArrr', opts)
+ return response
+ }
+
+ const manageResponse = (response) => {
+ if (response.length === 64) {
+ this.shadowRoot.getElementById('arrrAmountInput').value = 0
+ this.shadowRoot.getElementById('arrrRecipient').value = ''
+ this.shadowRoot.getElementById('arrrMemo').value = ''
+ this.errorMessage = ''
+ this.arrrRecipient = ''
+ this.arrrMemo=''
+ this.arrrAmount = 0
+ this.successMessage = this.renderSuccessText()
+ this.sendMoneyLoading = false
+ this.btnDisable = false
+ } else if (response === false) {
+ this.errorMessage = this.renderFailText()
+ this.sendMoneyLoading = false
+ this.btnDisable = false
+ throw new Error(txnResponse)
+ } else {
+ this.errorMessage = response.message
+ this.sendMoneyLoading = false
+ this.btnDisable = false
+ throw new Error(response)
+ }
+ }
+ const res = await makeRequest()
+ manageResponse(res)
+ this.showWallet()
+ }
+
async showWallet() {
this.transactionsDOM.hidden = true
this.loading = true
@@ -3842,11 +4330,91 @@ class MultiWallet extends LitElement {
this.wallets.get(this._selectedWallet).transactions = sortedTransactions
}
break
+ case 'arrr':
+ const arrrWalletName = `${coin}Wallet`
+
+ const res = await parentEpml.request('apiCall', {
+ url: `/crosschain/${coin}/syncstatus?apiKey=${this.getApiKey()}`,
+ method: 'POST',
+ body: `${window.parent.reduxStore.getState().app.selectedAddress[arrrWalletName].seed58}`,
+ })
+ if (coin != this._selectedWallet) {
+ // We've switched away from this coin
+ }
+ if (res !== null && res !== "Synchronized") {
+ // Not synchronized yet - display sync status instead of balance
+ this.balanceString = res;
+
+ // Check again shortly after
+ await new Promise(resolve => setTimeout(resolve, 2000));
+ this.showWallet()
+
+ // No need to make balance or transaction list calls yet
+ return
+ }
+
+ this.balanceString = this.renderFetchText()
+
+ parentEpml.request('apiCall', {
+ url: `/crosschain/${coin}/walletbalance?apiKey=${this.getApiKey()}`,
+ method: 'POST',
+ body: `${window.parent.reduxStore.getState().app.selectedAddress[arrrWalletName].seed58}`,
+ })
+ .then((res) => {
+ if (isNaN(Number(res))) {
+ let snack5string = get("walletpage.wchange33")
+ let snack6string = get("walletpage.wchange34")
+ parentEpml.request('showSnackBar', `${snack5string} ${coin.toLocaleUpperCase()} ${snack6string}!`)
+ } else {
+ if (this._selectedWallet == coin) {
+ this.wallets.get(this._selectedWallet).balance = (Number(res) / 1e8).toFixed(8)
+ this.balanceString = this.wallets.get(this._selectedWallet).balance + " " + this._selectedWallet.toLocaleUpperCase()
+ this.balance = this.wallets.get(this._selectedWallet).balance
+ }
+ }
+ })
+
+ const arrrTxs = await parentEpml.request('apiCall', {
+ url: `/crosschain/${coin}/wallettransactions?apiKey=${this.getApiKey()}`,
+ method: 'POST',
+ body: `${window.parent.reduxStore.getState().app.selectedAddress[arrrWalletName].seed58}`,
+ })
+
+ const arrrCompareFn = (a, b) => {
+ return b.timestamp - a.timestamp
+ }
+
+ const arrrSortedTransactions = arrrTxs.sort(arrrCompareFn)
+ console.log(arrrSortedTransactions)
+ if (this._selectedWallet == coin) {
+ this.wallets.get(this._selectedWallet).transactions = arrrSortedTransactions
+ }
+ break
default:
break
}
}
+ async fetchWalletAddress(coin) {
+ switch (coin) {
+ case 'arrr':
+ const arrrWalletName = `${coin}Wallet`
+ let res = await parentEpml.request('apiCall', {
+ url: `/crosschain/${coin}/walletaddress?apiKey=${this.getApiKey()}`,
+ method: 'POST',
+ body: `${window.parent.reduxStore.getState().app.selectedAddress[arrrWalletName].seed58}`,
+ })
+ if (res != null && res.error != 1201 && res.length === 78) {
+ this.arrrWalletAddress = res
+ }
+ break
+
+ default:
+ // Not used for other coins yet
+ break
+ }
+ }
+
renderSendButton() {
if ( this._selectedWallet === "qort" ) {
return html` this.openSendQort()}> ${translate("walletpage.wchange17")} QORT`
@@ -3860,6 +4428,8 @@ class MultiWallet extends LitElement {
return html` this.openSendDgb()}> ${translate("walletpage.wchange17")} DGB`
} else if ( this._selectedWallet === "rvn" ) {
return html` this.openSendRvn()}> ${translate("walletpage.wchange17")} RVN`
+ } else if ( this._selectedWallet === "arrr" ) {
+ return html` this.openSendArrr()}> ${translate("walletpage.wchange17")} ARRR`
} else {
return html``
}
@@ -3878,6 +4448,8 @@ class MultiWallet extends LitElement {
return html` this.openDgbAddressbook()}> ${translate("walletpage.wchange47")}`
} else if ( this._selectedWallet === "rvn" ) {
return html` this.openRvnAddressbook()}> ${translate("walletpage.wchange47")}`
+ } else if ( this._selectedWallet === "arrr" ) {
+ return html` this.openArrrAddressbook()}> ${translate("walletpage.wchange47")}`
} else {
return html``
}
@@ -3885,17 +4457,19 @@ class MultiWallet extends LitElement {
renderExportAddressbookButton() {
if ( this._selectedWallet === "qort" ) {
- return html` this.exportQortAdressbook()}> ${translate("walletpage.wchange54")}`
+ return html` this.exportQortAddressbook()}> ${translate("walletpage.wchange54")}`
} else if ( this._selectedWallet === "btc" ) {
- return html` this.exportBtcAdressbook()}> ${translate("walletpage.wchange54")}`
+ return html` this.exportBtcAddressbook()}> ${translate("walletpage.wchange54")}`
} else if ( this._selectedWallet === "ltc" ) {
- return html` this.exportKLtcAdressbook()}> ${translate("walletpage.wchange54")}`
+ return html` this.exportKLtcAddressbook()}> ${translate("walletpage.wchange54")}`
} else if ( this._selectedWallet === "doge" ) {
- return html` this.exportDogeAdressbook()}> ${translate("walletpage.wchange54")}`
+ return html` this.exportDogeAddressbook()}> ${translate("walletpage.wchange54")}`
} else if ( this._selectedWallet === "dgb" ) {
- return html` this.exportDgbAdressbook()}> ${translate("walletpage.wchange54")}`
+ return html` this.exportDgbAddressbook()}> ${translate("walletpage.wchange54")}`
} else if ( this._selectedWallet === "rvn" ) {
- return html` this.exportRvnAdressbook()}> ${translate("walletpage.wchange54")}`
+ return html` this.exportRvnAddressbook()}> ${translate("walletpage.wchange54")}`
+ } else if ( this._selectedWallet === "arrr" ) {
+ return html` this.exportArrrAddressbook()}> ${translate("walletpage.wchange54")}`
} else {
return html``
}
@@ -3903,17 +4477,19 @@ class MultiWallet extends LitElement {
renderImportAddressbookButton() {
if ( this._selectedWallet === "qort" ) {
- return html` this.openImportQortAdressbook()}> ${translate("walletpage.wchange53")}`
+ return html` this.openImportQortAddressbook()}> ${translate("walletpage.wchange53")}`
} else if ( this._selectedWallet === "btc" ) {
- return html` this.openImportBtcAdressbook()}> ${translate("walletpage.wchange53")}`
+ return html` this.openImportBtcAddressbook()}> ${translate("walletpage.wchange53")}`
} else if ( this._selectedWallet === "ltc" ) {
- return html` this.openImportLtcAdressbook()}> ${translate("walletpage.wchange53")}`
+ return html` this.openImportLtcAddressbook()}> ${translate("walletpage.wchange53")}`
} else if ( this._selectedWallet === "doge" ) {
- return html` this.openImportDogeAdressbook()}> ${translate("walletpage.wchange53")}`
+ return html` this.openImportDogeAddressbook()}> ${translate("walletpage.wchange53")}`
} else if ( this._selectedWallet === "dgb" ) {
- return html` this.openImportDgbAdressbook()}> ${translate("walletpage.wchange53")}`
+ return html` this.openImportDgbAddressbook()}> ${translate("walletpage.wchange53")}`
} else if ( this._selectedWallet === "rvn" ) {
- return html` this.openImportRvnAdressbook()}> ${translate("walletpage.wchange53")}`
+ return html` this.openImportRvnAddressbook()}> ${translate("walletpage.wchange53")}`
+ } else if ( this._selectedWallet === "arrr" ) {
+ return html` this.openImportArrrAddressbook()}> ${translate("walletpage.wchange53")}`
} else {
return html``
}
@@ -3939,10 +4515,14 @@ class MultiWallet extends LitElement {
this.shadowRoot.querySelector("#sendDgbDialog").show();
}
- openSendRvn() {
+ openSendRvn() {
this.shadowRoot.querySelector("#sendRvnDialog").show();
}
+ openSendArrr() {
+ this.shadowRoot.querySelector("#sendArrrDialog").show();
+ }
+
changeTheme() {
const checkTheme = localStorage.getItem('qortalTheme')
if (checkTheme === 'dark') {
@@ -3965,9 +4545,15 @@ class MultiWallet extends LitElement {
}
getSelectedWalletAddress() {
- return this._selectedWallet === 'qort'
- ? this.wallets.get(this._selectedWallet).wallet.address
- : this.wallets.get(this._selectedWallet).wallet.address
+ switch (this._selectedWallet) {
+ case "arrr":
+ // Use address returned by core API
+ return this.arrrWalletAddress
+
+ default:
+ // Use locally derived address
+ return this.wallets.get(this._selectedWallet).wallet.address
+ }
}
async getTransactionGrid(coin) {
@@ -4026,6 +4612,15 @@ class MultiWallet extends LitElement {
},
{ passive: true }
)
+ } else if (coin === 'arrr') {
+ this.transactionsGrid.addEventListener(
+ 'click',
+ (e) => {
+ let arrrItem = this.transactionsGrid.getEventContext(e).item
+ this.showArrrTransactionDetails(arrrItem, this.wallets.get(this._selectedWallet).transactions)
+ },
+ { passive: true }
+ )
}
this.pagesControl = this.shadowRoot.querySelector('#pages')
@@ -4045,6 +4640,8 @@ class MultiWallet extends LitElement {
render(this.renderDgbTransactions(this.wallets.get(this._selectedWallet).transactions, this._selectedWallet), this.transactionsDOM)
} else if (this._selectedWallet === 'rvn') {
render(this.renderRvnTransactions(this.wallets.get(this._selectedWallet).transactions, this._selectedWallet), this.transactionsDOM)
+ } else if (this._selectedWallet === 'arrr') {
+ render(this.renderArrrTransactions(this.wallets.get(this._selectedWallet).transactions, this._selectedWallet), this.transactionsDOM)
}
}
@@ -4368,7 +4965,7 @@ class MultiWallet extends LitElement {
`
}
- renderRvnTransactions(transactions, coin) {
+ renderRvnTransactions(transactions, coin) {
return html`
${translate("walletpage.wchange38")}
@@ -4430,7 +5027,81 @@ class MultiWallet extends LitElement {
- `
+ `
+ }
+
+ renderArrrTransactions(transactions, coin) {
+ return html`
+ ${translate("walletpage.wchange38")}
+
+ {
+ render(html`check`, root)
+ }}
+ >
+
+ {
+ render(html` ${translate("walletpage.wchange40")} ${data.item.totalAmount < 0 ? html`${translate("walletpage.wchange7")}` : html`${translate("walletpage.wchange8")}`} `, root)
+ }}
+ >
+
+
+
+ {
+ const amount = (Number(data.item.totalAmount) / 1e8).toFixed(8)
+ render(html`${amount}`, root)
+ }}
+ >
+
+ {
+ const time = new Date(data.item.timestamp)
+ render(html` `, root)
+ }}
+ >
+
+ {
+ render(html`${data.item.memo}`, root)
+ }}
+ >
+
+
+
+ `
}
async updateItemsFromPage(page, changeWallet = false) {
@@ -4619,7 +5290,7 @@ class MultiWallet extends LitElement {
})
}
- showRvnTransactionDetails(myTransaction, allTransactions) {
+ showRvnTransactionDetails(myTransaction, allTransactions) {
allTransactions.forEach((transaction) => {
if (myTransaction.txHash === transaction.txHash) {
let rvnTxnFlow = myTransaction.inputs[0].address === this.wallets.get(this._selectedWallet).wallet.address ? 'OUT' : 'IN'
@@ -4633,6 +5304,21 @@ class MultiWallet extends LitElement {
})
}
+ showArrrTransactionDetails(myTransaction, allTransactions) {
+ allTransactions.forEach((transaction) => {
+ if (myTransaction.txHash === transaction.txHash) {
+ let arrrTxnFlow = myTransaction.inputs[0].address === this.wallets.get(this._selectedWallet).wallet.address ? 'OUT' : 'IN'
+ let arrrSender = myTransaction.inputs[0].address
+ let arrrReceiver = myTransaction.outputs[0].address
+ this.selectedTransaction = { ...transaction, arrrTxnFlow, arrrSender, arrrReceiver }
+ if (this.selectedTransaction.txHash.length != 0) {
+ this.shadowRoot.querySelector('#showArrrTransactionDetailsDialog').show()
+ }
+ }
+ })
+ }
+
+
isEmptyArray(arr) {
if (!arr) {
return true