@@ -19,9 +19,14 @@ import { TRADING_COMMON, TRADING_EXCHANGE } from './constants';
19
19
export interface ExchangeInfo {
20
20
exchangeList ?: ExchangeListResponse ;
21
21
providerInfos : { [ name : string ] : ExchangeProviderInfo } ;
22
+ buySymbols : CryptoId [ ] ;
23
+ sellSymbols : CryptoId [ ] ;
24
+ }
25
+
26
+ export type TradingExchangeInfoSelector = Omit < ExchangeInfo , 'buySymbols' | 'sellSymbols' > & {
22
27
buySymbols : Set < CryptoId > ;
23
28
sellSymbols : Set < CryptoId > ;
24
- }
29
+ } ;
25
30
26
31
export type TradingExchangeAction =
27
32
| { type : typeof TRADING_EXCHANGE . SAVE_EXCHANGE_INFO ; exchangeInfo : ExchangeInfo }
@@ -59,32 +64,30 @@ export const loadExchangeInfo = async (): Promise<ExchangeInfo> => {
59
64
const exchangeList = await invityAPI . getExchangeList ( ) ;
60
65
61
66
if ( ! exchangeList || exchangeList . length === 0 ) {
62
- return { providerInfos : { } , buySymbols : new Set ( ) , sellSymbols : new Set ( ) } ;
67
+ return { providerInfos : { } , buySymbols : [ ] , sellSymbols : [ ] } ;
63
68
}
64
69
65
70
const providerInfos : { [ name : string ] : ExchangeProviderInfo } = { } ;
66
- exchangeList . forEach ( e => ( providerInfos [ e . name ] = e ) ) ;
71
+ exchangeList . forEach ( exchange => ( providerInfos [ exchange . name ] = exchange ) ) ;
67
72
68
73
// merge symbols supported by at least one partner
69
- const buySymbolsArray : CryptoId [ ] = [ ] ;
70
- const sellSymbolsArray : CryptoId [ ] = [ ] ;
71
- exchangeList . forEach ( p => {
72
- if ( p . buyTickers ) {
73
- buySymbolsArray . push ( ...p . buyTickers ) ;
74
+ const buySymbols : CryptoId [ ] = [ ] ;
75
+ const sellSymbols : CryptoId [ ] = [ ] ;
76
+
77
+ exchangeList . forEach ( provider => {
78
+ if ( provider . buyTickers ) {
79
+ buySymbols . push ( ...provider . buyTickers ) ;
74
80
}
75
- if ( p . sellTickers ) {
76
- sellSymbolsArray . push ( ...p . sellTickers ) ;
81
+ if ( provider . sellTickers ) {
82
+ sellSymbols . push ( ...provider . sellTickers ) ;
77
83
}
78
84
} ) ;
79
85
80
- const buySymbols = new Set < CryptoId > ( buySymbolsArray ) ;
81
- const sellSymbols = new Set < CryptoId > ( sellSymbolsArray ) ;
82
-
83
86
return {
84
87
exchangeList,
85
88
providerInfos,
86
- buySymbols,
87
- sellSymbols,
89
+ buySymbols : [ ... new Set ( buySymbols ) ] ,
90
+ sellSymbols : [ ... new Set ( sellSymbols ) ] ,
88
91
} ;
89
92
} ;
90
93
0 commit comments