From f0aa40994e9341d5b4d780902d4e6d0fdeb93db4 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Thu, 26 May 2022 15:57:38 -0400 Subject: [PATCH] Add BTC to Trade Portal --- .../core/trade-portal/trade-portal.src.js | 79 ++++++++++++------- 1 file changed, 52 insertions(+), 27 deletions(-) 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 5ef9ef91..1f9ce366 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 @@ -338,6 +338,10 @@ class TradePortal extends LitElement { top: 10px; } + .btc.coinName:before { + background-image: url('/img/qortbtc.png'); + } + .ltc.coinName:before { background-image: url('/img/qortltc.png'); } @@ -423,6 +427,22 @@ class TradePortal extends LitElement { tradeFee: "0.002" } + let bitcoin = { + name: "BITCOIN", + balance: "0", + coinCode: "BTC", + openOrders: [], + openFilteredOrders: [], + historicTrades: [], + myOrders: [], + myHistoricTrades: [], + myOfferingOrders: [], + openTradeOrders: null, + tradeOffersSocketCounter: 1, + coinAmount: this.amountString, + tradeFee: "~0.0005" + } + let litecoin = { name: "LITECOIN", balance: "0", @@ -489,6 +509,7 @@ class TradePortal extends LitElement { this.listedCoins = new Map() this.listedCoins.set("QORTAL", qortal) + this.listedCoins.set("BITCOIN", bitcoin) this.listedCoins.set("LITECOIN", litecoin) this.listedCoins.set("DOGECOIN", dogecoin) this.listedCoins.set("DIGIBYTE", digibyte) @@ -499,6 +520,11 @@ class TradePortal extends LitElement { handleStuckTradesConnectedWorker: null }) + workers.set("BITCOIN", { + tradesConnectedWorker: null, + handleStuckTradesConnectedWorker: null + }) + workers.set("LITECOIN", { tradesConnectedWorker: null, handleStuckTradesConnectedWorker: null @@ -902,6 +928,7 @@ class TradePortal extends LitElement {

Qortal ${translate("tradepage.tchange1")} -  

QORT / LTC + QORT / BTC QORT / DOGE QORT / DGB QORT / RVN @@ -1059,6 +1086,10 @@ class TradePortal extends LitElement { let _body = null switch (this.selectedCoin) { + case 'BITCOIN': + _url = `/crosschain/btc/walletbalance?apiKey=${this.getApiKey()}` + _body = window.parent.reduxStore.getState().app.selectedAddress.btcWallet.derivedMasterPublicKey + break case 'LITECOIN': _url = `/crosschain/ltc/walletbalance?apiKey=${this.getApiKey()}` _body = window.parent.reduxStore.getState().app.selectedAddress.ltcWallet.derivedMasterPublicKey @@ -1312,23 +1343,19 @@ class TradePortal extends LitElement { processTradeBotStates(tradeStates) { /** - * BitcoinACCTv1 TRADEBOT STATES - * - BOB_WAITING_FOR_AT_CONFIRM - * - BOB_WAITING_FOR_MESSAGE - * - BOB_WAITING_FOR_P2SH_B - * - BOB_WAITING_FOR_AT_REDEEM - * - BOB_DONE - * - BOB_REFUNDED - * - ALICE_WAITING_FOR_P2SH_A - * - ALICE_WAITING_FOR_AT_LOCK - * - ALICE_WATCH_P2SH_B - * - ALICE_DONE - * - ALICE_REFUNDING_B - * - ALICE_REFUNDING_A - * - ALICE_REFUNDED - * - * @param {[{}]} states - */ + * BitcoinACCTv1 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 BitcoinACCTv1 = (states) => { // Reverse the states @@ -1339,24 +1366,16 @@ class TradePortal extends LitElement { this.changeTradeBotState(state, 'PENDING') } else if (state.tradeState == 'BOB_WAITING_FOR_MESSAGE') { this.changeTradeBotState(state, 'LISTED') - } else if (state.tradeState == 'BOB_WAITING_FOR_P2SH_B') { - this.changeTradeBotState(state, 'TRADING') } else if (state.tradeState == 'BOB_WAITING_FOR_AT_REDEEM') { - this.changeTradeBotState(state, 'REDEEMING') + 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_P2SH_A') { - this.changeTradeBotState(state, 'PENDING') } else if (state.tradeState == 'ALICE_WAITING_FOR_AT_LOCK') { - this.changeTradeBotState(state, 'TRADING') - } else if (state.tradeState == 'ALICE_WATCH_P2SH_B') { - this.changeTradeBotState(state, 'TRADING') + this.changeTradeBotState(state, 'BUYING') } else if (state.tradeState == 'ALICE_DONE') { this.handleCompletedState(state) - } else if (state.tradeState == 'ALICE_REFUNDING_B') { - this.changeTradeBotState(state, 'REFUNDING') } else if (state.tradeState == 'ALICE_REFUNDING_A') { this.changeTradeBotState(state, 'REFUNDING') } else if (state.tradeState == 'ALICE_REFUNDED') { @@ -1837,6 +1856,9 @@ class TradePortal extends LitElement { const makeRequest = async () => { let _receivingAddress = null switch (this.selectedCoin) { + case 'BITCOIN': + _receivingAddress = this.selectedAddress.btcWallet.address + break case 'LITECOIN': _receivingAddress = this.selectedAddress.ltcWallet.address break @@ -1903,6 +1925,9 @@ class TradePortal extends LitElement { let _foreignKey = "" switch (this.selectedCoin) { + case 'BITCOIN': + _foreignKey = this.selectedAddress.btcWallet.derivedMasterPrivateKey + break case 'LITECOIN': _foreignKey = this.selectedAddress.ltcWallet.derivedMasterPrivateKey break