class PaymiumAccountService extends PaymiumAccountServiceRaw implements AccountService {

  /**
   * Constructor
   *
   * @param exchange
   */
  public PaymiumAccountService(Exchange exchange) {
    super(exchange);
  }

  @Override
  public TradeHistoryParams createFundingHistoryParams() {
    return new PaymiumHistoryParams();
  }

  @Override
  public AccountInfo getAccountInfo() throws IOException {
    return new AccountInfo(PaymiumAdapters.adaptWallet(getPaymiumBalances()));
  }

  @Override
  public List<FundingRecord> getFundingHistory(TradeHistoryParams params) throws IOException {<FILL_FUNCTION_BODY>}
}


    List<FundingRecord> res = new ArrayList<>();

    Long offset = null;
    Integer limit = null;

    if (params instanceof TradeHistoryParamOffset) {
      final TradeHistoryParamOffset historyParamOffset = (TradeHistoryParamOffset) params;
      offset = historyParamOffset.getOffset();
    }

    if (params instanceof TradeHistoryParamLimit) {
      final TradeHistoryParamLimit historyParamLimit = (TradeHistoryParamLimit) params;
      limit = historyParamLimit.getLimit();
    }

    List<PaymiumOrder> orders = getPaymiumFundingOrders(offset, limit);

    for (PaymiumOrder order : orders) {

      FundingRecord.Type funding = null;

      switch (order.getType()) {
        case "WireDeposit":
        case "BitcoinDeposit":
          funding = funding.DEPOSIT;
          break;
        case "Transfer":
          funding = funding.WITHDRAWAL;
          break;
      }

      res.add(
          new FundingRecord(
              order.getBitcoinAddress(),
              order.getUpdatedAt(),
              Currency.getInstance(order.getCurrency()),
              order.getAmount(),
              String.valueOf(order.getUuid()),
              order.getUuid(),
              funding,
              FundingRecord.Status.COMPLETE,
              null,
              null,
              null));
    }

    return res;
  
<methods>public void <init>(org.knowm.xchange.Exchange) ,public org.knowm.xchange.paymium.dto.account.PaymiumBalance getPaymiumBalances() throws java.io.IOException,public List<org.knowm.xchange.paymium.dto.account.PaymiumOrder> getPaymiumFundingOrders(java.lang.Long, java.lang.Integer) throws java.io.IOException<variables>protected org.knowm.xchange.paymium.PaymiumAuthenticated paymiumAuthenticated