async def fetch_markets(self, params={}):
    markets = (await self.publicGetSymbols(params))
    result = []
    for i in range(0, len(markets)):
        market = markets[i]
        id = self.safe_string(market, 'symbol')
        base = self.safe_string(market, 'baseName')
        quote = self.safe_string(market, 'quoteName')
        baseId = self.safe_string(market, 'base')
        quoteId = self.safe_string(market, 'quote')
        normalBase = base.split(('@' + baseId))[0]
        normalQuote = quote.split(('@' + quoteId))[0]
        if (quoteId == '126'):
            normalQuote = 'ZAR'
        normalSymbol = ((normalBase + '/') + normalQuote)
        if (baseId in self.commonCurrencies):
            base = self.commonCurrencies[baseId]
        if (quoteId in self.commonCurrencies):
            quote = self.commonCurrencies[quoteId]
        symbol = ((base + '/') + quote)
        limits = self.safe_value(market, 'limits', {})
        amount = self.safe_value(limits, 'amount', {})
        price = self.safe_value(limits, 'price', {})
        precision = self.safe_value(market, 'precision', {})
        active = self.safe_string(market, 'active')
        entry = {'id': id, 'symbol': symbol, 'base': base, 'quote': quote, 'baseId': baseId, 'quoteId': quoteId, 'info': market, 'active': active, 'precision': {'amount': self.safe_integer(precision, 'amount'), 'price': self.safe_integer(precision, 'price')}, 'normalSymbol': normalSymbol, 'limits': {'amount': {'min': self.safe_number(amount, 'min'), 'max': self.safe_number(amount, 'max')}, 'price': {'min': self.safe_number(price, 'min'), 'max': self.safe_number(price, 'max')}, 'cost': {'min': None, 'max': None}}}
        result.append(entry)
    return result
async def fetch_markets(self, params={}):
    markets = (await self.publicGetSymbols(params))
    result = []
    for i in range(0, len(markets)):
        market = markets[i]
        id = self.safe_string(market, 'symbol')
        base = self.safe_string(market, 'baseName')
        quote = self.safe_string(market, 'quoteName')
        baseId = self.safe_string(market, 'base')
        quoteId = self.safe_string(market, 'quote')
        normalBase = base.split(('@' + baseId))[0]
        normalQuote = quote.split(('@' + quoteId))[0]
        if (quoteId == '126'):
            normalQuote = 'ZAR'
        normalSymbol = ((normalBase + '/') + normalQuote)
        if (baseId in self.commonCurrencies):
            base = self.commonCurrencies[baseId]
        if (quoteId in self.commonCurrencies):
            quote = self.commonCurrencies[quoteId]
        symbol = ((base + '/') + quote)
        limits = self.safe_value(market, 'limits', {})
        amount = self.safe_value(limits, 'amount', {})
        price = self.safe_value(limits, 'price', {})
        precision = self.safe_value(market, 'precision', {})
        active = self.safe_string(market, 'active')
        entry = {'id': id, 'symbol': symbol, 'base': base, 'quote': quote, 'baseId': baseId, 'quoteId': quoteId, 'info': market, 'active': active, 'precision': {'amount': self.safe_integer(precision, 'amount'), 'price': self.safe_integer(precision, 'price')}, 'normalSymbol': normalSymbol, 'limits': {'amount': {'min': self.safe_number(amount, 'min'), 'max': self.safe_number(amount, 'max')}, 'price': {'min': self.safe_number(price, 'min'), 'max': self.safe_number(price, 'max')}, 'cost': {'min': None, 'max': None}}}
        result.append(entry)
    return result