async def fetch_order(self, id, symbol=None, params={}):
    if ((not ('userid' in params)) and (self.apiKey is None)):
        raise ArgumentsRequired('fetchOrder() requires self.apiKey or userid argument')
    (await self.load_markets())
    request = {'userid': self.apiKey}
    market = None
    if (symbol is not None):
        market = self.markets[symbol]
        request['symbol'] = market['id']
    request['id'] = id
    response = (await self.publicGetOrders(self.extend(request, params)))
    return self.parse_order(response, market)
async def fetch_order(self, id, symbol=None, params={}):
    if ((not ('userid' in params)) and (self.apiKey is None)):
        raise ArgumentsRequired('fetchOrder() requires self.apiKey or userid argument')
    (await self.load_markets())
    request = {'userid': self.apiKey}
    market = None
    if (symbol is not None):
        market = self.markets[symbol]
        request['symbol'] = market['id']
    request['id'] = id
    response = (await self.publicGetOrders(self.extend(request, params)))
    return self.parse_order(response, market)