def test_kucoin_exchange_assets_are_known(mock_kucoin): request_url = f'{mock_kucoin.base_uri}/api/v1/currencies' try: response = requests.get(request_url) except requests.exceptions.RequestException as e: raise RemoteError( f'Kucoin get request at {request_url} connection error: {str(e)}.', ) from e if response.status_code != HTTPStatus.OK: raise RemoteError( f'Kucoin query responded with error status code: {response.status_code} ' f'and text: {response.text}', ) try: response_dict = jsonloads_dict(response.text) except JSONDecodeError as e: raise RemoteError( f'Kucoin returned invalid JSON response: {response.text}') from e # Extract the unique symbols from the exchange pairs unsupported_assets = set(UNSUPPORTED_KUCOIN_ASSETS) common_items = unsupported_assets.intersection( set(WORLD_TO_KUCOIN.values())) assert not common_items, f'Kucoin assets {common_items} should not be unsupported' for entry in response_dict['data']: symbol = entry['currency'] try: asset_from_kucoin(symbol) except UnsupportedAsset: assert symbol in unsupported_assets except UnknownAsset as e: test_warnings.warn( UserWarning( f'Found unknown asset {e.asset_name} in kucoin. ' f'Support for it has to be added', ))
'AAA', 'BBB', 'TESTBTC', 'TESTBTCF0', 'TESTUSD', 'TESTUSDT', 'TESTUSDTF0', ) POLONIEX_TO_WORLD = {v: k for k, v in WORLD_TO_POLONIEX.items()} BITTREX_TO_WORLD = {v: k for k, v in WORLD_TO_BITTREX.items()} BINANCE_TO_WORLD = {v: k for k, v in WORLD_TO_BINANCE.items()} BITFINEX_TO_WORLD = {v: k for k, v in WORLD_TO_BITFINEX.items()} KRAKEN_TO_WORLD = {v: k for k, v in WORLD_TO_KRAKEN.items()} KUCOIN_TO_WORLD = {v: k for k, v, in WORLD_TO_KUCOIN.items()} ICONOMI_TO_WORLD = {v: k for k, v in WORLD_TO_ICONOMI.items()} RENAMED_BINANCE_ASSETS = { # The old BCC in binance forked into BCHABC and BCHSV # but for old trades the canonical chain is ABC (BCH in rotkehlchen) 'BCC': 'BCH', # HCash (HSR) got swapped for Hyperchash (HC) # https://support.binance.com/hc/en-us/articles/360012489731-Binance-Supports-Hcash-HSR-Mainnet-Swap-to-HyperCash-HC- 'HSR': 'HC', # Red pulse got swapped for Phoenix # https://support.binance.com/hc/en-us/articles/360012507711-Binance-Supports-Red-Pulse-RPX-Token-Swap-to-PHOENIX-PHX- 'RPX': 'PHX', } ETH_TOKENS_MOVED_TO_OWN_CHAIN = {