Fix Bitfinex compatibility with XChange 4.2.1
This commit is contained in:
parent
e8907bf50d
commit
947e2629bd
|
@ -40,9 +40,10 @@ import org.knowm.xchange.dto.trade.OpenOrders;
|
|||
import org.knowm.xchange.exceptions.ExchangeException;
|
||||
import org.knowm.xchange.exceptions.NotAvailableFromExchangeException;
|
||||
import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException;
|
||||
import org.knowm.xchange.service.polling.account.PollingAccountService;
|
||||
import org.knowm.xchange.service.polling.marketdata.PollingMarketDataService;
|
||||
import org.knowm.xchange.service.polling.trade.PollingTradeService;
|
||||
|
||||
import org.knowm.xchange.service.account.AccountService;
|
||||
import org.knowm.xchange.service.marketdata.MarketDataService;
|
||||
import org.knowm.xchange.service.trade.TradeService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -115,7 +116,7 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
String fiatCurrency = keyParts[1];
|
||||
|
||||
try {
|
||||
return exchange.getPollingMarketDataService()
|
||||
return exchange.getMarketDataService()
|
||||
.getTicker(new CurrencyPair(translateCryptoCurrencySymbolToExchangeSpecificSymbol(cryptoCurrency), fiatCurrency))
|
||||
.getLast();
|
||||
} catch (ExchangeException e) {
|
||||
|
@ -158,7 +159,7 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
return BigDecimal.ZERO;
|
||||
}
|
||||
try {
|
||||
BigDecimal balance = exchange.getPollingAccountService()
|
||||
BigDecimal balance = exchange.getAccountService()
|
||||
.getAccountInfo()
|
||||
.getWallet(translateCryptoCurrencySymbolToExchangeSpecificSymbol(cryptoCurrency))
|
||||
.getBalance(Currency.getInstance(cryptoCurrency)).getAvailable();
|
||||
|
@ -177,7 +178,7 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
return BigDecimal.ZERO;
|
||||
}
|
||||
try {
|
||||
BigDecimal balance = exchange.getPollingAccountService()
|
||||
BigDecimal balance = exchange.getAccountService()
|
||||
.getAccountInfo()
|
||||
.getWallet(fiatCurrency)
|
||||
.getBalance(Currency.getInstance(fiatCurrency)).getAvailable();
|
||||
|
@ -197,7 +198,7 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
|
||||
log.info("{} exchange withdrawing {} {} to {}", name, amount, cryptoCurrency, destinationAddress);
|
||||
|
||||
PollingAccountService accountService = exchange.getPollingAccountService();
|
||||
AccountService accountService = exchange.getAccountService();
|
||||
try {
|
||||
String result = accountService.withdrawFunds(Currency.getInstance(translateCryptoCurrencySymbolToExchangeSpecificSymbol(cryptoCurrency)), amount, destinationAddress);
|
||||
if (isWithdrawSuccessful(result)) {
|
||||
|
@ -223,9 +224,9 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
return null;
|
||||
}
|
||||
|
||||
PollingAccountService accountService = exchange.getPollingAccountService();
|
||||
PollingMarketDataService marketService = exchange.getPollingMarketDataService();
|
||||
PollingTradeService tradeService = exchange.getPollingTradeService();
|
||||
AccountService accountService = exchange.getAccountService();
|
||||
MarketDataService marketService = exchange.getMarketDataService();
|
||||
TradeService tradeService = exchange.getTradeService();
|
||||
|
||||
try {
|
||||
log.debug("AccountInfo as String: {}", accountService.getAccountInfo());
|
||||
|
@ -307,7 +308,7 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
return null;
|
||||
}
|
||||
|
||||
PollingAccountService accountService = exchange.getPollingAccountService();
|
||||
AccountService accountService = exchange.getAccountService();
|
||||
try {
|
||||
return accountService.requestDepositAddress(Currency.getInstance(translateCryptoCurrencySymbolToExchangeSpecificSymbol(cryptoCurrency)));
|
||||
} catch (IOException e) {
|
||||
|
@ -331,8 +332,8 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
}
|
||||
|
||||
log.info("Calling {} exchange (sell {} {})", name, cryptoAmount, cryptoCurrency);
|
||||
PollingAccountService accountService = exchange.getPollingAccountService();
|
||||
PollingTradeService tradeService = exchange.getPollingTradeService();
|
||||
AccountService accountService = exchange.getAccountService();
|
||||
TradeService tradeService = exchange.getTradeService();
|
||||
|
||||
try {
|
||||
log.debug("AccountInfo as String: {}", accountService.getAccountInfo());
|
||||
|
@ -431,7 +432,7 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
}
|
||||
|
||||
rateLimiter.acquire();
|
||||
PollingMarketDataService marketDataService = exchange.getPollingMarketDataService();
|
||||
MarketDataService marketDataService = exchange.getMarketDataService();
|
||||
try {
|
||||
CurrencyPair currencyPair = new CurrencyPair(translateCryptoCurrencySymbolToExchangeSpecificSymbol(cryptoCurrency), fiatCurrency);
|
||||
OrderBook orderBook = marketDataService.getOrderBook(currencyPair);
|
||||
|
@ -479,7 +480,7 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
}
|
||||
|
||||
rateLimiter.acquire();
|
||||
PollingMarketDataService marketDataService = exchange.getPollingMarketDataService();
|
||||
MarketDataService marketDataService = exchange.getMarketDataService();
|
||||
try {
|
||||
CurrencyPair currencyPair = new CurrencyPair(translateCryptoCurrencySymbolToExchangeSpecificSymbol(cryptoCurrency), fiatCurrency);
|
||||
|
||||
|
@ -538,9 +539,9 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
@Override
|
||||
public boolean onCreate() {
|
||||
log.debug("{} exchange purchase {} {}", name, amount, cryptoCurrency);
|
||||
PollingAccountService accountService = exchange.getPollingAccountService();
|
||||
PollingMarketDataService marketService = exchange.getPollingMarketDataService();
|
||||
PollingTradeService tradeService = exchange.getPollingTradeService();
|
||||
AccountService accountService = exchange.getAccountService();
|
||||
MarketDataService marketService = exchange.getMarketDataService();
|
||||
TradeService tradeService = exchange.getTradeService();
|
||||
|
||||
try {
|
||||
log.debug("AccountInfo as String: {}", accountService.getAccountInfo());
|
||||
|
@ -578,7 +579,7 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
result = "Skipped";
|
||||
return false;
|
||||
}
|
||||
PollingTradeService tradeService = exchange.getPollingTradeService();
|
||||
TradeService tradeService = exchange.getTradeService();
|
||||
// get open orders
|
||||
boolean orderProcessed = false;
|
||||
long checkTillTime = System.currentTimeMillis() + MAXIMUM_TIME_TO_WAIT_FOR_ORDER_TO_FINISH;
|
||||
|
@ -665,8 +666,8 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
@Override
|
||||
public boolean onCreate() {
|
||||
log.info("Calling {} exchange (sell {} {})", name, cryptoAmount, cryptoCurrency);
|
||||
PollingAccountService accountService = exchange.getPollingAccountService();
|
||||
PollingTradeService tradeService = exchange.getPollingTradeService();
|
||||
AccountService accountService = exchange.getAccountService();
|
||||
TradeService tradeService = exchange.getTradeService();
|
||||
|
||||
try {
|
||||
log.debug("AccountInfo as String: {}", accountService.getAccountInfo());
|
||||
|
@ -701,7 +702,7 @@ public abstract class XChangeExchange implements IExchangeAdvanced, IRateSourceA
|
|||
result = "Skipped";
|
||||
return false;
|
||||
}
|
||||
PollingTradeService tradeService = exchange.getPollingTradeService();
|
||||
TradeService tradeService = exchange.getTradeService();
|
||||
// get open orders
|
||||
boolean orderProcessed = false;
|
||||
long checkTillTime = System.currentTimeMillis() + MAXIMUM_TIME_TO_WAIT_FOR_ORDER_TO_FINISH;
|
||||
|
|
|
@ -37,9 +37,9 @@ import org.knowm.xchange.dto.trade.LimitOrder;
|
|||
import org.knowm.xchange.dto.trade.MarketOrder;
|
||||
import org.knowm.xchange.dto.trade.OpenOrders;
|
||||
import org.knowm.xchange.exceptions.ExchangeException;
|
||||
import org.knowm.xchange.service.polling.account.PollingAccountService;
|
||||
import org.knowm.xchange.service.polling.marketdata.PollingMarketDataService;
|
||||
import org.knowm.xchange.service.polling.trade.PollingTradeService;
|
||||
import org.knowm.xchange.service.account.AccountService;
|
||||
import org.knowm.xchange.service.marketdata.MarketDataService;
|
||||
import org.knowm.xchange.service.trade.TradeService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -121,7 +121,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
}
|
||||
|
||||
private BigDecimal getExchangeRateLastSync(String cryptoCurrency, String cashCurrency) {
|
||||
PollingMarketDataService marketDataService = getExchange().getPollingMarketDataService();
|
||||
MarketDataService marketDataService = getExchange().getMarketDataService();
|
||||
try {
|
||||
Ticker ticker = marketDataService.getTicker(new CurrencyPair(cryptoCurrency,cashCurrency));
|
||||
return ticker.getLast();
|
||||
|
@ -139,7 +139,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
log.debug("Calling Bitfinex exchange (getBalance)");
|
||||
|
||||
try {
|
||||
return getExchange().getPollingAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(cryptoCurrency)).getAvailable();
|
||||
return getExchange().getAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(cryptoCurrency)).getAvailable();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
log.error("Bitfinex exchange (getBalance) failed with message: " + e.getMessage());
|
||||
|
@ -154,7 +154,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
log.debug("Calling Bitfinex exchange (getBalance)");
|
||||
|
||||
try {
|
||||
return getExchange().getPollingAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(fiatCurrency)).getAvailable();
|
||||
return getExchange().getAccountService().getAccountInfo().getWallet().getBalance(Currency.getInstance(fiatCurrency)).getAvailable();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
log.error("Bitfinex exchange (getBalance) failed with message: " + e.getMessage());
|
||||
|
@ -170,7 +170,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
|
||||
log.info("Calling bitfinex exchange (withdrawal destination: " + destinationAddress + " amount: " + amount + " " + cryptoCurrency + ")");
|
||||
|
||||
PollingAccountService accountService = getExchange().getPollingAccountService();
|
||||
AccountService accountService = getExchange().getAccountService();
|
||||
try {
|
||||
String result = accountService.withdrawFunds(Currency.getInstance(cryptoCurrency), amount, destinationAddress);
|
||||
if (result == null) {
|
||||
|
@ -201,8 +201,8 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
}
|
||||
|
||||
log.info("Calling Bitfinex exchange (purchase " + amount + " " + cryptoCurrency + ")");
|
||||
PollingAccountService accountService = getExchange().getPollingAccountService();
|
||||
PollingTradeService tradeService = getExchange().getPollingTradeService();
|
||||
AccountService accountService = getExchange().getAccountService();
|
||||
TradeService tradeService = getExchange().getTradeService();
|
||||
|
||||
try {
|
||||
log.debug("AccountInfo as String: " + accountService.getAccountInfo().toString());
|
||||
|
@ -276,7 +276,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
log.error("Bitfinex implementation supports only " + Arrays.toString(getCryptoCurrencies().toArray()));
|
||||
return null;
|
||||
}
|
||||
PollingAccountService accountService = getExchange().getPollingAccountService();
|
||||
AccountService accountService = getExchange().getAccountService();
|
||||
try {
|
||||
return accountService.requestDepositAddress(Currency.getInstance(cryptoCurrency));
|
||||
} catch (IOException e) {
|
||||
|
@ -297,8 +297,8 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
}
|
||||
|
||||
log.info("Calling Bitfinex exchange (sell " + cryptoAmount + " " + cryptoCurrency + ")");
|
||||
PollingAccountService accountService = getExchange().getPollingAccountService();
|
||||
PollingTradeService tradeService = getExchange().getPollingTradeService();
|
||||
AccountService accountService = getExchange().getAccountService();
|
||||
TradeService tradeService = getExchange().getTradeService();
|
||||
|
||||
try {
|
||||
log.debug("AccountInfo as String: " + accountService.getAccountInfo().toString());
|
||||
|
@ -388,8 +388,8 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
@Override
|
||||
public boolean onCreate() {
|
||||
log.info("Calling Bitfinex exchange (purchase " + amount + " " + cryptoCurrency + ")");
|
||||
PollingAccountService accountService = getExchange().getPollingAccountService();
|
||||
PollingTradeService tradeService = getExchange().getPollingTradeService();
|
||||
AccountService accountService = getExchange().getAccountService();
|
||||
TradeService tradeService = getExchange().getTradeService();
|
||||
|
||||
try {
|
||||
log.debug("AccountInfo as String: " + accountService.getAccountInfo().toString());
|
||||
|
@ -424,7 +424,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
result = "Skipped";
|
||||
return false;
|
||||
}
|
||||
PollingTradeService tradeService = getExchange().getPollingTradeService();
|
||||
TradeService tradeService = getExchange().getTradeService();
|
||||
// get open orders
|
||||
boolean orderProcessed = false;
|
||||
long checkTillTime = System.currentTimeMillis() + MAXIMUM_TIME_TO_WAIT_FOR_ORDER_TO_FINISH;
|
||||
|
@ -511,8 +511,8 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
@Override
|
||||
public boolean onCreate() {
|
||||
log.info("Calling Bitfinex exchange (sell " + cryptoAmount + " " + cryptoCurrency + ")");
|
||||
PollingAccountService accountService = getExchange().getPollingAccountService();
|
||||
PollingTradeService tradeService = getExchange().getPollingTradeService();
|
||||
AccountService accountService = getExchange().getAccountService();
|
||||
TradeService tradeService = getExchange().getTradeService();
|
||||
|
||||
try {
|
||||
log.debug("AccountInfo as String: " + accountService.getAccountInfo().toString());
|
||||
|
@ -547,7 +547,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
result = "Skipped";
|
||||
return false;
|
||||
}
|
||||
PollingTradeService tradeService = getExchange().getPollingTradeService();
|
||||
TradeService tradeService = getExchange().getTradeService();
|
||||
// get open orders
|
||||
boolean orderProcessed = false;
|
||||
long checkTillTime = System.currentTimeMillis() + MAXIMUM_TIME_TO_WAIT_FOR_ORDER_TO_FINISH;
|
||||
|
@ -638,7 +638,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
@Override
|
||||
public BigDecimal calculateBuyPrice(String cryptoCurrency, String fiatCurrency, BigDecimal cryptoAmount) {
|
||||
waitForPossibleCall();
|
||||
PollingMarketDataService marketDataService = getExchange().getPollingMarketDataService();
|
||||
MarketDataService marketDataService = getExchange().getMarketDataService();
|
||||
try {
|
||||
CurrencyPair currencyPair = new CurrencyPair(cryptoCurrency, fiatCurrency);
|
||||
OrderBook orderBook = marketDataService.getOrderBook(currencyPair);
|
||||
|
@ -697,7 +697,7 @@ public class BitfinexExchange implements IExchangeAdvanced, IRateSourceAdvanced
|
|||
@Override
|
||||
public BigDecimal calculateSellPrice(String cryptoCurrency, String fiatCurrency, BigDecimal cryptoAmount) {
|
||||
waitForPossibleCall();
|
||||
PollingMarketDataService marketDataService = getExchange().getPollingMarketDataService();
|
||||
MarketDataService marketDataService = getExchange().getMarketDataService();
|
||||
try {
|
||||
CurrencyPair currencyPair = new CurrencyPair(cryptoCurrency, fiatCurrency);
|
||||
|
||||
|
|
Loading…
Reference in New Issue