def test_binance_assets_are_known(inquirer): # pylint: disable=unused-argument unsupported_assets = set(UNSUPPORTED_BINANCE_ASSETS) common_items = unsupported_assets.intersection(set(WORLD_TO_BINANCE.values())) assert not common_items, f'Binance assets {common_items} should not be unsupported' exchange_data = requests.get('https://api3.binance.com/api/v3/exchangeInfo').json() binance_assets = set() for pair_symbol in exchange_data['symbols']: binance_assets.add(pair_symbol['baseAsset']) binance_assets.add(pair_symbol['quoteAsset']) sorted_assets = sorted(binance_assets) for binance_asset in sorted_assets: try: _ = asset_from_binance(binance_asset) except UnsupportedAsset: assert binance_asset in UNSUPPORTED_BINANCE_ASSETS except UnknownAsset as e: test_warnings.warn(UserWarning( f'Found unknown asset {e.asset_name} in binance. ' f'Support for it has to be added', ))
# these places: supported currencies list, supported exchange pairs list and # currency map. BITFINEX_EXCHANGE_TEST_ASSETS = ( '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',