@@ -1642,7 +1792,7 @@ class MultiWallet extends LitElement {
}
const sortedTransactions = txs.sort(compareFn)
-
+ console.log(sortedTransactions)
if (this._selectedWallet == coin) {
this.wallets.get(this._selectedWallet).transactions = sortedTransactions
}
@@ -1704,8 +1854,35 @@ class MultiWallet extends LitElement {
this.transactionsGrid.addEventListener(
'click',
(e) => {
- let myItem = this.transactionsGrid.getEventContext(e).item
- this.showTransactionDetails(myItem, this.wallets.get(this._selectedWallet).transactions)
+ let qortItem = this.transactionsGrid.getEventContext(e).item
+ this.showQortTransactionDetails(qortItem, this.wallets.get(this._selectedWallet).transactions)
+ },
+ { passive: true }
+ )
+ } else if (coin === 'btc') {
+ this.transactionsGrid.addEventListener(
+ 'click',
+ (e) => {
+ let btcItem = this.transactionsGrid.getEventContext(e).item
+ this.showBtcTransactionDetails(btcItem, this.wallets.get(this._selectedWallet).transactions)
+ },
+ { passive: true }
+ )
+ } else if (coin === 'ltc') {
+ this.transactionsGrid.addEventListener(
+ 'click',
+ (e) => {
+ let ltcItem = this.transactionsGrid.getEventContext(e).item
+ this.showLtcTransactionDetails(ltcItem, this.wallets.get(this._selectedWallet).transactions)
+ },
+ { passive: true }
+ )
+ } else if (coin === 'doge') {
+ this.transactionsGrid.addEventListener(
+ 'click',
+ (e) => {
+ let dogeItem = this.transactionsGrid.getEventContext(e).item
+ this.showDogeTransactionDetails(dogeItem, this.wallets.get(this._selectedWallet).transactions)
},
{ passive: true }
)
@@ -1718,8 +1895,12 @@ class MultiWallet extends LitElement {
async renderTransactions() {
if (this._selectedWallet === 'qort') {
render(this.renderQortTransactions(this.wallets.get(this._selectedWallet).transactions, this._selectedWallet), this.transactionsDOM)
- } else {
- render(this.renderBTCLikeTransactions(this.wallets.get(this._selectedWallet).transactions, this._selectedWallet), this.transactionsDOM)
+ } else if (this._selectedWallet === 'btc') {
+ render(this.renderBtcTransactions(this.wallets.get(this._selectedWallet).transactions, this._selectedWallet), this.transactionsDOM)
+ } else if (this._selectedWallet === 'ltc') {
+ render(this.renderLtcTransactions(this.wallets.get(this._selectedWallet).transactions, this._selectedWallet), this.transactionsDOM)
+ } else if (this._selectedWallet === 'doge') {
+ render(this.renderDogeTransactions(this.wallets.get(this._selectedWallet).transactions, this._selectedWallet), this.transactionsDOM)
}
}
@@ -1780,7 +1961,137 @@ class MultiWallet extends LitElement {
`
}
- renderBTCLikeTransactions(transactions, coin) {
+ renderBtcTransactions(transactions, coin) {
+ return html`
+
Address has no transactions yet.
+
+ {
+ render(html`check`, root)
+ }}
+ >
+
+ {
+ render(html` PAYMENT ${data.item.inputs[0].address === this.wallets.get(this._selectedWallet).wallet.address ? html`OUT` : html`IN`} `, root)
+ }}
+ >
+
+ {
+ render(html`${data.item.inputs[0].address}`, root)
+ }}
+ >
+
+ {
+ render(html`${data.item.outputs[0].address}`, root)
+ }}
+ >
+
+
+ {
+ const amount = (Number(data.item.totalAmount) / 1e8).toFixed(8)
+ render(html`${amount}`, root)
+ }}
+ >
+
+ {
+ const time = new Date(data.item.timestamp * 1000)
+ render(html` `, root)
+ }}
+ >
+
+
+
+ `
+ }
+
+ renderLtcTransactions(transactions, coin) {
+ return html`
+
Address has no transactions yet.
+
+ {
+ render(html`check`, root)
+ }}
+ >
+
+ {
+ render(html` PAYMENT ${data.item.inputs[0].address === this.wallets.get(this._selectedWallet).wallet.address ? html`OUT` : html`IN`} `, root)
+ }}
+ >
+
+ {
+ render(html`${data.item.inputs[0].address}`, root)
+ }}
+ >
+
+ {
+ render(html`${data.item.outputs[0].address}`, root)
+ }}
+ >
+
+
+ {
+ const amount = (Number(data.item.totalAmount) / 1e8).toFixed(8)
+ render(html`${amount}`, root)
+ }}
+ >
+
+ {
+ const time = new Date(data.item.timestamp * 1000)
+ render(html` `, root)
+ }}
+ >
+
+
+
+ `
+ }
+
+ renderDogeTransactions(transactions, coin) {
return html`
Address has no transactions yet.
@@ -1963,7 +2274,7 @@ class MultiWallet extends LitElement {
`
}
- showTransactionDetails(myTransaction, allTransactions) {
+ showQortTransactionDetails(myTransaction, allTransactions) {
allTransactions.forEach((transaction) => {
if (myTransaction.signature === transaction.signature) {
let txnFlow = myTransaction.creatorAddress === this.wallets.get('qort').wallet.address ? 'OUT' : 'IN'
@@ -1975,6 +2286,48 @@ class MultiWallet extends LitElement {
})
}
+ showBtcTransactionDetails(myTransaction, allTransactions) {
+ allTransactions.forEach((transaction) => {
+ if (myTransaction.txHash === transaction.txHash) {
+ let btcTxnFlow = myTransaction.inputs[0].address === this.wallets.get(this._selectedWallet).wallet.address ? 'OUT' : 'IN'
+ let btcSender = myTransaction.inputs[0].address
+ let btcReceiver = myTransaction.outputs[0].address
+ this.selectedTransaction = { ...transaction, btcTxnFlow, btcSender, btcReceiver }
+ if (this.selectedTransaction.txHash.length != 0) {
+ this.shadowRoot.querySelector('#showBtcTransactionDetailsDialog').show()
+ }
+ }
+ })
+ }
+
+ showLtcTransactionDetails(myTransaction, allTransactions) {
+ allTransactions.forEach((transaction) => {
+ if (myTransaction.txHash === transaction.txHash) {
+ let ltcTxnFlow = myTransaction.inputs[0].address === this.wallets.get(this._selectedWallet).wallet.address ? 'OUT' : 'IN'
+ let ltcSender = myTransaction.inputs[0].address
+ let ltcReceiver = myTransaction.outputs[0].address
+ this.selectedTransaction = { ...transaction, ltcTxnFlow, ltcSender, ltcReceiver }
+ if (this.selectedTransaction.txHash.length != 0) {
+ this.shadowRoot.querySelector('#showLtcTransactionDetailsDialog').show()
+ }
+ }
+ })
+ }
+
+ showDogeTransactionDetails(myTransaction, allTransactions) {
+ allTransactions.forEach((transaction) => {
+ if (myTransaction.txHash === transaction.txHash) {
+ let dogeTxnFlow = myTransaction.inputs[0].address === this.wallets.get(this._selectedWallet).wallet.address ? 'OUT' : 'IN'
+ let dogeSender = myTransaction.inputs[0].address
+ let dogeReceiver = myTransaction.outputs[0].address
+ this.selectedTransaction = { ...transaction, dogeTxnFlow, dogeSender, dogeReceiver }
+ if (this.selectedTransaction.txHash.length != 0) {
+ this.shadowRoot.querySelector('#showDogeTransactionDetailsDialog').show()
+ }
+ }
+ })
+ }
+
isEmptyArray(arr) {
if (!arr) {
return true