diff --git a/core/src/plugins/routes.js b/core/src/plugins/routes.js index af92345a..d50c95b2 100644 --- a/core/src/plugins/routes.js +++ b/core/src/plugins/routes.js @@ -27,12 +27,22 @@ const tradeBotRespondRequest = api.tradeBotRespondRequest const signTradeBotTxn = api.signTradeBotTxn const deleteTradeOffer = api.deleteTradeOffer const cancelAllOffers = api.cancelAllOffers -const sendBtc = api.sendBtc -const sendLtc = api.sendLtc -const sendDoge = api.sendDoge -const sendDgb = api.sendDgb -const sendRvn = api.sendRvn -const sendArrr = api.sendArrr +const sendCoin = async (coin, req) => { + let response + try { + const sendFn = api[`send${coin}`] + if (sendFn) { + response = await sendFn(req.data) + } else { + response = `Unsupported blockchain: ${coin}` + } + } catch (e) { + console.error(e) + console.error(e.message) + response = e.message + } + return response +} export const routes = { registerUrl: async (req) => { @@ -433,93 +443,15 @@ export const routes = { return response }, - sendBtc: async (req) => { - let response + sendBtc: async (req) => sendCoin('Btc', req), - try { - response = await sendBtc(req.data) - } catch (e) { - console.error(e) - console.error(e.message) + sendLtc: async (req) => sendCoin('Ltc', req), - response = e.message - } + sendDoge: async (req) => sendCoin('Doge', req), - return response - }, + sendDgb: async (req) => sendCoin('Dgb', req), - sendLtc: async (req) => { - let response + sendRvn: async (req) => sendCoin('Rvn', req), - try { - response = await sendLtc(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - }, - - sendDoge: async (req) => { - let response - - try { - response = await sendDoge(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - }, - - sendDgb: async (req) => { - let response - - try { - response = await sendDgb(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - }, - - sendRvn: async (req) => { - let response - - try { - response = await sendRvn(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - }, - - sendArrr: async (req) => { - let response - - try { - response = await sendArrr(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - } -} \ No newline at end of file + sendArrr: async (req) => sendCoin('Arrr', req), +} diff --git a/core/src/tradebot/trade-bot-routes.js b/core/src/tradebot/trade-bot-routes.js index 8d0f085c..de0a47f2 100644 --- a/core/src/tradebot/trade-bot-routes.js +++ b/core/src/tradebot/trade-bot-routes.js @@ -9,12 +9,22 @@ const tradeBotRespondRequest = api.tradeBotRespondRequest const signTradeBotTxn = api.signTradeBotTxn const deleteTradeOffer = api.deleteTradeOffer const cancelAllOffers = api.cancelAllOffers -const sendBtc = api.sendBtc -const sendLtc = api.sendLtc -const sendDoge = api.sendDoge -const sendDgb = api.sendDgb -const sendRvn = api.sendRvn -const sendArrr = api.sendArrr +const sendCoin = async (coin, req) => { + let response + try { + const sendFn = api[`send${coin}`] + if (sendFn) { + response = await sendFn(req.data) + } else { + response = `Unsupported blockchain: ${coin}` + } + } catch (e) { + console.error(e) + console.error(e.message) + response = e.message + } + return response +} export const routes = { apiCall: async (req) => { @@ -192,93 +202,15 @@ export const routes = { return response }, - sendBtc: async (req) => { - let response + sendBtc: async (req) => sendCoin('Btc', req), - try { - response = await sendBtc(req.data) - } catch (e) { - console.error(e) - console.error(e.message) + sendLtc: async (req) => sendCoin('Ltc', req), - response = e.message - } + sendDoge: async (req) => sendCoin('Doge', req), - return response - }, + sendDgb: async (req) => sendCoin('Dgb', req), - sendLtc: async (req) => { - let response + sendRvn: async (req) => sendCoin('Rvn', req), - try { - response = await sendLtc(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - }, - - sendDoge: async (req) => { - let response - - try { - response = await sendDoge(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - }, - - sendDgb: async (req) => { - let response - - try { - response = await sendDgb(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - }, - - sendRvn: async (req) => { - let response - - try { - response = await sendRvn(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - }, - - sendArrr: async (req) => { - let response - - try { - response = await sendArrr(req.data) - } catch (e) { - console.error(e) - console.error(e.message) - - response = e.message - } - - return response - } -} \ No newline at end of file + sendArrr: async (req) => sendCoin('Arrr', req), +} diff --git a/crypto/api/tradeRequest.js b/crypto/api/tradeRequest.js index 447244f0..f95380b7 100644 --- a/crypto/api/tradeRequest.js +++ b/crypto/api/tradeRequest.js @@ -55,11 +55,10 @@ export const deleteTradeOffer = (requestObject) => { }) } -// Send BTC -export const sendBtc = (requestObject) => { +// Send Coin +const sendCoin = (coin, requestObject) => { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - - return request(`/crosschain/btc/send?apiKey=${myNode.apiKey}`, { + return request(`/crosschain/${coin}/send?apiKey=${myNode.apiKey}`, { method: 'POST', headers: { 'Accept': 'application/json', @@ -69,72 +68,20 @@ export const sendBtc = (requestObject) => { }) } +// Send BTC +export const sendBtc = (requestObject) => sendCoin('btc', requestObject) + // Send LTC -export const sendLtc = (requestObject) => { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - - return request(`/crosschain/ltc/send?apiKey=${myNode.apiKey}`, { - method: 'POST', - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json' - }, - body: JSON.stringify(requestObject) - }) -} +export const sendLtc = (requestObject) => sendCoin('ltc', requestObject) // Send DOGE -export const sendDoge = (requestObject) => { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - - return request(`/crosschain/doge/send?apiKey=${myNode.apiKey}`, { - method: 'POST', - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json' - }, - body: JSON.stringify(requestObject) - }) -} +export const sendDoge = (requestObject) => sendCoin('doge', requestObject) // Send DGB -export const sendDgb = (requestObject) => { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - - return request(`/crosschain/dgb/send?apiKey=${myNode.apiKey}`, { - method: 'POST', - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json' - }, - body: JSON.stringify(requestObject) - }) -} +export const sendDgb = (requestObject) => sendCoin('dgb', requestObject) // Send RVN -export const sendRvn = (requestObject) => { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - - return request(`/crosschain/rvn/send?apiKey=${myNode.apiKey}`, { - method: 'POST', - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json' - }, - body: JSON.stringify(requestObject) - }) -} +export const sendRvn = (requestObject) => sendCoin('rvn', requestObject) // Send ARRR -export const sendArrr = (requestObject) => { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - - return request(`/crosschain/arrr/send?apiKey=${myNode.apiKey}`, { - method: 'POST', - headers: { - 'Accept': 'application/json', - 'Content-Type': 'application/json' - }, - body: JSON.stringify(requestObject) - }) -} +export const sendArrr = (requestObject) => sendCoin('arrr', requestObject)