forked from Qortal/qortal-ui
add DGB to Trade Portal
This commit is contained in:
parent
62e5eed5a1
commit
a3483634e1
@ -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…
x
Reference in New Issue
Block a user