Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.knowm.xchange.therock.service.TheRockTradeServiceRaw Maven / Gradle / Ivy
package org.knowm.xchange.therock.service;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.Date;
import org.knowm.xchange.Exchange;
import org.knowm.xchange.ExchangeSpecification;
import org.knowm.xchange.currency.CurrencyPair;
import org.knowm.xchange.exceptions.ExchangeException;
import org.knowm.xchange.therock.TheRock;
import org.knowm.xchange.therock.TheRockAuthenticated;
import org.knowm.xchange.therock.dto.TheRockException;
import org.knowm.xchange.therock.dto.trade.TheRockOrder;
import org.knowm.xchange.therock.dto.trade.TheRockOrders;
import org.knowm.xchange.therock.dto.trade.TheRockTransaction;
import org.knowm.xchange.therock.dto.trade.TheRockUserTrades;
import si.mazi.rescu.RestProxyFactory;
public class TheRockTradeServiceRaw extends TheRockBaseService {
private final TheRockAuthenticated theRockAuthenticated;
private final TheRockDigest signatureCreator;
public TheRockTradeServiceRaw(Exchange exchange) {
super(exchange);
final ExchangeSpecification spec = exchange.getExchangeSpecification();
this.theRockAuthenticated =
RestProxyFactory.createProxy(
TheRockAuthenticated.class, spec.getSslUri(), getClientConfig());
this.signatureCreator = new TheRockDigest(spec.getSecretKey());
}
public TheRockOrder placeTheRockOrder(
CurrencyPair currencyPair,
BigDecimal amount,
BigDecimal price,
TheRockOrder.Side side,
TheRockOrder.Type type)
throws ExchangeException, IOException {
return placeTheRockOrder(
currencyPair, new TheRockOrder(new TheRock.Pair(currencyPair), side, type, amount, price));
}
public TheRockOrder placeTheRockOrder(CurrencyPair currencyPair, TheRockOrder order)
throws ExchangeException, IOException {
try {
return theRockAuthenticated.placeOrder(
new TheRock.Pair(currencyPair),
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
exchange.getNonceFactory(),
order);
} catch (TheRockException e) {
throw new ExchangeException(e);
}
}
public TheRockOrder cancelTheRockOrder(CurrencyPair currencyPair, Long orderId)
throws TheRockException, IOException {
try {
return theRockAuthenticated.cancelOrder(
new TheRock.Pair(currencyPair),
orderId,
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
exchange.getNonceFactory());
} catch (TheRockException e) {
throw new ExchangeException(e);
}
}
public TheRockOrders getTheRockOrders(CurrencyPair currencyPair)
throws TheRockException, IOException {
try {
return theRockAuthenticated.orders(
new TheRock.Pair(currencyPair),
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
exchange.getNonceFactory());
} catch (TheRockException e) {
throw new ExchangeException(e);
}
}
public TheRockOrders getTheRockOrders(
CurrencyPair currencyPair,
Date after,
Date before,
String status,
TheRockOrder.Side side,
Long positionId,
int page)
throws TheRockException, IOException {
try {
return theRockAuthenticated.orders(
new TheRock.Pair(currencyPair),
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
exchange.getNonceFactory(),
after,
before,
status,
side,
positionId,
page);
} catch (TheRockException e) {
throw new ExchangeException(e);
}
}
public TheRockOrder showTheRockOrder(CurrencyPair currencyPair, Long orderId)
throws TheRockException, IOException {
try {
return theRockAuthenticated.showOrder(
new TheRock.Pair(currencyPair),
orderId,
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
exchange.getNonceFactory());
} catch (TheRockException e) {
throw new ExchangeException(e);
}
}
public TheRockUserTrades getTheRockUserTrades(
CurrencyPair currencyPair, Long sinceTradeId, Date after, Date before, int pageSize, int page)
throws IOException {
try {
return theRockAuthenticated.trades(
new TheRock.Pair(currencyPair),
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
exchange.getNonceFactory(),
sinceTradeId,
after,
before,
pageSize,
page);
} catch (Throwable e) {
throw new ExchangeException(e);
}
}
public TheRockTransaction[] getTheRockTransactions(String type, Date after, Date before)
throws IOException {
try {
return theRockAuthenticated
.transactions(
exchange.getExchangeSpecification().getApiKey(),
signatureCreator,
exchange.getNonceFactory(),
type,
after,
before,
null,
0)
.getTransactions();
} catch (Throwable e) {
throw new ExchangeException(e);
}
}
}