+
this.nodeSelected(e)}" style="min-width: 130px; max-width:100%; width:100%;">
${this.nodeConfig.knownNodes.map((n, index) => html`
- ${n.protocol + '://' + n.domain + ':' + n.port}
+
+ ${n.name}
+ ${n.protocol + '://' + n.domain + ':' + n.port}
+
`)}
-
${translate("settings.nodehint")}
+
${translate("settings.nodehint")}
- this.shadowRoot.querySelector('#addNodeDialog').show()}">add${translate("settings.addcustomnode")}
+ this.shadowRoot.querySelector('#addNodeDialog').show()}">add${translate("settings.addcustomnode")}
+
+ this.removeList()}">remove${translate("settings.deletecustomnode")}
+
+
+
${this.renderExportNodesListButton()}
${this.renderImportNodesListButton()}
+
@@ -99,7 +136,9 @@ class SettingsPage extends connect(store)(LitElement) {
-
+
+
+
http
https
@@ -120,6 +159,26 @@ class SettingsPage extends connect(store)(LitElement) {
${translate("settings.addandsave")}
+
+
+
+
${translate("settings.import")}
+
+
+
+
+ this.importQortalNodesList(e.detail.result)}">
+
${translate("walletpage.wchange56")}
+ ${translate("settings.warning")}
+
+
+ ${translate("general.close")}
+
+
`
}
@@ -127,15 +186,46 @@ class SettingsPage extends connect(store)(LitElement) {
// ...
}
- stateChanged(state) {
- this.config = state.config
- this.nodeConfig = state.app.nodeConfig
- }
-
show() {
this.shadowRoot.getElementById('settingsDialog').show()
}
+ close() {
+ this.shadowRoot.getElementById('settingsDialog').close()
+ }
+
+ removeList() {
+ localStorage.removeItem("myQortalNodes")
+
+ const obj1 = {
+ name: 'Local Node',
+ protocol: 'http',
+ domain: '127.0.0.1',
+ port: 12391,
+ enableManagement: true
+ }
+
+ const obj2 = {
+ name: 'Local Testnet',
+ protocol: 'http',
+ domain: '127.0.0.1',
+ port: 62391,
+ enableManagement: true
+ }
+
+ var renewNodes = [];
+ renewNodes.push(obj1,obj2)
+ localStorage.setItem('myQortalNodes', JSON.stringify(renewNodes))
+
+ let snack1string = get("settings.snack1")
+ snackbar.add({
+ labelText: `${snack1string}`,
+ dismiss: true
+ })
+
+ store.dispatch(doLoadNodeConfig())
+ }
+
nodeSelected(e) {
const selectedNodeIndex = this.shadowRoot.getElementById('nodeSelect').value
const selectedNode = this.nodeConfig.knownNodes[selectedNodeIndex]
@@ -144,22 +234,26 @@ class SettingsPage extends connect(store)(LitElement) {
const index = parseInt(selectedNodeIndex)
if (isNaN(index)) return
- // Set selected node
store.dispatch(doSetNode(selectedNodeIndex))
+
+ let snack2string = get("settings.snack2")
snackbar.add({
- labelText: `UI Set To Node : ${selectedNodeUrl}`,
+ labelText: `${snack2string} : ${selectedNodeUrl}`,
dismiss: true
})
+
this.shadowRoot.querySelector('#settingsDialog').close()
}
addNode() {
+ const nameInput = this.shadowRoot.getElementById('nameInput').value
const protocolList = this.shadowRoot.getElementById('protocolList').value
const domainInput = this.shadowRoot.getElementById('domainInput').value
const portInput = this.shadowRoot.getElementById('portInput').value
if (protocolList.length >= 4 && domainInput.length >= 3 && portInput.length >= 4) {
const nodeObject = {
+ name: nameInput,
protocol: protocolList,
domain: domainInput,
port: portInput,
@@ -168,19 +262,21 @@ class SettingsPage extends connect(store)(LitElement) {
store.dispatch(doAddNode(nodeObject))
- const haveNodes = JSON.parse(localStorage.getItem('myQortalNodes'));
+ const haveNodes = JSON.parse(localStorage.getItem('myQortalNodes'))
if (haveNodes === null || haveNodes.length === 0) {
var savedNodes = [];
savedNodes.push(nodeObject);
- localStorage.setItem('myQortalNodes', JSON.stringify(savedNodes));
+ localStorage.setItem('myQortalNodes', JSON.stringify(savedNodes))
+ let snack3string = get("settings.snack3")
snackbar.add({
- labelText: 'Successfully Added And Saved Custom Node',
+ labelText: `${snack3string}`,
dismiss: true
})
+ this.shadowRoot.getElementById('nameInput').value = ''
this.shadowRoot.getElementById('protocolList').value = ''
this.shadowRoot.getElementById('domainInput').value = ''
this.shadowRoot.getElementById('portInput').value = ''
@@ -193,11 +289,13 @@ class SettingsPage extends connect(store)(LitElement) {
stored.push(nodeObject);
localStorage.setItem('myQortalNodes', JSON.stringify(stored));
+ let snack3string = get("settings.snack3")
snackbar.add({
- labelText: 'Successfully Added And Saved Custom Node',
+ labelText: `${snack3string}`,
dismiss: true
})
+ this.shadowRoot.getElementById('nameInput').value = ''
this.shadowRoot.getElementById('protocolList').value = ''
this.shadowRoot.getElementById('domainInput').value = ''
this.shadowRoot.getElementById('portInput').value = ''
@@ -206,6 +304,59 @@ class SettingsPage extends connect(store)(LitElement) {
}
}
}
+
+ openImportNodesDialog() {
+ this.shadowRoot.querySelector("#importQortalNodesListDialog").show()
+ }
+
+ closeImportNodesDialog() {
+ this.shadowRoot.querySelector("#importQortalNodesListDialog").close()
+ }
+
+ renderExportNodesListButton() {
+ return html`
+ this.exportQortalNodesList()}">
+ `
+ }
+
+ exportQortalNodesList() {
+ const qortalNodesList = JSON.stringify(localStorage.getItem("myQortalNodes"))
+ const qortalNodesListSave = JSON.parse((qortalNodesList) || "[]")
+ const blob = new Blob([qortalNodesListSave], { type: 'text/plain;charset=utf-8' })
+ FileSaver.saveAs(blob, `qortal.nodes`)
+
+ let snack4string = get("settings.snack4")
+ snackbar.add({
+ labelText: `${snack4string} qortal.nodes`,
+ dismiss: true
+ })
+ }
+
+ renderImportNodesListButton() {
+ return html`
+ this.openImportNodesDialog()}">
+ `
+ }
+
+ async importQortalNodesList(file) {
+ localStorage.removeItem("myQortalNodes")
+ const newItems = JSON.parse((file) || "[]")
+ localStorage.setItem("myQortalNodes", JSON.stringify(newItems))
+ this.shadowRoot.querySelector('#importQortalNodesListDialog').close()
+
+ let snack5string = get("settings.snack5")
+ snackbar.add({
+ labelText: `${snack5string}`,
+ dismiss: true
+ })
+
+ store.dispatch(doLoadNodeConfig())
+ }
+
+ stateChanged(state) {
+ this.config = state.config
+ this.nodeConfig = state.app.nodeConfig
+ }
}
window.customElements.define('settings-page', SettingsPage)
diff --git a/qortal-ui-core/src/redux/app/actions/node-config.js b/qortal-ui-core/src/redux/app/actions/node-config.js
index 7c4be8c4..8181553f 100644
--- a/qortal-ui-core/src/redux/app/actions/node-config.js
+++ b/qortal-ui-core/src/redux/app/actions/node-config.js
@@ -23,7 +23,7 @@ export const doLoadNodeConfig = () => {
if (checkNodes === null || checkNodes.length === 0) {
var saveNode = [];
- saveNode.push(obj1,obj2,obj3,obj4,obj5,obj6);
+ saveNode.push(obj1,obj2);
localStorage.setItem('myQortalNodes', JSON.stringify(saveNode));
nodeConfig.knownNodes = JSON.parse(localStorage.getItem('myQortalNodes'));
} else{
@@ -73,6 +73,7 @@ const addNode = (payload) => {
}
const obj1 = {
+ name: 'Local Node',
protocol: 'http',
domain: '127.0.0.1',
port: 12391,
@@ -80,36 +81,10 @@ const obj1 = {
}
const obj2 = {
- protocol: 'http',
- domain: 'node1.qortal.org',
- port: 12391,
- enableManagement: false
-}
-
-const obj3 = {
- protocol: 'http',
- domain: 'node2.qortal.org',
- port: 12391,
- enableManagement: false
-}
-
-const obj4 = {
+ name: 'Local Testnet',
protocol: 'http',
domain: '127.0.0.1',
port: 62391,
enableManagement: true
}
-const obj5 = {
- protocol: 'http',
- domain: 'node1.qortal.org',
- port: 62391,
- enableManagement: false
-}
-
-const obj6 = {
- protocol: 'http',
- domain: 'node2.qortal.org',
- port: 62391,
- enableManagement: false
-}
diff --git a/qortal-ui-core/src/redux/user/actions/update-name.js b/qortal-ui-core/src/redux/user/actions/update-name.js
index b1529bb0..c3eb1772 100644
--- a/qortal-ui-core/src/redux/user/actions/update-name.js
+++ b/qortal-ui-core/src/redux/user/actions/update-name.js
@@ -1,9 +1,8 @@
import { updateAccountInfo } from './update-account-info.js'
-// import { doUpdateStoredWalletName } from '../user-actions.js'
import { doUpdateStoredWalletName } from './store-wallet.js'
const GET_NAME_URL = 'names/address/'
-const CHECK_NAME_INTERVAL = 1000 * 3 // Every 3 seconds
+const CHECK_NAME_INTERVAL = 1000 * 10 // Every 10 seconds
export const UPDATE_NAME_STATUSES = {
LOADING: 'LOADING',
@@ -21,8 +20,6 @@ export const doUpdateAccountName = (address, expectedName, awaitingConfirm) => {
const state = getState()
const config = state.config
const node = config.coin.node.api
- // console.log(config.constants)
- // const url = config.constants.proxyURL + node.url + node.tail + GET_NAME_URL + address
const url = node.url + node.tail + GET_NAME_URL + address
return fetch(url)
.then(res => res.json())
diff --git a/qortal-ui-core/src/styles/styles.scss b/qortal-ui-core/src/styles/styles.scss
index da6a76ae..8fff0d28 100644
--- a/qortal-ui-core/src/styles/styles.scss
+++ b/qortal-ui-core/src/styles/styles.scss
@@ -1,6 +1,7 @@
$mdc-layout-grid-breakpoints: (
- desktop: 960px,
- tablet: 480px,
+ desktop: 1440px,
+ laptop: 1240px,
+ tablet: 600px,
phone: 0px
);
@@ -10,8 +11,6 @@ $mdc-layout-grid-breakpoints: (
--layout-breakpoint-mobile: #{map-get($mdc-layout-grid-breakpoints, phone)};
}
-// @import '../../node_modules/@material/layout-grid/mdc-layout-grid.scss';
-
iframe.pluginJSFrame {
display:none;
}
diff --git a/qortal-ui-crypto/api/constants.js b/qortal-ui-crypto/api/constants.js
index 1909fffc..b3fa7cd4 100644
--- a/qortal-ui-crypto/api/constants.js
+++ b/qortal-ui-crypto/api/constants.js
@@ -249,6 +249,8 @@ const ERROR_CODES = {
1000: "Not yet released."
}
+const CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP = 9999999999999
+
const QORT_DECIMALS = 1e8
const PROXY_URL = "/proxy/" // Proxy for api calls
@@ -265,7 +267,7 @@ const STATIC_BCRYPT_SALT = `$${BCRYPT_VERSION}$${BCRYPT_ROUNDS}$IxVE941tXVUD4cW0
const KDF_THREADS = 16 // 16 Threads seems like a good number :) . No you dumbass nigerian. Its not ! -_-
-export { TX_TYPES, ERROR_CODES, QORT_DECIMALS, PROXY_URL, STATIC_SALT, ADDRESS_VERSION, KDF_THREADS, STATIC_BCRYPT_SALT }
+export { TX_TYPES, ERROR_CODES, QORT_DECIMALS, PROXY_URL, STATIC_SALT, ADDRESS_VERSION, KDF_THREADS, STATIC_BCRYPT_SALT, CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP }
//const TX_TYPES = {
// GENESIS_TRANSACTION: 1,
@@ -291,4 +293,4 @@ export { TX_TYPES, ERROR_CODES, QORT_DECIMALS, PROXY_URL, STATIC_SALT, ADDRESS_V
// DEPLOY_AT_TRANSACTION: 16,
//
// MESSAGE_TRANSACTION: 17
-//};
\ No newline at end of file
+//};
diff --git a/qortal-ui-crypto/api/transactions/chat/ChatTransaction.js b/qortal-ui-crypto/api/transactions/chat/ChatTransaction.js
index 6e6dcfd4..a53a0f81 100644
--- a/qortal-ui-crypto/api/transactions/chat/ChatTransaction.js
+++ b/qortal-ui-crypto/api/transactions/chat/ChatTransaction.js
@@ -3,6 +3,7 @@ import ChatBase from "./ChatBase.js"
import nacl from '../../deps/nacl-fast.js'
import ed2curve from '../../deps/ed2curve.js'
import { Sha256 } from 'asmcrypto.js'
+import { CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP } from '../../constants.js'
export default class ChatTransaction extends ChatBase {
@@ -29,6 +30,15 @@ export default class ChatTransaction extends ChatBase {
this._hasReceipient[0] = 1
}
+ set hasChatReference(hasChatReference) {
+ this._hasChatReference = new Uint8Array(1)
+ this._hasChatReference[0] = hasChatReference
+ }
+
+ set chatReference(chatReference) {
+ this._chatReference = chatReference instanceof Uint8Array ? chatReference : this.constructor.Base58.decode(chatReference)
+ }
+
set message(message) {
this.messageText = message;
@@ -72,6 +82,16 @@ export default class ChatTransaction extends ChatBase {
this._isText,
this._feeBytes
)
+
+ // After the feature trigger timestamp we need to include chat reference
+ if (new Date(this._timestamp).getTime() >= CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP) {
+ params.push(this._hasChatReference)
+
+ if (this._hasChatReference[0] == 1) {
+ params.push(this._chatReference)
+ }
+ }
+
return params;
}
}
diff --git a/qortal-ui-crypto/api/transactions/chat/GroupChatTransaction.js b/qortal-ui-crypto/api/transactions/chat/GroupChatTransaction.js
index efbd97b0..4f0f2386 100644
--- a/qortal-ui-crypto/api/transactions/chat/GroupChatTransaction.js
+++ b/qortal-ui-crypto/api/transactions/chat/GroupChatTransaction.js
@@ -1,5 +1,6 @@
"use strict";
import ChatBase from "./ChatBase.js"
+import { CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP } from '../../constants.js'
export default class GroupChatTransaction extends ChatBase {
constructor() {
@@ -18,6 +19,15 @@ export default class GroupChatTransaction extends ChatBase {
this._hasReceipient[0] = hasReceipient
}
+ set hasChatReference(hasChatReference) {
+ this._hasChatReference = new Uint8Array(1)
+ this._hasChatReference[0] = hasChatReference
+ }
+
+ set chatReference(chatReference) {
+ this._chatReference = chatReference instanceof Uint8Array ? chatReference : this.constructor.Base58.decode(chatReference)
+ }
+
set message(message) {
this.messageText = message;
@@ -47,6 +57,16 @@ export default class GroupChatTransaction extends ChatBase {
this._isText,
this._feeBytes
)
+
+ // After the feature trigger timestamp we need to include chat reference
+ if (new Date(this._timestamp).getTime() >= CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP) {
+ params.push(this._hasChatReference)
+
+ if (this._hasChatReference[0] == 1) {
+ params.push(this._chatReference)
+ }
+ }
+
return params;
}
}
diff --git a/qortal-ui-crypto/package.json b/qortal-ui-crypto/package.json
index 245f9145..b1814e00 100644
--- a/qortal-ui-crypto/package.json
+++ b/qortal-ui-crypto/package.json
@@ -1,28 +1,28 @@
{
- "name": "qortal-ui-crypto",
- "version": "2.2.2",
- "description": "QORTAL-UI Crypto",
- "keywords": [
- "QORT",
- "QORTAL",
- "DECENTRALIZED"
- ],
- "homepage": "https://qortal.org",
- "main": "api.js",
- "repository": {
- "type": "git",
- "url": "https://github.com/Qortal/qortal-ui.git",
- "directory": "qortal-ui-crypto"
- },
- "author": "QORTAL ",
- "license": "GPL-3.0",
- "dependencies": {
- "asmcrypto.js": "2.3.2",
- "buffer": "6.0.3",
- "jssha": "3.2.0",
- "lodash": "4.17.21"
- },
- "engines": {
- "node": ">=14.17.0"
- }
+ "name": "qortal-ui-crypto",
+ "version": "2.2.3",
+ "description": "QORTAL-UI Crypto",
+ "keywords": [
+ "QORT",
+ "QORTAL",
+ "DECENTRALIZED"
+ ],
+ "homepage": "https://qortal.org",
+ "main": "api.js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Qortal/qortal-ui.git",
+ "directory": "qortal-ui-crypto"
+ },
+ "author": "QORTAL ",
+ "license": "GPL-3.0",
+ "dependencies": {
+ "asmcrypto.js": "2.3.2",
+ "buffer": "6.0.3",
+ "jssha": "3.2.0",
+ "lodash": "4.17.21"
+ },
+ "engines": {
+ "node": ">=16.15.0"
+ }
}
diff --git a/qortal-ui-plugins/package.json b/qortal-ui-plugins/package.json
index 6a05c76c..5e2e61cf 100644
--- a/qortal-ui-plugins/package.json
+++ b/qortal-ui-plugins/package.json
@@ -1,66 +1,66 @@
{
- "name": "qortal-ui-plugins",
- "version": "2.2.2",
- "description": "QORTAL-UI Plugins",
- "keywords": [
- "QORT",
- "QORTAL",
- "DECENTRALIZED"
- ],
- "homepage": "https://qortal.org",
- "main": "default-plugins.js",
- "repository": {
- "type": "git",
- "url": "https://github.com/Qortal/qortal-ui.git",
- "directory": "qortal-ui-plugins"
- },
- "author": "QORTAL ",
- "license": "GPL-3.0",
- "dependencies": {
- "@material/mwc-list": "0.27.0",
- "@material/mwc-select": "0.27.0",
- "emoji-picker-js": "https://github.com/Qortal/emoji-picker-js",
+ "name": "qortal-ui-plugins",
+ "version": "2.2.3",
+ "description": "QORTAL-UI Plugins",
+ "keywords": [
+ "QORT",
+ "QORTAL",
+ "DECENTRALIZED"
+ ],
+ "homepage": "https://qortal.org",
+ "main": "default-plugins.js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Qortal/qortal-ui.git",
+ "directory": "qortal-ui-plugins"
+ },
+ "author": "QORTAL ",
+ "license": "GPL-3.0",
+ "dependencies": {
+ "@material/mwc-list": "0.27.0",
+ "@material/mwc-select": "0.27.0",
+ "emoji-picker-js": "https://github.com/Qortal/emoji-picker-js",
"localforage": "^1.10.0"
- },
- "devDependencies": {
- "@babel/core": "7.19.1",
- "@github/time-elements": "3.1.2",
- "@material/mwc-button": "0.27.0",
- "@material/mwc-checkbox": "0.27.0",
- "@material/mwc-dialog": "0.27.0",
- "@material/mwc-formfield": "0.27.0",
- "@material/mwc-icon": "0.27.0",
- "@material/mwc-icon-button": "0.27.0",
- "@material/mwc-slider": "0.27.0",
- "@material/mwc-snackbar": "0.27.0",
- "@material/mwc-tab": "0.27.0",
- "@material/mwc-tab-bar": "0.27.0",
- "@material/mwc-textfield": "0.27.0",
- "@polymer/iron-icons": "3.0.1",
- "@polymer/paper-icon-button": "3.0.2",
- "@polymer/paper-progress": "3.0.1",
- "@polymer/paper-slider": "3.0.1",
- "@polymer/paper-spinner": "3.0.2",
- "@polymer/paper-tooltip": "3.0.1",
- "@rollup/plugin-alias": "3.1.9",
- "@rollup/plugin-babel": "5.3.1",
- "@rollup/plugin-commonjs": "22.0.2",
- "@rollup/plugin-node-resolve": "14.1.0",
- "@rollup/plugin-replace": "4.0.0",
- "@vaadin/button": "23.2.1",
- "@vaadin/grid": "23.2.1",
- "@vaadin/icons": "23.2.1",
- "epml": "0.3.3",
- "file-saver": "2.0.5",
- "html-escaper": "3.0.3",
- "lit": "2.3.1",
- "lit-translate": "2.0.1",
- "rollup": "2.79.0",
- "rollup-plugin-node-globals": "1.4.0",
- "rollup-plugin-progress": "1.1.2",
- "rollup-plugin-terser": "7.0.2"
- },
- "engines": {
- "node": ">=14.17.0"
- }
+ },
+ "devDependencies": {
+ "@babel/core": "7.19.3",
+ "@github/time-elements": "3.1.2",
+ "@material/mwc-button": "0.27.0",
+ "@material/mwc-checkbox": "0.27.0",
+ "@material/mwc-dialog": "0.27.0",
+ "@material/mwc-formfield": "0.27.0",
+ "@material/mwc-icon": "0.27.0",
+ "@material/mwc-icon-button": "0.27.0",
+ "@material/mwc-slider": "0.27.0",
+ "@material/mwc-snackbar": "0.27.0",
+ "@material/mwc-tab": "0.27.0",
+ "@material/mwc-tab-bar": "0.27.0",
+ "@material/mwc-textfield": "0.27.0",
+ "@polymer/iron-icons": "3.0.1",
+ "@polymer/paper-icon-button": "3.0.2",
+ "@polymer/paper-progress": "3.0.1",
+ "@polymer/paper-slider": "3.0.1",
+ "@polymer/paper-spinner": "3.0.2",
+ "@polymer/paper-tooltip": "3.0.1",
+ "@rollup/plugin-alias": "4.0.0",
+ "@rollup/plugin-babel": "6.0.0",
+ "@rollup/plugin-commonjs": "23.0.0",
+ "@rollup/plugin-node-resolve": "15.0.0",
+ "@rollup/plugin-replace": "5.0.0",
+ "@vaadin/button": "23.2.5",
+ "@vaadin/grid": "23.2.5",
+ "@vaadin/icons": "23.2.5",
+ "epml": "0.3.3",
+ "file-saver": "2.0.5",
+ "html-escaper": "3.0.3",
+ "lit": "2.4.0",
+ "lit-translate": "2.0.1",
+ "rollup": "2.79.1",
+ "rollup-plugin-node-globals": "1.4.0",
+ "rollup-plugin-progress": "1.1.2",
+ "rollup-plugin-terser": "7.0.2"
+ },
+ "engines": {
+ "node": ">=16.15.0"
+ }
}
diff --git a/qortal-ui-plugins/plugins/core/components/ChatModals.js b/qortal-ui-plugins/plugins/core/components/ChatModals.js
index 5b1a6712..ab772335 100644
--- a/qortal-ui-plugins/plugins/core/components/ChatModals.js
+++ b/qortal-ui-plugins/plugins/core/components/ChatModals.js
@@ -1,4 +1,5 @@
-import { LitElement, html, css} from 'lit-element';
+import { LitElement, html, css } from 'lit';
+import { render } from 'lit/html.js';
import { get, translate } from 'lit-translate';
import { Epml } from '../../../epml';
import snackbar from './snackbar.js'
@@ -182,6 +183,7 @@ class ChatModals extends LitElement {
timestamp: sendTimestamp,
recipient: recipient,
recipientPublicKey: _publicKey,
+ hasChatReference: 0,
message: messageText,
lastReference: reference,
proofOfWorkNonce: 0,
@@ -336,7 +338,6 @@ class ChatModals extends LitElement {
dismiss: true
})
}
- console.log({ret})
return ret
}
diff --git a/qortal-ui-plugins/plugins/core/components/ChatPage.js b/qortal-ui-plugins/plugins/core/components/ChatPage.js
index 166c228b..7c61d3b6 100644
--- a/qortal-ui-plugins/plugins/core/components/ChatPage.js
+++ b/qortal-ui-plugins/plugins/core/components/ChatPage.js
@@ -724,7 +724,6 @@ class ChatPage extends LitElement {
// Error Event
directSocket.onerror = (e) => {
clearTimeout(directSocketTimeout)
- console.log(`[DIRECT-SOCKET ==> ${cid}]: ${e.type}`);
}
const pingDirectSocket = () => {
@@ -812,7 +811,6 @@ class ChatPage extends LitElement {
// Error Event
groupSocket.onerror = (e) => {
clearTimeout(groupSocketTimeout)
- console.log(`[GROUP-SOCKET ==> ${groupId}]: ${e.type}`);
}
const pingGroupSocket = () => {
@@ -901,6 +899,7 @@ class ChatPage extends LitElement {
timestamp: Date.now(),
recipient: this._chatId,
recipientPublicKey: this._publicKey.key,
+ hasChatReference: 0,
message: messageText,
lastReference: reference,
proofOfWorkNonce: 0,
@@ -918,6 +917,7 @@ class ChatPage extends LitElement {
timestamp: Date.now(),
groupID: Number(this._chatId),
hasReceipient: 0,
+ hasChatReference: 0,
message: messageText,
lastReference: reference,
proofOfWorkNonce: 0,
diff --git a/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js b/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js
index 1d9ea9bc..782db47f 100644
--- a/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js
+++ b/qortal-ui-plugins/plugins/core/components/ChatWelcomePage.js
@@ -410,6 +410,7 @@ class ChatWelcomePage extends LitElement {
timestamp: sendTimestamp,
recipient: recipient,
recipientPublicKey: _publicKey,
+ hasChatReference: 0,
message: messageText,
lastReference: reference,
proofOfWorkNonce: 0,
diff --git a/qortal-ui-plugins/plugins/core/components/NameMenu.js b/qortal-ui-plugins/plugins/core/components/NameMenu.js
index 77472b71..17c39a88 100644
--- a/qortal-ui-plugins/plugins/core/components/NameMenu.js
+++ b/qortal-ui-plugins/plugins/core/components/NameMenu.js
@@ -529,6 +529,7 @@ class NameMenu extends LitElement {
timestamp: sendTimestamp,
recipient: recipient,
recipientPublicKey: _publicKey,
+ hasChatReference: 0,
message: messageText,
lastReference: reference,
proofOfWorkNonce: 0,
diff --git a/qortal-ui-plugins/plugins/core/group-management/group-management.src.js b/qortal-ui-plugins/plugins/core/group-management/group-management.src.js
index 5c60519b..ee4eedc3 100644
--- a/qortal-ui-plugins/plugins/core/group-management/group-management.src.js
+++ b/qortal-ui-plugins/plugins/core/group-management/group-management.src.js
@@ -588,57 +588,42 @@ class GroupManagement extends LitElement {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port;
const url = `${nodeUrl}/transactions/unitfee?txType=CREATE_GROUP`;
- await fetch(url)
- .then((response) => {
- if (response.ok) {
- return response.json();
- }
- return Promise.reject(response);
- })
- .then((json) => {
- this.createFee = (Number(json) / 1e8).toFixed(8);
- })
- .catch((response) => {
- console.log(response.status, response.statusText, 'Need Core Update');
- })
+ await fetch(url).then((response) => {
+ if (response.ok) {
+ return response.json();
+ }
+ return Promise.reject(response);
+ }).then((json) => {
+ this.createFee = (Number(json) / 1e8).toFixed(8);
+ })
}
async unitJoinFee() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port;
const url = `${nodeUrl}/transactions/unitfee?txType=JOIN_GROUP`;
- await fetch(url)
- .then((response) => {
- if (response.ok) {
- return response.json();
- }
- return Promise.reject(response);
- })
- .then((json) => {
- this.joinFee = (Number(json) / 1e8).toFixed(8);
- })
- .catch((response) => {
- console.log(response.status, response.statusText, 'Need Core Update');
- })
+ await fetch(url).then((response) => {
+ if (response.ok) {
+ return response.json();
+ }
+ return Promise.reject(response);
+ }).then((json) => {
+ this.joinFee = (Number(json) / 1e8).toFixed(8);
+ })
}
async unitLeaveFee() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port;
const url = `${nodeUrl}/transactions/unitfee?txType=LEAVE_GROUP`;
- await fetch(url)
- .then((response) => {
- if (response.ok) {
- return response.json();
- }
- return Promise.reject(response);
- })
- .then((json) => {
- this.leaveFee = (Number(json) / 1e8).toFixed(8);
- })
- .catch((response) => {
- console.log(response.status, response.statusText, 'Need Core Update');
- })
+ await fetch(url).then((response) => {
+ if (response.ok) {
+ return response.json();
+ }
+ return Promise.reject(response);
+ }).then((json) => {
+ this.leaveFee = (Number(json) / 1e8).toFixed(8);
+ })
}
resetDefaultSettings() {
diff --git a/qortal-ui-plugins/plugins/core/group-management/group-transaction/group-transaction.src.js b/qortal-ui-plugins/plugins/core/group-management/group-transaction/group-transaction.src.js
index efb84a23..3031734c 100644
--- a/qortal-ui-plugins/plugins/core/group-management/group-transaction/group-transaction.src.js
+++ b/qortal-ui-plugins/plugins/core/group-management/group-transaction/group-transaction.src.js
@@ -136,7 +136,6 @@ class GroupTransaction extends LitElement {
let splitedUrl = decodeTempUrl.split('?')
let myGroupId = splitedUrl[1]
this.addMintingAccountMessage = myGroupId
- console.log(myGroupId);
}
getGroupIdFromURL()
diff --git a/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js b/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js
index a6dc0244..0eddc863 100644
--- a/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js
+++ b/qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js
@@ -819,6 +819,7 @@ class Chat extends LitElement {
timestamp: sendTimestamp,
recipient: recipient,
recipientPublicKey: _publicKey,
+ hasChatReference: 0,
message: messageText,
lastReference: reference,
proofOfWorkNonce: 0,
diff --git a/qortal-ui-plugins/plugins/core/minting/minting-info.src.js b/qortal-ui-plugins/plugins/core/minting/minting-info.src.js
index c75517d9..05dd1d88 100644
--- a/qortal-ui-plugins/plugins/core/minting/minting-info.src.js
+++ b/qortal-ui-plugins/plugins/core/minting/minting-info.src.js
@@ -30,10 +30,11 @@ class MintingInfo extends LitElement {
static get styles() {
return css`
- * {
- --mdc-theme-surface: var(--white);
- --mdc-dialog-content-ink-color: var(--black);
- }
+ * {
+ --mdc-theme-surface: var(--white);
+ --mdc-dialog-content-ink-color: var(--black);
+ }
+
@keyframes moveInBottom {
0% {
opacity: 0;
@@ -347,42 +348,37 @@ class MintingInfo extends LitElement {
this.changeTheme()
this.changeLanguage()
+ this.levelsCount()
+
const getAdminInfo = () => {
parentEpml.request("apiCall", { url: `/admin/info` }).then((res) => {
- setTimeout(() => { this.adminInfo = res; }, 1);
- });
- setTimeout(getAdminInfo, 30000);
+ setTimeout(() => { this.adminInfo = res; }, 1)
+ })
+ setTimeout(getAdminInfo, 30000)
};
const getNodeInfo = () => {
parentEpml.request("apiCall", { url: `/admin/status` }).then((res) => {
- this.nodeInfo = res;
+ this.nodeInfo = res
// Now look up the sample block
getSampleBlock()
- });
- setTimeout(getNodeInfo, 30000);
+ })
+ setTimeout(getNodeInfo, 30000)
};
const getSampleBlock = () => {
- let callBlock = parseFloat(this.nodeInfo.height) - 1440;
+ let callBlock = parseFloat(this.nodeInfo.height) - 1440
parentEpml.request("apiCall", { url: `/blocks/byheight/${callBlock}` }).then((res) => {
- setTimeout(() => { this.sampleBlock = res; }, 1);
- });
- };
+ setTimeout(() => { this.sampleBlock = res }, 1)
+ })
+ }
const getAddressInfo = () => {
parentEpml.request('apiCall', { url: `/addresses/${window.parent.reduxStore.getState().app.selectedAddress.address}` }).then((res) => {
- setTimeout(() => { this.addressInfo = res; }, 1);
- });
- setTimeout(getAddressInfo, 30000);
- };
-
- const getAddressLevel = () => {
- parentEpml.request('apiCall', { url: `/addresses/online/levels` }).then((res) => {
- setTimeout(() => { this.addressLevel = res; }, 1);
- });
- setTimeout(getAddressLevel, 30000);
- };
+ setTimeout(() => { this.addressInfo = res }, 1)
+ })
+ setTimeout(getAddressInfo, 30000)
+ }
window.addEventListener('storage', () => {
const checkLanguage = localStorage.getItem('qortalLanguage')
@@ -407,35 +403,54 @@ class MintingInfo extends LitElement {
if (!selectedAddress || Object.entries(selectedAddress).length === 0) return
this.selectedAddress = selectedAddress
})
- });
+ })
parentEpml.ready().then(() => {
parentEpml.subscribe("config", async c => {
if (!configLoaded) {
- setTimeout(getAdminInfo, 1);
- setTimeout(getNodeInfo, 1);
- setTimeout(getAddressInfo, 1);
- setTimeout(getAddressLevel, 1);
- configLoaded = true;
+ setTimeout(getAdminInfo, 1)
+ setTimeout(getNodeInfo, 1)
+ setTimeout(getAddressInfo, 1)
+ setInterval(this.getAddressLevel, 30000)
+ configLoaded = true
}
- this.config = JSON.parse(c);
+ this.config = JSON.parse(c)
})
parentEpml.subscribe('copy_menu_switch', async value => {
- if (value === 'false' && window.getSelection().toString().length !== 0) this.clearSelection();
+ if (value === 'false' && window.getSelection().toString().length !== 0) this.clearSelection()
})
- });
-
- parentEpml.imReady();
+ })
+ parentEpml.imReady()
}
+ async levelsCount() {
+ await this.getAddressLevel()
+ this.countForTier4()
+ }
+
+ getAddressLevel = async () => {
+ const callLevels = await parentEpml.request('apiCall', {
+ url: `/addresses/online/levels`
+ })
+ this.addressLevel = callLevels
+ }
+
+ countForTier4() {
+ const minterOnline = (this.addressLevel[7].count + this.addressLevel[8].count)
+ if (minterOnline < 30) {
+ return "false"
+ } else {
+ return "true"
+ }
+ }
changeTheme() {
const checkTheme = localStorage.getItem('qortalTheme')
if (checkTheme === 'dark') {
- this.theme = 'dark';
+ this.theme = 'dark'
} else {
- this.theme = 'light';
+ this.theme = 'light'
}
- document.querySelector('html').setAttribute('theme', this.theme);
+ document.querySelector('html').setAttribute('theme', this.theme)
}
changeLanguage() {
@@ -459,23 +474,23 @@ class MintingInfo extends LitElement {
_averageBlockTime() {
let avgBlockString = (this.adminInfo.currentTimestamp - this.sampleBlock.timestamp).toString();
- let averageTimeString = ((avgBlockString / 1000) / 1440).toFixed(2);
- let averageBlockTimeString = (averageTimeString).toString();
- return "" + averageBlockTimeString;
+ let averageTimeString = ((avgBlockString / 1000) / 1440).toFixed(2)
+ let averageBlockTimeString = (averageTimeString).toString()
+ return "" + averageBlockTimeString
}
_timeCalc() {
- let timeString = (this.adminInfo.currentTimestamp - this.sampleBlock.timestamp).toString();
- let averageString = ((timeString / 1000) / 1440).toFixed(2);
- let averageBlockDay = (86400 / averageString).toFixed(2);
- let averageBlockDayString = (averageBlockDay).toString();
- return "" + averageBlockDayString;
+ let timeString = (this.adminInfo.currentTimestamp - this.sampleBlock.timestamp).toString()
+ let averageString = ((timeString / 1000) / 1440).toFixed(2)
+ let averageBlockDay = (86400 / averageString).toFixed(2)
+ let averageBlockDayString = (averageBlockDay).toString()
+ return "" + averageBlockDayString
}
_dayReward() {
- let rewardString = (this._timeCalc() * this._blockReward()).toFixed(2);
- let rewardDayString = (rewardString).toString();
- return "" + rewardDayString;
+ let rewardString = (this._timeCalc() * this._blockReward()).toFixed(2)
+ let rewardDayString = (rewardString).toString()
+ return "" + rewardDayString
}
_mintingStatus() {
@@ -498,21 +513,21 @@ class MintingInfo extends LitElement {
renderMintingHelp() {
if (this._mintingStatus() === "Not Minting") {
- return html`${translate("mintingpage.mchange9")} ==>
${translate("mintingpage.mchange7")}
this.shadowRoot.querySelector("#becomeMinterDialog").show()}>help_outline ${translate("mintingpage.mchange31")}`;
+ return html`${translate("mintingpage.mchange9")} ==>
${translate("mintingpage.mchange7")}
this.shadowRoot.querySelector("#becomeMinterDialog").show()}>help_outline ${translate("mintingpage.mchange31")}`
} else {
return html`${translate("mintingpage.mchange6")}`
}
}
_levelUpDays() {
- let countDays = ((this._blocksNeed() - (this.addressInfo.blocksMinted + this.addressInfo.blocksMintedAdjustment)) / this._timeCalc()).toFixed(2);
- let countString = (countDays).toString();
- return "" + countString;
+ let countDays = ((this._blocksNeed() - (this.addressInfo.blocksMinted + this.addressInfo.blocksMintedAdjustment)) / this._timeCalc()).toFixed(2)
+ let countString = (countDays).toString()
+ return "" + countString
}
_levelUpBlocks() {
- let countBlocksString = (this._blocksNeed() - (this.addressInfo.blocksMinted + this.addressInfo.blocksMintedAdjustment)).toString();
- return "" + countBlocksString;
+ let countBlocksString = (this._blocksNeed() - (this.addressInfo.blocksMinted + this.addressInfo.blocksMintedAdjustment)).toString()
+ return "" + countBlocksString
}
_blocksNeed() {
@@ -593,25 +608,41 @@ class MintingInfo extends LitElement {
if (this.addressInfo.level === 0) {
return "0"
} else if (this.addressInfo.level === 1) {
- return "5"
+ return "6"
} else if (this.addressInfo.level === 2) {
- return "5"
+ return "6"
} else if (this.addressInfo.level === 3) {
- return "10"
+ return "13"
} else if (this.addressInfo.level === 4) {
- return "10"
+ return "13"
} else if (this.addressInfo.level === 5) {
- return "15"
+ if (this.countForTier4() === "false") {
+ return "45"
+ } else {
+ return "19"
+ }
} else if (this.addressInfo.level === 6) {
- return "15"
+ if (this.countForTier4() === "false") {
+ return "45"
+ } else {
+ return "19"
+ }
} else if (this.addressInfo.level === 7) {
- return "20"
+ if (this.countForTier4() === "false") {
+ return "45"
+ } else {
+ return "26"
+ }
} else if (this.addressInfo.level === 8) {
- return "20"
+ if (this.countForTier4() === "false") {
+ return "45"
+ } else {
+ return "26"
+ }
} else if (this.addressInfo.level === 9) {
- return "25"
+ return "32"
} else if (this.addressInfo.level === 10) {
- return "25"
+ return "32"
}
}
@@ -647,29 +678,58 @@ class MintingInfo extends LitElement {
_countLevels() {
if (this.addressInfo.level === 0) {
- let countTier0 = (this.addressLevel[0].count).toString();
- return "" + countTier0;
+ let countTier0 = (this.addressLevel[0].count).toString()
+ return "" + countTier0
} else if (this.addressInfo.level === 1) {
- let countTier10 = (this.addressLevel[1].count + this.addressLevel[2].count).toString();
- return "" + countTier10;
+ let countTier10 = (this.addressLevel[1].count + this.addressLevel[2].count).toString()
+ return "" + countTier10
} else if (this.addressInfo.level === 2) {
- let countTier11 = (this.addressLevel[1].count + this.addressLevel[2].count).toString();
- return "" + countTier11;
+ let countTier11 = (this.addressLevel[1].count + this.addressLevel[2].count).toString()
+ return "" + countTier11
} else if (this.addressInfo.level === 3) {
- let countTier20 = (this.addressLevel[3].count + this.addressLevel[4].count).toString();
- return "" + countTier20;
+ let countTier20 = (this.addressLevel[3].count + this.addressLevel[4].count).toString()
+ return "" + countTier20
} else if (this.addressInfo.level === 4) {
- let countTier21 = (this.addressLevel[3].count + this.addressLevel[4].count).toString();
- return "" + countTier21;
+ let countTier21 = (this.addressLevel[3].count + this.addressLevel[4].count).toString()
+ return "" + countTier21
} else if (this.addressInfo.level === 5) {
- let countTier30 = (this.addressLevel[5].count + this.addressLevel[6].count).toString();
- return "" + countTier30;
+ if (this.countForTier4() === "false") {
+ let countTier30 = (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count).toString()
+ return "" + countTier30
+ } else {
+ let countTier30 = (this.addressLevel[5].count + this.addressLevel[6].count).toString()
+ return "" + countTier30
+ }
} else if (this.addressInfo.level === 6) {
- let countTier31 = (this.addressLevel[5].count + this.addressLevel[6].count).toString();
- return "" + countTier31;
+ if (this.countForTier4() === "false") {
+ let countTier31 = (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count).toString()
+ return "" + countTier31
+ } else {
+ let countTier31 = (this.addressLevel[5].count + this.addressLevel[6].count).toString()
+ return "" + countTier31
+ }
+ } else if (this.addressInfo.level === 7) {
+ if (this.countForTier4() === "false") {
+ let countTier40 = (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count).toString()
+ return "" + countTier40
+ } else {
+ let countTier40 = (this.addressLevel[7].count + this.addressLevel[8].count).toString()
+ return "" + countTier40
+ }
+ } else if (this.addressInfo.level === 8) {
+ if (this.countForTier4() === "false") {
+ let countTier40 = (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count).toString()
+ return "" + countTier40
+ } else {
+ let countTier41 = (this.addressLevel[7].count + this.addressLevel[8].count).toString()
+ return "" + countTier41
+ }
+ } else if (this.addressInfo.level === 9) {
+ let countTier50 = (this.addressLevel[9].count + this.addressLevel[10].count).toString()
+ return "" + countTier50
} else if (this.addressInfo.level === 10) {
- let countTier101 = (this.addressLevel[7].count).toString();
- return "" + countTier101;
+ let countTier51 = (this.addressLevel[9].count + this.addressLevel[10].count).toString()
+ return "" + countTier51
}
}
@@ -677,33 +737,69 @@ class MintingInfo extends LitElement {
if (this.addressInfo.level === 0) {
return "0"
} else if (this.addressInfo.level === 1) {
- let countReward10 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[1].count + this.addressLevel[2].count)).toFixed(8);
- let countReward11 = (countReward10).toString();
- return "" + countReward11;
+ let countReward10 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[1].count + this.addressLevel[2].count)).toFixed(8)
+ let countReward11 = (countReward10).toString()
+ return "" + countReward11
} else if (this.addressInfo.level === 2) {
- let countReward20 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[1].count + this.addressLevel[2].count)).toFixed(8);
- let countReward21 = (countReward20).toString();
- return "" + countReward21;
+ let countReward20 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[1].count + this.addressLevel[2].count)).toFixed(8)
+ let countReward21 = (countReward20).toString()
+ return "" + countReward21
} else if (this.addressInfo.level === 3) {
- let countReward30 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[3].count + this.addressLevel[4].count)).toFixed(8);
- let countReward31 = (countReward30).toString();
+ let countReward30 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[3].count + this.addressLevel[4].count)).toFixed(8)
+ let countReward31 = (countReward30).toString()
return "" + countReward31;
} else if (this.addressInfo.level === 4) {
- let countReward40 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[3].count + this.addressLevel[4].count)).toFixed(8);
+ let countReward40 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[3].count + this.addressLevel[4].count)).toFixed(8)
let countReward41 = (countReward40).toString();
return "" + countReward41;
} else if (this.addressInfo.level === 5) {
- let countReward50 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count)).toFixed(8);
- let countReward51 = (countReward50).toString();
- return "" + countReward51;
+ if (this.countForTier4() === "false") {
+ let countReward50 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count)).toFixed(8)
+ let countReward51 = (countReward50).toString();
+ return "" + countReward51;
+ } else {
+ let countReward50 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count)).toFixed(8)
+ let countReward51 = (countReward50).toString();
+ return "" + countReward51;
+ }
} else if (this.addressInfo.level === 6) {
- let countReward60 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count)).toFixed(8);
- let countReward61 = (countReward60).toString();
- return "" + countReward61;
+ if (this.countForTier4() === "false") {
+ let countReward60 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count)).toFixed(8)
+ let countReward61 = (countReward60).toString()
+ return "" + countReward61
+ } else {
+ let countReward60 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count)).toFixed(8)
+ let countReward61 = (countReward60).toString()
+ return "" + countReward61
+ }
+ } else if (this.addressInfo.level === 7) {
+ if (this.countForTier4() === "false") {
+ let countReward70 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count)).toFixed(8)
+ let countReward71 = (countReward70).toString()
+ return "" + countReward71
+ } else {
+ let countReward70 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[7].count + this.addressLevel[8].count)).toFixed(8)
+ let countReward71 = (countReward70).toString()
+ return "" + countReward71
+ }
+ } else if (this.addressInfo.level === 8) {
+ if (this.countForTier4() === "false") {
+ let countReward80 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count)).toFixed(8)
+ let countReward81 = (countReward80).toString()
+ return "" + countReward81
+ } else {
+ let countReward80 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[7].count + this.addressLevel[8].count)).toFixed(8)
+ let countReward81 = (countReward80).toString()
+ return "" + countReward81
+ }
+ } else if (this.addressInfo.level === 9) {
+ let countReward90 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[9].count + this.addressLevel[10].count)).toFixed(8)
+ let countReward91 = (countReward90).toString()
+ return "" + countReward91
} else if (this.addressInfo.level === 10) {
- let countReward100 = ((this._blockReward() / 100 * this._tierPercent()) / this.addressLevel[7].count).toFixed(8);
- let countReward101 = (countReward100).toString();
- return "" + countReward101;
+ let countReward100 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[9].count + this.addressLevel[10].count)).toFixed(8)
+ let countReward101 = (countReward100).toString()
+ return "" + countReward101
}
}
@@ -711,33 +807,69 @@ class MintingInfo extends LitElement {
if (this.addressInfo.level === 0) {
return "0"
} else if (this.addressInfo.level === 1) {
- let countRewardDay10 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[1].count + this.addressLevel[2].count) * this._timeCalc()).toFixed(8);
- let countRewardDay11 = (countRewardDay10).toString();
- return "" + countRewardDay11;
+ let countRewardDay10 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[1].count + this.addressLevel[2].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay11 = (countRewardDay10).toString()
+ return "" + countRewardDay11
} else if (this.addressInfo.level === 2) {
- let countRewardDay20 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[1].count + this.addressLevel[2].count) * this._timeCalc()).toFixed(8);
- let countRewardDay21 = (countRewardDay20).toString();
- return "" + countRewardDay21;
+ let countRewardDay20 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[1].count + this.addressLevel[2].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay21 = (countRewardDay20).toString()
+ return "" + countRewardDay21
} else if (this.addressInfo.level === 3) {
- let countRewardDay30 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[3].count + this.addressLevel[4].count) * this._timeCalc()).toFixed(8);
- let countRewardDay31 = (countRewardDay30).toString();
- return "" + countRewardDay31;
+ let countRewardDay30 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[3].count + this.addressLevel[4].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay31 = (countRewardDay30).toString()
+ return "" + countRewardDay31
} else if (this.addressInfo.level === 4) {
- let countRewardDay40 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[3].count + this.addressLevel[4].count) * this._timeCalc()).toFixed(8);
- let countRewardDay41 = (countRewardDay40).toString();
- return "" + countRewardDay41;
+ let countRewardDay40 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[3].count + this.addressLevel[4].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay41 = (countRewardDay40).toString()
+ return "" + countRewardDay41
} else if (this.addressInfo.level === 5) {
- let countRewardDay50 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count) * this._timeCalc()).toFixed(8);
- let countRewardDay51 = (countRewardDay50).toString();
- return "" + countRewardDay51;
+ if (this.countForTier4() === "false") {
+ let countRewardDay50 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay51 = (countRewardDay50).toString()
+ return "" + countRewardDay51
+ } else {
+ let countRewardDay50 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay51 = (countRewardDay50).toString()
+ return "" + countRewardDay51
+ }
} else if (this.addressInfo.level === 6) {
- let countRewardDay60 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count) * this._timeCalc()).toFixed(8);
- let countRewardDay61 = (countRewardDay60).toString();
- return "" + countRewardDay61;
+ if (this.countForTier4() === "false") {
+ let countRewardDay60 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay61 = (countRewardDay60).toString()
+ return "" + countRewardDay61
+ } else {
+ let countRewardDay60 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay61 = (countRewardDay60).toString()
+ return "" + countRewardDay61
+ }
+ } else if (this.addressInfo.level === 7) {
+ if (this.countForTier4() === "false") {
+ let countRewardDay70 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay71 = (countRewardDay70).toString()
+ return "" + countRewardDay71
+ } else {
+ let countRewardDay70 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[7].count + this.addressLevel[8].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay71 = (countRewardDay70).toString()
+ return "" + countRewardDay71
+ }
+ } else if (this.addressInfo.level === 8) {
+ if (this.countForTier4() === "false") {
+ let countRewardDay80 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[5].count + this.addressLevel[6].count + this.addressLevel[7].count + this.addressLevel[8].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay81 = (countRewardDay80).toString()
+ return "" + countRewardDay81
+ } else {
+ let countRewardDay80 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[7].count + this.addressLevel[8].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay81 = (countRewardDay80).toString()
+ return "" + countRewardDay81
+ }
+ } else if (this.addressInfo.level === 9) {
+ let countRewardDay90 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[9].count + this.addressLevel[10].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay91 = (countRewardDay90).toString()
+ return "" + countRewardDay91
} else if (this.addressInfo.level === 10) {
- let countRewardDay100 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[7].count) * this._timeCalc()).toFixed(8);
- let countRewardDay101 = (countRewardDay100).toString();
- return "" + countRewardDay101;
+ let countRewardDay100 = ((this._blockReward() / 100 * this._tierPercent()) / (this.addressLevel[9].count + this.addressLevel[10].count) * this._timeCalc()).toFixed(8)
+ let countRewardDay101 = (countRewardDay100).toString()
+ return "" + countRewardDay101
}
}
@@ -747,8 +879,8 @@ class MintingInfo extends LitElement {
}
isEmptyArray(arr) {
- if (!arr) return true;
- return arr.length === 0;
+ if (!arr) return true
+ return arr.length === 0
}
}
diff --git a/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js b/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js
index ab6bc92d..944d670b 100644
--- a/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js
+++ b/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js
@@ -288,19 +288,14 @@ class NameRegistration extends LitElement {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port;
const url = `${nodeUrl}/transactions/unitfee?txType=REGISTER_NAME`;
- await fetch(url)
- .then((response) => {
- if (response.ok) {
- return response.json();
- }
- return Promise.reject(response);
- })
- .then((json) => {
- this.fee = (Number(json) / 1e8).toFixed(2);
- })
- .catch((response) => {
- console.log(response.status, response.statusText, this.renderCoreText());
- })
+ await fetch(url).then((response) => {
+ if (response.ok) {
+ return response.json();
+ }
+ return Promise.reject(response);
+ }).then((json) => {
+ this.fee = (Number(json) / 1e8).toFixed(2);
+ })
}
getApiKey() {
diff --git a/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js b/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js
index 522f90ba..27fe74e0 100644
--- a/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js
+++ b/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js
@@ -437,7 +437,6 @@ class Puzzles extends LitElement {
let _guessAddress = publicKeyToAddress(_keyPair.publicKey)
- console.log("Guess '" + _guessAddress + "' vs puzzle's address '" + this.selectedPuzzle.address + "'")
if (_guessAddress !== this.selectedPuzzle.address) {
this.error = true
this.message = this.renderErr1Text()
diff --git a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js
index 64bcaf7c..283e07f3 100644
--- a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js
+++ b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js
@@ -140,7 +140,6 @@ class WebBrowser extends LitElement {
url: `/render/authorize/${this.name}?apiKey=${this.getApiKey()}`,
method: "POST"
}).then(res => {
- console.log(res)
if (res.error) {
// Authorization problem - API key incorrect?
}
diff --git a/qortal-ui-plugins/plugins/core/sponsorship-list/sponsorship-list.src.js b/qortal-ui-plugins/plugins/core/sponsorship-list/sponsorship-list.src.js
index 94581e5d..a4cf94e0 100644
--- a/qortal-ui-plugins/plugins/core/sponsorship-list/sponsorship-list.src.js
+++ b/qortal-ui-plugins/plugins/core/sponsorship-list/sponsorship-list.src.js
@@ -219,7 +219,6 @@ class SponsorshipList extends LitElement {
}
} catch (error) {
- console.log({error})
this.isPageLoading = false
}
diff --git a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js
index 14a3bb03..d8fdc5e2 100644
--- a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js
+++ b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js
@@ -1026,6 +1026,48 @@ class TradePortal extends LitElement {
this.getOpenOrdersGrid()
+ const getQortBtcPrice = () => {
+ parentEpml.request("apiCall", { url: `/crosschain/price/BITCOIN?inverse=true` }).then((res) => {
+ setTimeout(() => { this.qortbtc = (Number(res) / 1e8).toFixed(8) }, 1)
+ })
+ setTimeout(getQortBtcPrice, 300000)
+ }
+
+ const getQortLtcPrice = () => {
+ parentEpml.request("apiCall", { url: `/crosschain/price/LITECOIN?inverse=true` }).then((res) => {
+ setTimeout(() => { this.qortltc = (Number(res) / 1e8).toFixed(8) }, 1)
+ })
+ setTimeout(getQortLtcPrice, 300000)
+ }
+
+ const getQortDogePrice = () => {
+ parentEpml.request("apiCall", { url: `/crosschain/price/DOGECOIN?inverse=true` }).then((res) => {
+ setTimeout(() => { this.qortdoge = (Number(res) / 1e8).toFixed(8) }, 1)
+ })
+ setTimeout(getQortDogePrice, 300000)
+ }
+
+ const getQortDgbPrice = () => {
+ parentEpml.request("apiCall", { url: `/crosschain/price/DIGIBYTE?inverse=true` }).then((res) => {
+ setTimeout(() => { this.qortdgb = (Number(res) / 1e8).toFixed(8) }, 1)
+ })
+ setTimeout(getQortDgbPrice, 300000)
+ }
+
+ const getQortRvnPrice = () => {
+ parentEpml.request("apiCall", { url: `/crosschain/price/RAVENCOIN?inverse=true` }).then((res) => {
+ setTimeout(() => { this.qortrvn = (Number(res) / 1e8).toFixed(8) }, 1)
+ })
+ setTimeout(getQortRvnPrice, 300000)
+ }
+
+ const getQortArrrPrice = () => {
+ parentEpml.request("apiCall", { url: `/crosschain/price/PIRATECHAIN?inverse=true` }).then((res) => {
+ setTimeout(() => { this.qortarrr = (Number(res) / 1e8).toFixed(8) }, 1)
+ })
+ setTimeout(getQortArrrPrice, 300000)
+ }
+
window.addEventListener('contextmenu', (event) => {
event.preventDefault()
this._textMenu(event)},
@@ -1067,7 +1109,15 @@ class TradePortal extends LitElement {
})
parentEpml.subscribe('config', (c) => {
- if (!configLoaded) configLoaded = true
+ if (!configLoaded) {
+ setTimeout(getQortBtcPrice, 1)
+ setTimeout(getQortLtcPrice, 1)
+ setTimeout(getQortDogePrice, 1)
+ setTimeout(getQortDgbPrice, 1)
+ setTimeout(getQortRvnPrice, 1)
+ setTimeout(getQortArrrPrice, 1)
+ configLoaded = true
+ }
this.config = JSON.parse(c)
})
@@ -1112,46 +1162,16 @@ class TradePortal extends LitElement {
exchangeRateQort() {
if (this.listedCoins.get(this.selectedCoin).coinCode === "BTC") {
- parentEpml.request('apiCall', {
- url: `/crosschain/price/BITCOIN?inverse=true`
- }).then((res) => {
- this.qortbtc = (Number(res) / 1e8).toFixed(8)
- })
return html`${this.qortbtc}`
} else if (this.listedCoins.get(this.selectedCoin).coinCode === "LTC") {
- parentEpml.request('apiCall', {
- url: `/crosschain/price/LITECOIN?inverse=true`
- }).then((res) => {
- this.qortltc = (Number(res) / 1e8).toFixed(8)
- })
return html`${this.qortltc}`
} else if (this.listedCoins.get(this.selectedCoin).coinCode === "DOGE") {
- parentEpml.request('apiCall', {
- url: `/crosschain/price/DOGECOIN?inverse=true`
- }).then((res) => {
- this.qortdoge = (Number(res) / 1e8).toFixed(8)
- })
return html`${this.qortdoge}`
} else if (this.listedCoins.get(this.selectedCoin).coinCode === "DGB") {
- parentEpml.request('apiCall', {
- url: `/crosschain/price/DIGIBYTE?inverse=true`
- }).then((res) => {
- this.qortdgb = (Number(res) / 1e8).toFixed(8)
- })
return html`${this.qortdgb}`
} else if (this.listedCoins.get(this.selectedCoin).coinCode === "RVN") {
- parentEpml.request('apiCall', {
- url: `/crosschain/price/RAVENCOIN?inverse=true`
- }).then((res) => {
- this.qortrvn = (Number(res) / 1e8).toFixed(8)
- })
return html`${this.qortrvn}`
} else if (this.listedCoins.get(this.selectedCoin).coinCode === "ARRR") {
- parentEpml.request('apiCall', {
- url: `/crosschain/price/PIRATECHAIN?inverse=true`
- }).then((res) => {
- this.qortarrr = (Number(res) / 1e8).toFixed(8)
- })
return html`${this.qortarrr}`
}
}
@@ -1250,7 +1270,6 @@ class TradePortal extends LitElement {
}
async fetchWalletAddress(coin) {
- console.log("fetchWalletAddress: " + coin)
switch (coin) {
case 'PIRATECHAIN':
let res = await parentEpml.request('apiCall', {
@@ -1312,18 +1331,21 @@ class TradePortal extends LitElement {
tabSellContent.style.display = (tab === 'sell') ? 'block' : 'none'
}
- reRenderHistoricTrades() {
+ async reRenderHistoricTrades() {
this.requestUpdate()
+ await this.updateComplete
this.isLoadingHistoricTrades = false
}
- reRenderOpenFilteredOrders() {
+ async reRenderOpenFilteredOrders() {
this.requestUpdate()
+ await this.updateComplete
this.isLoadingOpenTrades = false
}
- reRenderMyOpenOrders() {
+ async reRenderMyOpenOrders() {
this.requestUpdate()
+ await this.updateComplete
this.isLoadingMyOpenOrders = false
}
@@ -1868,7 +1890,6 @@ class TradePortal extends LitElement {
initSocket() {
let _relatedCoin = ""
- let presenceTxns = null
let tradePresenceTxns = null
let offeringTrades = null
@@ -1892,14 +1913,13 @@ class TradePortal extends LitElement {
return timestamp > thirtyMinsAgo
}
- const filterOffersUsingEitherPresence = (offeringTrade) => {
- return lessThanThirtyMinsAgo(offeringTrade.lastSeen) || offeringTrade.tradePresenceExpiry > Date.now();
+ const filterOffersUsingTradePresence = (offeringTrade) => {
+ return offeringTrade.tradePresenceExpiry > Date.now();
}
const processOffersWithPresence = () => {
if (offeringTrades === null) return
- const waitFor = (ms) => new Promise((r) => setTimeout(r, ms))
async function asyncForEach(array, callback) {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array)
@@ -1907,23 +1927,15 @@ class TradePortal extends LitElement {
}
const startOfferPresenceMapping = async () => {
- if (presenceTxns !== null) {
- await asyncForEach(presenceTxns, async (presence) => {
- await waitFor(250)
- let offerIndex = offeringTrades.findIndex((offeringTrade) => offeringTrade.qortalCreatorTradeAddress === presence.address)
- offerIndex !== -1 ? (offeringTrades[offerIndex].lastSeen = presence.timestamp) : null
- })
- }
if (tradePresenceTxns !== null) {
await asyncForEach(tradePresenceTxns, async (tradePresence) => {
- await waitFor(250)
let offerIndex = offeringTrades.findIndex((offeringTrade) => offeringTrade.qortalCreatorTradeAddress === tradePresence.tradeAddress)
offerIndex !== -1 ? (offeringTrades[offerIndex].tradePresenceExpiry = tradePresence.timestamp) : null
})
}
- let filteredOffers = offeringTrades.filter((offeringTrade) => filterOffersUsingEitherPresence(offeringTrade))
+ let filteredOffers = offeringTrades.filter((offeringTrade) => filterOffersUsingTradePresence(offeringTrade))
self.postMessage({ type: 'PRESENCE', data: { offers: offeringTrades, filteredOffers: filteredOffers, relatedCoin: _relatedCoin } })
}
@@ -1955,7 +1967,6 @@ class TradePortal extends LitElement {
// Closed Event
socket.onclose = () => {
clearTimeout(socketTimeout)
- // Restart Socket Connection
restartTradeOffersWebSocket()
}
// Error Event
@@ -1989,7 +2000,6 @@ class TradePortal extends LitElement {
// Closed Event
socket.onclose = () => {
clearTimeout(socketTimeout)
- // Restart Socket Connection
restartTradeBotWebSocket()
}
// Error Event
@@ -2019,7 +2029,6 @@ class TradePortal extends LitElement {
// Closed Event
socket.onclose = () => {
clearTimeout(socketTimeout)
- // Restart Socket Connection
restartTradePresenceWebSocket()
}
// Error Event
@@ -2032,59 +2041,21 @@ class TradePortal extends LitElement {
}
}
- // Will be removed in future - being replaced by tradepresence above
- const initPresenceWebSocket = (restarted = false) => {
- let socketTimeout
- let socketLink = `ws://NODEURL/websockets/presence?presenceType=TRADE_BOT`
- const socket = new WebSocket(socketLink)
- // Open Connection
- socket.onopen = () => {
- setTimeout(pingSocket, 250)
- }
- // Message Event
- socket.onmessage = (e) => {
- presenceTxns = JSON.parse(e.data)
- processOffersWithPresence()
- restarted = false
- }
- // Closed Event
- socket.onclose = () => {
- clearTimeout(socketTimeout)
- // Restart Socket Connection
- restartPresenceWebSocket()
- }
- // Error Event
- socket.onerror = (e) => {
- clearTimeout(socketTimeout)
- }
- const pingSocket = () => {
- socket.send('ping')
- socketTimeout = setTimeout(pingSocket, 295000)
- }
- }
-
- const restartPresenceWebSocket = () => {
- setTimeout(() => initPresenceWebSocket(true), 20000)
- }
-
const restartTradePresenceWebSocket = () => {
- setTimeout(() => initTradePresenceWebSocket(true), 20000)
+ setTimeout(() => initTradePresenceWebSocket(true), 1000)
}
const restartTradeOffersWebSocket = () => {
- setTimeout(() => initTradeOffersWebSocket(true), 20000)
+ setTimeout(() => initTradeOffersWebSocket(true), 1000)
}
const restartTradeBotWebSocket = () => {
- setTimeout(() => initTradeBotWebSocket(true), 20000)
+ setTimeout(() => initTradeBotWebSocket(true), 1000)
}
// Start TradeOffersWebSocket
initTradeOffersWebSocket()
- // Start PresenceWebSocket
- initPresenceWebSocket()
-
// Start TradePresenceWebSocket
initTradePresenceWebSocket()
@@ -2582,7 +2553,7 @@ class TradePortal extends LitElement {
})
const getCompletedTrades = async () => {
- const url = `http://NODEURL/crosschain/trades?limit=100&reverse=true&foreignBlockchain=FOREIGN_BLOCKCHAIN`
+ const url = `http://NODEURL/crosschain/trades?limit=25&reverse=true&foreignBlockchain=FOREIGN_BLOCKCHAIN`
const res = await fetch(url)
const historicTrades = await res.json()
const compareFn = (a, b) => {
diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js
index 2297ea26..b89b15b4 100644
--- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js
+++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js
@@ -3699,7 +3699,7 @@ class MultiWallet extends LitElement {
}
calculateQortAll() {
- if (this.balance < 0.00100000) {
+ if (this.balance < 0.00110000) {
let not_enough_string = get("walletpage.wchange26")
parentEpml.request('showSnackBar', `${not_enough_string}`)
} else {
@@ -3708,7 +3708,7 @@ class MultiWallet extends LitElement {
}
calculateBtcAll() {
- if (this.balance < 0.00050000) {
+ if (this.balance < 0.00051000) {
let not_enough_string = get("walletpage.wchange26")
parentEpml.request('showSnackBar', `${not_enough_string}`)
} else {
@@ -3718,17 +3718,17 @@ class MultiWallet extends LitElement {
}
calculateLtcAll() {
- if (this.balance < 0.00050000) {
+ if (this.balance < 0.00031000) {
let not_enough_string = get("walletpage.wchange26")
parentEpml.request('showSnackBar', `${not_enough_string}`)
} else {
- this.ltcAmount = (this.balance - 0.00025000).toFixed(8)
+ this.ltcAmount = (this.balance - 0.00030000).toFixed(8)
this.ltcFeePerByte = 15
}
}
calculateDogeAll() {
- if (this.balance < 0.05000000) {
+ if (this.balance < 0.05100000) {
let not_enough_string = get("walletpage.wchange26")
parentEpml.request('showSnackBar', `${not_enough_string}`)
} else {
@@ -3738,7 +3738,7 @@ class MultiWallet extends LitElement {
}
calculateDgbAll() {
- if (this.balance < 0.00005000) {
+ if (this.balance < 0.00005100) {
let not_enough_string = get("walletpage.wchange26")
parentEpml.request('showSnackBar', `${not_enough_string}`)
} else {
@@ -3748,7 +3748,7 @@ class MultiWallet extends LitElement {
}
calculateRvnAll() {
- if (this.balance < 0.00562500) {
+ if (this.balance < 0.00572500) {
let not_enough_string = get("walletpage.wchange26")
parentEpml.request('showSnackBar', `${not_enough_string}`)
} else {
@@ -3758,7 +3758,7 @@ class MultiWallet extends LitElement {
}
calculateArrrAll() {
- if (this.balance < 0.00010000) {
+ if (this.balance < 0.00011000) {
let not_enough_string = get("walletpage.wchange26")
parentEpml.request('showSnackBar', `${not_enough_string}`)
} else {
@@ -4449,7 +4449,7 @@ class MultiWallet extends LitElement {
}
const arrrSortedTransactions = arrrTxs.sort(arrrCompareFn)
- console.log(arrrSortedTransactions)
+
if (this._selectedWallet == coin) {
this.wallets.get(this._selectedWallet).transactions = arrrSortedTransactions
}