docs: @Override
    public UserTrades getTradeHistory(TradeHistoryParams p) throws IOException {
      try {
        if (p instanceof CoingiTradeHistoryParams) {
          CoingiTradeHistoryParams params = (CoingiTradeHistoryParams) p;
  
          CoingiGetOrderHistoryRequest request = new CoingiGetOrderHistoryRequest();
  
          if (params.getCurrencyPair() != null) request.setCurrencyPair(params.getCurrencyPair());
  
          request.setPageNumber(params.getPageNumber());
          request.setPageSize(params.getPageSize());
  
          if (params.getStatus() != null) request.setStatus(params.getStatus());
  
          if (params.getType() != null) request.setType(params.getType());
  
          CoingiOrdersList orderList = getCoingiOrderHistory(request);
          return CoingiAdapters.adaptTradeHistory(orderList);
        }
  
        return null;
      } catch (CoingiException e) {
        throw CoingiErrorAdapter.adapt(e);
      }
    }