Browse Source

add DGB to Trade Portal

digibyte
QuickMythril 2 years ago committed by GitHub
parent
commit
a3483634e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 108
      qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js

108
qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js

@ -346,6 +346,10 @@ class TradePortal extends LitElement {
background-image: url('/img/qortdoge.png');
}
.dgb.coinName:before {
background-image: url('/img/qortdgb.png');
}
.coinName {
display: inline-block;
height: 26px;
@ -444,10 +448,26 @@ class TradePortal extends LitElement {
coinAmount: this.amountString
}
let digibyte = {
name: "DIGIBYTE",
balance: "0",
coinCode: "DGB",
openOrders: [],
openFilteredOrders: [],
historicTrades: [],
myOrders: [],
myHistoricTrades: [],
myOfferingOrders: [],
openTradeOrders: null,
tradeOffersSocketCounter: 1,
coinAmount: this.amountString
}
this.listedCoins = new Map()
this.listedCoins.set("QORTAL", qortal)
this.listedCoins.set("LITECOIN", litecoin)
this.listedCoins.set("DOGECOIN", dogecoin)
this.listedCoins.set("DIGIBYTE", digibyte)
workers.set("QORTAL", {
tradesConnectedWorker: null,
@ -464,6 +484,11 @@ class TradePortal extends LitElement {
handleStuckTradesConnectedWorker: null
})
workers.set("DIGIBYTE", {
tradesConnectedWorker: null,
handleStuckTradesConnectedWorker: null
})
this.selectedCoin = "LITECOIN"
this.selectedAddress = {}
this.config = {}
@ -846,6 +871,7 @@ class TradePortal extends LitElement {
<mwc-select outlined id="coinSelectionMenu" label="${translate("tradepage.tchange2")}">
<mwc-list-item value="LITECOIN" selected><span class="coinName ltc" style="color: var(--black);">QORT / LTC</span></mwc-list-item>
<mwc-list-item value="DOGECOIN"><span class="coinName doge" style="color: var(--black);">QORT / DOGE</span></mwc-list-item>
<mwc-list-item value="DIGIBYTE"><span class="coinName dgb" style="color: var(--black);">QORT / DGB</span></mwc-list-item>
</mwc-select>
</div>
<div id="trade-portal">
@ -1008,6 +1034,10 @@ class TradePortal extends LitElement {
_url = `/crosschain/doge/walletbalance?apiKey=${this.getApiKey()}`
_body = window.parent.reduxStore.getState().app.selectedAddress.dogeWallet.derivedMasterPublicKey
break
case 'DIGIBYTE':
_url = `/crosschain/dgb/walletbalance?apiKey=${this.getApiKey()}`
_body = window.parent.reduxStore.getState().app.selectedAddress.dgbWallet.derivedMasterPublicKey
break
default:
break
}
@ -1020,7 +1050,7 @@ class TradePortal extends LitElement {
.then((res) => {
if (isNaN(Number(res))) {
let snack1string = get("tradepage.tchange30")
parentEpml.request('showSnackBar', `${snack1tring}`)
parentEpml.request('showSnackBar', `${snack1string}`)
} else {
this.listedCoins.get(this.selectedCoin).balance = (Number(res) / 1e8).toFixed(8)
}
@ -1385,6 +1415,49 @@ class TradePortal extends LitElement {
})
}
/**
* DigibyteACCTv1 TRADEBOT STATES
* - BOB_WAITING_FOR_AT_CONFIRM
* - BOB_WAITING_FOR_MESSAGE
* - BOB_WAITING_FOR_AT_REDEEM
* - BOB_DONE
* - BOB_REFUNDED
* - ALICE_WAITING_FOR_AT_LOCK
* - ALICE_DONE
* - ALICE_REFUNDING_A
* - ALICE_REFUNDED
*
* @param {[{}]} states
*/
const DigibyteACCTv1 = (states) => {
// Reverse the states
states.reverse()
states.forEach((state) => {
if (state.creatorAddress === this.selectedAddress.address) {
if (state.tradeState == 'BOB_WAITING_FOR_AT_CONFIRM') {
this.changeTradeBotState(state, 'PENDING')
} else if (state.tradeState == 'BOB_WAITING_FOR_MESSAGE') {
this.changeTradeBotState(state, 'LISTED')
} else if (state.tradeState == 'BOB_WAITING_FOR_AT_REDEEM') {
this.changeTradeBotState(state, 'TRADING')
} else if (state.tradeState == 'BOB_DONE') {
this.handleCompletedState(state)
} else if (state.tradeState == 'BOB_REFUNDED') {
this.handleCompletedState(state)
} else if (state.tradeState == 'ALICE_WAITING_FOR_AT_LOCK') {
this.changeTradeBotState(state, 'BUYING')
} else if (state.tradeState == 'ALICE_DONE') {
this.handleCompletedState(state)
} else if (state.tradeState == 'ALICE_REFUNDING_A') {
this.changeTradeBotState(state, 'REFUNDING')
} else if (state.tradeState == 'ALICE_REFUNDED') {
this.handleCompletedState(state)
}
}
})
}
switch (this.selectedCoin) {
case 'BITCOIN':
BitcoinACCTv1(tradeStates)
@ -1395,6 +1468,9 @@ class TradePortal extends LitElement {
case 'DOGECOIN':
DogecoinACCTv1(tradeStates)
break
case 'DIGIBYTE':
DigibyteACCTv1(tradeStates)
break
default:
break
}
@ -1640,19 +1716,19 @@ class TradePortal extends LitElement {
}
const restartPresenceWebSocket = () => {
setTimeout(() => initPresenceWebSocket(true), 3000)
setTimeout(() => initPresenceWebSocket(true), 5000)
}
const restartTradePresenceWebSocket = () => {
setTimeout(() => initTradePresenceWebSocket(true), 3000)
setTimeout(() => initTradePresenceWebSocket(true), 5000)
}
const restartTradeOffersWebSocket = () => {
setTimeout(() => initTradeOffersWebSocket(true), 3000)
setTimeout(() => initTradeOffersWebSocket(true), 5000)
}
const restartTradeBotWebSocket = () => {
setTimeout(() => initTradeBotWebSocket(true), 3000)
setTimeout(() => initTradeBotWebSocket(true), 5000)
}
// Start TradeOffersWebSocket
@ -1684,6 +1760,9 @@ class TradePortal extends LitElement {
case 'DOGECOIN':
_receivingAddress = this.selectedAddress.dogeWallet.address
break
case 'DIGIBYTE':
_receivingAddress = this.selectedAddress.dgbWallet.address
break
default:
break
}
@ -1710,12 +1789,12 @@ class TradePortal extends LitElement {
this.isSellLoading = false
this.sellBtnDisable = false
let snack2string = get("tradepage.tchange20")
parentEpml.request('showSnackBar', `${snack2tring}`)
parentEpml.request('showSnackBar', `${snack2string}`)
} else {
this.isSellLoading = false
this.sellBtnDisable = false
let snack3string = get("tradepage.tchange21")
parentEpml.request('showSnackBar', `${snack3tring}: ${response.message}`)
parentEpml.request('showSnackBar', `${snack3string}: ${response.message}`)
}
}
@ -1723,7 +1802,7 @@ class TradePortal extends LitElement {
this.isSellLoading = false
this.sellBtnDisable = false
let snack4string = get("tradepage.tchange22")
parentEpml.request('showSnackBar', `${snack4tring}`)
parentEpml.request('showSnackBar', `${snack4string}`)
return false
} else {
const res = await makeRequest()
@ -1744,6 +1823,9 @@ class TradePortal extends LitElement {
case 'DOGECOIN':
_foreignKey = this.selectedAddress.dogeWallet.derivedMasterPrivateKey
break
case 'DIGIBYTE':
_foreignKey = this.selectedAddress.dgbWallet.derivedMasterPrivateKey
break
default:
break
}
@ -1766,17 +1848,17 @@ class TradePortal extends LitElement {
this.shadowRoot.getElementById('buyTotalInput').value = this.initialAmount
this.shadowRoot.getElementById('qortalAtAddress').value = ''
let snack5string = get("tradepage.tchange23")
parentEpml.request('showSnackBar', `${snack5tring}`)
parentEpml.request('showSnackBar', `${snack5string}`)
} else if (response === false) {
this.isBuyLoading = false
this.buyBtnDisable = false
let snack6string = get("tradepage.tchange24")
parentEpml.request('showSnackBar', `${snack6tring}`)
parentEpml.request('showSnackBar', `${snack6string}`)
} else {
this.isBuyLoading = false
this.buyBtnDisable = false
let snack7string = get("tradepage.tchange25")
parentEpml.request('showSnackBar', `${snack7tring}: ${response.message}`)
parentEpml.request('showSnackBar', `${snack7string}: ${response.message}`)
}
}
@ -1803,12 +1885,12 @@ class TradePortal extends LitElement {
button.remove()
this.cancelBtnDisable = false
let snack8string = get("tradepage.tchange26")
parentEpml.request('showSnackBar', `${snack8tring}`)
parentEpml.request('showSnackBar', `${snack8string}`)
} else if (response === false) {
button.innerHTML = 'CANCEL'
this.cancelBtnDisable = false
let snack9string = get("tradepage.tchange27")
parentEpml.request('showSnackBar', `${snack9tring}`)
parentEpml.request('showSnackBar', `${snack9string}`)
} else {
button.innerHTML = 'CANCEL'
this.cancelBtnDisable = false

Loading…
Cancel
Save