All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.knowm.xchange.taurus.TaurusAuthenticated Maven / Gradle / Ivy

The newest version!
package org.knowm.xchange.taurus;

import java.io.IOException;
import java.math.BigDecimal;
import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.knowm.xchange.service.trade.params.TradeHistoryParamsSorted;
import org.knowm.xchange.taurus.dto.TaurusException;
import org.knowm.xchange.taurus.dto.account.TaurusBalance;
import org.knowm.xchange.taurus.dto.trade.TaurusOrder;
import org.knowm.xchange.taurus.dto.trade.TaurusUserTransaction;
import si.mazi.rescu.ParamsDigest;
import si.mazi.rescu.SynchronizedValueFactory;

@Path("/")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public interface TaurusAuthenticated extends Taurus {

  @POST
  @Path("open_orders/")
  TaurusOrder[] getOpenOrders(
      @FormParam("key") String apiKey,
      @FormParam("signature") ParamsDigest signer,
      @FormParam("nonce") SynchronizedValueFactory nonce)
      throws TaurusException, IOException;

  @POST
  @Path("buy/")
  TaurusOrder buy(
      @FormParam("key") String apiKey,
      @FormParam("signature") ParamsDigest signer,
      @FormParam("nonce") SynchronizedValueFactory nonce,
      @FormParam("amount") BigDecimal amount,
      @FormParam("price") BigDecimal price)
      throws TaurusException, IOException;

  @POST
  @Path("sell/")
  TaurusOrder sell(
      @FormParam("key") String apiKey,
      @FormParam("signature") ParamsDigest signer,
      @FormParam("nonce") SynchronizedValueFactory nonce,
      @FormParam("amount") BigDecimal amount,
      @FormParam("price") BigDecimal price)
      throws TaurusException, IOException;

  // todo: market order

  /** @return true if order has been canceled. */
  @POST
  @Path("cancel_order/")
  boolean cancelOrder(
      @FormParam("key") String apiKey,
      @FormParam("signature") ParamsDigest signer,
      @FormParam("nonce") SynchronizedValueFactory nonce,
      @FormParam("id") String orderId)
      throws TaurusException, IOException;

  @POST
  @Path("balance/")
  TaurusBalance getBalance(
      @FormParam("key") String apiKey,
      @FormParam("signature") ParamsDigest signer,
      @FormParam("nonce") SynchronizedValueFactory nonce)
      throws TaurusException, IOException;

  @POST
  @Path("user_transactions/")
  TaurusUserTransaction[] getUserTransactions(
      @FormParam("key") String apiKey,
      @FormParam("signature") ParamsDigest signer,
      @FormParam("nonce") SynchronizedValueFactory nonce,
      @FormParam("limit") Integer limit,
      @FormParam("offset") Integer offset,
      @FormParam("sort") TradeHistoryParamsSorted.Order sort)
      throws TaurusException, IOException;

  @POST
  @Path("bitcoin_deposit_address/")
  String getBitcoinDepositAddress(
      @FormParam("key") String apiKey,
      @FormParam("signature") ParamsDigest signer,
      @FormParam("nonce") SynchronizedValueFactory nonce)
      throws TaurusException, IOException;

  @POST
  @Path("bitcoin_withdrawal/")
  String withdrawBitcoin(
      @FormParam("key") String apiKey,
      @FormParam("signature") ParamsDigest signer,
      @FormParam("nonce") SynchronizedValueFactory nonce,
      @FormParam("amount") BigDecimal amount,
      @FormParam("address") String address)
      throws TaurusException, IOException;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy