async def fetch_currencies(self, params={}):
    currencies = (await self.publicGetCurrencies(params))
    result = {}
    for i in range(0, len(currencies)):
        currency = currencies[i]
        id = self.safe_string(currency, 'code')
        code = None
        if (id in self.commonCurrencies):
            code = self.commonCurrencies[id]
        else:
            code = self.safe_string(currency, 'name')
        name = self.safe_string(currency, 'fullname')
        active = self.safe_value(currency, 'active')
        limits = self.safe_value(currency, 'limits')
        deposit = self.safe_value(limits, 'deposit')
        amountPrecision = self.safe_integer(currency, 'basePrecision')
        maxDeposit = self.safe_number(deposit, 'max')
        if (maxDeposit == (- 1.0)):
            maxDeposit = None
        withdraw = self.safe_value(limits, 'withdraw')
        maxWithdraw = self.safe_number(withdraw, 'max')
        if (maxWithdraw == (- 1.0)):
            maxWithdraw = None
        result[code] = {'id': id, 'code': code, 'name': name, 'active': active, 'precision': amountPrecision, 'fee': None, 'limits': {'amount': {'min': None, 'max': None}, 'deposit': {'min': self.safe_number(deposit, 'min'), 'max': maxDeposit}, 'withdraw': {'min': self.safe_number(withdraw, 'min'), 'max': maxWithdraw}}, 'info': currency}
    return result
async def fetch_currencies(self, params={}):
    currencies = (await self.publicGetCurrencies(params))
    result = {}
    for i in range(0, len(currencies)):
        currency = currencies[i]
        id = self.safe_string(currency, 'code')
        code = None
        if (id in self.commonCurrencies):
            code = self.commonCurrencies[id]
        else:
            code = self.safe_string(currency, 'name')
        name = self.safe_string(currency, 'fullname')
        active = self.safe_value(currency, 'active')
        limits = self.safe_value(currency, 'limits')
        deposit = self.safe_value(limits, 'deposit')
        amountPrecision = self.safe_integer(currency, 'basePrecision')
        maxDeposit = self.safe_number(deposit, 'max')
        if (maxDeposit == (- 1.0)):
            maxDeposit = None
        withdraw = self.safe_value(limits, 'withdraw')
        maxWithdraw = self.safe_number(withdraw, 'max')
        if (maxWithdraw == (- 1.0)):
            maxWithdraw = None
        result[code] = {'id': id, 'code': code, 'name': name, 'active': active, 'precision': amountPrecision, 'fee': None, 'limits': {'amount': {'min': None, 'max': None}, 'deposit': {'min': self.safe_number(deposit, 'min'), 'max': maxDeposit}, 'withdraw': {'min': self.safe_number(withdraw, 'min'), 'max': maxWithdraw}}, 'info': currency}
    return result