Возможность коннектиться к разным маркетам
youaresofunny opened this issue · 9 comments
Сейчас service market работает как singleton (export default new Market('1.3.0'))
Нужно:
Возвращать объект где ключ это base asset, а значение - экземпляр в маркете.
Тогда в modules обойдёмся малой кровью:
API.Market['1.3.0'].subscribeToExchangeRate...
API.Market['1.3.0'.unsubscribeFromExchangeRate
И на экране мануальных ордеров будем забирать стакан из выбранной базы путем подписывания на нужный ассет.
TODO:
- Поправить services/market чтобы на выходе был объект с синглтонами
- Поправить места которые использовали этот маркет, чтобы они обращались к BTS
Не уверен, что стоит таким громоздким способом это делать. Для начала надо понять, а какие сценарии использования других маркетов предполагаются? Необходима ли возможность использования двух маркетов одновременно?
@roma219 необходима, когда юзер будет торговать на manual табе, в фоне будет висеть BTS Market.
@youaresofunny что?
"Необходима ли возможность использования двух маркетов одновременно?" - да
@youaresofunny Ок, это гораздо большая задача, чем просто в API.Market сделать объект с маркетами... Есть подводные камни и в количестве. Думаю целесообразно сначала сделать мануал таб чисто для bts маркета (держа в уме будущее возможность его замены), а далее уже внедрять возможность изменения - тогда и я ясно будет, в какой форме это лучше будет делать.
Мануал trading и vuex под него будут в другом issue.
Конкретно здесь все ок - малыми силами расширили service для работы с любым маркетом.
А зачем сейчас нужно это расширение? Если его использование предполагается только в модуле manual. Да и реализовать сейчас лучше как:
const baseMarket = API.Market.getMarket('1.3.0')
один раз вверху после импорта API
а не городить в каждом модуле API.Market['1.3.0']
const baseMarket = API.Market['1.3.0']