diff --git a/src/botPage/bot/TradeEngine/Proposal.js b/src/botPage/bot/TradeEngine/Proposal.js index 4f2bcbf865..8fced7acd7 100644 --- a/src/botPage/bot/TradeEngine/Proposal.js +++ b/src/botPage/bot/TradeEngine/Proposal.js @@ -1,5 +1,5 @@ import { translate } from '../../../common/i18n'; -import { tradeOptionToProposal, doUntilDone, getUUID } from '../tools'; +import { tradeOptionToProposal, doUntilDone } from '../tools'; import { proposalsReady, clearProposals } from './state/actions'; export default Engine => @@ -49,13 +49,7 @@ export default Engine => this.proposalTemplates.map(proposal => doUntilDone(() => this.api - .subscribeToPriceForContractProposal({ - ...proposal, - passthrough: { - contractType: proposal.contract_type, - uuid : getUUID(), - }, - }) + .subscribeToPriceForContractProposal(proposal) // eslint-disable-next-line consistent-return .catch(e => { if (e && e.name === 'RateLimit') { @@ -127,8 +121,14 @@ export default Engine => checkProposalReady() { const proposals = this.data.get('proposals'); - if (proposals && proposals.size === this.proposalTemplates.length) { - this.startPromise.then(() => this.store.dispatch(proposalsReady())); + if (proposals && proposals.size) { + const isSameWithTemplate = this.proposalTemplates.every(p => + this.data.hasIn(['proposals', p.passthrough.uuid]) + ); + + if (isSameWithTemplate) { + this.startPromise.then(() => this.store.dispatch(proposalsReady())); + } } } isNewTradeOption(tradeOption) { diff --git a/src/botPage/bot/tools.js b/src/botPage/bot/tools.js index 2b509e9c58..49f15f96b4 100644 --- a/src/botPage/bot/tools.js +++ b/src/botPage/bot/tools.js @@ -15,6 +15,10 @@ export const tradeOptionToProposal = tradeOption => duration : tradeOption.duration, amount : roundBalance({ currency: tradeOption.currency, balance: tradeOption.amount }), contract_type: type, + passthrough : { + contractType: type, + uuid : getUUID(), + }, }; if (tradeOption.prediction !== undefined) { proposal.selected_tick = tradeOption.prediction; diff --git a/src/botPage/view/blockly/index.js b/src/botPage/view/blockly/index.js index 1041d10364..b044b4985c 100644 --- a/src/botPage/view/blockly/index.js +++ b/src/botPage/view/blockly/index.js @@ -378,7 +378,8 @@ export default class _Blockly { const previousStrat = getPreviousStrat(); if (previousStrat) { - loadDomToWorkspace(previousStrat); + const previousStratDOM = Blockly.Xml.textToDom(previousStrat); + loadDomToWorkspace(previousStratDOM); resolve(); return; }