Compare commits

...

7 Commits

Author SHA1 Message Date
QuickMythril
1f37de8f12 Added BTC, NMC, DASH, & FIRO to Trade Portal
Also fixed the estimated trade fee for RVN, and updated the ACCT for BTC.
2022-05-07 03:30:17 -04:00
QuickMythril
fb6b5d54fa Update DGB/RVN to match master
Added trade fees to new-coins since they were not part of the master branch.
2022-05-07 03:02:34 -04:00
QuickMythril
f367544498 Added NMC, DASH, & FIRO to Wallet
Note that the edits which show removed code are actually still there.  The file difference is being rendered improperly.
2022-05-07 02:45:19 -04:00
QuickMythril
c3b1875672 Update DGB/RVN to match master
Added some changes that were not applied to new-coins during the previous merge from the master branch.
2022-05-07 01:49:13 -04:00
QuickMythril
6f59c7c583 Added support for NMC, DASH, & FIRO
This allows for sending and creating wallets.
2022-05-07 01:24:54 -04:00
QuickMythril
b66f5d1e1f Fixed some typos
Added missing RVN entry, reordered an entry, added missing DGB/RVN entry, and fixed a duplicate entry.
2022-05-07 01:04:51 -04:00
QuickMythril
d596df746d Added new coin icons
For BTC trades and NMC, DASH, & FIRO support.
2022-05-07 00:14:18 -04:00
16 changed files with 1482 additions and 45 deletions

BIN
img/dash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
img/dash_transparent.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
img/firo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
img/firo_transparent.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
img/nmc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
img/nmc_transparent.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
img/qortbtc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
img/qortdash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
img/qortfiro.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
img/qortnmc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -22,6 +22,9 @@ const sendLtc = api.sendLtc
const sendDoge = api.sendDoge const sendDoge = api.sendDoge
const sendDgb = api.sendDgb const sendDgb = api.sendDgb
const sendRvn = api.sendRvn const sendRvn = api.sendRvn
const sendNmc = api.sendNmc
const sendDash = api.sendDash
const sendFiro = api.sendFiro
export const routes = { export const routes = {
hello: async (req) => { hello: async (req) => {
@ -361,4 +364,43 @@ export const routes = {
} }
return response return response
}, },
sendNmc: async (req) => {
let response
try {
const res = await sendNmc(req.data)
response = res
} catch (e) {
console.error(e)
console.error(e.message)
response = e.message
}
return response
},
sendDash: async (req) => {
let response
try {
const res = await sendDash(req.data)
response = res
} catch (e) {
console.error(e)
console.error(e.message)
response = e.message
}
return response
},
sendFiro: async (req) => {
let response
try {
const res = await sendFiro(req.data)
response = res
} catch (e) {
console.error(e)
console.error(e.message)
response = e.message
}
return response
},
} }

View File

@ -168,6 +168,51 @@ export default class PhraseWallet {
} }
}).createWallet(new Uint8Array(rvnSeed), false, 'RVN'); }).createWallet(new Uint8Array(rvnSeed), false, 'RVN');
// Create Namecoin HD Wallet
const nmcSeed = [...addrSeed];
const nmcWallet = new AltcoinHDWallet({
mainnet: {
private: 0x0488ADE4,
public: 0x0488B21E,
prefix: 0x34
},
testnet: {
private: 0x04358394,
public: 0x043587CF,
prefix: 0x6F
}
}).createWallet(new Uint8Array(nmcSeed), false, 'NMC');
// Create Dash HD Wallet
const dashSeed = [...addrSeed];
const dashWallet = new AltcoinHDWallet({
mainnet: {
private: 0x0488ADE4,
public: 0x0488B21E,
prefix: 0x4C
},
testnet: {
private: 0x04358394,
public: 0x043587CF,
prefix: 0x8C
}
}).createWallet(new Uint8Array(dashSeed), false, 'DASH');
// Create Firo HD Wallet
const firoSeed = [...addrSeed];
const firoWallet = new AltcoinHDWallet({
mainnet: {
private: 0x0488ADE4,
public: 0x0488B21E,
prefix: 0x52
},
testnet: {
private: 0x04358394,
public: 0x043587CF,
prefix: 0x41
}
}).createWallet(new Uint8Array(firoSeed), false, 'FIRO');
this._addresses[nonce] = { this._addresses[nonce] = {
address, address,
btcWallet, btcWallet,
@ -175,6 +220,9 @@ export default class PhraseWallet {
dogeWallet, dogeWallet,
dgbWallet, dgbWallet,
rvnWallet, rvnWallet,
nmcWallet,
dashWallet,
firoWallet,
qoraAddress, qoraAddress,
keyPair: { keyPair: {
publicKey: addrKeyPair.publicKey, publicKey: addrKeyPair.publicKey,

View File

@ -4,6 +4,6 @@ export { transactionTypes as transactions } from './transactions/transactions.js
export { processTransaction, createTransaction, computeChatNonce, signChatTransaction, signArbitraryTransaction } from './createTransaction.js' export { processTransaction, createTransaction, computeChatNonce, signChatTransaction, signArbitraryTransaction } from './createTransaction.js'
export { tradeBotCreateRequest, tradeBotRespondRequest, signTradeBotTxn, deleteTradeOffer, sendBtc, sendLtc, sendDoge, sendDgb, sendRvn } from './tradeRequest.js' export { tradeBotCreateRequest, tradeBotRespondRequest, signTradeBotTxn, deleteTradeOffer, sendBtc, sendLtc, sendDoge, sendDgb, sendRvn, sendNmc, sendDash, sendFiro } from './tradeRequest.js'
export { cancelAllOffers } from './transactions/trade-portal/tradeoffer/cancelAllOffers.js' export { cancelAllOffers } from './transactions/trade-portal/tradeoffer/cancelAllOffers.js'

View File

@ -130,3 +130,44 @@ export const sendRvn = (requestObject) => {
}) })
} }
// Send NMC
export const sendNmc = (requestObject) => {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
return request(`/crosschain/nmc/send?apiKey=${myNode.apiKey}`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(requestObject)
})
}
// Send DASH
export const sendDash = (requestObject) => {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
return request(`/crosschain/dash/send?apiKey=${myNode.apiKey}`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(requestObject)
})
}
// Send FIRO
export const sendFiro = (requestObject) => {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
return request(`/crosschain/firo/send?apiKey=${myNode.apiKey}`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(requestObject)
})
}

View File

@ -338,6 +338,10 @@ class TradePortal extends LitElement {
top: 10px; top: 10px;
} }
.btc.coinName:before {
background-image: url('/img/qortbtc.png');
}
.ltc.coinName:before { .ltc.coinName:before {
background-image: url('/img/qortltc.png'); background-image: url('/img/qortltc.png');
} }
@ -354,6 +358,18 @@ class TradePortal extends LitElement {
background-image: url('/img/qortrvn.png'); background-image: url('/img/qortrvn.png');
} }
.nmc.coinName:before {
background-image: url('/img/qortnmc.png');
}
.dash.coinName:before {
background-image: url('/img/qortdash.png');
}
.firo.coinName:before {
background-image: url('/img/qortfiro.png');
}
.coinName { .coinName {
display: inline-block; display: inline-block;
height: 26px; height: 26px;
@ -423,6 +439,22 @@ class TradePortal extends LitElement {
tradeFee: "0.002" 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 = { let litecoin = {
name: "LITECOIN", name: "LITECOIN",
balance: "0", balance: "0",
@ -467,7 +499,8 @@ class TradePortal extends LitElement {
myOfferingOrders: [], myOfferingOrders: [],
openTradeOrders: null, openTradeOrders: null,
tradeOffersSocketCounter: 1, tradeOffersSocketCounter: 1,
coinAmount: this.amountString coinAmount: this.amountString,
tradeFee: "~0.0005"
} }
let ravencoin = { let ravencoin = {
@ -482,21 +515,79 @@ class TradePortal extends LitElement {
myOfferingOrders: [], myOfferingOrders: [],
openTradeOrders: null, openTradeOrders: null,
tradeOffersSocketCounter: 1, tradeOffersSocketCounter: 1,
coinAmount: this.amountString coinAmount: this.amountString,
tradeFee: "~0.015"
}
let namecoin = {
name: "NAMECOIN",
balance: "0",
coinCode: "NMC",
openOrders: [],
openFilteredOrders: [],
historicTrades: [],
myOrders: [],
myHistoricTrades: [],
myOfferingOrders: [],
openTradeOrders: null,
tradeOffersSocketCounter: 1,
coinAmount: this.amountString,
tradeFee: "~0.005"
}
let dash = {
name: "DASH",
balance: "0",
coinCode: "DASH",
openOrders: [],
openFilteredOrders: [],
historicTrades: [],
myOrders: [],
myHistoricTrades: [],
myOfferingOrders: [],
openTradeOrders: null,
tradeOffersSocketCounter: 1,
coinAmount: this.amountString,
tradeFee: "~0.000015"
}
let firo = {
name: "FIRO",
balance: "0",
coinCode: "FIRO",
openOrders: [],
openFilteredOrders: [],
historicTrades: [],
myOrders: [],
myHistoricTrades: [],
myOfferingOrders: [],
openTradeOrders: null,
tradeOffersSocketCounter: 1,
coinAmount: this.amountString,
tradeFee: "~0.000015"
} }
this.listedCoins = new Map() this.listedCoins = new Map()
this.listedCoins.set("QORTAL", qortal) this.listedCoins.set("QORTAL", qortal)
this.listedCoins.set("BITCOIN", bitcoin)
this.listedCoins.set("LITECOIN", litecoin) this.listedCoins.set("LITECOIN", litecoin)
this.listedCoins.set("DOGECOIN", dogecoin) this.listedCoins.set("DOGECOIN", dogecoin)
this.listedCoins.set("DIGIBYTE", digibyte) this.listedCoins.set("DIGIBYTE", digibyte)
this.listedCoins.set("RAVENCOIN", ravencoin) this.listedCoins.set("RAVENCOIN", ravencoin)
this.listedCoins.set("NAMECOIN", namecoin)
this.listedCoins.set("DASH", dash)
this.listedCoins.set("FIRO", firo)
workers.set("QORTAL", { workers.set("QORTAL", {
tradesConnectedWorker: null, tradesConnectedWorker: null,
handleStuckTradesConnectedWorker: null handleStuckTradesConnectedWorker: null
}) })
workers.set("BITCOIN", {
tradesConnectedWorker: null,
handleStuckTradesConnectedWorker: null
})
workers.set("LITECOIN", { workers.set("LITECOIN", {
tradesConnectedWorker: null, tradesConnectedWorker: null,
handleStuckTradesConnectedWorker: null handleStuckTradesConnectedWorker: null
@ -517,6 +608,21 @@ class TradePortal extends LitElement {
handleStuckTradesConnectedWorker: null handleStuckTradesConnectedWorker: null
}) })
workers.set("NAMECOIN", {
tradesConnectedWorker: null,
handleStuckTradesConnectedWorker: null
})
workers.set("DASH", {
tradesConnectedWorker: null,
handleStuckTradesConnectedWorker: null
})
workers.set("FIRO", {
tradesConnectedWorker: null,
handleStuckTradesConnectedWorker: null
})
this.selectedCoin = "LITECOIN" this.selectedCoin = "LITECOIN"
this.selectedAddress = {} this.selectedAddress = {}
this.config = {} this.config = {}
@ -900,9 +1006,13 @@ class TradePortal extends LitElement {
<h2 style="margin: 0 0 15px 0; line-height: 50px; display: inline;">Qortal ${translate("tradepage.tchange1")} - &nbsp;</h2> <h2 style="margin: 0 0 15px 0; line-height: 50px; display: inline;">Qortal ${translate("tradepage.tchange1")} - &nbsp;</h2>
<mwc-select outlined id="coinSelectionMenu" label="${translate("tradepage.tchange2")}"> <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="LITECOIN" selected><span class="coinName ltc" style="color: var(--black);">QORT / LTC</span></mwc-list-item>
<mwc-list-item value="BITCOIN"><span class="coinName btc" style="color: var(--black);">QORT / BTC</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="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-list-item value="DIGIBYTE"><span class="coinName dgb" style="color: var(--black);">QORT / DGB</span></mwc-list-item>
<mwc-list-item value="RAVENCOIN"><span class="coinName rvn" style="color: var(--black);">QORT / RVN</span></mwc-list-item> <mwc-list-item value="RAVENCOIN"><span class="coinName rvn" style="color: var(--black);">QORT / RVN</span></mwc-list-item>
<mwc-list-item value="NAMECOIN"><span class="coinName nmc" style="color: var(--black);">QORT / NMC</span></mwc-list-item>
<mwc-list-item value="DASH"><span class="coinName dash" style="color: var(--black);">QORT / DASH</span></mwc-list-item>
<mwc-list-item value="FIRO"><span class="coinName firo" style="color: var(--black);">QORT / FIRO</span></mwc-list-item>
</mwc-select> </mwc-select>
</div> </div>
<div id="trade-portal"> <div id="trade-portal">
@ -1057,6 +1167,10 @@ class TradePortal extends LitElement {
let _body = null let _body = null
switch (this.selectedCoin) { switch (this.selectedCoin) {
case 'BITCOIN':
_url = `/crosschain/btc/walletbalance?apiKey=${this.getApiKey()}`
_body = window.parent.reduxStore.getState().app.selectedAddress.btcWallet.derivedMasterPublicKey
break
case 'LITECOIN': case 'LITECOIN':
_url = `/crosschain/ltc/walletbalance?apiKey=${this.getApiKey()}` _url = `/crosschain/ltc/walletbalance?apiKey=${this.getApiKey()}`
_body = window.parent.reduxStore.getState().app.selectedAddress.ltcWallet.derivedMasterPublicKey _body = window.parent.reduxStore.getState().app.selectedAddress.ltcWallet.derivedMasterPublicKey
@ -1072,6 +1186,18 @@ class TradePortal extends LitElement {
case 'RAVENCOIN': case 'RAVENCOIN':
_url = `/crosschain/rvn/walletbalance?apiKey=${this.getApiKey()}` _url = `/crosschain/rvn/walletbalance?apiKey=${this.getApiKey()}`
_body = window.parent.reduxStore.getState().app.selectedAddress.rvnWallet.derivedMasterPublicKey _body = window.parent.reduxStore.getState().app.selectedAddress.rvnWallet.derivedMasterPublicKey
break
case 'NAMECOIN':
_url = `/crosschain/nmc/walletbalance?apiKey=${this.getApiKey()}`
_body = window.parent.reduxStore.getState().app.selectedAddress.nmcWallet.derivedMasterPublicKey
break
case 'DASH':
_url = `/crosschain/dash/walletbalance?apiKey=${this.getApiKey()}`
_body = window.parent.reduxStore.getState().app.selectedAddress.dashWallet.derivedMasterPublicKey
break
case 'FIRO':
_url = `/crosschain/firo/walletbalance?apiKey=${this.getApiKey()}`
_body = window.parent.reduxStore.getState().app.selectedAddress.firoWallet.derivedMasterPublicKey
break break
default: default:
break break
@ -1310,23 +1436,19 @@ class TradePortal extends LitElement {
processTradeBotStates(tradeStates) { processTradeBotStates(tradeStates) {
/** /**
* BitcoinACCTv1 TRADEBOT STATES * BitcoinACCTv1 TRADEBOT STATES
* - BOB_WAITING_FOR_AT_CONFIRM * - BOB_WAITING_FOR_AT_CONFIRM
* - BOB_WAITING_FOR_MESSAGE * - BOB_WAITING_FOR_MESSAGE
* - BOB_WAITING_FOR_P2SH_B * - BOB_WAITING_FOR_AT_REDEEM
* - BOB_WAITING_FOR_AT_REDEEM * - BOB_DONE
* - BOB_DONE * - BOB_REFUNDED
* - BOB_REFUNDED * - ALICE_WAITING_FOR_AT_LOCK
* - ALICE_WAITING_FOR_P2SH_A * - ALICE_DONE
* - ALICE_WAITING_FOR_AT_LOCK * - ALICE_REFUNDING_A
* - ALICE_WATCH_P2SH_B * - ALICE_REFUNDED
* - ALICE_DONE *
* - ALICE_REFUNDING_B * @param {[{}]} states
* - ALICE_REFUNDING_A */
* - ALICE_REFUNDED
*
* @param {[{}]} states
*/
const BitcoinACCTv1 = (states) => { const BitcoinACCTv1 = (states) => {
// Reverse the states // Reverse the states
@ -1337,24 +1459,16 @@ class TradePortal extends LitElement {
this.changeTradeBotState(state, 'PENDING') this.changeTradeBotState(state, 'PENDING')
} else if (state.tradeState == 'BOB_WAITING_FOR_MESSAGE') { } else if (state.tradeState == 'BOB_WAITING_FOR_MESSAGE') {
this.changeTradeBotState(state, 'LISTED') 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') { } else if (state.tradeState == 'BOB_WAITING_FOR_AT_REDEEM') {
this.changeTradeBotState(state, 'REDEEMING') this.changeTradeBotState(state, 'TRADING')
} else if (state.tradeState == 'BOB_DONE') { } else if (state.tradeState == 'BOB_DONE') {
this.handleCompletedState(state) this.handleCompletedState(state)
} else if (state.tradeState == 'BOB_REFUNDED') { } else if (state.tradeState == 'BOB_REFUNDED') {
this.handleCompletedState(state) 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') { } else if (state.tradeState == 'ALICE_WAITING_FOR_AT_LOCK') {
this.changeTradeBotState(state, 'TRADING') this.changeTradeBotState(state, 'BUYING')
} else if (state.tradeState == 'ALICE_WATCH_P2SH_B') {
this.changeTradeBotState(state, 'TRADING')
} else if (state.tradeState == 'ALICE_DONE') { } else if (state.tradeState == 'ALICE_DONE') {
this.handleCompletedState(state) this.handleCompletedState(state)
} else if (state.tradeState == 'ALICE_REFUNDING_B') {
this.changeTradeBotState(state, 'REFUNDING')
} else if (state.tradeState == 'ALICE_REFUNDING_A') { } else if (state.tradeState == 'ALICE_REFUNDING_A') {
this.changeTradeBotState(state, 'REFUNDING') this.changeTradeBotState(state, 'REFUNDING')
} else if (state.tradeState == 'ALICE_REFUNDED') { } else if (state.tradeState == 'ALICE_REFUNDED') {
@ -1536,6 +1650,135 @@ class TradePortal extends LitElement {
}) })
} }
/**
* NamecoinACCTv1 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 NamecoinACCTv1 = (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)
}
}
})
}
/**
* DashACCTv1 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 DashACCTv1 = (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)
}
}
})
}
/**
* FiroACCTv1 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 FiroACCTv1 = (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) { switch (this.selectedCoin) {
case 'BITCOIN': case 'BITCOIN':
BitcoinACCTv1(tradeStates) BitcoinACCTv1(tradeStates)
@ -1552,6 +1795,15 @@ class TradePortal extends LitElement {
case 'RAVENCOIN': case 'RAVENCOIN':
RavencoinACCTv1(tradeStates) RavencoinACCTv1(tradeStates)
break break
case 'NAMECOIN':
NamecoinACCTv1(tradeStates)
break
case 'DASH':
DashACCTv1(tradeStates)
break
case 'FIRO':
FiroACCTv1(tradeStates)
break
default: default:
break break
} }
@ -1835,6 +2087,9 @@ class TradePortal extends LitElement {
const makeRequest = async () => { const makeRequest = async () => {
let _receivingAddress = null let _receivingAddress = null
switch (this.selectedCoin) { switch (this.selectedCoin) {
case 'BITCOIN':
_receivingAddress = this.selectedAddress.btcWallet.address
break
case 'LITECOIN': case 'LITECOIN':
_receivingAddress = this.selectedAddress.ltcWallet.address _receivingAddress = this.selectedAddress.ltcWallet.address
break break
@ -1846,6 +2101,15 @@ class TradePortal extends LitElement {
break break
case 'RAVENCOIN': case 'RAVENCOIN':
_receivingAddress = this.selectedAddress.rvnWallet.address _receivingAddress = this.selectedAddress.rvnWallet.address
break
case 'NAMECOIN':
_receivingAddress = this.selectedAddress.nmcWallet.address
break
case 'DASH':
_receivingAddress = this.selectedAddress.dashWallet.address
break
case 'FIRO':
_receivingAddress = this.selectedAddress.firoWallet.address
break break
default: default:
break break
@ -1901,6 +2165,9 @@ class TradePortal extends LitElement {
let _foreignKey = "" let _foreignKey = ""
switch (this.selectedCoin) { switch (this.selectedCoin) {
case 'BITCOIN':
_foreignKey = this.selectedAddress.btcWallet.derivedMasterPrivateKey
break
case 'LITECOIN': case 'LITECOIN':
_foreignKey = this.selectedAddress.ltcWallet.derivedMasterPrivateKey _foreignKey = this.selectedAddress.ltcWallet.derivedMasterPrivateKey
break break
@ -1912,6 +2179,15 @@ class TradePortal extends LitElement {
break break
case 'RAVENCOIN': case 'RAVENCOIN':
_foreignKey = this.selectedAddress.rvnWallet.derivedMasterPrivateKey _foreignKey = this.selectedAddress.rvnWallet.derivedMasterPrivateKey
break
case 'NAMECOIN':
_foreignKey = this.selectedAddress.nmcWallet.derivedMasterPrivateKey
break
case 'DASH':
_foreignKey = this.selectedAddress.dashWallet.derivedMasterPrivateKey
break
case 'FIRO':
_foreignKey = this.selectedAddress.firoWallet.derivedMasterPrivateKey
break break
default: default:
break break

File diff suppressed because it is too large Load Diff