Browse Source

Added tabs for tx type on qort wallet

TX types now divorced with shorter limit and their types for better overview
master
AlphaX-Projects 4 months ago
parent
commit
30439a9cf3
  1. 4
      core/language/us.json
  2. 74
      package-lock.json
  3. 6
      package.json
  4. 2
      plugins/plugins/core/components/plugins-css.js
  5. 431
      plugins/plugins/core/wallet/wallet-app.src.js

4
core/language/us.json

@ -248,7 +248,9 @@
"balance": "Balance",
"balances": "YOUR WALLET BALANCES",
"update": "UPDATE WALLET BALANCES",
"view": "View"
"view": "View",
"all": "All",
"page": "Page"
},
"gifs": {
"gchange1": "Gif Explorer",

74
package-lock.json generated

@ -47,7 +47,7 @@
"prosemirror-state": "1.4.3",
"prosemirror-transform": "1.9.0",
"prosemirror-view": "1.33.6",
"sass": "1.77.1",
"sass": "1.77.2",
"short-unique-id": "5.2.0",
"xhr2": "0.2.1"
},
@ -101,10 +101,12 @@
"@vaadin/grid": "24.2.9",
"@vaadin/icons": "24.2.9",
"@vaadin/password-field": "24.2.9",
"@vaadin/tabs": "24.2.9",
"@vaadin/tabsheet": "24.2.9",
"@vaadin/tooltip": "24.2.9",
"@zip.js/zip.js": "2.7.44",
"axios": "1.6.8",
"electron": "30.0.5",
"electron": "30.0.6",
"electron-builder": "24.13.3",
"epml": "0.3.3",
"eslint": "8.57.0",
@ -3965,6 +3967,50 @@
"@vaadin/vaadin-themable-mixin": "~24.2.9"
}
},
"node_modules/@vaadin/scroller": {
"version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/scroller/-/scroller-24.2.9.tgz",
"integrity": "sha512-CFAaJ6hGzncq46wARiu+B+AoSBiW+qJ4mJ4jmn2gIeTEAbv/IhMPv7GeuF2zKO6/eW6YyHm6wJRTMWcJszOYaQ==",
"dev": true,
"dependencies": {
"@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.9"
}
},
"node_modules/@vaadin/tabs": {
"version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/tabs/-/tabs-24.2.9.tgz",
"integrity": "sha512-cmiFzWyhEKXPGk7r3ExvZLiHJ7aVrN2fN//6PCPwag2ofLqNXvL2xw9RJrCDx1n8/aabNpRvYz0mAf+ucuE1Sw==",
"dev": true,
"dependencies": {
"@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.9",
"@vaadin/item": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.9"
}
},
"node_modules/@vaadin/tabsheet": {
"version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/tabsheet/-/tabsheet-24.2.9.tgz",
"integrity": "sha512-M5Wn60dEJepSQR6BmLveHVQqeZ+OiaoHBG4KAl8cAg3xFRy7peO3w6fVJfn5XhHO1BEoGx5rqAa31YXguV9hiw==",
"dev": true,
"dependencies": {
"@polymer/polymer": "^3.0.0",
"@vaadin/component-base": "~24.2.9",
"@vaadin/scroller": "~24.2.9",
"@vaadin/tabs": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.9"
}
},
"node_modules/@vaadin/text-field": {
"version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.2.9.tgz",
@ -5018,9 +5064,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001618",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz",
"integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg==",
"version": "1.0.30001620",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz",
"integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==",
"dev": true,
"funding": [
{
@ -5741,9 +5787,9 @@
}
},
"node_modules/electron": {
"version": "30.0.5",
"resolved": "https://registry.npmjs.org/electron/-/electron-30.0.5.tgz",
"integrity": "sha512-+a7PjcAq2HrfF1l+Ez8n0W9YeZIam7E9ERHEGs+L2dqKu7qxk8GNSEFoBEPCpLI00p/fc0d76L9IcLCQJdNFqA==",
"version": "30.0.6",
"resolved": "https://registry.npmjs.org/electron/-/electron-30.0.6.tgz",
"integrity": "sha512-PkhEPFdpYcTzjAO3gMHZ+map7g2+xCrMDedo/L1i0ir2BRXvAB93IkTJX497U6Srb/09r2cFt+k20VPNVCdw3Q==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@ -6032,9 +6078,9 @@
}
},
"node_modules/electron-to-chromium": {
"version": "1.4.769",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.769.tgz",
"integrity": "sha512-bZu7p623NEA2rHTc9K1vykl57ektSPQYFFqQir8BOYf6EKOB+yIsbFB9Kpm7Cgt6tsLr9sRkqfqSZUw7LP1XxQ==",
"version": "1.4.774",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.774.tgz",
"integrity": "sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg==",
"dev": true
},
"node_modules/electron-updater": {
@ -9701,9 +9747,9 @@
}
},
"node_modules/sass": {
"version": "1.77.1",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.77.1.tgz",
"integrity": "sha512-OMEyfirt9XEfyvocduUIOlUSkWOXS/LAt6oblR/ISXCTukyavjex+zQNm51pPCOiFKY1QpWvEH1EeCkgyV3I6w==",
"version": "1.77.2",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.77.2.tgz",
"integrity": "sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==",
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",

6
package.json

@ -69,7 +69,7 @@
"prosemirror-state": "1.4.3",
"prosemirror-transform": "1.9.0",
"prosemirror-view": "1.33.6",
"sass": "1.77.1",
"sass": "1.77.2",
"short-unique-id": "5.2.0",
"xhr2": "0.2.1"
},
@ -123,10 +123,12 @@
"@vaadin/grid": "24.2.9",
"@vaadin/icons": "24.2.9",
"@vaadin/password-field": "24.2.9",
"@vaadin/tabs": "24.2.9",
"@vaadin/tabsheet": "24.2.9",
"@vaadin/tooltip": "24.2.9",
"@zip.js/zip.js": "2.7.44",
"axios": "1.6.8",
"electron": "30.0.5",
"electron": "30.0.6",
"electron-builder": "24.13.3",
"epml": "0.3.3",
"eslint": "8.57.0",

2
plugins/plugins/core/components/plugins-css.js

@ -13205,7 +13205,7 @@ export const multiWalletStyles = css`
}
#transactions {
margin-top: 30px;
margin-top: 25px;
margin-left: 20px;
margin-right: 20px;
border-top: 1px solid var(--border);

431
plugins/plugins/core/wallet/wallet-app.src.js

@ -29,6 +29,8 @@ import '@vaadin/grid'
import '@vaadin/icon'
import '@vaadin/icons'
import '@vaadin/password-field'
import '@vaadin/tabs'
import '@vaadin/tabsheet'
// Multi language support
import { get, registerTranslateConfig, translate, use } from '../../../../core/translate'
@ -127,7 +129,12 @@ class MultiWallet extends LitElement {
bookDogecoinAddress: { type: String },
bookDigibyteAddress: { type: String },
bookRavencoinAddress: { type: String },
bookPiratechainAddress: { type: String }
bookPiratechainAddress: { type: String },
visitedTab: { type: Number },
searchOffset: { type: Number },
searchLimit: { type: Number },
counter: { type: Number },
pageButtonsHidden: { type: Boolean }
}
}
@ -235,6 +242,11 @@ class MultiWallet extends LitElement {
this.bookDigibyteAddress = ''
this.bookRavencoinAddress = ''
this.bookPiratechainAddress = ''
this.visitedTab = 0
this.searchOffset = 0
this.searchLimit = 10
this.counter = 1
this.pageButtonsHidden = false
this.wallets = new Map()
let coinProp = {
@ -387,6 +399,7 @@ class MultiWallet extends LitElement {
<div class="qrcode-pos" ?hidden="${this.getSelectedWalletAddress().length < 1}">
<qortal-qrcode-generator data="${this.getSelectedWalletAddress()}" mode="octet" format="html" auto></qortal-qrcode-generator>
</div>
${this.renderTabTransactions()}
<div id="transactions">
${this.loading ? html`
<paper-spinner-lite style="display: block; margin: 5px auto;" active></paper-spinner-lite>
@ -2246,7 +2259,7 @@ class MultiWallet extends LitElement {
this.transactionsDOM = this.shadowRoot.getElementById('transactionsDOM')
this.showWallet()
this.showNewQortWallet()
window.addEventListener('storage', () => {
const checkLanguage = localStorage.getItem('qortalLanguage')
@ -2282,6 +2295,38 @@ class MultiWallet extends LitElement {
}, 600000)
}
async myTabChanged(value) {
this.pageButtonsHidden = false
this.visitedTab = value
this.searchOffset = 0
this.searchLimit = 10
this.counter = 1
await this.renderNewDom()
}
renderTabTransactions() {
if (this._selectedWallet == 'qort') {
return html`
<div style="margin-top: 10px;">
<vaadin-tabs>
<vaadin-tab id="type" disabled><span style="color: var(--black);">${translate("walletpage.wchange6")} :</span></vaadin-tab>
<vaadin-tab id="payment-tab" style="cursor: pointer;" @click=${(e) => this.myTabChanged(0)}>PAYMENT</vaadin-tab>
<vaadin-tab id="arbitary-tab" style="cursor: pointer;" @click=${(e) => this.myTabChanged(1)}>ARBITARY</vaadin-tab>
<vaadin-tab id="at-tab" style="cursor: pointer;" @click=${(e) => this.myTabChanged(2)}>AT</vaadin-tab>
<vaadin-tab id="group-tab" style="cursor: pointer;" @click=${(e) => this.myTabChanged(3)}>GROUP</vaadin-tab>
<vaadin-tab id="name-tab" style="cursor: pointer;" @click=${(e) => this.myTabChanged(4)}>NAME</vaadin-tab>
<vaadin-tab id="asset-tab" style="cursor: pointer;" @click=${(e) => this.myTabChanged(5)}>ASSET</vaadin-tab>
<vaadin-tab id="poll-tab" style="cursor: pointer;" @click=${(e) => this.myTabChanged(6)}>POLL</vaadin-tab>
<vaadin-tab id="rewarshare-tab" style="cursor: pointer;" @click=${(e) => this.myTabChanged(7)}>REWARDSHARE</vaadin-tab>
<vaadin-tab id="misc-tab" style="cursor: pointer;" @click=${(e) => this.myTabChanged(8)}>MISC</vaadin-tab>
</vaadin-tabs>
</div>
`
} else {
return html``
}
}
async paymentFee() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
@ -2499,7 +2544,11 @@ class MultiWallet extends LitElement {
tabWalletQort() {
this._selectedWallet = 'qort'
this.showWallet()
this.visitedTab = 0
this.searchOffset = 0
this.searchLimit = 10
this.pageButtonsHidden = false
this.showNewQortWallet()
}
tabWalletBtc() {
@ -3538,19 +3587,18 @@ class MultiWallet extends LitElement {
renderCAB() {
return html`
<span>${this.selectedTransaction.aTAddress}</span>
<button-icon-copy
title="${translate("blockpage.bcchange8")}"
onSuccessMessage="${translate("walletpage.wchange4")}"
onErrorMessage="${translate("walletpage.wchange39")}"
textToCopy=${this.selectedTransaction.aTAddress}
buttonSize="24px"
iconSize="16px"
color="var(--copybutton)"
offsetLeft="4px"
>
</button-icon-copy>
`
<span>${this.selectedTransaction.aTAddress}</span>
<button-icon-copy
title="${translate("blockpage.bcchange8")}"
onSuccessMessage="${translate("walletpage.wchange4")}"
onErrorMessage="${translate("walletpage.wchange39")}"
textToCopy=${this.selectedTransaction.aTAddress}
buttonSize="24px"
iconSize="16px"
color="var(--copybutton)"
offsetLeft="4px"
></button-icon-copy>
`
}
renderFetchText() {
@ -3857,7 +3905,7 @@ class MultiWallet extends LitElement {
}
}
await validateReceiver(recipient)
await this.showWallet()
await this.showNewQortWallet()
}
async sendBtc() {
@ -4139,15 +4187,21 @@ class MultiWallet extends LitElement {
if (this._selectedWallet == 'qort') {
if (!window.parent.reduxStore.getState().app.blockInfo.height) {
await parentEpml.request('apiCall', { url: `/blocks/height`, type: 'api' })
.then(height => parentEpml.request('updateBlockInfo', { height }))
await parentEpml.request('apiCall', {
url: `/blocks/height`,
type: 'api'
}).then(height => parentEpml.request('updateBlockInfo', {
height
}))
}
}
const coin = this._selectedWallet
await this.fetchWalletAddress(this._selectedWallet)
await this.fetchWalletServer(this._selectedWallet)
await this.fetchWalletDetails(this._selectedWallet)
await this.fetchWalletServer(this._selectedWallet)
if (this._selectedWallet == coin) {
await this.renderTransactions()
await this.getTransactionGrid(this._selectedWallet)
@ -4157,32 +4211,314 @@ class MultiWallet extends LitElement {
}
}
async showNewQortWallet() {
this.pageButtonsHidden = false
this.transactionsDOM.hidden = true
this.loading = true
if (!window.parent.reduxStore.getState().app.blockInfo.height) {
await parentEpml.request('apiCall', {
url: `/blocks/height`,
type: 'api'
}).then(height => parentEpml.request('updateBlockInfo', {
height
}))
}
const coin = this._selectedWallet
this.balanceString = this.renderFetchText()
parentEpml.request('apiCall', {
url: `/addresses/balance/${this.wallets.get('qort').wallet.address}`
}).then((res) => {
if (isNaN(Number(res))) {
let snack4string = get("walletpage.wchange32")
parentEpml.request('showSnackBar', `${snack4string}`)
} else {
if (this._selectedWallet == coin) {
this.wallets.get(coin).balance = Number(res).toFixed(8)
this.balanceString = this.wallets.get(this._selectedWallet).balance + " " + this._selectedWallet.toLocaleUpperCase()
this.balance = this.wallets.get(this._selectedWallet).balance
}
}
})
await this.fetchWalletDetails(this._selectedWallet)
await this.fetchWalletServer(this._selectedWallet)
this.shadowRoot.getElementById('type').selected = false
this.shadowRoot.getElementById('payment-tab').selected = true
this.shadowRoot.getElementById('arbitary-tab').selected = false
this.shadowRoot.getElementById('at-tab').selected = false
this.shadowRoot.getElementById('group-tab').selected = false
this.shadowRoot.getElementById('name-tab').selected = false
this.shadowRoot.getElementById('asset-tab').selected = false
this.shadowRoot.getElementById('poll-tab').selected = false
this.shadowRoot.getElementById('rewarshare-tab').selected = false
this.shadowRoot.getElementById('misc-tab').selected = false
if (this._selectedWallet == coin) {
await this.renderTransactions()
await this.getTransactionGrid(this._selectedWallet)
this.loading = false
this.transactionsDOM.hidden = false
}
}
async renderNewDom() {
this.transactionsDOM.hidden = true
this.loading = true
if (!window.parent.reduxStore.getState().app.blockInfo.height) {
await parentEpml.request('apiCall', {
url: `/blocks/height`,
type: 'api'
}).then(height => parentEpml.request('updateBlockInfo', {
height
}))
}
const coin = this._selectedWallet
await this.fetchWalletDetails(this._selectedWallet)
if (this._selectedWallet == coin) {
await this.renderTransactions()
await this.getTransactionGrid(this._selectedWallet)
this.loading = false
this.transactionsDOM.hidden = false
}
}
goBackwardTX() {
if (this.searchOffset === 0) {
this.pageButtonsHidden = false
this.searchLimit = 10
this.counter = 1
} else {
this.pageButtonsHidden = false
this.searchLimit = 10
this.counter = this.searchOffset / 10
this.searchOffset = this.searchOffset - 10
this.renderNewDom()
}
}
goForwardTX() {
this.pageButtonsHidden = false
this.searchLimit = 10
this.searchOffset = this.searchOffset + 10
this.counter = (this.searchOffset / 10) + 1
this.renderNewDom()
}
showAllTX() {
this.pageButtonsHidden = true
this.searchLimit = 0
this.searchOffset = 0
this.counter = 1
this.renderNewDom()
}
async fetchWalletDetails(coin) {
switch (coin) {
case 'qort':
this.balanceString = this.renderFetchText()
parentEpml.request('apiCall', {
url: `/addresses/balance/${this.wallets.get('qort').wallet.address}?apiKey=${this.getApiKey()}`
}).then((res) => {
if (isNaN(Number(res))) {
let snack4string = get("walletpage.wchange32")
parentEpml.request('showSnackBar', `${snack4string}`)
} else {
if (this._selectedWallet == coin) {
this.wallets.get(coin).balance = Number(res).toFixed(8)
this.balanceString = this.wallets.get(this._selectedWallet).balance + " " + this._selectedWallet.toLocaleUpperCase()
this.balance = this.wallets.get(this._selectedWallet).balance
}
}
const paymentTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=PAYMENT
`
})
const pendingPaymentTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=PAYMENT
`
})
const arbitaryTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=ARBITRARY
`
})
const pendingArbitaryTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=ARBITRARY
`
})
const atTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=AT
&txType=DEPLOY_AT
&txType=MESSAGE
`
})
const pendingAtTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=AT
&txType=DEPLOY_AT
&txType=MESSAGE
`
})
const groupTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=CREATE_GROUP
&txType=UPDATE_GROUP
&txType=ADD_GROUP_ADMIN
&txType=REMOVE_GROUP_ADMIN
&txType=GROUP_BAN
&txType=CANCEL_GROUP_BAN
&txType=GROUP_KICK
&txType=GROUP_INVITE
&txType=CANCEL_GROUP_INVITE
&txType=JOIN_GROUP
&txType=LEAVE_GROUP
&txType=GROUP_APPROVAL
&txType=SET_GROUP
`
})
const pendingGroupTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=CREATE_GROUP
&txType=UPDATE_GROUP
&txType=ADD_GROUP_ADMIN
&txType=REMOVE_GROUP_ADMIN
&txType=GROUP_BAN
&txType=CANCEL_GROUP_BAN
&txType=GROUP_KICK
&txType=GROUP_INVITE
&txType=CANCEL_GROUP_INVITE
&txType=JOIN_GROUP
&txType=LEAVE_GROUP
&txType=GROUP_APPROVAL
&txType=SET_GROUP
`
})
const txsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true&txType=PAYMENT&txType=REGISTER_NAME&txType=UPDATE_NAME&txType=SELL_NAME&txType=CANCEL_SELL_NAME&txType=BUY_NAME&txType=CREATE_POLL&txType=VOTE_ON_POLL&txType=ARBITRARY&txType=ISSUE_ASSET&txType=TRANSFER_ASSET&txType=CREATE_ASSET_ORDER&txType=CANCEL_ASSET_ORDER&txType=MULTI_PAYMENT&txType=DEPLOY_AT&txType=MESSAGE&txType=AIRDROP&txType=AT&txType=CREATE_GROUP&txType=UPDATE_GROUP&txType=ADD_GROUP_ADMIN&txType=REMOVE_GROUP_ADMIN&txType=GROUP_BAN&txType=CANCEL_GROUP_BAN&txType=GROUP_KICK&txType=GROUP_INVITE&txType=CANCEL_GROUP_INVITE&txType=JOIN_GROUP&txType=LEAVE_GROUP&txType=GROUP_APPROVAL&txType=SET_GROUP&txType=UPDATE_ASSET&txType=ACCOUNT_FLAGS&txType=ENABLE_FORGING&txType=REWARD_SHARE&txType=ACCOUNT_LEVEL&txType=TRANSFER_PRIVS&txType=PRESENCE`,
const nameTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=REGISTER_NAME
&txType=UPDATE_NAME
&txType=SELL_NAME
&txType=CANCEL_SELL_NAME
&txType=BUY_NAME
`
})
const pendingTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true&txType=PAYMENT&txType=REGISTER_NAME&txType=UPDATE_NAME&txType=SELL_NAME&txType=CANCEL_SELL_NAME&txType=BUY_NAME&txType=CREATE_POLL&txType=VOTE_ON_POLL&txType=ARBITRARY&txType=ISSUE_ASSET&txType=TRANSFER_ASSET&txType=CREATE_ASSET_ORDER&txType=CANCEL_ASSET_ORDER&txType=MULTI_PAYMENT&txType=DEPLOY_AT&txType=MESSAGE&txType=AIRDROP&txType=AT&txType=CREATE_GROUP&txType=UPDATE_GROUP&txType=ADD_GROUP_ADMIN&txType=REMOVE_GROUP_ADMIN&txType=GROUP_BAN&txType=CANCEL_GROUP_BAN&txType=GROUP_KICK&txType=GROUP_INVITE&txType=CANCEL_GROUP_INVITE&txType=JOIN_GROUP&txType=LEAVE_GROUP&txType=GROUP_APPROVAL&txType=SET_GROUP&txType=UPDATE_ASSET&txType=ACCOUNT_FLAGS&txType=ENABLE_FORGING&txType=REWARD_SHARE&txType=ACCOUNT_LEVEL&txType=TRANSFER_PRIVS&txType=PRESENCE`,
const pendingNameTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=REGISTER_NAME
&txType=UPDATE_NAME
&txType=SELL_NAME
&txType=CANCEL_SELL_NAME
&txType=BUY_NAME
`
})
const assetTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=ISSUE_ASSET
&txType=TRANSFER_ASSET
&txType=CREATE_ASSET_ORDER
&txType=CANCEL_ASSET_ORDER
&txType=UPDATE_ASSET
`
})
const pendingAssetTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=ISSUE_ASSET
&txType=TRANSFER_ASSET
&txType=CREATE_ASSET_ORDER
&txType=CANCEL_ASSET_ORDER
&txType=UPDATE_ASSET
`
})
const pollTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=CREATE_POLL
&txType=VOTE_ON_POLL
`
})
const pendingPollTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=CREATE_POLL
&txType=VOTE_ON_POLL
`
})
const rewardshareTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=REWARD_SHARE
`
})
const pendingRewardshareTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=REWARD_SHARE
`
})
const miscTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=TRANSFER_PRIVS
&txType=PRESENCE
`
})
const pendingMiscTxsQort = await parentEpml.request('apiCall', {
url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
&limit=${this.searchLimit}
&offset=${this.searchOffset}
&txType=TRANSFER_PRIVS
&txType=PRESENCE
`
})
if (this._selectedWallet == coin) {
this.wallets.get(coin).transactions = pendingTxsQort.concat(txsQort)
if (this.visitedTab === 0) {
this.wallets.get(coin).transactions = pendingPaymentTxsQort.concat(paymentTxsQort)
} else if (this.visitedTab === 1) {
this.wallets.get(coin).transactions = pendingArbitaryTxsQort.concat(arbitaryTxsQort)
} else if (this.visitedTab === 2) {
this.wallets.get(coin).transactions = pendingAtTxsQort.concat(atTxsQort)
} else if (this.visitedTab === 3) {
this.wallets.get(coin).transactions = pendingGroupTxsQort.concat(groupTxsQort)
} else if (this.visitedTab === 4) {
this.wallets.get(coin).transactions = pendingNameTxsQort.concat(nameTxsQort)
} else if (this.visitedTab === 5) {
this.wallets.get(coin).transactions = pendingAssetTxsQort.concat(assetTxsQort)
} else if (this.visitedTab === 6) {
this.wallets.get(coin).transactions = pendingPollTxsQort.concat(pollTxsQort)
} else if (this.visitedTab === 7) {
this.wallets.get(coin).transactions = pendingRewardshareTxsQort.concat(rewardshareTxsQort)
} else if (this.visitedTab === 8) {
this.wallets.get(coin).transactions = pendingMiscTxsQort.concat(miscTxsQort)
}
}
break
case 'btc':
@ -4643,7 +4979,7 @@ class MultiWallet extends LitElement {
}
return html`
<div style="padding-left:12px;" ?hidden="${!this.isEmptyArray(transactions)}"><span style="color: var(--black);">${translate("walletpage.wchange38")}</span></div>
<vaadin-grid theme="large" id="${coin}TransactionsGrid" ?hidden="${this.isEmptyArray(this.wallets.get(this._selectedWallet).transactions)}" page-size="25" all-rows-visible>
<vaadin-grid theme="large" id="${coin}TransactionsGrid" ?hidden="${this.isEmptyArray(this.wallets.get(this._selectedWallet).transactions)}" .items="${this.wallets.get(this._selectedWallet).transactions}" all-rows-visible>
<vaadin-grid-column
auto-width
header="${translate("walletpage.wchange41")}"
@ -4709,7 +5045,20 @@ class MultiWallet extends LitElement {
>
</vaadin-grid-column>
</vaadin-grid>
<div id="pages"></div>
<div style="margin-top: 10px;">
<vaadin-button theme="primary small" style="cursor: pointer;" ?hidden="${this.pageButtonsHidden}" @click=${() => this.goBackwardTX()}>
<< <span style="text-transform: uppercase; font-size: 14px;">${translate("general.back")}</span>
</vaadin-button>
<span style="color: var(--black); font-size: 16px; font-weight: 600;">&nbsp;${translate("general.page")} ${this.counter}&nbsp;</span>
<vaadin-button theme="primary small" style="cursor: pointer;" ?hidden="${this.wallets.get(this._selectedWallet).transactions.length < 10 || this.pageButtonsHidden}" @click=${() => this.goForwardTX()}>
<span style="text-transform: uppercase; font-size: 14px;">${translate("general.next")}</span> >>
</vaadin-button>
<div style="float: right;">
<vaadin-button theme="primary small" style="cursor: pointer;" @click=${() => this.showAllTX()}>
<span style="text-transform: uppercase; font-size: 14px;">${translate("general.view")} ${translate("general.all")}</span>
</vaadin-button>
</div>
</div>
`
}

Loading…
Cancel
Save