mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-03-28 08:15:54 +00:00
2727 lines
134 KiB
JavaScript
2727 lines
134 KiB
JavaScript
import { LitElement, html, css } 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, translateUnsafeHTML } from 'lit-translate'
|
|
import localForage from "localforage";
|
|
|
|
const chatLastSeen = localForage.createInstance({
|
|
name: "chat-last-seen",
|
|
})
|
|
|
|
import '@polymer/paper-icon-button/paper-icon-button.js'
|
|
import '@polymer/paper-progress/paper-progress.js'
|
|
import '@polymer/iron-icons/iron-icons.js'
|
|
import '@polymer/app-layout/app-layout.js'
|
|
import '@polymer/paper-ripple'
|
|
import '@vaadin/button'
|
|
import '@vaadin/icon'
|
|
import '@vaadin/icons'
|
|
import '@vaadin/text-field'
|
|
import '@vaadin/tooltip'
|
|
|
|
import './wallet-profile.js'
|
|
import './app-info.js'
|
|
import './show-plugin.js'
|
|
import './theme-toggle.js'
|
|
import './language-selector.js'
|
|
import './settings-view/user-settings.js'
|
|
import './logout-view/logout-view.js'
|
|
import './check-for-update.js'
|
|
import './search-modal.js'
|
|
import './user-info-view/user-info-view.js'
|
|
import '../functional-components/side-menu.js'
|
|
import '../functional-components/side-menu-item.js'
|
|
import './start-minting.js'
|
|
import './notification-view/notification-bell.js'
|
|
import { setChatLastSeen } from '../redux/app/app-actions.js'
|
|
|
|
const parentEpml = new Epml({ type: 'WINDOW', source: window.parent })
|
|
|
|
class AppView extends connect(store)(LitElement) {
|
|
static get properties() {
|
|
return {
|
|
config: { type: Object },
|
|
urls: { type: Object },
|
|
nodeType: { type: String, reflect: true },
|
|
theme: { type: String, reflect: true },
|
|
addressInfo: { type: Object },
|
|
getAllBalancesLoading: { type: Boolean },
|
|
botQortWallet: { type: String },
|
|
botBtcWallet: { type: String },
|
|
botLtcWallet: { type: String },
|
|
botDogeWallet: { type: String },
|
|
botDgbWallet: { type: String },
|
|
botRvnWallet: { type: String },
|
|
botArrrWallet: { type: String },
|
|
arrrWalletAddress: { type: String },
|
|
qortWalletBalance: { type: Number },
|
|
btcWalletBalance: { type: Number },
|
|
ltcWalletBalance: { type: Number },
|
|
dogeWalletBalance: { type: Number },
|
|
dgbWalletBalance: { type: Number },
|
|
rvnWalletBalance: { type: Number },
|
|
arrrWalletBalance: { type: Number },
|
|
tradesOpenBtcQortal: { type: Array },
|
|
tradesOpenLtcQortal: { type: Array },
|
|
tradesOpenDogeQortal: { type: Array },
|
|
tradesOpenDgbQortal: { type: Array },
|
|
tradesOpenRvnQortal: { type: Array },
|
|
tradesOpenArrrQortal: { type: Array },
|
|
tradeBotBtcBook: { type: Array },
|
|
tradeBotLtcBook: { type: Array },
|
|
tradeBotDogeBook: { type: Array },
|
|
tradeBotDgbBook: { type: Array },
|
|
tradeBotRvnBook: { type: Array },
|
|
tradeBotArrrBook: { type: Array },
|
|
tradeBotBtcAt: { type: Array },
|
|
tradeBotLtcAt: { type: Array },
|
|
tradeBotDogeAt: { type: Array },
|
|
tradeBotDgbAt: { type: Array },
|
|
tradeBotRvnAt: { type: Array },
|
|
tradeBotArrrAt: { type: Array },
|
|
tradeBotAvailableBtcQortal: { type: Array },
|
|
tradeBotAvailableLtcQortal: { type: Array },
|
|
tradeBotAvailableDogeQortal: { type: Array },
|
|
tradeBotAvailableDgbQortal: { type: Array },
|
|
tradeBotAvailableRvnQortal: { type: Array },
|
|
tradeBotAvailableArrrQortal: { type: Array },
|
|
checkBtcAlice: { type: String },
|
|
checkLtcAlice: { type: String },
|
|
checkDogeAlice: { type: String },
|
|
checkDgbAlice: { type: String },
|
|
checkRvnAlice: { type: String },
|
|
checkArrrAlice: { type: String },
|
|
reAddBtcAmount: { type: Number },
|
|
reAddLtcAmount: { type: Number },
|
|
reAddDogeAmount: { type: Number },
|
|
reAddDgbAmount: { type: Number },
|
|
reAddRvnAmount: { type: Number },
|
|
reAddArrrAmount: { type: Number },
|
|
reAddBtcPrice: { type: Number },
|
|
reAddLtcPrice: { type: Number },
|
|
reAddDogePrice: { type: Number },
|
|
reAddDgbPrice: { type: Number },
|
|
reAddRvnPrice: { type: Number },
|
|
reAddArrrPrice: { type: Number },
|
|
botBtcBuyAtAddress: { type: String },
|
|
botLtcBuyAtAddress: { type: String },
|
|
botDogeBuyAtAddress: { type: String },
|
|
botDgbBuyAtAddress: { type: String },
|
|
botRvnBuyAtAddress: { type: String },
|
|
botArrrBuyAtAddress: { type: String },
|
|
balanceTicker: { type: String }
|
|
}
|
|
}
|
|
|
|
static get styles() {
|
|
return [
|
|
css`
|
|
* {
|
|
--mdc-theme-primary: rgb(3, 169, 244);
|
|
--mdc-theme-secondary: var(--mdc-theme-primary);
|
|
--mdc-theme-error: rgb(255, 89, 89);
|
|
--lumo-primary-text-color: rgb(0, 167, 245);
|
|
--lumo-primary-color-50pct: rgba(0, 167, 245, 0.5);
|
|
--lumo-primary-color-10pct: rgba(0, 167, 245, 0.1);
|
|
--lumo-primary-color: hsl(199, 100%, 48%);
|
|
--lumo-base-color: var(--white);
|
|
--lumo-body-text-color: var(--black);
|
|
--lumo-secondary-text-color: var(--sectxt);
|
|
--lumo-contrast-60pct: var(--vdicon);
|
|
--item-selected-color: var(--nav-selected-color);
|
|
--item-selected-color-text: var(--nav-selected-color-text);
|
|
--item-color-active: var(--nav-color-active);
|
|
--item-color-hover: var(--nav-color-hover);
|
|
--item-text-color: var(--nav-text-color);
|
|
--item-icon-color: var(--nav-icon-color);
|
|
--item-border-color: var(--nav-border-color);
|
|
--item-border-selected-color: var(--nav-border-selected-color);
|
|
}
|
|
|
|
:host {
|
|
--app-drawer-width: 260px;
|
|
}
|
|
|
|
app-drawer-layout:not([narrow]) [drawer-toggle]:not(side-menu-item) {
|
|
display: none;
|
|
}
|
|
|
|
app-drawer {
|
|
box-shadow: var(--shadow-2);
|
|
}
|
|
|
|
app-header {
|
|
box-shadow: var(--shadow-2);
|
|
}
|
|
|
|
app-toolbar {
|
|
background: var(--sidetopbar);
|
|
color: var(--black);
|
|
border-top: var(--border);
|
|
height: 48px;
|
|
padding: 3px;
|
|
}
|
|
|
|
paper-progress {
|
|
--paper-progress-active-color: var(--mdc-theme-primary);
|
|
}
|
|
|
|
.s-menu {
|
|
list-style: none;
|
|
padding: 0px 0px;
|
|
background: var(--sidetopbar);
|
|
border-radius: 2px;
|
|
width: 100%;
|
|
border-top: 1px solid var(--border);
|
|
outline: none;
|
|
}
|
|
|
|
.search {
|
|
display: inline;
|
|
width: 50%;
|
|
align-items: center;
|
|
}
|
|
|
|
#sideBar {
|
|
height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
background: var(--sidetopbar);
|
|
}
|
|
|
|
.sideBarMenu {
|
|
overflow-y: auto;
|
|
flex: 1 1;
|
|
}
|
|
|
|
.sideBarMenu::-webkit-scrollbar-track {
|
|
background-color: whitesmoke;
|
|
border-radius: 7px;
|
|
}
|
|
|
|
.sideBarMenu::-webkit-scrollbar {
|
|
width: 6px;
|
|
border-radius: 7px;
|
|
background-color: whitesmoke;
|
|
}
|
|
|
|
.sideBarMenu::-webkit-scrollbar-thumb {
|
|
background-color: rgb(180, 176, 176);
|
|
border-radius: 7px;
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
#balanceheader {
|
|
flex: 0 0 24px;
|
|
padding: 12px 12px 45px 12px;
|
|
border-bottom: 1px solid var(--border);
|
|
background: var(--sidetopbar);
|
|
}
|
|
|
|
.balanceheadertext {
|
|
position: absolute;
|
|
margin: auto;
|
|
font-size: 14px;
|
|
font-weight: 400;
|
|
width: 250px;
|
|
display: inline;
|
|
padding-top: 5px;
|
|
padding-bottom: 5px;
|
|
color: var(--nav-text-color);
|
|
}
|
|
|
|
#balances {
|
|
flex: 0 0 24px;
|
|
padding: 12px;
|
|
background: var(--sidetopbar);
|
|
}
|
|
|
|
.balancelist {
|
|
align-items: center;
|
|
float: left;
|
|
opacity: 1;
|
|
position: relative;
|
|
}
|
|
|
|
.balanceinfo {
|
|
position: absolute;
|
|
margin: auto;
|
|
font-size: 14px;
|
|
font-weight: 100;
|
|
width: 250px;
|
|
display: inline;
|
|
padding-top: 5px;
|
|
padding-bottom: 5px;
|
|
color: var(--black);
|
|
}
|
|
|
|
.qort {
|
|
animation: animate1 4s 2s 1 ease-in-out ;
|
|
color: var(--black);
|
|
opacity: 0;
|
|
}
|
|
|
|
.btc {
|
|
animation: animate2 4s 8s 1 ease-in-out ;
|
|
color: var(--black);
|
|
opacity: 0;
|
|
}
|
|
|
|
.ltc {
|
|
animation: animate3 4s 14s 1 ease-in-out ;
|
|
color: var(--black);
|
|
opacity: 0;
|
|
}
|
|
|
|
.doge {
|
|
animation: animate4 4s 20s 1 ease-in-out ;
|
|
color: var(--black);
|
|
opacity: 0;
|
|
}
|
|
|
|
.dgb {
|
|
animation: animate5 4s 26s 1 ease-in-out ;
|
|
color: var(--black);
|
|
opacity: 0;
|
|
}
|
|
|
|
.rvn {
|
|
animation: animate6 4s 32s 1 ease-in-out ;
|
|
color: var(--black);
|
|
opacity: 0;
|
|
}
|
|
|
|
.arrr {
|
|
animation: animate7 4s 38s 1 ease-in-out ;
|
|
color: var(--black);
|
|
opacity: 0;
|
|
}
|
|
|
|
@keyframes animate1 {
|
|
0%,100% { opacity: 0; }
|
|
50% { opacity: 10; }
|
|
}
|
|
|
|
@keyframes animate2 {
|
|
0%,100% { opacity: 0; }
|
|
50% { opacity: 10; }
|
|
}
|
|
|
|
@keyframes animate3 {
|
|
0%,100% { opacity: 0; }
|
|
50% { opacity: 10; }
|
|
}
|
|
|
|
@keyframes animate4 {
|
|
0%,100% { opacity: 0; }
|
|
50% { opacity: 10; }
|
|
}
|
|
|
|
@keyframes animate5 {
|
|
0%,100% { opacity: 0; }
|
|
50% { opacity: 10; }
|
|
}
|
|
|
|
@keyframes animate6 {
|
|
0%,100% { opacity: 0; }
|
|
50% { opacity: 10; }
|
|
}
|
|
|
|
@keyframes animate7 {
|
|
0%,100% { opacity: 0; }
|
|
50% { opacity: 10; }
|
|
}
|
|
|
|
.sideBarMenu::-webkit-scrollbar-thumb:hover {
|
|
background-color: rgb(148, 146, 146);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.balanceButton {
|
|
background-color: #03a9f4;
|
|
color: #ffffff;
|
|
margin-left: 12px;
|
|
margin-right: 12px;
|
|
padding-top: 5px;
|
|
padding-bottom: 5px;
|
|
}
|
|
`
|
|
]
|
|
}
|
|
|
|
constructor() {
|
|
super()
|
|
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
|
|
this.urls = [];
|
|
this.nodeType = ''
|
|
this.addressInfo = {}
|
|
this.getAllBalancesLoading = false
|
|
this.botQortWallet = ''
|
|
this.botBtcWallet = ''
|
|
this.botLtcWallet = ''
|
|
this.botDogeWallet = ''
|
|
this.botDgbWallet = ''
|
|
this.botRvnWallet = ''
|
|
this.botArrrWallet = ''
|
|
this.arrrWalletAddress = ''
|
|
this.qortWalletBalance = 0
|
|
this.btcWalletBalance = 0
|
|
this.ltcWalletBalance = 0
|
|
this.dogeWalletBalance = 0
|
|
this.dgbWalletBalance = 0
|
|
this.rvnWalletBalance = 0
|
|
this.arrrWalletBalance = 0
|
|
this.tradesOpenBtcQortal = []
|
|
this.tradesOpenLtcQortal = []
|
|
this.tradesOpenDogeQortal = []
|
|
this.tradesOpenDgbQortal = []
|
|
this.tradesOpenRvnQortal = []
|
|
this.tradesOpenArrrQortal = []
|
|
this.tradeBotBtcBook = []
|
|
this.tradeBotLtcBook = []
|
|
this.tradeBotDogeBook = []
|
|
this.tradeBotDgbBook = []
|
|
this.tradeBotRvnBook = []
|
|
this.tradeBotArrrBook = []
|
|
this.tradeBotBtcAt = []
|
|
this.tradeBotLtcAt = []
|
|
this.tradeBotDogeAt = []
|
|
this.tradeBotDgbAt = []
|
|
this.tradeBotRvnAt = []
|
|
this.tradeBotArrrAt = []
|
|
this.tradeBotAvailableBtcQortal = []
|
|
this.tradeBotAvailableLtcQortal = []
|
|
this.tradeBotAvailableDogeQortal = []
|
|
this.tradeBotAvailableDgbQortal = []
|
|
this.tradeBotAvailableRvnQortal = []
|
|
this.tradeBotAvailableArrrQortal = []
|
|
this.checkBtcAlice = ''
|
|
this.checkLtcAlice = ''
|
|
this.checkDogeAlice = ''
|
|
this.checkDgbAlice = ''
|
|
this.checkRvnAlice = ''
|
|
this.checkArrrAlice = ''
|
|
this.reAddBtcAmount = 0
|
|
this.reAddLtcAmount = 0
|
|
this.reAddDogeAmount = 0
|
|
this.reAddDgbAmount = 0
|
|
this.reAddRvnAmount = 0
|
|
this.reAddArrrAmount = 0
|
|
this.reAddBtcPrice = 0
|
|
this.reAddLtcPrice = 0
|
|
this.reAddDogePrice = 0
|
|
this.reAddDgbPrice = 0
|
|
this.reAddRvnPrice = 0
|
|
this.reAddArrrPrice = 0
|
|
this.botBtcBuyAtAddress = ''
|
|
this.botLtcBuyAtAddress = ''
|
|
this.botDogeBuyAtAddress = ''
|
|
this.botDgbBuyAtAddress = ''
|
|
this.botRvnBuyAtAddress = ''
|
|
this.botArrrBuyAtAddress = ''
|
|
this.balanceTicker = html`
|
|
<div id="balances">
|
|
<div class="balancelist"></div>
|
|
</div>
|
|
`
|
|
}
|
|
|
|
render() {
|
|
return html`
|
|
<app-drawer-layout fullbleed force-narrow>
|
|
<app-drawer swipe-open slot="drawer" id="appdrawer">
|
|
<app-header-layout id="appsidebar">
|
|
<div id="sideBar">
|
|
<wallet-profile></wallet-profile>
|
|
<div class="sideBarMenu">
|
|
<div class="s-menu">
|
|
<side-menu>
|
|
${this.renderNodeTypeMenu()}
|
|
</side-menu>
|
|
</div>
|
|
</div>
|
|
<button class="balanceButton" @click="${() => this.shBalanceTicker()}">${translate("grouppage.gchange59")}</button>
|
|
<div id="theTicker" style="display: none; margin-bottom: 20px;">
|
|
<div id="balanceheader">
|
|
<span class="balanceheadertext">
|
|
${this.getAllBalancesLoading ? html`
|
|
${translate("general.update")}
|
|
` : html`
|
|
${translate("general.balances")}
|
|
<vaadin-button theme="icon" id="reload" @click="${() => this.getAllBalances()}">
|
|
<vaadin-icon icon="vaadin:refresh"></vaadin-icon>
|
|
</vaadin-button>
|
|
<vaadin-tooltip text="${translate("general.update")}" for="reload" position="top"></vaadin-tooltip>
|
|
`}
|
|
</span>
|
|
</div>
|
|
${this.getAllBalancesLoading ? html`<paper-progress indeterminate style="width: 100%; margin: 4px;"></paper-progress>` : ''}
|
|
${this.balanceTicker}
|
|
</div>
|
|
<app-info></app-info>
|
|
</div>
|
|
</app-header-layout>
|
|
</app-drawer>
|
|
<app-header-layout style="height: var(--window-height);">
|
|
<app-header id='appHeader' slot="header" fixed>
|
|
<app-toolbar>
|
|
<paper-icon-button id="mb" class="menu-toggle-button" drawer-toggle icon="menu"></paper-icon-button>
|
|
<div main-title>
|
|
<span class="qora-title">
|
|
<img src="${this.config.coin.logo}" style="height:32px; padding-left:12px;">
|
|
</span>
|
|
</div>
|
|
<notification-bell></notification-bell>
|
|
<div style="display: inline;">
|
|
<span>
|
|
<img src="/img/${translate("selectmenu.languageflag")}-flag-round-icon-32.png" style="width: 32px; height: 32px; padding-top: 4px;">
|
|
</span>
|
|
</div>
|
|
<div> </div>
|
|
<language-selector></language-selector>
|
|
<div> </div>
|
|
<theme-toggle></theme-toggle>
|
|
<div> </div>
|
|
<search-modal></search-modal>
|
|
<div> </div>
|
|
<div style="display: inline;">
|
|
<paper-icon-button icon="icons:settings" @click=${() => this.openSettings()} title="${translate("settings.settings")}"></paper-icon-button>
|
|
</div>
|
|
<div> </div>
|
|
<check-for-update></check-for-update>
|
|
<div> </div>
|
|
<div style="display: inline;">
|
|
<paper-icon-button icon="icons:exit-to-app" @click=${() => this.openLogout()} title="${translate("logout.logout")}"></paper-icon-button>
|
|
</div>
|
|
<div> </div>
|
|
</app-toolbar>
|
|
</app-header>
|
|
<show-plugin></show-plugin>
|
|
</app-header-layout>
|
|
</app-drawer-layout>
|
|
<user-info-view></user-info-view>
|
|
<user-settings></user-settings>
|
|
<logout-view></logout-view>
|
|
`
|
|
}
|
|
|
|
async firstUpdated() {
|
|
|
|
addTradeBotRoutes(parentEpml)
|
|
parentEpml.imReady()
|
|
|
|
var drawerTog = this.shadowRoot.getElementById("mb")
|
|
var drawerOut = this.shadowRoot.getElementById("appsidebar")
|
|
|
|
drawerTog.addEventListener('mouseover', function() {
|
|
drawerTog.click()
|
|
})
|
|
|
|
drawerOut.addEventListener('mouseleave', function() {
|
|
drawerTog.click()
|
|
})
|
|
|
|
this.getNodeType()
|
|
|
|
const myAppNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]
|
|
const nodeAppUrl = myAppNode.protocol + '://' + myAppNode.domain + ':' + myAppNode.port
|
|
const appDelay = ms => new Promise(res => setTimeout(res, ms))
|
|
|
|
await appDelay(3000)
|
|
|
|
this.botQortWallet = store.getState().app.selectedAddress.address
|
|
this.botBtcWallet = store.getState().app.selectedAddress.btcWallet.address
|
|
this.botLtcWallet = store.getState().app.selectedAddress.ltcWallet.address
|
|
this.botDogeWallet = store.getState().app.selectedAddress.dogeWallet.address
|
|
this.botDgbWallet = store.getState().app.selectedAddress.dgbWallet.address
|
|
this.botRvnWallet = store.getState().app.selectedAddress.rvnWallet.address
|
|
this.botArrrWallet = store.getState().app.selectedAddress.arrrWallet.address
|
|
|
|
await this.getAllBalances()
|
|
|
|
await this.botBtcTradebook()
|
|
await this.botLtcTradebook()
|
|
await this.botDogeTradebook()
|
|
await this.botDgbTradebook()
|
|
await this.botRvnTradebook()
|
|
await this.botArrrTradebook()
|
|
|
|
window.addEventListener('storage', async () => {
|
|
this.tradeBotBtcBook = JSON.parse(localStorage.getItem(this.botBtcWallet) || "[]")
|
|
this.tradeBotLtcBook = JSON.parse(localStorage.getItem(this.botLtcWallet) || "[]")
|
|
this.tradeBotDogeBook = JSON.parse(localStorage.getItem(this.botDogeWallet) || "[]")
|
|
this.tradeBotDgbBook = JSON.parse(localStorage.getItem(this.botDgbWallet) || "[]")
|
|
this.tradeBotRvnBook = JSON.parse(localStorage.getItem(this.botRvnWallet) || "[]")
|
|
this.tradeBotArrrBook = JSON.parse(localStorage.getItem(this.botArrrWallet) || "[]")
|
|
})
|
|
|
|
this.renderBalances()
|
|
|
|
const getOpenTradesBTC = async () => {
|
|
let timerBTC
|
|
|
|
if (this.isEmptyArray(this.tradeBotBtcBook) === true) {
|
|
clearTimeout(timerBTC)
|
|
timerBTC = setTimeout(getOpenTradesBTC, 150000)
|
|
} else {
|
|
await this.updateBtcWalletBalance()
|
|
const tradesOpenBtcQortalUrl = `${nodeAppUrl}/crosschain/tradeoffers?foreignBlockchain=BITCOIN&limit=0`
|
|
|
|
const tradesOpenBtcQortal = await fetch(tradesOpenBtcQortalUrl).then(response => {
|
|
return response.json()
|
|
})
|
|
|
|
this.tradesOpenBtcQortal = tradesOpenBtcQortal.map(item => {
|
|
const expiryTime = item.creatorPresenceExpiry
|
|
if (Number(expiryTime) > Date.now()) {
|
|
const calcedPrice = parseFloat(item.expectedForeignAmount) / parseFloat(item.qortAmount)
|
|
const roundedPrice = (Math.round(parseFloat(calcedPrice) * 1e8) / 1e8).toFixed(8)
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: roundedPrice,
|
|
foreignAmount: item.expectedForeignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
await appDelay(1000)
|
|
filterMyBotPriceTradesBTC()
|
|
setTimeout(getOpenTradesBTC, 150000)
|
|
}
|
|
}
|
|
|
|
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
|
|
|
|
await appDelay(1000)
|
|
|
|
this.tradeBotAvailableBtcQortal = this.tradesOpenBtcQortal.map(item => {
|
|
const listprice = parseFloat(item.price)
|
|
const listamount = parseFloat(item.qortAmount)
|
|
const checkprice = parseFloat(this.tradeBotBtcBook[0].botBtcPrice)
|
|
const checkamount = parseFloat(this.tradeBotBtcBook[0].botBtcQortAmount)
|
|
if (Number(listprice) <= Number(checkprice) && Number(listamount) <= Number(checkamount)) {
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: item.price,
|
|
foreignAmount: item.foreignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
this.tradeBotAvailableBtcQortal.sort((a, b) => parseFloat(a.price) - parseFloat(b.price))
|
|
|
|
if (this.isEmptyArray(this.tradeBotAvailableBtcQortal) === true) {
|
|
return
|
|
} else {
|
|
this.checkBtcAlice = this.tradeBotAvailableBtcQortal[0].qortalAtAddress
|
|
}
|
|
|
|
await appDelay(1000)
|
|
|
|
if (this.tradeBotBtcAt.some(item => item.atAddress === this.checkBtcAlice)) {
|
|
return
|
|
} else {
|
|
this.tradeBotAvailableBtcQortal = this.tradeBotAvailableBtcQortal
|
|
}
|
|
|
|
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)
|
|
const reducebtcamount = parseFloat(this.tradeBotAvailableBtcQortal[0].qortAmount)
|
|
const tradebtcataddress = this.tradeBotAvailableBtcQortal[0].qortalAtAddress
|
|
const newbtcamount = this.round(parseFloat(changebtcamount - reducebtcamount))
|
|
|
|
this.reAddBtcAmount = this.round(parseFloat(this.tradeBotBtcBook[0].botBtcQortAmount))
|
|
this.reAddBtcPrice = this.round(parseFloat(this.tradeBotBtcBook[0].botBtcPrice))
|
|
|
|
localStorage.removeItem(this.botBtcWallet)
|
|
localStorage.setItem(this.botBtcWallet, "")
|
|
|
|
var oldBtcTradebook = JSON.parse(localStorage.getItem(this.botBtcWallet) || "[]")
|
|
|
|
const newBtcTradebookItem = {
|
|
botBtcQortAmount: newbtcamount,
|
|
botBtcPrice: botbtcprice
|
|
}
|
|
|
|
oldBtcTradebook.push(newBtcTradebookItem)
|
|
|
|
localStorage.setItem(this.botBtcWallet, JSON.stringify(oldBtcTradebook))
|
|
|
|
this.tradeBotBtcBook = JSON.parse(localStorage.getItem(this.botBtcWallet) || "[]")
|
|
|
|
this.botBtcBuyAtAddress = tradebtcataddress
|
|
|
|
await appDelay(1000)
|
|
|
|
this.buyBtcAction()
|
|
|
|
if (this.isEmptyArray(this.tradeBotBtcBook) === true) {
|
|
return
|
|
} else {
|
|
const botamount = parseFloat(this.tradeBotBtcBook[0].botBtcQortAmount)
|
|
|
|
if (Number(botamount) === 0) {
|
|
this.removeBotBTCTradebook()
|
|
} else {
|
|
this.tradeBotBtcBook = this.tradeBotBtcBook
|
|
}
|
|
}
|
|
|
|
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))
|
|
|
|
if (Number(myBotBtcFunds) < Number(checkBotBtcFunds)) {
|
|
this.removeBotBTCTradebook()
|
|
} else {
|
|
this.tradeBotBtcBook = this.tradeBotBtcBook
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
const getOpenTradesLTC = async () => {
|
|
let timerLTC
|
|
|
|
if (this.isEmptyArray(this.tradeBotLtcBook) === true) {
|
|
clearTimeout(timerLTC)
|
|
timerLTC = setTimeout(getOpenTradesLTC, 150000)
|
|
} else {
|
|
await this.updateLtcWalletBalance()
|
|
const tradesOpenLtcQortalUrl = `${nodeAppUrl}/crosschain/tradeoffers?foreignBlockchain=LITECOIN&limit=0`
|
|
|
|
const tradesOpenLtcQortal = await fetch(tradesOpenLtcQortalUrl).then(response => {
|
|
return response.json()
|
|
})
|
|
|
|
this.tradesOpenLtcQortal = tradesOpenLtcQortal.map(item => {
|
|
const expiryTime = item.creatorPresenceExpiry
|
|
if (Number(expiryTime) > Date.now()) {
|
|
const calcedPrice = parseFloat(item.expectedForeignAmount) / parseFloat(item.qortAmount)
|
|
const roundedPrice = (Math.round(parseFloat(calcedPrice) * 1e8) / 1e8).toFixed(8)
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: roundedPrice,
|
|
foreignAmount: item.expectedForeignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
await appDelay(1000)
|
|
filterMyBotPriceTradesLTC()
|
|
setTimeout(getOpenTradesLTC, 150000)
|
|
}
|
|
}
|
|
|
|
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
|
|
|
|
await appDelay(1000)
|
|
|
|
this.tradeBotAvailableLtcQortal = this.tradesOpenLtcQortal.map(item => {
|
|
const listprice = parseFloat(item.price)
|
|
const listamount = parseFloat(item.qortAmount)
|
|
const checkprice = parseFloat(this.tradeBotLtcBook[0].botLtcPrice)
|
|
const checkamount = parseFloat(this.tradeBotLtcBook[0].botLtcQortAmount)
|
|
if (Number(listprice) <= Number(checkprice) && Number(listamount) <= Number(checkamount)) {
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: item.price,
|
|
foreignAmount: item.foreignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
this.tradeBotAvailableLtcQortal.sort((a, b) => parseFloat(a.price) - parseFloat(b.price))
|
|
|
|
if (this.isEmptyArray(this.tradeBotAvailableLtcQortal) === true) {
|
|
return
|
|
} else {
|
|
this.checkLtcAlice = this.tradeBotAvailableLtcQortal[0].qortalAtAddress
|
|
}
|
|
|
|
await appDelay(1000)
|
|
|
|
if (this.tradeBotLtcAt.some(item => item.atAddress === this.checkLtcAlice)) {
|
|
return
|
|
} else {
|
|
this.tradeBotAvailableLtcQortal = this.tradeBotAvailableLtcQortal
|
|
}
|
|
|
|
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)
|
|
const reduceltcamount = parseFloat(this.tradeBotAvailableLtcQortal[0].qortAmount)
|
|
const tradeltcataddress = this.tradeBotAvailableLtcQortal[0].qortalAtAddress
|
|
const newltcamount = this.round(parseFloat(changeltcamount - reduceltcamount))
|
|
|
|
this.reAddLtcAmount = this.round(parseFloat(this.tradeBotLtcBook[0].botLtcQortAmount))
|
|
this.reAddLtcPrice = this.round(parseFloat(this.tradeBotLtcBook[0].botLtcPrice))
|
|
|
|
localStorage.removeItem(this.botLtcWallet)
|
|
localStorage.setItem(this.botLtcWallet, "")
|
|
|
|
var oldLtcTradebook = JSON.parse(localStorage.getItem(this.botLtcWallet) || "[]")
|
|
|
|
const newLtcTradebookItem = {
|
|
botLtcQortAmount: newltcamount,
|
|
botLtcPrice: botltcprice
|
|
}
|
|
|
|
oldLtcTradebook.push(newLtcTradebookItem)
|
|
|
|
localStorage.setItem(this.botLtcWallet, JSON.stringify(oldLtcTradebook))
|
|
|
|
this.tradeBotLtcBook = JSON.parse(localStorage.getItem(this.botLtcWallet) || "[]")
|
|
|
|
this.botLtcBuyAtAddress = tradeltcataddress
|
|
|
|
await appDelay(1000)
|
|
|
|
this.buyLtcAction()
|
|
|
|
if (this.isEmptyArray(this.tradeBotLtcBook) === true) {
|
|
return
|
|
} else {
|
|
const botamount = parseFloat(this.tradeBotLtcBook[0].botLtcQortAmount)
|
|
|
|
if (Number(botamount) === 0) {
|
|
this.removeBotLTCTradebook()
|
|
} else {
|
|
this.tradeBotLtcBook = this.tradeBotLtcBook
|
|
}
|
|
}
|
|
|
|
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))
|
|
|
|
if (Number(myBotLtcFunds) < Number(checkBotLtcFunds)) {
|
|
this.removeBotLTCTradebook()
|
|
} else {
|
|
this.tradeBotLtcBook = this.tradeBotLtcBook
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
const getOpenTradesDOGE = async () => {
|
|
let timerDOGE
|
|
|
|
if (this.isEmptyArray(this.tradeBotDogeBook) === true) {
|
|
clearTimeout(timerDOGE)
|
|
timerDOGE = setTimeout(getOpenTradesDOGE, 150000)
|
|
} else {
|
|
await this.updateDogeWalletBalance()
|
|
const tradesOpenDogeQortalUrl = `${nodeAppUrl}/crosschain/tradeoffers?foreignBlockchain=DOGECOIN&limit=0`
|
|
|
|
const tradesOpenDogeQortal = await fetch(tradesOpenDogeQortalUrl).then(response => {
|
|
return response.json()
|
|
})
|
|
|
|
this.tradesOpenDogeQortal = tradesOpenDogeQortal.map(item => {
|
|
const expiryTime = item.creatorPresenceExpiry
|
|
if (Number(expiryTime) > Date.now()) {
|
|
const calcedPrice = parseFloat(item.expectedForeignAmount) / parseFloat(item.qortAmount)
|
|
const roundedPrice = (Math.round(parseFloat(calcedPrice) * 1e8) / 1e8).toFixed(8)
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: roundedPrice,
|
|
foreignAmount: item.expectedForeignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
await appDelay(1000)
|
|
filterMyBotPriceTradesDOGE()
|
|
setTimeout(getOpenTradesDOGE, 150000)
|
|
}
|
|
}
|
|
|
|
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
|
|
|
|
await appDelay(1000)
|
|
|
|
this.tradeBotAvailableDogeQortal = this.tradesOpenDogeQortal.map(item => {
|
|
const listprice = parseFloat(item.price)
|
|
const listamount = parseFloat(item.qortAmount)
|
|
const checkprice = parseFloat(this.tradeBotDogeBook[0].botDogePrice)
|
|
const checkamount = parseFloat(this.tradeBotDogeBook[0].botDogeQortAmount)
|
|
if (Number(listprice) <= Number(checkprice) && Number(listamount) <= Number(checkamount)) {
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: item.price,
|
|
foreignAmount: item.foreignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
this.tradeBotAvailableDogeQortal.sort((a, b) => parseFloat(a.price) - parseFloat(b.price))
|
|
|
|
if (this.isEmptyArray(this.tradeBotAvailableDogeQortal) === true) {
|
|
return
|
|
} else {
|
|
this.checkDogeAlice = this.tradeBotAvailableDogeQortal[0].qortalAtAddress
|
|
}
|
|
|
|
await appDelay(1000)
|
|
|
|
if (this.tradeBotDogeAt.some(item => item.atAddress === this.checkDogeAlice)) {
|
|
return
|
|
} else {
|
|
this.tradeBotAvailableDogeQortal = this.tradeBotAvailableDogeQortal
|
|
}
|
|
|
|
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)
|
|
const reducedogeamount = parseFloat(this.tradeBotAvailableDogeQortal[0].qortAmount)
|
|
const tradedogeataddress = this.tradeBotAvailableDogeQortal[0].qortalAtAddress
|
|
const newdogeamount = this.round(parseFloat(changedogeamount - reducedogeamount))
|
|
|
|
this.reAddDogeAmount = this.round(parseFloat(this.tradeBotDogeBook[0].botDogeQortAmount))
|
|
this.reAddDogePrice = this.round(parseFloat(this.tradeBotDogeBook[0].botDogePrice))
|
|
|
|
localStorage.removeItem(this.botDogeWallet)
|
|
localStorage.setItem(this.botDogeWallet, "")
|
|
|
|
var oldDogeTradebook = JSON.parse(localStorage.getItem(this.botDogeWallet) || "[]")
|
|
|
|
const newDogeTradebookItem = {
|
|
botDogeQortAmount: newdogeamount,
|
|
botDogePrice: botdogeprice
|
|
}
|
|
|
|
oldDogeTradebook.push(newDogeTradebookItem)
|
|
|
|
localStorage.setItem(this.botDogeWallet, JSON.stringify(oldDogeTradebook))
|
|
|
|
this.tradeBotDogeBook = JSON.parse(localStorage.getItem(this.botDogeWallet) || "[]")
|
|
|
|
this.botDogeBuyAtAddress = tradedogeataddress
|
|
|
|
await appDelay(1000)
|
|
|
|
this.buyDogeAction()
|
|
|
|
if (this.isEmptyArray(this.tradeBotDogeBook) === true) {
|
|
return
|
|
} else {
|
|
const botamount = parseFloat(this.tradeBotDogeBook[0].botDogeQortAmount)
|
|
|
|
if (Number(botamount) === 0) {
|
|
this.removeBotDOGETradebook()
|
|
} else {
|
|
this.tradeBotDogeBook = this.tradeBotDogeBook
|
|
}
|
|
}
|
|
|
|
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))
|
|
|
|
if (Number(myBotDogeFunds) < Number(checkBotDogeFunds)) {
|
|
this.removeBotDOGETradebook()
|
|
} else {
|
|
this.tradeBotDogeBook = this.tradeBotDogeBook
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
const getOpenTradesDGB = async () => {
|
|
let timerDGB
|
|
|
|
if (this.isEmptyArray(this.tradeBotDgbBook) === true) {
|
|
clearTimeout(timerDGB)
|
|
timerDGB = setTimeout(getOpenTradesDGB, 150000)
|
|
} else {
|
|
await this.updateDgbWalletBalance()
|
|
const tradesOpenDgbQortalUrl = `${nodeAppUrl}/crosschain/tradeoffers?foreignBlockchain=DIGIYBYTE&limit=0`
|
|
|
|
const tradesOpenDgbQortal = await fetch(tradesOpenDgbQortalUrl).then(response => {
|
|
return response.json()
|
|
})
|
|
|
|
this.tradesOpenDgbQortal = tradesOpenDgbQortal.map(item => {
|
|
const expiryTime = item.creatorPresenceExpiry
|
|
if (Number(expiryTime) > Date.now()) {
|
|
const calcedPrice = parseFloat(item.expectedForeignAmount) / parseFloat(item.qortAmount)
|
|
const roundedPrice = (Math.round(parseFloat(calcedPrice) * 1e8) / 1e8).toFixed(8)
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: roundedPrice,
|
|
foreignAmount: item.expectedForeignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
await appDelay(1000)
|
|
filterMyBotPriceTradesDGB()
|
|
setTimeout(getOpenTradesDGB, 150000)
|
|
}
|
|
}
|
|
|
|
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
|
|
|
|
await appDelay(1000)
|
|
|
|
this.tradeBotAvailableDgbQortal = this.tradesOpenDgbQortal.map(item => {
|
|
const listprice = parseFloat(item.price)
|
|
const listamount = parseFloat(item.qortAmount)
|
|
const checkprice = parseFloat(this.tradeBotDgbBook[0].botDgbPrice)
|
|
const checkamount = parseFloat(this.tradeBotDgbBook[0].botDgbQortAmount)
|
|
if (Number(listprice) <= Number(checkprice) && Number(listamount) <= Number(checkamount)) {
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: item.price,
|
|
foreignAmount: item.foreignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
this.tradeBotAvailableDgbQortal.sort((a, b) => parseFloat(a.price) - parseFloat(b.price))
|
|
|
|
if (this.isEmptyArray(this.tradeBotAvailableDgbQortal) === true) {
|
|
return
|
|
} else {
|
|
this.checkDgbAlice = this.tradeBotAvailableDgbQortal[0].qortalAtAddress
|
|
}
|
|
|
|
await appDelay(1000)
|
|
|
|
if (this.tradeBotDgbAt.some(item => item.atAddress === this.checkDgbAlice)) {
|
|
return
|
|
} else {
|
|
this.tradeBotAvailableDgbQortal = this.tradeBotAvailableDgbQortal
|
|
}
|
|
|
|
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)
|
|
const reducedgbamount = parseFloat(this.tradeBotAvailableDgbQortal[0].qortAmount)
|
|
const tradedgbataddress = this.tradeBotAvailableDgbQortal[0].qortalAtAddress
|
|
const newdgbamount = this.round(parseFloat(changedgbamount - reducedgbamount))
|
|
|
|
this.reAddDgbAmount = this.round(parseFloat(this.tradeBotDgbBook[0].botDgbQortAmount))
|
|
this.reAddDgbPrice = this.round(parseFloat(this.tradeBotDgbBook[0].botDgbPrice))
|
|
|
|
localStorage.removeItem(this.botDgbWallet)
|
|
localStorage.setItem(this.botDgbWallet, "")
|
|
|
|
var oldDgbTradebook = JSON.parse(localStorage.getItem(this.botDgbWallet) || "[]")
|
|
|
|
const newDgbTradebookItem = {
|
|
botDgbQortAmount: newdgbamount,
|
|
botDgbPrice: botdgbprice
|
|
}
|
|
|
|
oldDgbTradebook.push(newDgbTradebookItem)
|
|
|
|
localStorage.setItem(this.botDgbWallet, JSON.stringify(oldDgbTradebook))
|
|
|
|
this.tradeBotDgbBook = JSON.parse(localStorage.getItem(this.botDgbWallet) || "[]")
|
|
|
|
this.botDgbBuyAtAddress = tradedgbataddress
|
|
|
|
await appDelay(1000)
|
|
|
|
this.buyDgbAction()
|
|
|
|
if (this.isEmptyArray(this.tradeBotDgbBook) === true) {
|
|
return
|
|
} else {
|
|
const botamount = parseFloat(this.tradeBotDgbBook[0].botDgbQortAmount)
|
|
|
|
if (Number(botamount) === 0) {
|
|
this.removeBotDGBTradebook()
|
|
} else {
|
|
this.tradeBotDgbBook = this.tradeBotDgbBook
|
|
}
|
|
}
|
|
|
|
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))
|
|
|
|
if (Number(myBotDgbFunds) < Number(checkBotDgbFunds)) {
|
|
this.removeBotDGBTradebook()
|
|
} else {
|
|
this.tradeBotDgbBook = this.tradeBotDgbBook
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
const getOpenTradesRVN = async () => {
|
|
let timerRVN
|
|
|
|
if (this.isEmptyArray(this.tradeBotRvnBook) === true) {
|
|
clearTimeout(timerRVN)
|
|
timerRVN = setTimeout(getOpenTradesRVN, 150000)
|
|
} else {
|
|
await this.updateRvnWalletBalance()
|
|
const tradesOpenRvnQortalUrl = `${nodeAppUrl}/crosschain/tradeoffers?foreignBlockchain=RAVENCOIN&limit=0`
|
|
|
|
const tradesOpenRvnQortal = await fetch(tradesOpenRvnQortalUrl).then(response => {
|
|
return response.json()
|
|
})
|
|
|
|
this.tradesOpenRvnQortal = tradesOpenRvnQortal.map(item => {
|
|
const expiryTime = item.creatorPresenceExpiry
|
|
if (Number(expiryTime) > Date.now()) {
|
|
const calcedPrice = parseFloat(item.expectedForeignAmount) / parseFloat(item.qortAmount)
|
|
const roundedPrice = (Math.round(parseFloat(calcedPrice) * 1e8) / 1e8).toFixed(8)
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: roundedPrice,
|
|
foreignAmount: item.expectedForeignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
await appDelay(1000)
|
|
filterMyBotPriceTradesRVN()
|
|
setTimeout(getOpenTradesRVN, 150000)
|
|
}
|
|
}
|
|
|
|
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
|
|
|
|
await appDelay(1000)
|
|
|
|
this.tradeBotAvailableRvnQortal = this.tradesOpenRvnQortal.map(item => {
|
|
const listprice = parseFloat(item.price)
|
|
const listamount = parseFloat(item.qortAmount)
|
|
const checkprice = parseFloat(this.tradeBotRvnBook[0].botRvnPrice)
|
|
const checkamount = parseFloat(this.tradeBotRvnBook[0].botRvnQortAmount)
|
|
if (Number(listprice) <= Number(checkprice) && Number(listamount) <= Number(checkamount)) {
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: item.price,
|
|
foreignAmount: item.foreignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
this.tradeBotAvailableRvnQortal.sort((a, b) => parseFloat(a.price) - parseFloat(b.price))
|
|
|
|
if (this.isEmptyArray(this.tradeBotAvailableRvnQortal) === true) {
|
|
return
|
|
} else {
|
|
this.checkRvnAlice = this.tradeBotAvailableRvnQortal[0].qortalAtAddress
|
|
}
|
|
|
|
await appDelay(1000)
|
|
|
|
if (this.tradeBotRvnAt.some(item => item.atAddress === this.checkRvnAlice)) {
|
|
return
|
|
} else {
|
|
this.tradeBotAvailableRvnQortal = this.tradeBotAvailableRvnQortal
|
|
}
|
|
|
|
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)
|
|
const reducervnamount = parseFloat(this.tradeBotAvailableRvnQortal[0].qortAmount)
|
|
const tradervnataddress = this.tradeBotAvailableRvnQortal[0].qortalAtAddress
|
|
const newrvnamount = this.round(parseFloat(changervnamount - reducervnamount))
|
|
|
|
this.reAddRvnAmount = this.round(parseFloat(this.tradeBotRvnBook[0].botRvnQortAmount))
|
|
this.reAddRvnPrice = this.round(parseFloat(this.tradeBotRvnBook[0].botRvnPrice))
|
|
|
|
localStorage.removeItem(this.botRvnWallet)
|
|
localStorage.setItem(this.botRvnWallet, "")
|
|
|
|
var oldRvnTradebook = JSON.parse(localStorage.getItem(this.botRvnWallet) || "[]")
|
|
|
|
const newRvnTradebookItem = {
|
|
botRvnQortAmount: newrvnamount,
|
|
botRvnPrice: botrvnprice
|
|
}
|
|
|
|
oldRvnTradebook.push(newRvnTradebookItem)
|
|
|
|
localStorage.setItem(this.botRvnWallet, JSON.stringify(oldRvnTradebook))
|
|
|
|
this.tradeBotRvnBook = JSON.parse(localStorage.getItem(this.botRvnWallet) || "[]")
|
|
|
|
this.botRvnBuyAtAddress = tradervnataddress
|
|
|
|
await appDelay(1000)
|
|
|
|
this.buyRvnAction()
|
|
|
|
if (this.isEmptyArray(this.tradeBotRvnBook) === true) {
|
|
return
|
|
} else {
|
|
const botamount = parseFloat(this.tradeBotRvnBook[0].botRvnQortAmount)
|
|
|
|
if (Number(botamount) === 0) {
|
|
this.removeBotRVNTradebook()
|
|
} else {
|
|
this.tradeBotRvnBook = this.tradeBotRvnBook
|
|
}
|
|
}
|
|
|
|
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))
|
|
|
|
if (Number(myBotRvnFunds) < Number(checkBotRvnFunds)) {
|
|
this.removeBotRVNTradebook()
|
|
} else {
|
|
this.tradeBotRvnBook = this.tradeBotRvnBook
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
const getOpenTradesARRR = async () => {
|
|
let timerARRR
|
|
|
|
if (this.isEmptyArray(this.tradeBotArrrBook) === true) {
|
|
clearTimeout(timerARRR)
|
|
timerARRR = setTimeout(getOpenTradesARRR, 150000)
|
|
} else {
|
|
await this.updateArrrWalletBalance()
|
|
const tradesOpenArrrQortalUrl = `${nodeAppUrl}/crosschain/tradeoffers?foreignBlockchain=PIRATECHAIN&limit=0`
|
|
|
|
const tradesOpenArrrQortal = await fetch(tradesOpenArrrQortalUrl).then(response => {
|
|
return response.json()
|
|
})
|
|
|
|
this.tradesOpenArrrQortal = tradesOpenArrrQortal.map(item => {
|
|
const expiryTime = item.creatorPresenceExpiry
|
|
if (Number(expiryTime) > Date.now()) {
|
|
const calcedPrice = parseFloat(item.expectedForeignAmount) / parseFloat(item.qortAmount)
|
|
const roundedPrice = (Math.round(parseFloat(calcedPrice) * 1e8) / 1e8).toFixed(8)
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: roundedPrice,
|
|
foreignAmount: item.expectedForeignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
await appDelay(1000)
|
|
filterMyBotPriceTradesARRR()
|
|
setTimeout(getOpenTradesARRR, 150000)
|
|
}
|
|
}
|
|
|
|
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
|
|
|
|
await appDelay(1000)
|
|
|
|
this.tradeBotAvailableArrrQortal = this.tradesOpenArrrQortal.map(item => {
|
|
const listprice = parseFloat(item.price)
|
|
const listamount = parseFloat(item.qortAmount)
|
|
const checkprice = parseFloat(this.tradeBotArrrBook[0].botArrrPrice)
|
|
const checkamount = parseFloat(this.tradeBotArrrBook[0].botArrrQortAmount)
|
|
if (Number(listprice) <= Number(checkprice) && Number(listamount) <= Number(checkamount)) {
|
|
return {
|
|
qortAmount: item.qortAmount,
|
|
price: item.price,
|
|
foreignAmount: item.foreignAmount,
|
|
qortalCreator: item.qortalCreator,
|
|
qortalAtAddress: item.qortalAtAddress
|
|
}
|
|
}
|
|
}).filter(item => !!item)
|
|
|
|
this.tradeBotAvailableArrrQortal.sort((a, b) => parseFloat(a.price) - parseFloat(b.price))
|
|
|
|
if (this.isEmptyArray(this.tradeBotAvailableArrrQortal) === true) {
|
|
return
|
|
} else {
|
|
this.checkArrrAlice = this.tradeBotAvailableArrrQortal[0].qortalAtAddress
|
|
}
|
|
|
|
await appDelay(1000)
|
|
|
|
if (this.tradeBotArrrAt.some(item => item.atAddress === this.checkArrrAlice)) {
|
|
return
|
|
} else {
|
|
this.tradeBotAvailableArrrQortal = this.tradeBotAvailableArrrQortal
|
|
}
|
|
|
|
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)
|
|
const reducearrramount = parseFloat(this.tradeBotAvailableArrrQortal[0].qortAmount)
|
|
const tradearrrataddress = this.tradeBotAvailableArrrQortal[0].qortalAtAddress
|
|
const newarrramount = this.round(parseFloat(changearrramount - reducearrramount))
|
|
|
|
this.reAddArrrAmount = this.round(parseFloat(this.tradeBotArrrBook[0].botArrrQortAmount))
|
|
this.reAddArrrPrice = this.round(parseFloat(this.tradeBotArrrBook[0].botArrrPrice))
|
|
|
|
localStorage.removeItem(this.botArrrWallet)
|
|
localStorage.setItem(this.botArrrWallet, "")
|
|
|
|
var oldArrrTradebook = JSON.parse(localStorage.getItem(this.botArrrWallet) || "[]")
|
|
|
|
const newArrrTradebookItem = {
|
|
botArrrQortAmount: newarrramount,
|
|
botArrrPrice: botarrrprice
|
|
}
|
|
|
|
oldArrrTradebook.push(newArrrTradebookItem)
|
|
|
|
localStorage.setItem(this.botArrrWallet, JSON.stringify(oldArrrTradebook))
|
|
|
|
this.tradeBotArrrBook = JSON.parse(localStorage.getItem(this.botArrrWallet) || "[]")
|
|
|
|
this.botArrrBuyAtAddress = tradearrrataddress
|
|
|
|
await appDelay(1000)
|
|
|
|
this.buyArrrAction()
|
|
|
|
if (this.isEmptyArray(this.tradeBotArrrBook) === true) {
|
|
return
|
|
} else {
|
|
const botamount = parseFloat(this.tradeBotArrrBook[0].botArrrQortAmount)
|
|
|
|
if (Number(botamount) === 0) {
|
|
this.removeBotARRRTradebook()
|
|
} else {
|
|
this.tradeBotArrrBook = this.tradeBotArrrBook
|
|
}
|
|
}
|
|
|
|
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))
|
|
|
|
if (Number(myBotArrrFunds) < Number(checkBotArrrFunds)) {
|
|
this.removeBotARRRTradebook()
|
|
} else {
|
|
this.tradeBotArrrBook = this.tradeBotArrrBook
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
const getChatLastSeen = async () => {
|
|
let items = [];
|
|
|
|
await chatLastSeen.iterate(function (value, key, iterationNumber) {
|
|
|
|
items.push({ key, timestamp: value });
|
|
})
|
|
store.dispatch(setChatLastSeen(items))
|
|
return items;
|
|
}
|
|
|
|
await getOpenTradesBTC()
|
|
await appDelay(1000)
|
|
await getOpenTradesLTC()
|
|
await appDelay(1000)
|
|
await getOpenTradesDOGE()
|
|
await appDelay(1000)
|
|
await getOpenTradesDGB()
|
|
await appDelay(1000)
|
|
await getOpenTradesRVN()
|
|
await appDelay(1000)
|
|
await getOpenTradesARRR()
|
|
await getChatLastSeen()
|
|
}
|
|
|
|
shBalanceTicker() {
|
|
const targetDiv = this.shadowRoot.getElementById("theTicker")
|
|
if (targetDiv.style.display !== "none") {
|
|
targetDiv.style.display = "none";
|
|
} else {
|
|
targetDiv.style.display = "inline";
|
|
}
|
|
}
|
|
|
|
async getNodeType() {
|
|
const myAppNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]
|
|
const nodeAppUrl = myAppNode.protocol + '://' + myAppNode.domain + ':' + myAppNode.port
|
|
const url = `${nodeAppUrl}/admin/info`
|
|
await fetch(url).then((response) => {
|
|
return response.json()
|
|
}).then((data) => {
|
|
this.nodeType = data.type
|
|
})
|
|
}
|
|
|
|
renderNodeTypeMenu() {
|
|
const addressInfo = this.addressInfo
|
|
const isMinter = addressInfo?.error !== 124 && +addressInfo?.level > 0
|
|
const isSponsor = +addressInfo?.level >= 5
|
|
|
|
if (this.nodeType === 'lite') {
|
|
return html`
|
|
<side-menu-item drawer-toggle label="${translate('sidemenu.wallets')}" href="/app/wallet" selected>
|
|
<vaadin-icon icon="vaadin:wallet" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle label="${translate('sidemenu.nameregistration')}" href="/app/name-registration">
|
|
<vaadin-icon icon="vaadin:user-check" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle label="${translate('sidemenu.datamanagement')}" href="/app/data-management">
|
|
<vaadin-icon icon="vaadin:database" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle label="${translate('sidemenu.qchat')}" href="/app/q-chat">
|
|
<vaadin-icon icon="vaadin:chat" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
${this.renderNodeManagement()}
|
|
`
|
|
} else {
|
|
return html`
|
|
<side-menu-item label="${translate('sidemenu.minting')}" expanded>
|
|
<vaadin-icon icon="vaadin:info-circle" slot="icon"></vaadin-icon>
|
|
|
|
<side-menu-item drawer-toggle id="qminter" label="${translate('sidemenu.mintingdetails')}" href="/app/minting" ?hide=${!isMinter}>
|
|
<vaadin-icon icon="vaadin:info-circle" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qbminter" label="${translate('sidemenu.becomeAMinter')}" href="/app/become-minter" ?hide=${isMinter}>
|
|
<vaadin-icon icon="vaadin:thumbs-up" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qiminter" label="${translate('mintingpage.mchange35')}" href="/app/sponsorship-list" ?hide=${!isSponsor}>
|
|
<vaadin-icon icon="vaadin:list-ol" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qwallet" label="${translate('sidemenu.wallets')}" href="/app/wallet">
|
|
<vaadin-icon icon="vaadin:wallet" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item label="${translate('sidemenu.trading')}" expanded>
|
|
<vaadin-icon icon="vaadin:cash" slot="icon"></vaadin-icon>
|
|
|
|
<side-menu-item drawer-toggle id="qtrade" label="${translate('sidemenu.tradeportal')}" href="/app/trade-portal">
|
|
<vaadin-icon icon="vaadin:bullets" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qbot" label="${translate('tradepage.tchange46')}" href="/app/trade-bot-portal">
|
|
<vaadin-icon icon="vaadin:calc-book" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qrewardshare" label="${translate('sidemenu.rewardshare')}" href="/app/reward-share">
|
|
<vaadin-icon icon="vaadin:share-square" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qchat" label="${translate('sidemenu.qchat')}" href="/app/q-chat">
|
|
<vaadin-icon icon="vaadin:chat" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item label="${translate('sidemenu.sm1')}" expanded>
|
|
<vaadin-icon icon="vaadin:user-card" slot="icon"></vaadin-icon>
|
|
|
|
<side-menu-item drawer-toggle id="qnamereg" label="${translate('sidemenu.sm2')}" href="/app/name-registration">
|
|
<vaadin-icon icon="vaadin:user-check" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qnamemarket" label="${translate('sidemenu.sm3')}" href="/app/names-market">
|
|
<vaadin-icon icon="vaadin:shop" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item label="QDN" expanded>
|
|
<vaadin-icon icon="vaadin:cluster" slot="icon"></vaadin-icon>
|
|
|
|
<side-menu-item drawer-toggle id="qweb" label="${translate('sidemenu.websites')}" href="/app/websites">
|
|
<vaadin-icon icon="vaadin:desktop" slot="icon" ></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qapp" label="Q-Apps" href="/app/qapps">
|
|
<vaadin-icon icon="vaadin:external-browser" slot="icon" ></vaadin-icon>
|
|
</side-menu-item>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qgroupmange" label="${translate('sidemenu.groups')}" href="/app/group-management">
|
|
<vaadin-icon icon="vaadin:group" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item drawer-toggle id="qpuzzles" label="${translate('sidemenu.puzzles')}" href="/app/puzzles">
|
|
<vaadin-icon icon="vaadin:puzzle-piece" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
<side-menu-item label="${translate('sidemenu.management')}" expanded>
|
|
<vaadin-icon icon="vaadin:cogs" slot="icon"></vaadin-icon>
|
|
|
|
<side-menu-item drawer-toggle id="qdata" label="${translate('sidemenu.datamanagement')}" href="/app/data-management">
|
|
<vaadin-icon icon="vaadin:database" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
|
|
${this.renderNodeManagement()}
|
|
</side-menu-item>
|
|
|
|
<div>
|
|
<start-minting></start-minting>
|
|
</div>
|
|
`
|
|
}
|
|
}
|
|
|
|
renderNodeManagement() {
|
|
const checkNodeManagement = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]
|
|
if ((checkNodeManagement.enableManagement = true)) {
|
|
return html`
|
|
<side-menu-item drawer-toggle id="qnode" label="${translate('sidemenu.nodemanagement')}" href="/app/node-management">
|
|
<vaadin-icon icon="vaadin:cloud" slot="icon"></vaadin-icon>
|
|
</side-menu-item>
|
|
`
|
|
} else {
|
|
return html``
|
|
}
|
|
}
|
|
|
|
async getAllBalances() {
|
|
this.getAllBalancesLoading = true
|
|
await this.updateQortWalletBalance()
|
|
await this.updateBtcWalletBalance()
|
|
await this.updateLtcWalletBalance()
|
|
await this.updateDogeWalletBalance()
|
|
await this.updateDgbWalletBalance()
|
|
await this.updateRvnWalletBalance()
|
|
await this.fetchArrrWalletAddress()
|
|
await this.updateArrrWalletBalance()
|
|
this.getAllBalancesLoading = false
|
|
}
|
|
|
|
async renderBalances() {
|
|
const tickerTime = ms => new Promise(res => setTimeout(res, ms))
|
|
clearTimeout(this.updateBalancesTimeout)
|
|
this.balanceTicker = html`
|
|
<div id="balances">
|
|
<div class="balancelist"></div>
|
|
</div>
|
|
`
|
|
await tickerTime(1000)
|
|
this.balanceTicker = html`
|
|
<div id="balances">
|
|
<div class="balancelist">
|
|
<span class="balanceinfo qort">QORT ${translate("general.balance")}: ${this.qortWalletBalance}</span>
|
|
<span class="balanceinfo btc">BTC ${translate("general.balance")}: ${this.btcWalletBalance}</span>
|
|
<span class="balanceinfo ltc">LTC ${translate("general.balance")}: ${this.ltcWalletBalance}</span>
|
|
<span class="balanceinfo doge">DOGE ${translate("general.balance")}: ${this.dogeWalletBalance}</span>
|
|
<span class="balanceinfo dgb">DGB ${translate("general.balance")}: ${this.dgbWalletBalance}</span>
|
|
<span class="balanceinfo rvn">RVN ${translate("general.balance")}: ${this.rvnWalletBalance}</span>
|
|
<span class="balanceinfo arrr">ARRR ${translate("general.balance")}: ${this.arrrWalletBalance}</span>
|
|
</div>
|
|
</div>
|
|
`
|
|
this.updateBalancesTimeout = setTimeout(() => this.renderBalances(), 45000)
|
|
}
|
|
|
|
async fetchArrrWalletAddress() {
|
|
let res = await parentEpml.request('apiCall', {
|
|
url: `/crosschain/arrr/walletaddress?apiKey=${this.getApiKey()}`,
|
|
method: 'POST',
|
|
body: `${store.getState().app.selectedAddress.arrrWallet.seed58}`,
|
|
})
|
|
if (res != null && res.error != 1201) {
|
|
this.arrrWalletAddress = res
|
|
}
|
|
}
|
|
|
|
async updateQortWalletBalance() {
|
|
let qortAddress = store.getState().app.selectedAddress.address
|
|
|
|
await parentEpml.request('apiCall', {
|
|
url: `/addresses/balance/${qortAddress}?apiKey=${this.getApiKey()}`,
|
|
}).then((res) => {
|
|
this.qortWalletBalance = res
|
|
})
|
|
}
|
|
|
|
async updateBtcWalletBalance() {
|
|
let _url = `/crosschain/btc/walletbalance?apiKey=${this.getApiKey()}`
|
|
let _body = store.getState().app.selectedAddress.btcWallet.derivedMasterPublicKey
|
|
|
|
await parentEpml.request('apiCall', {
|
|
url: _url,
|
|
method: 'POST',
|
|
body: _body,
|
|
}).then((res) => {
|
|
if (isNaN(Number(res))) {
|
|
//...
|
|
} else {
|
|
this.btcWalletBalance = (Number(res) / 1e8).toFixed(8)
|
|
}
|
|
})
|
|
}
|
|
|
|
async updateLtcWalletBalance() {
|
|
let _url = `/crosschain/ltc/walletbalance?apiKey=${this.getApiKey()}`
|
|
let _body = store.getState().app.selectedAddress.ltcWallet.derivedMasterPublicKey
|
|
|
|
await parentEpml.request('apiCall', {
|
|
url: _url,
|
|
method: 'POST',
|
|
body: _body,
|
|
}).then((res) => {
|
|
if (isNaN(Number(res))) {
|
|
//...
|
|
} else {
|
|
this.ltcWalletBalance = (Number(res) / 1e8).toFixed(8)
|
|
}
|
|
})
|
|
}
|
|
|
|
async updateDogeWalletBalance() {
|
|
let _url = `/crosschain/doge/walletbalance?apiKey=${this.getApiKey()}`
|
|
let _body = store.getState().app.selectedAddress.dogeWallet.derivedMasterPublicKey
|
|
|
|
await parentEpml.request('apiCall', {
|
|
url: _url,
|
|
method: 'POST',
|
|
body: _body,
|
|
}).then((res) => {
|
|
if (isNaN(Number(res))) {
|
|
//...
|
|
} else {
|
|
this.dogeWalletBalance = (Number(res) / 1e8).toFixed(8)
|
|
}
|
|
})
|
|
}
|
|
|
|
async updateDgbWalletBalance() {
|
|
let _url = `/crosschain/dgb/walletbalance?apiKey=${this.getApiKey()}`
|
|
let _body = store.getState().app.selectedAddress.dgbWallet.derivedMasterPublicKey
|
|
|
|
await parentEpml.request('apiCall', {
|
|
url: _url,
|
|
method: 'POST',
|
|
body: _body,
|
|
}).then((res) => {
|
|
if (isNaN(Number(res))) {
|
|
//...
|
|
} else {
|
|
this.dgbWalletBalance = (Number(res) / 1e8).toFixed(8)
|
|
}
|
|
})
|
|
}
|
|
|
|
async updateRvnWalletBalance() {
|
|
let _url = `/crosschain/rvn/walletbalance?apiKey=${this.getApiKey()}`
|
|
let _body = store.getState().app.selectedAddress.rvnWallet.derivedMasterPublicKey
|
|
|
|
await parentEpml.request('apiCall', {
|
|
url: _url,
|
|
method: 'POST',
|
|
body: _body,
|
|
}).then((res) => {
|
|
if (isNaN(Number(res))) {
|
|
//...
|
|
} else {
|
|
this.rvnWalletBalance = (Number(res) / 1e8).toFixed(8)
|
|
}
|
|
})
|
|
}
|
|
|
|
async updateArrrWalletBalance() {
|
|
let _url = `/crosschain/arrr/walletbalance?apiKey=${this.getApiKey()}`
|
|
let _body = store.getState().app.selectedAddress.arrrWallet.seed58
|
|
|
|
await parentEpml.request('apiCall', {
|
|
url: _url,
|
|
method: 'POST',
|
|
body: _body,
|
|
}).then((res) => {
|
|
if (isNaN(Number(res))) {
|
|
//...
|
|
} else {
|
|
this.arrrWalletBalance = (Number(res) / 1e8).toFixed(8)
|
|
}
|
|
})
|
|
}
|
|
|
|
botBtcTradebook() {
|
|
if (localStorage.getItem(this.botBtcWallet) === null) {
|
|
localStorage.setItem(this.botBtcWallet, "")
|
|
} else {
|
|
this.tradeBotBtcBook = JSON.parse(localStorage.getItem(this.botBtcWallet) || "[]")
|
|
}
|
|
}
|
|
|
|
removeBotBTCTradebook() {
|
|
localStorage.removeItem(this.botBtcWallet)
|
|
localStorage.setItem(this.botBtcWallet, "")
|
|
this.tradeBotBtcBook = JSON.parse(localStorage.getItem(this.botBtcWallet) || "[]")
|
|
this.tradeBotAvailableBtcQortal = []
|
|
}
|
|
|
|
botLtcTradebook() {
|
|
if (localStorage.getItem(this.botLtcWallet) === null) {
|
|
localStorage.setItem(this.botLtcWallet, "")
|
|
} else {
|
|
this.tradeBotLtcBook = JSON.parse(localStorage.getItem(this.botLtcWallet) || "[]")
|
|
}
|
|
}
|
|
|
|
removeBotLTCTradebook() {
|
|
localStorage.removeItem(this.botLtcWallet)
|
|
localStorage.setItem(this.botLtcWallet, "")
|
|
this.tradeBotLtcBook = JSON.parse(localStorage.getItem(this.botLtcWallet) || "[]")
|
|
this.tradeBotAvailableLtcQortal = []
|
|
}
|
|
|
|
botDogeTradebook() {
|
|
if (localStorage.getItem(this.botDogeWallet) === null) {
|
|
localStorage.setItem(this.botDogeWallet, "")
|
|
} else {
|
|
this.tradeBotDogeBook = JSON.parse(localStorage.getItem(this.botDogeWallet) || "[]")
|
|
}
|
|
}
|
|
|
|
removeBotDOGETradebook() {
|
|
localStorage.removeItem(this.botDogeWallet)
|
|
localStorage.setItem(this.botDogeWallet, "")
|
|
this.tradeBotDogeBook = JSON.parse(localStorage.getItem(this.botDogeWallet) || "[]")
|
|
this.tradeBotAvailableDogeQortal = []
|
|
}
|
|
|
|
botDgbTradebook() {
|
|
if (localStorage.getItem(this.botDgbWallet) === null) {
|
|
localStorage.setItem(this.botDgbWallet, "")
|
|
} else {
|
|
this.tradeBotDgbBook = JSON.parse(localStorage.getItem(this.botDgbWallet) || "[]")
|
|
}
|
|
}
|
|
|
|
botRvnTradebook() {
|
|
if (localStorage.getItem(this.botRvnWallet) === null) {
|
|
localStorage.setItem(this.botRvnWallet, "")
|
|
} else {
|
|
this.tradeBotRvnBook = JSON.parse(localStorage.getItem(this.botRvnWallet) || "[]")
|
|
}
|
|
}
|
|
|
|
botArrrTradebook() {
|
|
if (localStorage.getItem(this.botArrrWallet) === null) {
|
|
localStorage.setItem(this.botArrrWallet, "")
|
|
} else {
|
|
this.tradeBotArrrBook = JSON.parse(localStorage.getItem(this.botArrrWallet) || "[]")
|
|
}
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
const manageResponse = (response) => {
|
|
if (response === true) {
|
|
let snack5string = get("tradepage.tchange23")
|
|
parentEpml.request('showSnackBar', `${snack5string}`)
|
|
} else if (response === false) {
|
|
localStorage.removeItem(this.botBtcWallet)
|
|
localStorage.setItem(this.botBtcWallet, "")
|
|
|
|
var oldBtcTradebook = JSON.parse(localStorage.getItem(this.botBtcWallet) || "[]")
|
|
|
|
const newBtcTradebookItem = {
|
|
botBtcQortAmount: this.reAddBtcAmount,
|
|
botBtcPrice: this.reAddBtcPrice
|
|
}
|
|
|
|
oldBtcTradebook.push(newBtcTradebookItem)
|
|
|
|
localStorage.setItem(this.botBtcWallet, JSON.stringify(oldBtcTradebook))
|
|
|
|
this.tradeBotBtcBook = JSON.parse(localStorage.getItem(this.botBtcWallet) || "[]")
|
|
|
|
let snack6string = get("tradepage.tchange24")
|
|
parentEpml.request('showSnackBar', `${snack6string}`)
|
|
} else {
|
|
localStorage.removeItem(this.botBtcWallet)
|
|
localStorage.setItem(this.botBtcWallet, "")
|
|
|
|
var oldBtcTradebook = JSON.parse(localStorage.getItem(this.botBtcWallet) || "[]")
|
|
|
|
const newBtcTradebookItem = {
|
|
botBtcQortAmount: this.reAddBtcAmount,
|
|
botBtcPrice: this.reAddBtcPrice
|
|
}
|
|
|
|
oldBtcTradebook.push(newBtcTradebookItem)
|
|
|
|
localStorage.setItem(this.botBtcWallet, JSON.stringify(oldBtcTradebook))
|
|
|
|
this.tradeBotBtcBook = JSON.parse(localStorage.getItem(this.botBtcWallet) || "[]")
|
|
|
|
let snack7string = get("tradepage.tchange25")
|
|
parentEpml.request('showSnackBar', `${snack7string}: ${response.message}`)
|
|
}
|
|
}
|
|
const res = await makeRequest()
|
|
manageResponse(res)
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
const manageResponse = (response) => {
|
|
if (response === true) {
|
|
let snack5string = get("tradepage.tchange23")
|
|
parentEpml.request('showSnackBar', `${snack5string}`)
|
|
} else if (response === false) {
|
|
localStorage.removeItem(this.botLtcWallet)
|
|
localStorage.setItem(this.botLtcWallet, "")
|
|
|
|
var oldLtcTradebook = JSON.parse(localStorage.getItem(this.botLtcWallet) || "[]")
|
|
|
|
const newLtcTradebookItem = {
|
|
botLtcQortAmount: this.reAddLtcAmount,
|
|
botLtcPrice: this.reAddLtcPrice
|
|
}
|
|
|
|
oldLtcTradebook.push(newLtcTradebookItem)
|
|
|
|
localStorage.setItem(this.botLtcWallet, JSON.stringify(oldLtcTradebook))
|
|
|
|
this.tradeBotLtcBook = JSON.parse(localStorage.getItem(this.botLtcWallet) || "[]")
|
|
|
|
let snack6string = get("tradepage.tchange24")
|
|
parentEpml.request('showSnackBar', `${snack6string}`)
|
|
} else {
|
|
localStorage.removeItem(this.botLtcWallet)
|
|
localStorage.setItem(this.botLtcWallet, "")
|
|
|
|
var oldLtcTradebook = JSON.parse(localStorage.getItem(this.botLtcWallet) || "[]")
|
|
|
|
const newLtcTradebookItem = {
|
|
botLtcQortAmount: this.reAddLtcAmount,
|
|
botLtcPrice: this.reAddLtcPrice
|
|
}
|
|
|
|
oldLtcTradebook.push(newLtcTradebookItem)
|
|
|
|
localStorage.setItem(this.botLtcWallet, JSON.stringify(oldLtcTradebook))
|
|
|
|
this.tradeBotLtcBook = JSON.parse(localStorage.getItem(this.botLtcWallet) || "[]")
|
|
|
|
let snack7string = get("tradepage.tchange25")
|
|
parentEpml.request('showSnackBar', `${snack7string}: ${response.message}`)
|
|
}
|
|
}
|
|
const res = await makeRequest()
|
|
manageResponse(res)
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
const manageResponse = (response) => {
|
|
if (response === true) {
|
|
let snack5string = get("tradepage.tchange23")
|
|
parentEpml.request('showSnackBar', `${snack5string}`)
|
|
} else if (response === false) {
|
|
localStorage.removeItem(this.botDogeWallet)
|
|
localStorage.setItem(this.botDogeWallet, "")
|
|
|
|
var oldDogeTradebook = JSON.parse(localStorage.getItem(this.botDogeWallet) || "[]")
|
|
|
|
const newDogeTradebookItem = {
|
|
botDogeQortAmount: this.reAddDogeAmount,
|
|
botDogePrice: this.reAddDogePrice
|
|
}
|
|
|
|
oldDogeTradebook.push(newDogeTradebookItem)
|
|
|
|
localStorage.setItem(this.botDogeWallet, JSON.stringify(oldDogeTradebook))
|
|
|
|
this.tradeBotDogeBook = JSON.parse(localStorage.getItem(this.botDogeWallet) || "[]")
|
|
|
|
let snack6string = get("tradepage.tchange24")
|
|
parentEpml.request('showSnackBar', `${snack6string}`)
|
|
} else {
|
|
localStorage.removeItem(this.botDogeWallet)
|
|
localStorage.setItem(this.botDogeWallet, "")
|
|
|
|
var oldDogeTradebook = JSON.parse(localStorage.getItem(this.botDogeWallet) || "[]")
|
|
|
|
const newDogeTradebookItem = {
|
|
botDogeQortAmount: this.reAddDogeAmount,
|
|
botDogePrice: this.reAddDogePrice
|
|
}
|
|
|
|
oldDogeTradebook.push(newDogeTradebookItem)
|
|
|
|
localStorage.setItem(this.botDogeWallet, JSON.stringify(oldDogeTradebook))
|
|
|
|
this.tradeBotDogeBook = JSON.parse(localStorage.getItem(this.botDogeWallet) || "[]")
|
|
|
|
let snack7string = get("tradepage.tchange25")
|
|
parentEpml.request('showSnackBar', `${snack7string}: ${response.message}`)
|
|
}
|
|
}
|
|
const res = await makeRequest()
|
|
manageResponse(res)
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
const manageResponse = (response) => {
|
|
if (response === true) {
|
|
let snack5string = get("tradepage.tchange23")
|
|
parentEpml.request('showSnackBar', `${snack5string}`)
|
|
} else if (response === false) {
|
|
localStorage.removeItem(this.botDgbWallet)
|
|
localStorage.setItem(this.botDgbWallet, "")
|
|
|
|
var oldDgbTradebook = JSON.parse(localStorage.getItem(this.botDgbWallet) || "[]")
|
|
|
|
const newDgbTradebookItem = {
|
|
botDgbQortAmount: this.reAddDgbAmount,
|
|
botDgbPrice: this.reAddDgbPrice
|
|
}
|
|
|
|
oldDgbTradebook.push(newDgbTradebookItem)
|
|
|
|
localStorage.setItem(this.botDgbWallet, JSON.stringify(oldDgbTradebook))
|
|
|
|
this.tradeBotDgbBook = JSON.parse(localStorage.getItem(this.botDgbWallet) || "[]")
|
|
|
|
let snack6string = get("tradepage.tchange24")
|
|
parentEpml.request('showSnackBar', `${snack6string}`)
|
|
} else {
|
|
localStorage.removeItem(this.botDgbWallet)
|
|
localStorage.setItem(this.botDgbWallet, "")
|
|
|
|
var oldDgbTradebook = JSON.parse(localStorage.getItem(this.botDgbWallet) || "[]")
|
|
|
|
const newDgbTradebookItem = {
|
|
botDgbQortAmount: this.reAddDgbAmount,
|
|
botDgbPrice: this.reAddDgbPrice
|
|
}
|
|
|
|
oldDgbTradebook.push(newDgbTradebookItem)
|
|
|
|
localStorage.setItem(this.botDgbWallet, JSON.stringify(oldDgbTradebook))
|
|
|
|
this.tradeBotDgbBook = JSON.parse(localStorage.getItem(this.botDgbWallet) || "[]")
|
|
|
|
let snack7string = get("tradepage.tchange25")
|
|
parentEpml.request('showSnackBar', `${snack7string}: ${response.message}`)
|
|
}
|
|
}
|
|
const res = await makeRequest()
|
|
manageResponse(res)
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
const manageResponse = (response) => {
|
|
if (response === true) {
|
|
let snack5string = get("tradepage.tchange23")
|
|
parentEpml.request('showSnackBar', `${snack5string}`)
|
|
} else if (response === false) {
|
|
localStorage.removeItem(this.botRvnWallet)
|
|
localStorage.setItem(this.botRvnWallet, "")
|
|
|
|
var oldRvnTradebook = JSON.parse(localStorage.getItem(this.botRvnWallet) || "[]")
|
|
|
|
const newRvnTradebookItem = {
|
|
botRvnQortAmount: this.reAddRvnAmount,
|
|
botRvnPrice: this.reAddRvnPrice
|
|
}
|
|
|
|
oldRvnTradebook.push(newRvnTradebookItem)
|
|
|
|
localStorage.setItem(this.botRvnWallet, JSON.stringify(oldRvnTradebook))
|
|
|
|
this.tradeBotRvnBook = JSON.parse(localStorage.getItem(this.botRvnWallet) || "[]")
|
|
|
|
let snack6string = get("tradepage.tchange24")
|
|
parentEpml.request('showSnackBar', `${snack6string}`)
|
|
} else {
|
|
localStorage.removeItem(this.botRvnWallet)
|
|
localStorage.setItem(this.botRvnWallet, "")
|
|
|
|
var oldRvnTradebook = JSON.parse(localStorage.getItem(this.botRvnWallet) || "[]")
|
|
|
|
const newRvnTradebookItem = {
|
|
botRvnQortAmount: this.reAddRvnAmount,
|
|
botRvnPrice: this.reAddRvnPrice
|
|
}
|
|
|
|
oldRvnTradebook.push(newRvnTradebookItem)
|
|
|
|
localStorage.setItem(this.botRvnWallet, JSON.stringify(oldRvnTradebook))
|
|
|
|
this.tradeBotRvnBook = JSON.parse(localStorage.getItem(this.botRvnWallet) || "[]")
|
|
|
|
let snack7string = get("tradepage.tchange25")
|
|
parentEpml.request('showSnackBar', `${snack7string}: ${response.message}`)
|
|
}
|
|
}
|
|
const res = await makeRequest()
|
|
manageResponse(res)
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
const manageResponse = (response) => {
|
|
if (response === true) {
|
|
let snack5string = get("tradepage.tchange23")
|
|
parentEpml.request('showSnackBar', `${snack5string}`)
|
|
} else if (response === false) {
|
|
localStorage.removeItem(this.botArrrWallet)
|
|
localStorage.setItem(this.botArrrWallet, "")
|
|
|
|
var oldArrrTradebook = JSON.parse(localStorage.getItem(this.botArrrWallet) || "[]")
|
|
|
|
const newArrrTradebookItem = {
|
|
botArrrQortAmount: this.reAddArrrAmount,
|
|
botArrrPrice: this.reAddArrrPrice
|
|
}
|
|
|
|
oldArrrTradebook.push(newArrrTradebookItem)
|
|
|
|
localStorage.setItem(this.botArrrWallet, JSON.stringify(oldArrrTradebook))
|
|
|
|
this.tradeBotArrrBook = JSON.parse(localStorage.getItem(this.botArrrWallet) || "[]")
|
|
|
|
let snack6string = get("tradepage.tchange24")
|
|
parentEpml.request('showSnackBar', `${snack6string}`)
|
|
} else {
|
|
localStorage.removeItem(this.botArrrWallet)
|
|
localStorage.setItem(this.botArrrWallet, "")
|
|
|
|
var oldArrrTradebook = JSON.parse(localStorage.getItem(this.botArrrWallet) || "[]")
|
|
|
|
const newArrrTradebookItem = {
|
|
botArrrQortAmount: this.reAddArrrAmount,
|
|
botArrrPrice: this.reAddArrrPrice
|
|
}
|
|
|
|
oldArrrTradebook.push(newArrrTradebookItem)
|
|
|
|
localStorage.setItem(this.botArrrWallet, JSON.stringify(oldArrrTradebook))
|
|
|
|
this.tradeBotArrrBook = JSON.parse(localStorage.getItem(this.botArrrWallet) || "[]")
|
|
|
|
let snack7string = get("tradepage.tchange25")
|
|
parentEpml.request('showSnackBar', `${snack7string}: ${response.message}`)
|
|
}
|
|
}
|
|
const res = await makeRequest()
|
|
manageResponse(res)
|
|
}
|
|
|
|
stateChanged(state) {
|
|
const split = state.app.url.split('/')
|
|
const sideurl = split[2]
|
|
this.config = state.config
|
|
this.urls = state.app.registeredUrls
|
|
this.addressInfo = state.app.accountInfo.addressInfo
|
|
|
|
if (sideurl === "minting") {
|
|
this.shadowRoot.getElementById('qminter').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "become-minter") {
|
|
this.shadowRoot.getElementById('qbminter').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "sponsorship-list") {
|
|
this.shadowRoot.getElementById('qiminter').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "wallet") {
|
|
this.shadowRoot.getElementById('qwallet').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "trade-portal") {
|
|
this.shadowRoot.getElementById('qtrade').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "trade-bot-portal") {
|
|
this.shadowRoot.getElementById('qbot').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "reward-share") {
|
|
this.shadowRoot.getElementById('qrewardshare').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "q-chat") {
|
|
this.shadowRoot.getElementById('qchat').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "name-registration") {
|
|
this.shadowRoot.getElementById('qnamereg').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "names-market") {
|
|
this.shadowRoot.getElementById('qnamemarket').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "websites") {
|
|
this.shadowRoot.getElementById('qweb').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "qapps") {
|
|
this.shadowRoot.getElementById('qapp').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "group-management") {
|
|
this.shadowRoot.getElementById('qgroupmange').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "puzzles") {
|
|
this.shadowRoot.getElementById('qpuzzles').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "data-management") {
|
|
this.shadowRoot.getElementById('qdata').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnode').removeAttribute('selected')
|
|
}
|
|
} else if (sideurl === "node-management") {
|
|
this.shadowRoot.getElementById('qnode').setAttribute('selected', 'selected')
|
|
if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qiminter').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qwallet').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qtrade').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qbot').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qchat').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamereg').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qweb').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qapp').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected')
|
|
} else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) {
|
|
this.shadowRoot.getElementById('qdata').removeAttribute('selected')
|
|
}
|
|
}
|
|
}
|
|
|
|
openSettings() {
|
|
const settingsDialog = document.getElementById('main-app').shadowRoot.querySelector('app-view').shadowRoot.querySelector('user-settings')
|
|
settingsDialog.openSettings()
|
|
}
|
|
|
|
openLogout() {
|
|
const logoutDialog = document.getElementById('main-app').shadowRoot.querySelector('app-view').shadowRoot.querySelector('logout-view')
|
|
logoutDialog.openLogout()
|
|
}
|
|
|
|
getApiKey() {
|
|
const apiNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]
|
|
let apiKey = apiNode.apiKey
|
|
return apiKey
|
|
}
|
|
|
|
isEmptyArray(arr) {
|
|
if (!arr) {
|
|
return true
|
|
}
|
|
return arr.length === 0
|
|
}
|
|
|
|
round(number) {
|
|
let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8)
|
|
return result
|
|
}
|
|
}
|
|
|
|
window.customElements.define('app-view', AppView) |