shared-exchange-config 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. shared_exchange_config-0.0.1/PKG-INFO +186 -0
  2. shared_exchange_config-0.0.1/README.md +161 -0
  3. shared_exchange_config-0.0.1/exchange_config/__init__.py +25 -0
  4. shared_exchange_config-0.0.1/exchange_config/data/binance.json +229 -0
  5. shared_exchange_config-0.0.1/exchange_config/data/bitfinex.json +198 -0
  6. shared_exchange_config-0.0.1/exchange_config/data/bitstamp.json +97 -0
  7. shared_exchange_config-0.0.1/exchange_config/data/bybit.json +152 -0
  8. shared_exchange_config-0.0.1/exchange_config/data/deribit.json +27 -0
  9. shared_exchange_config-0.0.1/exchange_config/data/hitbtc.json +200 -0
  10. shared_exchange_config-0.0.1/exchange_config/data/kraken.json +202 -0
  11. shared_exchange_config-0.0.1/exchange_config/data/kucoin.json +199 -0
  12. shared_exchange_config-0.0.1/exchange_config/data/okx.json +153 -0
  13. shared_exchange_config-0.0.1/exchange_config/exceptions.py +28 -0
  14. shared_exchange_config-0.0.1/exchange_config/exchanges/__init__.py +28 -0
  15. shared_exchange_config-0.0.1/exchange_config/exchanges/base.py +102 -0
  16. shared_exchange_config-0.0.1/exchange_config/exchanges/binance.py +64 -0
  17. shared_exchange_config-0.0.1/exchange_config/exchanges/bitfinex.py +48 -0
  18. shared_exchange_config-0.0.1/exchange_config/exchanges/bitstamp.py +18 -0
  19. shared_exchange_config-0.0.1/exchange_config/exchanges/bybit.py +53 -0
  20. shared_exchange_config-0.0.1/exchange_config/exchanges/deribit.py +18 -0
  21. shared_exchange_config-0.0.1/exchange_config/exchanges/factory.py +65 -0
  22. shared_exchange_config-0.0.1/exchange_config/exchanges/hitbtc.py +28 -0
  23. shared_exchange_config-0.0.1/exchange_config/exchanges/kraken.py +88 -0
  24. shared_exchange_config-0.0.1/exchange_config/exchanges/kucoin.py +28 -0
  25. shared_exchange_config-0.0.1/exchange_config/exchanges/okx.py +18 -0
  26. shared_exchange_config-0.0.1/exchange_config/manager.py +64 -0
  27. shared_exchange_config-0.0.1/exchange_config/overrides/__init__.py +93 -0
  28. shared_exchange_config-0.0.1/exchange_config/overrides/applicator.py +122 -0
  29. shared_exchange_config-0.0.1/exchange_config/overrides/settings_parser.py +179 -0
  30. shared_exchange_config-0.0.1/setup.cfg +4 -0
  31. shared_exchange_config-0.0.1/setup.py +31 -0
  32. shared_exchange_config-0.0.1/shared_exchange_config.egg-info/PKG-INFO +186 -0
  33. shared_exchange_config-0.0.1/shared_exchange_config.egg-info/SOURCES.txt +35 -0
  34. shared_exchange_config-0.0.1/shared_exchange_config.egg-info/dependency_links.txt +1 -0
  35. shared_exchange_config-0.0.1/shared_exchange_config.egg-info/top_level.txt +1 -0
  36. shared_exchange_config-0.0.1/tests/test_integration.py +258 -0
  37. shared_exchange_config-0.0.1/tests/test_utils.py +37 -0
@@ -0,0 +1,186 @@
1
+ Metadata-Version: 2.4
2
+ Name: shared-exchange-config
3
+ Version: 0.0.1
4
+ Summary: Python library for managing cryptocurrency exchange configurations
5
+ Author: Dmitrii
6
+ Author-email: dp@exan.tech
7
+ License: EULA
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: License :: Other/Proprietary License
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Requires-Python: >=3.10
16
+ Description-Content-Type: text/markdown
17
+ Dynamic: author
18
+ Dynamic: author-email
19
+ Dynamic: classifier
20
+ Dynamic: description
21
+ Dynamic: description-content-type
22
+ Dynamic: license
23
+ Dynamic: requires-python
24
+ Dynamic: summary
25
+
26
+ # Shared Exchange Configuration Library
27
+
28
+ A Python library for managing cryptocurrency exchange configurations, providing clean access to exchange data and configuration override capabilities.
29
+
30
+ ## Features
31
+
32
+ - **Load and manage multiple exchange configurations** from JSON files
33
+ - **Clean Python API** for accessing currency, network, and exchange-specific data
34
+ - **Configuration override system** for testing and customization
35
+
36
+ ## Installation
37
+
38
+ ```bash
39
+ # Install from source (no external dependencies needed)
40
+ pip install -e .
41
+
42
+ # Requirements: Python 3.10+
43
+ ```
44
+
45
+ ## Quick Start
46
+
47
+ ### Basic Usage (with default configurations)
48
+
49
+ ```python
50
+ from exchange_config import ExchangeConfigManager
51
+
52
+ # Initialize the manager (loads default JSON configs)
53
+ manager = ExchangeConfigManager()
54
+
55
+ # Access exchange configurations
56
+ binance = manager.get_exchange('binance')
57
+ print(f"Binance supports {len(binance.available_currencies))} currencies")
58
+ ```
59
+
60
+ ### Production Usage (with startup configuration)
61
+
62
+ Check examples/ folder for more detailed usage
63
+
64
+ ## Configuration Management
65
+
66
+ ### Startup Configuration (Recommended for Production)
67
+
68
+ For Django/FastAPI applications, configure overrides once at startup:
69
+
70
+ ```python
71
+ from exchange_config import configure_exchanges
72
+
73
+ # Multiple configuration sources supported
74
+ configure_exchanges(
75
+ config_dict=EXCHANGE_OVERRIDES, # From Django/FastAPI settings
76
+ config_file="/path/to/overrides.json", # From file
77
+ override_dir="/config/overrides/", # From directory
78
+ load_env=True, # From environment variables
79
+ env_prefix="EXCHANGE_CONFIG_" # Custom env prefix
80
+ )
81
+ ```
82
+
83
+ **Configuration Sources:**
84
+
85
+ 1. **Dictionary (Django/FastAPI settings):**
86
+ ```python
87
+ EXCHANGE_OVERRIDES = {
88
+ "exchanges": {
89
+ "binance": {
90
+ "add_currencies": ["CUSTOM_TOKEN"],
91
+ "remove_currencies": ["OLD_TOKEN"],
92
+ "add_fiat_currencies": ["GBP"]
93
+ }
94
+ },
95
+ "global": {
96
+ "add_currencies": ["PLATFORM_TOKEN", "UNIVERSAL_COIN"],
97
+ "add_fiat_currencies": ["GBP", "CAD"]
98
+ }
99
+ }
100
+ ```
101
+
102
+ 2. **Environment Variables:**
103
+ ```bash
104
+ EXCHANGE_CONFIG_BINANCE_ADD_CURRENCIES=CUSTOM_TOKEN,COMPANY_COIN
105
+ EXCHANGE_CONFIG_GLOBAL_ADD_CURRENCIES=PLATFORM_TOKEN,UNIVERSAL_COIN
106
+ EXCHANGE_CONFIG_GLOBAL_ADD_FIAT_CURRENCIES=GBP,CAD
107
+ ```
108
+
109
+ 3. **JSON Configuration File:**
110
+ ```json
111
+ {
112
+ "exchanges": {
113
+ "binance": {
114
+ "add_currencies": ["CUSTOM_TOKEN"],
115
+ "set_api_base_url": "https://api.custom.com"
116
+ }
117
+ }
118
+ }
119
+ ```
120
+
121
+ ### Configuration Operations
122
+
123
+ The library provides a complete, consistent API for both exchange-specific and global configurations. All operations support both single values and lists, and there are `add_` operations available for all core configuration fields:
124
+
125
+ **Currency Operations:**
126
+ - `add_currencies` - Add cryptocurrencies (supports both single values and lists)
127
+ - `add_fiat_currencies` - Add fiat currencies (supports both single values and lists)
128
+ - `remove_currencies` - Remove currencies (supports both single values and lists)
129
+
130
+ **Network Operations:**
131
+ - `add_currency_networks` - Add network mappings for currencies
132
+ - `add_networks` - Add networks to the networks dictionary (format: {"NETWORK_NAME": "network_value"})
133
+ - `add_currency_and_network_to_alias_map` - Add currency-network to alias mappings
134
+
135
+ **Field Operations:**
136
+ - `set_*` - Set any configuration field directly (e.g., `set_api_timeout`, `set_custom_field`)
137
+
138
+ **Supported Override Fields:**
139
+ - `available_currencies` - List of available cryptocurrencies
140
+ - `available_fiat_currencies` - List of available fiat currencies
141
+ - `currencies_to_networks` - Currency to networks mapping
142
+ - `networks` - Available networks
143
+ - `currency_and_network_to_alias_map` - Currency-network to alias mapping
144
+
145
+ **Usage Examples:**
146
+ ```python
147
+ # Exchange-specific configuration
148
+ "binance": {
149
+ "add_currencies": ["TOKEN1", "TOKEN2"], # Multiple currencies
150
+ "add_fiat_currencies": "GBP", # Single currency (string)
151
+ "remove_currencies": ["OLD_TOKEN"], # Remove multiple
152
+ "add_currency_networks": { # Add network mappings
153
+ "BTC": ["LIGHTNING"],
154
+ "ETH": ["ARBITRUM"]
155
+ },
156
+ "add_networks": {"POLYGON": "polygon", "BSC": "bsc"}, # Add available networks
157
+ "add_currency_and_network_to_alias_map": { # Add alias mappings
158
+ "BTC-LIGHTNING": "BTC_LN",
159
+ "ETH-ARBITRUM": "ETH_ARB"
160
+ }
161
+ }
162
+
163
+ # Global configuration (applies to all exchanges)
164
+ "global": {
165
+ "add_currencies": ["PLATFORM_TOKEN", "GLOBAL_COIN"], # Multiple currencies
166
+ "add_fiat_currencies": ["EUR", "JPY"], # Multiple fiat currencies
167
+ "remove_currencies": "DEPRECATED_TOKEN", # Single removal (string)
168
+ "add_networks": {"SOLANA": "solana"} # Add network globally
169
+ }
170
+ ```
171
+
172
+ ## Development
173
+
174
+ ### Code Organization
175
+
176
+ The library has a clean, focused structure:
177
+
178
+ - **`overrides/`**: Configuration override management with clear separation of concerns:
179
+ - `__init__.py`: Public API (`configure_exchanges`, `apply_startup_configuration`) and module functions
180
+ - `settings_parser.py`: `ExchangeOverridesConfigSettings` class for loading override configuration from various sources
181
+ - `applicator.py`: `ConfigurationApplicator` class for applying overrides to exchange configurations
182
+ - **`exchanges/`**: Exchange-specific classes with specialized functionality
183
+ - **`manager.py`**: High-level manager for working with multiple exchanges
184
+ - **`__init__.py`**: Main package exports for public API
185
+
186
+ This structure provides a clean, organized codebase with clear separation of concerns.
@@ -0,0 +1,161 @@
1
+ # Shared Exchange Configuration Library
2
+
3
+ A Python library for managing cryptocurrency exchange configurations, providing clean access to exchange data and configuration override capabilities.
4
+
5
+ ## Features
6
+
7
+ - **Load and manage multiple exchange configurations** from JSON files
8
+ - **Clean Python API** for accessing currency, network, and exchange-specific data
9
+ - **Configuration override system** for testing and customization
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ # Install from source (no external dependencies needed)
15
+ pip install -e .
16
+
17
+ # Requirements: Python 3.10+
18
+ ```
19
+
20
+ ## Quick Start
21
+
22
+ ### Basic Usage (with default configurations)
23
+
24
+ ```python
25
+ from exchange_config import ExchangeConfigManager
26
+
27
+ # Initialize the manager (loads default JSON configs)
28
+ manager = ExchangeConfigManager()
29
+
30
+ # Access exchange configurations
31
+ binance = manager.get_exchange('binance')
32
+ print(f"Binance supports {len(binance.available_currencies))} currencies")
33
+ ```
34
+
35
+ ### Production Usage (with startup configuration)
36
+
37
+ Check examples/ folder for more detailed usage
38
+
39
+ ## Configuration Management
40
+
41
+ ### Startup Configuration (Recommended for Production)
42
+
43
+ For Django/FastAPI applications, configure overrides once at startup:
44
+
45
+ ```python
46
+ from exchange_config import configure_exchanges
47
+
48
+ # Multiple configuration sources supported
49
+ configure_exchanges(
50
+ config_dict=EXCHANGE_OVERRIDES, # From Django/FastAPI settings
51
+ config_file="/path/to/overrides.json", # From file
52
+ override_dir="/config/overrides/", # From directory
53
+ load_env=True, # From environment variables
54
+ env_prefix="EXCHANGE_CONFIG_" # Custom env prefix
55
+ )
56
+ ```
57
+
58
+ **Configuration Sources:**
59
+
60
+ 1. **Dictionary (Django/FastAPI settings):**
61
+ ```python
62
+ EXCHANGE_OVERRIDES = {
63
+ "exchanges": {
64
+ "binance": {
65
+ "add_currencies": ["CUSTOM_TOKEN"],
66
+ "remove_currencies": ["OLD_TOKEN"],
67
+ "add_fiat_currencies": ["GBP"]
68
+ }
69
+ },
70
+ "global": {
71
+ "add_currencies": ["PLATFORM_TOKEN", "UNIVERSAL_COIN"],
72
+ "add_fiat_currencies": ["GBP", "CAD"]
73
+ }
74
+ }
75
+ ```
76
+
77
+ 2. **Environment Variables:**
78
+ ```bash
79
+ EXCHANGE_CONFIG_BINANCE_ADD_CURRENCIES=CUSTOM_TOKEN,COMPANY_COIN
80
+ EXCHANGE_CONFIG_GLOBAL_ADD_CURRENCIES=PLATFORM_TOKEN,UNIVERSAL_COIN
81
+ EXCHANGE_CONFIG_GLOBAL_ADD_FIAT_CURRENCIES=GBP,CAD
82
+ ```
83
+
84
+ 3. **JSON Configuration File:**
85
+ ```json
86
+ {
87
+ "exchanges": {
88
+ "binance": {
89
+ "add_currencies": ["CUSTOM_TOKEN"],
90
+ "set_api_base_url": "https://api.custom.com"
91
+ }
92
+ }
93
+ }
94
+ ```
95
+
96
+ ### Configuration Operations
97
+
98
+ The library provides a complete, consistent API for both exchange-specific and global configurations. All operations support both single values and lists, and there are `add_` operations available for all core configuration fields:
99
+
100
+ **Currency Operations:**
101
+ - `add_currencies` - Add cryptocurrencies (supports both single values and lists)
102
+ - `add_fiat_currencies` - Add fiat currencies (supports both single values and lists)
103
+ - `remove_currencies` - Remove currencies (supports both single values and lists)
104
+
105
+ **Network Operations:**
106
+ - `add_currency_networks` - Add network mappings for currencies
107
+ - `add_networks` - Add networks to the networks dictionary (format: {"NETWORK_NAME": "network_value"})
108
+ - `add_currency_and_network_to_alias_map` - Add currency-network to alias mappings
109
+
110
+ **Field Operations:**
111
+ - `set_*` - Set any configuration field directly (e.g., `set_api_timeout`, `set_custom_field`)
112
+
113
+ **Supported Override Fields:**
114
+ - `available_currencies` - List of available cryptocurrencies
115
+ - `available_fiat_currencies` - List of available fiat currencies
116
+ - `currencies_to_networks` - Currency to networks mapping
117
+ - `networks` - Available networks
118
+ - `currency_and_network_to_alias_map` - Currency-network to alias mapping
119
+
120
+ **Usage Examples:**
121
+ ```python
122
+ # Exchange-specific configuration
123
+ "binance": {
124
+ "add_currencies": ["TOKEN1", "TOKEN2"], # Multiple currencies
125
+ "add_fiat_currencies": "GBP", # Single currency (string)
126
+ "remove_currencies": ["OLD_TOKEN"], # Remove multiple
127
+ "add_currency_networks": { # Add network mappings
128
+ "BTC": ["LIGHTNING"],
129
+ "ETH": ["ARBITRUM"]
130
+ },
131
+ "add_networks": {"POLYGON": "polygon", "BSC": "bsc"}, # Add available networks
132
+ "add_currency_and_network_to_alias_map": { # Add alias mappings
133
+ "BTC-LIGHTNING": "BTC_LN",
134
+ "ETH-ARBITRUM": "ETH_ARB"
135
+ }
136
+ }
137
+
138
+ # Global configuration (applies to all exchanges)
139
+ "global": {
140
+ "add_currencies": ["PLATFORM_TOKEN", "GLOBAL_COIN"], # Multiple currencies
141
+ "add_fiat_currencies": ["EUR", "JPY"], # Multiple fiat currencies
142
+ "remove_currencies": "DEPRECATED_TOKEN", # Single removal (string)
143
+ "add_networks": {"SOLANA": "solana"} # Add network globally
144
+ }
145
+ ```
146
+
147
+ ## Development
148
+
149
+ ### Code Organization
150
+
151
+ The library has a clean, focused structure:
152
+
153
+ - **`overrides/`**: Configuration override management with clear separation of concerns:
154
+ - `__init__.py`: Public API (`configure_exchanges`, `apply_startup_configuration`) and module functions
155
+ - `settings_parser.py`: `ExchangeOverridesConfigSettings` class for loading override configuration from various sources
156
+ - `applicator.py`: `ConfigurationApplicator` class for applying overrides to exchange configurations
157
+ - **`exchanges/`**: Exchange-specific classes with specialized functionality
158
+ - **`manager.py`**: High-level manager for working with multiple exchanges
159
+ - **`__init__.py`**: Main package exports for public API
160
+
161
+ This structure provides a clean, organized codebase with clear separation of concerns.
@@ -0,0 +1,25 @@
1
+ """
2
+ Shared Exchange Configuration Library
3
+
4
+ A Python library for managing cryptocurrency exchange configurations,
5
+ providing clean access to exchange data and startup configuration capabilities.
6
+ """
7
+
8
+ from .manager import ExchangeConfigManager
9
+ from .overrides import configure_exchanges
10
+ from .exceptions import (
11
+ ExchangeConfigError,
12
+ ExchangeNotFoundError,
13
+ CurrencyNotFoundError,
14
+ ValidationError
15
+ )
16
+
17
+ __version__ = "1.0.0"
18
+ __all__ = [
19
+ "ExchangeConfigManager",
20
+ "configure_exchanges",
21
+ "ExchangeConfigError",
22
+ "ExchangeNotFoundError",
23
+ "CurrencyNotFoundError",
24
+ "ValidationError"
25
+ ]
@@ -0,0 +1,229 @@
1
+ {
2
+ "available_currencies": [
3
+ "BTC",
4
+ "ETH",
5
+ "USDT",
6
+ "USDC",
7
+ "AAVE",
8
+ "ALGO",
9
+ "AVAX",
10
+ "AXS",
11
+ "BAT",
12
+ "COMP",
13
+ "DAI",
14
+ "DCR",
15
+ "FET",
16
+ "FIL",
17
+ "FTM",
18
+ "FTT",
19
+ "GRT",
20
+ "ICP",
21
+ "MKR",
22
+ "OMG",
23
+ "SNX",
24
+ "SUSHI",
25
+ "UNI",
26
+ "XTZ",
27
+ "ZRX",
28
+ "CVX",
29
+ "STORJ",
30
+ "SHIB",
31
+ "SAND",
32
+ "REP",
33
+ "REN",
34
+ "ONT",
35
+ "MATIC",
36
+ "POL",
37
+ "MANA",
38
+ "LINK",
39
+ "DYDX",
40
+ "CRV",
41
+ "ATOM",
42
+ "ADA",
43
+ "LTC",
44
+ "DOGE",
45
+ "SOL",
46
+ "XMR",
47
+ "DOT",
48
+ "DASH",
49
+ "ETC",
50
+ "NEO",
51
+ "IOTA",
52
+ "ZEC",
53
+ "BUSD",
54
+ "SKL",
55
+ "AMP",
56
+ "IMX",
57
+ "UMA",
58
+ "OP",
59
+ "FLOW",
60
+ "EGLD",
61
+ "GMX",
62
+ "CHZ",
63
+ "TRX",
64
+ "TON",
65
+ "WBTC"
66
+ ],
67
+ "available_fiat_currencies": ["EUR"],
68
+ "wallet_type_to_currencies": {
69
+ "usdm-futures": [
70
+ "ETH",
71
+ "USDT",
72
+ "BTC",
73
+ "ADA",
74
+ "ALGO",
75
+ "AVAX",
76
+ "AXS",
77
+ "BAT",
78
+ "BUSD",
79
+ "COMP",
80
+ "DOGE",
81
+ "DOT",
82
+ "FTM",
83
+ "FTT",
84
+ "GRT",
85
+ "ICP",
86
+ "LINK",
87
+ "OP",
88
+ "SKL",
89
+ "SOL",
90
+ "STORJ",
91
+ "TRX",
92
+ "USDC"
93
+ ],
94
+ "coinm-futures": [
95
+ "ETH",
96
+ "BTC",
97
+ "USDT",
98
+ "AAVE",
99
+ "ADA",
100
+ "ALGO",
101
+ "ATOM",
102
+ "AVAX",
103
+ "AXS",
104
+ "BAT",
105
+ "COMP",
106
+ "CRV",
107
+ "DOGE",
108
+ "DOT",
109
+ "EGLD",
110
+ "ETC",
111
+ "FIL",
112
+ "FTM",
113
+ "FTT",
114
+ "GRT",
115
+ "ICP",
116
+ "LINK",
117
+ "LINK",
118
+ "LTC",
119
+ "MANA",
120
+ "MATIC",
121
+ "POL",
122
+ "OP",
123
+ "SAND",
124
+ "SKL",
125
+ "SOL",
126
+ "STORJ",
127
+ "TRX",
128
+ "USDC",
129
+ "XMR",
130
+ "XTZ"
131
+ ]
132
+ },
133
+ "networks": {
134
+ "BITCOIN": "BTC",
135
+ "ETHEREUM": "ETH",
136
+ "COSMOS": "ATOM",
137
+ "AVALANCHE-C-CHAIN": "AVAXC",
138
+ "DECRED": "DCR",
139
+ "FILECOIN": "FIL",
140
+ "INTERNET-COMPUTER": "ICP",
141
+ "TEZOS": "XTZ",
142
+ "ONTOLOGY": "ONT",
143
+ "CARDANO": "ADA",
144
+ "LITECOIN": "LTC",
145
+ "DOGECOIN": "DOGE",
146
+ "SOLANA": "SOL",
147
+ "MONERO": "XMR",
148
+ "POLKADOT": "DOT",
149
+ "DASH": "DASH",
150
+ "ETHEREUM-CLASSIC": "ETC",
151
+ "NEO-N3": "NEO3",
152
+ "MIOTA": "IOTA",
153
+ "ZCASH": "ZEC",
154
+ "OPTIMISM": "OPTIMISM",
155
+ "FLOW": "FLOW",
156
+ "EGLD": "EGLD",
157
+ "ARBITRUM": "ARBITRUM",
158
+ "ALGORAND": "ALGO",
159
+ "TRON": "TRX",
160
+ "TON": "TON",
161
+ "POLYGON": "MATIC"
162
+ },
163
+ "currencies_to_networks": {
164
+ "BTC": ["BITCOIN"],
165
+ "ETH": ["ETHEREUM", "ARBITRUM"],
166
+ "USDT": ["ETHEREUM", "POLYGON", "ARBITRUM"],
167
+ "EUR": [],
168
+ "AAVE": ["ETHEREUM"],
169
+ "ALGO": ["ALGORAND"],
170
+ "ATOM": ["COSMOS"],
171
+ "AVAX": ["AVALANCHE-C-CHAIN"],
172
+ "AXS": ["ETHEREUM"],
173
+ "BAT": ["ETHEREUM"],
174
+ "COMP": ["ETHEREUM"],
175
+ "DAI": ["ETHEREUM", "POLYGON", "ARBITRUM"],
176
+ "DCR": ["DECRED"],
177
+ "FET": ["ETHEREUM"],
178
+ "FIL": ["FILECOIN"],
179
+ "FTM": ["ETHEREUM"],
180
+ "FTT": ["ETHEREUM"],
181
+ "GRT": ["ETHEREUM", "POLYGON", "ARBITRUM"],
182
+ "ICP": ["INTERNET-COMPUTER"],
183
+ "MKR": ["ETHEREUM"],
184
+ "OMG": ["ETHEREUM"],
185
+ "SNX": ["ETHEREUM"],
186
+ "SUSHI": ["ETHEREUM"],
187
+ "USDC": ["ETHEREUM", "POLYGON", "ARBITRUM"],
188
+ "UNI": ["ETHEREUM"],
189
+ "XTZ": ["TEZOS"],
190
+ "ZRX": ["ETHEREUM"],
191
+ "CVX": ["ETHEREUM"],
192
+ "STORJ": ["ETHEREUM"],
193
+ "SHIB": ["ETHEREUM"],
194
+ "SAND": ["ETHEREUM", "POLYGON"],
195
+ "REP": ["ETHEREUM"],
196
+ "REN": ["ETHEREUM"],
197
+ "ONT": ["ONTOLOGY"],
198
+ "MATIC": [],
199
+ "POL": ["ETHEREUM", "POLYGON"],
200
+ "MANA": ["ETHEREUM"],
201
+ "LINK": ["ETHEREUM"],
202
+ "DYDX": ["ETHEREUM"],
203
+ "CRV": ["ETHEREUM", "ARBITRUM"],
204
+ "ADA": ["CARDANO"],
205
+ "LTC": ["LITECOIN"],
206
+ "DOGE": ["DOGECOIN"],
207
+ "SOL": ["SOLANA"],
208
+ "XMR": ["MONERO"],
209
+ "DOT": ["POLKADOT"],
210
+ "DASH": ["DASH"],
211
+ "ETC": ["ETHEREUM-CLASSIC"],
212
+ "NEO": ["NEO-N3"],
213
+ "IOTA": ["MIOTA"],
214
+ "ZEC": ["ZCASH"],
215
+ "BUSD": ["ETHEREUM", "POLYGON"],
216
+ "SKL": ["ETHEREUM"],
217
+ "AMP": ["ETHEREUM"],
218
+ "IMX": ["ETHEREUM"],
219
+ "UMA": ["ETHEREUM"],
220
+ "OP": ["OPTIMISM"],
221
+ "FLOW": ["FLOW"],
222
+ "EGLD": ["EGLD"],
223
+ "GMX": ["ARBITRUM"],
224
+ "CHZ": ["ETHEREUM"],
225
+ "TRX": ["TRON"],
226
+ "TON": [],
227
+ "WBTC": ["ETHEREUM"]
228
+ }
229
+ }