From afafd4f22d9675055262054ca7d7b49fd8c0dc09 Mon Sep 17 00:00:00 2001 From: Tim Molter Date: Fri, 1 Dec 2023 17:01:11 +0100 Subject: [PATCH] formatted using mvn com.spotify.fmt:fmt-maven-plugin:format --- .../xchange/ascendex/AscendexExchange.java | 4 +- .../org/knowm/xchange/ascendex/IAscendex.java | 6 +- .../ascendex/IAscendexAuthenticated.java | 6 +- .../org/knowm/xchange/bankera/Bankera.java | 4 +- .../xchange/bankera/BankeraAuthenticated.java | 6 +- .../java/org/knowm/xchange/bibox/Bibox.java | 10 +- .../xchange/bibox/BiboxAuthenticated.java | 6 +- .../xchange/bibox/dto/BiboxAdapters.java | 5 +- .../xchange/bibox/dto/BiboxCommands.java | 4 +- .../xchange/bibox/dto/account/BiboxCoin.java | 112 +- .../bibox/dto/marketdata/BiboxMarket.java | 132 ++- .../marketdata/BiboxOrderBookCommandBody.java | 4 +- .../bibox/dto/marketdata/BiboxTicker.java | 81 +- .../bibox/dto/trade/BiboxAccountType.java | 4 +- .../dto/trade/BiboxCancelTradeCommand.java | 4 +- .../trade/BiboxCancelTradeCommandBody.java | 4 +- .../xchange/bibox/dto/trade/BiboxDeals.java | 4 + .../xchange/bibox/dto/trade/BiboxOrder.java | 117 +- .../bibox/dto/trade/BiboxOrderBook.java | 32 +- .../bibox/dto/trade/BiboxOrderBookEntry.java | 16 +- .../dto/trade/BiboxOrderHistoryCommand.java | 4 +- .../trade/BiboxOrderPendingListCommand.java | 4 +- .../BiboxOrderPendingListCommandBody.java | 4 +- .../bibox/dto/trade/BiboxOrderSide.java | 4 +- .../bibox/dto/trade/BiboxOrderStatus.java | 4 +- .../bibox/dto/trade/BiboxOrderType.java | 4 +- .../xchange/bibox/dto/trade/BiboxOrders.java | 28 +- .../bibox/dto/trade/BiboxTradeCommand.java | 4 +- .../bibox/service/BiboxAccountService.java | 4 +- .../bibox/service/BiboxAccountServiceRaw.java | 4 +- .../xchange/bibox/service/BiboxDigest.java | 4 +- .../service/BiboxMarketDataServiceRaw.java | 4 +- .../bibox/service/BiboxTradeService.java | 4 +- .../bibox/service/BiboxTradeServiceRaw.java | 4 +- .../org/knowm/xchange/binance/Binance.java | 6 +- .../xchange/binance/BinanceAdapters.java | 293 +++-- .../xchange/binance/BinanceAuthenticated.java | 10 +- .../xchange/binance/BinanceErrorAdapter.java | 4 +- .../xchange/binance/BinanceExchange.java | 47 +- .../knowm/xchange/binance/BinanceFutures.java | 191 ++- .../binance/BinanceFuturesAuthenticated.java | 1042 ++++++++--------- .../xchange/binance/BinanceUsExchange.java | 7 +- .../account/AssetPortfolioMarginBalance.java | 22 +- .../binance/dto/account/BinanceDeposit.java | 1 + .../binance/dto/account/BinanceWithdraw.java | 1 + .../BinanceFutureAccountInformation.java | 22 +- .../dto/account/futures/BinancePosition.java | 50 +- .../dto/marketdata/BinanceBookTicker.java | 1 - .../dto/marketdata/BinanceFundingRate.java | 57 +- .../binance/dto/marketdata/BinanceKline.java | 6 +- .../dto/marketdata/BinanceTicker24h.java | 4 +- .../exchangeinfo/BinanceExchangeInfo.java | 2 - .../binance/dto/meta/exchangeinfo/Symbol.java | 1 - .../dto/trade/BinanceTradeHistoryParams.java | 5 + .../binance/dto/trade/TrailingFlag.java | 3 +- .../trade/futures/BinanceFutureNewOrder.java | 9 +- .../service/BinanceAccountService.java | 162 +-- .../service/BinanceAccountServiceRaw.java | 13 +- .../binance/service/BinanceBaseService.java | 48 +- .../binance/service/BinanceHmacDigest.java | 8 +- .../service/BinanceMarketDataService.java | 28 +- .../service/BinanceMarketDataServiceRaw.java | 49 +- .../binance/service/BinanceTradeService.java | 96 +- .../service/BinanceTradeServiceRaw.java | 492 +++++--- .../service/BinanceUsAccountService.java | 3 +- .../binance/BinanceExchangeIntegration.java | 3 +- .../xchange/binance/BinanceFutureTest.java | 216 ++-- .../binance/ExchangeMetaDataIntegration.java | 5 +- .../binance/dto/trade/TrailingFlagTest.java | 11 +- .../service/BinanceBaseServiceTest.java | 4 +- .../MarketDataServiceIntegration.java | 13 +- .../us/BinanceUsExchangeIntegration.java | 3 +- .../us/ExchangeMetaDataIntegration.java | 3 +- .../java/org/knowm/xchange/bitbay/Bitbay.java | 8 +- .../knowm/xchange/bitbay/BitbayAdapters.java | 4 +- .../xchange/bitbay/BitbayAuthenticated.java | 14 +- .../knowm/xchange/bitbay/BitbayDigest.java | 4 +- .../knowm/xchange/bitbay/BitbayExchange.java | 4 +- .../bitbay/dto/BitbayBaseResponse.java | 4 +- .../dto/acount/BitbayAccountInfoResponse.java | 4 +- .../bitbay/dto/acount/BitbayBalance.java | 4 +- .../dto/marketdata/BitbayOrderBook.java | 4 +- .../bitbay/dto/marketdata/BitbayTicker.java | 4 +- .../bitbay/dto/marketdata/BitbayTrade.java | 4 +- .../dto/trade/BitbayCancelResponse.java | 4 +- .../xchange/bitbay/dto/trade/BitbayOrder.java | 4 +- .../bitbay/dto/trade/BitbayTradeResponse.java | 4 +- .../bitbay/service/BitbayAccountService.java | 4 +- .../service/BitbayAccountServiceRaw.java | 4 +- .../service/BitbayMarketDataService.java | 4 +- .../service/BitbayMarketDataServiceRaw.java | 4 +- .../bitbay/service/BitbayTradeService.java | 4 +- .../bitbay/service/BitbayTradeServiceRaw.java | 4 +- .../xchange/bitbay/v3/BitbayAdapters.java | 4 +- .../bitbay/v3/BitbayAuthenticated.java | 10 +- .../knowm/xchange/bitbay/v3/BitbayDigest.java | 4 +- .../v3/dto/BitbayBalanceHistoryEntry.java | 2 - .../bitbay/v3/dto/BitbayBaseResponse.java | 4 +- .../bitbay/v3/dto/trade/BitbayUserTrade.java | 4 +- .../bitbay/v3/dto/trade/BitbayUserTrades.java | 4 +- .../v3/service/BitbayTradeHistoryParams.java | 4 +- .../bitbay/v3/service/BitbayTradeService.java | 4 +- .../v3/service/BitbayTradeServiceRaw.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../bitcoinaverage/BitcoinAverage.java | 8 +- .../BitcoinAverageAdapterTest.java | 2 +- .../BitcoinAverageAuthenticationTest.java | 2 +- .../marketdata/TickerFetchIntegration.java | 6 +- .../xchange/bitcoincharts/BitcoinCharts.java | 8 +- .../bitcoincharts/BitcoinChartsAdapters.java | 33 +- .../dto/marketdata/BitcoinChartsTicker.java | 4 +- .../BitcoinChartsMarketDataService.java | 4 +- .../marketdata/TickerFetchIntegration.java | 6 +- .../xchange/bitcoincore/BitcoinCore.java | 4 +- .../knowm/xchange/bitcoinde/Bitcoinde.java | 6 +- .../xchange/bitcoinde/BitcoindeAdapters.java | 4 +- .../xchange/bitcoinde/BitcoindeExchange.java | 4 +- .../dto/marketdata/BitcoindeOrderBook.java | 4 +- .../dto/marketdata/BitcoindeTrade.java | 4 +- .../service/BitcoindeAccountService.java | 4 +- .../service/BitcoindeAccountServiceRaw.java | 4 +- .../bitcoinde/service/BitcoindeDigest.java | 4 +- .../service/BitcoindeMarketDataService.java | 4 +- .../BitcoindeMarketDataServiceRaw.java | 4 +- .../service/BitcoindeTradeService.java | 4 +- .../service/BitcoindeTradeServiceRaw.java | 4 +- .../bitcoinde/trade/BitcoindeIdResponse.java | 4 +- .../bitcoinde/trade/BitcoindeMaintenance.java | 4 +- .../trade/BitcoindeMyOpenOrdersWrapper.java | 4 +- .../bitcoinde/trade/BitcoindeMyOrder.java | 4 +- .../trade/BitcoindeOrderRequirements.java | 4 +- .../bitcoinde/trade/BitcoindePage.java | 4 +- .../knowm/xchange/bitcoinde/v4/Bitcoinde.java | 6 +- .../bitcoinde/v4/service/BitcoindeDigest.java | 4 +- .../bitcoinde/BitcoindeAdapterTest.java | 4 +- .../bitcoinde/RFC3339DateTimeParseTest.java | 4 +- .../dto/account/BitcoindeAccountTest.java | 20 +- .../marketdata/BitcoindeOrderBookTest.java | 4 +- .../bitcoinde/v4/BitcoindeAdaptersTest.java | 4 +- .../BitcoindeCompactOrderbookWrapperTest.java | 4 +- .../xchange/bitcointoyou/Bitcointoyou.java | 6 +- .../BitcointoyouAuthenticated.java | 8 +- .../dto/marketdata/BitcointoyouOrderBook.java | 8 +- .../polling/BitcointoyouAccountService.java | 6 +- .../BitcointoyouBasePollingService.java | 4 +- .../polling/BitcointoyouTradeService.java | 6 +- .../BitcointoyouExchangeTest.java | 3 +- .../bitfinex/service/BitfinexAdapters.java | 43 +- .../service/BitfinexMarketDataService.java | 4 +- .../service/BitfinexMarketDataServiceRaw.java | 2 + .../knowm/xchange/bitfinex/v1/Bitfinex.java | 8 +- .../bitfinex/v1/BitfinexAuthenticated.java | 4 +- .../account/BitfinexAccountFeesResponse.java | 4 +- .../account/BitfinexTradingFeeResponse.java | 1 + .../account/BitfinexWithdrawalResponse.java | 24 +- .../knowm/xchange/bitfinex/v2/Bitfinex.java | 6 +- .../bitfinex/v2/BitfinexAuthenticated.java | 6 +- .../bitfinex/v2/BitfinexHmacSignature.java | 5 +- .../bitfinex/v2/dto/account/LedgerEntry.java | 5 + .../TransferBetweenWalletsRequest.java | 5 + .../TransferBetweenWalletsResponse.java | 9 + .../bitfinex/v2/dto/account/Wallet.java | 6 + .../v2/dto/marketdata/BitfinexCandle.java | 4 +- .../dto/marketdata/BitfinexFundingOrder.java | 7 +- .../marketdata/BitfinexFundingRawOrder.java | 3 + .../v2/dto/marketdata/BitfinexStats.java | 4 +- .../dto/marketdata/BitfinexTradingOrder.java | 6 +- .../marketdata/BitfinexTradingRawOrder.java | 2 + .../bitfinex/v2/dto/marketdata/Status.java | 12 + .../bitfinex/v2/dto/trade/ActiveOrder.java | 17 + .../bitfinex/v2/dto/trade/OrderTrade.java | 10 + .../bitfinex/v2/dto/trade/Position.java | 16 + .../xchange/bitfinex/v2/dto/trade/Trade.java | 10 + .../bitfinex/v1/BitfinexAdaptersTest.java | 14 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../org/knowm/xchange/bitflyer/Bitflyer.java | 6 +- .../service/BitflyerAccountService.java | 20 +- .../service/BitflyerTradeService.java | 6 +- .../org/knowm/xchange/bithumb/Bithumb.java | 6 +- .../xchange/bithumb/BithumbAuthenticated.java | 8 +- .../bithumb/service/BithumbDigest.java | 4 +- .../bithumb/service/BithumbDigestTest.java | 4 +- .../bitmex/AbstractHttpResponseAware.java | 4 +- .../java/org/knowm/xchange/bitmex/Bitmex.java | 8 +- .../knowm/xchange/bitmex/BitmexAdapters.java | 18 +- .../xchange/bitmex/BitmexAuthenticated.java | 10 +- .../knowm/xchange/bitmex/BitmexExchange.java | 10 +- .../xchange/bitmex/HttpResponseAwareList.java | 4 +- .../bitmex/RateLimitUpdateListener.java | 4 +- .../xchange/bitmex/dto/BitmexResult.java | 4 +- .../dto/account/BitmexMarginAccountList.java | 4 +- .../bitmex/dto/account/BitmexTickerList.java | 4 +- .../account/BitmexWalletTransactionList.java | 4 +- .../dto/marketdata/BitmexKlineList.java | 4 +- .../marketdata/BitmexPrivateOrderList.java | 4 +- .../dto/marketdata/BitmexPublicOrderList.java | 4 +- .../dto/marketdata/BitmexPublicTradeList.java | 4 +- .../dto/marketdata/BitmexPublicTrades.java | 1 + .../bitmex/dto/trade/BitmexPositionList.java | 4 +- .../xchange/bitmex/service/BitmexDigest.java | 4 +- .../bitmex/service/BitmexTradeServiceRaw.java | 1 + .../service/trade/BitmexBulkOrderTest.java | 4 +- .../service/trade/BitmexOrderReplaceTest.java | 4 +- .../java/org/knowm/xchange/bitso/Bitso.java | 8 +- .../xchange/bitso/BitsoAuthenticated.java | 14 +- .../knowm/xchange/bitso/BitsoExchange.java | 4 +- .../bitso/dto/account/BitsoBalance.java | 4 +- .../bitso/dto/marketdata/BitsoOrderBook.java | 8 +- .../bitso/dto/marketdata/BitsoTicker.java | 4 +- .../dto/marketdata/BitsoTransaction.java | 4 +- .../xchange/bitso/dto/trade/BitsoOrder.java | 5 +- .../bitso/dto/trade/BitsoUserTransaction.java | 6 +- .../bitso/service/BitsoAccountService.java | 4 +- .../xchange/bitso/service/BitsoDigest.java | 4 +- .../bitso/service/BitsoMarketDataService.java | 4 +- .../service/BitsoMarketDataServiceRaw.java | 4 +- .../bitso/service/BitsoTradeService.java | 4 +- .../bitso/service/BitsoTradeServiceRaw.java | 8 +- .../BitsoTransactionTypeDeserializer.java | 4 +- .../xchange/bitstamp/BitstampAdapters.java | 3 +- .../bitstamp/BitstampAuthenticatedV2.java | 10 +- .../xchange/bitstamp/BitstampExchange.java | 4 +- .../knowm/xchange/bitstamp/BitstampV2.java | 15 +- .../bitstamp/dto/account/BitstampBalance.java | 5 +- .../dto/marketdata/BitstampOrderBook.java | 8 +- .../dto/marketdata/BitstampPairInfo.java | 2 +- .../dto/marketdata/BitstampTicker.java | 1 - .../dto/marketdata/BitstampTransaction.java | 4 +- .../bitstamp/dto/trade/BitstampOrder.java | 5 +- .../trade/BitstampOrderCancelResponse.java | 1 + .../dto/trade/BitstampUserTransaction.java | 4 +- .../service/BitstampAccountService.java | 10 +- .../service/BitstampAccountServiceRaw.java | 4 +- .../bitstamp/service/BitstampBaseService.java | 4 +- .../bitstamp/service/BitstampDigest.java | 8 +- .../bitstamp/service/BitstampDigestV2.java | 8 +- .../service/BitstampMarketDataService.java | 4 +- .../service/BitstampMarketDataServiceRaw.java | 4 +- .../service/BitstampTradeService.java | 4 +- .../service/BitstampTradeServiceRaw.java | 4 +- .../dto/account/DepositAddressJSONTest.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../org/knowm/xchange/bittrex/Bittrex.java | 6 +- .../xchange/bittrex/BittrexAdapters.java | 24 +- .../xchange/bittrex/BittrexAuthenticated.java | 8 +- .../xchange/bittrex/BittrexErrorAdapter.java | 4 +- .../xchange/bittrex/dto/BittrexException.java | 4 +- .../service/BittrexAccountService.java | 8 +- .../bittrex/service/BittrexDigest.java | 4 +- .../bittrex/service/AccountServiceTest.java | 4 +- .../bittrex/service/BaseWiremockTest.java | 4 +- .../service/MarketDataTestIntegration.java | 4 +- .../bittrex/service/TradeServiceTest.java | 4 +- .../java/org/knowm/xchange/bity/Bity.java | 2 +- .../knowm/xchange/bity/BityAuthenticated.java | 2 +- .../java/org/knowm/xchange/bitz/BitZ.java | 6 +- .../knowm/xchange/bitz/BitZAuthenticated.java | 4 +- .../xchange/bitz/service/BitZDigest.java | 4 +- .../bitz/service/BitZTradeServiceRaw.java | 1 + .../java/org/knowm/xchange/bl3p/Bl3p.java | 4 +- .../knowm/xchange/bl3p/Bl3pAuthenticated.java | 4 +- .../knowm/xchange/bleutrade/Bleutrade.java | 4 +- .../xchange/bleutrade/BleutradeAdapters.java | 10 +- .../bleutrade/BleutradeAuthenticated.java | 10 +- .../xchange/bleutrade/BleutradeException.java | 24 +- .../dto/account/BleutradeBalance.java | 48 +- .../dto/account/BleutradeBalanceReturn.java | 24 +- .../dto/account/BleutradeBalancesReturn.java | 24 +- .../dto/account/BleutradeDepositAddress.java | 16 +- .../BleutradeDepositAddressReturn.java | 24 +- .../marketdata/BleutradeCurrenciesReturn.java | 24 +- .../dto/marketdata/BleutradeCurrency.java | 48 +- .../dto/marketdata/BleutradeLevel.java | 16 +- .../dto/marketdata/BleutradeMarket.java | 56 +- .../BleutradeMarketHistoryReturn.java | 24 +- .../marketdata/BleutradeMarketsReturn.java | 24 +- .../dto/marketdata/BleutradeOrderBook.java | 16 +- .../marketdata/BleutradeOrderBookReturn.java | 24 +- .../dto/marketdata/BleutradeTicker.java | 96 +- .../dto/marketdata/BleutradeTickerReturn.java | 24 +- .../dto/marketdata/BleutradeTrade.java | 40 +- .../dto/trade/BleutradeCancelOrderReturn.java | 24 +- .../dto/trade/BleutradeOpenOrder.java | 80 +- .../dto/trade/BleutradeOpenOrdersReturn.java | 24 +- .../bleutrade/dto/trade/BleutradeOrderId.java | 8 +- .../dto/trade/BleutradePlaceOrderReturn.java | 24 +- .../xchange/bleutrade/BleutradeAssert.java | 6 +- .../xchange/bleutrade/BleutradeTestData.java | 13 +- .../service/BleutradeDigestTest.java | 2 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../knowm/xchange/blockchain/Blockchain.java | 48 +- .../blockchain/BlockchainAdapters.java | 503 ++++---- .../blockchain/BlockchainAuthenticated.java | 318 ++--- .../blockchain/BlockchainConstants.java | 85 +- .../blockchain/BlockchainErrorAdapter.java | 8 +- .../blockchain/BlockchainExchange.java | 103 +- .../blockchain/BlockchainResilience.java | 35 +- .../blockchain/dto/BlockchainException.java | 8 +- .../account/BlockchainAccountInformation.java | 19 +- .../dto/account/BlockchainDeposit.java | 4 +- .../dto/account/BlockchainDeposits.java | 19 +- .../dto/account/BlockchainFees.java | 11 +- .../dto/account/BlockchainSymbol.java | 85 +- .../dto/account/BlockchainWithdrawal.java | 21 +- .../marketdata/BlockchainMarketDataOrder.java | 15 +- .../dto/marketdata/BlockchainOrderBook.java | 12 +- .../blockchain/dto/trade/BlockchainOrder.java | 103 +- .../BlockchainFundingHistoryParams.java | 2 +- .../params/BlockchainTradeHistoryParams.java | 12 +- .../params/BlockchainWithdrawalParams.java | 32 +- .../BlockchainCurrencyPairSerializer.java | 15 +- .../service/BlockchainAccountService.java | 269 +++-- .../service/BlockchainAccountServiceRaw.java | 125 +- .../service/BlockchainBaseService.java | 19 +- .../service/BlockchainMarketDataService.java | 91 +- .../BlockchainMarketDataServiceRaw.java | 34 +- .../service/BlockchainTradeService.java | 342 +++--- .../service/BlockchainTradeServiceRaw.java | 128 +- .../service/BlockchainBaseTest.java | 85 +- .../service/account/AccountServiceTest.java | 260 ++-- .../marketdata/MarketDataServiceTest.java | 68 +- .../service/trade/TradeServiceTest.java | 293 +++-- .../service/utils/BlockchainConstants.java | 88 +- .../java/org/knowm/xchange/btcc/BTCC.java | 6 +- .../knowm/xchange/btcmarkets/BTCMarkets.java | 6 +- .../btcmarkets/BTCMarketsAuthenticated.java | 6 +- .../btcmarkets/BTCMarketsAuthenticatedV3.java | 6 +- .../btcmarkets/BTCMarketsExchange.java | 4 +- .../dto/account/BTCMarketsBalance.java | 4 +- .../service/BTCMarketsAccountService.java | 4 +- .../btcmarkets/service/BTCMarketsDigest.java | 4 +- .../service/BTCMarketsDigestV3.java | 4 +- .../service/BTCMarketsMarketDataService.java | 8 +- .../service/BTCMarketsTradeService.java | 4 +- .../btcmarkets/BTCMarketsExchangeTest.java | 1 + .../org/knowm/xchange/btcturk/BTCTurk.java | 6 +- .../xchange/btcturk/BTCTurkAdapters.java | 1 + .../xchange/btcturk/BTCTurkAuthenticated.java | 10 +- .../btcturk/dto/BTCTurkOperations.java | 4 +- .../btcturk/dto/BTCTurkOrderMethods.java | 4 +- .../btcturk/dto/BTCTurkOrderTypes.java | 4 +- .../xchange/btcturk/dto/BTCTurkPair.java | 4 +- .../xchange/btcturk/dto/BTCTurkSort.java | 4 +- .../dto/account/BTCTurkAccountBalance.java | 4 +- .../dto/account/BTCTurkBankAccount.java | 4 +- .../dto/account/BTCTurkDepositRequest.java | 4 +- .../account/BTCTurkDepositRequestResult.java | 4 +- .../btcturk/dto/account/BTCTurkKeyValues.java | 4 +- .../dto/account/BTCTurkUserTransactions.java | 4 +- .../dto/account/BTCTurkWithdrawalRequest.java | 4 +- .../account/BTCTurkWithdrawalRequestInfo.java | 4 +- .../dto/marketdata/BTCTurkOrderBook.java | 8 +- .../dto/trade/BTCTurkCancelOrderRequest.java | 4 +- .../dto/trade/BTCTurkCancelOrderResult.java | 4 +- .../dto/trade/BTCTurkExchangeResult.java | 4 +- .../btcturk/dto/trade/BTCTurkOpenOrders.java | 4 +- .../btcturk/dto/trade/BTCTurkOrder.java | 4 +- .../service/BTCTurkAccountService.java | 4 +- .../service/BTCTurkAccountServiceRaw.java | 4 +- .../btcturk/service/BTCTurkDigest.java | 4 +- .../btcturk/service/BTCTurkTradeService.java | 4 +- .../service/BTCTurkTradeServiceRaw.java | 4 +- .../dto/account/BTCTurkBalanceTest.java | 4 +- .../account/BTCTurkUserTransactionsTest.java | 4 +- .../dto/marketdata/BTCTurkTradesTest.java | 4 +- .../dto/trade/BTCTurkExchangeResultTest.java | 4 +- .../dto/trade/BTCTurkOpenOrdersTest.java | 4 +- .../btcturk/dto/trade/BTCTurkOrderTest.java | 4 +- .../btcturk/service/BTCTurkDemoUtilsTest.java | 4 +- .../account/AccountDataFetchIntegration.java | 4 +- .../trade/TradeDataFetchIntegration.java | 4 +- .../java/org/knowm/xchange/bybit/Bybit.java | 10 +- .../knowm/xchange/bybit/BybitAdapters.java | 40 +- .../xchange/bybit/BybitAuthenticated.java | 67 +- .../knowm/xchange/bybit/BybitExchange.java | 17 +- .../knowm/xchange/bybit/dto/BybitResult.java | 1 - .../bybit/dto/account/BybitBalance.java | 1 - .../bybit/dto/account/BybitBalances.java | 5 +- .../bybit/dto/marketdata/BybitSymbol.java | 7 - .../bybit/dto/marketdata/BybitTicker.java | 1 - .../bybit/dto/trade/BybitOrderDetails.java | 1 - .../bybit/mappers/MarketDataMapper.java | 10 +- .../bybit/service/BybitAccountService.java | 30 +- .../bybit/service/BybitAccountServiceRaw.java | 12 +- .../bybit/service/BybitBaseService.java | 31 +- .../xchange/bybit/service/BybitDigest.java | 78 +- .../xchange/bybit/service/BybitException.java | 48 +- .../BybitJacksonObjectMapperFactory.java | 3 +- .../bybit/service/BybitMarketDataService.java | 6 +- .../service/BybitMarketDataServiceRaw.java | 2 - .../bybit/service/BybitTradeService.java | 67 +- .../bybit/service/BybitTradeServiceRaw.java | 26 +- .../xchange/bybit/BybitAdaptersTest.java | 25 +- .../xchange/bybit/BybitExchangeTest.java | 11 +- .../bybit/service/BaseWiremockTest.java | 29 +- .../service/BybitAccountServiceRawTest.java | 62 +- .../service/BybitAccountServiceTest.java | 78 +- .../BybitMarketDataServiceRawTest.java | 17 +- .../service/BybitMarketDataServiceTest.java | 11 +- .../service/BybitTradeServiceRawTest.java | 216 ++-- .../bybit/service/BybitTradeServiceTest.java | 141 ++- .../java/org/knowm/xchange/ccex/CCEX.java | 6 +- .../org/knowm/xchange/ccex/CCEXAdapters.java | 10 +- .../knowm/xchange/ccex/CCEXAuthenticated.java | 4 +- .../ccex/dto/marketdata/CCEXBuySellData.java | 8 +- .../dto/marketdata/CCEXBuySellResult.java | 8 +- .../ccex/dto/marketdata/CCEXGetorderbook.java | 12 +- .../ccex/dto/marketdata/CCEXTrades.java | 12 +- .../xchange/ccex/dto/ticker/CCEXPairs.java | 12 +- .../xchange/ccex/dto/ticker/CCEXTrading.java | 12 +- .../knowm/xchange/ccex/dto/ticker/Ticker.java | 80 +- .../xchange/ccex/service/CCEXBaseService.java | 4 +- .../ccex/service/CCEXMarketDataService.java | 4 +- .../service/CCEXMarketDataServiceRaw.java | 4 +- .../test/java/org/xchange/ccex/AppTest.java | 4 +- .../java/org/knowm/xchange/cexio/CexIO.java | 8 +- .../xchange/cexio/CexIOAuthenticated.java | 8 +- .../knowm/xchange/cexio/CexIOExchange.java | 30 +- .../xchange/cexio/dto/CexIOApiResponse.java | 4 +- .../cexio/dto/CexIOOpenPositionRequest.java | 4 + .../cexio/dto/account/CexIOFeeInfo.java | 4 +- .../dto/marketdata/CexIOCurrencyLimits.java | 4 +- .../cexio/dto/marketdata/CexIODepth.java | 4 +- .../cexio/dto/trade/CexIOFullOrder.java | 2 + .../dto/trade/CexioClosePositionResponse.java | 4 +- .../cexio/dto/trade/CexioOpenPosition.java | 1 + .../cexio/dto/trade/CexioPosition.java | 1 + .../cexio/dto/trade/CexioPositionPair.java | 4 +- .../dto/trade/CexioPositionResponse.java | 4 +- .../cexio/dto/trade/CexioPositionType.java | 4 +- .../cexio/service/CexIOBaseService.java | 4 +- .../service/CexIOMarketDataServiceRaw.java | 4 +- .../cexio/service/CexIOTradeServiceRaw.java | 5 + .../cexio/dto/account/CexIOFeeInfoTest.java | 4 +- .../marketdata/CexIOCurrencyLimitsTest.java | 4 +- .../marketdata/RemoteInitIntegration.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../org/knowm/xchange/coinbase/Coinbase.java | 14 +- .../coinbase/CoinbaseAuthenticated.java | 8 +- .../xchange/coinbase/CoinbaseExchange.java | 4 +- .../coinbase/dto/CoinbaseBaseResponse.java | 4 +- .../coinbase/dto/CoinbasePagedResult.java | 4 +- .../dto/account/CoinbaseAccountChange.java | 4 +- .../CoinbaseAccountChangeCategory.java | 4 +- .../dto/account/CoinbaseAccountChanges.java | 4 +- .../coinbase/dto/account/CoinbaseAddress.java | 4 +- .../dto/account/CoinbaseAddressCallback.java | 4 +- .../dto/account/CoinbaseAddresses.java | 4 +- .../dto/account/CoinbaseBuySellLevel.java | 4 +- .../coinbase/dto/account/CoinbaseContact.java | 4 +- .../dto/account/CoinbaseContacts.java | 4 +- .../dto/account/CoinbaseRecurringPayment.java | 4 +- .../account/CoinbaseRecurringPayments.java | 4 +- .../coinbase/dto/account/CoinbaseToken.java | 4 +- .../dto/account/CoinbaseTransaction.java | 4 +- .../dto/account/CoinbaseTransactionInfo.java | 4 +- .../dto/account/CoinbaseTransactions.java | 4 +- .../coinbase/dto/account/CoinbaseUser.java | 4 +- .../coinbase/dto/account/CoinbaseUsers.java | 4 +- .../coinbase/dto/auth/CoinbaseOAuth.java | 4 +- .../coinbase/dto/auth/CoinbaseScope.java | 4 +- .../CoinbaseRecurringPaymentStatus.java | 4 +- .../common/CoinbaseRecurringPaymentType.java | 4 +- .../coinbase/dto/common/CoinbaseRepeat.java | 4 +- .../dto/marketdata/CoinbaseCurrency.java | 4 +- .../CoinbaseHistoricalSpotPrice.java | 4 +- .../dto/marketdata/CoinbaseMoney.java | 4 +- .../dto/marketdata/CoinbasePrice.java | 4 +- .../marketdata/CoinbaseSpotPriceHistory.java | 4 +- .../coinbase/dto/merchant/CoinbaseButton.java | 4 +- .../dto/merchant/CoinbaseButtonStyle.java | 4 +- .../dto/merchant/CoinbaseButtonType.java | 4 +- .../dto/merchant/CoinbaseMerchant.java | 4 +- .../coinbase/dto/merchant/CoinbaseOrder.java | 4 +- .../coinbase/dto/merchant/CoinbaseOrders.java | 4 +- .../dto/merchant/CoinbaseSubscription.java | 4 +- .../dto/merchant/CoinbaseSubscriptions.java | 4 +- .../CoinbaseCentsDeserializer.java | 4 +- .../CoinbaseMoneyDeserializer.java | 4 +- .../serialization/EnumFromStringHelper.java | 4 +- .../EnumLowercaseJsonSerializer.java | 4 +- .../coinbase/dto/trade/CoinbaseTransfer.java | 4 +- .../dto/trade/CoinbaseTransferType.java | 4 +- .../coinbase/dto/trade/CoinbaseTransfers.java | 4 +- .../service/CoinbaseAccountService.java | 4 +- .../service/CoinbaseAccountServiceRaw.java | 4 +- .../coinbase/service/CoinbaseBaseService.java | 4 +- .../coinbase/service/CoinbaseDigest.java | 8 +- .../service/CoinbaseMarketDataService.java | 4 +- .../service/CoinbaseMarketDataServiceRaw.java | 4 +- .../service/CoinbaseTradeService.java | 4 +- .../service/CoinbaseTradeServiceRaw.java | 4 +- .../knowm/xchange/coinbase/v2/Coinbase.java | 4 +- .../coinbase/v2/CoinbaseAuthenticated.java | 8 +- .../xchange/coinbase/v2/CoinbaseV2Digest.java | 2 +- .../v2/service/CoinbaseAccountService.java | 6 +- .../v2/service/CoinbaseAccountServiceRaw.java | 4 +- .../v2/service/CoinbaseBaseService.java | 4 +- .../v2/service/CoinbaseTradeService.java | 12 +- .../v2/service/CoinbaseTradeServiceRaw.java | 4 +- .../xchange/coinbase/CoinbaseAdapterTest.java | 4 +- .../dto/account/CoinbaseAccountJsonTest.java | 4 +- .../CoinbaseMarketDataJsonTest.java | 4 +- .../merchant/CoinbaseMerchantJsonTest.java | 4 +- .../dto/trade/CoinbaseTradeJsonTest.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../MarketDataServiceIntegration.java | 4 +- .../xchange/coinbasepro/CoinbasePro.java | 10 +- .../coinbasepro/CoinbaseProAdapters.java | 22 +- .../coinbasepro/CoinbaseProResilience.java | 2 +- .../CoinbaseProWithdrawFundsRequest.java | 1 + .../service/CoinbaseProDigest.java | 4 +- .../service/CoinbaseProTradeService.java | 3 +- .../knowm/xchange/coincheck/Coincheck.java | 4 +- .../org/knowm/xchange/coindeal/Coindeal.java | 4 +- .../coindeal/CoindealAuthenticated.java | 6 +- .../knowm/xchange/coindirect/Coindirect.java | 6 +- .../coindirect/CoindirectAuthenticated.java | 6 +- .../coindirect/CoindirectExchange.java | 14 +- .../service/CoindirectBaseService.java | 1 + .../org/knowm/xchange/coinegg/CoinEgg.java | 4 +- .../xchange/coinegg/CoinEggAuthenticated.java | 6 +- .../coinegg/service/CoinEggDigest.java | 4 +- .../coinegg/service/CoinEggDigestTest.java | 4 +- .../xchange/coinex/CoinexAuthenticated.java | 4 +- .../coinfloor/CoinfloorAuthenticated.java | 6 +- .../xchange/coinfloor/CoinfloorPublic.java | 4 +- .../service/CoinfloorTradeService.java | 3 +- .../java/org/knowm/xchange/coingi/Coingi.java | 6 +- .../xchange/coingi/CoingiAuthenticated.java | 8 +- .../knowm/xchange/coinjar/CoinjarData.java | 4 +- .../knowm/xchange/coinjar/CoinjarTrading.java | 6 +- .../deprecated/v2/CoinMarketCap.java | 10 +- .../deprecated/v2/CoinMarketCapExchange.java | 4 +- .../CoinMarketCapHistoricalSpotPrice.java | 4 +- .../dto/marketdata/CoinMarketCapTicker.java | 4 +- .../CoinMarketCapMarketDataService.java | 4 +- .../CoinMarketCapMarketDataServiceRaw.java | 4 +- .../pro/v1/CmcAuthenticated.java | 4 +- .../org/knowm/xchange/coinmate/Coinmate.java | 18 +- .../xchange/coinmate/CoinmateAdapters.java | 110 +- .../coinmate/CoinmateAuthenticated.java | 10 +- .../xchange/coinmate/CoinmateException.java | 4 +- .../xchange/coinmate/CoinmateExchange.java | 7 +- .../coinmate/dto/account/CoinmateBalance.java | 4 +- .../dto/account/CoinmateBalanceDataEntry.java | 20 +- .../dto/account/CoinmateDepositAddresses.java | 4 +- .../account/CoinmateTradingFeesResponse.java | 3 +- .../CoinmateTradingFeesResponseData.java | 4 +- .../coinmate/dto/account/FeePriority.java | 4 +- .../dto/marketdata/CoinmateOrderBook.java | 4 +- .../dto/marketdata/CoinmateOrderBookData.java | 4 +- .../marketdata/CoinmateOrderBookEntry.java | 4 +- .../dto/marketdata/CoinmateQuickRate.java | 3 +- .../dto/marketdata/CoinmateTicker.java | 4 +- .../dto/marketdata/CoinmateTickerData.java | 4 +- .../dto/marketdata/CoinmateTickers.java | 4 +- .../dto/marketdata/CoinmateTransactions.java | 4 +- .../marketdata/CoinmateTransactionsData.java | 4 +- .../marketdata/CoinmateTransactionsEntry.java | 4 +- .../dto/trade/CoinmateBuyFixRateResponse.java | 3 +- .../trade/CoinmateBuyFixRateResponseData.java | 4 +- .../trade/CoinmateCancelOrderResponse.java | 4 +- .../CoinmateCancelOrderWithInfoResponse.java | 4 +- ...inmateCancelOrderWithInfoResponseData.java | 12 +- .../dto/trade/CoinmateOpenOrders.java | 4 +- .../dto/trade/CoinmateOpenOrdersEntry.java | 28 +- .../coinmate/dto/trade/CoinmateOrders.java | 3 +- .../trade/CoinmateSellFixRateResponse.java | 3 +- .../CoinmateSellFixRateResponseData.java | 4 +- .../dto/trade/CoinmateTradeResponse.java | 4 +- .../dto/trade/CoinmateTransactionHistory.java | 4 +- .../CoinmateTransactionHistoryEntry.java | 4 +- .../trade/CoinmateTransferHistoryEntry.java | 3 +- .../service/CoinmateAccountService.java | 23 +- .../service/CoinmateAccountServiceRaw.java | 53 +- .../coinmate/service/CoinmateBaseService.java | 4 +- .../coinmate/service/CoinmateDigest.java | 4 +- .../service/CoinmateMarketDataService.java | 13 +- .../service/CoinmateMarketDataServiceRaw.java | 13 +- .../service/CoinmateTradeService.java | 30 +- .../service/CoinmateTradeServiceRaw.java | 40 +- .../xchange/coinmate/CoinmateAdapterTest.java | 6 +- .../coinmate/dto/account/BalanceJSONTest.java | 4 +- .../dto/account/OpenOrdersJSONTest.java | 4 +- .../dto/marketdata/OrderBookJSONTest.java | 4 +- .../dto/marketdata/TickerJSONTest.java | 4 +- .../dto/marketdata/TransactionsJSONTest.java | 4 +- .../dto/trade/OrderHistoryJSONTest.java | 5 +- .../service/AccountInfoFetchIntegration.java | 5 +- .../CoinmateBaseServiceIntegration.java | 4 +- .../QuickTradeFixRateMockIntegration.java | 63 +- .../coinmate/service/TradeServiceRawTest.java | 12 +- .../org/knowm/xchange/coinone/Coinone.java | 4 +- .../xchange/coinone/CoinoneAuthenticated.java | 4 +- .../dto/marketdata/CoinoneOrderBook.java | 4 +- .../dto/marketdata/CoinoneOrderBookData.java | 4 +- .../coinone/dto/marketdata/CoinoneTicker.java | 4 +- .../dto/marketdata/CoinoneTradeData.java | 4 +- .../coinone/dto/marketdata/CoinoneTrades.java | 4 +- .../service/CoinoneAccountService.java | 6 +- .../service/CoinoneMarketDataService.java | 16 +- .../coinone/service/CoinoneTradeService.java | 10 +- .../main/java/org/knowm/xchange/Exchange.java | 4 +- .../knowm/xchange/ExchangeSpecification.java | 5 +- .../knowm/xchange/client/ResilienceUtils.java | 4 +- .../xchange/derivative/FuturesContract.java | 1 - .../xchange/derivative/OptionsContract.java | 1 - .../java/org/knowm/xchange/dto/Order.java | 31 +- .../xchange/dto/account/AccountInfo.java | 28 +- .../xchange/dto/account/AddressWithTag.java | 1 - .../xchange/dto/account/FundingRecord.java | 41 +- .../xchange/dto/account/OpenPosition.java | 11 +- .../xchange/dto/account/OpenPositions.java | 1 - .../org/knowm/xchange/dto/account/Wallet.java | 40 +- .../xchange/dto/marketdata/CandleStick.java | 346 +++--- .../dto/marketdata/CandleStickData.java | 27 +- .../xchange/dto/marketdata/FundingRate.java | 134 +-- .../xchange/dto/marketdata/FundingRates.java | 12 +- .../xchange/dto/marketdata/OrderBook.java | 2 + .../knowm/xchange/dto/marketdata/Ticker.java | 5 +- .../knowm/xchange/dto/marketdata/Trades.java | 18 +- .../xchange/dto/meta/ExchangeMetaData.java | 8 +- .../xchange/dto/meta/InstrumentMetaData.java | 338 +++--- .../xchange/dto/trade/FixedRateLoanOrder.java | 4 +- .../knowm/xchange/dto/trade/LimitOrder.java | 4 +- .../knowm/xchange/dto/trade/OpenOrders.java | 12 +- .../knowm/xchange/dto/trade/StopOrder.java | 29 +- .../knowm/xchange/dto/trade/UserTrades.java | 3 +- .../CurrencyPairNotValidException.java | 4 +- .../InstrumentNotValidException.java | 4 +- .../knowm/xchange/instrument/Instrument.java | 2 +- .../xchange/service/BaseExchangeService.java | 3 +- .../service/marketdata/MarketDataService.java | 31 +- .../marketdata/params/InstrumentsParams.java | 2 +- .../xchange/service/trade/TradeService.java | 19 +- .../trade/params/CandleStickDataParams.java | 3 +- .../DefaultCancelAllOrdersByInstrument.java | 19 +- .../trade/params/DefaultCandleStickParam.java | 34 +- .../DefaultCandleStickParamWithLimit.java | 18 +- .../DefaultTradeHistoryParamPaging.java | 5 +- .../params/DefaultWithdrawFundsParams.java | 17 +- .../DefaultOpenOrdersParamInstrument.java | 1 - .../xchange/utils/jackson/BtcToSatoshi.java | 4 +- .../jackson/InstrumentMapDeserializer.java | 22 +- .../MillisecTimestampDeserializer.java | 4 +- .../xchange/utils/jackson/SatoshiToBtc.java | 4 +- .../utils/jackson/SqlUtcTimeDeserializer.java | 4 +- .../jackson/UnixTimestampDeserializer.java | 4 +- .../UnixTimestampNanoSecondsDeserializer.java | 7 +- .../jackson/UnixTimestampSerializer.java | 4 +- .../xchange/ExchangeSpecificationTest.java | 4 +- .../dto/account/OpenPositionsTest.java | 9 +- .../knowm/xchange/dto/account/WalletTest.java | 9 +- .../dto/meta/ExchangeMetaDataTest.java | 5 +- .../xchange/dto/trade/StopOrderTest.java | 6 +- .../xchange/dto/trade/UserTradesTest.java | 11 +- .../xchange/cryptowatch/Cryptowatch.java | 6 +- .../cryptowatch/CryptowatchAdapters.java | 2 +- .../cryptowatch/CryptowatchExchange.java | 4 +- .../dto/marketdata/CryptowatchOHLC.java | 4 +- .../dto/marketdata/CryptowatchOHLCs.java | 4 +- .../dto/marketdata/results/Allowance.java | 4 +- .../results/CryptowatchOHLCResult.java | 4 +- .../service/CryptowatchMarketDataService.java | 4 +- .../org/knowm/xchange/deribit/v2/Deribit.java | 8 +- .../xchange/deribit/v2/DeribitAdapters.java | 10 +- .../deribit/v2/DeribitAuthenticated.java | 16 +- .../xchange/deribit/v2/DeribitExchange.java | 129 +- .../deribit/v2/dto/account/Position.java | 18 + .../xchange/deribit/v2/dto/trade/Order.java | 27 + .../deribit/v2/dto/trade/Settlement.java | 13 + .../xchange/deribit/v2/dto/trade/Trade.java | 18 + .../v2/service/DeribitTradeHistoryParams.java | 8 + .../org/knowm/xchange/dvchain/DVChain.java | 4 +- .../xchange/dvchain/DVChainExchange.java | 4 +- .../java/org/knowm/xchange/enigma/Enigma.java | 4 +- .../xchange/enigma/EnigmaAuthenticated.java | 10 +- .../org/knowm/xchange/enigma/model/Side.java | 4 +- .../xchange/enigma/model/Withdrawal.java | 4 +- .../marketdata/BinanceMarketDataDemo.java | 19 +- .../bitfinex/marketdata/CandlesDemo.java | 4 +- .../examples/bitso/BitsoDemoUtils.java | 4 +- .../examples/bitstamp/BitstampDemoUtils.java | 4 +- .../blockchain/BlockchainDemoUtils.java | 36 +- .../account/BlockchainAccountDemo.java | 132 ++- .../marketdata/BlockchainMarketDataDemo.java | 30 +- .../blockchain/trade/BlockchainTradeDemo.java | 209 ++-- .../examples/btcturk/BTCTurkDemoUtils.java | 4 +- .../btcturk/account/BTCTurkAccountDemo.java | 4 +- .../btcturk/trade/BTCTrukTradeDemo.java | 4 +- .../examples/coinbase/CoinbaseDemoUtils.java | 4 +- .../coinbase/account/CoinbaseAccountDemo.java | 4 +- .../account/merchant/CoinbaseButtonDemo.java | 4 +- .../merchant/CoinbaseMerchantDemo.java | 4 +- .../marketdata/CoinbaseMarketDataDemo.java | 4 +- .../coinbase/trade/CoinbaseTradeDemo.java | 4 +- .../examples/coinone/CoinoneDemoUtils.java | 4 +- .../examples/koineks/KoineksDemoUtils.java | 4 +- .../examples/koinim/KoinimDemoUtils.java | 4 +- .../InteractiveAuthenticatedExchange.java | 4 +- .../examples/paribu/ParibuDemoUtils.java | 4 +- .../paymium/PaymiumMarketDataExample.java | 4 +- .../poloniex/PoloniexExamplesUtils.java | 4 +- .../poloniex/account/PoloniexAccountDemo.java | 4 +- .../marketdata/PoloniexMarketDataDemo.java | 4 +- .../poloniex/trade/PoloniexTradeDemo.java | 4 +- .../examples/quoine/QuoineExamplesUtils.java | 4 +- .../examples/upbit/UpbitDemoUtils.java | 4 +- .../java/org/knowm/xchange/exmo/Exmo.java | 10 +- .../service/ExmoMarketDataServiceRaw.java | 14 +- .../main/java/org/knowm/xchange/ftx/Ftx.java | 6 +- .../org/knowm/xchange/ftx/FtxAdapters.java | 22 +- .../knowm/xchange/ftx/FtxAuthenticated.java | 6 +- .../dto/account/FtxBorrowingHistoryDto.java | 40 +- .../dto/trade/CancelAllFtxOrdersParams.java | 20 +- .../xchange/ftx/dto/trade/FtxFillDto.java | 43 +- .../dto/trade/FtxTriggerOpenOrdersParams.java | 24 +- .../knowm/xchange/ftx/service/FtxDigest.java | 4 +- .../xchange/ftx/service/FtxTradeService.java | 13 +- .../ftx/service/FtxTradeServiceRaw.java | 384 +++--- .../org/knowm/xchange/ftx/FtxAdapterTest.java | 14 +- .../xchange/ftx/dto/trade/TradeDtosTest.java | 6 +- .../java/org/knowm/xchange/gateio/Gateio.java | 6 +- .../knowm/xchange/gateio/GateioAdapters.java | 13 +- .../xchange/gateio/GateioAuthenticated.java | 8 +- .../marketdata/GateioMarketInfoWrapper.java | 1 - .../service/GateioAccountServiceRaw.java | 3 +- .../gateio/service/GateioBaseService.java | 13 +- .../gateio/service/GateioTradeService.java | 19 +- .../gateio/service/GateioTradeServiceRaw.java | 12 +- .../xchange/gateio/GateioExchangeTest.java | 19 +- .../gateio/GateioExchangeWiremock.java | 14 +- .../GateioMarketDataServiceRawTest.java | 23 +- .../service/GateioMarketDataServiceTest.java | 52 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../org/knowm/xchange/gemini/v1/Gemini.java | 6 +- .../gemini/v1/GeminiAuthenticated.java | 4 +- .../xchange/gemini/v1/GeminiExchange.java | 4 +- .../dto/account/GeminiWithdrawalRequest.java | 4 +- .../v1/service/GeminiAccountServiceRaw.java | 3 +- .../v1/service/GeminiMarketDataService.java | 4 +- .../org/knowm/xchange/gemini/v2/Gemini2.java | 4 +- .../xchange/gemini/v1/GeminiAdaptersTest.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../org/knowm/xchange/globitex/Globitex.java | 4 +- .../xchange/globitex/GlobitexAdapters.java | 11 +- .../globitex/GlobitexAuthenticated.java | 4 +- .../globitex/service/GlobitexDigest.java | 4 +- .../org/knowm/xchange/hitbtc/v2/Hitbtc.java | 8 +- .../xchange/hitbtc/v2/HitbtcAdapters.java | 26 +- .../hitbtc/v2/HitbtcAuthenticated.java | 10 +- .../xchange/hitbtc/v2/HitbtcExchange.java | 8 +- .../java/org/knowm/xchange/huobi/Huobi.java | 4 +- .../knowm/xchange/huobi/HuobiAdapters.java | 63 +- .../huobi/dto/marketdata/HuobiCurrency.java | 1 - .../xchange/huobi/service/HuobiDigest.java | 6 +- .../huobi/service/HuobiMarketDataService.java | 2 +- .../xchange/huobi/HuobiInitIntegration.java | 20 +- .../huobi/HuobiMarketDataIntegration.java | 14 +- .../org/knowm/xchange/idex/IdexSignature.java | 2 +- .../knowm/xchange/idex/service/CancelApi.java | 2 +- .../knowm/xchange/idex/service/OrderApi.java | 2 +- .../idex/service/Return24VolumeApi.java | 2 +- .../idex/service/ReturnBalancesApi.java | 2 +- .../service/ReturnCompleteBalancesApi.java | 2 +- .../service/ReturnContractAddressApi.java | 2 +- .../idex/service/ReturnCurrenciesApi.java | 2 +- .../service/ReturnDepositsWithdrawalsApi.java | 2 +- .../idex/service/ReturnNextNonceApi.java | 2 +- .../idex/service/ReturnOpenOrdersApi.java | 2 +- .../idex/service/ReturnOrderBookApi.java | 2 +- .../idex/service/ReturnOrderTradesApi.java | 2 +- .../xchange/idex/service/ReturnTickerApi.java | 2 +- .../idex/service/ReturnTradeHistoryApi.java | 2 +- .../knowm/xchange/idex/service/TradeApi.java | 2 +- .../xchange/idex/service/WithdrawApi.java | 2 +- .../IndependentReserve.java | 4 +- .../IndependentReserveAuthenticated.java | 4 +- .../marketdata/IndependentReserveTicker.java | 4 +- ...cyDepositAddressWithBlockchainRequest.java | 4 +- ...yDepositAddressWithBlockchainResponse.java | 2 + .../IndependentReserveAccountService.java | 1 - .../java/org/knowm/xchange/itbit/ItBit.java | 4 +- .../xchange/itbit/ItBitAuthenticated.java | 8 +- .../marketdata/OrderBookFetchIntegration.java | 4 +- .../org/knowm/xchange/koineks/Koineks.java | 4 +- .../xchange/koineks/KoineksAdapters.java | 4 +- .../xchange/koineks/KoineksExchange.java | 4 +- .../koineks/service/KoineksBaseService.java | 4 +- .../service/KoineksMarketDataService.java | 4 +- .../service/KoineksMarketDataServiceRaw.java | 4 +- .../xchange/koineks/KoineksAdapterTest.java | 4 +- .../dto/marketdata/KoineksTickerTest.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../java/org/knowm/xchange/koinim/Koinim.java | 8 +- .../knowm/xchange/koinim/KoinimAdapters.java | 4 +- .../knowm/xchange/koinim/KoinimExchange.java | 4 +- .../koinim/dto/marketdata/KoinimTicker.java | 4 +- .../koinim/service/KoinimBaseService.java | 4 +- .../service/KoinimMarketDataService.java | 4 +- .../service/KoinimMarketDataServiceRaw.java | 4 +- .../xchange/koinim/KoinimAdapterTest.java | 4 +- .../dto/marketdata/KoinimTickerTest.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../java/org/knowm/xchange/kraken/Kraken.java | 8 +- .../knowm/xchange/kraken/KrakenAdapters.java | 52 +- .../xchange/kraken/KrakenAuthenticated.java | 8 +- .../knowm/xchange/kraken/KrakenExchange.java | 4 +- .../org/knowm/xchange/kraken/KrakenUtils.java | 19 +- .../xchange/kraken/dto/KrakenResult.java | 4 +- .../account/results/KrakenBalanceResult.java | 4 +- .../dto/marketdata/KrakenAssetPair.java | 3 - .../dto/marketdata/KrakenPublicTrade.java | 20 +- .../dto/marketdata/KrakenPublicTrades.java | 21 +- .../marketdata/results/KrakenDepthResult.java | 4 +- .../marketdata/results/KrakenOHLCResult.java | 4 +- .../results/KrakenPublicTradesResult.java | 4 +- .../results/KrakenTickerResult.java | 4 +- .../kraken/service/KrakenAccountService.java | 6 +- .../service/KrakenAccountServiceRaw.java | 4 +- .../xchange/kraken/service/KrakenDigest.java | 8 +- .../service/KrakenMarketDataServiceRaw.java | 3 +- .../xchange/kraken/KrakenAdaptersTest.java | 3 +- .../knowm/xchange/kraken/KrakenUtilsTest.java | 5 +- .../marketdata/TickerFetchIntegration.java | 12 +- .../xchange/krakenfutures/KrakenFutures.java | 17 +- .../krakenfutures/KrakenFuturesAdapters.java | 276 +++-- .../KrakenFuturesAuthenticated.java | 66 +- .../krakenfutures/KrakenFuturesExchange.java | 15 +- .../dto/KrakenFuturesResult.java | 4 +- .../dto/account/KrakenFuturesAccount.java | 7 +- .../dto/account/KrakenFuturesAccountInfo.java | 29 +- .../dto/account/KrakenFuturesAccounts.java | 7 +- .../dto/marketData/KrakenFuturesBidsAsks.java | 9 +- .../marketData/KrakenFuturesInstrument.java | 5 +- .../marketData/KrakenFuturesInstruments.java | 9 +- .../dto/marketData/KrakenFuturesOrder.java | 6 +- .../marketData/KrakenFuturesOrderBook.java | 10 +- .../marketData/KrakenFuturesOrderStatus.java | 6 +- .../marketData/KrakenFuturesPublicFill.java | 5 +- .../marketData/KrakenFuturesPublicFills.java | 9 +- .../dto/marketData/KrakenFuturesTicker.java | 5 +- .../dto/marketData/KrakenFuturesTickers.java | 5 +- .../dto/trade/BatchOrderResult.java | 1 - .../krakenfutures/dto/trade/BatchStatus.java | 1 + .../dto/trade/KrakenFuturesCancel.java | 5 +- .../trade/KrakenFuturesCancelAllOrders.java | 48 +- .../dto/trade/KrakenFuturesCancelStatus.java | 5 +- .../trade/KrakenFuturesEditOrderResponse.java | 33 +- .../dto/trade/KrakenFuturesFill.java | 5 +- .../dto/trade/KrakenFuturesFills.java | 5 +- .../dto/trade/KrakenFuturesOpenOrder.java | 5 +- .../dto/trade/KrakenFuturesOpenOrders.java | 5 +- .../dto/trade/KrakenFuturesOpenPosition.java | 5 +- .../dto/trade/KrakenFuturesOpenPositions.java | 5 +- .../dto/trade/KrakenFuturesOrderStatus.java | 16 +- .../KrakenFuturesOrderStatusRequest.java | 9 +- .../dto/trade/KrakenFuturesOrderType.java | 12 +- .../KrakenFuturesOrdersStatusesResponse.java | 108 +- .../service/KrakenFuturesAccountService.java | 10 +- .../KrakenFuturesAccountServiceRaw.java | 6 +- .../service/KrakenFuturesBaseService.java | 15 +- .../service/KrakenFuturesDigest.java | 28 +- .../KrakenFuturesMarketDataService.java | 9 +- .../KrakenFuturesMarketDataServiceRaw.java | 23 +- .../service/KrakenFuturesTradeService.java | 36 +- .../service/KrakenFuturesTradeServiceRaw.java | 148 +-- .../KrakenFuturesPrivateDataTest.java | 304 ++--- .../KrakenFuturesPublicDataTest.java | 115 +- .../knowm/xchange/kucoin/KucoinAdapters.java | 4 +- .../kucoin/KucoinMarketDataServiceRaw.java | 48 +- .../xchange/kucoin/KucoinResilience.java | 2 +- .../dto/request/CreateAccountRequest.java | 1 + .../dto/request/InnerTransferRequest.java | 4 + .../dto/response/AccountLedgersResponse.java | 7 + .../dto/response/CurrencyResponseV2.java | 1 - .../kucoin/dto/response/DepositResponse.java | 9 + .../dto/response/WithdrawalResponse.java | 10 + .../xchange/kucoin/service/AccountAPI.java | 6 +- .../xchange/kucoin/service/DepositAPI.java | 6 +- .../knowm/xchange/kucoin/service/FillAPI.java | 4 +- .../xchange/kucoin/service/HistOrdersAPI.java | 4 +- .../xchange/kucoin/service/HistoryAPI.java | 6 +- .../xchange/kucoin/service/KucoinDigest.java | 4 +- .../xchange/kucoin/service/LimitOrderAPI.java | 6 +- .../xchange/kucoin/service/OrderAPI.java | 4 +- .../xchange/kucoin/service/OrderBookAPI.java | 4 +- .../xchange/kucoin/service/SymbolAPI.java | 13 +- .../xchange/kucoin/service/TradingFeeAPI.java | 6 +- .../xchange/kucoin/service/WebsocketAPI.java | 4 +- .../xchange/kucoin/service/WithdrawalAPI.java | 4 +- .../java/org/knowm/xchange/kuna/Kuna.java | 10 +- .../knowm/xchange/kuna/KunaAuthenticated.java | 6 +- .../org/knowm/xchange/kuna/dto/KunaTrade.java | 4 +- .../xchange/kuna/dto/enums/KunaOrderType.java | 4 +- .../xchange/kuna/dto/enums/KunaSide.java | 4 +- .../kuna/service/KunaAccountService.java | 4 +- .../kuna/service/KunaAccountServiceRaw.java | 4 +- .../xchange/kuna/service/KunaBaseService.java | 4 +- .../kuna/service/KunaMarketDataService.java | 4 +- .../service/KunaMarketDataServiceRaw.java | 4 +- .../kuna/service/KunaTradeService.java | 4 +- .../kuna/service/KunaTradeServiceRaw.java | 4 +- .../knowm/xchange/kuna/util/KunaUtils.java | 4 +- .../org/knowm/xchange/kuna/BaseKunaTest.java | 4 +- .../org/knowm/xchange/latoken/Latoken.java | 6 +- .../xchange/latoken/LatokenAdapters.java | 8 +- .../xchange/latoken/LatokenAuthenticated.java | 8 +- .../xchange/latoken/LatokenErrorAdapter.java | 4 +- .../xchange/latoken/LatokenExchange.java | 10 +- .../xchange/lgo/CertificateAuthority.java | 2 +- .../main/java/org/knowm/xchange/lgo/Lgo.java | 4 +- .../org/knowm/xchange/lgo/LgoAdapters.java | 18 +- .../org/knowm/xchange/livecoin/Livecoin.java | 10 +- .../xchange/livecoin/LivecoinAdapters.java | 13 +- .../xchange/livecoin/LivecoinDigest.java | 6 +- .../livecoin/LivecoinErrorAdapter.java | 4 +- .../livecoin/dto/LivecoinException.java | 4 +- .../dto/LivecoinResponseWithDataMap.java | 4 +- .../livecoin/dto/account/LivecoinBalance.java | 4 +- .../account/LivecoinPaymentOutResponse.java | 4 +- .../LivecoinWalletAddressResponse.java | 4 +- .../dto/marketdata/LivecoinAllOrderBooks.java | 4 +- .../dto/trade/LivecoinCancelResponse.java | 4 +- .../dto/trade/LivecoinOrderResponse.java | 4 +- .../service/AccountMockedIntegrationTest.java | 4 +- .../service/BaseMockedIntegrationTest.java | 4 +- .../service/TradeMockedIntegrationTest.java | 4 +- .../java/org/knowm/xchange/luno/Luno.java | 8 +- .../knowm/xchange/luno/LunoAuthenticated.java | 10 +- .../org/knowm/xchange/luno/LunoExchange.java | 4 +- .../luno/service/LunoAccountService.java | 6 +- .../luno/service/LunoTradeService.java | 6 +- .../java/org/knowm/xchange/lykke/Lykke.java | 6 +- .../org/knowm/xchange/lykke/LykkeAdapter.java | 6 +- .../xchange/lykke/LykkeAuthenticated.java | 6 +- .../knowm/xchange/lykke/LykkeExchange.java | 8 +- .../mercadobitcoin/MercadoBitcoin.java | 4 +- .../MercadoBitcoinAuthenticated.java | 10 +- .../MercadoBitcoinExchange.java | 4 +- .../mercadobitcoin/MercadoBitcoinUtils.java | 8 +- .../dto/MercadoBitcoinBaseTradeApiResult.java | 4 +- .../account/MercadoBitcoinAccountInfo.java | 4 +- .../dto/marketdata/MercadoBitcoinTicker.java | 4 +- .../MercadoBitcoinCancelOrderResult.java | 4 +- .../MercadoBitcoinPlaceLimitOrderResult.java | 4 +- .../dto/trade/MercadoBitcoinUserOrders.java | 4 +- .../trade/MercadoBitcoinUserOrdersEntry.java | 4 +- .../dto/trade/OperationEntry.java | 4 +- .../service/MercadoBitcoinAccountService.java | 4 +- .../MercadoBitcoinAccountServiceRaw.java | 4 +- .../service/MercadoBitcoinBaseService.java | 4 +- .../service/MercadoBitcoinDigest.java | 4 +- .../MercadoBitcoinMarketDataService.java | 4 +- .../MercadoBitcoinMarketDataServiceRaw.java | 4 +- .../service/MercadoBitcoinTradeService.java | 4 +- .../MercadoBitcoinTradeServiceRaw.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../org/knowm/xchange/mexc/MEXCAdapters.java | 41 +- .../knowm/xchange/mexc/MEXCAuthenticated.java | 41 +- .../knowm/xchange/mexc/MEXCErrorUtils.java | 1 - .../org/knowm/xchange/mexc/MEXCExchange.java | 33 +- .../knowm/xchange/mexc/dto/MEXCResult.java | 4 +- .../xchange/mexc/dto/account/MEXCBalance.java | 4 +- .../xchange/mexc/dto/trade/MEXCOrder.java | 20 +- .../dto/trade/MEXCOrderRequestPayload.java | 21 +- .../mexc/service/MEXCAccountService.java | 6 +- .../mexc/service/MEXCAccountServiceRaw.java | 6 +- .../xchange/mexc/service/MEXCBaseService.java | 15 +- .../xchange/mexc/service/MEXCDigest.java | 27 +- .../xchange/mexc/service/MEXCException.java | 5 +- .../mexc/service/MEXCMarketDataService.java | 1 - .../mexc/service/MEXCTradeService.java | 16 +- .../mexc/service/MEXCTradeServiceRaw.java | 15 +- .../mexc/service/BaseWiremockTest.java | 29 +- .../service/MEXCAccountServiceRawTest.java | 103 +- .../mexc/service/MEXCAccountServiceTest.java | 120 +- .../mexc/service/MEXCTradeServiceRawTest.java | 180 +-- .../mexc/service/MEXCTradeServiceTest.java | 133 +-- .../java/org/knowm/xchange/okcoin/OkCoin.java | 6 +- .../knowm/xchange/okcoin/OkCoinAdapters.java | 4 +- .../knowm/xchange/okcoin/OkCoinDigest.java | 4 +- .../knowm/xchange/okcoin/OkCoinException.java | 4 +- .../knowm/xchange/okcoin/OkexAdaptersV3.java | 1 + .../java/org/knowm/xchange/okcoin/OkexV3.java | 9 +- .../okcoin/dto/marketdata/OkCoinTicker.java | 24 +- .../OkCoinFuturesTradeHistoryResult.java | 1 + .../okcoin/service/OkCoinAccountService.java | 3 +- .../v3/dto/account/FuturesBillsResponse.java | 6 + .../dto/account/FuturesLeverageResponse.java | 1 + .../v3/dto/account/FuturesPosition.java | 27 + .../v3/dto/account/OkexDepositRecord.java | 5 + .../v3/dto/account/OkexSpotAccountRecord.java | 3 + .../v3/dto/account/OkexWithdrawalRecord.java | 10 + .../v3/dto/account/OkexWithdrawalRequest.java | 5 + .../dto/marketdata/OkexFutureInstrument.java | 4 + .../v3/dto/marketdata/OkexSwapInstrument.java | 1 + .../FuturesAccountsByCurrencyResponse.java | 10 + .../v3/dto/trade/FuturesAccountsResponse.java | 10 + .../FuturesMultipleOrderPlacementRequest.java | 1 + .../v3/dto/trade/OkexFuturesOpenOrder.java | 9 + .../v3/dto/trade/OkexFuturesTransaction.java | 3 + .../okcoin/v3/dto/trade/OkexOpenOrder.java | 2 + .../v3/dto/trade/OkexSwapOpenOrder.java | 8 + .../v3/dto/trade/OkexSwapTransaction.java | 3 + .../okcoin/v3/dto/trade/OkexTransaction.java | 5 + .../v3/dto/trade/SwapAccountsResponse.java | 11 + ...FuturesMultipleOrderPlacementResponse.java | 1 + .../SwapMultipleOrderPlacementRequest.java | 1 + .../okcoin/service/MetaDataFileTest.java | 8 +- .../service/account/LeverageJsonTest.java | 4 +- .../service/account/MaringJsonTest.java | 4 +- .../service/marketdata/TickerIntegration.java | 4 +- .../java/org/knowm/xchange/okex/Okex.java | 25 +- .../org/knowm/xchange/okex/OkexAdapters.java | 382 +++--- .../knowm/xchange/okex/OkexAuthenticated.java | 116 +- .../org/knowm/xchange/okex/OkexExchange.java | 45 +- .../knowm/xchange/okex/OkexResilience.java | 2 +- .../knowm/xchange/okex/dto/OkexInstType.java | 8 +- .../dto/account/OkexAccountPositionRisk.java | 95 +- .../okex/dto/account/OkexPosition.java | 3 +- .../dto/account/OkexWithdrawalRequest.java | 30 +- .../dto/account/OkexWithdrawalResponse.java | 20 +- .../okex/dto/marketdata/OkexFundingRate.java | 45 +- .../okex/dto/marketdata/OkexTicker.java | 87 +- .../okex/dto/trade/OkexOrderFlags.java | 6 +- .../xchange/okex/dto/trade/OkexOrderType.java | 12 +- .../okex/service/OkexAccountService.java | 23 +- .../okex/service/OkexAccountServiceRaw.java | 248 ++-- .../service/OkexCandleStickPeriodType.java | 8 +- .../okex/service/OkexMarketDataService.java | 29 +- .../service/OkexMarketDataServiceRaw.java | 46 +- .../okex/service/OkexTradeService.java | 76 +- .../okex/service/OkexTradeServiceRaw.java | 45 +- .../okex/service/params/OkexTickerParams.java | 4 +- .../xchange/okex/OkexExchangeIntegration.java | 11 +- .../xchange/okex/OkexPrivateDataTest.java | 206 ++-- .../xchange/okex/OkexPublicDataTest.java | 48 +- .../main/java/org/knowm/xchange/oer/OER.java | 8 +- .../xchange/oer/service/OERBaseService.java | 4 +- .../oer/service/OERMarketDataService.java | 4 +- .../oer/service/OERMarketDataServiceRaw.java | 4 +- .../oer/dto/marketdata/OERTickersTest.java | 14 +- .../service/OERMarketDataServiceRawTest.java | 1 + .../java/org/knowm/xchange/paribu/Paribu.java | 8 +- .../knowm/xchange/paribu/ParibuAdapters.java | 4 +- .../knowm/xchange/paribu/ParibuExchange.java | 4 +- .../xchange/paribu/dto/marketdata/BTC_TL.java | 4 +- .../paribu/service/ParibuBaseService.java | 4 +- .../service/ParibuMarketDataService.java | 4 +- .../xchange/paribu/ParibuAdapterTest.java | 4 +- .../dto/marketdata/ParibuTickerTest.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../org/knowm/xchange/paymium/Paymium.java | 4 +- .../xchange/paymium/PaymiumAuthenticated.java | 6 +- .../paymium/service/PaymiumDigest.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../org/knowm/xchange/poloniex/Poloniex.java | 8 +- .../xchange/poloniex/PoloniexAdapters.java | 8 +- .../poloniex/PoloniexAuthenticated.java | 16 +- .../poloniex/PoloniexErrorAdapter.java | 4 +- .../xchange/poloniex/PoloniexExchange.java | 4 +- .../knowm/xchange/poloniex/PoloniexUtils.java | 4 +- .../poloniex/dto/account/PoloniexLoan.java | 4 +- .../dto/marketdata/PoloniexTicker.java | 4 +- .../service/PoloniexAccountService.java | 4 +- .../service/PoloniexAccountServiceRaw.java | 8 +- .../poloniex/service/PoloniexBaseService.java | 4 +- .../service/PoloniexChartDataPeriodType.java | 6 +- .../service/PoloniexMarketDataService.java | 30 +- .../service/PoloniexTradeServiceRaw.java | 4 +- .../poloniex/PoloniexErrorAdapterTest.java | 4 +- .../marketdata/TickerFetchIntegration.java | 4 +- .../java/org/knowm/xchange/quoine/Quoine.java | 4 +- .../xchange/quoine/QuoineAuthenticated.java | 4 +- .../xchange/quoine/dto/account/Bank.java | 4 +- .../quoine/dto/account/BankAccountNumber.java | 4 +- .../quoine/dto/account/BitcoinAccount.java | 4 +- .../quoine/dto/account/FiatAccount.java | 4 +- .../quoine/dto/account/QuoineAccountInfo.java | 4 +- .../dto/marketdata/QuoineOrderBook.java | 4 +- .../quoine/dto/marketdata/QuoineProduct.java | 4 +- .../xchange/quoine/dto/trade/Execution.java | 4 +- .../knowm/xchange/quoine/dto/trade/Model.java | 4 +- .../dto/trade/QuoineOrderDetailsResponse.java | 4 +- .../quoine/dto/trade/QuoineOrderResponse.java | 4 +- .../quoine/dto/trade/QuoineOrdersList.java | 4 +- .../quoine/service/QuoineTradeService.java | 4 +- .../quoine/service/QuoineTradeServiceRaw.java | 8 +- .../xchange/ripple/RippleAuthenticated.java | 4 +- .../knowm/xchange/ripple/RipplePublic.java | 4 +- .../ripple/service/RippleTradeServiceRaw.java | 8 +- .../java/com/knowm/xchange/serum/Serum.java | 4 +- .../simulated/SimulatedExchangeExample.java | 21 +- .../xchange/simulated/TestMatchingEngine.java | 4 +- .../BinanceStreamingAccountService.java | 4 +- .../binance/BinanceStreamingAdapters.java | 99 +- .../BinanceStreamingMarketDataService.java | 179 +-- .../binance/BinanceStreamingService.java | 19 +- .../binance/BinanceStreamingTradeService.java | 10 +- .../BinanceUserDataStreamingService.java | 1 - .../binance/KlineSubscription.java | 9 +- .../dto/DepthBinanceWebSocketTransaction.java | 1 - ...ExecutionReportBinanceUserTransaction.java | 4 +- .../dto/FundingRateWebsocketTransaction.java | 68 +- .../dto/KlineBinanceWebSocketTransaction.java | 70 +- ...ntPositionBinanceWebsocketTransaction.java | 35 +- .../TickerBinanceWebsocketTransaction.java | 1 - .../BinanceBookTickerRealtimeExample.java | 4 +- .../BinanceFuturesPublicStreamsTest.java | 127 +- .../binance/BinanceIntegration.java | 6 +- .../binance/BinanceKlineExample.java | 24 +- .../BinanceLiveFutureSubscriptionExample.java | 7 +- .../BinanceLiveSubscriptionExample.java | 11 +- .../binance/BinanceManualExample.java | 22 +- .../binance/BinancePublicStreamsTest.java | 114 +- .../binance/BinanceUsIntegration.java | 6 +- .../KlineBinanceWebSocketTransactionTest.java | 26 +- ...TickerBinanceWebsocketTransactionTest.java | 3 +- .../bitmex/BitmexStreamingService.java | 1 + .../bitmex/dto/BitmexExecution.java | 4 +- .../bitmex/BitmexDeadManSwitchTest.java | 14 +- .../xchangestream/bitmex/BitmexOrderIT.java | 4 +- .../bitmex/BitmexOrderReplaceTest.java | 22 +- .../bitmex/BitmexStreamingTest.java | 4 +- .../xchangestream/bitmex/BitmexTest.java | 4 +- .../bitmex/BitmexTestsCommons.java | 4 +- .../bitmex/BitmexWithProxyIT.java | 4 +- .../bitmex/dto/BitmexExecutionTest.java | 4 +- .../CexioStreamingMarketDataService.java | 3 +- .../CoinbaseProStreamingExchange.java | 31 +- .../CoinbaseProStreamingService.java | 67 +- .../CoinbaseProStreamingTradeService.java | 1 + .../dto/CoinbaseProOrderBookMode.java | 18 +- .../dto/CoinbaseProWebSocketTransaction.java | 4 +- ...seProWebSocketSubscriptionMessageTest.java | 23 +- .../coincheck/CoincheckStreamingAdapter.java | 9 +- .../coinmate/v2/CoinmateStreamingService.java | 4 +- .../core/ProductSubscription.java | 6 +- .../core/StreamingMarketDataService.java | 9 +- .../xchangestream/util/BookSanityChecker.java | 4 +- .../xchangestream/util/CollectionUtils.java | 4 +- .../util/LocalExchangeConfig.java | 4 +- .../xchangestream/util/PropsLoader.java | 4 +- .../bitrich/xchangestream/util/ProxyUtil.java | 4 +- .../dydx/dydxStreamingService.java | 6 +- .../ftx/FtxStreamingAdapters.java | 1 + .../ftx/FtxStreamingExchange.java | 9 +- .../ftx/FtxStreamingAdaptersTest.java | 2 +- .../GateioWebSocketSubscriptionMessage.java | 6 +- .../GeminiStreamingMarketDataServiceTest.java | 6 +- .../huobi/HuobiManualIntegration.java | 10 +- .../kraken/KrakenStreamingAdapters.java | 33 +- .../kraken/KrakenStreamingExchange.java | 45 +- .../KrakenStreamingMarketDataService.java | 8 +- .../kraken/KrakenStreamingService.java | 52 +- .../kraken/KrakenStreamingTradeService.java | 15 +- .../xchangestream/kraken/dto/KrakenEvent.java | 4 +- .../kraken/dto/KrakenOpenOrder.java | 20 + .../kraken/dto/KrakenOwnTrade.java | 8 + .../kraken/dto/KrakenSubscriptionConfig.java | 4 +- .../kraken/dto/KrakenSubscriptionMessage.java | 4 +- .../dto/KrakenSubscriptionStatusMessage.java | 4 +- .../kraken/dto/KrakenSystemStatus.java | 5 +- .../KrakenFuturesStreamingAdapters.java | 146 ++- .../KrakenFuturesStreamingExchange.java | 153 +-- ...akenFuturesStreamingMarketDataService.java | 172 ++- .../KrakenFuturesStreamingService.java | 203 ++-- .../KrakenFuturesStreamingTradeService.java | 46 +- ...treamingAuthenticatedWebsocketMessage.java | 33 +- ...rakenFuturesStreamingChallengeRequest.java | 15 +- ...akenFuturesStreamingChallengeResponse.java | 15 +- ...kenFuturesStreamingFillsDeltaResponse.java | 107 +- ...uturesStreamingOrderBookDeltaResponse.java | 57 +- ...resStreamingOrderBookSnapshotResponse.java | 68 +- .../KrakenFuturesStreamingTickerResponse.java | 109 +- .../KrakenFuturesStreamingTradeResponse.java | 73 +- ...rakenFuturesStreamingWebsocketMessage.java | 22 +- ...KrakenFuturesStreamingPrivateDataTest.java | 229 ++-- .../KrakenFuturesStreamingPublicDataTest.java | 129 +- .../kucoin/KucoinStreamingAdapters.java | 65 +- .../kucoin/KucoinStreamingExchange.java | 90 +- .../KucoinStreamingMarketDataService.java | 139 +-- .../kucoin/KucoinStreamingService.java | 50 +- .../kucoin/KucoinStreamingTradeService.java | 3 +- .../kucoin/dto/KucoinOrderBookChanges.java | 11 +- .../kucoin/dto/KucoinOrderBookEvent.java | 4 +- .../kucoin/dto/KucoinOrderBookEventData.java | 63 +- .../kucoin/dto/KucoinOrderEventData.java | 66 +- .../kucoin/dto/KucoinTickerConverter.java | 43 +- .../kucoin/dto/KucoinTickerEvent.java | 11 +- .../kucoin/dto/KucoinWebSocketEvent.java | 12 +- .../kucoin/dto/KucoinWebSocketOrderEvent.java | 4 +- .../lgo/LgoStreamingExchange.java | 3 +- .../lgo/LgoStreamingExchangeExample.java | 4 +- .../okex/OkexStreamingExchange.java | 130 +- .../okex/OkexStreamingMarketDataService.java | 6 +- .../okex/OkexStreamingService.java | 343 +++--- .../okex/OkexStreamingTradeService.java | 57 +- .../okex/dto/OkexLoginMessage.java | 29 +- .../okex/dto/OkexSubscribeMessage.java | 23 +- .../OkexStreamingPrivateDataIntegtration.java | 89 +- .../OkexStreamingPublicDataIntegration.java | 146 ++- .../dto/PoloniexWebSocketAdapter.java | 4 +- .../org/knowm/xchange/therock/TheRock.java | 8 +- .../xchange/therock/TheRockAuthenticated.java | 6 +- .../therock/TheRockAuthenticatedV0.java | 4 +- .../xchange/therock/TheRockExchange.java | 8 +- .../therock/dto/marketdata/TheRockTicker.java | 4 +- .../therock/dto/trade/TheRockMeta.java | 4 +- .../therock/dto/trade/TheRockMetaItem.java | 4 +- .../therock/dto/trade/TheRockOrders.java | 4 +- .../service/TheRockAccountService.java | 4 +- .../therock/service/TheRockDigest.java | 4 +- .../service/TheRockMarketDataService.java | 4 +- .../knowm/xchange/tradeogre/TradeOgre.java | 8 +- .../tradeogre/TradeOgreAuthenticated.java | 6 +- .../knowm/xchange/truefx/TrueFxPublic.java | 4 +- .../java/org/knowm/xchange/upbit/Upbit.java | 6 +- .../knowm/xchange/upbit/UpbitAdapters.java | 11 +- .../xchange/upbit/UpbitAuthenticated.java | 4 +- .../upbit/dto/account/UpbitBalances.java | 4 +- .../upbit/dto/marketdata/UpbitOrderBook.java | 4 +- .../dto/marketdata/UpbitOrderBookData.java | 4 +- .../upbit/dto/marketdata/UpbitOrderBooks.java | 4 +- .../upbit/dto/marketdata/UpbitTickers.java | 4 +- .../upbit/dto/marketdata/UpbitTrade.java | 4 +- .../upbit/dto/marketdata/UpbitTrades.java | 8 +- .../xchange/upbit/service/UpbitJWTDigest.java | 4 +- .../upbit/service/UpbitMarketDataService.java | 4 +- .../upbit/service/UpbitTradeService.java | 4 +- .../org/knowm/xchange/vaultoro/Vaultoro.java | 8 +- .../vaultoro/VaultoroAuthenticated.java | 6 +- .../xchange/vaultoro/VaultoroException.java | 16 +- .../vaultoro/VaultoroExceptionData.java | 8 +- .../vaultoro/dto/account/VaultoroBalance.java | 24 +- .../dto/account/VaultoroBalancesResponse.java | 16 +- .../dto/marketdata/VaultoroOrder.java | 16 +- .../dto/marketdata/VaultoroOrderBook.java | 16 +- .../marketdata/VaultoroOrderBookResponse.java | 16 +- .../dto/marketdata/VaultoroTrade.java | 24 +- .../dto/trade/VaultoroCancelOrderData.java | 16 +- .../trade/VaultoroCancelOrderResponse.java | 16 +- .../dto/trade/VaultoroNewOrderData.java | 56 +- .../dto/trade/VaultoroNewOrderResponse.java | 16 +- .../vaultoro/dto/trade/VaultoroOpenOrder.java | 32 +- .../dto/trade/VaultoroOrdersResponse.java | 16 +- .../java/org/knowm/xchange/yobit/YoBit.java | 6 +- .../knowm/xchange/yobit/YoBitAdapters.java | 14 +- .../org/knowm/xchange/yobit/YoBitDigest.java | 4 +- .../dto/marketdata/YoBitAsksBidsData.java | 8 +- .../java/org/knowm/xchange/zaif/Zaif.java | 6 +- .../org/knowm/xchange/zaif/ZaifAdapters.java | 1 - .../service/ZaifMarketDataServiceRaw.java | 14 +- 1255 files changed, 14128 insertions(+), 10591 deletions(-) diff --git a/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/AscendexExchange.java b/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/AscendexExchange.java index 51a152f4bd3..6d9d4c34514 100644 --- a/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/AscendexExchange.java +++ b/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/AscendexExchange.java @@ -10,7 +10,9 @@ import org.knowm.xchange.ascendex.service.AscendexTradeService; import org.knowm.xchange.exceptions.ExchangeException; -/** @author makarid */ +/** + * @author makarid + */ public class AscendexExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/IAscendex.java b/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/IAscendex.java index d7d8c676fa4..1506e157bd5 100644 --- a/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/IAscendex.java +++ b/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/IAscendex.java @@ -1,12 +1,12 @@ package org.knowm.xchange.ascendex; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.ascendex.dto.AscendexResponse; import org.knowm.xchange.ascendex.dto.marketdata.AscendexAssetDto; import org.knowm.xchange.ascendex.dto.marketdata.AscendexBarHistDto; @@ -45,4 +45,4 @@ AscendexResponse> getHistoricalBarData( @QueryParam("from") Long from, @QueryParam("n") Integer noOfBars) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/IAscendexAuthenticated.java b/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/IAscendexAuthenticated.java index 9e79904e902..d7f0cb78791 100644 --- a/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/IAscendexAuthenticated.java +++ b/xchange-ascendex/src/main/java/org/knowm/xchange/ascendex/IAscendexAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.ascendex; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.ascendex.dto.AscendexResponse; import org.knowm.xchange.ascendex.dto.account.AscendexCashAccountBalanceDto; import org.knowm.xchange.ascendex.dto.trade.AscendexOpenOrdersResponse; @@ -95,4 +95,4 @@ AscendexResponse> getOrdersHistory( @QueryParam("symbol") String symbol, @QueryParam("executedOnly") boolean executedOnly) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-bankera/src/main/java/org/knowm/xchange/bankera/Bankera.java b/xchange-bankera/src/main/java/org/knowm/xchange/bankera/Bankera.java index ffe30b1faba..ac8f2cf8ef5 100644 --- a/xchange-bankera/src/main/java/org/knowm/xchange/bankera/Bankera.java +++ b/xchange-bankera/src/main/java/org/knowm/xchange/bankera/Bankera.java @@ -1,6 +1,5 @@ package org.knowm.xchange.bankera; -import java.io.IOException; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.POST; @@ -8,6 +7,7 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bankera.dto.BankeraException; import org.knowm.xchange.bankera.dto.BankeraToken; import org.knowm.xchange.bankera.dto.marketdata.BankeraMarketInfo; @@ -45,4 +45,4 @@ BankeraTradesResponse getRecentTrades(@PathParam("market") String market) @GET @Path("/general/info") BankeraMarketInfo getMarketInfo() throws BankeraException, IOException; -} \ No newline at end of file +} diff --git a/xchange-bankera/src/main/java/org/knowm/xchange/bankera/BankeraAuthenticated.java b/xchange-bankera/src/main/java/org/knowm/xchange/bankera/BankeraAuthenticated.java index a04f6f1fea8..670f76bb452 100644 --- a/xchange-bankera/src/main/java/org/knowm/xchange/bankera/BankeraAuthenticated.java +++ b/xchange-bankera/src/main/java/org/knowm/xchange/bankera/BankeraAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.bankera; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -11,6 +9,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.bankera.dto.BankeraException; import org.knowm.xchange.bankera.dto.BaseBankeraRequest; import org.knowm.xchange.bankera.dto.CreateOrderRequest; @@ -68,4 +68,4 @@ BankeraUserTrades getUserTrades( BankeraOrder getUserOrder( @HeaderParam("Authorization") String authorization, @QueryParam("orderId") String orderId) throws BankeraException, IOException; -} \ No newline at end of file +} diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/Bibox.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/Bibox.java index e2bc7481600..6937ed72197 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/Bibox.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/Bibox.java @@ -1,7 +1,5 @@ package org.knowm.xchange.bibox; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.POST; @@ -9,6 +7,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.bibox.dto.BiboxMultipleResponses; import org.knowm.xchange.bibox.dto.BiboxResponse; import org.knowm.xchange.bibox.dto.marketdata.BiboxMarket; @@ -16,7 +16,9 @@ import org.knowm.xchange.bibox.dto.trade.BiboxDeals; import org.knowm.xchange.bibox.dto.trade.BiboxOrderBook; -/** @author odrotleff */ +/** + * @author odrotleff + */ @Path("v1") @Produces(MediaType.APPLICATION_JSON) public interface Bibox { @@ -88,4 +90,4 @@ BiboxResponse> marketAll(@QueryParam("cmd") String cmd) @POST @Path("mdata") BiboxMultipleResponses orderBooks(@FormParam(FORM_CMDS) String cmds); -} \ No newline at end of file +} diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/BiboxAuthenticated.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/BiboxAuthenticated.java index 324ee3d149b..dcbb6e4f21c 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/BiboxAuthenticated.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/BiboxAuthenticated.java @@ -15,7 +15,9 @@ import org.knowm.xchange.bibox.dto.trade.BiboxOrders; import si.mazi.rescu.ParamsDigest; -/** @author odrotleff */ +/** + * @author odrotleff + */ @Path("v1") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces(MediaType.APPLICATION_JSON) @@ -128,4 +130,4 @@ BiboxMultipleResponses cancelTrades( @FormParam(FORM_CMDS) String cmds, @FormParam(FORM_APIKEY) String apiKey, @FormParam(FORM_SIGNATURE) ParamsDigest signature); -} \ No newline at end of file +} diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/BiboxAdapters.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/BiboxAdapters.java index 16949fbd0a5..0089392cfe4 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/BiboxAdapters.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/BiboxAdapters.java @@ -39,7 +39,9 @@ import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.utils.DateUtils; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxAdapters { public static String toBiboxPair(Instrument pair) { @@ -230,6 +232,7 @@ public static Trades adaptDeals(List biboxDeals, CurrencyPair curren .collect(Collectors.toList()); return new Trades(trades, TradeSortType.SortByTimestamp); } + /** * transaction side,1-bid,2-ask * diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/BiboxCommands.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/BiboxCommands.java index dfe97f21486..7293929d49b 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/BiboxCommands.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/BiboxCommands.java @@ -10,7 +10,9 @@ import org.knowm.xchange.bibox.dto.account.BiboxFundsCommandBody; import org.knowm.xchange.bibox.dto.account.BiboxTransferCommandBody; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxCommands extends ArrayList> { public static final BiboxCommands ASSETS_CMD = diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/account/BiboxCoin.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/account/BiboxCoin.java index 7973bf52251..f91369f0051 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/account/BiboxCoin.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/account/BiboxCoin.java @@ -76,169 +76,225 @@ public class BiboxCoin { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The totalBalance */ + /** + * @return The totalBalance + */ @JsonProperty("totalBalance") public BigDecimal getTotalBalance() { return totalBalance; } - /** @param totalBalance The totalBalance */ + /** + * @param totalBalance The totalBalance + */ @JsonProperty("totalBalance") public void setTotalBalance(BigDecimal totalBalance) { this.totalBalance = totalBalance; } - /** @return The balance */ + /** + * @return The balance + */ @JsonProperty("balance") public BigDecimal getBalance() { return balance; } - /** @param balance The balance */ + /** + * @param balance The balance + */ @JsonProperty("balance") public void setBalance(BigDecimal balance) { this.balance = balance; } - /** @return The freeze */ + /** + * @return The freeze + */ @JsonProperty("freeze") public BigDecimal getFreeze() { return freeze; } - /** @param freeze The freeze */ + /** + * @param freeze The freeze + */ @JsonProperty("freeze") public void setFreeze(BigDecimal freeze) { this.freeze = freeze; } - /** @return The id */ + /** + * @return The id + */ @JsonProperty("id") public Integer getId() { return id; } - /** @param id The id */ + /** + * @param id The id + */ @JsonProperty("id") public void setId(Integer id) { this.id = id; } - /** @return The symbol */ + /** + * @return The symbol + */ @JsonProperty("symbol") public String getSymbol() { return symbol; } - /** @param symbol The symbol */ + /** + * @param symbol The symbol + */ @JsonProperty("symbol") public void setSymbol(String symbol) { this.symbol = symbol; } - /** @return The iconUrl */ + /** + * @return The iconUrl + */ @JsonProperty("icon_url") public URI getIconUrl() { return iconUrl; } - /** @param iconUrl The icon_url */ + /** + * @param iconUrl The icon_url + */ @JsonProperty("icon_url") public void setIconUrl(URI iconUrl) { this.iconUrl = iconUrl; } - /** @return The describeUrl */ + /** + * @return The describeUrl + */ @JsonProperty("describe_url") public String getDescribeUrl() { return describeUrl; } - /** @param describeUrl The describe_url */ + /** + * @param describeUrl The describe_url + */ @JsonProperty("describe_url") public void setDescribeUrl(String describeUrl) { this.describeUrl = describeUrl; } - /** @return The name */ + /** + * @return The name + */ @JsonProperty("name") public String getName() { return name; } - /** @param name The name */ + /** + * @param name The name + */ @JsonProperty("name") public void setName(String name) { this.name = name; } - /** @return The enableWithdraw */ + /** + * @return The enableWithdraw + */ @JsonProperty("enable_withdraw") public boolean getEnableWithdraw() { return enableWithdraw; } - /** @param enableWithdraw The enable_withdraw */ + /** + * @param enableWithdraw The enable_withdraw + */ @JsonProperty("enable_withdraw") public void setEnableWithdraw(boolean enableWithdraw) { this.enableWithdraw = enableWithdraw; } - /** @return The enableDeposit */ + /** + * @return The enableDeposit + */ @JsonProperty("enable_deposit") public boolean getEnableDeposit() { return enableDeposit; } - /** @param enableDeposit The enable_deposit */ + /** + * @param enableDeposit The enable_deposit + */ @JsonProperty("enable_deposit") public void setEnableDeposit(boolean enableDeposit) { this.enableDeposit = enableDeposit; } - /** @return The confirmCount */ + /** + * @return The confirmCount + */ @JsonProperty("confirm_count") public Integer getConfirmCount() { return confirmCount; } - /** @param confirmCount The confirm_count */ + /** + * @param confirmCount The confirm_count + */ @JsonProperty("confirm_count") public void setConfirmCount(Integer confirmCount) { this.confirmCount = confirmCount; } - /** @return The btcValue */ + /** + * @return The btcValue + */ @JsonProperty("BTCValue") public BigDecimal getBtcValue() { return btcValue; } - /** @param btcValue The BTCValue */ + /** + * @param btcValue The BTCValue + */ @JsonProperty("BTCValue") public void setBtcValue(BigDecimal bTCValue) { this.btcValue = bTCValue; } - /** @return The cnyValue */ + /** + * @return The cnyValue + */ @JsonProperty("CNYValue") public BigDecimal getCnyValue() { return cnyValue; } - /** @param cnyValue The CNYValue */ + /** + * @param cnyValue The CNYValue + */ @JsonProperty("CNYValue") public void setCnyValue(BigDecimal cNYValue) { this.cnyValue = cNYValue; } - /** @return The usdValue */ + /** + * @return The usdValue + */ @JsonProperty("USDValue") public BigDecimal getUsdValue() { return usdValue; } - /** @param usdValue The USDValue */ + /** + * @param usdValue The USDValue + */ @JsonProperty("USDValue") public void setUsdValue(BigDecimal usdValue) { this.usdValue = usdValue; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxMarket.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxMarket.java index 29bf92b1b71..673bf86f32e 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxMarket.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxMarket.java @@ -6,7 +6,9 @@ import java.math.BigDecimal; import javax.annotation.Generated; -/** @author odrotleff */ +/** + * @author odrotleff + */ @JsonInclude(JsonInclude.Include.NON_NULL) @Generated("org.jsonschema2pojo") @JsonPropertyOrder({ @@ -77,193 +79,257 @@ public class BiboxMarket { @JsonProperty("low_usd") private BigDecimal lowUsd; - /** @return The id */ + /** + * @return The id + */ @JsonProperty("id") public long getId() { return id; } - /** @param id The id */ + /** + * @param id The id + */ @JsonProperty("id") public void setId(long id) { this.id = id; } - /** @return The coinSymbol */ + /** + * @return The coinSymbol + */ @JsonProperty("coin_symbol") public String getCoinSymbol() { return coinSymbol; } - /** @param coinSymbol The coin_symbol */ + /** + * @param coinSymbol The coin_symbol + */ @JsonProperty("coin_symbol") public void setCoinSymbol(String coinSymbol) { this.coinSymbol = coinSymbol; } - /** @return The currencySymbol */ + /** + * @return The currencySymbol + */ @JsonProperty("currency_symbol") public String getCurrencySymbol() { return currencySymbol; } - /** @param currencySymbol The currency_symbol */ + /** + * @param currencySymbol The currency_symbol + */ @JsonProperty("currency_symbol") public void setCurrencySymbol(String currencySymbol) { this.currencySymbol = currencySymbol; } - /** @return The last */ + /** + * @return The last + */ @JsonProperty("last") public BigDecimal getLast() { return last; } - /** @param last The last */ + /** + * @param last The last + */ @JsonProperty("last") public void setLast(BigDecimal last) { this.last = last; } - /** @return The high */ + /** + * @return The high + */ @JsonProperty("high") public BigDecimal getHigh() { return high; } - /** @param high The high */ + /** + * @param high The high + */ @JsonProperty("high") public void setHigh(BigDecimal high) { this.high = high; } - /** @return The low */ + /** + * @return The low + */ @JsonProperty("low") public BigDecimal getLow() { return low; } - /** @param low The low */ + /** + * @param low The low + */ @JsonProperty("low") public void setLow(BigDecimal low) { this.low = low; } - /** @return The change */ + /** + * @return The change + */ @JsonProperty("change") public BigDecimal getChange() { return change; } - /** @param change The change */ + /** + * @param change The change + */ @JsonProperty("change") public void setChange(BigDecimal change) { this.change = change; } - /** @return The percent */ + /** + * @return The percent + */ @JsonProperty("percent") public String getPercent() { return percent; } - /** @param percent The percent */ + /** + * @param percent The percent + */ @JsonProperty("percent") public void setPercent(String percent) { this.percent = percent; } - /** @return The vol24H */ + /** + * @return The vol24H + */ @JsonProperty("vol24H") public BigDecimal getVol24H() { return vol24H; } - /** @param vol24H The vol24H */ + /** + * @param vol24H The vol24H + */ @JsonProperty("vol24H") public void setVol24H(BigDecimal vol24H) { this.vol24H = vol24H; } - /** @return The amount */ + /** + * @return The amount + */ @JsonProperty("amount") public BigDecimal getAmount() { return amount; } - /** @param amount The amount */ + /** + * @param amount The amount + */ @JsonProperty("amount") public void setAmount(BigDecimal amount) { this.amount = amount; } - /** @return The lastCny */ + /** + * @return The lastCny + */ @JsonProperty("last_cny") public BigDecimal getLastCny() { return lastCny; } - /** @param lastCny The last_cny */ + /** + * @param lastCny The last_cny + */ @JsonProperty("last_cny") public void setLastCny(BigDecimal lastCny) { this.lastCny = lastCny; } - /** @return The highCny */ + /** + * @return The highCny + */ @JsonProperty("high_cny") public BigDecimal getHighCny() { return highCny; } - /** @param highCny The high_cny */ + /** + * @param highCny The high_cny + */ @JsonProperty("high_cny") public void setHighCny(BigDecimal highCny) { this.highCny = highCny; } - /** @return The lowCny */ + /** + * @return The lowCny + */ @JsonProperty("low_cny") public BigDecimal getLowCny() { return lowCny; } - /** @param lowCny The low_cny */ + /** + * @param lowCny The low_cny + */ @JsonProperty("low_cny") public void setLowCny(BigDecimal lowCny) { this.lowCny = lowCny; } - /** @return The lastUsd */ + /** + * @return The lastUsd + */ @JsonProperty("last_usd") public BigDecimal getLastUsd() { return lastUsd; } - /** @param lastUsd The last_usd */ + /** + * @param lastUsd The last_usd + */ @JsonProperty("last_usd") public void setLastUsd(BigDecimal lastUsd) { this.lastUsd = lastUsd; } - /** @return The highUsd */ + /** + * @return The highUsd + */ @JsonProperty("high_usd") public BigDecimal getHighUsd() { return highUsd; } - /** @param highUsd The high_usd */ + /** + * @param highUsd The high_usd + */ @JsonProperty("high_usd") public void setHighUsd(BigDecimal highUsd) { this.highUsd = highUsd; } - /** @return The lowUsd */ + /** + * @return The lowUsd + */ @JsonProperty("low_usd") public BigDecimal getLowUsd() { return lowUsd; } - /** @param lowUsd The low_usd */ + /** + * @param lowUsd The low_usd + */ @JsonProperty("low_usd") public void setLowUsd(BigDecimal lowUsd) { this.lowUsd = lowUsd; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxOrderBookCommandBody.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxOrderBookCommandBody.java index b62f980b0a6..8a5dae59e25 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxOrderBookCommandBody.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxOrderBookCommandBody.java @@ -1,6 +1,8 @@ package org.knowm.xchange.bibox.dto.marketdata; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxOrderBookCommandBody { private String pair; private Integer size; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxTicker.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxTicker.java index 9436769b1be..4d12a8ec8f5 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxTicker.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/marketdata/BiboxTicker.java @@ -53,127 +53,168 @@ public class BiboxTicker { @JsonProperty("last_usd") private BigDecimal lastUsd; + // yes, I'm lazy @JsonProperty("percent") private String percent; @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The buy */ + /** + * @return The buy + */ @JsonProperty("buy") public BigDecimal getBuy() { return buy; } - /** @param buy The buy */ + /** + * @param buy The buy + */ @JsonProperty("buy") public void setBuy(BigDecimal buy) { this.buy = buy; } - /** @return The high */ + /** + * @return The high + */ @JsonProperty("high") public BigDecimal getHigh() { return high; } - /** @param high The high */ + /** + * @param high The high + */ @JsonProperty("high") public void setHigh(BigDecimal high) { this.high = high; } - /** @return The last */ + /** + * @return The last + */ @JsonProperty("last") public BigDecimal getLast() { return last; } - /** @param last The last */ + /** + * @param last The last + */ @JsonProperty("last") public void setLast(BigDecimal last) { this.last = last; } - /** @return The low */ + /** + * @return The low + */ @JsonProperty("low") public BigDecimal getLow() { return low; } - /** @param low The low */ + /** + * @param low The low + */ @JsonProperty("low") public void setLow(BigDecimal low) { this.low = low; } - /** @return The sell */ + /** + * @return The sell + */ @JsonProperty("sell") public BigDecimal getSell() { return sell; } - /** @param sell The sell */ + /** + * @param sell The sell + */ @JsonProperty("sell") public void setSell(BigDecimal sell) { this.sell = sell; } - /** @return The timestamp */ + /** + * @return The timestamp + */ @JsonProperty("timestamp") public long getTimestamp() { return timestamp; } - /** @param timestamp The timestamp */ + /** + * @param timestamp The timestamp + */ @JsonProperty("timestamp") public void setTimestamp(long timestamp) { this.timestamp = timestamp; } - /** @return The vol */ + /** + * @return The vol + */ @JsonProperty("vol") public BigDecimal getVol() { return vol; } - /** @param vol The vol */ + /** + * @param vol The vol + */ @JsonProperty("vol") public void setVol(BigDecimal vol) { this.vol = vol; } - /** @return The lastCny */ + /** + * @return The lastCny + */ @JsonProperty("last_cny") public BigDecimal getLastCny() { return lastCny; } - /** @param lastCny The last_cny */ + /** + * @param lastCny The last_cny + */ @JsonProperty("last_cny") public void setLastCny(BigDecimal lastCny) { this.lastCny = lastCny; } - /** @return The lastUsd */ + /** + * @return The lastUsd + */ @JsonProperty("last_usd") public BigDecimal getLastUsd() { return lastUsd; } - /** @param lastUsd The last_usd */ + /** + * @param lastUsd The last_usd + */ @JsonProperty("last_usd") public void setLastUsd(BigDecimal lastUsd) { this.lastUsd = lastUsd; } - /** @return The percent */ + /** + * @return The percent + */ @JsonProperty("percent") public String getPercent() { return percent; } - /** @param percent The percent */ + /** + * @param percent The percent + */ @JsonProperty("percent") public void setPercent(String percent) { this.percent = percent; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxAccountType.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxAccountType.java index e67ed9a441f..eac3cd90f6a 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxAccountType.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxAccountType.java @@ -1,6 +1,8 @@ package org.knowm.xchange.bibox.dto.trade; -/** @author odrotleff */ +/** + * @author odrotleff + */ public enum BiboxAccountType { REGULAR(0), MARGIN(1); diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxCancelTradeCommand.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxCancelTradeCommand.java index 3479d6435fb..3af25e7b9f9 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxCancelTradeCommand.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxCancelTradeCommand.java @@ -2,7 +2,9 @@ import org.knowm.xchange.bibox.dto.BiboxCommand; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxCancelTradeCommand extends BiboxCommand { public BiboxCancelTradeCommand(String orderId) { diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxCancelTradeCommandBody.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxCancelTradeCommandBody.java index 3e8fd9638c7..26d19d35f6d 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxCancelTradeCommandBody.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxCancelTradeCommandBody.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author odrotleff */ +/** + * @author odrotleff + */ class BiboxCancelTradeCommandBody { @JsonProperty("orders_id") diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxDeals.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxDeals.java index 84a486e1cff..59bfa7c88b9 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxDeals.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxDeals.java @@ -21,15 +21,19 @@ public class BiboxDeals { @JsonProperty("pair") private String pair; + /** transaction price */ @JsonProperty("price") private BigDecimal price; + /** transaction amount */ @JsonProperty("amount") private BigDecimal amount; + /** transaction time */ @JsonProperty("time") private long time; + /** transaction side,1-bid,2-ask */ @JsonProperty("side") private int side; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrder.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrder.java index 6154940e518..8fbd5affb93 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrder.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrder.java @@ -11,7 +11,9 @@ import java.util.Map; import javax.annotation.Generated; -/** @author odrotleff */ +/** + * @author odrotleff + */ @JsonInclude(JsonInclude.Include.NON_NULL) @Generated("org.jsonschema2pojo") @JsonPropertyOrder({ @@ -73,6 +75,7 @@ public class BiboxOrder { @JsonProperty("unexecuted") private BigDecimal unexecuted; + /** only for order history */ @JsonProperty("fee") private BigDecimal fee; @@ -82,169 +85,225 @@ public class BiboxOrder { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The id */ + /** + * @return The id + */ @JsonProperty("id") public String getId() { return id; } - /** @param id The id */ + /** + * @param id The id + */ @JsonProperty("id") public void setId(String id) { this.id = id; } - /** @return The createdAt */ + /** + * @return The createdAt + */ @JsonProperty("createdAt") public long getCreatedAt() { return createdAt; } - /** @param createdAt The createdAt */ + /** + * @param createdAt The createdAt + */ @JsonProperty("createdAt") public void setCreatedAt(long createdAt) { this.createdAt = createdAt; } - /** @return The accountType */ + /** + * @return The accountType + */ @JsonProperty("account_type") public BiboxAccountType getAccountType() { return accountType; } - /** @param accountType The account_type */ + /** + * @param accountType The account_type + */ @JsonProperty("account_type") public void setAccountType(BiboxAccountType accountType) { this.accountType = accountType; } - /** @return The coinSymbol */ + /** + * @return The coinSymbol + */ @JsonProperty("coin_symbol") public String getCoinSymbol() { return coinSymbol; } - /** @param coinSymbol The coin_symbol */ + /** + * @param coinSymbol The coin_symbol + */ @JsonProperty("coin_symbol") public void setCoinSymbol(String coinSymbol) { this.coinSymbol = coinSymbol; } - /** @return The currencySymbol */ + /** + * @return The currencySymbol + */ @JsonProperty("currency_symbol") public String getCurrencySymbol() { return currencySymbol; } - /** @param currencySymbol The currency_symbol */ + /** + * @param currencySymbol The currency_symbol + */ @JsonProperty("currency_symbol") public void setCurrencySymbol(String currencySymbol) { this.currencySymbol = currencySymbol; } - /** @return The orderSide */ + /** + * @return The orderSide + */ @JsonProperty("order_side") public BiboxOrderSide getOrderSide() { return orderSide; } - /** @param orderSide The order_side */ + /** + * @param orderSide The order_side + */ @JsonProperty("order_side") public void setOrderSide(BiboxOrderSide orderSide) { this.orderSide = orderSide; } - /** @return The orderType */ + /** + * @return The orderType + */ @JsonProperty("order_type") public BiboxOrderType getOrderType() { return orderType; } - /** @param orderType The order_type */ + /** + * @param orderType The order_type + */ @JsonProperty("order_type") public void setOrderType(BiboxOrderType orderType) { this.orderType = orderType; } - /** @return The price */ + /** + * @return The price + */ @JsonProperty("price") public BigDecimal getPrice() { return price; } - /** @param price The price */ + /** + * @param price The price + */ @JsonProperty("price") public void setPrice(BigDecimal price) { this.price = price; } - /** @return The amount */ + /** + * @return The amount + */ @JsonProperty("amount") public BigDecimal getAmount() { return amount; } - /** @param amount The amount */ + /** + * @param amount The amount + */ @JsonProperty("amount") public void setAmount(BigDecimal amount) { this.amount = amount; } - /** @return The money */ + /** + * @return The money + */ @JsonProperty("money") public BigDecimal getMoney() { return money; } - /** @param money The money */ + /** + * @param money The money + */ @JsonProperty("money") public void setMoney(BigDecimal money) { this.money = money; } - /** @return The dealAmount */ + /** + * @return The dealAmount + */ @JsonProperty("deal_amount") public BigDecimal getDealAmount() { return dealAmount; } - /** @param dealAmount The deal_amount */ + /** + * @param dealAmount The deal_amount + */ @JsonProperty("deal_amount") public void setDealAmount(BigDecimal dealAmount) { this.dealAmount = dealAmount; } - /** @return The dealPercent */ + /** + * @return The dealPercent + */ @JsonProperty("deal_percent") public String getDealPercent() { return dealPercent; } - /** @param dealPercent The deal_percent */ + /** + * @param dealPercent The deal_percent + */ @JsonProperty("deal_percent") public void setDealPercent(String dealPercent) { this.dealPercent = dealPercent; } - /** @return The status */ + /** + * @return The status + */ @JsonProperty("status") public BiboxOrderStatus getStatus() { return status; } - /** @param status The status */ + /** + * @param status The status + */ @JsonProperty("status") public void setStatus(BiboxOrderStatus status) { this.status = status; } - /** @return The unexecuted */ + /** + * @return The unexecuted + */ @JsonProperty("unexecuted") public BigDecimal getUnexecuted() { return unexecuted; } - /** @param unexecuted The unexecuted */ + /** + * @param unexecuted The unexecuted + */ @JsonProperty("unexecuted") public void setUnexecuted(BigDecimal unexecuted) { this.unexecuted = unexecuted; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderBook.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderBook.java index 181ce1fa1aa..45a3c3d103b 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderBook.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderBook.java @@ -31,49 +31,65 @@ public class BiboxOrderBook { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The pair */ + /** + * @return The pair + */ @JsonProperty("pair") public String getPair() { return pair; } - /** @param pair The pair */ + /** + * @param pair The pair + */ @JsonProperty("pair") public void setPair(String pair) { this.pair = pair; } - /** @return The updateTime */ + /** + * @return The updateTime + */ @JsonProperty("update_time") public long getUpdateTime() { return updateTime; } - /** @param updateTime The update_time */ + /** + * @param updateTime The update_time + */ @JsonProperty("update_time") public void setUpdateTime(long updateTime) { this.updateTime = updateTime; } - /** @return The asks */ + /** + * @return The asks + */ @JsonProperty("asks") public List getAsks() { return asks; } - /** @param asks The asks */ + /** + * @param asks The asks + */ @JsonProperty("asks") public void setAsks(List asks) { this.asks = asks; } - /** @return The bids */ + /** + * @return The bids + */ @JsonProperty("bids") public List getBids() { return bids; } - /** @param bids The bids */ + /** + * @param bids The bids + */ @JsonProperty("bids") public void setBids(List bids) { this.bids = bids; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderBookEntry.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderBookEntry.java index b601a528165..feef08b218a 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderBookEntry.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderBookEntry.java @@ -24,25 +24,33 @@ public class BiboxOrderBookEntry { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The price */ + /** + * @return The price + */ @JsonProperty("price") public BigDecimal getPrice() { return price; } - /** @param price The price */ + /** + * @param price The price + */ @JsonProperty("price") public void setPrice(BigDecimal price) { this.price = price; } - /** @return The volume */ + /** + * @return The volume + */ @JsonProperty("volume") public BigDecimal getVolume() { return volume; } - /** @param volume The volume */ + /** + * @param volume The volume + */ @JsonProperty("volume") public void setVolume(BigDecimal volume) { this.volume = volume; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderHistoryCommand.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderHistoryCommand.java index 8c5460db95b..2fcc7218de1 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderHistoryCommand.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderHistoryCommand.java @@ -2,7 +2,9 @@ import org.knowm.xchange.bibox.dto.BiboxCommand; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxOrderHistoryCommand extends BiboxCommand { public BiboxOrderHistoryCommand(BiboxOrderPendingListCommandBody body) { diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderPendingListCommand.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderPendingListCommand.java index ae19d2567f6..9b05f344e1b 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderPendingListCommand.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderPendingListCommand.java @@ -2,7 +2,9 @@ import org.knowm.xchange.bibox.dto.BiboxCommand; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxOrderPendingListCommand extends BiboxCommand { public BiboxOrderPendingListCommand(BiboxOrderPendingListCommandBody body) { diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderPendingListCommandBody.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderPendingListCommandBody.java index 81992b72583..8255c8bc0c5 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderPendingListCommandBody.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderPendingListCommandBody.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxOrderPendingListCommandBody { /** the currency pair */ diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderSide.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderSide.java index 9c5388bbc7f..65a3220c48b 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderSide.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderSide.java @@ -4,7 +4,9 @@ import org.knowm.xchange.dto.Order.OrderType; import org.knowm.xchange.exceptions.ExchangeException; -/** @author odrotleff */ +/** + * @author odrotleff + */ public enum BiboxOrderSide { BID(1, OrderType.BID), ASK(2, OrderType.ASK); diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderStatus.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderStatus.java index 17e371169ca..178d01864a2 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderStatus.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderStatus.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonCreator; import org.knowm.xchange.dto.Order.OrderStatus; -/** @author odrotleff */ +/** + * @author odrotleff + */ public enum BiboxOrderStatus { PENDING(1, OrderStatus.NEW), PART_COMPLETED(2, OrderStatus.PARTIALLY_FILLED), diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderType.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderType.java index b6e3063b21a..56c397b21c1 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderType.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrderType.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonCreator; -/** @author odrotleff */ +/** + * @author odrotleff + */ public enum BiboxOrderType { MARKET_ORDER(1), LIMIT_ORDER(2); diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrders.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrders.java index a71be050757..1e2fb359c3a 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrders.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxOrders.java @@ -12,7 +12,9 @@ import java.util.Map; import javax.annotation.Generated; -/** @author odrotleff */ +/** + * @author odrotleff + */ @JsonInclude(JsonInclude.Include.NON_NULL) @Generated("org.jsonschema2pojo") @JsonPropertyOrder({"count", "page", "items"}) @@ -29,37 +31,49 @@ public class BiboxOrders { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The count */ + /** + * @return The count + */ @JsonProperty("count") public Integer getCount() { return count; } - /** @param count The count */ + /** + * @param count The count + */ @JsonProperty("count") public void setCount(Integer count) { this.count = count; } - /** @return The page */ + /** + * @return The page + */ @JsonProperty("page") public Integer getPage() { return page; } - /** @param page The page */ + /** + * @param page The page + */ @JsonProperty("page") public void setPage(Integer page) { this.page = page; } - /** @return The items */ + /** + * @return The items + */ @JsonProperty("items") public List getItems() { return items; } - /** @param items The items */ + /** + * @param items The items + */ @JsonProperty("items") public void setItems(List items) { this.items = items; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxTradeCommand.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxTradeCommand.java index 241748b8a00..ae4ed34a9a7 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxTradeCommand.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/dto/trade/BiboxTradeCommand.java @@ -3,7 +3,9 @@ import java.math.BigDecimal; import org.knowm.xchange.bibox.dto.BiboxCommand; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxTradeCommand extends BiboxCommand { public BiboxTradeCommand( diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxAccountService.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxAccountService.java index f74b7578c76..0eba0d8be80 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxAccountService.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxAccountService.java @@ -18,7 +18,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxAccountService extends BiboxAccountServiceRaw implements AccountService { public BiboxAccountService(Exchange exchange) { diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxAccountServiceRaw.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxAccountServiceRaw.java index 24b3c28b406..6c77e9992b9 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxAccountServiceRaw.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxAccountServiceRaw.java @@ -18,7 +18,9 @@ import org.knowm.xchange.currency.Currency; import org.knowm.xchange.exceptions.ExchangeException; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxAccountServiceRaw extends BiboxBaseService { protected BiboxAccountServiceRaw(Exchange exchange) { diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxDigest.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxDigest.java index 0fda990d3c6..cebe68548bd 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxDigest.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxDigest.java @@ -1,7 +1,7 @@ package org.knowm.xchange.bibox.service; -import java.io.UnsupportedEncodingException; import jakarta.ws.rs.FormParam; +import java.io.UnsupportedEncodingException; import org.knowm.xchange.bibox.BiboxAuthenticated; import org.knowm.xchange.service.BaseParamsDigest; import org.knowm.xchange.utils.DigestUtils; @@ -37,4 +37,4 @@ public String digestParams(RestInvocation restInvocation) { throw new RuntimeException(e1.getMessage()); } } -} \ No newline at end of file +} diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxMarketDataServiceRaw.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxMarketDataServiceRaw.java index 51d18ab2b88..37b5590ed3f 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxMarketDataServiceRaw.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxMarketDataServiceRaw.java @@ -23,7 +23,9 @@ import org.knowm.xchange.exceptions.ExchangeException; import org.knowm.xchange.instrument.Instrument; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxMarketDataServiceRaw extends BiboxBaseService { private static final String TICKER_CMD = "ticker"; diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxTradeService.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxTradeService.java index d23abc2cd78..b577b0bbc14 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxTradeService.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxTradeService.java @@ -17,7 +17,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxTradeService extends BiboxTradeServiceRaw implements TradeService { public BiboxTradeService(Exchange exchange) { diff --git a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxTradeServiceRaw.java b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxTradeServiceRaw.java index 5feb398d0bb..7a060ed769c 100644 --- a/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxTradeServiceRaw.java +++ b/xchange-bibox/src/main/java/org/knowm/xchange/bibox/service/BiboxTradeServiceRaw.java @@ -22,7 +22,9 @@ import org.knowm.xchange.dto.trade.MarketOrder; import org.knowm.xchange.exceptions.ExchangeException; -/** @author odrotleff */ +/** + * @author odrotleff + */ public class BiboxTradeServiceRaw extends BiboxBaseService { public BiboxTradeServiceRaw(Exchange exchange) { diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/Binance.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/Binance.java index 4bfb59fbba7..78142f0d195 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/Binance.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/Binance.java @@ -1,12 +1,12 @@ package org.knowm.xchange.binance; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.binance.dto.BinanceException; import org.knowm.xchange.binance.dto.marketdata.BinanceAggTrades; import org.knowm.xchange.binance.dto.marketdata.BinanceOrderbook; @@ -181,4 +181,4 @@ BinancePrice tickerPrice(@QueryParam("symbol") String symbol) @GET @Path("api/v3/ticker/bookTicker") List tickerAllBookTickers() throws IOException, BinanceException; -} \ No newline at end of file +} diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceAdapters.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceAdapters.java index 8c6f93db342..a041731e920 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceAdapters.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceAdapters.java @@ -7,11 +7,10 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; import java.util.*; +import java.util.ArrayList; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; - import org.knowm.xchange.binance.dto.account.AssetDetail; import org.knowm.xchange.binance.dto.account.BinanceAccountInformation; import org.knowm.xchange.binance.dto.account.futures.BinanceFutureAccountInformation; @@ -65,42 +64,43 @@ public static LocalDateTime toLocalDateTime(String dateTime) { return LocalDateTime.parse(dateTime, DATE_TIME_FMT); } - public static String toSymbol(Instrument pair ) { + public static String toSymbol(Instrument pair) { - return toSymbol(pair, false ); + return toSymbol(pair, false); } - public static String toInverseSymbol(Instrument pair ) { + public static String toInverseSymbol(Instrument pair) { - return toSymbol(pair, true ); + return toSymbol(pair, true); } - public static Boolean isInverse(Instrument pair ) { - if(pair instanceof FuturesContract && pair.getCounter().equals(Currency.USD)){ + public static Boolean isInverse(Instrument pair) { + if (pair instanceof FuturesContract && pair.getCounter().equals(Currency.USD)) { return true; - } else{ + } else { return false; } - } - public static String toSymbol(Instrument pair, Boolean isInverse ) { + public static String toSymbol(Instrument pair, Boolean isInverse) { String symbol; if (pair.equals(CurrencyPair.IOTA_BTC)) { symbol = "IOTABTC"; - } else if(pair instanceof FuturesContract){ - if(isInverse){ + } else if (pair instanceof FuturesContract) { + if (isInverse) { FuturesContract contract = (FuturesContract) pair; - symbol =contract.getCurrencyPair().toString().replace("/", ""); - symbol=symbol+"_"+contract.getPrompt(); - }else { + symbol = contract.getCurrencyPair().toString().replace("/", ""); + symbol = symbol + "_" + contract.getPrompt(); + } else { symbol = ((FuturesContract) pair).getCurrencyPair().toString().replace("/", ""); } - } else if(pair instanceof OptionsContract) { - symbol = ((OptionsContract) pair).getCurrencyPair().toString().replace("/",""); + } else if (pair instanceof OptionsContract) { + symbol = ((OptionsContract) pair).getCurrencyPair().toString().replace("/", ""); } else { - symbol = ((CurrencyPair)pair).base.getCurrencyCode() + ((CurrencyPair)pair).counter.getCurrencyCode(); + symbol = + ((CurrencyPair) pair).base.getCurrencyCode() + + ((CurrencyPair) pair).counter.getCurrencyCode(); } return symbol; } @@ -192,25 +192,25 @@ public static Instrument adaptSymbol(String symbol, boolean isFuture) { } else if (symbol.endsWith("BUSD")) { currencyPair = new CurrencyPair(symbol.substring(0, pairLength - 4), "BUSD"); } else { - currencyPair = new CurrencyPair( - symbol.substring(0, pairLength - 3), symbol.substring(pairLength - 3)); + currencyPair = + new CurrencyPair(symbol.substring(0, pairLength - 3), symbol.substring(pairLength - 3)); } - return (isFuture) ? new FuturesContract(currencyPair,"PERP") : currencyPair; + return (isFuture) ? new FuturesContract(currencyPair, "PERP") : currencyPair; } - public static OpenOrders adaptOpenOrders(List binanceOrders, boolean isFuture){ + public static OpenOrders adaptOpenOrders(List binanceOrders, boolean isFuture) { List limitOrders = new ArrayList<>(); List otherOrders = new ArrayList<>(); binanceOrders.forEach( - binanceOrder -> { - Order order = BinanceAdapters.adaptOrder(binanceOrder, isFuture); - if (order instanceof LimitOrder) { - limitOrders.add((LimitOrder) order); - } else { - otherOrders.add(order); - } - }); + binanceOrder -> { + Order order = BinanceAdapters.adaptOrder(binanceOrder, isFuture); + if (order instanceof LimitOrder) { + limitOrders.add((LimitOrder) order); + } else { + otherOrders.add(order); + } + }); return new OpenOrders(limitOrders, otherOrders); } @@ -253,7 +253,8 @@ private static Ticker adaptPriceQuantity(BinancePriceQuantity priceQuantity, boo .build(); } - public static List adaptPriceQuantities(List priceQuantities, boolean isFuture) { + public static List adaptPriceQuantities( + List priceQuantities, boolean isFuture) { return priceQuantities.stream() .map(binancePriceQuantity -> adaptPriceQuantity(binancePriceQuantity, isFuture)) .collect(Collectors.toList()); @@ -308,59 +309,80 @@ public static org.knowm.xchange.binance.dto.trade.OrderType adaptOrderType(StopO switch (order.getIntention()) { case STOP_LOSS: return order.getLimitPrice() == null - ? (order.getInstrument() instanceof CurrencyPair) ? org.knowm.xchange.binance.dto.trade.OrderType.STOP_LOSS: org.knowm.xchange.binance.dto.trade.OrderType.STOP_MARKET - : (order.getInstrument() instanceof CurrencyPair) ? org.knowm.xchange.binance.dto.trade.OrderType.STOP_LOSS_LIMIT: org.knowm.xchange.binance.dto.trade.OrderType.STOP; + ? (order.getInstrument() instanceof CurrencyPair) + ? org.knowm.xchange.binance.dto.trade.OrderType.STOP_LOSS + : org.knowm.xchange.binance.dto.trade.OrderType.STOP_MARKET + : (order.getInstrument() instanceof CurrencyPair) + ? org.knowm.xchange.binance.dto.trade.OrderType.STOP_LOSS_LIMIT + : org.knowm.xchange.binance.dto.trade.OrderType.STOP; case TAKE_PROFIT: return order.getLimitPrice() == null - ? (order.getInstrument() instanceof CurrencyPair) ? org.knowm.xchange.binance.dto.trade.OrderType.TAKE_PROFIT : org.knowm.xchange.binance.dto.trade.OrderType.TAKE_PROFIT_MARKET - : (order.getInstrument() instanceof CurrencyPair) ? org.knowm.xchange.binance.dto.trade.OrderType.TAKE_PROFIT_LIMIT : org.knowm.xchange.binance.dto.trade.OrderType.TAKE_PROFIT; + ? (order.getInstrument() instanceof CurrencyPair) + ? org.knowm.xchange.binance.dto.trade.OrderType.TAKE_PROFIT + : org.knowm.xchange.binance.dto.trade.OrderType.TAKE_PROFIT_MARKET + : (order.getInstrument() instanceof CurrencyPair) + ? org.knowm.xchange.binance.dto.trade.OrderType.TAKE_PROFIT_LIMIT + : org.knowm.xchange.binance.dto.trade.OrderType.TAKE_PROFIT; default: throw new IllegalStateException("Unexpected value: " + order.getIntention()); } } - public static Wallet adaptBinanceFutureWallet(BinanceFutureAccountInformation futureAccountInformation){ + + public static Wallet adaptBinanceFutureWallet( + BinanceFutureAccountInformation futureAccountInformation) { BigDecimal totalPositionsInUsd = BigDecimal.ZERO; for (BinancePosition position : futureAccountInformation.getPositions()) { - if(position.getPositionAmt().abs().compareTo(BigDecimal.ZERO) > 0){ - totalPositionsInUsd = totalPositionsInUsd.add(position.getPositionAmt().abs().multiply(position.getEntryPrice())); + if (position.getPositionAmt().abs().compareTo(BigDecimal.ZERO) > 0) { + totalPositionsInUsd = + totalPositionsInUsd.add( + position.getPositionAmt().abs().multiply(position.getEntryPrice())); } } return new Wallet.Builder() - .balances(Collections.singletonList(new Balance.Builder() + .balances( + Collections.singletonList( + new Balance.Builder() .currency(Currency.USD) .total(futureAccountInformation.getTotalWalletBalance()) .build())) - .id("futures") - .currentLeverage((totalPositionsInUsd.compareTo(BigDecimal.ZERO) != 0) - ? totalPositionsInUsd.divide(futureAccountInformation.getTotalWalletBalance(),MathContext.DECIMAL32) - : BigDecimal.ZERO) - .features(Collections.singleton(Wallet.WalletFeature.FUTURES_TRADING)) - .build(); + .id("futures") + .currentLeverage( + (totalPositionsInUsd.compareTo(BigDecimal.ZERO) != 0) + ? totalPositionsInUsd.divide( + futureAccountInformation.getTotalWalletBalance(), MathContext.DECIMAL32) + : BigDecimal.ZERO) + .features(Collections.singleton(Wallet.WalletFeature.FUTURES_TRADING)) + .build(); } - public static Wallet adaptBinanceSpotWallet(BinanceAccountInformation binanceAccountInformation){ + + public static Wallet adaptBinanceSpotWallet(BinanceAccountInformation binanceAccountInformation) { List balances = - binanceAccountInformation.balances.stream() - .map(b -> new Balance(b.getCurrency(), b.getTotal(), b.getAvailable())) - .collect(Collectors.toList()); + binanceAccountInformation.balances.stream() + .map(b -> new Balance(b.getCurrency(), b.getTotal(), b.getAvailable())) + .collect(Collectors.toList()); return new Wallet.Builder() - .balances(balances) - .id("spot") - .features(Collections.singleton(Wallet.WalletFeature.TRADING)) - .build(); + .balances(balances) + .id("spot") + .features(Collections.singleton(Wallet.WalletFeature.TRADING)) + .build(); } public static List adaptOpenPositions(List binancePositions) { List openPositions = new ArrayList<>(); for (BinancePosition position : binancePositions) { - if(position.getPositionAmt().abs().compareTo(BigDecimal.ZERO) > 0){ - openPositions.add(new OpenPosition.Builder() + if (position.getPositionAmt().abs().compareTo(BigDecimal.ZERO) > 0) { + openPositions.add( + new OpenPosition.Builder() .size(position.getPositionAmt().abs()) - .type((position.getPositionAmt().compareTo(BigDecimal.ZERO) > 0) ? OpenPosition.Type.LONG : OpenPosition.Type.SHORT) + .type( + (position.getPositionAmt().compareTo(BigDecimal.ZERO) > 0) + ? OpenPosition.Type.LONG + : OpenPosition.Type.SHORT) .unRealisedPnl(position.getUnrealizedProfit()) .price(position.getEntryPrice()) .instrument(adaptSymbol(position.getSymbol(), true)) @@ -373,39 +395,39 @@ public static List adaptOpenPositions(List binanc public static UserTrades adaptUserTrades(List binanceTrades, boolean isFuture) { List trades = - binanceTrades.stream() - .map( - t -> - UserTrade.builder() - .type(BinanceAdapters.convertType(t.isBuyer)) - .originalAmount(t.qty) - .instrument(adaptSymbol(t.symbol, isFuture)) - .price(t.price) - .timestamp(t.getTime()) - .id(Long.toString(t.id)) - .orderId(Long.toString(t.orderId)) - .feeAmount(t.commission) - .feeCurrency(Currency.getInstance(t.commissionAsset)) - .build()) - .collect(Collectors.toList()); + binanceTrades.stream() + .map( + t -> + UserTrade.builder() + .type(BinanceAdapters.convertType(t.isBuyer)) + .originalAmount(t.qty) + .instrument(adaptSymbol(t.symbol, isFuture)) + .price(t.price) + .timestamp(t.getTime()) + .id(Long.toString(t.id)) + .orderId(Long.toString(t.orderId)) + .feeAmount(t.commission) + .feeCurrency(Currency.getInstance(t.commissionAsset)) + .build()) + .collect(Collectors.toList()); long lastId = binanceTrades.stream().map(t -> t.id).max(Long::compareTo).orElse(0L); return new UserTrades(trades, lastId, Trades.TradeSortType.SortByTimestamp); } public static Trades adaptTrades(List aggTrades, Instrument instrument) { List trades = - aggTrades.stream() - .map( - at -> - new Trade.Builder() - .type(BinanceAdapters.convertType(at.buyerMaker)) - .originalAmount(at.quantity) - .instrument(instrument) - .price(at.price) - .timestamp(at.getTimestamp()) - .id(Long.toString(at.aggregateTradeId)) - .build()) - .collect(Collectors.toList()); + aggTrades.stream() + .map( + at -> + new Trade.Builder() + .type(BinanceAdapters.convertType(at.buyerMaker)) + .originalAmount(at.quantity) + .instrument(instrument) + .price(at.price) + .timestamp(at.getTimestamp()) + .id(Long.toString(at.aggregateTradeId)) + .build()) + .collect(Collectors.toList()); return new Trades(trades, Trades.TradeSortType.SortByTimestamp); } @@ -437,7 +459,9 @@ public static CandleStickData adaptBinanceCandleStickData( return candleStickData; } - public static void adaptFutureExchangeMetaData(ExchangeMetaData exchangeMetaData, BinanceExchangeInfo binanceExchangeInfo){ + + public static void adaptFutureExchangeMetaData( + ExchangeMetaData exchangeMetaData, BinanceExchangeInfo binanceExchangeInfo) { Symbol[] futureSymbols = binanceExchangeInfo.getSymbols(); for (Symbol futureSymbol : futureSymbols) { @@ -453,7 +477,9 @@ public static void adaptFutureExchangeMetaData(ExchangeMetaData exchangeMetaData BigDecimal counterMaxQty = null; Instrument currentCurrencyPair = - new FuturesContract(new CurrencyPair(futureSymbol.getBaseAsset()+"/"+futureSymbol.getQuoteAsset()), "PERP"); + new FuturesContract( + new CurrencyPair(futureSymbol.getBaseAsset() + "/" + futureSymbol.getQuoteAsset()), + "PERP"); for (Filter filter : futureSymbol.getFilters()) { switch (filter.getFilterType()) { @@ -468,27 +494,35 @@ public static void adaptFutureExchangeMetaData(ExchangeMetaData exchangeMetaData stepSize = new BigDecimal(filter.getStepSize()).stripTrailingZeros(); break; case "MIN_NOTIONAL": - counterMinQty = (filter.getMinNotional() != null) ? new BigDecimal(filter.getMinNotional()).stripTrailingZeros() : null; + counterMinQty = + (filter.getMinNotional() != null) + ? new BigDecimal(filter.getMinNotional()).stripTrailingZeros() + : null; break; } } - exchangeMetaData.getInstruments().put( + exchangeMetaData + .getInstruments() + .put( currentCurrencyPair, new InstrumentMetaData.Builder() - .minimumAmount(minQty) - .maximumAmount(maxQty) - .counterMinimumAmount(counterMinQty) - .counterMaximumAmount(counterMaxQty) - .volumeScale(amountPrecision) - .priceScale(pairPrecision) - .amountStepSize(stepSize) - .marketOrderEnabled(Arrays.asList(futureSymbol.getOrderTypes()).contains("MARKET")) - .build()); + .minimumAmount(minQty) + .maximumAmount(maxQty) + .counterMinimumAmount(counterMinQty) + .counterMaximumAmount(counterMaxQty) + .volumeScale(amountPrecision) + .priceScale(pairPrecision) + .amountStepSize(stepSize) + .marketOrderEnabled( + Arrays.asList(futureSymbol.getOrderTypes()).contains("MARKET")) + .build()); } } } - public static ExchangeMetaData adaptExchangeMetaData(BinanceExchangeInfo binanceExchangeInfo, Map assetDetailMap) { + + public static ExchangeMetaData adaptExchangeMetaData( + BinanceExchangeInfo binanceExchangeInfo, Map assetDetailMap) { // populate currency pair keys only, exchange does not provide any other metadata for download Map instruments = new HashMap<>(); Map currencies = new HashMap<>(); @@ -510,7 +544,7 @@ public static ExchangeMetaData adaptExchangeMetaData(BinanceExchangeInfo binance BigDecimal counterMaxQty = null; CurrencyPair currentCurrencyPair = - new CurrencyPair(symbol.getBaseAsset(), symbol.getQuoteAsset()); + new CurrencyPair(symbol.getBaseAsset(), symbol.getQuoteAsset()); for (Filter filter : symbol.getFilters()) { switch (filter.getFilterType()) { @@ -531,33 +565,33 @@ public static ExchangeMetaData adaptExchangeMetaData(BinanceExchangeInfo binance } instruments.put( - currentCurrencyPair, - new InstrumentMetaData.Builder() - .tradingFee(BigDecimal.valueOf(0.1)) - .minimumAmount(minQty) - .maximumAmount(maxQty) - .counterMinimumAmount(counterMinQty) - .counterMaximumAmount(counterMaxQty) - .volumeScale(amountPrecision) - .priceScale(pairPrecision) - .amountStepSize(stepSize) - .marketOrderEnabled(Arrays.asList(symbol.getOrderTypes()).contains("MARKET")) - .build()); + currentCurrencyPair, + new InstrumentMetaData.Builder() + .tradingFee(BigDecimal.valueOf(0.1)) + .minimumAmount(minQty) + .maximumAmount(maxQty) + .counterMinimumAmount(counterMinQty) + .counterMaximumAmount(counterMaxQty) + .volumeScale(amountPrecision) + .priceScale(pairPrecision) + .amountStepSize(stepSize) + .marketOrderEnabled(Arrays.asList(symbol.getOrderTypes()).contains("MARKET")) + .build()); Currency baseCurrency = currentCurrencyPair.base; CurrencyMetaData baseCurrencyMetaData = - BinanceAdapters.adaptCurrencyMetaData( - currencies, baseCurrency, assetDetailMap, basePrecision); + BinanceAdapters.adaptCurrencyMetaData( + currencies, baseCurrency, assetDetailMap, basePrecision); currencies.put(baseCurrency, baseCurrencyMetaData); Currency counterCurrency = currentCurrencyPair.counter; CurrencyMetaData counterCurrencyMetaData = - BinanceAdapters.adaptCurrencyMetaData( - currencies, counterCurrency, assetDetailMap, counterPrecision); + BinanceAdapters.adaptCurrencyMetaData( + currencies, counterCurrency, assetDetailMap, counterPrecision); currencies.put(counterCurrency, counterCurrencyMetaData); } } - return new ExchangeMetaData(instruments, currencies, null,null,true); + return new ExchangeMetaData(instruments, currencies, null, null, true); } private static int numberOfDecimals(String value) { @@ -567,20 +601,29 @@ private static int numberOfDecimals(String value) { public static FundingRates adaptFundingRates(List binanceFundingRates) { List fundingRates = new ArrayList<>(); - binanceFundingRates - .stream().filter(binanceFundingRate -> binanceFundingRate.getNextFundingTime().getTime() != 0) - .forEach(binanceFundingRate -> fundingRates.add(adaptFundingRate(binanceFundingRate))); + binanceFundingRates.stream() + .filter(binanceFundingRate -> binanceFundingRate.getNextFundingTime().getTime() != 0) + .forEach(binanceFundingRate -> fundingRates.add(adaptFundingRate(binanceFundingRate))); return new FundingRates(fundingRates); } public static FundingRate adaptFundingRate(BinanceFundingRate binanceFundingRate) { return new FundingRate.Builder() - .fundingRate1h(binanceFundingRate.getLastFundingRate().divide(BigDecimal.valueOf(8), binanceFundingRate.getLastFundingRate().scale(), RoundingMode.HALF_EVEN)) - .fundingRate8h(binanceFundingRate.getLastFundingRate()) - .instrument(binanceFundingRate.getInstrument()) - .fundingRateDate(binanceFundingRate.getNextFundingTime()) - .fundingRateEffectiveInMinutes(TimeUnit.MILLISECONDS.toMinutes(binanceFundingRate.getNextFundingTime().getTime()-binanceFundingRate.getTime().getTime())) - .build(); + .fundingRate1h( + binanceFundingRate + .getLastFundingRate() + .divide( + BigDecimal.valueOf(8), + binanceFundingRate.getLastFundingRate().scale(), + RoundingMode.HALF_EVEN)) + .fundingRate8h(binanceFundingRate.getLastFundingRate()) + .instrument(binanceFundingRate.getInstrument()) + .fundingRateDate(binanceFundingRate.getNextFundingTime()) + .fundingRateEffectiveInMinutes( + TimeUnit.MILLISECONDS.toMinutes( + binanceFundingRate.getNextFundingTime().getTime() + - binanceFundingRate.getTime().getTime())) + .build(); } } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceAuthenticated.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceAuthenticated.java index ddf4dac26c8..3d6f88aa8c7 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceAuthenticated.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceAuthenticated.java @@ -1,9 +1,5 @@ package org.knowm.xchange.binance; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; @@ -15,6 +11,10 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; import org.knowm.xchange.binance.dto.BinanceException; import org.knowm.xchange.binance.dto.account.*; import org.knowm.xchange.binance.dto.trade.BinanceCancelledOrder; @@ -549,4 +549,4 @@ BinanceListenKey startUserDataStream(@HeaderParam(X_MBX_APIKEY) String apiKey) Map closeUserDataStream( @HeaderParam(X_MBX_APIKEY) String apiKey, @PathParam("listenKey") String listenKey) throws IOException, BinanceException; -} \ No newline at end of file +} diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceErrorAdapter.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceErrorAdapter.java index 53200f882e4..6e7bb34009d 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceErrorAdapter.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceErrorAdapter.java @@ -12,7 +12,9 @@ import org.knowm.xchange.exceptions.OrderNotValidException; import org.knowm.xchange.exceptions.RateLimitExceededException; -/** @author walec51 */ +/** + * @author walec51 + */ public final class BinanceErrorAdapter { private BinanceErrorAdapter() {} diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceExchange.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceExchange.java index bba363b7129..9afe7f6a97c 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceExchange.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceExchange.java @@ -29,7 +29,9 @@ public class BinanceExchange extends BaseExchange implements Exchange { @Override protected void initServices() { - this.timestampFactory = new BinanceTimestampFactory(getExchangeSpecification().getResilience(), getResilienceRegistries()); + this.timestampFactory = + new BinanceTimestampFactory( + getExchangeSpecification().getResilience(), getResilienceRegistries()); this.marketDataService = new BinanceMarketDataService(this, getResilienceRegistries()); this.tradeService = new BinanceTradeService(this, getResilienceRegistries()); this.accountService = new BinanceAccountService(this, getResilienceRegistries()); @@ -76,22 +78,23 @@ public void applySpecification(ExchangeSpecification exchangeSpecification) { super.applySpecification(exchangeSpecification); } - public boolean isFuturesSandbox(){ + public boolean isFuturesSandbox() { return Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(SPECIFIC_PARAM_USE_FUTURES_SANDBOX)); + exchangeSpecification.getExchangeSpecificParametersItem( + SPECIFIC_PARAM_USE_FUTURES_SANDBOX)); } - public boolean isFuturesEnabled(){ + public boolean isFuturesEnabled() { return Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(SPECIFIC_PARAM_FUTURES_ENABLED)); + exchangeSpecification.getExchangeSpecificParametersItem(SPECIFIC_PARAM_FUTURES_ENABLED)); } - public boolean isPortfolioMarginEnabled(){ + public boolean isPortfolioMarginEnabled() { return Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(SPECIFIC_PARAM_PORTFOLIO_MARGIN_ENABLED)); + exchangeSpecification.getExchangeSpecificParametersItem( + SPECIFIC_PARAM_PORTFOLIO_MARGIN_ENABLED)); } - public boolean usingSandbox() { return enabledSandbox(exchangeSpecification); } @@ -108,16 +111,22 @@ public void remoteInit() { if (!usingSandbox() && isAuthenticated()) { assetDetailMap = accountService.getAssetDetails(); // not available in sndbox } - if(usingSandbox()){ - if(isFuturesSandbox()){ - BinanceAdapters.adaptFutureExchangeMetaData(exchangeMetaData, marketDataService.getFutureExchangeInfo()); + if (usingSandbox()) { + if (isFuturesSandbox()) { + BinanceAdapters.adaptFutureExchangeMetaData( + exchangeMetaData, marketDataService.getFutureExchangeInfo()); } else { - exchangeMetaData = BinanceAdapters.adaptExchangeMetaData(marketDataService.getExchangeInfo(), assetDetailMap); + exchangeMetaData = + BinanceAdapters.adaptExchangeMetaData( + marketDataService.getExchangeInfo(), assetDetailMap); } } else { - exchangeMetaData = BinanceAdapters.adaptExchangeMetaData(marketDataService.getExchangeInfo(), assetDetailMap); - if(isFuturesEnabled()){ - BinanceAdapters.adaptFutureExchangeMetaData(exchangeMetaData, marketDataService.getFutureExchangeInfo()); + exchangeMetaData = + BinanceAdapters.adaptExchangeMetaData( + marketDataService.getExchangeInfo(), assetDetailMap); + if (isFuturesEnabled()) { + BinanceAdapters.adaptFutureExchangeMetaData( + exchangeMetaData, marketDataService.getFutureExchangeInfo()); } } @@ -144,9 +153,9 @@ private static void concludeHostParams(ExchangeSpecification exchangeSpecificati private static boolean enabledSandbox(ExchangeSpecification exchangeSpecification) { return Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(SPECIFIC_PARAM_USE_SANDBOX)) || - Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(SPECIFIC_PARAM_USE_FUTURES_SANDBOX)); + exchangeSpecification.getExchangeSpecificParametersItem(SPECIFIC_PARAM_USE_SANDBOX)) + || Boolean.TRUE.equals( + exchangeSpecification.getExchangeSpecificParametersItem( + SPECIFIC_PARAM_USE_FUTURES_SANDBOX)); } - } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceFutures.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceFutures.java index 74774e71757..8fb83bc62f1 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceFutures.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceFutures.java @@ -1,13 +1,5 @@ package org.knowm.xchange.binance; -import org.knowm.xchange.binance.dto.BinanceException; -import org.knowm.xchange.binance.dto.marketdata.BinanceAggTrades; -import org.knowm.xchange.binance.dto.marketdata.BinanceFundingRate; -import org.knowm.xchange.binance.dto.marketdata.BinanceOrderbook; -import org.knowm.xchange.binance.dto.marketdata.BinanceTicker24h; -import org.knowm.xchange.binance.dto.meta.BinanceSystemStatus; -import org.knowm.xchange.binance.dto.meta.exchangeinfo.BinanceExchangeInfo; - import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; @@ -15,104 +7,107 @@ import jakarta.ws.rs.core.MediaType; import java.io.IOException; import java.util.List; +import org.knowm.xchange.binance.dto.BinanceException; +import org.knowm.xchange.binance.dto.marketdata.BinanceAggTrades; +import org.knowm.xchange.binance.dto.marketdata.BinanceFundingRate; +import org.knowm.xchange.binance.dto.marketdata.BinanceOrderbook; +import org.knowm.xchange.binance.dto.marketdata.BinanceTicker24h; +import org.knowm.xchange.binance.dto.meta.BinanceSystemStatus; +import org.knowm.xchange.binance.dto.meta.exchangeinfo.BinanceExchangeInfo; @Path("") @Produces(MediaType.APPLICATION_JSON) public interface BinanceFutures { - /** - * Current exchange trading rules and symbol information. - * - * @return - * @throws IOException - */ - @GET - @Path("/fapi/v1/exchangeInfo") - BinanceExchangeInfo exchangeInfo() throws IOException; + /** + * Current exchange trading rules and symbol information. + * + * @return + * @throws IOException + */ + @GET + @Path("/fapi/v1/exchangeInfo") + BinanceExchangeInfo exchangeInfo() throws IOException; - /** - * Fetch system status which is normal or system maintenance. - * - * @throws IOException - */ - @GET - @Path("sapi/v1/system/status") - BinanceSystemStatus systemStatus() throws IOException; + /** + * Fetch system status which is normal or system maintenance. + * + * @throws IOException + */ + @GET + @Path("sapi/v1/system/status") + BinanceSystemStatus systemStatus() throws IOException; - /** - * @param symbol - * @param limit optional, default 100 max 5000. Valid limits: [5, 10, 20, 50, 100, 500, 1000, - * 5000] - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("fapi/v1/depth") - BinanceOrderbook depth(@QueryParam("symbol") String symbol, @QueryParam("limit") Integer limit) - throws IOException, BinanceException; + /** + * @param symbol + * @param limit optional, default 100 max 5000. Valid limits: [5, 10, 20, 50, 100, 500, 1000, + * 5000] + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("fapi/v1/depth") + BinanceOrderbook depth(@QueryParam("symbol") String symbol, @QueryParam("limit") Integer limit) + throws IOException, BinanceException; - /** - * 24 hour price change statistics. - * - * @param symbol - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("fapi/v1/ticker/24hr") - BinanceTicker24h ticker24h(@QueryParam("symbol") String symbol) - throws IOException, BinanceException; + /** + * 24 hour price change statistics. + * + * @param symbol + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("fapi/v1/ticker/24hr") + BinanceTicker24h ticker24h(@QueryParam("symbol") String symbol) + throws IOException, BinanceException; - /** - * Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the - * same price will have the quantity aggregated.
- * If both startTime and endTime are sent, limit should not be sent AND the distance between - * startTime and endTime must be less than 24 hours.
- * If frondId, startTime, and endTime are not sent, the most recent aggregate trades will be - * returned. - * - * @param symbol - * @param fromId optional, ID to get aggregate trades from INCLUSIVE. - * @param startTime optional, Timestamp in ms to get aggregate trades from INCLUSIVE. - * @param endTime optional, Timestamp in ms to get aggregate trades until INCLUSIVE. - * @param limit optional, Default 500; max 500. - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("fapi/v1/aggTrades") - List aggTrades( - @QueryParam("symbol") String symbol, - @QueryParam("fromId") Long fromId, - @QueryParam("startTime") Long startTime, - @QueryParam("endTime") Long endTime, - @QueryParam("limit") Integer limit) - throws IOException, BinanceException; + /** + * Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the + * same price will have the quantity aggregated.
+ * If both startTime and endTime are sent, limit should not be sent AND the distance between + * startTime and endTime must be less than 24 hours.
+ * If frondId, startTime, and endTime are not sent, the most recent aggregate trades will be + * returned. + * + * @param symbol + * @param fromId optional, ID to get aggregate trades from INCLUSIVE. + * @param startTime optional, Timestamp in ms to get aggregate trades from INCLUSIVE. + * @param endTime optional, Timestamp in ms to get aggregate trades until INCLUSIVE. + * @param limit optional, Default 500; max 500. + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("fapi/v1/aggTrades") + List aggTrades( + @QueryParam("symbol") String symbol, + @QueryParam("fromId") Long fromId, + @QueryParam("startTime") Long startTime, + @QueryParam("endTime") Long endTime, + @QueryParam("limit") Integer limit) + throws IOException, BinanceException; - /** - * - * @return List - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("fapi/v1/premiumIndex") - List fundingRates() - throws IOException, BinanceException; + /** + * @return List + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("fapi/v1/premiumIndex") + List fundingRates() throws IOException, BinanceException; - /** - * @param symbol the instrument to get the funding rate for - * - * @return BinanceFundingRate - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("fapi/v1/premiumIndex") - BinanceFundingRate fundingRate( - @QueryParam("symbol") String symbol) - throws IOException, BinanceException; -} \ No newline at end of file + /** + * @param symbol the instrument to get the funding rate for + * @return BinanceFundingRate + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("fapi/v1/premiumIndex") + BinanceFundingRate fundingRate(@QueryParam("symbol") String symbol) + throws IOException, BinanceException; +} diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceFuturesAuthenticated.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceFuturesAuthenticated.java index 5ce12bb82f3..330d1fc78a6 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceFuturesAuthenticated.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceFuturesAuthenticated.java @@ -1,5 +1,10 @@ package org.knowm.xchange.binance; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; import org.knowm.xchange.binance.dto.BinanceException; import org.knowm.xchange.binance.dto.account.futures.BinanceFutureAccountInformation; import org.knowm.xchange.binance.dto.trade.*; @@ -7,549 +12,538 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -import jakarta.ws.rs.*; -import jakarta.ws.rs.core.MediaType; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; - @Path("") @Produces(MediaType.APPLICATION_JSON) -public interface BinanceFuturesAuthenticated extends BinanceFutures{ - - String SIGNATURE = "signature"; - String X_MBX_APIKEY = "X-MBX-APIKEY"; +public interface BinanceFuturesAuthenticated extends BinanceFutures { - /** - * Get current futures account information. - * - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("fapi/v2/account") - BinanceFutureAccountInformation futuresAccount( - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + String SIGNATURE = "signature"; + String X_MBX_APIKEY = "X-MBX-APIKEY"; - /** - * Send in a new futures order - * - * @param symbol - * @param side - * @param type - * @param timeInForce - * @param quantity - * @param price optional, must be provided for limit orders only - * @param newClientOrderId optional, a unique id for the order. Automatically generated if not - * sent. - * @param stopPrice optional, used with stop orders - * @param newOrderRespType optional, MARKET and LIMIT order types default to FULL, all other - * orders default to ACK - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - * @see New order - Spot - * API docs - - */ - @POST - @Path("fapi/v1/order") - BinanceFutureNewOrder newOrder( - @FormParam("symbol") String symbol, - @FormParam("side") OrderSide side, - @FormParam("type") OrderType type, - @FormParam("timeInForce") TimeInForce timeInForce, - @FormParam("quantity") BigDecimal quantity, - @FormParam("reduceOnly") boolean reduceOnly, - @FormParam("price") BigDecimal price, - @FormParam("newClientOrderId") String newClientOrderId, - @FormParam("stopPrice") BigDecimal stopPrice, - @FormParam("closePosition") boolean closePosition, - @FormParam("activationPrice") BigDecimal activationPrice, - @FormParam("callbackRate") BigDecimal callbackRate, - @FormParam("newOrderRespType") BinanceNewOrder.NewOrderResponseType newOrderRespType, - @FormParam("recvWindow") Long recvWindow, - @FormParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Get current futures account information. + * + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("fapi/v2/account") + BinanceFutureAccountInformation futuresAccount( + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Send in a new inverse futures order - * - * @param symbol - * @param side - * @param type - * @param timeInForce - * @param quantity - * @param price optional, must be provided for limit orders only - * @param newClientOrderId optional, a unique id for the order. Automatically generated if not - * sent. - * @param stopPrice optional, used with stop orders - * @param newOrderRespType optional, MARKET and LIMIT order types default to FULL, all other - * orders default to ACK - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - * @see New order - Spot - * API docs - - */ - @POST - @Path("dapi/v1/order") - BinanceFutureNewOrder newInverseOrder( - @FormParam("symbol") String symbol, - @FormParam("side") OrderSide side, - @FormParam("type") OrderType type, - @FormParam("timeInForce") TimeInForce timeInForce, - @FormParam("quantity") BigDecimal quantity, - @FormParam("reduceOnly") boolean reduceOnly, - @FormParam("price") BigDecimal price, - @FormParam("newClientOrderId") String newClientOrderId, - @FormParam("stopPrice") BigDecimal stopPrice, - @FormParam("closePosition") boolean closePosition, - @FormParam("activationPrice") BigDecimal activationPrice, - @FormParam("callbackRate") BigDecimal callbackRate, - @FormParam("newOrderRespType") BinanceNewOrder.NewOrderResponseType newOrderRespType, - @FormParam("recvWindow") Long recvWindow, - @FormParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Send in a new futures order + * + * @param symbol + * @param side + * @param type + * @param timeInForce + * @param quantity + * @param price optional, must be provided for limit orders only + * @param newClientOrderId optional, a unique id for the order. Automatically generated if not + * sent. + * @param stopPrice optional, used with stop orders + * @param newOrderRespType optional, MARKET and LIMIT order types default to FULL, all other + * orders default to ACK + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + * @see New order - Spot + * API docs - + */ + @POST + @Path("fapi/v1/order") + BinanceFutureNewOrder newOrder( + @FormParam("symbol") String symbol, + @FormParam("side") OrderSide side, + @FormParam("type") OrderType type, + @FormParam("timeInForce") TimeInForce timeInForce, + @FormParam("quantity") BigDecimal quantity, + @FormParam("reduceOnly") boolean reduceOnly, + @FormParam("price") BigDecimal price, + @FormParam("newClientOrderId") String newClientOrderId, + @FormParam("stopPrice") BigDecimal stopPrice, + @FormParam("closePosition") boolean closePosition, + @FormParam("activationPrice") BigDecimal activationPrice, + @FormParam("callbackRate") BigDecimal callbackRate, + @FormParam("newOrderRespType") BinanceNewOrder.NewOrderResponseType newOrderRespType, + @FormParam("recvWindow") Long recvWindow, + @FormParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Send in a new USD based (linear) futures order to portfolio margin engine - * - * @param symbol - * @param side - * @param type - * @param timeInForce - * @param quantity - * @param price optional, must be provided for limit orders only - * @param newClientOrderId optional, a unique id for the order. Automatically generated if not - * sent. - * @param newOrderRespType optional, MARKET and LIMIT order types default to FULL, all other - * orders default to ACK - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - * @see New order - Spot - * API docs - - */ - @POST - @Path("papi/v1/um/order") - BinanceFutureNewOrder newPortfolioMarginLinearOrder( - @FormParam("symbol") String symbol, - @FormParam("side") OrderSide side, - @FormParam("type") OrderType type, - @FormParam("timeInForce") TimeInForce timeInForce, - @FormParam("quantity") BigDecimal quantity, - @FormParam("reduceOnly") boolean reduceOnly, - @FormParam("price") BigDecimal price, - @FormParam("newClientOrderId") String newClientOrderId, - @FormParam("newOrderRespType") BinanceNewOrder.NewOrderResponseType newOrderRespType, - @FormParam("recvWindow") Long recvWindow, - @FormParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Send in a new inverse futures order + * + * @param symbol + * @param side + * @param type + * @param timeInForce + * @param quantity + * @param price optional, must be provided for limit orders only + * @param newClientOrderId optional, a unique id for the order. Automatically generated if not + * sent. + * @param stopPrice optional, used with stop orders + * @param newOrderRespType optional, MARKET and LIMIT order types default to FULL, all other + * orders default to ACK + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + * @see New order - Spot + * API docs - + */ + @POST + @Path("dapi/v1/order") + BinanceFutureNewOrder newInverseOrder( + @FormParam("symbol") String symbol, + @FormParam("side") OrderSide side, + @FormParam("type") OrderType type, + @FormParam("timeInForce") TimeInForce timeInForce, + @FormParam("quantity") BigDecimal quantity, + @FormParam("reduceOnly") boolean reduceOnly, + @FormParam("price") BigDecimal price, + @FormParam("newClientOrderId") String newClientOrderId, + @FormParam("stopPrice") BigDecimal stopPrice, + @FormParam("closePosition") boolean closePosition, + @FormParam("activationPrice") BigDecimal activationPrice, + @FormParam("callbackRate") BigDecimal callbackRate, + @FormParam("newOrderRespType") BinanceNewOrder.NewOrderResponseType newOrderRespType, + @FormParam("recvWindow") Long recvWindow, + @FormParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Send in a new coin based (inverse) futures order to portfolio margin engine - * - * @param symbol - * @param side - * @param type - * @param timeInForce - * @param quantity - * @param price optional, must be provided for limit orders only - * @param newClientOrderId optional, a unique id for the order. Automatically generated if not - * sent. - * @param newOrderRespType optional, MARKET and LIMIT order types default to FULL, all other - * orders default to ACK - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - * @see New order - Spot - * API docs - - */ - @POST - @Path("papi/v1/cm/order") - BinanceFutureNewOrder newPortfolioMarginInverseOrder( - @FormParam("symbol") String symbol, - @FormParam("side") OrderSide side, - @FormParam("type") OrderType type, - @FormParam("timeInForce") TimeInForce timeInForce, - @FormParam("quantity") BigDecimal quantity, - @FormParam("reduceOnly") boolean reduceOnly, - @FormParam("price") BigDecimal price, - @FormParam("newClientOrderId") String newClientOrderId, - @FormParam("newOrderRespType") BinanceNewOrder.NewOrderResponseType newOrderRespType, - @FormParam("recvWindow") Long recvWindow, - @FormParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Send in a new USD based (linear) futures order to portfolio margin engine + * + * @param symbol + * @param side + * @param type + * @param timeInForce + * @param quantity + * @param price optional, must be provided for limit orders only + * @param newClientOrderId optional, a unique id for the order. Automatically generated if not + * sent. + * @param newOrderRespType optional, MARKET and LIMIT order types default to FULL, all other + * orders default to ACK + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + * @see New order - Spot + * API docs - + */ + @POST + @Path("papi/v1/um/order") + BinanceFutureNewOrder newPortfolioMarginLinearOrder( + @FormParam("symbol") String symbol, + @FormParam("side") OrderSide side, + @FormParam("type") OrderType type, + @FormParam("timeInForce") TimeInForce timeInForce, + @FormParam("quantity") BigDecimal quantity, + @FormParam("reduceOnly") boolean reduceOnly, + @FormParam("price") BigDecimal price, + @FormParam("newClientOrderId") String newClientOrderId, + @FormParam("newOrderRespType") BinanceNewOrder.NewOrderResponseType newOrderRespType, + @FormParam("recvWindow") Long recvWindow, + @FormParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Cancel an active futures order. - * - * @param symbol - * @param orderId optional - * @param origClientOrderId optional - * generated by default. - * @param recvWindow optional - * @param timestamp - * @param apiKey - * @param signature - * @return - * @throws IOException - * @throws BinanceException - */ - @DELETE - @Path("fapi/v1/order") - BinanceCancelledOrder cancelFutureOrder( - @QueryParam("symbol") String symbol, - @QueryParam("orderId") long orderId, - @QueryParam("origClientOrderId") String origClientOrderId, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Send in a new coin based (inverse) futures order to portfolio margin engine + * + * @param symbol + * @param side + * @param type + * @param timeInForce + * @param quantity + * @param price optional, must be provided for limit orders only + * @param newClientOrderId optional, a unique id for the order. Automatically generated if not + * sent. + * @param newOrderRespType optional, MARKET and LIMIT order types default to FULL, all other + * orders default to ACK + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + * @see New order - Spot + * API docs - + */ + @POST + @Path("papi/v1/cm/order") + BinanceFutureNewOrder newPortfolioMarginInverseOrder( + @FormParam("symbol") String symbol, + @FormParam("side") OrderSide side, + @FormParam("type") OrderType type, + @FormParam("timeInForce") TimeInForce timeInForce, + @FormParam("quantity") BigDecimal quantity, + @FormParam("reduceOnly") boolean reduceOnly, + @FormParam("price") BigDecimal price, + @FormParam("newClientOrderId") String newClientOrderId, + @FormParam("newOrderRespType") BinanceNewOrder.NewOrderResponseType newOrderRespType, + @FormParam("recvWindow") Long recvWindow, + @FormParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Cancel an active inverse futures order. - * - * @param symbol - * @param orderId optional - * @param origClientOrderId optional - * generated by default. - * @param recvWindow optional - * @param timestamp - * @param apiKey - * @param signature - * @return - * @throws IOException - * @throws BinanceException - */ - @DELETE - @Path("dapi/v1/order") - BinanceCancelledOrder cancelInverseFutureOrder( - @QueryParam("symbol") String symbol, - @QueryParam("orderId") long orderId, - @QueryParam("origClientOrderId") String origClientOrderId, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Cancel an active futures order. + * + * @param symbol + * @param orderId optional + * @param origClientOrderId optional generated by default. + * @param recvWindow optional + * @param timestamp + * @param apiKey + * @param signature + * @return + * @throws IOException + * @throws BinanceException + */ + @DELETE + @Path("fapi/v1/order") + BinanceCancelledOrder cancelFutureOrder( + @QueryParam("symbol") String symbol, + @QueryParam("orderId") long orderId, + @QueryParam("origClientOrderId") String origClientOrderId, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Cancel an active inverse portfolio margin futures order. - * - * @param symbol - * @param orderId optional - * @param origClientOrderId optional - * generated by default. - * @param recvWindow optional - * @param timestamp - * @param apiKey - * @param signature - * @return - * @throws IOException - * @throws BinanceException - */ - @DELETE - @Path("papi/v1/cm/order") - BinanceCancelledOrder cancelPortfolioMarginInverseFutureOrder( - @QueryParam("symbol") String symbol, - @QueryParam("orderId") long orderId, - @QueryParam("origClientOrderId") String origClientOrderId, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Cancel an active inverse futures order. + * + * @param symbol + * @param orderId optional + * @param origClientOrderId optional generated by default. + * @param recvWindow optional + * @param timestamp + * @param apiKey + * @param signature + * @return + * @throws IOException + * @throws BinanceException + */ + @DELETE + @Path("dapi/v1/order") + BinanceCancelledOrder cancelInverseFutureOrder( + @QueryParam("symbol") String symbol, + @QueryParam("orderId") long orderId, + @QueryParam("origClientOrderId") String origClientOrderId, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; + /** + * Cancel an active inverse portfolio margin futures order. + * + * @param symbol + * @param orderId optional + * @param origClientOrderId optional generated by default. + * @param recvWindow optional + * @param timestamp + * @param apiKey + * @param signature + * @return + * @throws IOException + * @throws BinanceException + */ + @DELETE + @Path("papi/v1/cm/order") + BinanceCancelledOrder cancelPortfolioMarginInverseFutureOrder( + @QueryParam("symbol") String symbol, + @QueryParam("orderId") long orderId, + @QueryParam("origClientOrderId") String origClientOrderId, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Cancel an active portfolio margin futures order. - * - * @param symbol - * @param orderId optional - * @param origClientOrderId optional - * generated by default. - * @param recvWindow optional - * @param timestamp - * @param apiKey - * @param signature - * @return - * @throws IOException - * @throws BinanceException - */ - @DELETE - @Path("papi/v1/um/order") - BinanceCancelledOrder cancelPortfolioMarginFutureOrder( - @QueryParam("symbol") String symbol, - @QueryParam("orderId") long orderId, - @QueryParam("origClientOrderId") String origClientOrderId, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Cancel an active portfolio margin futures order. + * + * @param symbol + * @param orderId optional + * @param origClientOrderId optional generated by default. + * @param recvWindow optional + * @param timestamp + * @param apiKey + * @param signature + * @return + * @throws IOException + * @throws BinanceException + */ + @DELETE + @Path("papi/v1/um/order") + BinanceCancelledOrder cancelPortfolioMarginFutureOrder( + @QueryParam("symbol") String symbol, + @QueryParam("orderId") long orderId, + @QueryParam("origClientOrderId") String origClientOrderId, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Get future open orders on a symbol. - * - * @param symbol optional - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("fapi/v1/openOrders") - List futureOpenOrders( - @QueryParam("symbol") String symbol, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Get future open orders on a symbol. + * + * @param symbol optional + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("fapi/v1/openOrders") + List futureOpenOrders( + @QueryParam("symbol") String symbol, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Get future open orders on a symbol. - * - * @param symbol optional - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("dapi/v1/openOrders") - List futureOpenInverseOrders( - @QueryParam("symbol") String symbol, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Get future open orders on a symbol. + * + * @param symbol optional + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("dapi/v1/openOrders") + List futureOpenInverseOrders( + @QueryParam("symbol") String symbol, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Get future open portfolio margin orders on a symbol. - * - * @param symbol optional - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("/papi/v1/um/openOrders ") - List futureOpenPortfolioMarginOrders( - @QueryParam("symbol") String symbol, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Get future open portfolio margin orders on a symbol. + * + * @param symbol optional + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("/papi/v1/um/openOrders ") + List futureOpenPortfolioMarginOrders( + @QueryParam("symbol") String symbol, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Get future open portfolio margin orders on a symbol. - * - * @param symbol optional - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("/papi/v1/cm/openOrders") - List futureOpenPortfolioMarginInverseOrders( - @QueryParam("symbol") String symbol, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Get future open portfolio margin orders on a symbol. + * + * @param symbol optional + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("/papi/v1/cm/openOrders") + List futureOpenPortfolioMarginInverseOrders( + @QueryParam("symbol") String symbol, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Get trades for a specific account and symbol. - * - * @param symbol - * @param orderId optional - * @param startTime optional - * @param endTime optional - * @param fromId optional, tradeId to fetch from. Default gets most recent trades. - * @param limit optional, default 500; max 1000. - * @param recvWindow optional - * @param timestamp - * @param apiKey - * @param signature - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("fapi/v1/userTrades") - List myFutureTrades( - @QueryParam("symbol") String symbol, - @QueryParam("orderId") Long orderId, - @QueryParam("startTime") Long startTime, - @QueryParam("endTime") Long endTime, - @QueryParam("fromId") Long fromId, - @QueryParam("limit") Integer limit, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Get trades for a specific account and symbol. + * + * @param symbol + * @param orderId optional + * @param startTime optional + * @param endTime optional + * @param fromId optional, tradeId to fetch from. Default gets most recent trades. + * @param limit optional, default 500; max 1000. + * @param recvWindow optional + * @param timestamp + * @param apiKey + * @param signature + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("fapi/v1/userTrades") + List myFutureTrades( + @QueryParam("symbol") String symbol, + @QueryParam("orderId") Long orderId, + @QueryParam("startTime") Long startTime, + @QueryParam("endTime") Long endTime, + @QueryParam("fromId") Long fromId, + @QueryParam("limit") Integer limit, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Check an order's status.
- * Either orderId or origClientOrderId must be sent. - * - * @param symbol - * @param orderId optional - * @param origClientOrderId optional - * @param recvWindow optional - * @param timestamp - * @param apiKey - * @param signature - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("fapi/v1/order") - BinanceOrder futureOrderStatus( - @QueryParam("symbol") String symbol, - @QueryParam("orderId") long orderId, - @QueryParam("origClientOrderId") String origClientOrderId, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Check an order's status.
+ * Either orderId or origClientOrderId must be sent. + * + * @param symbol + * @param orderId optional + * @param origClientOrderId optional + * @param recvWindow optional + * @param timestamp + * @param apiKey + * @param signature + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("fapi/v1/order") + BinanceOrder futureOrderStatus( + @QueryParam("symbol") String symbol, + @QueryParam("orderId") long orderId, + @QueryParam("origClientOrderId") String origClientOrderId, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Check an inverse order's status.
- * Either orderId or origClientOrderId must be sent. - * - * @param symbol - * @param orderId optional - * @param origClientOrderId optional - * @param recvWindow optional - * @param timestamp - * @param apiKey - * @param signature - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("dapi/v1/order") - BinanceOrder futureInverseOrderStatus( - @QueryParam("symbol") String symbol, - @QueryParam("orderId") long orderId, - @QueryParam("origClientOrderId") String origClientOrderId, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Check an inverse order's status.
+ * Either orderId or origClientOrderId must be sent. + * + * @param symbol + * @param orderId optional + * @param origClientOrderId optional + * @param recvWindow optional + * @param timestamp + * @param apiKey + * @param signature + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("dapi/v1/order") + BinanceOrder futureInverseOrderStatus( + @QueryParam("symbol") String symbol, + @QueryParam("orderId") long orderId, + @QueryParam("origClientOrderId") String origClientOrderId, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Check a portfolio margin order's status.
- * Either orderId or origClientOrderId must be sent. - * - * @param symbol - * @param orderId optional - * @param origClientOrderId optional - * @param recvWindow optional - * @param timestamp - * @param apiKey - * @param signature - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("/papi/v1/um/order") - BinanceOrder futurePortfolioMarginOrderStatus( - @QueryParam("symbol") String symbol, - @QueryParam("orderId") long orderId, - @QueryParam("origClientOrderId") String origClientOrderId, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Check a portfolio margin order's status.
+ * Either orderId or origClientOrderId must be sent. + * + * @param symbol + * @param orderId optional + * @param origClientOrderId optional + * @param recvWindow optional + * @param timestamp + * @param apiKey + * @param signature + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("/papi/v1/um/order") + BinanceOrder futurePortfolioMarginOrderStatus( + @QueryParam("symbol") String symbol, + @QueryParam("orderId") long orderId, + @QueryParam("origClientOrderId") String origClientOrderId, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; - /** - * Check a portfolio margin inverse/coin margin order's status.
- * Either orderId or origClientOrderId must be sent. - * - * @param symbol - * @param orderId optional - * @param origClientOrderId optional - * @param recvWindow optional - * @param timestamp - * @param apiKey - * @param signature - * @return - * @throws IOException - * @throws BinanceException - */ - @GET - @Path("/papi/v1/cm/order") - BinanceOrder futurePortfolioMarginInverseOrderStatus( - @QueryParam("symbol") String symbol, - @QueryParam("orderId") long orderId, - @QueryParam("origClientOrderId") String origClientOrderId, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; - /** - * Cancels all active orders on a symbol. This includes OCO orders. - * - * @param symbol - * @param recvWindow optional - * @param timestamp - * @return - * @throws IOException - * @throws BinanceException - */ - @DELETE - @Path("fapi/v1/allOpenOrders") - List cancelAllFutureOpenOrders( - @QueryParam("symbol") String symbol, - @QueryParam("recvWindow") Long recvWindow, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @HeaderParam(X_MBX_APIKEY) String apiKey, - @QueryParam(SIGNATURE) ParamsDigest signature) - throws IOException, BinanceException; + /** + * Check a portfolio margin inverse/coin margin order's status.
+ * Either orderId or origClientOrderId must be sent. + * + * @param symbol + * @param orderId optional + * @param origClientOrderId optional + * @param recvWindow optional + * @param timestamp + * @param apiKey + * @param signature + * @return + * @throws IOException + * @throws BinanceException + */ + @GET + @Path("/papi/v1/cm/order") + BinanceOrder futurePortfolioMarginInverseOrderStatus( + @QueryParam("symbol") String symbol, + @QueryParam("orderId") long orderId, + @QueryParam("origClientOrderId") String origClientOrderId, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; -} \ No newline at end of file + /** + * Cancels all active orders on a symbol. This includes OCO orders. + * + * @param symbol + * @param recvWindow optional + * @param timestamp + * @return + * @throws IOException + * @throws BinanceException + */ + @DELETE + @Path("fapi/v1/allOpenOrders") + List cancelAllFutureOpenOrders( + @QueryParam("symbol") String symbol, + @QueryParam("recvWindow") Long recvWindow, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @HeaderParam(X_MBX_APIKEY) String apiKey, + @QueryParam(SIGNATURE) ParamsDigest signature) + throws IOException, BinanceException; +} diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceUsExchange.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceUsExchange.java index b8ddc639a85..b0caf8d8d78 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceUsExchange.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/BinanceUsExchange.java @@ -24,7 +24,9 @@ public ExchangeSpecification getDefaultExchangeSpecification() { @Override protected void initServices() { - this.timestampFactory = new BinanceTimestampFactory(getExchangeSpecification().getResilience(), getResilienceRegistries()); + this.timestampFactory = + new BinanceTimestampFactory( + getExchangeSpecification().getResilience(), getResilienceRegistries()); this.marketDataService = new BinanceMarketDataService(this, getResilienceRegistries()); this.tradeService = new BinanceTradeService(this, getResilienceRegistries()); this.accountService = new BinanceUsAccountService(this, getResilienceRegistries()); @@ -34,7 +36,8 @@ protected void initServices() { public void remoteInit() { BinanceMarketDataService marketDataService = (BinanceMarketDataService) this.marketDataService; try { - exchangeMetaData = BinanceAdapters.adaptExchangeMetaData(marketDataService.getExchangeInfo(),null); + exchangeMetaData = + BinanceAdapters.adaptExchangeMetaData(marketDataService.getExchangeInfo(), null); } catch (IOException e) { e.printStackTrace(); } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/AssetPortfolioMarginBalance.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/AssetPortfolioMarginBalance.java index 6cf53ae642d..35c0b42a65f 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/AssetPortfolioMarginBalance.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/AssetPortfolioMarginBalance.java @@ -1,25 +1,23 @@ package org.knowm.xchange.binance.dto.account; import com.fasterxml.jackson.annotation.JsonProperty; -import org.knowm.xchange.currency.Currency; - import java.math.BigDecimal; +import org.knowm.xchange.currency.Currency; public class AssetPortfolioMarginBalance { private final Currency currency; - private final BigDecimal totalWalletBalance ; - private final BigDecimal crossMarginAsset ; - private final BigDecimal crossMarginBorrowed ; - private final BigDecimal crossMarginFree ; - private final BigDecimal crossMarginInterest ; - private final BigDecimal crossMarginLocked ; + private final BigDecimal totalWalletBalance; + private final BigDecimal crossMarginAsset; + private final BigDecimal crossMarginBorrowed; + private final BigDecimal crossMarginFree; + private final BigDecimal crossMarginInterest; + private final BigDecimal crossMarginLocked; private final BigDecimal umWalletBalance; private final BigDecimal umUnrealizedPNL; - private final BigDecimal cmWalletBalance ; - private final BigDecimal cmUnrealizedPNL ; + private final BigDecimal cmWalletBalance; + private final BigDecimal cmUnrealizedPNL; private final Long updateTime; - public AssetPortfolioMarginBalance( @JsonProperty("asset") String asset, @JsonProperty("totalWalletBalance") BigDecimal totalWalletBalance, @@ -50,6 +48,7 @@ public AssetPortfolioMarginBalance( public Currency getCurrency() { return currency; } + public BigDecimal getTotal() { return totalWalletBalance; } @@ -62,7 +61,6 @@ public BigDecimal getLocked() { return crossMarginLocked; } - @Override public String toString() { return "AssetPortfolioMarginBalance{" diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/BinanceDeposit.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/BinanceDeposit.java index 4e3903d8931..a4c0e7971ee 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/BinanceDeposit.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/BinanceDeposit.java @@ -9,6 +9,7 @@ public final class BinanceDeposit { private BigDecimal amount; private String coin; private String network; + /** (0:pending,1:success) */ private int status; diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/BinanceWithdraw.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/BinanceWithdraw.java index 59ef6442161..6e0239992b5 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/BinanceWithdraw.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/BinanceWithdraw.java @@ -15,6 +15,7 @@ public final class BinanceWithdraw { private String withdrawOrderId; private String network; private int transferType; // 1 for internal transfer, 0 for external transfer + /** (0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6Completed) */ private int status; diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/futures/BinanceFutureAccountInformation.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/futures/BinanceFutureAccountInformation.java index 93c16664e76..f199661f423 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/futures/BinanceFutureAccountInformation.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/futures/BinanceFutureAccountInformation.java @@ -1,27 +1,25 @@ package org.knowm.xchange.binance.dto.account.futures; - import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.ToString; - import java.math.BigDecimal; import java.util.List; +import lombok.Getter; +import lombok.ToString; @JsonInclude(JsonInclude.Include.NON_NULL) @ToString @Getter public class BinanceFutureAccountInformation { - private final BigDecimal totalWalletBalance; + private final BigDecimal totalWalletBalance; - private final List positions; + private final List positions; - public BinanceFutureAccountInformation( - @JsonProperty("totalWalletBalance") BigDecimal totalWalletBalance, - @JsonProperty("positions") List positions) { - this.totalWalletBalance = totalWalletBalance; - this.positions = positions; - } + public BinanceFutureAccountInformation( + @JsonProperty("totalWalletBalance") BigDecimal totalWalletBalance, + @JsonProperty("positions") List positions) { + this.totalWalletBalance = totalWalletBalance; + this.positions = positions; + } } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/futures/BinancePosition.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/futures/BinancePosition.java index 751c6091982..51be462fc85 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/futures/BinancePosition.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/account/futures/BinancePosition.java @@ -1,46 +1,44 @@ package org.knowm.xchange.binance.dto.account.futures; - import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import java.math.BigDecimal; import lombok.Getter; import lombok.ToString; -import java.math.BigDecimal; - @ToString @Getter @JsonInclude(JsonInclude.Include.NON_NULL) public class BinancePosition { - private final String symbol; + private final String symbol; - private final BigDecimal unrealizedProfit; + private final BigDecimal unrealizedProfit; - private final BigDecimal leverage; + private final BigDecimal leverage; - private final boolean isolated; + private final boolean isolated; - private final String positionSide; + private final String positionSide; - private final BigDecimal positionAmt; + private final BigDecimal positionAmt; - private final BigDecimal entryPrice; + private final BigDecimal entryPrice; - public BinancePosition( - @JsonProperty("symbol") String symbol, - @JsonProperty("unrealizedProfit") BigDecimal unrealizedProfit, - @JsonProperty("leverage") BigDecimal leverage, - @JsonProperty("isolated") boolean isolated, - @JsonProperty("positionSide") String positionSide, - @JsonProperty("positionAmt") BigDecimal positionAmt, - @JsonProperty("entryPrice") BigDecimal entryPrice) { - this.symbol = symbol; - this.unrealizedProfit = unrealizedProfit; - this.leverage = leverage; - this.isolated = isolated; - this.positionSide = positionSide; - this.positionAmt = positionAmt; - this.entryPrice = entryPrice; - } + public BinancePosition( + @JsonProperty("symbol") String symbol, + @JsonProperty("unrealizedProfit") BigDecimal unrealizedProfit, + @JsonProperty("leverage") BigDecimal leverage, + @JsonProperty("isolated") boolean isolated, + @JsonProperty("positionSide") String positionSide, + @JsonProperty("positionAmt") BigDecimal positionAmt, + @JsonProperty("entryPrice") BigDecimal entryPrice) { + this.symbol = symbol; + this.unrealizedProfit = unrealizedProfit; + this.leverage = leverage; + this.isolated = isolated; + this.positionSide = positionSide; + this.positionAmt = positionAmt; + this.entryPrice = entryPrice; + } } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceBookTicker.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceBookTicker.java index 0e6b54193f4..e8fb8f96e43 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceBookTicker.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceBookTicker.java @@ -2,7 +2,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; - import lombok.Getter; import org.knowm.xchange.binance.BinanceAdapters; import org.knowm.xchange.dto.marketdata.Ticker; diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceFundingRate.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceFundingRate.java index 481e3455e83..b09d27fa0c1 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceFundingRate.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceFundingRate.java @@ -1,43 +1,42 @@ package org.knowm.xchange.binance.dto.marketdata; import com.fasterxml.jackson.annotation.JsonProperty; +import java.math.BigDecimal; +import java.util.Date; import lombok.Getter; import lombok.ToString; import org.knowm.xchange.binance.BinanceAdapters; import org.knowm.xchange.instrument.Instrument; -import java.math.BigDecimal; -import java.util.Date; - @Getter @ToString public class BinanceFundingRate { - private final Instrument instrument; - private final BigDecimal markPrice; - private final BigDecimal indexPrice; - private final BigDecimal estimatedSettlePrice; - private final BigDecimal lastFundingRate; - private final Date nextFundingTime; - private final BigDecimal interestRate; - private final Date time; + private final Instrument instrument; + private final BigDecimal markPrice; + private final BigDecimal indexPrice; + private final BigDecimal estimatedSettlePrice; + private final BigDecimal lastFundingRate; + private final Date nextFundingTime; + private final BigDecimal interestRate; + private final Date time; - public BinanceFundingRate( - @JsonProperty("symbol") String symbol, - @JsonProperty("markPrice") BigDecimal markPrice, - @JsonProperty("indexPrice") BigDecimal indexPrice, - @JsonProperty("estimatedSettlePrice") BigDecimal estimatedSettlePrice, - @JsonProperty("lastFundingRate") BigDecimal lastFundingRate, - @JsonProperty("nextFundingTime") Date nextFundingTime, - @JsonProperty("interestRate") BigDecimal interestRate, - @JsonProperty("time") Date time) { - this.instrument = BinanceAdapters.adaptSymbol(symbol,true); - this.markPrice = markPrice; - this.indexPrice = indexPrice; - this.estimatedSettlePrice = estimatedSettlePrice; - this.lastFundingRate = lastFundingRate; - this.nextFundingTime = nextFundingTime; - this.interestRate = interestRate; - this.time = time; - } + public BinanceFundingRate( + @JsonProperty("symbol") String symbol, + @JsonProperty("markPrice") BigDecimal markPrice, + @JsonProperty("indexPrice") BigDecimal indexPrice, + @JsonProperty("estimatedSettlePrice") BigDecimal estimatedSettlePrice, + @JsonProperty("lastFundingRate") BigDecimal lastFundingRate, + @JsonProperty("nextFundingTime") Date nextFundingTime, + @JsonProperty("interestRate") BigDecimal interestRate, + @JsonProperty("time") Date time) { + this.instrument = BinanceAdapters.adaptSymbol(symbol, true); + this.markPrice = markPrice; + this.indexPrice = indexPrice; + this.estimatedSettlePrice = estimatedSettlePrice; + this.lastFundingRate = lastFundingRate; + this.nextFundingTime = nextFundingTime; + this.interestRate = interestRate; + this.time = time; + } } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceKline.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceKline.java index ddfb73fd8ee..ef1bcd451f2 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceKline.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceKline.java @@ -3,7 +3,6 @@ import java.math.BigDecimal; import java.math.MathContext; import java.text.SimpleDateFormat; - import lombok.Getter; import org.knowm.xchange.instrument.Instrument; @@ -39,7 +38,7 @@ public BinanceKline(Instrument instrument, KlineInterval interval, Object[] obj) this.numberOfTrades = Long.parseLong(obj[8].toString()); this.takerBuyBaseAssetVolume = new BigDecimal(obj[9].toString()); this.takerBuyQuoteAssetVolume = new BigDecimal(obj[10].toString()); - this.closed = (Boolean)obj[11]; + this.closed = (Boolean) obj[11]; } public BigDecimal getAveragePrice() { @@ -49,6 +48,7 @@ public BigDecimal getAveragePrice() { public String toString() { String tstamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(openTime); return String.format( - "[%s] %s %s O:%.6f A:%.6f C:%.6f", instrument, tstamp, interval, open, getAveragePrice(), close); + "[%s] %s %s O:%.6f A:%.6f C:%.6f", + instrument, tstamp, interval, open, getAveragePrice(), close); } } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceTicker24h.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceTicker24h.java index 4b84dfc0155..adc9b2bf6bb 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceTicker24h.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/marketdata/BinanceTicker24h.java @@ -3,7 +3,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; import java.util.Date; - import lombok.Getter; import org.knowm.xchange.binance.BinanceAdapters; import org.knowm.xchange.dto.marketdata.Ticker; @@ -84,6 +83,7 @@ public BinanceTicker24h( this.count = count; this.symbol = symbol; } + public void setInstrument(Instrument pair) { this.pair = pair; } @@ -91,7 +91,7 @@ public void setInstrument(Instrument pair) { public synchronized Ticker toTicker(boolean isFuture) { Instrument instrument = pair; if (instrument == null) { - instrument = BinanceAdapters.adaptSymbol(symbol, isFuture ); + instrument = BinanceAdapters.adaptSymbol(symbol, isFuture); } if (ticker == null) { ticker = diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/meta/exchangeinfo/BinanceExchangeInfo.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/meta/exchangeinfo/BinanceExchangeInfo.java index d692dc7a89d..048ed55514c 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/meta/exchangeinfo/BinanceExchangeInfo.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/meta/exchangeinfo/BinanceExchangeInfo.java @@ -19,6 +19,4 @@ public class BinanceExchangeInfo { private String[] exchangeFilters; private String[] permissions; - - } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/meta/exchangeinfo/Symbol.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/meta/exchangeinfo/Symbol.java index 9e19f7c229a..e01d402c672 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/meta/exchangeinfo/Symbol.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/meta/exchangeinfo/Symbol.java @@ -36,5 +36,4 @@ public class Symbol { private Filter[] filters; private String[] permissions; - } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/BinanceTradeHistoryParams.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/BinanceTradeHistoryParams.java index 49f651b00e1..a016a511286 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/BinanceTradeHistoryParams.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/BinanceTradeHistoryParams.java @@ -12,14 +12,19 @@ public class BinanceTradeHistoryParams /** mandatory */ private Instrument instrument; + /** optional */ private Integer limit; + /** optional */ private String startId; + /** ignored */ private String endId; + /** optional */ private Date startTime; + /** optional */ private Date endTime; diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/TrailingFlag.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/TrailingFlag.java index deeb43d52e3..5c5f190c7e9 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/TrailingFlag.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/TrailingFlag.java @@ -16,6 +16,7 @@ public enum TrailingFlag implements IOrderFlags { P1(100), /** Trailing of 10% */ P10(1000); + /** Basis Points, also known as BIP or BIPS, are used to indicate a percentage change. */ private final long trailingBip; @@ -40,4 +41,4 @@ static TrailingFlag of(Number percent) { } throw new IllegalArgumentException("Invalid trailing " + percent); } -} \ No newline at end of file +} diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/futures/BinanceFutureNewOrder.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/futures/BinanceFutureNewOrder.java index 2064ace6c48..537fe7f06bd 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/futures/BinanceFutureNewOrder.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/dto/trade/futures/BinanceFutureNewOrder.java @@ -10,10 +10,9 @@ @JsonInclude(JsonInclude.Include.NON_NULL) public class BinanceFutureNewOrder { - private final String orderId; + private final String orderId; - public BinanceFutureNewOrder( - @JsonProperty("orderId") String orderId) { - this.orderId = orderId; - } + public BinanceFutureNewOrder(@JsonProperty("orderId") String orderId) { + this.orderId = orderId; + } } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceAccountService.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceAccountService.java index 6aab63f855e..8ce0795c9f8 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceAccountService.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceAccountService.java @@ -5,7 +5,6 @@ import java.math.RoundingMode; import java.time.Instant; import java.util.*; - import org.knowm.xchange.binance.BinanceAdapters; import org.knowm.xchange.binance.BinanceErrorAdapter; import org.knowm.xchange.binance.BinanceExchange; @@ -34,8 +33,7 @@ public class BinanceAccountService extends BinanceAccountServiceRaw implements AccountService { public BinanceAccountService( - BinanceExchange exchange, - ResilienceRegistries resilienceRegistries) { + BinanceExchange exchange, ResilienceRegistries resilienceRegistries) { super(exchange, resilienceRegistries); } @@ -94,30 +92,31 @@ public AccountInfo getAccountInfo() throws IOException { List wallets = new ArrayList<>(); List openPositions = new ArrayList<>(); - if(exchange.usingSandbox()){ - if(exchange.isFuturesSandbox()){ + if (exchange.usingSandbox()) { + if (exchange.isFuturesSandbox()) { BinanceFutureAccountInformation futureAccountInformation = futuresAccount(); wallets.add(BinanceAdapters.adaptBinanceFutureWallet(futureAccountInformation)); - openPositions.addAll(BinanceAdapters.adaptOpenPositions(futureAccountInformation.getPositions())); + openPositions.addAll( + BinanceAdapters.adaptOpenPositions(futureAccountInformation.getPositions())); } else { wallets.add(BinanceAdapters.adaptBinanceSpotWallet(account())); } } else { - if(exchange.isFuturesEnabled()){ + if (exchange.isFuturesEnabled()) { BinanceFutureAccountInformation futureAccountInformation = futuresAccount(); wallets.add(BinanceAdapters.adaptBinanceFutureWallet(futureAccountInformation)); - openPositions.addAll(BinanceAdapters.adaptOpenPositions(futureAccountInformation.getPositions())); + openPositions.addAll( + BinanceAdapters.adaptOpenPositions(futureAccountInformation.getPositions())); } wallets.add(BinanceAdapters.adaptBinanceSpotWallet(account())); } return new AccountInfo( - exchange.getExchangeSpecification().getUserName(), - null, - wallets, - openPositions, - Date.from(Instant.now()) - ); + exchange.getExchangeSpecification().getUserName(), + null, + wallets, + openPositions, + Date.from(Instant.now())); } catch (BinanceException e) { throw BinanceErrorAdapter.adapt(e); } @@ -128,9 +127,9 @@ public Map getDynamicTradingFeesByInstrument() throws IOExcepti try { BinanceAccountInformation acc = account(); BigDecimal makerFee = - acc.makerCommission.divide(new BigDecimal("10000"), 4, RoundingMode.UNNECESSARY); + acc.makerCommission.divide(new BigDecimal("10000"), 4, RoundingMode.UNNECESSARY); BigDecimal takerFee = - acc.takerCommission.divide(new BigDecimal("10000"), 4, RoundingMode.UNNECESSARY); + acc.takerCommission.divide(new BigDecimal("10000"), 4, RoundingMode.UNNECESSARY); Map tradingFees = new HashMap<>(); List pairs = exchange.getExchangeInstruments(); @@ -287,58 +286,61 @@ public List getFundingHistory(TradeHistoryParams params) throws I if (withdrawals) { super.withdrawHistory(asset, startTime, endTime) .forEach( - w -> result.add( - new FundingRecord( - w.getAddress(), - w.getAddressTag(), - BinanceAdapters.toDate(w.getApplyTime()), - Currency.getInstance(w.getCoin()), - w.getAmount(), - w.getId(), - w.getTxId(), - Type.WITHDRAWAL, - withdrawStatus(w.getStatus()), - null, - w.getTransactionFee(), - null))); + w -> + result.add( + new FundingRecord( + w.getAddress(), + w.getAddressTag(), + BinanceAdapters.toDate(w.getApplyTime()), + Currency.getInstance(w.getCoin()), + w.getAmount(), + w.getId(), + w.getTxId(), + Type.WITHDRAWAL, + withdrawStatus(w.getStatus()), + null, + w.getTransactionFee(), + null))); } if (deposits) { super.depositHistory(asset, startTime, endTime) .forEach( - d -> result.add( - new FundingRecord( - d.getAddress(), - d.getAddressTag(), - new Date(d.getInsertTime()), - Currency.getInstance(d.getCoin()), - d.getAmount(), - null, - d.getTxId(), - Type.DEPOSIT, - depositStatus(d.getStatus()), - null, - null, - null))); + d -> + result.add( + new FundingRecord( + d.getAddress(), + d.getAddressTag(), + new Date(d.getInsertTime()), + Currency.getInstance(d.getCoin()), + d.getAmount(), + null, + d.getTxId(), + Type.DEPOSIT, + depositStatus(d.getStatus()), + null, + null, + null))); } if (otherInflow) { super.getAssetDividend(asset, startTime, endTime) .forEach( - a -> result.add( - new FundingRecord( - null, - null, - new Date(a.getDivTime()), - Currency.getInstance(a.getAsset()), - a.getAmount(), - null, - String.valueOf(a.getTranId()), - Type.OTHER_INFLOW, - Status.COMPLETE, - null, - null, - a.getEnInfo()))); + a -> + result.add( + new FundingRecord( + null, + null, + new Date(a.getDivTime()), + Currency.getInstance(a.getAsset()), + a.getAmount(), + null, + String.valueOf(a.getTranId()), + Type.OTHER_INFLOW, + Status.COMPLETE, + null, + null, + a.getEnInfo()))); } final String finalEmail = email; @@ -346,15 +348,16 @@ public List getFundingHistory(TradeHistoryParams params) throws I if (email != null) { super.getTransferHistory(email, startTime, endTime, page, limit) .forEach( - a -> result.add( - new FundingRecord.Builder() - .setAddress(finalEmail) - .setDate(new Date(a.getTime())) - .setCurrency(Currency.getInstance(a.getAsset())) - .setAmount(a.getQty()) - .setType(Type.INTERNAL_WITHDRAWAL) - .setStatus(transferHistoryStatus(a.getStatus())) - .build())); + a -> + result.add( + new FundingRecord.Builder() + .setAddress(finalEmail) + .setDate(new Date(a.getTime())) + .setCurrency(Currency.getInstance(a.getAsset())) + .setAmount(a.getQty()) + .setType(Type.INTERNAL_WITHDRAWAL) + .setStatus(transferHistoryStatus(a.getStatus())) + .build())); } if (subAccount) { @@ -362,18 +365,19 @@ public List getFundingHistory(TradeHistoryParams params) throws I Integer type = deposits && withdrawals ? null : deposits ? 1 : 0; super.getSubUserHistory(asset, type, startTime, endTime, limit) .forEach( - a -> result.add( - new FundingRecord.Builder() - .setAddress(a.getEmail()) - .setDate(new Date(a.getTime())) - .setCurrency(Currency.getInstance(a.getAsset())) - .setAmount(a.getQty()) - .setType( - a.getType().equals(1) - ? Type.INTERNAL_DEPOSIT - : Type.INTERNAL_WITHDRAWAL) - .setStatus(Status.COMPLETE) - .build())); + a -> + result.add( + new FundingRecord.Builder() + .setAddress(a.getEmail()) + .setDate(new Date(a.getTime())) + .setCurrency(Currency.getInstance(a.getAsset())) + .setAmount(a.getQty()) + .setType( + a.getType().equals(1) + ? Type.INTERNAL_DEPOSIT + : Type.INTERNAL_WITHDRAWAL) + .setStatus(Status.COMPLETE) + .build())); } return result; diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceAccountServiceRaw.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceAccountServiceRaw.java index 0f2c952eccc..db07456d675 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceAccountServiceRaw.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceAccountServiceRaw.java @@ -18,8 +18,7 @@ public class BinanceAccountServiceRaw extends BinanceBaseService { public BinanceAccountServiceRaw( - BinanceExchange exchange, - ResilienceRegistries resilienceRegistries) { + BinanceExchange exchange, ResilienceRegistries resilienceRegistries) { super(exchange, resilienceRegistries); } @@ -33,10 +32,12 @@ public BinanceAccountInformation account() throws BinanceException, IOException public BinanceFutureAccountInformation futuresAccount() throws BinanceException, IOException { return decorateApiCall( - () -> binanceFutures.futuresAccount(getRecvWindow(), getTimestampFactory(), apiKey, signatureCreator)) - .withRetry(retry("futures-account")) - .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), 5) - .call(); + () -> + binanceFutures.futuresAccount( + getRecvWindow(), getTimestampFactory(), apiKey, signatureCreator)) + .withRetry(retry("futures-account")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), 5) + .call(); } public WithdrawResponse withdraw(String coin, String address, BigDecimal amount) diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceBaseService.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceBaseService.java index 17b41e93a51..9c7e03d65c9 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceBaseService.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceBaseService.java @@ -3,7 +3,6 @@ import static org.knowm.xchange.binance.BinanceResilience.REQUEST_WEIGHT_RATE_LIMITER; import java.io.IOException; - import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.binance.BinanceAuthenticated; import org.knowm.xchange.binance.BinanceExchange; @@ -29,28 +28,35 @@ public class BinanceBaseService extends BaseResilientExchangeService bids = - ob.bids.entrySet().stream() - .map(e -> new LimitOrder(OrderType.BID, e.getValue(), pair, null, null, e.getKey())) - .collect(Collectors.toList()); + ob.bids.entrySet().stream() + .map(e -> new LimitOrder(OrderType.BID, e.getValue(), pair, null, null, e.getKey())) + .collect(Collectors.toList()); List asks = - ob.asks.entrySet().stream() - .map(e -> new LimitOrder(OrderType.ASK, e.getValue(), pair, null, null, e.getKey())) - .collect(Collectors.toList()); + ob.asks.entrySet().stream() + .map(e -> new LimitOrder(OrderType.ASK, e.getValue(), pair, null, null, e.getKey())) + .collect(Collectors.toList()); return new OrderBook(Date.from(Instant.now()), asks, bids); } diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceMarketDataServiceRaw.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceMarketDataServiceRaw.java index 4961f2bcb3f..54d7d95485a 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceMarketDataServiceRaw.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceMarketDataServiceRaw.java @@ -18,15 +18,12 @@ public class BinanceMarketDataServiceRaw extends BinanceBaseService { protected BinanceMarketDataServiceRaw( - BinanceExchange exchange, - ResilienceRegistries resilienceRegistries) { + BinanceExchange exchange, ResilienceRegistries resilienceRegistries) { super(exchange, resilienceRegistries); } public void ping() throws IOException { - decorateApiCall(binance::ping) - .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) - .call(); + decorateApiCall(binance::ping).withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)).call(); } public BinanceTime binanceTime() throws IOException { @@ -35,11 +32,13 @@ public BinanceTime binanceTime() throws IOException { .call(); } - public BinanceOrderbook getBinanceOrderbookAllProducts(Instrument pair, Integer limit) throws IOException { - return decorateApiCall(() -> - (pair instanceof FuturesContract) - ? binanceFutures.depth(BinanceAdapters.toSymbol(pair), limit) - : binance.depth(BinanceAdapters.toSymbol(pair), limit)) + public BinanceOrderbook getBinanceOrderbookAllProducts(Instrument pair, Integer limit) + throws IOException { + return decorateApiCall( + () -> + (pair instanceof FuturesContract) + ? binanceFutures.depth(BinanceAdapters.toSymbol(pair), limit) + : binance.depth(BinanceAdapters.toSymbol(pair), limit)) .withRetry(retry("depth")) .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), depthPermits(limit)) .call(); @@ -50,11 +49,11 @@ public List aggTradesAllProducts( throws IOException { return decorateApiCall( () -> - (pair instanceof FuturesContract) - ? binanceFutures.aggTrades( - BinanceAdapters.toSymbol(pair), fromId, startTime, endTime, limit) - : binance.aggTrades( - BinanceAdapters.toSymbol(pair), fromId, startTime, endTime, limit)) + (pair instanceof FuturesContract) + ? binanceFutures.aggTrades( + BinanceAdapters.toSymbol(pair), fromId, startTime, endTime, limit) + : binance.aggTrades( + BinanceAdapters.toSymbol(pair), fromId, startTime, endTime, limit)) .withRetry(retry("aggTrades")) .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), aggTradesPermits(limit)) .call(); @@ -93,9 +92,11 @@ public List ticker24hAllProducts() throws IOException { public BinanceTicker24h ticker24hAllProducts(Instrument pair) throws IOException { BinanceTicker24h ticker24h = - decorateApiCall(() -> (pair instanceof FuturesContract) - ? binanceFutures.ticker24h(BinanceAdapters.toSymbol(pair)) - : binance.ticker24h(BinanceAdapters.toSymbol(pair))) + decorateApiCall( + () -> + (pair instanceof FuturesContract) + ? binanceFutures.ticker24h(BinanceAdapters.toSymbol(pair)) + : binance.ticker24h(BinanceAdapters.toSymbol(pair))) .withRetry(retry("ticker24h")) .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) .call(); @@ -105,16 +106,16 @@ public BinanceTicker24h ticker24hAllProducts(Instrument pair) throws IOException public List getBinanceFundingRates() throws IOException { return decorateApiCall(binanceFutures::fundingRates) - .withRetry(retry("fundingRate")) - .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) - .call(); + .withRetry(retry("fundingRate")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) + .call(); } public BinanceFundingRate getBinanceFundingRate(Instrument instrument) throws IOException { return decorateApiCall(() -> binanceFutures.fundingRate(BinanceAdapters.toSymbol(instrument))) - .withRetry(retry("fundingRate")) - .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) - .call(); + .withRetry(retry("fundingRate")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) + .call(); } public BinancePrice tickerPrice(CurrencyPair pair) throws IOException { diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceTradeService.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceTradeService.java index a160d87bc75..b3d25c50605 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceTradeService.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceTradeService.java @@ -110,9 +110,10 @@ public String placeStopOrder(StopOrder order) throws IOException { } private Optional getOrderFlag(Order order, Class clazz) { - return (Optional) order.getOrderFlags().stream() - .filter(flag -> clazz.isAssignableFrom(flag.getClass())) - .findFirst(); + return (Optional) + order.getOrderFlags().stream() + .filter(flag -> clazz.isAssignableFrom(flag.getClass())) + .findFirst(); } private String placeOrderAllProducts( @@ -129,25 +130,76 @@ private String placeOrderAllProducts( String orderId; if (order.getInstrument() instanceof FuturesContract) { - if( exchange.isPortfolioMarginEnabled()){ - if(BinanceAdapters.isInverse(order.getInstrument())){ - orderId = newPortfolioMarginInverseFutureOrder(order.getInstrument(), BinanceAdapters.convert(order.getType()), type, tif, order.getOriginalAmount(), order.hasFlag(org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.REDUCE_ONLY), - limitPrice, order.getUserReference(), null).getOrderId(); - } else { - orderId = newPortfolioMarginFutureOrder(order.getInstrument(), BinanceAdapters.convert(order.getType()), type, tif, order.getOriginalAmount(), order.hasFlag(org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.REDUCE_ONLY), - limitPrice, order.getUserReference(), null).getOrderId(); - } - } else{ - if(BinanceAdapters.isInverse(order.getInstrument())) { - orderId = newInverseFutureOrder(order.getInstrument(), BinanceAdapters.convert(order.getType()), type, tif, order.getOriginalAmount(), order.hasFlag(org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.REDUCE_ONLY), - limitPrice, order.getUserReference(), stopPrice, false, null, callBackRate, null).getOrderId(); - - } else { - orderId = newFutureOrder(order.getInstrument(), BinanceAdapters.convert(order.getType()), type, tif, order.getOriginalAmount(), order.hasFlag(org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.REDUCE_ONLY), - limitPrice, order.getUserReference(), stopPrice, false, null, callBackRate, null).getOrderId(); - - } - } + if (exchange.isPortfolioMarginEnabled()) { + if (BinanceAdapters.isInverse(order.getInstrument())) { + orderId = + newPortfolioMarginInverseFutureOrder( + order.getInstrument(), + BinanceAdapters.convert(order.getType()), + type, + tif, + order.getOriginalAmount(), + order.hasFlag( + org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.REDUCE_ONLY), + limitPrice, + order.getUserReference(), + null) + .getOrderId(); + } else { + orderId = + newPortfolioMarginFutureOrder( + order.getInstrument(), + BinanceAdapters.convert(order.getType()), + type, + tif, + order.getOriginalAmount(), + order.hasFlag( + org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.REDUCE_ONLY), + limitPrice, + order.getUserReference(), + null) + .getOrderId(); + } + } else { + if (BinanceAdapters.isInverse(order.getInstrument())) { + orderId = + newInverseFutureOrder( + order.getInstrument(), + BinanceAdapters.convert(order.getType()), + type, + tif, + order.getOriginalAmount(), + order.hasFlag( + org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.REDUCE_ONLY), + limitPrice, + order.getUserReference(), + stopPrice, + false, + null, + callBackRate, + null) + .getOrderId(); + + } else { + orderId = + newFutureOrder( + order.getInstrument(), + BinanceAdapters.convert(order.getType()), + type, + tif, + order.getOriginalAmount(), + order.hasFlag( + org.knowm.xchange.binance.dto.trade.BinanceOrderFlags.REDUCE_ONLY), + limitPrice, + order.getUserReference(), + stopPrice, + false, + null, + callBackRate, + null) + .getOrderId(); + } + } } else { orderId = Long.toString( diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceTradeServiceRaw.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceTradeServiceRaw.java index d8d5531a1bd..1caae6de8f2 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceTradeServiceRaw.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceTradeServiceRaw.java @@ -9,7 +9,6 @@ import java.math.BigDecimal; import java.util.List; import java.util.Optional; - import org.knowm.xchange.binance.BinanceAdapters; import org.knowm.xchange.binance.BinanceExchange; import org.knowm.xchange.binance.dto.BinanceException; @@ -25,8 +24,7 @@ public class BinanceTradeServiceRaw extends BinanceBaseService { protected BinanceTradeServiceRaw( - BinanceExchange exchange, - ResilienceRegistries resilienceRegistries) { + BinanceExchange exchange, ResilienceRegistries resilienceRegistries) { super(exchange, resilienceRegistries); } @@ -34,21 +32,60 @@ public List openOrdersAllProducts() throws BinanceException, IOExc return openOrdersAllProducts(null); } - public List openOrdersAllProducts(Instrument pair) throws BinanceException, IOException { - if(exchange.isPortfolioMarginEnabled()){ - return decorateApiCall(() -> (pair instanceof FuturesContract) ? (BinanceAdapters.isInverse(pair) ? binanceFutures.futureOpenPortfolioMarginInverseOrders(Optional.of(pair).map(BinanceAdapters::toInverseSymbol).orElse(null), getRecvWindow(), getTimestampFactory(), - apiKey, signatureCreator) : - binanceFutures.futureOpenPortfolioMarginOrders(Optional.of(pair).map(BinanceAdapters::toSymbol).orElse(null), getRecvWindow(), getTimestampFactory(), - apiKey, signatureCreator) ) : - binance.openOrders(Optional.ofNullable(pair).map(BinanceAdapters::toSymbol).orElse(null), getRecvWindow(), getTimestampFactory(), apiKey, - signatureCreator)).withRetry(retry("openOrders")).withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), openOrdersPermits(pair)).call(); + public List openOrdersAllProducts(Instrument pair) + throws BinanceException, IOException { + if (exchange.isPortfolioMarginEnabled()) { + return decorateApiCall( + () -> + (pair instanceof FuturesContract) + ? (BinanceAdapters.isInverse(pair) + ? binanceFutures.futureOpenPortfolioMarginInverseOrders( + Optional.of(pair).map(BinanceAdapters::toInverseSymbol).orElse(null), + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator) + : binanceFutures.futureOpenPortfolioMarginOrders( + Optional.of(pair).map(BinanceAdapters::toSymbol).orElse(null), + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator)) + : binance.openOrders( + Optional.ofNullable(pair).map(BinanceAdapters::toSymbol).orElse(null), + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator)) + .withRetry(retry("openOrders")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), openOrdersPermits(pair)) + .call(); } else { - return decorateApiCall(() -> (pair instanceof FuturesContract) ? (BinanceAdapters.isInverse(pair) ? inverseBinanceFutures.futureOpenInverseOrders(Optional.of(pair).map(BinanceAdapters::toInverseSymbol).orElse(null), getRecvWindow(), getTimestampFactory(), - apiKey, signatureCreator) : - binanceFutures.futureOpenOrders(Optional.of(pair).map(BinanceAdapters::toSymbol).orElse(null), getRecvWindow(), getTimestampFactory(), - apiKey, signatureCreator)) : - binance.openOrders(Optional.ofNullable(pair).map(BinanceAdapters::toSymbol).orElse(null), getRecvWindow(), getTimestampFactory(), apiKey, - signatureCreator)).withRetry(retry("openOrders")).withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), openOrdersPermits(pair)).call(); + return decorateApiCall( + () -> + (pair instanceof FuturesContract) + ? (BinanceAdapters.isInverse(pair) + ? inverseBinanceFutures.futureOpenInverseOrders( + Optional.of(pair).map(BinanceAdapters::toInverseSymbol).orElse(null), + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator) + : binanceFutures.futureOpenOrders( + Optional.of(pair).map(BinanceAdapters::toSymbol).orElse(null), + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator)) + : binance.openOrders( + Optional.ofNullable(pair).map(BinanceAdapters::toSymbol).orElse(null), + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator)) + .withRetry(retry("openOrders")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), openOrdersPermits(pair)) + .call(); } } @@ -104,21 +141,21 @@ public BinanceFutureNewOrder newPortfolioMarginFutureOrder( BinanceNewOrder.NewOrderResponseType newOrderRespType) throws IOException, BinanceException { return decorateApiCall( - () -> - binanceFutures.newPortfolioMarginLinearOrder( - BinanceAdapters.toSymbol(pair), - side, - type, - timeInForce, - quantity, - reduceOnly, - price, - newClientOrderId, - newOrderRespType, - getRecvWindow(), - getTimestampFactory(), - apiKey, - signatureCreator)) + () -> + binanceFutures.newPortfolioMarginLinearOrder( + BinanceAdapters.toSymbol(pair), + side, + type, + timeInForce, + quantity, + reduceOnly, + price, + newClientOrderId, + newOrderRespType, + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator)) .withRetry(retry("newFutureOrder", NON_IDEMPOTENT_CALLS_RETRY_CONFIG_NAME)) .withRateLimiter(rateLimiter(ORDERS_PER_SECOND_RATE_LIMITER)) .withRateLimiter(rateLimiter(ORDERS_PER_DAY_RATE_LIMITER)) @@ -138,21 +175,21 @@ public BinanceFutureNewOrder newPortfolioMarginInverseFutureOrder( BinanceNewOrder.NewOrderResponseType newOrderRespType) throws IOException, BinanceException { return decorateApiCall( - () -> - binanceFutures.newPortfolioMarginInverseOrder( - BinanceAdapters.toSymbol(pair,true), - side, - type, - timeInForce, - quantity, - reduceOnly, - price, - newClientOrderId, - newOrderRespType, - getRecvWindow(), - getTimestampFactory(), - apiKey, - signatureCreator)) + () -> + binanceFutures.newPortfolioMarginInverseOrder( + BinanceAdapters.toSymbol(pair, true), + side, + type, + timeInForce, + quantity, + reduceOnly, + price, + newClientOrderId, + newOrderRespType, + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator)) .withRetry(retry("newFutureOrder", NON_IDEMPOTENT_CALLS_RETRY_CONFIG_NAME)) .withRateLimiter(rateLimiter(ORDERS_PER_SECOND_RATE_LIMITER)) .withRateLimiter(rateLimiter(ORDERS_PER_DAY_RATE_LIMITER)) @@ -161,45 +198,45 @@ public BinanceFutureNewOrder newPortfolioMarginInverseFutureOrder( } public BinanceFutureNewOrder newFutureOrder( - Instrument pair, - OrderSide side, - OrderType type, - TimeInForce timeInForce, - BigDecimal quantity, - boolean reduceOnly, - BigDecimal price, - String newClientOrderId, - BigDecimal stopPrice, - boolean closePosition, - BigDecimal activationPrice, - BigDecimal callbackRate, - BinanceNewOrder.NewOrderResponseType newOrderRespType) - throws IOException, BinanceException { + Instrument pair, + OrderSide side, + OrderType type, + TimeInForce timeInForce, + BigDecimal quantity, + boolean reduceOnly, + BigDecimal price, + String newClientOrderId, + BigDecimal stopPrice, + boolean closePosition, + BigDecimal activationPrice, + BigDecimal callbackRate, + BinanceNewOrder.NewOrderResponseType newOrderRespType) + throws IOException, BinanceException { return decorateApiCall( () -> - binanceFutures.newOrder( - BinanceAdapters.toSymbol(pair), - side, - type, - timeInForce, - quantity, - reduceOnly, - price, - newClientOrderId, - stopPrice, - closePosition, - activationPrice, - callbackRate, - newOrderRespType, - getRecvWindow(), - getTimestampFactory(), - apiKey, - signatureCreator)) - .withRetry(retry("newFutureOrder", NON_IDEMPOTENT_CALLS_RETRY_CONFIG_NAME)) - .withRateLimiter(rateLimiter(ORDERS_PER_SECOND_RATE_LIMITER)) - .withRateLimiter(rateLimiter(ORDERS_PER_DAY_RATE_LIMITER)) - .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) - .call(); + binanceFutures.newOrder( + BinanceAdapters.toSymbol(pair), + side, + type, + timeInForce, + quantity, + reduceOnly, + price, + newClientOrderId, + stopPrice, + closePosition, + activationPrice, + callbackRate, + newOrderRespType, + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator)) + .withRetry(retry("newFutureOrder", NON_IDEMPOTENT_CALLS_RETRY_CONFIG_NAME)) + .withRateLimiter(rateLimiter(ORDERS_PER_SECOND_RATE_LIMITER)) + .withRateLimiter(rateLimiter(ORDERS_PER_DAY_RATE_LIMITER)) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) + .call(); } public BinanceFutureNewOrder newInverseFutureOrder( @@ -218,25 +255,25 @@ public BinanceFutureNewOrder newInverseFutureOrder( BinanceNewOrder.NewOrderResponseType newOrderRespType) throws IOException, BinanceException { return decorateApiCall( - () -> - inverseBinanceFutures.newInverseOrder( - BinanceAdapters.toSymbol(pair,true), - side, - type, - timeInForce, - quantity, - reduceOnly, - price, - newClientOrderId, - stopPrice, - closePosition, - activationPrice, - callbackRate, - newOrderRespType, - getRecvWindow(), - getTimestampFactory(), - apiKey, - signatureCreator)) + () -> + inverseBinanceFutures.newInverseOrder( + BinanceAdapters.toSymbol(pair, true), + side, + type, + timeInForce, + quantity, + reduceOnly, + price, + newClientOrderId, + stopPrice, + closePosition, + activationPrice, + callbackRate, + newOrderRespType, + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator)) .withRetry(retry("newFutureOrder", NON_IDEMPOTENT_CALLS_RETRY_CONFIG_NAME)) .withRateLimiter(rateLimiter(ORDERS_PER_SECOND_RATE_LIMITER)) .withRateLimiter(rateLimiter(ORDERS_PER_DAY_RATE_LIMITER)) @@ -280,47 +317,147 @@ public void testNewOrder( .call(); } - public BinanceOrder orderStatusAllProducts(Instrument pair, Long orderId, String origClientOrderId) + public BinanceOrder orderStatusAllProducts( + Instrument pair, Long orderId, String origClientOrderId) throws IOException, BinanceException { if (exchange.isPortfolioMarginEnabled()) { - return decorateApiCall(() -> (pair instanceof FuturesContract) ? - (BinanceAdapters.isInverse(pair) ? - binanceFutures.futurePortfolioMarginInverseOrderStatus(BinanceAdapters.toInverseSymbol(pair), orderId, origClientOrderId, getRecvWindow(), - getTimestampFactory(), super.apiKey, super.signatureCreator) : - binanceFutures.futurePortfolioMarginOrderStatus(BinanceAdapters.toSymbol(pair), orderId, origClientOrderId, getRecvWindow(), - getTimestampFactory(), super.apiKey, super.signatureCreator)) : - binance.orderStatus(BinanceAdapters.toSymbol(pair), orderId, origClientOrderId, getRecvWindow(), getTimestampFactory(), super.apiKey, super.signatureCreator)).withRetry(retry("orderStatus")).withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)).call(); + return decorateApiCall( + () -> + (pair instanceof FuturesContract) + ? (BinanceAdapters.isInverse(pair) + ? binanceFutures.futurePortfolioMarginInverseOrderStatus( + BinanceAdapters.toInverseSymbol(pair), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator) + : binanceFutures.futurePortfolioMarginOrderStatus( + BinanceAdapters.toSymbol(pair), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator)) + : binance.orderStatus( + BinanceAdapters.toSymbol(pair), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator)) + .withRetry(retry("orderStatus")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) + .call(); } else { - return decorateApiCall(() -> (pair instanceof FuturesContract) ? - (BinanceAdapters.isInverse(pair) ? - - inverseBinanceFutures.futureInverseOrderStatus(BinanceAdapters.toInverseSymbol(pair), orderId, origClientOrderId, getRecvWindow(), - getTimestampFactory(), super.apiKey, super.signatureCreator) : - binanceFutures.futureOrderStatus(BinanceAdapters.toSymbol(pair), orderId, origClientOrderId, getRecvWindow(), getTimestampFactory(), - super.apiKey, super.signatureCreator)) : - binance.orderStatus(BinanceAdapters.toSymbol(pair), orderId, origClientOrderId, getRecvWindow(), getTimestampFactory(), super.apiKey, super.signatureCreator)).withRetry(retry("orderStatus")).withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)).call(); + return decorateApiCall( + () -> + (pair instanceof FuturesContract) + ? (BinanceAdapters.isInverse(pair) + ? inverseBinanceFutures.futureInverseOrderStatus( + BinanceAdapters.toInverseSymbol(pair), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator) + : binanceFutures.futureOrderStatus( + BinanceAdapters.toSymbol(pair), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator)) + : binance.orderStatus( + BinanceAdapters.toSymbol(pair), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator)) + .withRetry(retry("orderStatus")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) + .call(); } } public BinanceCancelledOrder cancelOrderAllProducts( Instrument pair, Long orderId, String origClientOrderId, String newClientOrderId) throws IOException, BinanceException { - if(exchange.isPortfolioMarginEnabled()) { + if (exchange.isPortfolioMarginEnabled()) { - return decorateApiCall(() -> (pair instanceof FuturesContract) ?(BinanceAdapters.isInverse(pair) ? - binanceFutures.cancelPortfolioMarginInverseFutureOrder(BinanceAdapters.toSymbol(pair, true), orderId, origClientOrderId, getRecvWindow(), getTimestampFactory(), super.apiKey, - super.signatureCreator) : binanceFutures.cancelPortfolioMarginFutureOrder(BinanceAdapters.toSymbol(pair), orderId, origClientOrderId, getRecvWindow(), getTimestampFactory(), super.apiKey, - super.signatureCreator)) : - binance.cancelOrder(BinanceAdapters.toSymbol(pair), orderId, origClientOrderId, newClientOrderId, getRecvWindow(), getTimestampFactory(), - super.apiKey, super.signatureCreator)).withRetry(retry("cancelOrder")).withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)).call(); + return decorateApiCall( + () -> + (pair instanceof FuturesContract) + ? (BinanceAdapters.isInverse(pair) + ? binanceFutures.cancelPortfolioMarginInverseFutureOrder( + BinanceAdapters.toSymbol(pair, true), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator) + : binanceFutures.cancelPortfolioMarginFutureOrder( + BinanceAdapters.toSymbol(pair), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator)) + : binance.cancelOrder( + BinanceAdapters.toSymbol(pair), + orderId, + origClientOrderId, + newClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator)) + .withRetry(retry("cancelOrder")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) + .call(); } else { - return decorateApiCall(() -> (pair instanceof FuturesContract) ?(BinanceAdapters.isInverse(pair) ? - binanceFutures.cancelInverseFutureOrder(BinanceAdapters.toSymbol(pair, true), orderId, origClientOrderId, getRecvWindow(), getTimestampFactory(), super.apiKey, - super.signatureCreator) : binanceFutures.cancelFutureOrder(BinanceAdapters.toSymbol(pair), orderId, origClientOrderId, getRecvWindow(), getTimestampFactory(), super.apiKey, - super.signatureCreator)) : - binance.cancelOrder(BinanceAdapters.toSymbol(pair), orderId, origClientOrderId, newClientOrderId, getRecvWindow(), getTimestampFactory(), - super.apiKey, super.signatureCreator)).withRetry(retry("cancelOrder")).withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)).call(); + return decorateApiCall( + () -> + (pair instanceof FuturesContract) + ? (BinanceAdapters.isInverse(pair) + ? binanceFutures.cancelInverseFutureOrder( + BinanceAdapters.toSymbol(pair, true), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator) + : binanceFutures.cancelFutureOrder( + BinanceAdapters.toSymbol(pair), + orderId, + origClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator)) + : binance.cancelOrder( + BinanceAdapters.toSymbol(pair), + orderId, + origClientOrderId, + newClientOrderId, + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator)) + .withRetry(retry("cancelOrder")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) + .call(); } } @@ -328,20 +465,19 @@ public List cancelAllOpenOrdersAllProducts(Instrument pai throws IOException, BinanceException { return decorateApiCall( () -> - (pair instanceof FuturesContract) - ? binanceFutures.cancelAllFutureOpenOrders( - BinanceAdapters.toSymbol(pair), - getRecvWindow(), - getTimestampFactory(), - super.apiKey, - super.signatureCreator - ) - : binance.cancelAllOpenOrders( - BinanceAdapters.toSymbol(pair), - getRecvWindow(), - getTimestampFactory(), - super.apiKey, - super.signatureCreator)) + (pair instanceof FuturesContract) + ? binanceFutures.cancelAllFutureOpenOrders( + BinanceAdapters.toSymbol(pair), + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator) + : binance.cancelAllOpenOrders( + BinanceAdapters.toSymbol(pair), + getRecvWindow(), + getTimestampFactory(), + super.apiKey, + super.signatureCreator)) .withRetry(retry("cancelAllOpenOrders")) .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER)) .call(); @@ -364,42 +500,48 @@ public List allOrders(CurrencyPair pair, Long orderId, Integer lim .call(); } - public List myTradesAllProducts(Instrument pair, Long orderId, Long startTime, Long endTime, Long fromId, Integer limit) throws BinanceException, IOException{ + public List myTradesAllProducts( + Instrument pair, Long orderId, Long startTime, Long endTime, Long fromId, Integer limit) + throws BinanceException, IOException { return decorateApiCall( - () -> (pair instanceof FuturesContract) + () -> + (pair instanceof FuturesContract) ? binanceFutures.myFutureTrades( - BinanceAdapters.toSymbol(pair), - orderId, - startTime, - endTime, - fromId, - limit, - getRecvWindow(), - getTimestampFactory(), - apiKey, - signatureCreator) + BinanceAdapters.toSymbol(pair), + orderId, + startTime, + endTime, + fromId, + limit, + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator) : binance.myTrades( - BinanceAdapters.toSymbol(pair), - orderId, - startTime, - endTime, - fromId, - limit, - getRecvWindow(), - getTimestampFactory(), - apiKey, - signatureCreator)) - .withRetry(retry("myTrades")) - .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), myTradesPermits(limit)) - .call(); + BinanceAdapters.toSymbol(pair), + orderId, + startTime, + endTime, + fromId, + limit, + getRecvWindow(), + getTimestampFactory(), + apiKey, + signatureCreator)) + .withRetry(retry("myTrades")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), myTradesPermits(limit)) + .call(); } public List openPositions() throws BinanceException, IOException { return decorateApiCall( - () -> binanceFutures.futuresAccount(getRecvWindow(), getTimestampFactory(), apiKey, signatureCreator)) - .withRetry(retry("futures-account")) - .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), 5) - .call().getPositions(); + () -> + binanceFutures.futuresAccount( + getRecvWindow(), getTimestampFactory(), apiKey, signatureCreator)) + .withRetry(retry("futures-account")) + .withRateLimiter(rateLimiter(REQUEST_WEIGHT_RATE_LIMITER), 5) + .call() + .getPositions(); } /** diff --git a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceUsAccountService.java b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceUsAccountService.java index bffcdf95c94..08027faa0c1 100644 --- a/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceUsAccountService.java +++ b/xchange-binance/src/main/java/org/knowm/xchange/binance/service/BinanceUsAccountService.java @@ -27,8 +27,7 @@ public class BinanceUsAccountService extends BinanceAccountService { protected final Logger LOG = LoggerFactory.getLogger(getClass()); public BinanceUsAccountService( - BinanceExchange exchange, - ResilienceRegistries resilienceRegistries) { + BinanceExchange exchange, ResilienceRegistries resilienceRegistries) { super(exchange, resilienceRegistries); } diff --git a/xchange-binance/src/test/java/org/knowm/xchange/binance/BinanceExchangeIntegration.java b/xchange-binance/src/test/java/org/knowm/xchange/binance/BinanceExchangeIntegration.java index 98ab9acc51b..f585c85baca 100644 --- a/xchange-binance/src/test/java/org/knowm/xchange/binance/BinanceExchangeIntegration.java +++ b/xchange-binance/src/test/java/org/knowm/xchange/binance/BinanceExchangeIntegration.java @@ -37,8 +37,7 @@ protected static void createExchange() throws Exception { exchange = ExchangeFactory.INSTANCE.createExchangeWithoutSpecification(BinanceExchange.class); ExchangeSpecification spec = exchange.getDefaultExchangeSpecification(); boolean useSandbox = - Boolean.parseBoolean( - System.getProperty(Exchange.USE_SANDBOX, Boolean.FALSE.toString())); + Boolean.parseBoolean(System.getProperty(Exchange.USE_SANDBOX, Boolean.FALSE.toString())); spec.setExchangeSpecificParametersItem(Exchange.USE_SANDBOX, useSandbox); exchange.applySpecification(spec); } diff --git a/xchange-binance/src/test/java/org/knowm/xchange/binance/BinanceFutureTest.java b/xchange-binance/src/test/java/org/knowm/xchange/binance/BinanceFutureTest.java index 90d4f934237..ce376fd6013 100644 --- a/xchange-binance/src/test/java/org/knowm/xchange/binance/BinanceFutureTest.java +++ b/xchange-binance/src/test/java/org/knowm/xchange/binance/BinanceFutureTest.java @@ -1,5 +1,10 @@ package org.knowm.xchange.binance; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + +import java.io.IOException; +import java.math.BigDecimal; +import java.util.*; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -25,99 +30,126 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.*; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - @Ignore public class BinanceFutureTest { - private static final Instrument instrument = new FuturesContract("BTC/USDT/PERP"); - - protected final Logger logger = LoggerFactory.getLogger(getClass()); - private static Exchange binanceExchange; - - @Before - public void setUp() throws IOException { - Properties prop = new Properties(); - prop.load(this.getClass().getResourceAsStream("/secret.keys")); - - Exchange exchange = ExchangeFactory.INSTANCE.createExchange(BinanceExchange.class); - - ExchangeSpecification spec = exchange.getExchangeSpecification(); - - spec.setApiKey(prop.getProperty("apikey")); - spec.setSecretKey(prop.getProperty("secret")); - spec.setExchangeSpecificParametersItem(BinanceExchange.SPECIFIC_PARAM_USE_FUTURES_SANDBOX, true); - exchange.applySpecification(spec); - - binanceExchange = exchange; - } - - @Test - public void binanceFutureMarketDataService() throws IOException { - // Get OrderBook - OrderBook orderBook = binanceExchange.getMarketDataService().getOrderBook(instrument); - logger.info("OrderBook: "+orderBook); - assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); - //Get Ticker - Ticker ticker = binanceExchange.getMarketDataService().getTicker(instrument); - logger.info("Ticker: "+ticker); - assertThat(ticker.getInstrument()).isEqualTo(instrument); - - //Get Trades - Trades trades = binanceExchange.getMarketDataService().getTrades(instrument); - logger.info("Trades: "+trades); - assertThat(trades.getTrades().get(0).getInstrument()).isEqualTo(instrument); - //Get Funding rates - FundingRates fundingRates = binanceExchange.getMarketDataService().getFundingRates(); - fundingRates.getFundingRates().forEach(fundingRate -> System.out.println(fundingRate.toString())); - } - - @Test - public void binanceFutureAccountService() throws IOException { - - AccountInfo accountInfo = binanceExchange.getAccountService().getAccountInfo(); - logger.info("AccountInfo: "+accountInfo.getWallet(Wallet.WalletFeature.FUTURES_TRADING)); - assertThat(accountInfo.getOpenPositions().stream().anyMatch(openPosition -> openPosition.getInstrument().equals(instrument))).isTrue(); - logger.info("Positions: "+ accountInfo.getOpenPositions()); - - } - - @Test - public void binanceFutureTradeService() throws IOException { - Set orderFlags = new HashSet<>(); -// orderFlags.add(BinanceOrderFlags.REDUCE_ONLY); - - //Open Positions - List openPositions = binanceExchange.getTradeService().getOpenPositions().getOpenPositions(); - logger.info("Positions: "+ openPositions); - assertThat(openPositions.stream().anyMatch(openPosition -> openPosition.getInstrument().equals(instrument))).isTrue(); - - // Get UserTrades - List userTrades = binanceExchange.getTradeService().getTradeHistory(new BinanceTradeHistoryParams(instrument)).getUserTrades(); - logger.info("UserTrades: "+ userTrades); - assertThat(userTrades.stream().anyMatch(userTrade -> userTrade.getInstrument().equals(instrument))).isTrue(); - - // Place LimitOrder - String orderId = binanceExchange.getTradeService().placeLimitOrder(new LimitOrder.Builder(Order.OrderType.BID, instrument) - .limitPrice(BigDecimal.valueOf(1000)) - .flags(orderFlags) - .originalAmount(BigDecimal.ONE) - .build()); - // Get OpenOrders - List openOrders = binanceExchange.getTradeService().getOpenOrders(new DefaultOpenOrdersParamInstrument(instrument)).getOpenOrders(); - logger.info("OpenOrders: "+openOrders); - assertThat(openOrders.stream().anyMatch(openOrder -> openOrder.getInstrument().equals(instrument))).isTrue(); - - // Get order - Collection order = binanceExchange.getTradeService().getOrder(new BinanceQueryOrderParams(instrument, orderId)); - logger.info("GetOrder: "+ order); - assertThat(order.stream().anyMatch(order1 -> order1.getInstrument().equals(instrument))).isTrue(); - - //Cancel LimitOrder - logger.info("CancelOrder: "+binanceExchange.getTradeService().cancelOrder(new BinanceCancelOrderParams(instrument, orderId))); - } + private static final Instrument instrument = new FuturesContract("BTC/USDT/PERP"); + + protected final Logger logger = LoggerFactory.getLogger(getClass()); + private static Exchange binanceExchange; + + @Before + public void setUp() throws IOException { + Properties prop = new Properties(); + prop.load(this.getClass().getResourceAsStream("/secret.keys")); + + Exchange exchange = ExchangeFactory.INSTANCE.createExchange(BinanceExchange.class); + + ExchangeSpecification spec = exchange.getExchangeSpecification(); + + spec.setApiKey(prop.getProperty("apikey")); + spec.setSecretKey(prop.getProperty("secret")); + spec.setExchangeSpecificParametersItem( + BinanceExchange.SPECIFIC_PARAM_USE_FUTURES_SANDBOX, true); + exchange.applySpecification(spec); + + binanceExchange = exchange; + } + + @Test + public void binanceFutureMarketDataService() throws IOException { + // Get OrderBook + OrderBook orderBook = binanceExchange.getMarketDataService().getOrderBook(instrument); + logger.info("OrderBook: " + orderBook); + assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); + // Get Ticker + Ticker ticker = binanceExchange.getMarketDataService().getTicker(instrument); + logger.info("Ticker: " + ticker); + assertThat(ticker.getInstrument()).isEqualTo(instrument); + + // Get Trades + Trades trades = binanceExchange.getMarketDataService().getTrades(instrument); + logger.info("Trades: " + trades); + assertThat(trades.getTrades().get(0).getInstrument()).isEqualTo(instrument); + // Get Funding rates + FundingRates fundingRates = binanceExchange.getMarketDataService().getFundingRates(); + fundingRates + .getFundingRates() + .forEach(fundingRate -> System.out.println(fundingRate.toString())); + } + + @Test + public void binanceFutureAccountService() throws IOException { + + AccountInfo accountInfo = binanceExchange.getAccountService().getAccountInfo(); + logger.info("AccountInfo: " + accountInfo.getWallet(Wallet.WalletFeature.FUTURES_TRADING)); + assertThat( + accountInfo.getOpenPositions().stream() + .anyMatch(openPosition -> openPosition.getInstrument().equals(instrument))) + .isTrue(); + logger.info("Positions: " + accountInfo.getOpenPositions()); + } + + @Test + public void binanceFutureTradeService() throws IOException { + Set orderFlags = new HashSet<>(); + // orderFlags.add(BinanceOrderFlags.REDUCE_ONLY); + + // Open Positions + List openPositions = + binanceExchange.getTradeService().getOpenPositions().getOpenPositions(); + logger.info("Positions: " + openPositions); + assertThat( + openPositions.stream() + .anyMatch(openPosition -> openPosition.getInstrument().equals(instrument))) + .isTrue(); + + // Get UserTrades + List userTrades = + binanceExchange + .getTradeService() + .getTradeHistory(new BinanceTradeHistoryParams(instrument)) + .getUserTrades(); + logger.info("UserTrades: " + userTrades); + assertThat( + userTrades.stream().anyMatch(userTrade -> userTrade.getInstrument().equals(instrument))) + .isTrue(); + + // Place LimitOrder + String orderId = + binanceExchange + .getTradeService() + .placeLimitOrder( + new LimitOrder.Builder(Order.OrderType.BID, instrument) + .limitPrice(BigDecimal.valueOf(1000)) + .flags(orderFlags) + .originalAmount(BigDecimal.ONE) + .build()); + // Get OpenOrders + List openOrders = + binanceExchange + .getTradeService() + .getOpenOrders(new DefaultOpenOrdersParamInstrument(instrument)) + .getOpenOrders(); + logger.info("OpenOrders: " + openOrders); + assertThat( + openOrders.stream().anyMatch(openOrder -> openOrder.getInstrument().equals(instrument))) + .isTrue(); + + // Get order + Collection order = + binanceExchange + .getTradeService() + .getOrder(new BinanceQueryOrderParams(instrument, orderId)); + logger.info("GetOrder: " + order); + assertThat(order.stream().anyMatch(order1 -> order1.getInstrument().equals(instrument))) + .isTrue(); + + // Cancel LimitOrder + logger.info( + "CancelOrder: " + + binanceExchange + .getTradeService() + .cancelOrder(new BinanceCancelOrderParams(instrument, orderId))); + } } diff --git a/xchange-binance/src/test/java/org/knowm/xchange/binance/ExchangeMetaDataIntegration.java b/xchange-binance/src/test/java/org/knowm/xchange/binance/ExchangeMetaDataIntegration.java index d2d2cd95bf6..8296967ab51 100644 --- a/xchange-binance/src/test/java/org/knowm/xchange/binance/ExchangeMetaDataIntegration.java +++ b/xchange-binance/src/test/java/org/knowm/xchange/binance/ExchangeMetaDataIntegration.java @@ -30,8 +30,7 @@ public void testEthBtcPairMetaData() { @Test public void testLtcBtcPairMetaData() { - InstrumentMetaData pairMetaData = - metaData.getInstruments().get(new CurrencyPair("LTC/BTC")); + InstrumentMetaData pairMetaData = metaData.getInstruments().get(new CurrencyPair("LTC/BTC")); assertThat(pairMetaData.getPriceScale()).isEqualByComparingTo(6); assertThat(pairMetaData.getMinimumAmount()).isEqualByComparingTo("0.001"); assertThat(pairMetaData.getMaximumAmount().longValueExact()).isEqualTo(100000); @@ -41,7 +40,7 @@ public void testLtcBtcPairMetaData() { @Test public void testBtcUsdtPerpetualPairMetaData() { InstrumentMetaData pairMetaData = - metaData.getInstruments().get(new FuturesContract("BTC/USDT/PERP")); + metaData.getInstruments().get(new FuturesContract("BTC/USDT/PERP")); assertThat(pairMetaData.getPriceScale()).isEqualByComparingTo(1); assertThat(pairMetaData.getMinimumAmount()).isEqualByComparingTo("0.001"); assertThat(pairMetaData.getVolumeScale()).isEqualTo(3); diff --git a/xchange-binance/src/test/java/org/knowm/xchange/binance/dto/trade/TrailingFlagTest.java b/xchange-binance/src/test/java/org/knowm/xchange/binance/dto/trade/TrailingFlagTest.java index f8cc18f15b8..2586ba0b173 100644 --- a/xchange-binance/src/test/java/org/knowm/xchange/binance/dto/trade/TrailingFlagTest.java +++ b/xchange-binance/src/test/java/org/knowm/xchange/binance/dto/trade/TrailingFlagTest.java @@ -1,12 +1,15 @@ package org.knowm.xchange.binance.dto.trade; -import java.util.Arrays; -import java.util.List; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.catchIllegalArgumentException; + +import java.util.Arrays; +import java.util.List; import org.junit.Test; -/** @author mrmx */ +/** + * @author mrmx + */ public class TrailingFlagTest { /** Test of method, of class BinanceOrderTrailingFlag. */ @@ -34,4 +37,4 @@ public void testOfValueWithInvalidNumbers() { .isNotNull(); } } -} \ No newline at end of file +} diff --git a/xchange-binance/src/test/java/org/knowm/xchange/binance/service/BinanceBaseServiceTest.java b/xchange-binance/src/test/java/org/knowm/xchange/binance/service/BinanceBaseServiceTest.java index 3964e1daf55..97573b68a08 100644 --- a/xchange-binance/src/test/java/org/knowm/xchange/binance/service/BinanceBaseServiceTest.java +++ b/xchange-binance/src/test/java/org/knowm/xchange/binance/service/BinanceBaseServiceTest.java @@ -63,8 +63,6 @@ public void remoteInit() { } }; exchange.applySpecification(spec); - return new BinanceBaseService( - exchange, - BinanceResilience.createRegistries()); + return new BinanceBaseService(exchange, BinanceResilience.createRegistries()); } } diff --git a/xchange-binance/src/test/java/org/knowm/xchange/binance/service/marketdata/MarketDataServiceIntegration.java b/xchange-binance/src/test/java/org/knowm/xchange/binance/service/marketdata/MarketDataServiceIntegration.java index 8ae45d11096..018b0bd4d5d 100644 --- a/xchange-binance/src/test/java/org/knowm/xchange/binance/service/marketdata/MarketDataServiceIntegration.java +++ b/xchange-binance/src/test/java/org/knowm/xchange/binance/service/marketdata/MarketDataServiceIntegration.java @@ -47,15 +47,14 @@ public void testBinanceTicker24h() throws Exception { } } - tickers.sort((BinanceTicker24h t1, BinanceTicker24h t2) -> + tickers.sort( + (BinanceTicker24h t1, BinanceTicker24h t2) -> t2.getPriceChangePercent().compareTo(t1.getPriceChangePercent())); - tickers - .forEach( - t -> System.out.println( - t.getSymbol() - + " => " - + String.format("%+.2f%%", t.getPriceChangePercent()))); + tickers.forEach( + t -> + System.out.println( + t.getSymbol() + " => " + String.format("%+.2f%%", t.getPriceChangePercent()))); } private BinanceTicker24h getBinanceTicker24h(Instrument pair) throws IOException { diff --git a/xchange-binance/src/test/java/org/knowm/xchange/binance/us/BinanceUsExchangeIntegration.java b/xchange-binance/src/test/java/org/knowm/xchange/binance/us/BinanceUsExchangeIntegration.java index 4afa82a8a6a..29ed77d1231 100644 --- a/xchange-binance/src/test/java/org/knowm/xchange/binance/us/BinanceUsExchangeIntegration.java +++ b/xchange-binance/src/test/java/org/knowm/xchange/binance/us/BinanceUsExchangeIntegration.java @@ -47,8 +47,7 @@ protected static void createExchange() throws Exception { exchange = ExchangeFactory.INSTANCE.createExchangeWithoutSpecification(BinanceUsExchange.class); ExchangeSpecification spec = exchange.getDefaultExchangeSpecification(); boolean useSandbox = - Boolean.parseBoolean( - System.getProperty(Exchange.USE_SANDBOX, Boolean.FALSE.toString())); + Boolean.parseBoolean(System.getProperty(Exchange.USE_SANDBOX, Boolean.FALSE.toString())); spec.setExchangeSpecificParametersItem(Exchange.USE_SANDBOX, useSandbox); exchange.applySpecification(spec); } diff --git a/xchange-binance/src/test/java/org/knowm/xchange/binance/us/ExchangeMetaDataIntegration.java b/xchange-binance/src/test/java/org/knowm/xchange/binance/us/ExchangeMetaDataIntegration.java index ae718c0efcd..75ed5c769ef 100644 --- a/xchange-binance/src/test/java/org/knowm/xchange/binance/us/ExchangeMetaDataIntegration.java +++ b/xchange-binance/src/test/java/org/knowm/xchange/binance/us/ExchangeMetaDataIntegration.java @@ -29,8 +29,7 @@ public void testEthBtcPairMetaData() { @Test public void testLtcBtcPairMetaData() { - InstrumentMetaData pairMetaData = - metaData.getInstruments().get(new CurrencyPair("LTC/BTC")); + InstrumentMetaData pairMetaData = metaData.getInstruments().get(new CurrencyPair("LTC/BTC")); assertThat(pairMetaData.getPriceScale()).isEqualByComparingTo(6); assertThat(pairMetaData.getMinimumAmount()).isEqualByComparingTo("0.01"); assertThat(pairMetaData.getMaximumAmount().longValueExact()).isEqualTo(100000); diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/Bitbay.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/Bitbay.java index 5ee7b773a7d..5addd9910e8 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/Bitbay.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/Bitbay.java @@ -1,17 +1,19 @@ package org.knowm.xchange.bitbay; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bitbay.dto.marketdata.BitbayOrderBook; import org.knowm.xchange.bitbay.dto.marketdata.BitbayTicker; import org.knowm.xchange.bitbay.dto.marketdata.BitbayTrade; -/** @author kpysniak */ +/** + * @author kpysniak + */ @Path("/Public") @Produces(MediaType.APPLICATION_JSON) public interface Bitbay { @@ -37,4 +39,4 @@ BitbayTrade[] getBitbayTrades( @QueryParam("sort") String sort, @QueryParam("limit") int limit) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayAdapters.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayAdapters.java index 000bafe6bcd..f1c3d46f004 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayAdapters.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayAdapters.java @@ -29,7 +29,9 @@ import org.knowm.xchange.dto.trade.UserTrade; import org.knowm.xchange.dto.trade.UserTrades; -/** @author kpysniak */ +/** + * @author kpysniak + */ public class BitbayAdapters { /** Singleton */ diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayAuthenticated.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayAuthenticated.java index af5e1db7d7c..c2d48b4d7e5 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayAuthenticated.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayAuthenticated.java @@ -1,9 +1,5 @@ package org.knowm.xchange.bitbay; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.HeaderParam; @@ -11,6 +7,10 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; import org.knowm.xchange.bitbay.dto.BitbayBaseResponse; import org.knowm.xchange.bitbay.dto.acount.BitbayAccountInfoResponse; import org.knowm.xchange.bitbay.dto.trade.BitbayCancelResponse; @@ -19,7 +19,9 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ @SuppressWarnings("rawtypes") @Path("/Trading/tradingApi.php") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @@ -117,4 +119,4 @@ List transactions( @HeaderParam("API-Hash") ParamsDigest sign, @FormParam("moment") SynchronizedValueFactory timestamp, @FormParam("market") String market); -} \ No newline at end of file +} diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayDigest.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayDigest.java index 7aab31c64ab..ceb37966a19 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayDigest.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayDigest.java @@ -6,7 +6,9 @@ import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author kfonal */ +/** + * @author kfonal + */ public class BitbayDigest extends BaseParamsDigest { private BitbayDigest(String secretKeyBase64) throws IllegalArgumentException { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayExchange.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayExchange.java index e7bdf97cbf1..ae4166a434d 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayExchange.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/BitbayExchange.java @@ -10,7 +10,9 @@ import org.knowm.xchange.utils.nonce.CurrentTimeIncrementalNonceFactory; import si.mazi.rescu.SynchronizedValueFactory; -/** @author kpysniak */ +/** + * @author kpysniak + */ public class BitbayExchange extends BaseExchange implements Exchange { private final SynchronizedValueFactory nonceFactory = diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/BitbayBaseResponse.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/BitbayBaseResponse.java index 042aef6f7b1..6e87556193a 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/BitbayBaseResponse.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/BitbayBaseResponse.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ @JsonIgnoreProperties(ignoreUnknown = true) public class BitbayBaseResponse { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/acount/BitbayAccountInfoResponse.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/acount/BitbayAccountInfoResponse.java index ffeec435776..fe0668416c1 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/acount/BitbayAccountInfoResponse.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/acount/BitbayAccountInfoResponse.java @@ -4,7 +4,9 @@ import java.util.Map; import org.knowm.xchange.bitbay.dto.BitbayBaseResponse; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ public class BitbayAccountInfoResponse extends BitbayBaseResponse { private final Map bitbayBalances; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/acount/BitbayBalance.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/acount/BitbayBalance.java index 58471e7239d..202e0e3f884 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/acount/BitbayBalance.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/acount/BitbayBalance.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ public class BitbayBalance { private final BigDecimal available; private final BigDecimal locked; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayOrderBook.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayOrderBook.java index 4c828fe0c4e..5f120383421 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayOrderBook.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayOrderBook.java @@ -4,7 +4,9 @@ import java.math.BigDecimal; import java.util.Arrays; -/** @author kpysniak */ +/** + * @author kpysniak + */ public class BitbayOrderBook { private final BigDecimal[][] asks; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayTicker.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayTicker.java index b5b10ac31de..234fb3a773b 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayTicker.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayTicker.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author kpysniak */ +/** + * @author kpysniak + */ public final class BitbayTicker { private final BigDecimal max; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayTrade.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayTrade.java index 359ccb10263..58efdaa81b3 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayTrade.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/marketdata/BitbayTrade.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author kpysniak */ +/** + * @author kpysniak + */ public class BitbayTrade { private final long date; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayCancelResponse.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayCancelResponse.java index 6d2772ae74d..490cff57100 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayCancelResponse.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayCancelResponse.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.bitbay.dto.BitbayBaseResponse; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ public class BitbayCancelResponse extends BitbayBaseResponse { public BitbayCancelResponse( diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayOrder.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayOrder.java index 41c98c3a5e8..2c788a0c930 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayOrder.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayOrder.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ public class BitbayOrder { private final long id; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayTradeResponse.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayTradeResponse.java index 4e475ba0274..a72c8fce8af 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayTradeResponse.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/dto/trade/BitbayTradeResponse.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.bitbay.dto.BitbayBaseResponse; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ public class BitbayTradeResponse extends BitbayBaseResponse { private final long orderId; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayAccountService.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayAccountService.java index cd535346975..49f973ae2f1 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayAccountService.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayAccountService.java @@ -17,7 +17,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ public class BitbayAccountService extends BitbayAccountServiceRaw implements AccountService { public BitbayAccountService(Exchange exchange) { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayAccountServiceRaw.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayAccountServiceRaw.java index 12df1e6daa6..2412d5cfdd6 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayAccountServiceRaw.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayAccountServiceRaw.java @@ -15,7 +15,9 @@ import org.knowm.xchange.dto.account.FundingRecord; import org.knowm.xchange.exceptions.ExchangeException; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ @SuppressWarnings("rawtypes") public class BitbayAccountServiceRaw extends BitbayBaseService { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayMarketDataService.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayMarketDataService.java index 1fb1c266921..431268f0384 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayMarketDataService.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayMarketDataService.java @@ -9,7 +9,9 @@ import org.knowm.xchange.dto.marketdata.Trades; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author kpysniak */ +/** + * @author kpysniak + */ public class BitbayMarketDataService extends BitbayMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayMarketDataServiceRaw.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayMarketDataServiceRaw.java index 9e01dcec8a0..9ee3446bb55 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayMarketDataServiceRaw.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayMarketDataServiceRaw.java @@ -7,7 +7,9 @@ import org.knowm.xchange.bitbay.dto.marketdata.BitbayTrade; import org.knowm.xchange.currency.CurrencyPair; -/** @author kpysniak */ +/** + * @author kpysniak + */ public class BitbayMarketDataServiceRaw extends BitbayBaseService { /** diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayTradeService.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayTradeService.java index 35a00e38aa6..c1ee221f1ec 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayTradeService.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayTradeService.java @@ -23,7 +23,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamsAll; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ public class BitbayTradeService extends BitbayTradeServiceRaw implements TradeService { public BitbayTradeService(Exchange exchange) { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayTradeServiceRaw.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayTradeServiceRaw.java index 22a09cdba58..92bde83e4cc 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayTradeServiceRaw.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/service/BitbayTradeServiceRaw.java @@ -12,7 +12,9 @@ import org.knowm.xchange.dto.trade.LimitOrder; import org.knowm.xchange.exceptions.ExchangeException; -/** @author Z. Dolezal */ +/** + * @author Z. Dolezal + */ public class BitbayTradeServiceRaw extends BitbayBaseService { BitbayTradeServiceRaw(Exchange exchange) { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayAdapters.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayAdapters.java index 78eda1692b2..e793031104d 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayAdapters.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayAdapters.java @@ -12,7 +12,9 @@ import org.knowm.xchange.dto.trade.UserTrade; import org.knowm.xchange.dto.trade.UserTrades; -/** @author walec51 */ +/** + * @author walec51 + */ public class BitbayAdapters { /** Singleton */ diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayAuthenticated.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayAuthenticated.java index 6a5faa658d0..9796dba26f2 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayAuthenticated.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayAuthenticated.java @@ -1,20 +1,22 @@ package org.knowm.xchange.bitbay.v3; -import java.io.IOException; -import java.util.UUID; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.UUID; import org.knowm.xchange.bitbay.v3.dto.BitbayBalanceHistoryResponse; import org.knowm.xchange.bitbay.v3.dto.BitbayBalances; import org.knowm.xchange.bitbay.v3.dto.trade.BitbayUserTrades; import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -/** @author walec51 */ +/** + * @author walec51 + */ @SuppressWarnings("rawtypes") @Path("/rest/") @Produces(MediaType.APPLICATION_JSON) @@ -48,4 +50,4 @@ BitbayBalanceHistoryResponse balanceHistory( @HeaderParam("Operation-Id") UUID operationId, @QueryParam("query") String query) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayDigest.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayDigest.java index 8ac04c8d37d..8b4d53cd8a5 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayDigest.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/BitbayDigest.java @@ -7,7 +7,9 @@ import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author walec51 */ +/** + * @author walec51 + */ public class BitbayDigest extends BaseParamsDigest { private BitbayDigest(String secretKeyBase64) throws IllegalArgumentException { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/BitbayBalanceHistoryEntry.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/BitbayBalanceHistoryEntry.java index 296ee36299b..c3aae81cb64 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/BitbayBalanceHistoryEntry.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/BitbayBalanceHistoryEntry.java @@ -1,8 +1,6 @@ package org.knowm.xchange.bitbay.v3.dto; import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; import java.math.BigDecimal; import java.util.UUID; import lombok.Builder; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/BitbayBaseResponse.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/BitbayBaseResponse.java index e4046e2bd0b..b0d8963676e 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/BitbayBaseResponse.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/BitbayBaseResponse.java @@ -5,7 +5,9 @@ import java.util.List; import lombok.ToString; -/** @author walec51 */ +/** + * @author walec51 + */ @ToString @JsonIgnoreProperties(ignoreUnknown = true) public class BitbayBaseResponse { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/trade/BitbayUserTrade.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/trade/BitbayUserTrade.java index 372a130c763..d9a5c7173cf 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/trade/BitbayUserTrade.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/trade/BitbayUserTrade.java @@ -4,7 +4,9 @@ import java.math.BigDecimal; import java.util.UUID; -/** @author walec51 */ +/** + * @author walec51 + */ public class BitbayUserTrade { private final UUID id; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/trade/BitbayUserTrades.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/trade/BitbayUserTrades.java index 37f698280c6..e9af7f25dad 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/trade/BitbayUserTrades.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/dto/trade/BitbayUserTrades.java @@ -4,7 +4,9 @@ import java.util.List; import org.knowm.xchange.bitbay.v3.dto.BitbayBaseResponse; -/** @author walec51 */ +/** + * @author walec51 + */ public class BitbayUserTrades extends BitbayBaseResponse { private final List items; diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeHistoryParams.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeHistoryParams.java index 2423e886252..c7dac604139 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeHistoryParams.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeHistoryParams.java @@ -7,7 +7,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamMultiCurrencyPair; import org.knowm.xchange.service.trade.params.TradeHistoryParamNextPageCursor; -/** @author walec51 */ +/** + * @author walec51 + */ public class BitbayTradeHistoryParams implements TradeHistoryParamLimit, TradeHistoryParamNextPageCursor, diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeService.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeService.java index a6d5d5d75e7..38f8094613f 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeService.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeService.java @@ -15,7 +15,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamNextPageCursor; import org.knowm.xchange.service.trade.params.TradeHistoryParams; -/** @author walec51 */ +/** + * @author walec51 + */ public class BitbayTradeService extends BitbayTradeServiceRaw implements TradeService { public BitbayTradeService(Exchange exchange) { diff --git a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeServiceRaw.java b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeServiceRaw.java index 66f9c41c876..d94bde55515 100644 --- a/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeServiceRaw.java +++ b/xchange-bitbay/src/main/java/org/knowm/xchange/bitbay/v3/service/BitbayTradeServiceRaw.java @@ -8,7 +8,9 @@ import org.knowm.xchange.exceptions.ExchangeException; import org.knowm.xchange.utils.ObjectMapperHelper; -/** @author walec51 */ +/** + * @author walec51 + */ public class BitbayTradeServiceRaw extends BitbayBaseService { BitbayTradeServiceRaw(Exchange exchange) { diff --git a/xchange-bitbay/src/test/java/org/knowm/xchange/bitbay/service/marketdata/TickerFetchIntegration.java b/xchange-bitbay/src/test/java/org/knowm/xchange/bitbay/service/marketdata/TickerFetchIntegration.java index 7464e01b053..a8e0e7961f1 100644 --- a/xchange-bitbay/src/test/java/org/knowm/xchange/bitbay/service/marketdata/TickerFetchIntegration.java +++ b/xchange-bitbay/src/test/java/org/knowm/xchange/bitbay/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-bitcoinaverage/src/main/java/org/knowm/xchange/bitcoinaverage/BitcoinAverage.java b/xchange-bitcoinaverage/src/main/java/org/knowm/xchange/bitcoinaverage/BitcoinAverage.java index 035acdf4d34..54e7944fbd6 100644 --- a/xchange-bitcoinaverage/src/main/java/org/knowm/xchange/bitcoinaverage/BitcoinAverage.java +++ b/xchange-bitcoinaverage/src/main/java/org/knowm/xchange/bitcoinaverage/BitcoinAverage.java @@ -1,15 +1,17 @@ package org.knowm.xchange.bitcoinaverage; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bitcoinaverage.dto.marketdata.BitcoinAverageTicker; import org.knowm.xchange.bitcoinaverage.dto.marketdata.BitcoinAverageTickers; -/** @author veken0m */ +/** + * @author veken0m + */ @Path("/") @Produces(MediaType.APPLICATION_JSON) public interface BitcoinAverage { @@ -21,4 +23,4 @@ public interface BitcoinAverage { @GET @Path("indices/global/ticker/short?crypto={crypto}") BitcoinAverageTickers getShortTickers(@PathParam("crypto") String crypto) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/BitcoinAverageAdapterTest.java b/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/BitcoinAverageAdapterTest.java index 2bf088ece64..8fea5175d2a 100644 --- a/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/BitcoinAverageAdapterTest.java +++ b/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/BitcoinAverageAdapterTest.java @@ -28,7 +28,7 @@ public void testTickerAdapter() throws IOException { BitcoinAverageTicker BitcoinAverageTicker = mapper.readValue(is, BitcoinAverageTicker.class); Ticker ticker = BitcoinAverageAdapters.adaptTicker(BitcoinAverageTicker, CurrencyPair.BTC_USD); -// System.out.println(ticker.toString()); + // System.out.println(ticker.toString()); assertThat(ticker.getCurrencyPair()).isEqualTo(CurrencyPair.BTC_USD); assertThat(ticker.getLast().toString()).isEqualTo("629.45"); diff --git a/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/BitcoinAverageAuthenticationTest.java b/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/BitcoinAverageAuthenticationTest.java index b0c1dc3fae4..7147c25c947 100644 --- a/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/BitcoinAverageAuthenticationTest.java +++ b/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/BitcoinAverageAuthenticationTest.java @@ -43,7 +43,7 @@ public void testTickerAdapter() throws Exception { bufferedReader.close(); // if you don't want to use Gson, you can just print the plain response -// System.out.println(response.toString()); + // System.out.println(response.toString()); } private String getSignature(String secretKey, String publicKey) throws Exception { diff --git a/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/service/marketdata/TickerFetchIntegration.java b/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/service/marketdata/TickerFetchIntegration.java index 68826b0248a..e84141609ca 100644 --- a/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/service/marketdata/TickerFetchIntegration.java +++ b/xchange-bitcoinaverage/src/test/java/org/knowm/xchange/bitcoinaverage/service/marketdata/TickerFetchIntegration.java @@ -11,7 +11,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test @@ -23,7 +25,7 @@ public void tickerFetchTest() throws Exception { exchange.remoteInit(); MarketDataService marketDataService = exchange.getMarketDataService(); Ticker ticker = marketDataService.getTicker(new CurrencyPair("BTC", "USD")); -// System.out.println(ticker.toString()); + // System.out.println(ticker.toString()); assertThat(ticker).isNotNull(); } } diff --git a/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/BitcoinCharts.java b/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/BitcoinCharts.java index a93bf667f6b..355dedebfd2 100644 --- a/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/BitcoinCharts.java +++ b/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/BitcoinCharts.java @@ -1,13 +1,15 @@ package org.knowm.xchange.bitcoincharts; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bitcoincharts.dto.marketdata.BitcoinChartsTicker; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ @Path("/") public interface BitcoinCharts { @@ -15,4 +17,4 @@ public interface BitcoinCharts { @Path("v1/markets.json") @Produces(MediaType.APPLICATION_JSON) BitcoinChartsTicker[] getMarketData() throws IOException; -} \ No newline at end of file +} diff --git a/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/BitcoinChartsAdapters.java b/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/BitcoinChartsAdapters.java index a422cb92cdd..8cff89c1c8c 100644 --- a/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/BitcoinChartsAdapters.java +++ b/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/BitcoinChartsAdapters.java @@ -31,29 +31,26 @@ public static Ticker adaptTicker( if (bitcoinChartsTicker.getSymbol().equals(currencyPair.counter.getCurrencyCode())) { BigDecimal last = - bitcoinChartsTicker.getClose() != null ? bitcoinChartsTicker.getClose() : null; - BigDecimal bid = - bitcoinChartsTicker.getBid() != null ? bitcoinChartsTicker.getBid() : null; - BigDecimal ask = - bitcoinChartsTicker.getAsk() != null ? bitcoinChartsTicker.getAsk() : null; + bitcoinChartsTicker.getClose() != null ? bitcoinChartsTicker.getClose() : null; + BigDecimal bid = bitcoinChartsTicker.getBid() != null ? bitcoinChartsTicker.getBid() : null; + BigDecimal ask = bitcoinChartsTicker.getAsk() != null ? bitcoinChartsTicker.getAsk() : null; BigDecimal high = - bitcoinChartsTicker.getHigh() != null ? bitcoinChartsTicker.getHigh() : null; - BigDecimal low = - bitcoinChartsTicker.getLow() != null ? bitcoinChartsTicker.getLow() : null; + bitcoinChartsTicker.getHigh() != null ? bitcoinChartsTicker.getHigh() : null; + BigDecimal low = bitcoinChartsTicker.getLow() != null ? bitcoinChartsTicker.getLow() : null; BigDecimal volume = bitcoinChartsTicker.getVolume(); Date timeStamp = new Date(bitcoinChartsTicker.getLatestTrade() * 1000L); return new Ticker.Builder() - .currencyPair(currencyPair) - .instrument(currencyPair) - .last(last) - .bid(bid) - .ask(ask) - .high(high) - .low(low) - .volume(volume) - .timestamp(timeStamp) - .build(); + .currencyPair(currencyPair) + .instrument(currencyPair) + .last(last) + .bid(bid) + .ask(ask) + .high(high) + .low(low) + .volume(volume) + .timestamp(timeStamp) + .build(); } } return null; diff --git a/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/dto/marketdata/BitcoinChartsTicker.java b/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/dto/marketdata/BitcoinChartsTicker.java index 30a7ba394a7..ef32cbe35ad 100644 --- a/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/dto/marketdata/BitcoinChartsTicker.java +++ b/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/dto/marketdata/BitcoinChartsTicker.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public final class BitcoinChartsTicker { private final BigDecimal ask; diff --git a/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/service/BitcoinChartsMarketDataService.java b/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/service/BitcoinChartsMarketDataService.java index 711195c0de4..eac5d8fbbed 100644 --- a/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/service/BitcoinChartsMarketDataService.java +++ b/xchange-bitcoincharts/src/main/java/org/knowm/xchange/bitcoincharts/service/BitcoinChartsMarketDataService.java @@ -13,7 +13,9 @@ import org.knowm.xchange.exceptions.NotAvailableFromExchangeException; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class BitcoinChartsMarketDataService extends BitcoinChartsBaseService implements MarketDataService { diff --git a/xchange-bitcoincharts/src/test/java/org/knowm/xchange/bitcoincharts/service/marketdata/TickerFetchIntegration.java b/xchange-bitcoincharts/src/test/java/org/knowm/xchange/bitcoincharts/service/marketdata/TickerFetchIntegration.java index 529c912e971..6b105e0e13b 100644 --- a/xchange-bitcoincharts/src/test/java/org/knowm/xchange/bitcoincharts/service/marketdata/TickerFetchIntegration.java +++ b/xchange-bitcoincharts/src/test/java/org/knowm/xchange/bitcoincharts/service/marketdata/TickerFetchIntegration.java @@ -11,7 +11,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test @@ -23,7 +25,7 @@ public void tickerFetchTest() throws Exception { exchange.remoteInit(); MarketDataService marketDataService = exchange.getMarketDataService(); Ticker ticker = marketDataService.getTicker(new CurrencyPair("BTC", "bitstampUSD")); -// System.out.println(ticker.toString()); + // System.out.println(ticker.toString()); assertThat(ticker).isNotNull(); } } diff --git a/xchange-bitcoincore/src/main/java/org/knowm/xchange/bitcoincore/BitcoinCore.java b/xchange-bitcoincore/src/main/java/org/knowm/xchange/bitcoincore/BitcoinCore.java index de632f7333a..ca177d0910b 100644 --- a/xchange-bitcoincore/src/main/java/org/knowm/xchange/bitcoincore/BitcoinCore.java +++ b/xchange-bitcoincore/src/main/java/org/knowm/xchange/bitcoincore/BitcoinCore.java @@ -1,11 +1,11 @@ package org.knowm.xchange.bitcoincore; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bitcoincore.dto.BitcoinCoreException; import org.knowm.xchange.bitcoincore.dto.account.BitcoinCoreBalanceRequest; import org.knowm.xchange.bitcoincore.dto.account.BitcoinCoreBalanceResponse; @@ -25,4 +25,4 @@ BitcoinCoreBalanceResponse getBalance(BitcoinCoreBalanceRequest request) @Path("") BitcoinCoreBalanceResponse getUnconfirmedBalance(BitcoinCoreUnconfirmedBalanceRequest request) throws IOException, BitcoinCoreException; -} \ No newline at end of file +} diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/Bitcoinde.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/Bitcoinde.java index daf08e6e62e..f238413d750 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/Bitcoinde.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/Bitcoinde.java @@ -1,7 +1,5 @@ package org.knowm.xchange.bitcoinde; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.bitcoinde.dto.BitcoindeException; import org.knowm.xchange.bitcoinde.dto.account.BitcoindeAccountWrapper; import org.knowm.xchange.bitcoinde.dto.marketdata.BitcoindeOrderbookWrapper; @@ -84,4 +84,4 @@ BitcoindeMyOpenOrdersWrapper getOrders( @HeaderParam("X-API-NONCE") SynchronizedValueFactory nonce, @HeaderParam("X-API-SIGNATURE") ParamsDigest paramsDigest) throws BitcoindeException, IOException; -} \ No newline at end of file +} diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/BitcoindeAdapters.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/BitcoindeAdapters.java index da1adf5fb3e..9b6532603e5 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/BitcoindeAdapters.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/BitcoindeAdapters.java @@ -33,7 +33,9 @@ import org.knowm.xchange.utils.DateUtils; import org.knowm.xchange.utils.jackson.CurrencyPairDeserializer; -/** @author matthewdowney & frank kaiser */ +/** + * @author matthewdowney & frank kaiser + */ public final class BitcoindeAdapters { public static final Comparator ASK_COMPARATOR = diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/BitcoindeExchange.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/BitcoindeExchange.java index 23ac7922a61..707397fc4d1 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/BitcoindeExchange.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/BitcoindeExchange.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.bitcoinde.service.BitcoindeMarketDataService; -/** @author matthewdowney */ +/** + * @author matthewdowney + */ public class BitcoindeExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeOrderBook.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeOrderBook.java index e2e640665c3..c91669ba9ac 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeOrderBook.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeOrderBook.java @@ -6,7 +6,9 @@ import java.util.Comparator; import java.util.Date; -/** @author matthewdowney */ +/** + * @author matthewdowney + */ public class BitcoindeOrderBook { private final BigDecimal[][] asks; diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeTrade.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeTrade.java index 2525508a2b8..fbde5e8a393 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeTrade.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeTrade.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author matthewdowney */ +/** + * @author matthewdowney + */ public class BitcoindeTrade { private final long date; diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeAccountService.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeAccountService.java index 6cd294eda3f..e24bdadb4d9 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeAccountService.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeAccountService.java @@ -6,7 +6,9 @@ import org.knowm.xchange.dto.account.AccountInfo; import org.knowm.xchange.service.account.AccountService; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ public class BitcoindeAccountService extends BitcoindeAccountServiceRaw implements AccountService { public BitcoindeAccountService(Exchange exchange) { diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeAccountServiceRaw.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeAccountServiceRaw.java index 5d948c0b965..04700d14e0b 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeAccountServiceRaw.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeAccountServiceRaw.java @@ -6,7 +6,9 @@ import org.knowm.xchange.bitcoinde.dto.account.BitcoindeAccountWrapper; import si.mazi.rescu.SynchronizedValueFactory; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ public class BitcoindeAccountServiceRaw extends BitcoindeBaseService { private final SynchronizedValueFactory nonceFactory; diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeDigest.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeDigest.java index 051b1ae615f..3e95f968137 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeDigest.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeDigest.java @@ -7,7 +7,9 @@ import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ public class BitcoindeDigest extends BaseParamsDigest { private final String apiKey; diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeMarketDataService.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeMarketDataService.java index 6ba5db0da74..c2b193a3f2c 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeMarketDataService.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeMarketDataService.java @@ -10,7 +10,9 @@ import org.knowm.xchange.exceptions.NotAvailableFromExchangeException; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author matthewdowney */ +/** + * @author matthewdowney + */ public class BitcoindeMarketDataService extends BitcoindeMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeMarketDataServiceRaw.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeMarketDataServiceRaw.java index 4889c58bf81..fbd3cbb5c18 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeMarketDataServiceRaw.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeMarketDataServiceRaw.java @@ -9,7 +9,9 @@ import org.knowm.xchange.currency.CurrencyPair; import si.mazi.rescu.SynchronizedValueFactory; -/** @author matthewdowney */ +/** + * @author matthewdowney + */ public class BitcoindeMarketDataServiceRaw extends BitcoindeBaseService { private final SynchronizedValueFactory nonceFactory; diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeTradeService.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeTradeService.java index 6800aaeb9b3..d91ea4e6a0a 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeTradeService.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeTradeService.java @@ -9,7 +9,9 @@ import org.knowm.xchange.service.trade.TradeService; import org.knowm.xchange.service.trade.params.CancelOrderParams; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ public class BitcoindeTradeService extends BitcoindeTradeServiceRaw implements TradeService { public BitcoindeTradeService(Exchange exchange) { diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeTradeServiceRaw.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeTradeServiceRaw.java index 735d5d82432..d4aaea5fd0a 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeTradeServiceRaw.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/service/BitcoindeTradeServiceRaw.java @@ -10,7 +10,9 @@ import org.knowm.xchange.dto.trade.LimitOrder; import si.mazi.rescu.SynchronizedValueFactory; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ public class BitcoindeTradeServiceRaw extends BitcoindeBaseService { private final SynchronizedValueFactory nonceFactory; diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeIdResponse.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeIdResponse.java index 661269c2e3e..82d64a7bbc4 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeIdResponse.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeIdResponse.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ public class BitcoindeIdResponse { private final String id; diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMaintenance.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMaintenance.java index 2db65766b6c..cf1386b24bb 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMaintenance.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMaintenance.java @@ -9,7 +9,9 @@ import java.util.HashMap; import java.util.Map; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({"message", "start", "end"}) public class BitcoindeMaintenance { diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMyOpenOrdersWrapper.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMyOpenOrdersWrapper.java index b438c85de54..eae448df9db 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMyOpenOrdersWrapper.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMyOpenOrdersWrapper.java @@ -10,7 +10,9 @@ import java.util.List; import java.util.Map; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({"orders", "page", "errors", "credits", "maintenance"}) public class BitcoindeMyOpenOrdersWrapper { diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMyOrder.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMyOrder.java index 8551c42629c..78571d92a91 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMyOrder.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeMyOrder.java @@ -10,7 +10,9 @@ import java.util.HashMap; import java.util.Map; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "order_id", diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeOrderRequirements.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeOrderRequirements.java index 58c0b6616ff..8ba5c7ad472 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeOrderRequirements.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindeOrderRequirements.java @@ -10,7 +10,9 @@ import java.util.List; import java.util.Map; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({"min_trust_level", "only_kyc_full", "seat_of_bank", "payment_option"}) public class BitcoindeOrderRequirements { diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindePage.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindePage.java index 7f33ed83235..9373e523721 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindePage.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/trade/BitcoindePage.java @@ -9,7 +9,9 @@ import java.util.HashMap; import java.util.Map; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({"current", "last"}) public class BitcoindePage { diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/v4/Bitcoinde.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/v4/Bitcoinde.java index df3eb25efbf..70b68a73ba0 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/v4/Bitcoinde.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/v4/Bitcoinde.java @@ -1,7 +1,5 @@ package org.knowm.xchange.bitcoinde.v4; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.bitcoinde.v4.dto.BitcoindeException; import org.knowm.xchange.bitcoinde.v4.dto.BitcoindeResponse; import org.knowm.xchange.bitcoinde.v4.dto.account.BitcoindeAccountLedgerWrapper; @@ -163,4 +163,4 @@ BitcoindeMyTradesWrapper getMyTrades( @QueryParam("date_end") String dateEnd, @QueryParam("page") Integer page) throws IOException, BitcoindeException; -} \ No newline at end of file +} diff --git a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/v4/service/BitcoindeDigest.java b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/v4/service/BitcoindeDigest.java index b877dfaf891..02da6f57e65 100644 --- a/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/v4/service/BitcoindeDigest.java +++ b/xchange-bitcoinde/src/main/java/org/knowm/xchange/bitcoinde/v4/service/BitcoindeDigest.java @@ -7,7 +7,9 @@ import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ public class BitcoindeDigest extends BaseParamsDigest { private final String apiKey; diff --git a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/BitcoindeAdapterTest.java b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/BitcoindeAdapterTest.java index 6edc7b4b310..e84ce4fd8ca 100644 --- a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/BitcoindeAdapterTest.java +++ b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/BitcoindeAdapterTest.java @@ -15,7 +15,9 @@ import org.knowm.xchange.dto.marketdata.OrderBook; import org.knowm.xchange.dto.marketdata.Trades; -/** @author matthewdowney */ +/** + * @author matthewdowney + */ public class BitcoindeAdapterTest { @Test diff --git a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/RFC3339DateTimeParseTest.java b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/RFC3339DateTimeParseTest.java index d750d001e02..034f092659c 100644 --- a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/RFC3339DateTimeParseTest.java +++ b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/RFC3339DateTimeParseTest.java @@ -7,7 +7,9 @@ import java.util.Date; import org.junit.Test; -/** @author kaiserfr */ +/** + * @author kaiserfr + */ public class RFC3339DateTimeParseTest { private String rfc3339timestamp; diff --git a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/dto/account/BitcoindeAccountTest.java b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/dto/account/BitcoindeAccountTest.java index 23b5b4b6a9a..b334b106445 100644 --- a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/dto/account/BitcoindeAccountTest.java +++ b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/dto/account/BitcoindeAccountTest.java @@ -2,17 +2,17 @@ import static org.junit.Assert.assertEquals; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; - import org.junit.Test; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.ObjectMapper; - -/** @author kaiserfr */ +/** + * @author kaiserfr + */ public class BitcoindeAccountTest { @Test @@ -28,7 +28,7 @@ public void testBitcoindeOrderBook() ObjectMapper mapper = new ObjectMapper(); BitcoindeAccountWrapper bitcoindeTradesWrapper = mapper.readValue(is, BitcoindeAccountWrapper.class); -// System.out.println("bitcoindeTradesWrapper = " + bitcoindeTradesWrapper); + // System.out.println("bitcoindeTradesWrapper = " + bitcoindeTradesWrapper); // Make sure trade values are correct @@ -40,9 +40,9 @@ public void testBitcoindeOrderBook() BigDecimal reservedAmount = bitcoindeTradesWrapper.getData().getFidorReservation().getAvailableAmount(); -// System.out.println(btcBalance); -// System.out.println(ethBalance); -// System.out.println(reservedAmount); + // System.out.println(btcBalance); + // System.out.println(ethBalance); + // System.out.println(reservedAmount); assertEquals(btcBalance, new BigDecimal("0.009")); assertEquals(ethBalance, new BigDecimal("0.06463044")); diff --git a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeOrderBookTest.java b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeOrderBookTest.java index dd0b514aed8..41ab48982db 100644 --- a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeOrderBookTest.java +++ b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/dto/marketdata/BitcoindeOrderBookTest.java @@ -10,7 +10,9 @@ import java.math.BigDecimal; import org.junit.Test; -/** @author matthewdowney */ +/** + * @author matthewdowney + */ public class BitcoindeOrderBookTest { @Test diff --git a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/v4/BitcoindeAdaptersTest.java b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/v4/BitcoindeAdaptersTest.java index 4d06e58e190..e2d35dcd16b 100644 --- a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/v4/BitcoindeAdaptersTest.java +++ b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/v4/BitcoindeAdaptersTest.java @@ -37,7 +37,9 @@ import org.knowm.xchange.dto.trade.UserTrade; import org.knowm.xchange.dto.trade.UserTrades; -/** @author matthewdowney */ +/** + * @author matthewdowney + */ public class BitcoindeAdaptersTest { @Test diff --git a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/v4/dto/marketdata/BitcoindeCompactOrderbookWrapperTest.java b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/v4/dto/marketdata/BitcoindeCompactOrderbookWrapperTest.java index edcf771517e..ecebb864426 100644 --- a/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/v4/dto/marketdata/BitcoindeCompactOrderbookWrapperTest.java +++ b/xchange-bitcoinde/src/test/java/org/knowm/xchange/bitcoinde/v4/dto/marketdata/BitcoindeCompactOrderbookWrapperTest.java @@ -9,7 +9,9 @@ import java.io.InputStream; import org.junit.Test; -/** @author matthewdowney */ +/** + * @author matthewdowney + */ public class BitcoindeCompactOrderbookWrapperTest { @Test diff --git a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/Bitcointoyou.java b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/Bitcointoyou.java index d8158cc5573..72bf9ef26d3 100644 --- a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/Bitcointoyou.java +++ b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/Bitcointoyou.java @@ -1,12 +1,12 @@ package org.knowm.xchange.bitcointoyou; -import java.io.IOException; -import java.util.Map; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Map; import org.knowm.xchange.bitcointoyou.dto.marketdata.BitcointoyouMarketData; import org.knowm.xchange.bitcointoyou.dto.marketdata.BitcointoyouOrderBook; import org.knowm.xchange.bitcointoyou.dto.marketdata.BitcointoyouPublicTrade; @@ -62,4 +62,4 @@ BitcointoyouPublicTrade[] getTrades( @QueryParam("timestamp") Long tradeTimestamp, @QueryParam("tid") Long minTradeId) throws BitcointoyouException, IOException; -} \ No newline at end of file +} diff --git a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/BitcointoyouAuthenticated.java b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/BitcointoyouAuthenticated.java index f482aa6ba28..53e9537f498 100644 --- a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/BitcointoyouAuthenticated.java +++ b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/BitcointoyouAuthenticated.java @@ -1,8 +1,5 @@ package org.knowm.xchange.bitcointoyou; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.HashMap; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -11,6 +8,9 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.HashMap; import org.knowm.xchange.bitcointoyou.dto.account.BitcointoyouBalance; import org.knowm.xchange.bitcointoyou.dto.trade.BitcointoyouOrderResponse; import si.mazi.rescu.ParamsDigest; @@ -87,4 +87,4 @@ HashMap deleteOrder( @HeaderParam("signature") ParamsDigest signature, @QueryParam("id") String orderNumber) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/dto/marketdata/BitcointoyouOrderBook.java b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/dto/marketdata/BitcointoyouOrderBook.java index 18af48d852c..375a24ab4af 100644 --- a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/dto/marketdata/BitcointoyouOrderBook.java +++ b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/dto/marketdata/BitcointoyouOrderBook.java @@ -61,13 +61,17 @@ public BitcointoyouOrderBook( this.bids = bids; } - /** @return The asks */ + /** + * @return The asks + */ public List> getAsks() { return asks; } - /** @return The bids */ + /** + * @return The bids + */ public List> getBids() { return bids; diff --git a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouAccountService.java b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouAccountService.java index 71e0f71bbf7..1dc6a56fe86 100644 --- a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouAccountService.java +++ b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouAccountService.java @@ -69,8 +69,10 @@ public TradeHistoryParams createFundingHistoryParams() { @Override public List getFundingHistory(TradeHistoryParams params) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { throw new NotAvailableFromExchangeException(); } diff --git a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouBasePollingService.java b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouBasePollingService.java index 6d6915c1f0c..09ad2d193e6 100644 --- a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouBasePollingService.java +++ b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouBasePollingService.java @@ -9,7 +9,9 @@ import org.knowm.xchange.service.BaseService; import si.mazi.rescu.ParamsDigest; -/** @author Jonathas Carrijo */ +/** + * @author Jonathas Carrijo + */ public class BitcointoyouBasePollingService extends BaseExchangeService implements BaseService { protected final Bitcointoyou bitcointoyou; diff --git a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouTradeService.java b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouTradeService.java index b88be1a5bb4..9f2c52f814a 100644 --- a/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouTradeService.java +++ b/xchange-bitcointoyou/src/main/java/org/knowm/xchange/bitcointoyou/service/polling/BitcointoyouTradeService.java @@ -114,8 +114,10 @@ public Collection getOrder(OrderQueryParams... orderQueryParams) throws I @Override public OpenOrders getOpenOrders(OpenOrdersParams params) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { throw new NotAvailableFromExchangeException(); } diff --git a/xchange-bitcointoyou/src/test/java/org/knowm/xchange/bitcointoyou/BitcointoyouExchangeTest.java b/xchange-bitcointoyou/src/test/java/org/knowm/xchange/bitcointoyou/BitcointoyouExchangeTest.java index 3a4c4f93709..f6e67584077 100644 --- a/xchange-bitcointoyou/src/test/java/org/knowm/xchange/bitcointoyou/BitcointoyouExchangeTest.java +++ b/xchange-bitcointoyou/src/test/java/org/knowm/xchange/bitcointoyou/BitcointoyouExchangeTest.java @@ -1,5 +1,6 @@ package org.knowm.xchange.bitcointoyou; +import java.util.Map; import org.assertj.core.api.SoftAssertions; import org.junit.Before; import org.junit.Test; @@ -12,8 +13,6 @@ import org.knowm.xchange.utils.nonce.AtomicLongIncrementalTime2013NonceFactory; import si.mazi.rescu.SynchronizedValueFactory; -import java.util.Map; - /** * Testes the {@link BitcointoyouExchange} class * diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexAdapters.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexAdapters.java index e5fbc54cf89..810deb20414 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexAdapters.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexAdapters.java @@ -684,8 +684,7 @@ public static ExchangeMetaData adaptMetaData( List symbolDetails, Map lastPrices) { - final Map currencyPairs = - exchangeMetaData.getInstruments(); + final Map currencyPairs = exchangeMetaData.getInstruments(); symbolDetails.parallelStream() .forEach( bitfinexSymbolDetail -> { @@ -698,15 +697,16 @@ public static ExchangeMetaData adaptMetaData( int pricePercision = bitfinexSymbolDetail.getPrice_precision(); int priceScale = last.scale() + (pricePercision - last.precision()); - currencyPairs.put(currencyPair, new InstrumentMetaData.Builder() - .tradingFee(currencyPairs.get(currencyPair) == null - ? null - : currencyPairs - .get(currencyPair) - .getTradingFee()) - .minimumAmount(bitfinexSymbolDetail.getMinimum_order_size()) - .maximumAmount(bitfinexSymbolDetail.getMaximum_order_size()) - .priceScale(priceScale) + currencyPairs.put( + currencyPair, + new InstrumentMetaData.Builder() + .tradingFee( + currencyPairs.get(currencyPair) == null + ? null + : currencyPairs.get(currencyPair).getTradingFee()) + .minimumAmount(bitfinexSymbolDetail.getMinimum_order_size()) + .maximumAmount(bitfinexSymbolDetail.getMaximum_order_size()) + .priceScale(priceScale) .build()); } }); @@ -751,14 +751,15 @@ public static ExchangeMetaData adaptMetaData( public static ExchangeMetaData adaptMetaData( BitfinexAccountInfosResponse[] bitfinexAccountInfos, ExchangeMetaData exchangeMetaData) { - final Map currencyPairs = - exchangeMetaData.getInstruments(); + final Map currencyPairs = exchangeMetaData.getInstruments(); // lets go with the assumption that the trading fees are common across all trading pairs for // now. // also setting the taker_fee as the trading_fee for now. final InstrumentMetaData metaData = - new InstrumentMetaData.Builder().tradingFee(bitfinexAccountInfos[0].getTakerFees().movePointLeft(2)).build(); + new InstrumentMetaData.Builder() + .tradingFee(bitfinexAccountInfos[0].getTakerFees().movePointLeft(2)) + .build(); currencyPairs.keySet().parallelStream() .forEach( currencyPair -> @@ -766,13 +767,13 @@ public static ExchangeMetaData adaptMetaData( currencyPair, metaData, (oldMetaData, newMetaData) -> - new InstrumentMetaData.Builder() - .tradingFee(newMetaData.getTradingFee()) - .minimumAmount(oldMetaData.getMinimumAmount()) - .maximumAmount(oldMetaData.getMaximumAmount()) - .priceScale(oldMetaData.getPriceScale()) - .feeTiers(oldMetaData.getFeeTiers()) - .build())); + new InstrumentMetaData.Builder() + .tradingFee(newMetaData.getTradingFee()) + .minimumAmount(oldMetaData.getMinimumAmount()) + .maximumAmount(oldMetaData.getMaximumAmount()) + .priceScale(oldMetaData.getPriceScale()) + .feeTiers(oldMetaData.getFeeTiers()) + .build())); return exchangeMetaData; } diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexMarketDataService.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexMarketDataService.java index b0e140389e1..ffa8c97bc8f 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexMarketDataService.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexMarketDataService.java @@ -69,7 +69,9 @@ private Ticker getTickerV2(CurrencyPair currencyPair, Object... args) throws IOE } } - /** @param args If two integers are provided, then those count as limit bid and limit ask count */ + /** + * @param args If two integers are provided, then those count as limit bid and limit ask count + */ @Override public OrderBook getOrderBook(CurrencyPair currencyPair, Object... args) throws IOException { try { diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexMarketDataServiceRaw.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexMarketDataServiceRaw.java index f1ae0447cb5..c0f85bb1b99 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexMarketDataServiceRaw.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/service/BitfinexMarketDataServiceRaw.java @@ -305,6 +305,7 @@ public List tradingBook(String symbol, BookPrecision preci .withRateLimiter(rateLimiter(BITFINEX_RATE_LIMITER)) .call(); } + /** * @see https://docs.bitfinex.com/reference#rest-public-book * @param symbol The symbol you want information about. (e.g. tBTCUSD, tETHUSD, fUSD, fBTC) @@ -335,6 +336,7 @@ public List fundingBook(String symbol, BookPrecision preci .withRateLimiter(rateLimiter(BITFINEX_RATE_LIMITER)) .call(); } + /** * @see https://docs.bitfinex.com/reference#rest-public-book * @param symbol The symbol you want information about. (e.g. tBTCUSD, tETHUSD, fUSD, fBTC) diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/Bitfinex.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/Bitfinex.java index 98c362773bb..3c8e92594a3 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/Bitfinex.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/Bitfinex.java @@ -1,14 +1,14 @@ package org.knowm.xchange.bitfinex.v1; -import java.io.IOException; -import java.util.List; -import java.util.Set; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; +import java.util.Set; import org.knowm.xchange.bitfinex.v1.dto.BitfinexExceptionV1; import org.knowm.xchange.bitfinex.v1.dto.marketdata.BitfinexDepth; import org.knowm.xchange.bitfinex.v1.dto.marketdata.BitfinexLend; @@ -67,4 +67,4 @@ BitfinexLend[] getLends( @GET @Path("symbols_details") List getSymbolsDetails() throws IOException, BitfinexExceptionV1; -} \ No newline at end of file +} diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/BitfinexAuthenticated.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/BitfinexAuthenticated.java index dab6fc3696f..e2c373b4349 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/BitfinexAuthenticated.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/BitfinexAuthenticated.java @@ -1,12 +1,12 @@ package org.knowm.xchange.bitfinex.v1; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bitfinex.v1.dto.BitfinexExceptionV1; import org.knowm.xchange.bitfinex.v1.dto.account.BitfinexAccountFeesResponse; import org.knowm.xchange.bitfinex.v1.dto.account.BitfinexBalanceHistoryRequest; @@ -291,4 +291,4 @@ BitfinexBalanceHistoryResponse[] balanceHistory( @HeaderParam("X-BFX-SIGNATURE") ParamsDigest signature, BitfinexBalanceHistoryRequest balanceHistoryRequest) throws IOException, BitfinexExceptionV1; -} \ No newline at end of file +} diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexAccountFeesResponse.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexAccountFeesResponse.java index 26534a0d5d4..15f8bea28e5 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexAccountFeesResponse.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexAccountFeesResponse.java @@ -7,7 +7,9 @@ import org.knowm.xchange.bitfinex.service.BitfinexAdapters; import org.knowm.xchange.currency.Currency; -/** @author ujjwal on 23/02/18. */ +/** + * @author ujjwal on 23/02/18. + */ public class BitfinexAccountFeesResponse { private final Map withdraw; diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexTradingFeeResponse.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexTradingFeeResponse.java index 97f3033b77a..f1f30b88493 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexTradingFeeResponse.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexTradingFeeResponse.java @@ -34,6 +34,7 @@ public BigDecimal getTakerFee() { } private final BitfinexTradingFeeResponseRow[] tradingFeeResponseRows; + /** * Constructor * diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexWithdrawalResponse.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexWithdrawalResponse.java index c2d7094a3da..6c09f850c8a 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexWithdrawalResponse.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v1/dto/account/BitfinexWithdrawalResponse.java @@ -31,37 +31,49 @@ public class BitfinexWithdrawalResponse { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The status */ + /** + * @return The status + */ @JsonProperty("status") public String getStatus() { return status; } - /** @param status The status */ + /** + * @param status The status + */ @JsonProperty("status") public void setStatus(String status) { this.status = status; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The withdrawalId */ + /** + * @return The withdrawalId + */ @JsonProperty("withdrawal_id") public String getWithdrawalId() { return withdrawalId; } - /** @param withdrawalId The withdrawal_id */ + /** + * @param withdrawalId The withdrawal_id + */ @JsonProperty("withdrawal_id") public void setWithdrawalId(String withdrawalId) { this.withdrawalId = withdrawalId; diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/Bitfinex.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/Bitfinex.java index e7d2e31b614..7a4a7b59b92 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/Bitfinex.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/Bitfinex.java @@ -1,14 +1,14 @@ package org.knowm.xchange.bitfinex.v2; import com.fasterxml.jackson.databind.node.ArrayNode; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.bitfinex.v2.dto.BitfinexExceptionV2; import org.knowm.xchange.bitfinex.v2.dto.marketdata.BitfinexCandle; import org.knowm.xchange.bitfinex.v2.dto.marketdata.BitfinexFundingOrder; @@ -119,4 +119,4 @@ List fundingBook( List fundingBookRaw( @PathParam("symbol") String symbol, @QueryParam("len") Integer len) throws IOException, BitfinexExceptionV2; -} \ No newline at end of file +} diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/BitfinexAuthenticated.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/BitfinexAuthenticated.java index b73fed3a62b..fa44a642a93 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/BitfinexAuthenticated.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/BitfinexAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.bitfinex.v2; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; @@ -10,6 +8,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.bitfinex.v2.dto.BitfinexExceptionV2; import org.knowm.xchange.bitfinex.v2.dto.EmptyRequest; import org.knowm.xchange.bitfinex.v2.dto.account.LedgerEntry; @@ -181,4 +181,4 @@ List> updateCollateralDerivativePosition( @HeaderParam(BFX_SIGNATURE) ParamsDigest signature, UpdateCollateralDerivativePositionRequest req) throws IOException, BitfinexExceptionV2; -} \ No newline at end of file +} diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/BitfinexHmacSignature.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/BitfinexHmacSignature.java index 0b91aca4ed3..8457be01d38 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/BitfinexHmacSignature.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/BitfinexHmacSignature.java @@ -1,8 +1,8 @@ package org.knowm.xchange.bitfinex.v2; +import jakarta.ws.rs.HeaderParam; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; -import jakarta.ws.rs.HeaderParam; import lombok.extern.slf4j.Slf4j; import org.knowm.xchange.exceptions.ExchangeException; import org.knowm.xchange.service.BaseParamsDigest; @@ -12,6 +12,7 @@ @Slf4j public class BitfinexHmacSignature extends BaseParamsDigest { private static final String UTF_8 = "UTF-8"; + /** * Constructor * @@ -57,4 +58,4 @@ public String digestParams(RestInvocation i) { throw new ExchangeException("Could not sign the request", e); } } -} \ No newline at end of file +} diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/LedgerEntry.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/LedgerEntry.java index 8283ea0106a..29b1f595534 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/LedgerEntry.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/LedgerEntry.java @@ -12,20 +12,25 @@ public class LedgerEntry { /** Ledger identifier */ private long id; + /** The symbol of the currency (ex. "BTC") */ private String currency; private Object placeHolder0; + /** Timestamp in milliseconds */ private long timestamp; private Object placeHolder1; + /** Amount of funds moved */ private BigDecimal amount; + /** New balance */ private BigDecimal balance; private Object placeHolder2; + /** Description of ledger transaction */ private String description; diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/TransferBetweenWalletsRequest.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/TransferBetweenWalletsRequest.java index 83718d4f588..4b0b2d1dff8 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/TransferBetweenWalletsRequest.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/TransferBetweenWalletsRequest.java @@ -22,22 +22,27 @@ public class TransferBetweenWalletsRequest { * labels which are exchange, trading and deposit respectively)) */ @NonNull private String from; + /** * Select the wallet from which to transfer (exchange, margin, funding (can also use the old * labels which are exchange, trading and deposit respectively)) */ @NonNull private String to; + /** Select the currency that you would like to transfer (USD, UST, BTC, ....) */ @NonNull private String currency; + /** * Select the currency that you would like to exchange to (USTF0 === USDT for derivatives pairs) */ @JsonProperty("currency_to") private String currencyTo; + /** Select the amount to transfer */ @JsonFormat(shape = JsonFormat.Shape.STRING) @NonNull private BigDecimal amount; + /** * Allows transfer of funds to a sub- or master-account identified by the associated email * address. diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/TransferBetweenWalletsResponse.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/TransferBetweenWalletsResponse.java index 3f7ef984fd1..576c637d1a7 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/TransferBetweenWalletsResponse.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/TransferBetweenWalletsResponse.java @@ -14,8 +14,10 @@ public class TransferBetweenWalletsResponse { /** Millisecond Time Stamp of the update */ private long timestamp; + /** acc_tf */ private String type; + /** unique ID of the message */ private Long messageId; @@ -24,8 +26,10 @@ public class TransferBetweenWalletsResponse { /** Work in progress */ private Integer code; + /** Status of the notification; it may vary over time (SUCCESS, ERROR, FAILURE, ...) */ private String status; + /** Text of the notification */ private String text; @@ -39,18 +43,23 @@ public Date getTimestamp() { public static class Transfer { /** Millisecond Time Stamp when the transfer was created */ private long timestamp; + /** Starting wallet */ private String walletFrom; + /** Destination wallet */ private String walletTo; private Object placeHolder0; + /** Currency */ private String currency; + /** Currency converted to */ private String currencyTo; private Object placeHolder1; + /** Amount of Transfer */ private BigDecimal amount; diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/Wallet.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/Wallet.java index 8a49d6cc886..7b92e2b4c2f 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/Wallet.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/account/Wallet.java @@ -14,16 +14,22 @@ public class Wallet { /** Wallet name (exchange, margin, funding) */ private String walletType; + /** Currency (e.g. USD, ...) */ private String currency; + /** Wallet balance */ private BigDecimal balance; + /** Unsettled interest */ private BigDecimal unsettledInterest; + /** Wallet balance available for orders/withdrawal/transfer */ private BigDecimal availableBalance; + /** Description of the last ledger entry */ private String lastChange; + /** If the last change was a trade, this object will show the trade details */ private Object tradeDetails; } diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexCandle.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexCandle.java index 99ec1356046..158fb460c73 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexCandle.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexCandle.java @@ -8,7 +8,9 @@ import lombok.Data; import lombok.extern.jackson.Jacksonized; -/** @author cyrus13 * */ +/** + * @author cyrus13 * + */ @JsonFormat(shape = JsonFormat.Shape.ARRAY) @Jacksonized @Data diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexFundingOrder.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexFundingOrder.java index f5f52feec50..b2a1afa4d80 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexFundingOrder.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexFundingOrder.java @@ -6,17 +6,22 @@ import lombok.NoArgsConstructor; import lombok.Value; -/** @see https://docs.bitfinex.com/reference#rest-public-book */ +/** + * @see https://docs.bitfinex.com/reference#rest-public-book + */ @JsonFormat(shape = JsonFormat.Shape.ARRAY) @Value @NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) public class BitfinexFundingOrder { /** Rate level */ BigDecimal rate; + /** Period level */ int period; + /** Number of orders at that price level */ int count; + /** Total amount available at that price level. if AMOUNT > 0 then ask else bid. */ BigDecimal amount; } diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexFundingRawOrder.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexFundingRawOrder.java index 8c4e9c384a7..e1c32d9b71e 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexFundingRawOrder.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexFundingRawOrder.java @@ -16,10 +16,13 @@ public class BitfinexFundingRawOrder { /** Order ID */ long orderId; + /** Period level */ int period; + /** Rate level */ BigDecimal rate; + /** Total amount available at that price level. if AMOUNT > 0 then ask else bid. */ BigDecimal amount; } diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexStats.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexStats.java index 15ea42938ad..3176b43b9f9 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexStats.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexStats.java @@ -7,7 +7,9 @@ import lombok.NoArgsConstructor; import lombok.Value; -/** @see https://docs.bitfinex.com/reference#rest-public-stats1 */ +/** + * @see https://docs.bitfinex.com/reference#rest-public-stats1 + */ @JsonFormat(shape = JsonFormat.Shape.ARRAY) @Value @NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexTradingOrder.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexTradingOrder.java index 294bfd26f4d..02ce45cf1cb 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexTradingOrder.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexTradingOrder.java @@ -6,15 +6,19 @@ import lombok.NoArgsConstructor; import lombok.Value; -/** @see https://docs.bitfinex.com/reference#rest-public-book */ +/** + * @see https://docs.bitfinex.com/reference#rest-public-book + */ @JsonFormat(shape = JsonFormat.Shape.ARRAY) @Value @NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) public class BitfinexTradingOrder { /** Price level */ BigDecimal price; + /** Number of orders at that price level */ int count; + /** Total amount available at that price level. if AMOUNT > 0 then bid else as */ BigDecimal amount; } diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexTradingRawOrder.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexTradingRawOrder.java index b14f4faa18b..0a78e169de9 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexTradingRawOrder.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/BitfinexTradingRawOrder.java @@ -16,8 +16,10 @@ public class BitfinexTradingRawOrder { /** Order ID */ long orderId; + /** Price level */ BigDecimal price; + /** Total amount available at that price level. if AMOUNT > 0 then bid else ask. */ BigDecimal amount; } diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/Status.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/Status.java index f3c6c634bdc..9dfcdaeb067 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/Status.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/marketdata/Status.java @@ -17,46 +17,58 @@ public class Status { private String symbol; + /** Millisecond timestamp */ private long timestamp; private Object placeHolder0; + /** Derivative book mid price. */ private BigDecimal derivPrice; + /** Book mid price of the underlying Bitfinex spot trading pair */ private BigDecimal spotPrice; private Object placeHolder1; + /** The balance available to the liquidation engine to absorb losses. */ private BigDecimal insuranceFundBalance; private Object placeHolder2; + /** Millisecond timestamp of next funding event */ private Long nextFundingEvtTimestampMillis; + /** Current accrued funding for next 8h period */ private BigDecimal nextFundingAccrued; + /** Incremental accrual counter */ private long nextFundingStep; private Object placeHolder4; + /** Funding applied in the current 8h period */ private BigDecimal currentFunding; private Object placeHolder5; private Object placeHolder6; + /** Price based on the BFX Composite Index */ private BigDecimal markPrice; private Object placeHolder7; private Object placeHolder8; + /** Total number of outstanding derivative contracts */ private BigDecimal openInterest; private Object placeHolder9; private Object placeHolder10; private Object placeHolder11; + /** Range in the average spread that does not require a funding payment */ private BigDecimal clampMin; + /** Funding payment cap */ private BigDecimal clampMax; } diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/ActiveOrder.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/ActiveOrder.java index e893033f06d..296292e1378 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/ActiveOrder.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/ActiveOrder.java @@ -16,32 +16,43 @@ public class ActiveOrder { /** Order ID */ private long id; + /** Group ID */ private Long gid; + /** Client Order ID */ private Long cid; + /** Pair (tBTCUSD, …) */ private String symbol; + /** Millisecond timestamp of creation */ private long timestampCreate; + /** Millisecond timestamp of update */ private Long timestampUpdate; + /** Positive means buy, negative means sell. */ private BigDecimal amount; + /** Original amount. */ private BigDecimal amountOrig; + /** * The type of the order: LIMIT, MARKET, STOP, TRAILING STOP, EXCHANGE MARKET, EXCHANGE LIMIT, * EXCHANGE STOP, EXCHANGE TRAILING STOP, FOK, EXCHANGE FOK, IOC, EXCHANGE IOC. */ private String type; + /** Previous order type */ private String typePrev; private Object placeHolder0; private Object placeHolder1; + /** Upcoming Params Object (stay tuned) */ private int flags; + /** * Order Status: ACTIVE, EXECUTED, PARTIALLY FILLED, CANCELED, RSN_DUST (amount is less than * 0.00000001), RSN_PAUSE (trading is paused / paused due to AMPL rebase event) @@ -50,20 +61,26 @@ public class ActiveOrder { private Object placeHolder2; private Object placeHolder3; + /** Price */ private BigDecimal price; + /** Average price */ private BigDecimal priceAvg; + /** The trailing price */ private BigDecimal priceTrailing; + /** Auxiliary Limit price (for STOP LIMIT) */ private BigDecimal priceAuxLimit; private Object placeHolder4; private Object placeHolder5; private Object placeHolder6; + /** 1 if Hidden, 0 if not hidden */ private int hidden; + /** If another order caused this order to be placed (OCO) this will be that other order's ID */ private Long placedId; diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/OrderTrade.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/OrderTrade.java index 24c5bda2c10..c75dafaacb1 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/OrderTrade.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/OrderTrade.java @@ -16,24 +16,34 @@ public class OrderTrade { /** Trade database id */ private String id; + /** Pair (BTCUSD, …) */ private String symbol; + /** Execution timestamp millis */ private long timestamp; + /** Order id */ private String orderId; + /** Positive means buy, negative means sell */ private BigDecimal execAmount; + /** Execution price */ private BigDecimal execPrice; + /** placeHolder1 */ private String placeHolder1; + /** placeHolder1 */ private String placeHolder2; + /** 1 if true, -1 if false */ private int maker; + /** Fee */ private BigDecimal fee; + /** Fee currency */ private String feeCurrency; diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/Position.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/Position.java index b9849266b08..8a310c33ca9 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/Position.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/Position.java @@ -15,45 +15,61 @@ public class Position { /** Pair (tBTCUSD, …). */ private String symbol; + /** Status (ACTIVE, CLOSED). */ private String status; + /** * ±amount Size of the position. Positive values means a long position, negative values means a * short position. */ private BigDecimal amount; + /** The price at which you entered your position. */ private BigDecimal basePrice; + /** The amount of funding being used for this position. */ private BigDecimal marginFunding; + /** 0 for daily, 1 for term. */ private int marginFundingType; + /** Profit & Loss */ private BigDecimal pl; + /** Profit & Loss Percentage */ private BigDecimal plPercent; + /** Liquidation price */ private BigDecimal priceLiq; + /** Beta value */ private BigDecimal leverage; private Object placeHolder0; + /** Position ID */ private Integer positionId; + /** Millisecond timestamp of creation */ private long timestampCreate; + /** Millisecond timestamp of update */ private Long timestampUpdate; private Object placeHolder1; + /** Identifies the type of position, 0 = Margin position, 1 = Derivatives position */ private Integer type; private Object placeHolder2; + /** The amount of collateral applied to the open position */ private BigDecimal collateral; + /** The minimum amount of collateral required for the position */ private BigDecimal collateralMin; + /** Additional meta information about the position */ private Object meta; } diff --git a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/Trade.java b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/Trade.java index bfb8d747323..ec8df5e7d83 100644 --- a/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/Trade.java +++ b/xchange-bitfinex/src/main/java/org/knowm/xchange/bitfinex/v2/dto/trade/Trade.java @@ -16,24 +16,34 @@ public class Trade { /** Trade database id */ private String id; + /** Pair (BTCUSD, …) */ private String symbol; + /** Execution timestamp millis */ private long timestamp; + /** Order id */ private String orderId; + /** Positive means buy, negative means sell */ private BigDecimal execAmount; + /** Execution price */ private BigDecimal execPrice; + /** Order type */ private String orderType; + /** Order price */ private BigDecimal orderPrice; + /** 1 if true, -1 if false */ private int maker; + /** Fee */ private BigDecimal fee; + /** Fee currency */ private String feeCurrency; diff --git a/xchange-bitfinex/src/test/java/org/knowm/xchange/bitfinex/v1/BitfinexAdaptersTest.java b/xchange-bitfinex/src/test/java/org/knowm/xchange/bitfinex/v1/BitfinexAdaptersTest.java index 7f12a945d4d..c9327b4488e 100644 --- a/xchange-bitfinex/src/test/java/org/knowm/xchange/bitfinex/v1/BitfinexAdaptersTest.java +++ b/xchange-bitfinex/src/test/java/org/knowm/xchange/bitfinex/v1/BitfinexAdaptersTest.java @@ -52,13 +52,13 @@ public void shouldAdaptDynamicTradingFees() throws IOException { mapper.readValue(is, BitfinexTradingFeeResponse[].class); assertEquals(2, readValues.length); List currencyPairs = - new ArrayList<>( - Arrays.asList( - CurrencyPair.BTC_LTC, - CurrencyPair.LTC_AUD, - CurrencyPair.ETH_BTC, - CurrencyPair.DGC_BTC, - CurrencyPair.BTC_USD)); + new ArrayList<>( + Arrays.asList( + CurrencyPair.BTC_LTC, + CurrencyPair.LTC_AUD, + CurrencyPair.ETH_BTC, + CurrencyPair.DGC_BTC, + CurrencyPair.BTC_USD)); Map feesPerPair = BitfinexAdapters.adaptDynamicTradingFees(readValues, currencyPairs); assertEquals(currencyPairs.size(), feesPerPair.size()); diff --git a/xchange-bitfinex/src/test/java/org/knowm/xchange/bitfinex/v1/service/marketdata/TickerFetchIntegration.java b/xchange-bitfinex/src/test/java/org/knowm/xchange/bitfinex/v1/service/marketdata/TickerFetchIntegration.java index 421a2fdaa64..fd4e7094cc0 100644 --- a/xchange-bitfinex/src/test/java/org/knowm/xchange/bitfinex/v1/service/marketdata/TickerFetchIntegration.java +++ b/xchange-bitfinex/src/test/java/org/knowm/xchange/bitfinex/v1/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/Bitflyer.java b/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/Bitflyer.java index 0527a223de6..8deb6573e24 100755 --- a/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/Bitflyer.java +++ b/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/Bitflyer.java @@ -1,7 +1,5 @@ package org.knowm.xchange.bitflyer; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -10,6 +8,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.bitflyer.dto.BitflyerException; import org.knowm.xchange.bitflyer.dto.account.BitflyerAddress; import org.knowm.xchange.bitflyer.dto.account.BitflyerBalance; @@ -225,4 +225,4 @@ BitflyerChildOrderAcceptance sendChildOrder( @HeaderParam(ACCESS_SIGN) ParamsDigest paramsDigest, BitflyerChildOrder parentOrder) throws IOException, BitflyerException; -} \ No newline at end of file +} diff --git a/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/service/BitflyerAccountService.java b/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/service/BitflyerAccountService.java index afce83db844..4209258e64b 100755 --- a/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/service/BitflyerAccountService.java +++ b/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/service/BitflyerAccountService.java @@ -46,16 +46,16 @@ public Map getDynamicTradingFeesByInstrument() throws IOExcepti List pairs = exchange.getExchangeInstruments(); pairs.forEach( - pair -> { - try { - BitflyerTradingCommission commission = - getTradingCommission(BitflyerUtils.bitflyerProductCode((CurrencyPair) pair)); - - tradingFees.put(pair, BitflyerAdapters.adaptTradingCommission(commission)); - } catch (IOException | BitflyerException | ExchangeException e) { - LOG.trace("Exception fetching trade commission for {}", pair, e); - } - }); + pair -> { + try { + BitflyerTradingCommission commission = + getTradingCommission(BitflyerUtils.bitflyerProductCode((CurrencyPair) pair)); + + tradingFees.put(pair, BitflyerAdapters.adaptTradingCommission(commission)); + } catch (IOException | BitflyerException | ExchangeException e) { + LOG.trace("Exception fetching trade commission for {}", pair, e); + } + }); return tradingFees; } diff --git a/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/service/BitflyerTradeService.java b/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/service/BitflyerTradeService.java index ebf3cca76e3..536b6ea704a 100755 --- a/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/service/BitflyerTradeService.java +++ b/xchange-bitflyer/src/main/java/org/knowm/xchange/bitflyer/service/BitflyerTradeService.java @@ -44,7 +44,8 @@ public OpenOrders getOpenOrders() throws IOException { // US and EUR only have one pair available if (pairs.size() == 1) { return BitflyerAdapters.adaptOpenOrdersFromChildOrderResults( - super.getChildOrders(BitflyerUtils.bitflyerProductCode((CurrencyPair) pairs.get(0)), "ACTIVE")); + super.getChildOrders( + BitflyerUtils.bitflyerProductCode((CurrencyPair) pairs.get(0)), "ACTIVE")); } // JPY has about three pairs so we need to combine the results @@ -55,7 +56,8 @@ public OpenOrders getOpenOrders() throws IOException { try { orders.addAll( BitflyerAdapters.adaptOpenOrdersFromChildOrderResults( - super.getChildOrders(BitflyerUtils.bitflyerProductCode((CurrencyPair) pair), "ACTIVE")) + super.getChildOrders( + BitflyerUtils.bitflyerProductCode((CurrencyPair) pair), "ACTIVE")) .getOpenOrders()); } catch (IOException e) { LOG.trace("IOException adapting open orders for {}", pair, e); diff --git a/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/Bithumb.java b/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/Bithumb.java index b12b21433b7..b63712eb50f 100644 --- a/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/Bithumb.java +++ b/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/Bithumb.java @@ -1,12 +1,12 @@ package org.knowm.xchange.bithumb; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.bithumb.dto.BithumbResponse; import org.knowm.xchange.bithumb.dto.marketdata.BithumbOrderbook; import org.knowm.xchange.bithumb.dto.marketdata.BithumbOrderbookAll; @@ -40,4 +40,4 @@ BithumbResponse orderbook(@PathParam("currency") String curren @Path("transaction_history/{currency}") BithumbResponse> transactionHistory( @PathParam("currency") String currency) throws IOException, BithumbException; -} \ No newline at end of file +} diff --git a/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/BithumbAuthenticated.java b/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/BithumbAuthenticated.java index baa1484dd67..b4075f8a852 100644 --- a/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/BithumbAuthenticated.java +++ b/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/BithumbAuthenticated.java @@ -1,8 +1,5 @@ package org.knowm.xchange.bithumb; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.HeaderParam; @@ -10,6 +7,9 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; import org.knowm.xchange.bithumb.dto.BithumbResponse; import org.knowm.xchange.bithumb.dto.account.BithumbAccount; import org.knowm.xchange.bithumb.dto.account.BithumbBalance; @@ -186,4 +186,4 @@ BithumbTradeResponse marketSell( @FormParam("order_currency") String order_currency, @FormParam("payment_currency") String payment_currency) throws BithumbException, IOException; -} \ No newline at end of file +} diff --git a/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/service/BithumbDigest.java b/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/service/BithumbDigest.java index 84a03fcf25c..c226ad16811 100644 --- a/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/service/BithumbDigest.java +++ b/xchange-bithumb/src/main/java/org/knowm/xchange/bithumb/service/BithumbDigest.java @@ -2,6 +2,7 @@ import static org.knowm.xchange.utils.DigestUtils.bytesToHex; +import jakarta.ws.rs.FormParam; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; @@ -9,7 +10,6 @@ import java.util.Map; import java.util.stream.Collectors; import javax.crypto.Mac; -import jakarta.ws.rs.FormParam; import org.apache.commons.lang3.StringUtils; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.Params; @@ -68,4 +68,4 @@ private String urlEncode(String path) { throw new IllegalStateException(e.getMessage(), e); } } -} \ No newline at end of file +} diff --git a/xchange-bithumb/src/test/java/org/knowm/xchange/bithumb/service/BithumbDigestTest.java b/xchange-bithumb/src/test/java/org/knowm/xchange/bithumb/service/BithumbDigestTest.java index 8a6a84457c2..b1087ec2f36 100644 --- a/xchange-bithumb/src/test/java/org/knowm/xchange/bithumb/service/BithumbDigestTest.java +++ b/xchange-bithumb/src/test/java/org/knowm/xchange/bithumb/service/BithumbDigestTest.java @@ -4,11 +4,11 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import jakarta.ws.rs.FormParam; import java.lang.annotation.Annotation; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; -import jakarta.ws.rs.FormParam; import org.junit.Before; import org.junit.Test; import si.mazi.rescu.Params; @@ -46,4 +46,4 @@ public void testDigestParams() { .isEqualTo( "MTkzMGVmY2QzZGUzZWQ1ZmRkZmVhMGFhMmU2MjNkMThlYmQ2NTkyOTU1ZTcxMTc2N2NjZTY0ODdhOTJmOWRhMTNjZTYxMWVlYTJlOTEzOTBlYzlmMDU1MDVkMTk5OGY3YjUyMDY1NzVhZThlYWUxMmJmNjIxNjlkNTY2YmM0Nzc="); } -} \ No newline at end of file +} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/AbstractHttpResponseAware.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/AbstractHttpResponseAware.java index cfe1e85c094..015bd4e63a0 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/AbstractHttpResponseAware.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/AbstractHttpResponseAware.java @@ -4,7 +4,9 @@ import java.util.Map; import si.mazi.rescu.HttpResponseAware; -/** @author Nikita Belenkiy on 02/07/2018. */ +/** + * @author Nikita Belenkiy on 02/07/2018. + */ public abstract class AbstractHttpResponseAware implements HttpResponseAware { private Map> headers; diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/Bitmex.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/Bitmex.java index 3efed16227e..ee3809ab44b 100755 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/Bitmex.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/Bitmex.java @@ -1,13 +1,13 @@ package org.knowm.xchange.bitmex; -import java.io.IOException; -import java.util.Date; -import javax.annotation.Nullable; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Date; +import javax.annotation.Nullable; import org.knowm.xchange.bitmex.dto.account.BitmexTickerList; import org.knowm.xchange.bitmex.dto.marketdata.BitmexFundingList; import org.knowm.xchange.bitmex.dto.marketdata.BitmexKlineList; @@ -77,4 +77,4 @@ BitmexFundingList getFundingHistory( @Nullable @QueryParam("startTime") Date startTime, @Nullable @QueryParam("endTime") Date endTime) throws IOException, BitmexException; -} \ No newline at end of file +} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexAdapters.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexAdapters.java index 8d1efece26f..b91fb30d71a 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexAdapters.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexAdapters.java @@ -237,17 +237,17 @@ private static InstrumentMetaData adaptPair( if (originalMeta != null) { return new InstrumentMetaData.Builder() - .tradingFee(ticker.getTakerFee()) - .minimumAmount(originalMeta.getMinimumAmount()) - .maximumAmount(originalMeta.getMaximumAmount()) - .priceScale(Math.max(0, ticker.getTickSize().stripTrailingZeros().scale())) - .feeTiers(originalMeta.getFeeTiers()) - .build(); + .tradingFee(ticker.getTakerFee()) + .minimumAmount(originalMeta.getMinimumAmount()) + .maximumAmount(originalMeta.getMaximumAmount()) + .priceScale(Math.max(0, ticker.getTickSize().stripTrailingZeros().scale())) + .feeTiers(originalMeta.getFeeTiers()) + .build(); } else { return new InstrumentMetaData.Builder() - .tradingFee(ticker.getTakerFee()) - .priceScale(Math.max(0, ticker.getTickSize().stripTrailingZeros().scale())) - .build(); + .tradingFee(ticker.getTakerFee()) + .priceScale(Math.max(0, ticker.getTickSize().stripTrailingZeros().scale())) + .build(); } } diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexAuthenticated.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexAuthenticated.java index 00921ee76e1..8bd797c8b37 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexAuthenticated.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexAuthenticated.java @@ -1,9 +1,5 @@ package org.knowm.xchange.bitmex; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Date; -import javax.annotation.Nullable; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.FormParam; @@ -15,6 +11,10 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Date; +import javax.annotation.Nullable; import org.knowm.xchange.bitmex.dto.account.BitmexAccount; import org.knowm.xchange.bitmex.dto.account.BitmexMarginAccount; import org.knowm.xchange.bitmex.dto.account.BitmexMarginAccountList; @@ -443,4 +443,4 @@ BitmexWalletTransaction withdrawFunds( @FormParam("amount") BigDecimal amount, @FormParam("address") String address) throws IOException, BitmexException; -} \ No newline at end of file +} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexExchange.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexExchange.java index 4959a17c895..38314490ad4 100755 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexExchange.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/BitmexExchange.java @@ -47,7 +47,9 @@ public Long createValue() { private static void concludeHostParams(ExchangeSpecification exchangeSpecification) { if (exchangeSpecification.getExchangeSpecificParameters() != null) { - if (exchangeSpecification.getExchangeSpecificParametersItem(Exchange.USE_SANDBOX).equals(true)) { + if (exchangeSpecification + .getExchangeSpecificParametersItem(Exchange.USE_SANDBOX) + .equals(true)) { exchangeSpecification.setSslUri("https://testnet.bitmex.com"); exchangeSpecification.setHost("testnet.bitmex.com"); } @@ -129,9 +131,9 @@ public void updateExchangeMetaData() { pairsMap.put( cp, new InstrumentMetaData.Builder() - .minimumAmount(BigDecimal.ONE) - .priceScale(getPriceScale(tickers,cp)) - .build()); + .minimumAmount(BigDecimal.ONE) + .priceScale(getPriceScale(tickers, cp)) + .build()); } if (!currenciesMap.containsKey(cp.base)) { currenciesMap.put(cp.base, null); diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/HttpResponseAwareList.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/HttpResponseAwareList.java index b97a7f066ca..e5ffb9b364d 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/HttpResponseAwareList.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/HttpResponseAwareList.java @@ -5,7 +5,9 @@ import java.util.Map; import si.mazi.rescu.HttpResponseAware; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ @SuppressWarnings("serial") public class HttpResponseAwareList extends ArrayList implements HttpResponseAware { private Map> headers; diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/RateLimitUpdateListener.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/RateLimitUpdateListener.java index 2c2bbfa4fc8..4f996d90f52 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/RateLimitUpdateListener.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/RateLimitUpdateListener.java @@ -1,6 +1,8 @@ package org.knowm.xchange.bitmex; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ public interface RateLimitUpdateListener { void rateLimitUpdate(Integer rateLimit, Integer rateLimitRemaining, Long rateLimitReset); } diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/BitmexResult.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/BitmexResult.java index 6faff7249cc..a64e08ecf60 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/BitmexResult.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/BitmexResult.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonCreator; -/** @author Raphael Voellmy */ +/** + * @author Raphael Voellmy + */ public class BitmexResult { /** diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexMarginAccountList.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexMarginAccountList.java index 56db33788a0..b56c164927f 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexMarginAccountList.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexMarginAccountList.java @@ -2,5 +2,7 @@ import org.knowm.xchange.bitmex.HttpResponseAwareList; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ public class BitmexMarginAccountList extends HttpResponseAwareList {} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexTickerList.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexTickerList.java index ee4d2122112..ca9c64af303 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexTickerList.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexTickerList.java @@ -2,5 +2,7 @@ import org.knowm.xchange.bitmex.HttpResponseAwareList; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ public class BitmexTickerList extends HttpResponseAwareList {} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexWalletTransactionList.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexWalletTransactionList.java index 22d13ee482a..d71361c2c48 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexWalletTransactionList.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/account/BitmexWalletTransactionList.java @@ -2,5 +2,7 @@ import org.knowm.xchange.bitmex.HttpResponseAwareList; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ public class BitmexWalletTransactionList extends HttpResponseAwareList {} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexKlineList.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexKlineList.java index f49f1ab9a0e..05fcf604059 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexKlineList.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexKlineList.java @@ -2,5 +2,7 @@ import org.knowm.xchange.bitmex.HttpResponseAwareList; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ public class BitmexKlineList extends HttpResponseAwareList {} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPrivateOrderList.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPrivateOrderList.java index b94e5f2ea2f..63cf828b7c7 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPrivateOrderList.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPrivateOrderList.java @@ -2,5 +2,7 @@ import org.knowm.xchange.bitmex.HttpResponseAwareList; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ public class BitmexPrivateOrderList extends HttpResponseAwareList {} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicOrderList.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicOrderList.java index 64a833f2352..b302e9a87df 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicOrderList.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicOrderList.java @@ -2,5 +2,7 @@ import org.knowm.xchange.bitmex.HttpResponseAwareList; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ public class BitmexPublicOrderList extends HttpResponseAwareList {} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicTradeList.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicTradeList.java index c218b47092b..e0854b63ed6 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicTradeList.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicTradeList.java @@ -2,5 +2,7 @@ import org.knowm.xchange.bitmex.HttpResponseAwareList; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ public class BitmexPublicTradeList extends HttpResponseAwareList {} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicTrades.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicTrades.java index e7bb2e347f3..7465893b26d 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicTrades.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/marketdata/BitmexPublicTrades.java @@ -6,6 +6,7 @@ public class BitmexPublicTrades { private final List trades; + // private final long last; public BitmexPublicTrades(List trades) { diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/trade/BitmexPositionList.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/trade/BitmexPositionList.java index d2e209abe30..7834981beff 100644 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/trade/BitmexPositionList.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/dto/trade/BitmexPositionList.java @@ -2,5 +2,7 @@ import org.knowm.xchange.bitmex.HttpResponseAwareList; -/** @author Nikita Belenkiy on 03/07/2018. */ +/** + * @author Nikita Belenkiy on 03/07/2018. + */ public class BitmexPositionList extends HttpResponseAwareList {} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/service/BitmexDigest.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/service/BitmexDigest.java index 52881c81c16..a823e90f304 100755 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/service/BitmexDigest.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/service/BitmexDigest.java @@ -1,7 +1,7 @@ package org.knowm.xchange.bitmex.service; -import java.util.Base64; import jakarta.ws.rs.HeaderParam; +import java.util.Base64; import org.knowm.xchange.service.BaseParamsDigest; import org.knowm.xchange.utils.DigestUtils; import si.mazi.rescu.RestInvocation; @@ -52,4 +52,4 @@ public String digestParams(RestInvocation restInvocation) { public String digestString(String payload) { return DigestUtils.bytesToHex(getMac().doFinal(payload.getBytes())).toLowerCase(); } -} \ No newline at end of file +} diff --git a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/service/BitmexTradeServiceRaw.java b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/service/BitmexTradeServiceRaw.java index be40837037e..577e91a69d5 100755 --- a/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/service/BitmexTradeServiceRaw.java +++ b/xchange-bitmex/src/main/java/org/knowm/xchange/bitmex/service/BitmexTradeServiceRaw.java @@ -25,6 +25,7 @@ public class BitmexTradeServiceRaw extends BitmexBaseService { private String apiKey = exchange.getExchangeSpecification().getApiKey(); + /** * Constructor * diff --git a/xchange-bitmex/src/test/java/org/knowm/xchange/bitmex/service/trade/BitmexBulkOrderTest.java b/xchange-bitmex/src/test/java/org/knowm/xchange/bitmex/service/trade/BitmexBulkOrderTest.java index a7cfc12f1bb..7ae8eb0939e 100644 --- a/xchange-bitmex/src/test/java/org/knowm/xchange/bitmex/service/trade/BitmexBulkOrderTest.java +++ b/xchange-bitmex/src/test/java/org/knowm/xchange/bitmex/service/trade/BitmexBulkOrderTest.java @@ -23,7 +23,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author Nikita Belenkiy on 18/05/2018. */ +/** + * @author Nikita Belenkiy on 18/05/2018. + */ public class BitmexBulkOrderTest { private static final Logger logger = LoggerFactory.getLogger(BitmexBulkOrderTest.class); diff --git a/xchange-bitmex/src/test/java/org/knowm/xchange/bitmex/service/trade/BitmexOrderReplaceTest.java b/xchange-bitmex/src/test/java/org/knowm/xchange/bitmex/service/trade/BitmexOrderReplaceTest.java index 37f303c1e70..05ecde50be1 100644 --- a/xchange-bitmex/src/test/java/org/knowm/xchange/bitmex/service/trade/BitmexOrderReplaceTest.java +++ b/xchange-bitmex/src/test/java/org/knowm/xchange/bitmex/service/trade/BitmexOrderReplaceTest.java @@ -18,7 +18,9 @@ import org.knowm.xchange.dto.trade.LimitOrder; import org.knowm.xchange.utils.CertHelper; -/** @author Nikita Belenkiy on 18/05/2018. */ +/** + * @author Nikita Belenkiy on 18/05/2018. + */ public class BitmexOrderReplaceTest { @Test diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/Bitso.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/Bitso.java index b1ab22d6870..7870547865a 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/Bitso.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/Bitso.java @@ -1,18 +1,20 @@ package org.knowm.xchange.bitso; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bitso.dto.BitsoException; import org.knowm.xchange.bitso.dto.marketdata.BitsoOrderBook; import org.knowm.xchange.bitso.dto.marketdata.BitsoTicker; import org.knowm.xchange.bitso.dto.marketdata.BitsoTransaction; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ @Path("v2") @Produces(MediaType.APPLICATION_JSON) public interface Bitso { @@ -39,4 +41,4 @@ public interface Bitso { @Path("transactions/") BitsoTransaction[] getTransactions(@QueryParam("time") String time) throws BitsoException, IOException; -} \ No newline at end of file +} diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/BitsoAuthenticated.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/BitsoAuthenticated.java index ad2465a0cc3..761e503f475 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/BitsoAuthenticated.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/BitsoAuthenticated.java @@ -1,13 +1,13 @@ package org.knowm.xchange.bitso; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.bitso.dto.BitsoException; import org.knowm.xchange.bitso.dto.account.BitsoBalance; import org.knowm.xchange.bitso.dto.account.BitsoDepositAddress; @@ -17,7 +17,9 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Benedikt Bünz See https://www.bitso.net/api/ for up-to-date docs., Piotr Ładyżyński */ +/** + * @author Benedikt Bünz See https://www.bitso.net/api/ for up-to-date docs., Piotr Ładyżyński + */ @Path("v2") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces(MediaType.APPLICATION_JSON) @@ -51,7 +53,9 @@ BitsoOrder sell( @FormParam("price") BigDecimal price) throws BitsoException, IOException; - /** @return true if order has been canceled. */ + /** + * @return true if order has been canceled. + */ @POST @Path("cancel_order/") boolean cancelOrder( @@ -117,4 +121,4 @@ String withdrawToRipple( @FormParam("currency") String currency, @FormParam("address") String rippleAddress) throws BitsoException, IOException; -} \ No newline at end of file +} diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/BitsoExchange.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/BitsoExchange.java index 558d638ca9b..ee7ab6d870c 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/BitsoExchange.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/BitsoExchange.java @@ -7,7 +7,9 @@ import org.knowm.xchange.bitso.service.BitsoMarketDataService; import org.knowm.xchange.bitso.service.BitsoTradeService; -/** @author Matija Mazi, Piotr Ładyżyński */ +/** + * @author Matija Mazi, Piotr Ładyżyński + */ public class BitsoExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/account/BitsoBalance.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/account/BitsoBalance.java index 0f96bfcf194..1191ae35974 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/account/BitsoBalance.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/account/BitsoBalance.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public final class BitsoBalance { private final BigDecimal mxnBalance; diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoOrderBook.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoOrderBook.java index c0cf9fcb5ff..ab281c6068e 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoOrderBook.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoOrderBook.java @@ -5,7 +5,9 @@ import java.util.List; import si.mazi.rescu.ExceptionalReturnContentException; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public class BitsoOrderBook { private final Long timestamp; @@ -32,7 +34,9 @@ public BitsoOrderBook( this.timestamp = timestamp; } - /** @return Timestamp in Unix milliseconds */ + /** + * @return Timestamp in Unix milliseconds + */ public Long getTimestamp() { return timestamp; diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoTicker.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoTicker.java index 473f3c923b3..0ad55dfeeaf 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoTicker.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoTicker.java @@ -7,7 +7,9 @@ import si.mazi.rescu.ExceptionalReturnContentException; import si.mazi.rescu.serialization.jackson.serializers.TimestampDeserializer; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public class BitsoTicker { private final BigDecimal last; diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoTransaction.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoTransaction.java index ee65de402a9..f49f77338e6 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoTransaction.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/marketdata/BitsoTransaction.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public class BitsoTransaction { private final long date; diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/trade/BitsoOrder.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/trade/BitsoOrder.java index abffb74dc43..d5fb4f5da23 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/trade/BitsoOrder.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/trade/BitsoOrder.java @@ -7,11 +7,14 @@ import java.util.Date; import org.knowm.xchange.bitso.BitsoUtils; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public final class BitsoOrder { private final String id; private final String datetime; + /** 0 - buy (bid); 1 - sell (ask) */ private final int type; diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/trade/BitsoUserTransaction.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/trade/BitsoUserTransaction.java index dc9afffd9b4..74a0826ca04 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/trade/BitsoUserTransaction.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/dto/trade/BitsoUserTransaction.java @@ -5,17 +5,21 @@ import java.math.BigDecimal; import org.knowm.xchange.bitso.util.BitsoTransactionTypeDeserializer; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public final class BitsoUserTransaction { private final String datetime; private final long id; private final String order_id; private final TransactionType type; + /** MXN amount, negative -> BID, positive -> ASK */ private final BigDecimal mxn; private final BigDecimal btc; + /** price, has the reciprocal sign compared to 'mxn' value */ private final BigDecimal rate; diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoAccountService.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoAccountService.java index 640bb2acbdc..06abb3f613a 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoAccountService.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoAccountService.java @@ -13,7 +13,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BitsoAccountService extends BitsoAccountServiceRaw implements AccountService { public BitsoAccountService(Exchange exchange) { diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoDigest.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoDigest.java index e063410949e..7709fb984cc 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoDigest.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoDigest.java @@ -1,8 +1,8 @@ package org.knowm.xchange.bitso.service; +import jakarta.ws.rs.FormParam; import java.math.BigInteger; import javax.crypto.Mac; -import jakarta.ws.rs.FormParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; @@ -31,4 +31,4 @@ public String digestParams(RestInvocation restInvocation) { return String.format("%064x", new BigInteger(1, mac256.doFinal())).toUpperCase(); } -} \ No newline at end of file +} diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoMarketDataService.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoMarketDataService.java index beb81e92c06..7e56fa118d3 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoMarketDataService.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoMarketDataService.java @@ -9,7 +9,9 @@ import org.knowm.xchange.dto.marketdata.Trades; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public class BitsoMarketDataService extends BitsoMarketDataServiceRaw implements MarketDataService { public BitsoMarketDataService(Exchange exchange) { diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoMarketDataServiceRaw.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoMarketDataServiceRaw.java index 3f8b62f6f81..9f524e90d96 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoMarketDataServiceRaw.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoMarketDataServiceRaw.java @@ -10,7 +10,9 @@ import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.exceptions.ExchangeException; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public class BitsoMarketDataServiceRaw extends BitsoBaseService { private final Bitso bitso; diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoTradeService.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoTradeService.java index 36192dd9634..03d7cff322c 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoTradeService.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoTradeService.java @@ -27,7 +27,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public class BitsoTradeService extends BitsoTradeServiceRaw implements TradeService { /** diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoTradeServiceRaw.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoTradeServiceRaw.java index e268c72deaf..e7dec6534ec 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoTradeServiceRaw.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/service/BitsoTradeServiceRaw.java @@ -8,13 +8,17 @@ import org.knowm.xchange.bitso.dto.trade.BitsoUserTransaction; import org.knowm.xchange.client.ExchangeRestProxyBuilder; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public class BitsoTradeServiceRaw extends BitsoBaseService { private final BitsoAuthenticated bitsoAuthenticated; private final BitsoDigest signatureCreator; - /** @param exchange */ + /** + * @param exchange + */ public BitsoTradeServiceRaw(Exchange exchange) { super(exchange); diff --git a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/util/BitsoTransactionTypeDeserializer.java b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/util/BitsoTransactionTypeDeserializer.java index ae0cbb4e6c2..4488c1d87cc 100644 --- a/xchange-bitso/src/main/java/org/knowm/xchange/bitso/util/BitsoTransactionTypeDeserializer.java +++ b/xchange-bitso/src/main/java/org/knowm/xchange/bitso/util/BitsoTransactionTypeDeserializer.java @@ -3,7 +3,9 @@ import org.knowm.xchange.bitso.dto.trade.BitsoUserTransaction; import si.mazi.rescu.serialization.jackson.serializers.EnumIntDeserializer; -/** @author Piotr Ładyżyński */ +/** + * @author Piotr Ładyżyński + */ public class BitsoTransactionTypeDeserializer extends EnumIntDeserializer { diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampAdapters.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampAdapters.java index f67c133de9e..20b2266932f 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampAdapters.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampAdapters.java @@ -406,8 +406,7 @@ public static BitstampGenericOrder adaptOrder( public static Map adaptCurrencyPairs( Collection bitstampPairInfo) { - Map currencyPairs = - new HashMap<>(); + Map currencyPairs = new HashMap<>(); for (BitstampPairInfo pairInfo : bitstampPairInfo) { String[] pairInfos = pairInfo.getName().split("/"); currencyPairs.put( diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampAuthenticatedV2.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampAuthenticatedV2.java index 9f6b9c56442..3b016d34310 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampAuthenticatedV2.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampAuthenticatedV2.java @@ -1,7 +1,5 @@ package org.knowm.xchange.bitstamp; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.HeaderParam; @@ -10,6 +8,8 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.bitstamp.dto.BitstampException; import org.knowm.xchange.bitstamp.dto.BitstampTransferBalanceResponse; import org.knowm.xchange.bitstamp.dto.account.BitstampBalance; @@ -80,7 +80,9 @@ BitstampOrder placeOrder( @FormParam("price") BigDecimal price) throws BitstampException, IOException; - /** @return true if order has been canceled. */ + /** + * @return true if order has been canceled. + */ @POST @Path("cancel_order/") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @@ -1174,4 +1176,4 @@ enum BankCurrency { ZMW, ZWL } -} \ No newline at end of file +} diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampExchange.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampExchange.java index 0fc9c573fde..4ab00df0136 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampExchange.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampExchange.java @@ -16,7 +16,9 @@ import org.knowm.xchange.utils.nonce.CurrentTimeIncrementalNonceFactory; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BitstampExchange extends BaseExchange implements Exchange { private final SynchronizedValueFactory nonceFactory = diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampV2.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampV2.java index 62b57d6d421..6ecaa9843be 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampV2.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/BitstampV2.java @@ -1,14 +1,14 @@ package org.knowm.xchange.bitstamp; -import java.io.IOException; -import java.util.List; -import java.util.Objects; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; +import java.util.Objects; import org.knowm.xchange.bitstamp.dto.BitstampException; import org.knowm.xchange.bitstamp.dto.marketdata.BitstampOrderBook; import org.knowm.xchange.bitstamp.dto.marketdata.BitstampPairInfo; @@ -18,7 +18,9 @@ import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.utils.jackson.CurrencyPairDeserializer; -/** @author Matija Mazi See https://www.bitstamp.net/api/ for up-to-date docs. */ +/** + * @author Matija Mazi See https://www.bitstamp.net/api/ for up-to-date docs. + */ @Path("api/v2") @Produces(MediaType.APPLICATION_JSON) public interface BitstampV2 { @@ -35,8 +37,7 @@ BitstampTicker getTicker(@PathParam("pair") BitstampV2.Pair pair) @GET @Path("ticker/") - List getTickers() - throws IOException, BitstampException; + List getTickers() throws IOException, BitstampException; @GET @Path("ticker_hour/{pair}/") @@ -87,4 +88,4 @@ public String toString() { pair.counter.getCurrencyCode().toLowerCase()); } } -} \ No newline at end of file +} diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/account/BitstampBalance.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/account/BitstampBalance.java index 92ac36fb80a..d06aa6401e9 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/account/BitstampBalance.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/account/BitstampBalance.java @@ -7,7 +7,9 @@ import java.util.HashMap; import java.util.Map; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public final class BitstampBalance { private final BigDecimal fee; @@ -15,6 +17,7 @@ public final class BitstampBalance { /** map with currency -> Balance */ private final Map balances = new HashMap<>(); + /** map with pair -> fee */ private final Map fees = new HashMap<>(); diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampOrderBook.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampOrderBook.java index 8cc83bd81cc..af523ffbe11 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampOrderBook.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampOrderBook.java @@ -5,7 +5,9 @@ import java.util.Date; import java.util.List; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BitstampOrderBook { private final Date timestamp; @@ -29,7 +31,9 @@ public BitstampOrderBook( this.timestamp = new Date(timestamp * 1000); } - /** @return Timestamp in Unix milliseconds */ + /** + * @return Timestamp in Unix milliseconds + */ public Date getTimestamp() { return timestamp; diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampPairInfo.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampPairInfo.java index f5a1a0d9fc1..29a4f9b654b 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampPairInfo.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampPairInfo.java @@ -34,7 +34,7 @@ public class BitstampPairInfo { @JsonProperty("instant_and_market_orders") String instantAndMarketOrders; - public boolean isMarketOrdersEnabled(){ + public boolean isMarketOrdersEnabled() { return "Enabled".equals(instantAndMarketOrders); } } diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampTicker.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampTicker.java index 58a3fa9f675..fd1d3bac864 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampTicker.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampTicker.java @@ -40,5 +40,4 @@ public class BitstampTicker { @JsonProperty("timestamp") long timestamp; - } diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampTransaction.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampTransaction.java index 37446119c73..841c52de71f 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampTransaction.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/marketdata/BitstampTransaction.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BitstampTransaction { private final long date; diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampOrder.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampOrder.java index 397da70099a..246c349f418 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampOrder.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampOrder.java @@ -8,11 +8,14 @@ import org.knowm.xchange.bitstamp.BitstampUtils; import si.mazi.rescu.ExceptionalReturnContentException; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public final class BitstampOrder { private long id; private Date datetime; + /** 0 - buy (bid); 1 - sell (ask) */ private int type; diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampOrderCancelResponse.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampOrderCancelResponse.java index 184b3a34d2c..65a0188fafd 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampOrderCancelResponse.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampOrderCancelResponse.java @@ -7,6 +7,7 @@ public class BitstampOrderCancelResponse { private long id; + /** 0 - buy (bid); 1 - sell (ask) */ private int type; diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampUserTransaction.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampUserTransaction.java index 5f086cd4c3e..03a4c6572f5 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampUserTransaction.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/dto/trade/BitstampUserTransaction.java @@ -11,7 +11,9 @@ import org.knowm.xchange.bitstamp.BitstampUtils; import org.knowm.xchange.currency.Currency; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public final class BitstampUserTransaction { private final Date datetime; diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampAccountService.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampAccountService.java index ab1284f94e4..e829d57d391 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampAccountService.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampAccountService.java @@ -28,7 +28,9 @@ import org.knowm.xchange.service.trade.params.WithdrawFundsParams; import org.knowm.xchange.utils.DateUtils; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BitstampAccountService extends BitstampAccountServiceRaw implements AccountService { /** @@ -62,8 +64,10 @@ public String withdrawFunds( @Override public String withdrawFunds(WithdrawFundsParams params) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { BitstampWithdrawal response; diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampAccountServiceRaw.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampAccountServiceRaw.java index 4c6bbd84b4a..a32fd3ae8cd 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampAccountServiceRaw.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampAccountServiceRaw.java @@ -29,7 +29,9 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -/** @author gnandiga */ +/** + * @author gnandiga + */ public class BitstampAccountServiceRaw extends BitstampBaseService { private static final String API_VERSION = "v2"; diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampBaseService.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampBaseService.java index 71cbe57c613..ed4d0a9d7f7 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampBaseService.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampBaseService.java @@ -10,7 +10,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author timmolter */ +/** + * @author timmolter + */ public class BitstampBaseService extends BaseExchangeService implements BaseService { /** diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampDigest.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampDigest.java index 82135ccdcde..a569103829c 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampDigest.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampDigest.java @@ -1,12 +1,14 @@ package org.knowm.xchange.bitstamp.service; +import jakarta.ws.rs.FormParam; import java.math.BigInteger; import javax.crypto.Mac; -import jakarta.ws.rs.FormParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author Benedikt Bünz */ +/** + * @author Benedikt Bünz + */ public class BitstampDigest extends BaseParamsDigest { private final String clientId; @@ -43,4 +45,4 @@ public String digestParams(RestInvocation restInvocation) { return String.format("%064x", new BigInteger(1, mac256.doFinal())).toUpperCase(); } -} \ No newline at end of file +} diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampDigestV2.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampDigestV2.java index 156c18ae119..28e538b336f 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampDigestV2.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampDigestV2.java @@ -1,12 +1,14 @@ package org.knowm.xchange.bitstamp.service; +import jakarta.ws.rs.HeaderParam; import java.math.BigInteger; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author Benedikt Bünz */ +/** + * @author Benedikt Bünz + */ public class BitstampDigestV2 extends BaseParamsDigest { private final String apiKey; @@ -58,4 +60,4 @@ public String digestParams(RestInvocation restInvocation) { return String.format("%064x", new BigInteger(1, mac256.doFinal())).toUpperCase(); } -} \ No newline at end of file +} diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampMarketDataService.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampMarketDataService.java index 24b0bdd62e4..cb40ce91df3 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampMarketDataService.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampMarketDataService.java @@ -9,7 +9,9 @@ import org.knowm.xchange.dto.marketdata.Trades; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BitstampMarketDataService extends BitstampMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampMarketDataServiceRaw.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampMarketDataServiceRaw.java index 6999ef7e529..70b28dcc556 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampMarketDataServiceRaw.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampMarketDataServiceRaw.java @@ -13,7 +13,9 @@ import org.knowm.xchange.client.ExchangeRestProxyBuilder; import org.knowm.xchange.currency.CurrencyPair; -/** @author gnandiga */ +/** + * @author gnandiga + */ public class BitstampMarketDataServiceRaw extends BitstampBaseService { private final BitstampV2 bitstampV2; diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampTradeService.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampTradeService.java index 71a99c2ed29..b57e622afa0 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampTradeService.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampTradeService.java @@ -39,7 +39,9 @@ import org.knowm.xchange.service.trade.params.orders.OrderQueryParams; import org.knowm.xchange.utils.DateUtils; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BitstampTradeService extends BitstampTradeServiceRaw implements TradeService { public BitstampTradeService(Exchange exchange) { diff --git a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampTradeServiceRaw.java b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampTradeServiceRaw.java index 9256ef631b2..d0e2fe85dcf 100644 --- a/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampTradeServiceRaw.java +++ b/xchange-bitstamp/src/main/java/org/knowm/xchange/bitstamp/service/BitstampTradeServiceRaw.java @@ -16,7 +16,9 @@ import org.knowm.xchange.currency.CurrencyPair; import si.mazi.rescu.SynchronizedValueFactory; -/** @author gnandiga */ +/** + * @author gnandiga + */ public class BitstampTradeServiceRaw extends BitstampBaseService { private static final String API_VERSION = "v2"; diff --git a/xchange-bitstamp/src/test/java/org/knowm/xchange/bitstamp/dto/account/DepositAddressJSONTest.java b/xchange-bitstamp/src/test/java/org/knowm/xchange/bitstamp/dto/account/DepositAddressJSONTest.java index 989572ddc22..36d97b8efc9 100644 --- a/xchange-bitstamp/src/test/java/org/knowm/xchange/bitstamp/dto/account/DepositAddressJSONTest.java +++ b/xchange-bitstamp/src/test/java/org/knowm/xchange/bitstamp/dto/account/DepositAddressJSONTest.java @@ -7,7 +7,9 @@ import java.io.InputStream; import org.junit.Test; -/** @author ujjwal on 08/02/18. */ +/** + * @author ujjwal on 08/02/18. + */ public class DepositAddressJSONTest { private BitstampDepositAddress unmarshall(String file) throws IOException { diff --git a/xchange-bitstamp/src/test/java/org/knowm/xchange/bitstamp/service/marketdata/TickerFetchIntegration.java b/xchange-bitstamp/src/test/java/org/knowm/xchange/bitstamp/service/marketdata/TickerFetchIntegration.java index f385af891c3..d540cc9c259 100644 --- a/xchange-bitstamp/src/test/java/org/knowm/xchange/bitstamp/service/marketdata/TickerFetchIntegration.java +++ b/xchange-bitstamp/src/test/java/org/knowm/xchange/bitstamp/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/Bittrex.java b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/Bittrex.java index faf7ba5f1f6..5cacf62557d 100644 --- a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/Bittrex.java +++ b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/Bittrex.java @@ -1,13 +1,13 @@ package org.knowm.xchange.bittrex; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.bittrex.dto.BittrexException; import org.knowm.xchange.bittrex.dto.marketdata.BittrexCurrency; import org.knowm.xchange.bittrex.dto.marketdata.BittrexDepth; @@ -56,4 +56,4 @@ List getTrades(@PathParam("marketSymbol") String marketSymbol) @Path("markets/{marketSymbol}/ticker") BittrexTicker getTicker(@PathParam("marketSymbol") String marketSymbol) throws IOException, BittrexException; -} \ No newline at end of file +} diff --git a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexAdapters.java b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexAdapters.java index 3bbc3eed23d..e583f0357a7 100644 --- a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexAdapters.java +++ b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexAdapters.java @@ -246,8 +246,7 @@ public static void adaptMetaData( ExchangeMetaData metaData) { List currencyPairs = BittrexAdapters.adaptCurrencyPairs(rawSymbols); for (CurrencyPair currencyPair : currencyPairs) { - InstrumentMetaData defaultCurrencyPairMetaData = - metaData.getInstruments().get(currencyPair); + InstrumentMetaData defaultCurrencyPairMetaData = metaData.getInstruments().get(currencyPair); BigDecimal resultingFee = null; // Prioritize dynamic fee if (dynamicTradingFees != null) { @@ -264,18 +263,17 @@ public static void adaptMetaData( InstrumentMetaData newCurrencyPairMetaData; if (defaultCurrencyPairMetaData != null) { newCurrencyPairMetaData = - new InstrumentMetaData.Builder() - .tradingFee(resultingFee) - .minimumAmount(defaultCurrencyPairMetaData.getMinimumAmount()) - .maximumAmount(defaultCurrencyPairMetaData.getMaximumAmount()) - .priceScale(defaultCurrencyPairMetaData.getPriceScale()) - .volumeScale(defaultCurrencyPairMetaData.getVolumeScale()) - .feeTiers(defaultCurrencyPairMetaData.getFeeTiers()) - .tradingFeeCurrency(defaultCurrencyPairMetaData.getTradingFeeCurrency()) - .build(); + new InstrumentMetaData.Builder() + .tradingFee(resultingFee) + .minimumAmount(defaultCurrencyPairMetaData.getMinimumAmount()) + .maximumAmount(defaultCurrencyPairMetaData.getMaximumAmount()) + .priceScale(defaultCurrencyPairMetaData.getPriceScale()) + .volumeScale(defaultCurrencyPairMetaData.getVolumeScale()) + .feeTiers(defaultCurrencyPairMetaData.getFeeTiers()) + .tradingFeeCurrency(defaultCurrencyPairMetaData.getTradingFeeCurrency()) + .build(); } else { - newCurrencyPairMetaData = - new InstrumentMetaData.Builder().tradingFee(resultingFee).build(); + newCurrencyPairMetaData = new InstrumentMetaData.Builder().tradingFee(resultingFee).build(); } metaData.getInstruments().put(currencyPair, newCurrencyPairMetaData); diff --git a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexAuthenticated.java b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexAuthenticated.java index d309c09d444..f64a628a501 100644 --- a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexAuthenticated.java +++ b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexAuthenticated.java @@ -1,8 +1,5 @@ package org.knowm.xchange.bittrex; -import java.io.IOException; -import java.util.Date; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -13,6 +10,9 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Date; +import java.util.List; import org.knowm.xchange.bittrex.dto.BittrexException; import org.knowm.xchange.bittrex.dto.account.BittrexAccountVolume; import org.knowm.xchange.bittrex.dto.account.BittrexAddress; @@ -202,4 +202,4 @@ BittrexWithdrawal createNewWithdrawal( @HeaderParam("Api-Signature") ParamsDigest signature, BittrexNewWithdrawal newWithdrawal) throws IOException, BittrexException; -} \ No newline at end of file +} diff --git a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexErrorAdapter.java b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexErrorAdapter.java index ce324b86711..6058ffa5cfb 100644 --- a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexErrorAdapter.java +++ b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/BittrexErrorAdapter.java @@ -5,7 +5,9 @@ import org.knowm.xchange.exceptions.CurrencyPairNotValidException; import org.knowm.xchange.exceptions.ExchangeException; -/** @author walec51 */ +/** + * @author walec51 + */ public class BittrexErrorAdapter { public static ExchangeException adapt(BittrexException e) { diff --git a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/dto/BittrexException.java b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/dto/BittrexException.java index 6f7d44b8de7..8db49985975 100644 --- a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/dto/BittrexException.java +++ b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/dto/BittrexException.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import si.mazi.rescu.HttpStatusExceptionSupport; -/** @author walec51 */ +/** + * @author walec51 + */ public class BittrexException extends HttpStatusExceptionSupport { @JsonProperty private String code; diff --git a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/service/BittrexAccountService.java b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/service/BittrexAccountService.java index c7f1e629645..f1624b52ceb 100644 --- a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/service/BittrexAccountService.java +++ b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/service/BittrexAccountService.java @@ -78,10 +78,10 @@ public Map getDynamicTradingFeesByInstrument() throws IOExcepti List tradingFees = getTradingFees(); for (BittrexComissionRatesWithMarket tradingFee : tradingFees) { result.put( - BittrexUtils.toCurrencyPair(tradingFee.getMarketSymbol()), - new Fee( - BigDecimal.valueOf(tradingFee.getMakerRate()), - BigDecimal.valueOf(tradingFee.getTakerRate()))); + BittrexUtils.toCurrencyPair(tradingFee.getMarketSymbol()), + new Fee( + BigDecimal.valueOf(tradingFee.getMakerRate()), + BigDecimal.valueOf(tradingFee.getTakerRate()))); } return result; } catch (BittrexException e) { diff --git a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/service/BittrexDigest.java b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/service/BittrexDigest.java index e9494e892ba..c3f81dd9e47 100644 --- a/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/service/BittrexDigest.java +++ b/xchange-bittrex/src/main/java/org/knowm/xchange/bittrex/service/BittrexDigest.java @@ -1,11 +1,11 @@ package org.knowm.xchange.bittrex.service; +import jakarta.ws.rs.HeaderParam; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.service.BaseParamsDigest; import org.knowm.xchange.utils.DigestUtils; import si.mazi.rescu.RestInvocation; @@ -70,4 +70,4 @@ static String urlDecode(String data) { throw new RuntimeException("Illegal encoding, fix the code.", e); // should not happen } } -} \ No newline at end of file +} diff --git a/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/AccountServiceTest.java b/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/AccountServiceTest.java index 5fdbe257b0d..5607342b7bc 100644 --- a/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/AccountServiceTest.java +++ b/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/AccountServiceTest.java @@ -18,7 +18,9 @@ import org.knowm.xchange.dto.account.Balance; import org.knowm.xchange.dto.account.Wallet; -/** @author walec51 */ +/** + * @author walec51 + */ public class AccountServiceTest extends BaseWiremockTest { private static BittrexAccountService accountService; diff --git a/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/BaseWiremockTest.java b/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/BaseWiremockTest.java index 54aa6d2cf1e..d1fc5635db7 100644 --- a/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/BaseWiremockTest.java +++ b/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/BaseWiremockTest.java @@ -9,7 +9,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.bittrex.BittrexExchange; -/** @author walec51 */ +/** + * @author walec51 + */ public class BaseWiremockTest { @Rule public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort()); diff --git a/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/MarketDataTestIntegration.java b/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/MarketDataTestIntegration.java index 4698b772720..b34c0fea190 100644 --- a/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/MarketDataTestIntegration.java +++ b/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/MarketDataTestIntegration.java @@ -16,7 +16,9 @@ import org.knowm.xchange.dto.trade.LimitOrder; import org.knowm.xchange.exceptions.CurrencyPairNotValidException; -/** @author walec51 */ +/** + * @author walec51 + */ public class MarketDataTestIntegration { private static BittrexMarketDataService marketDataService; diff --git a/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/TradeServiceTest.java b/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/TradeServiceTest.java index ee056509a33..d971860b286 100644 --- a/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/TradeServiceTest.java +++ b/xchange-bittrex/src/test/java/org/knowm/xchange/bittrex/service/TradeServiceTest.java @@ -23,7 +23,9 @@ import org.knowm.xchange.dto.trade.UserTrades; import org.knowm.xchange.service.trade.params.TradeHistoryParams; -/** @author walec51 */ +/** + * @author walec51 + */ public class TradeServiceTest extends BaseWiremockTest { private static BittrexTradeService tradeService; diff --git a/xchange-bity/src/main/java/org/knowm/xchange/bity/Bity.java b/xchange-bity/src/main/java/org/knowm/xchange/bity/Bity.java index b6f3750192a..4b424f4712c 100644 --- a/xchange-bity/src/main/java/org/knowm/xchange/bity/Bity.java +++ b/xchange-bity/src/main/java/org/knowm/xchange/bity/Bity.java @@ -32,4 +32,4 @@ BityToken createToken( @FormParam("username") String username, @FormParam("password") String password) throws BityException; -} \ No newline at end of file +} diff --git a/xchange-bity/src/main/java/org/knowm/xchange/bity/BityAuthenticated.java b/xchange-bity/src/main/java/org/knowm/xchange/bity/BityAuthenticated.java index 42c584950d8..e3ee00b797a 100644 --- a/xchange-bity/src/main/java/org/knowm/xchange/bity/BityAuthenticated.java +++ b/xchange-bity/src/main/java/org/knowm/xchange/bity/BityAuthenticated.java @@ -22,4 +22,4 @@ BityResponse getOrders( @QueryParam("order_by") String orderBy, @HeaderParam("Authorization") String authorization) throws BityException; -} \ No newline at end of file +} diff --git a/xchange-bitz/src/main/java/org/knowm/xchange/bitz/BitZ.java b/xchange-bitz/src/main/java/org/knowm/xchange/bitz/BitZ.java index 335c10e9035..7a384cb27cb 100644 --- a/xchange-bitz/src/main/java/org/knowm/xchange/bitz/BitZ.java +++ b/xchange-bitz/src/main/java/org/knowm/xchange/bitz/BitZ.java @@ -1,7 +1,5 @@ package org.knowm.xchange.bitz; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.POST; @@ -10,6 +8,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.bitz.dto.account.result.BitZUserAssetsResult; import org.knowm.xchange.bitz.dto.marketdata.result.BitZCurrencyCoinRateResult; import org.knowm.xchange.bitz.dto.marketdata.result.BitZCurrencyRateResult; @@ -176,4 +176,4 @@ BitZUserAssetsResult getUserAssets( @Path("kline?coin={symbol}&type={type}") BitZKlineResult getKlineResult(@PathParam("symbol") String symbol, @PathParam("type") String type) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-bitz/src/main/java/org/knowm/xchange/bitz/BitZAuthenticated.java b/xchange-bitz/src/main/java/org/knowm/xchange/bitz/BitZAuthenticated.java index ccbe51d3ab3..829116007d0 100644 --- a/xchange-bitz/src/main/java/org/knowm/xchange/bitz/BitZAuthenticated.java +++ b/xchange-bitz/src/main/java/org/knowm/xchange/bitz/BitZAuthenticated.java @@ -1,12 +1,12 @@ package org.knowm.xchange.bitz; -import java.math.BigDecimal; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.math.BigDecimal; import org.knowm.xchange.bitz.dto.trade.result.BitZOpenOrderResult; import org.knowm.xchange.bitz.dto.trade.result.BitZTradeAddResult; import org.knowm.xchange.bitz.dto.trade.result.BitZTradeCancelResult; @@ -46,4 +46,4 @@ BitZOpenOrderResult openOrders( @FormParam("nonce") String nonce, @FormParam("coin") String coin, @FormParam("sign") String signed); -} \ No newline at end of file +} diff --git a/xchange-bitz/src/main/java/org/knowm/xchange/bitz/service/BitZDigest.java b/xchange-bitz/src/main/java/org/knowm/xchange/bitz/service/BitZDigest.java index 3f09169ad07..0d1e927caab 100644 --- a/xchange-bitz/src/main/java/org/knowm/xchange/bitz/service/BitZDigest.java +++ b/xchange-bitz/src/main/java/org/knowm/xchange/bitz/service/BitZDigest.java @@ -1,10 +1,10 @@ package org.knowm.xchange.bitz.service; +import jakarta.ws.rs.FormParam; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Map; import java.util.stream.Collectors; -import jakarta.ws.rs.FormParam; import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.RestInvocation; @@ -47,4 +47,4 @@ public String digestParams(RestInvocation restInvocation) { // TODO: Determine Charceter Encoding return String.valueOf(md5.digest(unsigned)); } -} \ No newline at end of file +} diff --git a/xchange-bitz/src/main/java/org/knowm/xchange/bitz/service/BitZTradeServiceRaw.java b/xchange-bitz/src/main/java/org/knowm/xchange/bitz/service/BitZTradeServiceRaw.java index f8011b81fdf..08e74402bec 100644 --- a/xchange-bitz/src/main/java/org/knowm/xchange/bitz/service/BitZTradeServiceRaw.java +++ b/xchange-bitz/src/main/java/org/knowm/xchange/bitz/service/BitZTradeServiceRaw.java @@ -66,6 +66,7 @@ public BitZTradeAddResult placeBitZTrade( private String getTimeStamp() { return String.valueOf(System.currentTimeMillis() / 1000); } + /** * 提交委托单(下订单) * diff --git a/xchange-bl3p/src/main/java/org/knowm/xchange/bl3p/Bl3p.java b/xchange-bl3p/src/main/java/org/knowm/xchange/bl3p/Bl3p.java index 4de604a638e..7148d48d4a5 100644 --- a/xchange-bl3p/src/main/java/org/knowm/xchange/bl3p/Bl3p.java +++ b/xchange-bl3p/src/main/java/org/knowm/xchange/bl3p/Bl3p.java @@ -1,11 +1,11 @@ package org.knowm.xchange.bl3p; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bl3p.dto.marketdata.Bl3pOrderBook; import org.knowm.xchange.bl3p.dto.marketdata.Bl3pTicker; import org.knowm.xchange.bl3p.dto.marketdata.Bl3pTrades; @@ -25,4 +25,4 @@ public interface Bl3p { @GET @Path("/{currencyPair}/trades") Bl3pTrades getTrades(@PathParam("currencyPair") String currency) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-bl3p/src/main/java/org/knowm/xchange/bl3p/Bl3pAuthenticated.java b/xchange-bl3p/src/main/java/org/knowm/xchange/bl3p/Bl3pAuthenticated.java index cc94ae961f4..f679698600f 100644 --- a/xchange-bl3p/src/main/java/org/knowm/xchange/bl3p/Bl3pAuthenticated.java +++ b/xchange-bl3p/src/main/java/org/knowm/xchange/bl3p/Bl3pAuthenticated.java @@ -1,6 +1,5 @@ package org.knowm.xchange.bl3p; -import java.io.IOException; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -9,6 +8,7 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bl3p.dto.Bl3pUserTransactions; import org.knowm.xchange.bl3p.dto.account.Bl3pAccountInfo; import org.knowm.xchange.bl3p.dto.account.Bl3pNewDepositAddress; @@ -236,4 +236,4 @@ Bl3pWithdrawFunds withdrawEuros( @FormParam("account_id") String accountId, @FormParam("account_name") String accountName, @FormParam("amount_int") long amount); -} \ No newline at end of file +} diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/Bleutrade.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/Bleutrade.java index 8be323161b3..ec726a42844 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/Bleutrade.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/Bleutrade.java @@ -1,11 +1,11 @@ package org.knowm.xchange.bleutrade; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bleutrade.dto.marketdata.BleutradeCurrenciesReturn; import org.knowm.xchange.bleutrade.dto.marketdata.BleutradeMarketHistoryReturn; import org.knowm.xchange.bleutrade.dto.marketdata.BleutradeMarketsReturn; @@ -44,4 +44,4 @@ BleutradeOrderBookReturn getBleutradeOrderBook( @Path("public/getmarkethistory") BleutradeMarketHistoryReturn getBleutradeMarketHistory( @QueryParam("market") String market, @QueryParam("count") int count) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeAdapters.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeAdapters.java index 22732ba4bdb..9bec21ce37b 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeAdapters.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeAdapters.java @@ -171,10 +171,12 @@ public static ExchangeMetaData adaptToExchangeMetaData( CurrencyPair currencyPair = CurrencyPairDeserializer.getCurrencyPairFromString(bleutradeMarket.getMarketName()); - marketMetaDataMap.put(currencyPair, new InstrumentMetaData.Builder() - .tradingFee(txFee) - .minimumAmount(bleutradeMarket.getMinTradeSize()) - .volumeScale(8) + marketMetaDataMap.put( + currencyPair, + new InstrumentMetaData.Builder() + .tradingFee(txFee) + .minimumAmount(bleutradeMarket.getMinTradeSize()) + .volumeScale(8) .build()); } diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeAuthenticated.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeAuthenticated.java index e1758c6eb7c..905a89ae371 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeAuthenticated.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeAuthenticated.java @@ -1,15 +1,15 @@ package org.knowm.xchange.bleutrade; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; import org.knowm.xchange.bleutrade.dto.account.BleutradeBalanceReturn; import org.knowm.xchange.bleutrade.dto.account.BleutradeBalancesReturn; import org.knowm.xchange.bleutrade.dto.account.BleutradeDepositAddressReturn; @@ -140,4 +140,4 @@ BleutradeResponse> withdrawHistory( @HeaderParam("apisign") ParamsDigest signature, @QueryParam("nonce") SynchronizedValueFactory nonce) throws IOException, BleutradeException; -} \ No newline at end of file +} diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeException.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeException.java index 69cb9a25e15..8733e40975e 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeException.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/BleutradeException.java @@ -30,42 +30,54 @@ public class BleutradeException extends RuntimeException { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public String getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(String success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public List getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(List result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalance.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalance.java index a95abe6408c..cef34a15070 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalance.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalance.java @@ -36,84 +36,108 @@ public class BleutradeBalance { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The Currency */ + /** + * @return The Currency + */ @JsonProperty("Currency") public String getCurrency() { return Currency; } - /** @param Currency The Currency */ + /** + * @param Currency The Currency + */ @JsonProperty("Currency") public void setCurrency(String Currency) { this.Currency = Currency; } - /** @return The Balance */ + /** + * @return The Balance + */ @JsonProperty("Balance") public BigDecimal getBalance() { return Balance; } - /** @param Balance The Balance */ + /** + * @param Balance The Balance + */ @JsonProperty("Balance") public void setBalance(BigDecimal Balance) { this.Balance = Balance; } - /** @return The Available */ + /** + * @return The Available + */ @JsonProperty("Available") public BigDecimal getAvailable() { return Available; } - /** @param Available The Available */ + /** + * @param Available The Available + */ @JsonProperty("Available") public void setAvailable(BigDecimal Available) { this.Available = Available; } - /** @return The Pending */ + /** + * @return The Pending + */ @JsonProperty("Pending") public BigDecimal getPending() { return Pending; } - /** @param Pending The Pending */ + /** + * @param Pending The Pending + */ @JsonProperty("Pending") public void setPending(BigDecimal Pending) { this.Pending = Pending; } - /** @return The CryptoAddress */ + /** + * @return The CryptoAddress + */ @JsonProperty("CryptoAddress") public String getCryptoAddress() { return CryptoAddress; } - /** @param CryptoAddress The CryptoAddress */ + /** + * @param CryptoAddress The CryptoAddress + */ @JsonProperty("CryptoAddress") public void setCryptoAddress(String CryptoAddress) { this.CryptoAddress = CryptoAddress; } - /** @return The IsActive */ + /** + * @return The IsActive + */ @JsonProperty("IsActive") public Boolean getIsActive() { return IsActive; } - /** @param IsActive The IsActive */ + /** + * @param IsActive The IsActive + */ @JsonProperty("IsActive") public void setIsActive(Boolean IsActive) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalanceReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalanceReturn.java index c8c31d66256..0b3d80ae8be 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalanceReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalanceReturn.java @@ -26,42 +26,54 @@ public class BleutradeBalanceReturn { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public BleutradeBalance getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(BleutradeBalance result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalancesReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalancesReturn.java index eb2f07cd933..eae2739f567 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalancesReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeBalancesReturn.java @@ -28,42 +28,54 @@ public class BleutradeBalancesReturn { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public List getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(List result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeDepositAddress.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeDepositAddress.java index 9507e95e4c5..92479380213 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeDepositAddress.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeDepositAddress.java @@ -23,28 +23,36 @@ public class BleutradeDepositAddress { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The Currency */ + /** + * @return The Currency + */ @JsonProperty("Currency") public String getCurrency() { return Currency; } - /** @param Currency The Currency */ + /** + * @param Currency The Currency + */ @JsonProperty("Currency") public void setCurrency(String Currency) { this.Currency = Currency; } - /** @return The Address */ + /** + * @return The Address + */ @JsonProperty("Address") public String getAddress() { return Address; } - /** @param Address The Address */ + /** + * @param Address The Address + */ @JsonProperty("Address") public void setAddress(String Address) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeDepositAddressReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeDepositAddressReturn.java index 48766cd31eb..14e7e613539 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeDepositAddressReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/account/BleutradeDepositAddressReturn.java @@ -26,42 +26,54 @@ public class BleutradeDepositAddressReturn { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public BleutradeDepositAddress getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(BleutradeDepositAddress result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeCurrenciesReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeCurrenciesReturn.java index df1221f5e84..4b5c1ad9007 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeCurrenciesReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeCurrenciesReturn.java @@ -40,42 +40,54 @@ public BleutradeCurrenciesReturn(List currencies) { success = true; } - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public List getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(List result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeCurrency.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeCurrency.java index 51dd7eb6f63..82ab32376d7 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeCurrency.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeCurrency.java @@ -36,84 +36,108 @@ public class BleutradeCurrency { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The Currency */ + /** + * @return The Currency + */ @JsonProperty("Currency") public String getCurrency() { return Currency; } - /** @param Currency The Currency */ + /** + * @param Currency The Currency + */ @JsonProperty("Currency") public void setCurrency(String Currency) { this.Currency = Currency; } - /** @return The CurrencyLong */ + /** + * @return The CurrencyLong + */ @JsonProperty("CurrencyLong") public String getCurrencyLong() { return CurrencyLong; } - /** @param CurrencyLong The CurrencyLong */ + /** + * @param CurrencyLong The CurrencyLong + */ @JsonProperty("CurrencyLong") public void setCurrencyLong(String CurrencyLong) { this.CurrencyLong = CurrencyLong; } - /** @return The MinConfirmation */ + /** + * @return The MinConfirmation + */ @JsonProperty("MinConfirmation") public Integer getMinConfirmation() { return MinConfirmation; } - /** @param MinConfirmation The MinConfirmation */ + /** + * @param MinConfirmation The MinConfirmation + */ @JsonProperty("MinConfirmation") public void setMinConfirmation(Integer MinConfirmation) { this.MinConfirmation = MinConfirmation; } - /** @return The TxFee */ + /** + * @return The TxFee + */ @JsonProperty("TxFee") public BigDecimal getTxFee() { return TxFee; } - /** @param TxFee The TxFee */ + /** + * @param TxFee The TxFee + */ @JsonProperty("TxFee") public void setTxFee(BigDecimal TxFee) { this.TxFee = TxFee; } - /** @return The IsActive */ + /** + * @return The IsActive + */ @JsonProperty("IsActive") public Boolean getIsActive() { return IsActive; } - /** @param IsActive The IsActive */ + /** + * @param IsActive The IsActive + */ @JsonProperty("IsActive") public void setIsActive(Boolean IsActive) { this.IsActive = IsActive; } - /** @return The CoinType */ + /** + * @return The CoinType + */ @JsonProperty("CoinType") public String getCoinType() { return CoinType; } - /** @param CoinType The CoinType */ + /** + * @param CoinType The CoinType + */ @JsonProperty("CoinType") public void setCoinType(String CoinType) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeLevel.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeLevel.java index b9bc46b313c..e175cecc5a5 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeLevel.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeLevel.java @@ -24,28 +24,36 @@ public class BleutradeLevel { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The Quantity */ + /** + * @return The Quantity + */ @JsonProperty("Quantity") public BigDecimal getQuantity() { return Quantity; } - /** @param Quantity The Quantity */ + /** + * @param Quantity The Quantity + */ @JsonProperty("Quantity") public void setQuantity(BigDecimal Quantity) { this.Quantity = Quantity; } - /** @return The Rate */ + /** + * @return The Rate + */ @JsonProperty("Rate") public BigDecimal getRate() { return Rate; } - /** @param Rate The Rate */ + /** + * @param Rate The Rate + */ @JsonProperty("Rate") public void setRate(BigDecimal Rate) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarket.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarket.java index b3b41f660e0..07b211a6c91 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarket.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarket.java @@ -47,98 +47,126 @@ public class BleutradeMarket { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The MarketCurrency */ + /** + * @return The MarketCurrency + */ @JsonProperty("MarketCurrency") public String getMarketCurrency() { return MarketCurrency; } - /** @param MarketCurrency The MarketCurrency */ + /** + * @param MarketCurrency The MarketCurrency + */ @JsonProperty("MarketCurrency") public void setMarketCurrency(String MarketCurrency) { this.MarketCurrency = MarketCurrency; } - /** @return The BaseCurrency */ + /** + * @return The BaseCurrency + */ @JsonProperty("BaseCurrency") public String getBaseCurrency() { return BaseCurrency; } - /** @param BaseCurrency The BaseCurrency */ + /** + * @param BaseCurrency The BaseCurrency + */ @JsonProperty("BaseCurrency") public void setBaseCurrency(String BaseCurrency) { this.BaseCurrency = BaseCurrency; } - /** @return The MarketCurrencyLong */ + /** + * @return The MarketCurrencyLong + */ @JsonProperty("MarketCurrencyLong") public String getMarketCurrencyLong() { return MarketCurrencyLong; } - /** @param MarketCurrencyLong The MarketCurrencyLong */ + /** + * @param MarketCurrencyLong The MarketCurrencyLong + */ @JsonProperty("MarketCurrencyLong") public void setMarketCurrencyLong(String MarketCurrencyLong) { this.MarketCurrencyLong = MarketCurrencyLong; } - /** @return The BaseCurrencyLong */ + /** + * @return The BaseCurrencyLong + */ @JsonProperty("BaseCurrencyLong") public String getBaseCurrencyLong() { return BaseCurrencyLong; } - /** @param BaseCurrencyLong The BaseCurrencyLong */ + /** + * @param BaseCurrencyLong The BaseCurrencyLong + */ @JsonProperty("BaseCurrencyLong") public void setBaseCurrencyLong(String BaseCurrencyLong) { this.BaseCurrencyLong = BaseCurrencyLong; } - /** @return The MinTradeSize */ + /** + * @return The MinTradeSize + */ @JsonProperty("MinTradeSize") public BigDecimal getMinTradeSize() { return MinTradeSize; } - /** @param MinTradeSize The MinTradeSize */ + /** + * @param MinTradeSize The MinTradeSize + */ @JsonProperty("MinTradeSize") public void setMinTradeSize(BigDecimal MinTradeSize) { this.MinTradeSize = MinTradeSize; } - /** @return The MarketName */ + /** + * @return The MarketName + */ @JsonProperty("MarketName") public String getMarketName() { return MarketName; } - /** @param MarketName The MarketName */ + /** + * @param MarketName The MarketName + */ @JsonProperty("MarketName") public void setMarketName(String MarketName) { this.MarketName = MarketName; } - /** @return The IsActive */ + /** + * @return The IsActive + */ @JsonProperty("IsActive") public Boolean getIsActive() { return IsActive; } - /** @param IsActive The IsActive */ + /** + * @param IsActive The IsActive + */ @JsonProperty("IsActive") public void setIsActive(Boolean IsActive) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarketHistoryReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarketHistoryReturn.java index df7ddbd2df0..dae04d4dcc5 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarketHistoryReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarketHistoryReturn.java @@ -28,42 +28,54 @@ public class BleutradeMarketHistoryReturn { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public List getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(List result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarketsReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarketsReturn.java index 49456d359c8..556345ffbf4 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarketsReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeMarketsReturn.java @@ -40,42 +40,54 @@ public BleutradeMarketsReturn(List markets) { success = true; } - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public List getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(List result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeOrderBook.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeOrderBook.java index c0b2aa8c614..13c4b9b2fe7 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeOrderBook.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeOrderBook.java @@ -25,28 +25,36 @@ public class BleutradeOrderBook { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The buy */ + /** + * @return The buy + */ @JsonProperty("buy") public List getBuy() { return buy; } - /** @param buy The buy */ + /** + * @param buy The buy + */ @JsonProperty("buy") public void setBuy(List buy) { this.buy = buy; } - /** @return The sell */ + /** + * @return The sell + */ @JsonProperty("sell") public List getSell() { return sell; } - /** @param sell The sell */ + /** + * @param sell The sell + */ @JsonProperty("sell") public void setSell(List sell) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeOrderBookReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeOrderBookReturn.java index db3873c8785..2fc7f8773f8 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeOrderBookReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeOrderBookReturn.java @@ -26,42 +26,54 @@ public class BleutradeOrderBookReturn { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public BleutradeOrderBook getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(BleutradeOrderBook result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTicker.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTicker.java index 8327c3744b7..d9853b127e7 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTicker.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTicker.java @@ -67,168 +67,216 @@ public class BleutradeTicker { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The MarketName */ + /** + * @return The MarketName + */ @JsonProperty("MarketName") public String getMarketName() { return MarketName; } - /** @param MarketName The MarketName */ + /** + * @param MarketName The MarketName + */ @JsonProperty("MarketName") public void setMarketName(String MarketName) { this.MarketName = MarketName; } - /** @return The PrevDay */ + /** + * @return The PrevDay + */ @JsonProperty("PrevDay") public BigDecimal getPrevDay() { return PrevDay; } - /** @param PrevDay The PrevDay */ + /** + * @param PrevDay The PrevDay + */ @JsonProperty("PrevDay") public void setPrevDay(BigDecimal PrevDay) { this.PrevDay = PrevDay; } - /** @return The High */ + /** + * @return The High + */ @JsonProperty("High") public BigDecimal getHigh() { return High; } - /** @param High The High */ + /** + * @param High The High + */ @JsonProperty("High") public void setHigh(BigDecimal High) { this.High = High; } - /** @return The Low */ + /** + * @return The Low + */ @JsonProperty("Low") public BigDecimal getLow() { return Low; } - /** @param Low The Low */ + /** + * @param Low The Low + */ @JsonProperty("Low") public void setLow(BigDecimal Low) { this.Low = Low; } - /** @return The Last */ + /** + * @return The Last + */ @JsonProperty("Last") public BigDecimal getLast() { return Last; } - /** @param Last The Last */ + /** + * @param Last The Last + */ @JsonProperty("Last") public void setLast(BigDecimal Last) { this.Last = Last; } - /** @return The Average */ + /** + * @return The Average + */ @JsonProperty("Average") public BigDecimal getAverage() { return Average; } - /** @param Average The Average */ + /** + * @param Average The Average + */ @JsonProperty("Average") public void setAverage(BigDecimal Average) { this.Average = Average; } - /** @return The Volume */ + /** + * @return The Volume + */ @JsonProperty("Volume") public BigDecimal getVolume() { return Volume; } - /** @param Volume The Volume */ + /** + * @param Volume The Volume + */ @JsonProperty("Volume") public void setVolume(BigDecimal Volume) { this.Volume = Volume; } - /** @return The BaseVolume */ + /** + * @return The BaseVolume + */ @JsonProperty("BaseVolume") public BigDecimal getBaseVolume() { return BaseVolume; } - /** @param BaseVolume The BaseVolume */ + /** + * @param BaseVolume The BaseVolume + */ @JsonProperty("BaseVolume") public void setBaseVolume(BigDecimal BaseVolume) { this.BaseVolume = BaseVolume; } - /** @return The TimeStamp */ + /** + * @return The TimeStamp + */ @JsonProperty("TimeStamp") public String getTimeStamp() { return TimeStamp; } - /** @param TimeStamp The TimeStamp */ + /** + * @param TimeStamp The TimeStamp + */ @JsonProperty("TimeStamp") public void setTimeStamp(String TimeStamp) { this.TimeStamp = TimeStamp; } - /** @return The Bid */ + /** + * @return The Bid + */ @JsonProperty("Bid") public BigDecimal getBid() { return Bid; } - /** @param Bid The Bid */ + /** + * @param Bid The Bid + */ @JsonProperty("Bid") public void setBid(BigDecimal Bid) { this.Bid = Bid; } - /** @return The Ask */ + /** + * @return The Ask + */ @JsonProperty("Ask") public BigDecimal getAsk() { return Ask; } - /** @param Ask The Ask */ + /** + * @param Ask The Ask + */ @JsonProperty("Ask") public void setAsk(BigDecimal Ask) { this.Ask = Ask; } - /** @return The IsActive */ + /** + * @return The IsActive + */ @JsonProperty("IsActive") public Boolean getIsActive() { return IsActive; } - /** @param IsActive The IsActive */ + /** + * @param IsActive The IsActive + */ @JsonProperty("IsActive") public void setIsActive(Boolean IsActive) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTickerReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTickerReturn.java index 0809ebb3da3..3ae07f58997 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTickerReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTickerReturn.java @@ -28,42 +28,54 @@ public class BleutradeTickerReturn { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public List getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(List result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTrade.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTrade.java index dfc6593ab6e..97efcbac679 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTrade.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/marketdata/BleutradeTrade.java @@ -33,70 +33,90 @@ public class BleutradeTrade { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The TimeStamp */ + /** + * @return The TimeStamp + */ @JsonProperty("TimeStamp") public String getTimeStamp() { return TimeStamp; } - /** @param TimeStamp The TimeStamp */ + /** + * @param TimeStamp The TimeStamp + */ @JsonProperty("TimeStamp") public void setTimeStamp(String TimeStamp) { this.TimeStamp = TimeStamp; } - /** @return The Quantity */ + /** + * @return The Quantity + */ @JsonProperty("Quantity") public BigDecimal getQuantity() { return Quantity; } - /** @param Quantity The Quantity */ + /** + * @param Quantity The Quantity + */ @JsonProperty("Quantity") public void setQuantity(BigDecimal Quantity) { this.Quantity = Quantity; } - /** @return The Price */ + /** + * @return The Price + */ @JsonProperty("Price") public BigDecimal getPrice() { return Price; } - /** @param Price The Price */ + /** + * @param Price The Price + */ @JsonProperty("Price") public void setPrice(BigDecimal Price) { this.Price = Price; } - /** @return The Total */ + /** + * @return The Total + */ @JsonProperty("Total") public BigDecimal getTotal() { return Total; } - /** @param Total The Total */ + /** + * @param Total The Total + */ @JsonProperty("Total") public void setTotal(BigDecimal Total) { this.Total = Total; } - /** @return The OrderType */ + /** + * @return The OrderType + */ @JsonProperty("OrderType") public String getOrderType() { return OrderType; } - /** @param OrderType The OrderType */ + /** + * @param OrderType The OrderType + */ @JsonProperty("OrderType") public void setOrderType(String OrderType) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeCancelOrderReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeCancelOrderReturn.java index b35c9feee96..05ba05b666a 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeCancelOrderReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeCancelOrderReturn.java @@ -27,42 +27,54 @@ public class BleutradeCancelOrderReturn { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public List getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(List result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOpenOrder.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOpenOrder.java index b848218d4ce..9c2d2314db1 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOpenOrder.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOpenOrder.java @@ -59,140 +59,180 @@ public class BleutradeOpenOrder { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The OrderId */ + /** + * @return The OrderId + */ @JsonProperty("OrderId") public String getOrderId() { return OrderId; } - /** @param OrderId The OrderId */ + /** + * @param OrderId The OrderId + */ @JsonProperty("OrderId") public void setOrderId(String OrderId) { this.OrderId = OrderId; } - /** @return The Exchange */ + /** + * @return The Exchange + */ @JsonProperty("Exchange") public String getExchange() { return Exchange; } - /** @param Exchange The Exchange */ + /** + * @param Exchange The Exchange + */ @JsonProperty("Exchange") public void setExchange(String Exchange) { this.Exchange = Exchange; } - /** @return The Type */ + /** + * @return The Type + */ @JsonProperty("Type") public String getType() { return Type; } - /** @param Type The Type */ + /** + * @param Type The Type + */ @JsonProperty("Type") public void setType(String Type) { this.Type = Type; } - /** @return The Quantity */ + /** + * @return The Quantity + */ @JsonProperty("Quantity") public BigDecimal getQuantity() { return Quantity; } - /** @param Quantity The Quantity */ + /** + * @param Quantity The Quantity + */ @JsonProperty("Quantity") public void setQuantity(BigDecimal Quantity) { this.Quantity = Quantity; } - /** @return The QuantityRemaining */ + /** + * @return The QuantityRemaining + */ @JsonProperty("QuantityRemaining") public BigDecimal getQuantityRemaining() { return QuantityRemaining; } - /** @param QuantityRemaining The QuantityRemaining */ + /** + * @param QuantityRemaining The QuantityRemaining + */ @JsonProperty("QuantityRemaining") public void setQuantityRemaining(BigDecimal QuantityRemaining) { this.QuantityRemaining = QuantityRemaining; } - /** @return The QuantityBaseTraded */ + /** + * @return The QuantityBaseTraded + */ @JsonProperty("QuantityBaseTraded") public String getQuantityBaseTraded() { return QuantityBaseTraded; } - /** @param QuantityBaseTraded The QuantityBaseTraded */ + /** + * @param QuantityBaseTraded The QuantityBaseTraded + */ @JsonProperty("QuantityBaseTraded") public void setQuantityBaseTraded(String QuantityBaseTraded) { this.QuantityBaseTraded = QuantityBaseTraded; } - /** @return The Price */ + /** + * @return The Price + */ @JsonProperty("Price") public BigDecimal getPrice() { return Price; } - /** @param Price The Price */ + /** + * @param Price The Price + */ @JsonProperty("Price") public void setPrice(BigDecimal Price) { this.Price = Price; } - /** @return The Status */ + /** + * @return The Status + */ @JsonProperty("Status") public String getStatus() { return Status; } - /** @param Status The Status */ + /** + * @param Status The Status + */ @JsonProperty("Status") public void setStatus(String Status) { this.Status = Status; } - /** @return The Created */ + /** + * @return The Created + */ @JsonProperty("Created") public String getCreated() { return Created; } - /** @param Created The Created */ + /** + * @param Created The Created + */ @JsonProperty("Created") public void setCreated(String Created) { this.Created = Created; } - /** @return The Comments */ + /** + * @return The Comments + */ @JsonProperty("Comments") public String getComments() { return Comments; } - /** @param Comments The Comments */ + /** + * @param Comments The Comments + */ @JsonProperty("Comments") public void setComments(String Comments) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOpenOrdersReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOpenOrdersReturn.java index 880ca35af6d..dc8b27bd5ca 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOpenOrdersReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOpenOrdersReturn.java @@ -28,42 +28,54 @@ public class BleutradeOpenOrdersReturn { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public List getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(List result) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOrderId.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOrderId.java index abd6ce72faa..934f0700df1 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOrderId.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradeOrderId.java @@ -20,14 +20,18 @@ public class BleutradeOrderId { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The orderid */ + /** + * @return The orderid + */ @JsonProperty("orderid") public String getOrderid() { return orderid; } - /** @param orderid The orderid */ + /** + * @param orderid The orderid + */ @JsonProperty("orderid") public void setOrderid(String orderid) { diff --git a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradePlaceOrderReturn.java b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradePlaceOrderReturn.java index 18cac7b7c8d..92a42f65318 100644 --- a/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradePlaceOrderReturn.java +++ b/xchange-bleutrade/src/main/java/org/knowm/xchange/bleutrade/dto/trade/BleutradePlaceOrderReturn.java @@ -26,42 +26,54 @@ public class BleutradePlaceOrderReturn { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The success */ + /** + * @return The success + */ @JsonProperty("success") public Boolean getSuccess() { return success; } - /** @param success The success */ + /** + * @param success The success + */ @JsonProperty("success") public void setSuccess(Boolean success) { this.success = success; } - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { this.message = message; } - /** @return The result */ + /** + * @return The result + */ @JsonProperty("result") public BleutradeOrderId getResult() { return result; } - /** @param result The result */ + /** + * @param result The result + */ @JsonProperty("result") public void setResult(BleutradeOrderId result) { diff --git a/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/BleutradeAssert.java b/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/BleutradeAssert.java index 7b021af2dc3..54aa25adba1 100644 --- a/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/BleutradeAssert.java +++ b/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/BleutradeAssert.java @@ -68,9 +68,11 @@ public static void assertEquals(Ticker o1, Ticker o2) { } public static void assertEquals(InstrumentMetaData o1, InstrumentMetaData o2) { - assertThat(o1.getMinimumAmount().stripTrailingZeros()).isEqualTo(o2.getMinimumAmount().stripTrailingZeros()); + assertThat(o1.getMinimumAmount().stripTrailingZeros()) + .isEqualTo(o2.getMinimumAmount().stripTrailingZeros()); assertThat(o1.getPriceScale()).isEqualTo(o2.getPriceScale()); - assertThat(o1.getTradingFee().stripTrailingZeros()).isEqualTo(o2.getTradingFee().stripTrailingZeros()); + assertThat(o1.getTradingFee().stripTrailingZeros()) + .isEqualTo(o2.getTradingFee().stripTrailingZeros()); } public static void assertEquals(BleutradeCurrency o1, BleutradeCurrency o2) { diff --git a/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/BleutradeTestData.java b/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/BleutradeTestData.java index c9ff37cd172..5927df19ceb 100644 --- a/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/BleutradeTestData.java +++ b/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/BleutradeTestData.java @@ -16,7 +16,8 @@ public class BleutradeTestData { protected static final CurrencyPair BLEU_BTC_CP = new CurrencyPair("BLEU", "BTC"); - protected static final InstrumentMetaData INSTRUMENT_META_DATA = new InstrumentMetaData.Builder() + protected static final InstrumentMetaData INSTRUMENT_META_DATA = + new InstrumentMetaData.Builder() .tradingFee(new BigDecimal("0.0025")) .minimumAmount(BigDecimal.valueOf(0.1).stripTrailingZeros()) .volumeScale(8) @@ -180,16 +181,10 @@ protected static Ticker expectedTicker() { } protected static InstrumentMetaData[] expectedMetaDataList() { - return new InstrumentMetaData[] { - INSTRUMENT_META_DATA, - INSTRUMENT_META_DATA - }; + return new InstrumentMetaData[] {INSTRUMENT_META_DATA, INSTRUMENT_META_DATA}; } protected static String[] expectedMetaDataStr() { - return new String[] { - INSTRUMENT_META_DATA.toString(), - INSTRUMENT_META_DATA.toString() - }; + return new String[] {INSTRUMENT_META_DATA.toString(), INSTRUMENT_META_DATA.toString()}; } } diff --git a/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/service/BleutradeDigestTest.java b/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/service/BleutradeDigestTest.java index 36d3047d8f3..fe61650a9e6 100644 --- a/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/service/BleutradeDigestTest.java +++ b/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/service/BleutradeDigestTest.java @@ -55,4 +55,4 @@ public void shouldEncodeRestInvocation() throws Exception { // then assertThat(encoded).isEqualTo(expected); } -} \ No newline at end of file +} diff --git a/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/service/marketdata/TickerFetchIntegration.java b/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/service/marketdata/TickerFetchIntegration.java index e3bc618c5ee..db353bd7718 100644 --- a/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/service/marketdata/TickerFetchIntegration.java +++ b/xchange-bleutrade/src/test/java/org/knowm/xchange/bleutrade/service/marketdata/TickerFetchIntegration.java @@ -12,7 +12,9 @@ import org.knowm.xchange.service.marketdata.MarketDataService; import org.knowm.xchange.utils.CertHelper; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/Blockchain.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/Blockchain.java index ca69135c72b..45cfcc15b91 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/Blockchain.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/Blockchain.java @@ -1,9 +1,5 @@ package org.knowm.xchange.blockchain; -import org.knowm.xchange.blockchain.dto.BlockchainException; -import org.knowm.xchange.blockchain.dto.account.BlockchainSymbol; -import org.knowm.xchange.blockchain.dto.marketdata.BlockchainOrderBook; - import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; @@ -11,6 +7,9 @@ import jakarta.ws.rs.core.MediaType; import java.io.IOException; import java.util.Map; +import org.knowm.xchange.blockchain.dto.BlockchainException; +import org.knowm.xchange.blockchain.dto.account.BlockchainSymbol; +import org.knowm.xchange.blockchain.dto.marketdata.BlockchainOrderBook; /** * @author scuevas @@ -20,24 +19,25 @@ @Produces(MediaType.APPLICATION_JSON) public interface Blockchain { - /** - * Get a list of symbols - * - * @return This returns a map where the key {@link String} represents the currency symbol and the value which is an - * instance of type {@link BlockchainSymbol} - */ - @Path("/symbols") - @GET - Map getSymbols(); + /** + * Get a list of symbols + * + * @return This returns a map where the key {@link String} represents the currency symbol and the + * value which is an instance of type {@link BlockchainSymbol} + */ + @Path("/symbols") + @GET + Map getSymbols(); - /** - * Level 3 Order Book data is available through the l3 channel. Each entry in bids and asks arrays is an order, - * along with its id (id), price (px) and quantity (qty) attributes. - * - * @param symbol - * @return All individual orders without aggregation of the L3 order book. - */ - @Path("/l3/{symbol}") - @GET - BlockchainOrderBook getOrderBookL3(@PathParam("symbol") String symbol) throws IOException, BlockchainException; -} \ No newline at end of file + /** + * Level 3 Order Book data is available through the l3 channel. Each entry in bids and asks arrays + * is an order, along with its id (id), price (px) and quantity (qty) attributes. + * + * @param symbol + * @return All individual orders without aggregation of the L3 order book. + */ + @Path("/l3/{symbol}") + @GET + BlockchainOrderBook getOrderBookL3(@PathParam("symbol") String symbol) + throws IOException, BlockchainException; +} diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainAdapters.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainAdapters.java index fc4f1e11e06..aade86f5ddf 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainAdapters.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainAdapters.java @@ -1,5 +1,11 @@ package org.knowm.xchange.blockchain; +import static org.knowm.xchange.blockchain.BlockchainConstants.*; + +import java.math.BigDecimal; +import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import lombok.experimental.UtilityClass; import org.knowm.xchange.blockchain.dto.account.BlockchainDeposit; import org.knowm.xchange.blockchain.dto.account.BlockchainDeposits; @@ -22,256 +28,273 @@ import org.knowm.xchange.dto.trade.*; import org.knowm.xchange.instrument.Instrument; -import java.math.BigDecimal; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -import static org.knowm.xchange.blockchain.BlockchainConstants.*; - @UtilityClass public class BlockchainAdapters { - public static String toSymbol(CurrencyPair currencyPair) { - return String.format(CURRENCY_PAIR_SYMBOL_FORMAT, currencyPair.base.getCurrencyCode(), currencyPair.counter.getCurrencyCode()); - } - - public static CurrencyPair toCurrencyPair(Instrument instrument){ - if(instrument instanceof CurrencyPair) { - return (CurrencyPair) instrument; - } - throw new IllegalArgumentException(String.format("Unsupported instrument '%s'", instrument)); - } + public static String toSymbol(CurrencyPair currencyPair) { + return String.format( + CURRENCY_PAIR_SYMBOL_FORMAT, + currencyPair.base.getCurrencyCode(), + currencyPair.counter.getCurrencyCode()); + } - public static AddressWithTag toAddressWithTag(BlockchainDeposit blockchainDeposit){ - return new AddressWithTag(blockchainDeposit.getAddress(), null); + public static CurrencyPair toCurrencyPair(Instrument instrument) { + if (instrument instanceof CurrencyPair) { + return (CurrencyPair) instrument; } - - public static FundingRecord.Status toWithdrawStatus(String status) { - switch (status.toUpperCase()) { - case REJECTED: - case REFUNDING: - return FundingRecord.Status.CANCELLED; - case PENDING: - return FundingRecord.Status.PROCESSING; - case FAILED: - return FundingRecord.Status.FAILED; - case COMPLETED: - return FundingRecord.Status.COMPLETE; - default: - throw new RuntimeException(STATUS_INVALID + status); - } + throw new IllegalArgumentException(String.format("Unsupported instrument '%s'", instrument)); + } + + public static AddressWithTag toAddressWithTag(BlockchainDeposit blockchainDeposit) { + return new AddressWithTag(blockchainDeposit.getAddress(), null); + } + + public static FundingRecord.Status toWithdrawStatus(String status) { + switch (status.toUpperCase()) { + case REJECTED: + case REFUNDING: + return FundingRecord.Status.CANCELLED; + case PENDING: + return FundingRecord.Status.PROCESSING; + case FAILED: + return FundingRecord.Status.FAILED; + case COMPLETED: + return FundingRecord.Status.COMPLETE; + default: + throw new RuntimeException(STATUS_INVALID + status); } - public static FundingRecord.Status toDepositStatus(String status) { - switch (status.toUpperCase()) { - case REJECTED: - case UNCONFIRMED: - return FundingRecord.Status.CANCELLED; - case COMPLETED: - return FundingRecord.Status.COMPLETE; - default: - throw new RuntimeException(STATUS_INVALID + status); - } + } + + public static FundingRecord.Status toDepositStatus(String status) { + switch (status.toUpperCase()) { + case REJECTED: + case UNCONFIRMED: + return FundingRecord.Status.CANCELLED; + case COMPLETED: + return FundingRecord.Status.COMPLETE; + default: + throw new RuntimeException(STATUS_INVALID + status); } - - public static FundingRecord toFundingWithdrawal(BlockchainWithdrawal w){ - return new FundingRecord( - w.getBeneficiary(), - null, - w.getTimestamp(), - w.getCurrency(), - w.getAmount(), - w.getWithdrawalId(), - null, - FundingRecord.Type.WITHDRAWAL, - BlockchainAdapters.toWithdrawStatus(w.getState()), - null, - w.getFee(), - null); + } + + public static FundingRecord toFundingWithdrawal(BlockchainWithdrawal w) { + return new FundingRecord( + w.getBeneficiary(), + null, + w.getTimestamp(), + w.getCurrency(), + w.getAmount(), + w.getWithdrawalId(), + null, + FundingRecord.Type.WITHDRAWAL, + BlockchainAdapters.toWithdrawStatus(w.getState()), + null, + w.getFee(), + null); + } + + public static FundingRecord toFundingDeposit(BlockchainDeposits d) { + return new FundingRecord( + d.getAddress(), + null, + d.getTimestamp(), + d.getCurrency(), + d.getAmount(), + d.getDepositId(), + d.getTxHash(), + FundingRecord.Type.DEPOSIT, + BlockchainAdapters.toDepositStatus(d.getState()), + null, + null, + null); + } + + public static CurrencyPair toCurrencyPairBySymbol(BlockchainSymbol blockchainSymbol) { + Currency baseSymbol = blockchainSymbol.getBaseCurrency(); + Currency counterSymbol = blockchainSymbol.getCounterCurrency(); + return new CurrencyPair(baseSymbol, counterSymbol); + } + + public static OpenOrders toOpenOrders(List blockchainOrders) { + List limitOrders = new ArrayList<>(); + List hiddenOrders = new ArrayList<>(); + + for (BlockchainOrder blockchainOrder : blockchainOrders) { + Order.Builder builder = blockchainOrder.getOrderBuilder(); + + Order order = + builder + .orderStatus(toOrderStatus(blockchainOrder.getOrdStatus())) + .originalAmount(blockchainOrder.getCumQty().add(blockchainOrder.getLeavesQty())) + .id(Long.toString(blockchainOrder.getExOrdId())) + .timestamp(blockchainOrder.getTimestamp()) + .averagePrice(blockchainOrder.getAvgPx()) + .build(); + + if (order instanceof LimitOrder) { + limitOrders.add((LimitOrder) order); + } else { + hiddenOrders.add(order); + } } - public static FundingRecord toFundingDeposit(BlockchainDeposits d){ - return new FundingRecord( - d.getAddress(), - null, - d.getTimestamp(), - d.getCurrency(), - d.getAmount(), - d.getDepositId(), - d.getTxHash(), - FundingRecord.Type.DEPOSIT, - BlockchainAdapters.toDepositStatus(d.getState()), - null, - null, - null); + return new OpenOrders(limitOrders, hiddenOrders); + } + + public static Order toOpenOrdersById(BlockchainOrder blockchainOrder) { + Order.Builder builder = blockchainOrder.getOrderBuilder(); + + return builder + .originalAmount(blockchainOrder.getCumQty().add(blockchainOrder.getLeavesQty())) + .id(Long.toString(blockchainOrder.getExOrdId())) + .timestamp(blockchainOrder.getTimestamp()) + .averagePrice(blockchainOrder.getAvgPx()) + .cumulativeAmount(blockchainOrder.getCumQty()) + .orderStatus(toOrderStatus(blockchainOrder.getOrdStatus())) + .userReference(blockchainOrder.getClOrdId()) + .build(); + } + + public static Order.OrderStatus toOrderStatus(String status) { + switch (status.toUpperCase()) { + case OPEN: + return Order.OrderStatus.OPEN; + case REJECTED: + return Order.OrderStatus.REJECTED; + case CANCELED: + return Order.OrderStatus.CANCELED; + case FILLED: + return Order.OrderStatus.FILLED; + case PART_FILLED: + return Order.OrderStatus.PARTIALLY_FILLED; + case EXPIRED: + return Order.OrderStatus.EXPIRED; + case PENDING: + return Order.OrderStatus.PENDING_NEW; + default: + return Order.OrderStatus.UNKNOWN; } - - public static CurrencyPair toCurrencyPairBySymbol(BlockchainSymbol blockchainSymbol) { - Currency baseSymbol = blockchainSymbol.getBaseCurrency(); - Currency counterSymbol = blockchainSymbol.getCounterCurrency(); - return new CurrencyPair(baseSymbol, counterSymbol); + } + + public static BlockchainOrder toBlockchainLimitOrder(LimitOrder limitOrder) { + return BlockchainOrder.builder() + .ordType(LIMIT) + .symbol(toCurrencyPair(limitOrder.getInstrument())) + .side(getOrderType(limitOrder.getType())) + .orderQty(limitOrder.getOriginalAmount()) + .price(limitOrder.getLimitPrice()) + .clOrdId(generateClOrdId()) + .build(); + } + + public static BlockchainOrder toBlockchainMarketOrder(MarketOrder marketOrder) { + return BlockchainOrder.builder() + .ordType(MARKET) + .symbol(toCurrencyPair(marketOrder.getInstrument())) + .side(getOrderType(marketOrder.getType())) + .orderQty(marketOrder.getOriginalAmount()) + .price(marketOrder.getCumulativeAmount()) + .clOrdId(generateClOrdId()) + .build(); + } + + public static BlockchainOrder toBlockchainStopOrder(StopOrder stopOrder) { + return BlockchainOrder.builder() + .ordType(STOP) + .symbol(toCurrencyPair(stopOrder.getInstrument())) + .side(getOrderType(stopOrder.getType())) + .orderQty(stopOrder.getOriginalAmount()) + .price(stopOrder.getLimitPrice()) + .stopPx(stopOrder.getStopPrice()) + .clOrdId(generateClOrdId()) + .build(); + } + + private static String generateClOrdId() { + String uuid = UUID.randomUUID().toString(); + uuid = uuid.substring(0, 16).replace("-", ""); + return uuid; + } + + public static UserTrades toUserTrades(List blockchainTrades) { + List trades = + blockchainTrades.stream() + .map( + blockchainTrade -> + UserTrade.builder() + .type(blockchainTrade.getOrderType()) + .originalAmount(blockchainTrade.getCumQty()) + .currencyPair(blockchainTrade.getSymbol()) + .price(blockchainTrade.getPrice()) + .timestamp(blockchainTrade.getTimestamp()) + .id(Long.toString(blockchainTrade.getExOrdId())) + .orderId(blockchainTrade.getClOrdId()) + .build()) + .collect(Collectors.toList()); + Long lastId = + blockchainTrades.stream().map(BlockchainOrder::getExOrdId).max(Long::compareTo).orElse(0L); + return new UserTrades(trades, lastId, Trades.TradeSortType.SortByTimestamp); + } + + public static ExchangeMetaData adaptMetaData(Map markets) { + Map currencyPairs = new HashMap<>(); + Map currency = new HashMap<>(); + + for (Map.Entry entry : markets.entrySet()) { + CurrencyPair pair = BlockchainAdapters.toCurrencyPairBySymbol(entry.getValue()); + BigDecimal minScale = + BigDecimal.valueOf(Math.pow(10, (entry.getValue().getMinOrderSizeScale()) * -1)); + BigDecimal minAmount = entry.getValue().getMinOrderSize().multiply(minScale); + BigDecimal maxScale = + BigDecimal.valueOf(Math.pow(10, (entry.getValue().getMaxOrderSizeScale()) * -1)); + BigDecimal maxAmount = entry.getValue().getMaxOrderSize().multiply(maxScale); + InstrumentMetaData currencyPairMetaData = + new InstrumentMetaData.Builder() + .volumeScale(entry.getValue().getBaseCurrencyScale()) + .priceScale(entry.getValue().getCounterCurrencyScale()) + .minimumAmount(minAmount) + .maximumAmount(maxAmount) + .build(); + currencyPairs.put(pair, currencyPairMetaData); + currency.put( + entry.getValue().getBaseCurrency(), + new CurrencyMetaData(entry.getValue().getBaseCurrencyScale(), null)); } - public static OpenOrders toOpenOrders(List blockchainOrders){ - List limitOrders = new ArrayList<>(); - List hiddenOrders = new ArrayList<>(); - - for(BlockchainOrder blockchainOrder : blockchainOrders) { - Order.Builder builder = blockchainOrder.getOrderBuilder(); - - Order order = builder.orderStatus(toOrderStatus(blockchainOrder.getOrdStatus())) - .originalAmount(blockchainOrder.getCumQty().add(blockchainOrder.getLeavesQty())) - .id(Long.toString(blockchainOrder.getExOrdId())) - .timestamp(blockchainOrder.getTimestamp()) - .averagePrice(blockchainOrder.getAvgPx()) - .build(); - - if (order instanceof LimitOrder) { - limitOrders.add((LimitOrder) order); - } else { - hiddenOrders.add(order); - } - } - - return new OpenOrders(limitOrders, hiddenOrders); - } - - public static Order toOpenOrdersById(BlockchainOrder blockchainOrder){ - Order.Builder builder = blockchainOrder.getOrderBuilder(); - - return builder.originalAmount(blockchainOrder.getCumQty().add(blockchainOrder.getLeavesQty())) - .id(Long.toString(blockchainOrder.getExOrdId())) - .timestamp(blockchainOrder.getTimestamp()) - .averagePrice(blockchainOrder.getAvgPx()) - .cumulativeAmount(blockchainOrder.getCumQty()) - .orderStatus(toOrderStatus(blockchainOrder.getOrdStatus())) - .userReference(blockchainOrder.getClOrdId()) - .build(); - } - - public static Order.OrderStatus toOrderStatus(String status) { - switch (status.toUpperCase()) { - case OPEN: - return Order.OrderStatus.OPEN; - case REJECTED: - return Order.OrderStatus.REJECTED; - case CANCELED: - return Order.OrderStatus.CANCELED; - case FILLED: - return Order.OrderStatus.FILLED; - case PART_FILLED: - return Order.OrderStatus.PARTIALLY_FILLED; - case EXPIRED: - return Order.OrderStatus.EXPIRED; - case PENDING: - return Order.OrderStatus.PENDING_NEW; - default: - return Order.OrderStatus.UNKNOWN; - } - } - - public static BlockchainOrder toBlockchainLimitOrder(LimitOrder limitOrder){ - return BlockchainOrder.builder() - .ordType(LIMIT) - .symbol(toCurrencyPair(limitOrder.getInstrument())) - .side(getOrderType(limitOrder.getType())) - .orderQty(limitOrder.getOriginalAmount()) - .price(limitOrder.getLimitPrice()) - .clOrdId(generateClOrdId()) - .build(); - } - - public static BlockchainOrder toBlockchainMarketOrder(MarketOrder marketOrder){ - return BlockchainOrder.builder() - .ordType(MARKET) - .symbol(toCurrencyPair(marketOrder.getInstrument())) - .side(getOrderType(marketOrder.getType())) - .orderQty(marketOrder.getOriginalAmount()) - .price(marketOrder.getCumulativeAmount()) - .clOrdId(generateClOrdId()) - .build(); - } - - public static BlockchainOrder toBlockchainStopOrder(StopOrder stopOrder){ - return BlockchainOrder.builder() - .ordType(STOP) - .symbol(toCurrencyPair(stopOrder.getInstrument())) - .side(getOrderType(stopOrder.getType())) - .orderQty(stopOrder.getOriginalAmount()) - .price(stopOrder.getLimitPrice()) - .stopPx(stopOrder.getStopPrice()) - .clOrdId(generateClOrdId()) - .build(); - } - - private static String generateClOrdId() { - String uuid = UUID.randomUUID().toString(); - uuid = uuid.substring(0, 16).replace("-", ""); - return uuid; - } - - public static UserTrades toUserTrades(List blockchainTrades) { - List trades = blockchainTrades.stream() - .map(blockchainTrade -> UserTrade.builder() - .type(blockchainTrade.getOrderType()) - .originalAmount(blockchainTrade.getCumQty()) - .currencyPair(blockchainTrade.getSymbol()) - .price(blockchainTrade.getPrice()) - .timestamp(blockchainTrade.getTimestamp()) - .id(Long.toString(blockchainTrade.getExOrdId())) - .orderId(blockchainTrade.getClOrdId()) - .build() - ).collect(Collectors.toList()); - Long lastId = blockchainTrades.stream().map(BlockchainOrder::getExOrdId).max(Long::compareTo).orElse(0L); - return new UserTrades(trades, lastId, Trades.TradeSortType.SortByTimestamp); - } - - public static ExchangeMetaData adaptMetaData(Map markets) { - Map currencyPairs = new HashMap<>(); - Map currency = new HashMap<>(); - - for (Map.Entry entry : markets.entrySet()) { - CurrencyPair pair = BlockchainAdapters.toCurrencyPairBySymbol(entry.getValue()); - BigDecimal minScale = BigDecimal.valueOf(Math.pow(10, (entry.getValue().getMinOrderSizeScale())*-1)); - BigDecimal minAmount = entry.getValue().getMinOrderSize().multiply(minScale); - BigDecimal maxScale = BigDecimal.valueOf(Math.pow(10, (entry.getValue().getMaxOrderSizeScale())*-1)); - BigDecimal maxAmount = entry.getValue().getMaxOrderSize().multiply(maxScale); - InstrumentMetaData currencyPairMetaData = - new InstrumentMetaData.Builder() - .volumeScale(entry.getValue().getBaseCurrencyScale()) - .priceScale(entry.getValue().getCounterCurrencyScale()) - .minimumAmount(minAmount) - .maximumAmount(maxAmount) - .build(); - currencyPairs.put(pair, currencyPairMetaData); - currency.put(entry.getValue().getBaseCurrency(), new CurrencyMetaData(entry.getValue().getBaseCurrencyScale(),null)); - } - - RateLimit[] rateLimits = {new RateLimit(30, 1, TimeUnit.SECONDS)}; - - return new ExchangeMetaData(currencyPairs, currency, rateLimits, rateLimits, false); - } - - public static OrderBook toOrderBook(BlockchainOrderBook blockchainOrderBook) { - List asks = blockchainOrderBook.getAsks().stream() - .map(limitOrder -> toLimitOrder(limitOrder, Order.OrderType.ASK, blockchainOrderBook.getSymbol())) - .collect(Collectors.toList()); - List bids = blockchainOrderBook.getAsks().stream() - .map(limitOrder -> toLimitOrder(limitOrder, Order.OrderType.BID, blockchainOrderBook.getSymbol())) - .collect(Collectors.toList()); - - return new OrderBook(null, asks, bids); - } - - public static LimitOrder toLimitOrder(BlockchainMarketDataOrder blockchainMarketDataOrder, Order.OrderType orderType , CurrencyPair currencyPair) { - return new LimitOrder.Builder(orderType, currencyPair) - .instrument(currencyPair) - .limitPrice(blockchainMarketDataOrder.getPrice()) - .originalAmount(blockchainMarketDataOrder.getQuantity()) - .build(); - } - - public static String getOrderType(Order.OrderType type){ - return Order.OrderType.BID.equals(type)? BUY.toUpperCase() : SELL.toUpperCase(); - } + RateLimit[] rateLimits = {new RateLimit(30, 1, TimeUnit.SECONDS)}; + + return new ExchangeMetaData(currencyPairs, currency, rateLimits, rateLimits, false); + } + + public static OrderBook toOrderBook(BlockchainOrderBook blockchainOrderBook) { + List asks = + blockchainOrderBook.getAsks().stream() + .map( + limitOrder -> + toLimitOrder(limitOrder, Order.OrderType.ASK, blockchainOrderBook.getSymbol())) + .collect(Collectors.toList()); + List bids = + blockchainOrderBook.getAsks().stream() + .map( + limitOrder -> + toLimitOrder(limitOrder, Order.OrderType.BID, blockchainOrderBook.getSymbol())) + .collect(Collectors.toList()); + + return new OrderBook(null, asks, bids); + } + + public static LimitOrder toLimitOrder( + BlockchainMarketDataOrder blockchainMarketDataOrder, + Order.OrderType orderType, + CurrencyPair currencyPair) { + return new LimitOrder.Builder(orderType, currencyPair) + .instrument(currencyPair) + .limitPrice(blockchainMarketDataOrder.getPrice()) + .originalAmount(blockchainMarketDataOrder.getQuantity()) + .build(); + } + + public static String getOrderType(Order.OrderType type) { + return Order.OrderType.BID.equals(type) ? BUY.toUpperCase() : SELL.toUpperCase(); + } } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainAuthenticated.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainAuthenticated.java index 45b19bbee9a..16958f0a56f 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainAuthenticated.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainAuthenticated.java @@ -1,16 +1,14 @@ package org.knowm.xchange.blockchain; -import org.knowm.xchange.blockchain.dto.BlockchainException; -import org.knowm.xchange.blockchain.dto.account.*; -import org.knowm.xchange.blockchain.dto.trade.BlockchainOrder; -import org.knowm.xchange.blockchain.params.BlockchainWithdrawalParams; - import jakarta.ws.rs.*; import jakarta.ws.rs.core.MediaType; import java.io.IOException; import java.util.List; import java.util.Map; - +import org.knowm.xchange.blockchain.dto.BlockchainException; +import org.knowm.xchange.blockchain.dto.account.*; +import org.knowm.xchange.blockchain.dto.trade.BlockchainOrder; +import org.knowm.xchange.blockchain.params.BlockchainWithdrawalParams; /** * @see Swagger @@ -19,154 +17,160 @@ @Produces(MediaType.APPLICATION_JSON) public interface BlockchainAuthenticated extends Blockchain { - /** - * Receive current account balances - * - * @return This returns a map where the key {@link String} represents the primary data and the value which is an - * instance of type {@link BlockchainAccountInformation} is a list of account balances - */ - @Path("/accounts") - @GET - Map> getAccountInformation(); - - /** - * Request a withdrawal - * Call GET /whitelist first to retrieve the ID of the beneficiary. - * - * @return the withdrawal object created - * @throws IOException - * @throws BlockchainException - */ - @Path("/withdrawals") - @POST - @Consumes(MediaType.APPLICATION_JSON) - BlockchainWithdrawal postWithdrawFunds(BlockchainWithdrawalParams blockchainWithdrawalRequest) throws IOException, BlockchainException; - - /** - * Get a list of withdrawals - * - * @param startTime - * @param endTime - * @return list of withdrawals object - */ - @Path("/withdrawals") - @GET - List getWithdrawFunds(@QueryParam("from") Long startTime, - @QueryParam("to") Long endTime); - - /** - * Get a deposit address. Currently, only crypto currencies are supported - * - * @param symbol - * @return the deposit object according to the currency - * @throws IOException - * @throws BlockchainException - */ - @Path("/deposits/{symbol}") - @POST - BlockchainDeposit getDepositAddress(@PathParam("symbol") @FormParam("symbol") String symbol) throws IOException, BlockchainException; - - /** - * Get current fee level - * - * @return the fees of all currency pairs - */ - @Path("/fees") - @GET - BlockchainFees getFees(); - - /** - * Get a list of deposits - * - * @param startTime - * @param endTime - * @return list of deposits object - */ - @Path("/deposits") - @GET - List depositHistory(@QueryParam("from") Long startTime, - @QueryParam("to") Long endTime); - - /** - * Get a list orders - * - * @return live and historic orders, defaulting to live orders. Returns at most 100 results, use timestamp to - * paginate for further results - */ - @Path("/orders") - @GET - List getOrders(); - - /** - * Get a list orders by symbol - * - * @return live and historic orders, defaulting to live orders. Returns at most 100 results, use timestamp to - * paginate for further results - */ - @Path("/orders") - @GET - List getOrdersBySymbol(@QueryParam("symbol") String symbol) throws IOException, BlockchainException; - - /** - * Get a specific order - * - * @param orderId - * @return the order according to the orderId, 404 if not found - */ - @Path("/orders/{orderId}") - @GET - BlockchainOrder getOrder(@PathParam("orderId") String orderId) throws IOException, BlockchainException;; - - /** - * Add an order - * - * @param blockchainOrder - * @return a new order according to the provided parameters - */ - @Path("/orders") - @POST - @Consumes(MediaType.APPLICATION_JSON) - BlockchainOrder postOrder(BlockchainOrder blockchainOrder); - - /** - * Delete a specific order - * - * @param orderId - * @return status 200 if it was successfully removed or 400 if there was an error - * @throws IOException - * @throws BlockchainException - */ - @Path("/orders/{orderId}") - @DELETE - Void cancelOrder(@PathParam("orderId") String orderId) throws IOException, BlockchainException; - - /** - * Delete all open orders (of a symbol, if specified) - * - * @param symbol - * @return status 200 if it was successfully removed or 400 if there was an error - * @throws IOException - * @throws BlockchainException - */ - @Path("/orders") - @DELETE - Void cancelAllOrders(@QueryParam("symbol") String symbol) throws IOException, BlockchainException; - - /** - * Get a list of filled orders - * - * @param symbol - * @param startTime - * @param endTime - * @param limit - * @return filled orders, including partial fills. Returns at most 100 results, use timestamp to paginate for - * further results - */ - @Path("/trades") - @GET - List getTrades(@QueryParam("symbol") String symbol, - @QueryParam("from") Long startTime, - @QueryParam("to") Long endTime, - @QueryParam("limit") Integer limit) throws IOException, BlockchainException; - -} \ No newline at end of file + /** + * Receive current account balances + * + * @return This returns a map where the key {@link String} represents the primary data and the + * value which is an instance of type {@link BlockchainAccountInformation} is a list of + * account balances + */ + @Path("/accounts") + @GET + Map> getAccountInformation(); + + /** + * Request a withdrawal Call GET /whitelist first to retrieve the ID of the beneficiary. + * + * @return the withdrawal object created + * @throws IOException + * @throws BlockchainException + */ + @Path("/withdrawals") + @POST + @Consumes(MediaType.APPLICATION_JSON) + BlockchainWithdrawal postWithdrawFunds(BlockchainWithdrawalParams blockchainWithdrawalRequest) + throws IOException, BlockchainException; + + /** + * Get a list of withdrawals + * + * @param startTime + * @param endTime + * @return list of withdrawals object + */ + @Path("/withdrawals") + @GET + List getWithdrawFunds( + @QueryParam("from") Long startTime, @QueryParam("to") Long endTime); + + /** + * Get a deposit address. Currently, only crypto currencies are supported + * + * @param symbol + * @return the deposit object according to the currency + * @throws IOException + * @throws BlockchainException + */ + @Path("/deposits/{symbol}") + @POST + BlockchainDeposit getDepositAddress(@PathParam("symbol") @FormParam("symbol") String symbol) + throws IOException, BlockchainException; + + /** + * Get current fee level + * + * @return the fees of all currency pairs + */ + @Path("/fees") + @GET + BlockchainFees getFees(); + + /** + * Get a list of deposits + * + * @param startTime + * @param endTime + * @return list of deposits object + */ + @Path("/deposits") + @GET + List depositHistory( + @QueryParam("from") Long startTime, @QueryParam("to") Long endTime); + + /** + * Get a list orders + * + * @return live and historic orders, defaulting to live orders. Returns at most 100 results, use + * timestamp to paginate for further results + */ + @Path("/orders") + @GET + List getOrders(); + + /** + * Get a list orders by symbol + * + * @return live and historic orders, defaulting to live orders. Returns at most 100 results, use + * timestamp to paginate for further results + */ + @Path("/orders") + @GET + List getOrdersBySymbol(@QueryParam("symbol") String symbol) + throws IOException, BlockchainException; + + /** + * Get a specific order + * + * @param orderId + * @return the order according to the orderId, 404 if not found + */ + @Path("/orders/{orderId}") + @GET + BlockchainOrder getOrder(@PathParam("orderId") String orderId) + throws IOException, BlockchainException; + ; + + /** + * Add an order + * + * @param blockchainOrder + * @return a new order according to the provided parameters + */ + @Path("/orders") + @POST + @Consumes(MediaType.APPLICATION_JSON) + BlockchainOrder postOrder(BlockchainOrder blockchainOrder); + + /** + * Delete a specific order + * + * @param orderId + * @return status 200 if it was successfully removed or 400 if there was an error + * @throws IOException + * @throws BlockchainException + */ + @Path("/orders/{orderId}") + @DELETE + Void cancelOrder(@PathParam("orderId") String orderId) throws IOException, BlockchainException; + + /** + * Delete all open orders (of a symbol, if specified) + * + * @param symbol + * @return status 200 if it was successfully removed or 400 if there was an error + * @throws IOException + * @throws BlockchainException + */ + @Path("/orders") + @DELETE + Void cancelAllOrders(@QueryParam("symbol") String symbol) throws IOException, BlockchainException; + + /** + * Get a list of filled orders + * + * @param symbol + * @param startTime + * @param endTime + * @param limit + * @return filled orders, including partial fills. Returns at most 100 results, use timestamp to + * paginate for further results + */ + @Path("/trades") + @GET + List getTrades( + @QueryParam("symbol") String symbol, + @QueryParam("from") Long startTime, + @QueryParam("to") Long endTime, + @QueryParam("limit") Integer limit) + throws IOException, BlockchainException; +} diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainConstants.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainConstants.java index fc890d806e7..db5671d13ba 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainConstants.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainConstants.java @@ -4,45 +4,48 @@ @UtilityClass public class BlockchainConstants { - public static final String ENDPOINT_RATE_LIMIT = "endpointLimit"; - public static final String GET_DEPOSIT_ADDRESS = "getDepositAddress"; - public static final String GET_ACCOUNT_INFORMATION = "getAccountInformation"; - public static final String GET_WITHDRAWAL = "postWithdrawFunds"; - public static final String GET_FEES = "getFees"; - public static final String GET_DEPOSIT_HISTORY = "depositHistory"; - public static final String GET_WITHDRAWAL_HISTORY = "withdrawHistory"; - public static final String GET_ORDERS = "getOrders"; - public static final String GET_ORDER = "getOrder"; - public static final String POST_ORDER = "postOrder"; - public static final String CANCEL_ORDER = "cancelOrder"; - public static final String CANCEL_ALL_ORDERS = "cancelAllOrders"; - public static final String GET_SYMBOLS = "getSymbols"; - public static final String GET_TRADES = "getTrades"; - public static final String GET_ORDER_BOOK_L3 = "getOrderBookL3"; - public static final String CURRENCY_PAIR_SYMBOL_FORMAT = "%s-%s"; - public static final String X_API_TOKEN = "X-API-Token"; - public static final String XCHANGE = "XChange"; - public static final String X_API_INTEGRATION = "X_API_INTEGRATION"; - public static final String WITHDRAWAL_EXCEPTION = "Invalid WithdrawFundsParams parameter. Only DefaultWithdrawFundsParams is supported."; - public static final String EXCEPTION_MESSAGE = "Operation failed without any error message"; - public static final String FUNDING_RECORD_TYPE_UNSUPPORTED = "Invalid FundingRecord parameter. Only DefaultWithdrawFundsParams is supported."; - public static final String CURRENCY_PAIR_EXCEPTION = "Invalid TradeHistoryParams type, it should be an instance of BlockchainTradeHistoryParams"; - public static final String OPEN = "OPEN"; - public static final String REJECTED = "REJECTED"; - public static final String REFUNDING = "REFUNDING"; - public static final String PENDING = "PENDING"; - public static final String FAILED = "FAILED"; - public static final String COMPLETED = "COMPLETED"; - public static final String UNCONFIRMED = "UNCONFIRMED"; - public static final String CANCELED = "CANCELED"; - public static final String FILLED = "FILLED"; - public static final String PART_FILLED = "PART_FILLED"; - public static final String EXPIRED = "EXPIRED"; - public static final String STATUS_INVALID = "Unknown withdraw status: "; - public static final String NOT_IMPLEMENTED_YET = "Not implemented yet"; - public static final String MARKET = "MARKET"; - public static final String LIMIT = "LIMIT"; - public static final String STOP = "STOPLIMIT"; - public static final String BUY = "buy"; - public static final String SELL = "sell"; + public static final String ENDPOINT_RATE_LIMIT = "endpointLimit"; + public static final String GET_DEPOSIT_ADDRESS = "getDepositAddress"; + public static final String GET_ACCOUNT_INFORMATION = "getAccountInformation"; + public static final String GET_WITHDRAWAL = "postWithdrawFunds"; + public static final String GET_FEES = "getFees"; + public static final String GET_DEPOSIT_HISTORY = "depositHistory"; + public static final String GET_WITHDRAWAL_HISTORY = "withdrawHistory"; + public static final String GET_ORDERS = "getOrders"; + public static final String GET_ORDER = "getOrder"; + public static final String POST_ORDER = "postOrder"; + public static final String CANCEL_ORDER = "cancelOrder"; + public static final String CANCEL_ALL_ORDERS = "cancelAllOrders"; + public static final String GET_SYMBOLS = "getSymbols"; + public static final String GET_TRADES = "getTrades"; + public static final String GET_ORDER_BOOK_L3 = "getOrderBookL3"; + public static final String CURRENCY_PAIR_SYMBOL_FORMAT = "%s-%s"; + public static final String X_API_TOKEN = "X-API-Token"; + public static final String XCHANGE = "XChange"; + public static final String X_API_INTEGRATION = "X_API_INTEGRATION"; + public static final String WITHDRAWAL_EXCEPTION = + "Invalid WithdrawFundsParams parameter. Only DefaultWithdrawFundsParams is supported."; + public static final String EXCEPTION_MESSAGE = "Operation failed without any error message"; + public static final String FUNDING_RECORD_TYPE_UNSUPPORTED = + "Invalid FundingRecord parameter. Only DefaultWithdrawFundsParams is supported."; + public static final String CURRENCY_PAIR_EXCEPTION = + "Invalid TradeHistoryParams type, it should be an instance of BlockchainTradeHistoryParams"; + public static final String OPEN = "OPEN"; + public static final String REJECTED = "REJECTED"; + public static final String REFUNDING = "REFUNDING"; + public static final String PENDING = "PENDING"; + public static final String FAILED = "FAILED"; + public static final String COMPLETED = "COMPLETED"; + public static final String UNCONFIRMED = "UNCONFIRMED"; + public static final String CANCELED = "CANCELED"; + public static final String FILLED = "FILLED"; + public static final String PART_FILLED = "PART_FILLED"; + public static final String EXPIRED = "EXPIRED"; + public static final String STATUS_INVALID = "Unknown withdraw status: "; + public static final String NOT_IMPLEMENTED_YET = "Not implemented yet"; + public static final String MARKET = "MARKET"; + public static final String LIMIT = "LIMIT"; + public static final String STOP = "STOPLIMIT"; + public static final String BUY = "buy"; + public static final String SELL = "sell"; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainErrorAdapter.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainErrorAdapter.java index 1f0b311a49b..a06a773131f 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainErrorAdapter.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainErrorAdapter.java @@ -1,13 +1,15 @@ package org.knowm.xchange.blockchain; +import static org.knowm.xchange.blockchain.BlockchainConstants.EXCEPTION_MESSAGE; + import lombok.experimental.UtilityClass; import org.apache.commons.lang3.StringUtils; import org.knowm.xchange.blockchain.dto.BlockchainException; import org.knowm.xchange.exceptions.*; -import static org.knowm.xchange.blockchain.BlockchainConstants.EXCEPTION_MESSAGE; - -/** @author scuevas */ +/** + * @author scuevas + */ @UtilityClass public final class BlockchainErrorAdapter { diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainExchange.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainExchange.java index 2eb28b87236..d9f00851057 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainExchange.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainExchange.java @@ -1,5 +1,10 @@ package org.knowm.xchange.blockchain; +import static org.knowm.xchange.blockchain.BlockchainConstants.*; + +import jakarta.ws.rs.HeaderParam; +import java.io.IOException; +import java.util.Map; import org.knowm.xchange.BaseExchange; import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.blockchain.dto.account.BlockchainSymbol; @@ -13,64 +18,66 @@ import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException; import si.mazi.rescu.SynchronizedValueFactory; -import jakarta.ws.rs.HeaderParam; -import java.io.IOException; -import java.util.Map; - -import static org.knowm.xchange.blockchain.BlockchainConstants.*; - /** * @author scuevas */ public class BlockchainExchange extends BaseExchange { - protected static ResilienceRegistries RESILIENCE_REGISTRIES; + protected static ResilienceRegistries RESILIENCE_REGISTRIES; - protected BlockchainAuthenticated blockchain; + protected BlockchainAuthenticated blockchain; - @Override - protected void initServices() { - this.blockchain = ExchangeRestProxyBuilder - .forInterface(BlockchainAuthenticated.class, this.getExchangeSpecification()) - .clientConfigCustomizer(clientConfig -> { - clientConfig.addDefaultParam(HeaderParam.class, X_API_TOKEN, this.getExchangeSpecification().getSecretKey()); - clientConfig.addDefaultParam(HeaderParam.class, X_API_INTEGRATION, XCHANGE); - }).build(); + @Override + protected void initServices() { + this.blockchain = + ExchangeRestProxyBuilder.forInterface( + BlockchainAuthenticated.class, this.getExchangeSpecification()) + .clientConfigCustomizer( + clientConfig -> { + clientConfig.addDefaultParam( + HeaderParam.class, + X_API_TOKEN, + this.getExchangeSpecification().getSecretKey()); + clientConfig.addDefaultParam(HeaderParam.class, X_API_INTEGRATION, XCHANGE); + }) + .build(); - this.accountService = new BlockchainAccountService(this, this.blockchain, this.getResilienceRegistries()); - this.tradeService = new BlockchainTradeService(this, this.blockchain, this.getResilienceRegistries()); - this.marketDataService = new BlockchainMarketDataService(this, this.blockchain, this.getResilienceRegistries()); - } + this.accountService = + new BlockchainAccountService(this, this.blockchain, this.getResilienceRegistries()); + this.tradeService = + new BlockchainTradeService(this, this.blockchain, this.getResilienceRegistries()); + this.marketDataService = + new BlockchainMarketDataService(this, this.blockchain, this.getResilienceRegistries()); + } - @Override - public void remoteInit() throws IOException, ExchangeException { - BlockchainAccountServiceRaw dataService = - (BlockchainAccountServiceRaw) this.accountService; - Map markets = dataService.getSymbols(); - exchangeMetaData = BlockchainAdapters.adaptMetaData(markets); - } + @Override + public void remoteInit() throws IOException, ExchangeException { + BlockchainAccountServiceRaw dataService = (BlockchainAccountServiceRaw) this.accountService; + Map markets = dataService.getSymbols(); + exchangeMetaData = BlockchainAdapters.adaptMetaData(markets); + } - @Override - public ExchangeSpecification getDefaultExchangeSpecification() { - ExchangeSpecification exchangeSpecification = new ExchangeSpecification(this.getClass()); - exchangeSpecification.setSslUri("https://api.blockchain.com"); - exchangeSpecification.setHost("www.blockchain.com"); - exchangeSpecification.setPort(80); - exchangeSpecification.setExchangeName("Blockchain Exchange"); - exchangeSpecification.setExchangeDescription("Blockchain Exchange"); - return exchangeSpecification; - } + @Override + public ExchangeSpecification getDefaultExchangeSpecification() { + ExchangeSpecification exchangeSpecification = new ExchangeSpecification(this.getClass()); + exchangeSpecification.setSslUri("https://api.blockchain.com"); + exchangeSpecification.setHost("www.blockchain.com"); + exchangeSpecification.setPort(80); + exchangeSpecification.setExchangeName("Blockchain Exchange"); + exchangeSpecification.setExchangeDescription("Blockchain Exchange"); + return exchangeSpecification; + } - @Override - public SynchronizedValueFactory getNonceFactory() { - throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); - } + @Override + public SynchronizedValueFactory getNonceFactory() { + throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } - @Override - public ResilienceRegistries getResilienceRegistries() { - if (RESILIENCE_REGISTRIES == null) { - RESILIENCE_REGISTRIES = BlockchainResilience.getResilienceRegistries(); - } - return RESILIENCE_REGISTRIES; + @Override + public ResilienceRegistries getResilienceRegistries() { + if (RESILIENCE_REGISTRIES == null) { + RESILIENCE_REGISTRIES = BlockchainResilience.getResilienceRegistries(); } -} \ No newline at end of file + return RESILIENCE_REGISTRIES; + } +} diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainResilience.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainResilience.java index 6f17998e6f5..51c4c97e62f 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainResilience.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/BlockchainResilience.java @@ -1,28 +1,25 @@ package org.knowm.xchange.blockchain; +import static org.knowm.xchange.blockchain.BlockchainConstants.ENDPOINT_RATE_LIMIT; + import io.github.resilience4j.ratelimiter.RateLimiterConfig; +import java.time.Duration; import lombok.experimental.UtilityClass; import org.knowm.xchange.client.ResilienceRegistries; -import si.mazi.rescu.ClientConfig; - -import jakarta.ws.rs.HeaderParam; -import java.time.Duration; - -import static org.knowm.xchange.blockchain.BlockchainConstants.ENDPOINT_RATE_LIMIT; @UtilityClass public class BlockchainResilience { - public static ResilienceRegistries getResilienceRegistries(){ - ResilienceRegistries registries = new ResilienceRegistries(); - registries.rateLimiters() - .rateLimiter( - ENDPOINT_RATE_LIMIT, - RateLimiterConfig.from(registries.rateLimiters().getDefaultConfig()) - .limitRefreshPeriod(Duration.ofSeconds(1)) - .limitForPeriod(10) - .build() - ); - return registries; - } -} \ No newline at end of file + public static ResilienceRegistries getResilienceRegistries() { + ResilienceRegistries registries = new ResilienceRegistries(); + registries + .rateLimiters() + .rateLimiter( + ENDPOINT_RATE_LIMIT, + RateLimiterConfig.from(registries.rateLimiters().getDefaultConfig()) + .limitRefreshPeriod(Duration.ofSeconds(1)) + .limitForPeriod(10) + .build()); + return registries; + } +} diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/BlockchainException.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/BlockchainException.java index 18b95dd85c4..d262f4adba0 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/BlockchainException.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/BlockchainException.java @@ -1,11 +1,10 @@ package org.knowm.xchange.blockchain.dto; import com.fasterxml.jackson.annotation.JsonProperty; -import si.mazi.rescu.HttpResponseAware; -import si.mazi.rescu.HttpStatusExceptionSupport; - import java.util.List; import java.util.Map; +import si.mazi.rescu.HttpResponseAware; +import si.mazi.rescu.HttpStatusExceptionSupport; public class BlockchainException extends HttpStatusExceptionSupport implements HttpResponseAware { @@ -13,7 +12,8 @@ public class BlockchainException extends HttpStatusExceptionSupport implements H private Map> headers; - public BlockchainException(@JsonProperty("status") int status, @JsonProperty("message") String message) { + public BlockchainException( + @JsonProperty("status") int status, @JsonProperty("message") String message) { super(message); this.status = status; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainAccountInformation.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainAccountInformation.java index e8e275d3bcb..3597a58a166 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainAccountInformation.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainAccountInformation.java @@ -2,24 +2,25 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import java.math.BigDecimal; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; import org.knowm.xchange.currency.Currency; -import java.math.BigDecimal; - @Data @Builder @Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) public class BlockchainAccountInformation { - private final Currency currency; - @JsonProperty("balance") - private final BigDecimal total; - private final BigDecimal available; - private final BigDecimal balance_local; - private final BigDecimal available_local; - private final BigDecimal rate; + private final Currency currency; + + @JsonProperty("balance") + private final BigDecimal total; + + private final BigDecimal available; + private final BigDecimal balance_local; + private final BigDecimal available_local; + private final BigDecimal rate; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainDeposit.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainDeposit.java index 26fca8b0acf..50349fcdad8 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainDeposit.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainDeposit.java @@ -11,6 +11,6 @@ @JsonIgnoreProperties(ignoreUnknown = true) public class BlockchainDeposit { - private final String type; - private final String address; + private final String type; + private final String address; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainDeposits.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainDeposits.java index 0b7befe67ba..95a17289da8 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainDeposits.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainDeposits.java @@ -1,25 +1,24 @@ package org.knowm.xchange.blockchain.dto.account; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.math.BigDecimal; +import java.util.Date; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; import org.knowm.xchange.currency.Currency; -import java.math.BigDecimal; -import java.util.Date; - @Data @Builder @Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) public class BlockchainDeposits { - private final String depositId; - private final BigDecimal amount; - private final Currency currency; - private final String address; - private final String txHash; - private final String state; - private final Date timestamp; + private final String depositId; + private final BigDecimal amount; + private final Currency currency; + private final String address; + private final String txHash; + private final String state; + private final Date timestamp; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainFees.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainFees.java index 6bd499c2ed9..ce5447cc81f 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainFees.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainFees.java @@ -1,19 +1,18 @@ package org.knowm.xchange.blockchain.dto.account; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.math.BigDecimal; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; -import java.math.BigDecimal; - @Data @Builder @Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) public class BlockchainFees { - - private final BigDecimal makerRate; - private final BigDecimal takerRate; - private final BigDecimal volumeInUSD; + + private final BigDecimal makerRate; + private final BigDecimal takerRate; + private final BigDecimal volumeInUSD; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainSymbol.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainSymbol.java index cc0e41b5b2f..d78392e0817 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainSymbol.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainSymbol.java @@ -2,50 +2,65 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import java.math.BigDecimal; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; import org.knowm.xchange.currency.Currency; -import java.math.BigDecimal; - @Data @Builder @Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) public class BlockchainSymbol { - @JsonProperty("base_currency") - private final Currency baseCurrency; - @JsonProperty("base_currency_scale") - private final Integer baseCurrencyScale; - @JsonProperty("counter_currency") - private final Currency counterCurrency; - @JsonProperty("counter_currency_scale") - private final Integer counterCurrencyScale; - @JsonProperty("min_price_increment") - private final Integer minPriceIncrement; - @JsonProperty("min_price_increment_scale") - private final Integer minPriceIncrementScale; - @JsonProperty("min_order_size") - private final BigDecimal minOrderSize; - @JsonProperty("min_order_size_scale") - private final Integer minOrderSizeScale; - @JsonProperty("max_order_size") - private final BigDecimal maxOrderSize; - @JsonProperty("max_order_size_scale") - private final Integer maxOrderSizeScale; - @JsonProperty("lot_size") - private final Integer lotSize; - @JsonProperty("lot_size_scale") - private final Integer lotSizeScale; - private final String status; - private final Integer id; - @JsonProperty("auction_price") - private final Integer auctionPrice; - @JsonProperty("auction_size") - private final Integer auctionSize; - @JsonProperty("auction_time") - private final Long auctionTime; - private final Integer imbalance; + @JsonProperty("base_currency") + private final Currency baseCurrency; + + @JsonProperty("base_currency_scale") + private final Integer baseCurrencyScale; + + @JsonProperty("counter_currency") + private final Currency counterCurrency; + + @JsonProperty("counter_currency_scale") + private final Integer counterCurrencyScale; + + @JsonProperty("min_price_increment") + private final Integer minPriceIncrement; + + @JsonProperty("min_price_increment_scale") + private final Integer minPriceIncrementScale; + + @JsonProperty("min_order_size") + private final BigDecimal minOrderSize; + + @JsonProperty("min_order_size_scale") + private final Integer minOrderSizeScale; + + @JsonProperty("max_order_size") + private final BigDecimal maxOrderSize; + + @JsonProperty("max_order_size_scale") + private final Integer maxOrderSizeScale; + + @JsonProperty("lot_size") + private final Integer lotSize; + + @JsonProperty("lot_size_scale") + private final Integer lotSizeScale; + + private final String status; + private final Integer id; + + @JsonProperty("auction_price") + private final Integer auctionPrice; + + @JsonProperty("auction_size") + private final Integer auctionSize; + + @JsonProperty("auction_time") + private final Long auctionTime; + + private final Integer imbalance; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainWithdrawal.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainWithdrawal.java index df297b9854d..7f96d27bb97 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainWithdrawal.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/account/BlockchainWithdrawal.java @@ -1,25 +1,24 @@ package org.knowm.xchange.blockchain.dto.account; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.math.BigDecimal; +import java.util.Date; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; import org.knowm.xchange.currency.Currency; -import java.math.BigDecimal; -import java.util.Date; - @Data @Builder @Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) public class BlockchainWithdrawal { - private final String withdrawalId; - private final BigDecimal amount; - private final BigDecimal fee; - private final Currency currency; - private final String beneficiary; - private final String state; - private final Date timestamp; -} \ No newline at end of file + private final String withdrawalId; + private final BigDecimal amount; + private final BigDecimal fee; + private final Currency currency; + private final String beneficiary; + private final String state; + private final Date timestamp; +} diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/marketdata/BlockchainMarketDataOrder.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/marketdata/BlockchainMarketDataOrder.java index 42cc639c84f..c570b8e20b4 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/marketdata/BlockchainMarketDataOrder.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/marketdata/BlockchainMarketDataOrder.java @@ -2,21 +2,22 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; +import java.math.BigDecimal; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; -import java.math.BigDecimal; - @Data @Builder @Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) public class BlockchainMarketDataOrder { - @JsonProperty("px") - private final BigDecimal price; - @JsonProperty("qty") - private final BigDecimal quantity; - private final Long num; + @JsonProperty("px") + private final BigDecimal price; + + @JsonProperty("qty") + private final BigDecimal quantity; + + private final Long num; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/marketdata/BlockchainOrderBook.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/marketdata/BlockchainOrderBook.java index 3bd08fd8c6c..e30b02de622 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/marketdata/BlockchainOrderBook.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/marketdata/BlockchainOrderBook.java @@ -2,22 +2,22 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.util.List; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.utils.jackson.CurrencyPairDeserializer; -import java.util.List; - @Data @Builder @Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) public class BlockchainOrderBook { - @JsonDeserialize(using = CurrencyPairDeserializer.class) - private final CurrencyPair symbol; - private final List bids; - private final List asks; + @JsonDeserialize(using = CurrencyPairDeserializer.class) + private final CurrencyPair symbol; + + private final List bids; + private final List asks; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/trade/BlockchainOrder.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/trade/BlockchainOrder.java index 91ee285612b..625c49d08bd 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/trade/BlockchainOrder.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/dto/trade/BlockchainOrder.java @@ -1,10 +1,15 @@ package org.knowm.xchange.blockchain.dto.trade; +import static org.knowm.xchange.blockchain.BlockchainConstants.*; +import static org.knowm.xchange.blockchain.BlockchainConstants.BUY; + import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.math.BigDecimal; +import java.util.Date; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; @@ -16,12 +21,6 @@ import org.knowm.xchange.dto.trade.StopOrder; import org.knowm.xchange.utils.jackson.CurrencyPairDeserializer; -import java.math.BigDecimal; -import java.util.Date; - -import static org.knowm.xchange.blockchain.BlockchainConstants.*; -import static org.knowm.xchange.blockchain.BlockchainConstants.BUY; - @Data @Builder @Jacksonized @@ -29,59 +28,59 @@ @JsonInclude(JsonInclude.Include.NON_NULL) public class BlockchainOrder { - @JsonSerialize(using = BlockchainCurrencyPairSerializer.class) - @JsonDeserialize(using = CurrencyPairDeserializer.class) - private final CurrencyPair symbol; - private final Long exOrdId; - private final String clOrdId; - private final String ordType; - private final String ordStatus; - private final BigDecimal orderQty; - private final String side; - private final String text; - private final BigDecimal price; - private final BigDecimal lastShares; - private final BigDecimal lastPx; - private final BigDecimal leavesQty; - private final BigDecimal cumQty; - private final BigDecimal avgPx; - private final BigDecimal stopPx; - private final Date timestamp; + @JsonSerialize(using = BlockchainCurrencyPairSerializer.class) + @JsonDeserialize(using = CurrencyPairDeserializer.class) + private final CurrencyPair symbol; - @JsonIgnore - public boolean isMarketOrder() { - return MARKET.equals(ordType); - } + private final Long exOrdId; + private final String clOrdId; + private final String ordType; + private final String ordStatus; + private final BigDecimal orderQty; + private final String side; + private final String text; + private final BigDecimal price; + private final BigDecimal lastShares; + private final BigDecimal lastPx; + private final BigDecimal leavesQty; + private final BigDecimal cumQty; + private final BigDecimal avgPx; + private final BigDecimal stopPx; + private final Date timestamp; - @JsonIgnore - public boolean isLimitOrder() { - return LIMIT.equals(ordType); - } + @JsonIgnore + public boolean isMarketOrder() { + return MARKET.equals(ordType); + } - @JsonIgnore - public boolean isBuyer() { - return BUY.equals(this.side.toUpperCase()); - } + @JsonIgnore + public boolean isLimitOrder() { + return LIMIT.equals(ordType); + } - @JsonIgnore - public Order.OrderType getOrderType(){ - return isBuyer() ? Order.OrderType.BID : Order.OrderType.ASK; - } + @JsonIgnore + public boolean isBuyer() { + return BUY.equals(this.side.toUpperCase()); + } - @JsonIgnore - public Order.Builder getOrderBuilder(){ - final CurrencyPair symbol = this.getSymbol(); - Order.Builder builder; + @JsonIgnore + public Order.OrderType getOrderType() { + return isBuyer() ? Order.OrderType.BID : Order.OrderType.ASK; + } - if (this.isMarketOrder()) { - builder = new MarketOrder.Builder(getOrderType(), symbol); - } else if (this.isLimitOrder()){ - builder = new LimitOrder.Builder(getOrderType(), symbol).limitPrice(this.getPrice()); - } else { - builder = new StopOrder.Builder(getOrderType(), symbol).stopPrice(this.getPrice()); - } + @JsonIgnore + public Order.Builder getOrderBuilder() { + final CurrencyPair symbol = this.getSymbol(); + Order.Builder builder; - return builder; + if (this.isMarketOrder()) { + builder = new MarketOrder.Builder(getOrderType(), symbol); + } else if (this.isLimitOrder()) { + builder = new LimitOrder.Builder(getOrderType(), symbol).limitPrice(this.getPrice()); + } else { + builder = new StopOrder.Builder(getOrderType(), symbol).stopPrice(this.getPrice()); } + return builder; + } } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainFundingHistoryParams.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainFundingHistoryParams.java index c4397149458..41dd92aa0b0 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainFundingHistoryParams.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainFundingHistoryParams.java @@ -1,5 +1,6 @@ package org.knowm.xchange.blockchain.params; +import java.util.Date; import lombok.Builder; import lombok.Data; import org.knowm.xchange.currency.Currency; @@ -8,7 +9,6 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamCurrency; import org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan; -import java.util.Date; @Data @Builder public class BlockchainFundingHistoryParams diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainTradeHistoryParams.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainTradeHistoryParams.java index af07b9cad1a..f60d5ea55b5 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainTradeHistoryParams.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainTradeHistoryParams.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; +import java.util.Date; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; @@ -9,7 +10,6 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamCurrencyPair; import org.knowm.xchange.service.trade.params.TradeHistoryParamLimit; import org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan; -import java.util.Date; @Data @Builder @@ -17,10 +17,10 @@ @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class BlockchainTradeHistoryParams - implements TradeHistoryParamCurrencyPair, TradeHistoryParamLimit, TradeHistoryParamsTimeSpan { + implements TradeHistoryParamCurrencyPair, TradeHistoryParamLimit, TradeHistoryParamsTimeSpan { - private CurrencyPair currencyPair; - private Integer limit; - private Date startTime; - private Date endTime; + private CurrencyPair currencyPair; + private Integer limit; + private Date startTime; + private Date endTime; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainWithdrawalParams.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainWithdrawalParams.java index 62665c0ec76..ac02d61efb3 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainWithdrawalParams.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/params/BlockchainWithdrawalParams.java @@ -1,31 +1,33 @@ package org.knowm.xchange.blockchain.params; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.math.BigDecimal; import lombok.Builder; import lombok.Data; import lombok.extern.jackson.Jacksonized; import org.knowm.xchange.currency.Currency; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -import java.math.BigDecimal; - @Data @Builder(toBuilder = true) @Jacksonized @JsonIgnoreProperties(ignoreUnknown = true) public class BlockchainWithdrawalParams implements WithdrawFundsParams { - /** - * UUID representing a whitelist address that is indicated in the whitelistId field. - * Whitelist addresses can be managed in Blockchain Exchange UI. - * To obtain the UUIDs of the whitelist addresses, call this endpoint: - * @see getWhitelist - */ - public final String beneficiary; - public final Currency currency; - public final BigDecimal amount; - /** - * if this is set to true, the amount will be ignored and a withdrawal of all funds will be made - */ - public final Boolean sendMax; + /** + * UUID representing a whitelist address that is indicated in the whitelistId field. Whitelist + * addresses can be managed in Blockchain Exchange UI. To obtain the UUIDs of the whitelist + * addresses, call this endpoint: + * + * @see getWhitelist + */ + public final String beneficiary; + + public final Currency currency; + public final BigDecimal amount; + + /** + * if this is set to true, the amount will be ignored and a withdrawal of all funds will be made + */ + public final Boolean sendMax; } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/serializer/BlockchainCurrencyPairSerializer.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/serializer/BlockchainCurrencyPairSerializer.java index 81ae9a66c41..0fbcb29e9e6 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/serializer/BlockchainCurrencyPairSerializer.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/serializer/BlockchainCurrencyPairSerializer.java @@ -3,15 +3,16 @@ import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; +import java.io.IOException; import org.knowm.xchange.blockchain.BlockchainAdapters; import org.knowm.xchange.currency.CurrencyPair; -import java.io.IOException; - -public class BlockchainCurrencyPairSerializer extends JsonSerializer { +public class BlockchainCurrencyPairSerializer extends JsonSerializer { - @Override - public void serialize(CurrencyPair currencyPair, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { - jsonGenerator.writeString(BlockchainAdapters.toSymbol(currencyPair)); - } + @Override + public void serialize( + CurrencyPair currencyPair, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) + throws IOException { + jsonGenerator.writeString(BlockchainAdapters.toSymbol(currencyPair)); + } } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainAccountService.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainAccountService.java index 6ec171394dc..36f70dc2440 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainAccountService.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainAccountService.java @@ -1,5 +1,14 @@ package org.knowm.xchange.blockchain.service; +import static org.knowm.xchange.blockchain.BlockchainConstants.*; + +import java.io.IOException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import org.knowm.xchange.blockchain.BlockchainAdapters; import org.knowm.xchange.blockchain.BlockchainAuthenticated; import org.knowm.xchange.blockchain.BlockchainErrorAdapter; @@ -18,149 +27,139 @@ import org.knowm.xchange.service.account.AccountService; import org.knowm.xchange.service.trade.params.*; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import static org.knowm.xchange.blockchain.BlockchainConstants.*; - -public class BlockchainAccountService extends BlockchainAccountServiceRaw implements AccountService { - - public BlockchainAccountService(BlockchainExchange exchange, BlockchainAuthenticated blockchainApi, ResilienceRegistries resilienceRegistries) { - super(exchange, blockchainApi, resilienceRegistries); +public class BlockchainAccountService extends BlockchainAccountServiceRaw + implements AccountService { + + public BlockchainAccountService( + BlockchainExchange exchange, + BlockchainAuthenticated blockchainApi, + ResilienceRegistries resilienceRegistries) { + super(exchange, blockchainApi, resilienceRegistries); + } + + @Override + public AccountInfo getAccountInfo() throws IOException { + try { + + Map> account = this.getAccountInformation(); + List wallets = new ArrayList<>(); + + for (Map.Entry> entry : account.entrySet()) { + List balances = + entry.getValue().stream() + .map(bal -> new Balance(bal.getCurrency(), bal.getTotal(), bal.getAvailable())) + .collect(Collectors.toList()); + wallets.add(Wallet.Builder.from(balances).id(entry.getKey()).build()); + } + return new AccountInfo(wallets); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); } - - @Override - public AccountInfo getAccountInfo() throws IOException { - try { - - Map> account = this.getAccountInformation(); - List wallets = new ArrayList<>(); - - for (Map.Entry> entry : account.entrySet()) { - List balances = entry.getValue().stream().map(bal -> new Balance(bal.getCurrency(), - bal.getTotal(), - bal.getAvailable())) - .collect(Collectors.toList()); - wallets.add(Wallet.Builder.from(balances).id(entry.getKey()).build()); - } - return new AccountInfo(wallets); - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); + } + + /** Use {@link String withdrawFunds(WithdrawFundsParams params)} instead */ + @Override + public String withdrawFunds(Currency currency, BigDecimal amount, String address) + throws IOException { + throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } + + /** Use {@link String withdrawFunds(WithdrawFundsParams params)} instead */ + @Override + public String withdrawFunds(Currency currency, BigDecimal amount, AddressWithTag address) + throws IOException { + throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } + + /** For more information see {@link WithdrawFundsParams} */ + @Override + public String withdrawFunds(WithdrawFundsParams params) throws IOException { + try { + if (params instanceof BlockchainWithdrawalParams) { + BlockchainWithdrawalParams defaultParams = (BlockchainWithdrawalParams) params; + if (defaultParams.getSendMax()) { + defaultParams = defaultParams.toBuilder().amount(null).build(); } - } + return this.postWithdrawFunds(defaultParams).getWithdrawalId(); + } - /** - * Use {@link String withdrawFunds(WithdrawFundsParams params)} instead - */ - @Override - public String withdrawFunds(Currency currency, BigDecimal amount, String address) throws IOException { - throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + throw new IllegalStateException(WITHDRAWAL_EXCEPTION); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); } - - /** - * Use {@link String withdrawFunds(WithdrawFundsParams params)} instead - */ - @Override - public String withdrawFunds(Currency currency, BigDecimal amount, AddressWithTag address) throws IOException { - throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } + + @Override + public String requestDepositAddress(Currency currency, String... args) throws IOException { + try { + return this.getDepositAddress(currency).getAddress(); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); } - - /** - * For more information see {@link WithdrawFundsParams} - */ - @Override - public String withdrawFunds(WithdrawFundsParams params) throws IOException { - try{ - if (params instanceof BlockchainWithdrawalParams) { - BlockchainWithdrawalParams defaultParams = (BlockchainWithdrawalParams) params; - if (defaultParams.getSendMax()){ - defaultParams = defaultParams.toBuilder() - .amount(null) - .build(); - } - return this.postWithdrawFunds(defaultParams).getWithdrawalId(); - } - - throw new IllegalStateException(WITHDRAWAL_EXCEPTION); - } catch(BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); + } + + @Override + public AddressWithTag requestDepositAddressData(Currency currency, String... args) + throws IOException { + return BlockchainAdapters.toAddressWithTag(this.getDepositAddress(currency)); + } + + @Override + public TradeHistoryParams createFundingHistoryParams() { + return BlockchainFundingHistoryParams.builder().build(); + } + + @Override + public List getFundingHistory(TradeHistoryParams params) throws IOException { + try { + Long startTime = null; + Long endTime = null; + FundingRecord.Type historyParamsFundingType = ((HistoryParamsFundingType) params).getType(); + + if (params instanceof TradeHistoryParamsTimeSpan) { + TradeHistoryParamsTimeSpan tp = (TradeHistoryParamsTimeSpan) params; + if (tp.getStartTime() != null) { + startTime = tp.getStartTime().getTime(); } - } - - @Override - public String requestDepositAddress(Currency currency, String... args) throws IOException { - try { - return this.getDepositAddress(currency).getAddress(); - } catch(BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); + if (tp.getEndTime() != null) { + endTime = tp.getEndTime().getTime(); } - } - - @Override - public AddressWithTag requestDepositAddressData(Currency currency, String... args) throws IOException { - return BlockchainAdapters.toAddressWithTag(this.getDepositAddress(currency)); - } - - @Override - public TradeHistoryParams createFundingHistoryParams() { - return BlockchainFundingHistoryParams.builder().build(); - } - - @Override - public List getFundingHistory(TradeHistoryParams params) throws IOException { - try { - Long startTime = null; - Long endTime = null; - FundingRecord.Type historyParamsFundingType = ((HistoryParamsFundingType) params).getType(); - - if (params instanceof TradeHistoryParamsTimeSpan) { - TradeHistoryParamsTimeSpan tp = (TradeHistoryParamsTimeSpan) params; - if (tp.getStartTime() != null) { - startTime = tp.getStartTime().getTime(); - } - if (tp.getEndTime() != null) { - endTime = tp.getEndTime().getTime(); - } - } - - List result = new ArrayList<>(); - if (historyParamsFundingType != null) { - switch (historyParamsFundingType) { - case WITHDRAWAL: - this.withdrawHistory(startTime, endTime) - .forEach(w -> result.add(BlockchainAdapters.toFundingWithdrawal(w))); - break; - case DEPOSIT: - this.depositHistory(startTime, endTime) - .forEach(d -> result.add(BlockchainAdapters.toFundingDeposit(d))); - break; - default: - throw new IllegalArgumentException(FUNDING_RECORD_TYPE_UNSUPPORTED); - } - } - - return result; - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); + } + + List result = new ArrayList<>(); + if (historyParamsFundingType != null) { + switch (historyParamsFundingType) { + case WITHDRAWAL: + this.withdrawHistory(startTime, endTime) + .forEach(w -> result.add(BlockchainAdapters.toFundingWithdrawal(w))); + break; + case DEPOSIT: + this.depositHistory(startTime, endTime) + .forEach(d -> result.add(BlockchainAdapters.toFundingDeposit(d))); + break; + default: + throw new IllegalArgumentException(FUNDING_RECORD_TYPE_UNSUPPORTED); } - } + } - @Override - public Map getDynamicTradingFeesByInstrument() throws IOException { - try { - BlockchainFees fees = this.getFees(); - Map tradingFees = new HashMap<>(); - List pairs = this.getExchangeSymbols(); - - pairs.forEach(pair -> tradingFees.put(pair, new Fee(fees.getMakerRate(), fees.getTakerRate()))); - return tradingFees; - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); - } + return result; + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); + } + } + + @Override + public Map getDynamicTradingFeesByInstrument() throws IOException { + try { + BlockchainFees fees = this.getFees(); + Map tradingFees = new HashMap<>(); + List pairs = this.getExchangeSymbols(); + + pairs.forEach( + pair -> tradingFees.put(pair, new Fee(fees.getMakerRate(), fees.getTakerRate()))); + return tradingFees; + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); } + } } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainAccountServiceRaw.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainAccountServiceRaw.java index 53ea8ad1bc8..e4a78e608fd 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainAccountServiceRaw.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainAccountServiceRaw.java @@ -1,5 +1,11 @@ package org.knowm.xchange.blockchain.service; +import static org.knowm.xchange.blockchain.BlockchainConstants.*; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; import org.knowm.xchange.blockchain.BlockchainAdapters; import org.knowm.xchange.blockchain.BlockchainAuthenticated; import org.knowm.xchange.blockchain.BlockchainExchange; @@ -11,72 +17,75 @@ import org.knowm.xchange.currency.Currency; import org.knowm.xchange.currency.CurrencyPair; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +public abstract class BlockchainAccountServiceRaw extends BlockchainBaseService { -import static org.knowm.xchange.blockchain.BlockchainConstants.*; + protected BlockchainAccountServiceRaw( + BlockchainExchange exchange, + BlockchainAuthenticated blockchainApi, + ResilienceRegistries resilienceRegistries) { + super(exchange, blockchainApi, resilienceRegistries); + } -public abstract class BlockchainAccountServiceRaw extends BlockchainBaseService{ + protected Map> getAccountInformation() + throws IOException, BlockchainException { + return decorateApiCall(this.blockchainApi::getAccountInformation) + .withRetry(retry(GET_ACCOUNT_INFORMATION)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } - protected BlockchainAccountServiceRaw(BlockchainExchange exchange, BlockchainAuthenticated blockchainApi, ResilienceRegistries resilienceRegistries) { - super(exchange, blockchainApi, resilienceRegistries); - } + protected BlockchainWithdrawal postWithdrawFunds( + BlockchainWithdrawalParams blockchainWithdrawalRequest) + throws IOException, BlockchainException { + return decorateApiCall(() -> this.blockchainApi.postWithdrawFunds(blockchainWithdrawalRequest)) + .withRetry(retry(GET_WITHDRAWAL)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } - protected Map> getAccountInformation() throws IOException, BlockchainException { - return decorateApiCall(this.blockchainApi::getAccountInformation) - .withRetry(retry(GET_ACCOUNT_INFORMATION)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } - protected BlockchainWithdrawal postWithdrawFunds(BlockchainWithdrawalParams blockchainWithdrawalRequest) throws IOException, BlockchainException { - return decorateApiCall(() -> this.blockchainApi.postWithdrawFunds(blockchainWithdrawalRequest)) - .withRetry(retry(GET_WITHDRAWAL)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } - protected BlockchainDeposit getDepositAddress(Currency currency) throws IOException, BlockchainException { - return decorateApiCall(() -> this.blockchainApi.getDepositAddress(currency.getCurrencyCode())) - .withRetry(retry(GET_DEPOSIT_ADDRESS)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } + protected BlockchainDeposit getDepositAddress(Currency currency) + throws IOException, BlockchainException { + return decorateApiCall(() -> this.blockchainApi.getDepositAddress(currency.getCurrencyCode())) + .withRetry(retry(GET_DEPOSIT_ADDRESS)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } - public BlockchainFees getFees() throws IOException { - return decorateApiCall(this.blockchainApi::getFees) - .withRetry(retry(GET_FEES)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } + public BlockchainFees getFees() throws IOException { + return decorateApiCall(this.blockchainApi::getFees) + .withRetry(retry(GET_FEES)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } - public List depositHistory(Long startTime, Long endTime) throws IOException { - return decorateApiCall(() -> this.blockchainApi.depositHistory(startTime, endTime)) - .withRetry(retry(GET_DEPOSIT_HISTORY)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } + public List depositHistory(Long startTime, Long endTime) throws IOException { + return decorateApiCall(() -> this.blockchainApi.depositHistory(startTime, endTime)) + .withRetry(retry(GET_DEPOSIT_HISTORY)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } - public List withdrawHistory(Long startTime, Long endTime) throws IOException { - return decorateApiCall(() -> this.blockchainApi.getWithdrawFunds(startTime, endTime)) - .withRetry(retry(GET_WITHDRAWAL_HISTORY)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } + public List withdrawHistory(Long startTime, Long endTime) + throws IOException { + return decorateApiCall(() -> this.blockchainApi.getWithdrawFunds(startTime, endTime)) + .withRetry(retry(GET_WITHDRAWAL_HISTORY)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } - public Map getSymbols() throws IOException { - return decorateApiCall(this.blockchainApi::getSymbols) - .withRetry(retry(GET_SYMBOLS)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } + public Map getSymbols() throws IOException { + return decorateApiCall(this.blockchainApi::getSymbols) + .withRetry(retry(GET_SYMBOLS)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } - public List getExchangeSymbols() throws IOException { - List currencyPairs = new ArrayList<>(); - Map symbol = this.getSymbols(); - for (Map.Entry entry : symbol.entrySet()) { - currencyPairs.add(BlockchainAdapters.toCurrencyPairBySymbol(entry.getValue())); - } - return currencyPairs; + public List getExchangeSymbols() throws IOException { + List currencyPairs = new ArrayList<>(); + Map symbol = this.getSymbols(); + for (Map.Entry entry : symbol.entrySet()) { + currencyPairs.add(BlockchainAdapters.toCurrencyPairBySymbol(entry.getValue())); } + return currencyPairs; + } } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainBaseService.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainBaseService.java index a3583158706..700dae4e076 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainBaseService.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainBaseService.java @@ -7,14 +7,15 @@ public class BlockchainBaseService extends BaseResilientExchangeService { - protected final String apiKey; - protected final BlockchainAuthenticated blockchainApi; + protected final String apiKey; + protected final BlockchainAuthenticated blockchainApi; - protected BlockchainBaseService(BlockchainExchange exchange, - BlockchainAuthenticated blockchainApi, - ResilienceRegistries resilienceRegistries) { - super(exchange, resilienceRegistries); - this.blockchainApi = blockchainApi; - this.apiKey = exchange.getExchangeSpecification().getApiKey(); - } + protected BlockchainBaseService( + BlockchainExchange exchange, + BlockchainAuthenticated blockchainApi, + ResilienceRegistries resilienceRegistries) { + super(exchange, resilienceRegistries); + this.blockchainApi = blockchainApi; + this.apiKey = exchange.getExchangeSpecification().getApiKey(); + } } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainMarketDataService.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainMarketDataService.java index 998df17da1b..5fb5ae64a37 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainMarketDataService.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainMarketDataService.java @@ -1,5 +1,9 @@ package org.knowm.xchange.blockchain.service; +import static org.knowm.xchange.blockchain.BlockchainConstants.NOT_IMPLEMENTED_YET; + +import java.io.IOException; +import java.util.List; import org.knowm.xchange.blockchain.BlockchainAdapters; import org.knowm.xchange.blockchain.BlockchainAuthenticated; import org.knowm.xchange.blockchain.BlockchainErrorAdapter; @@ -15,58 +19,57 @@ import org.knowm.xchange.service.marketdata.MarketDataService; import org.knowm.xchange.service.marketdata.params.Params; -import java.io.IOException; -import java.util.List; - -import static org.knowm.xchange.blockchain.BlockchainConstants.NOT_IMPLEMENTED_YET; - -public class BlockchainMarketDataService extends BlockchainMarketDataServiceRaw implements MarketDataService { - - public BlockchainMarketDataService(BlockchainExchange exchange, BlockchainAuthenticated blockchainApi, ResilienceRegistries resilienceRegistries) { - super(exchange, blockchainApi, resilienceRegistries); - } +public class BlockchainMarketDataService extends BlockchainMarketDataServiceRaw + implements MarketDataService { - @Override - public Ticker getTicker(CurrencyPair currencyPair, Object... args) throws IOException { - throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); - } + public BlockchainMarketDataService( + BlockchainExchange exchange, + BlockchainAuthenticated blockchainApi, + ResilienceRegistries resilienceRegistries) { + super(exchange, blockchainApi, resilienceRegistries); + } - @Override - public Ticker getTicker(Instrument instrument, Object... args) throws IOException { - throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); - } + @Override + public Ticker getTicker(CurrencyPair currencyPair, Object... args) throws IOException { + throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } - @Override - public List getTickers(Params params) { - throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); - } + @Override + public Ticker getTicker(Instrument instrument, Object... args) throws IOException { + throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } - @Override - public OrderBook getOrderBook(CurrencyPair currencyPair, Object... args) throws IOException { - try { - return BlockchainAdapters.toOrderBook(this.getOrderBookL3(currencyPair)); - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); - } - } + @Override + public List getTickers(Params params) { + throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } - @Override - public OrderBook getOrderBook(Instrument instrument, Object... args) throws IOException { - try { - return BlockchainAdapters.toOrderBook(this.getOrderBookL3(BlockchainAdapters.toCurrencyPair(instrument))); - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); - } + @Override + public OrderBook getOrderBook(CurrencyPair currencyPair, Object... args) throws IOException { + try { + return BlockchainAdapters.toOrderBook(this.getOrderBookL3(currencyPair)); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); } + } - @Override - public Trades getTrades(CurrencyPair currencyPair, Object... args) throws IOException { - throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + @Override + public OrderBook getOrderBook(Instrument instrument, Object... args) throws IOException { + try { + return BlockchainAdapters.toOrderBook( + this.getOrderBookL3(BlockchainAdapters.toCurrencyPair(instrument))); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); } + } - @Override - public Trades getTrades(Instrument instrument, Object... args) throws IOException { - throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); - } + @Override + public Trades getTrades(CurrencyPair currencyPair, Object... args) throws IOException { + throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } + @Override + public Trades getTrades(Instrument instrument, Object... args) throws IOException { + throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainMarketDataServiceRaw.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainMarketDataServiceRaw.java index b9717a015d6..5b58c571453 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainMarketDataServiceRaw.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainMarketDataServiceRaw.java @@ -1,5 +1,9 @@ package org.knowm.xchange.blockchain.service; +import static org.knowm.xchange.blockchain.BlockchainConstants.ENDPOINT_RATE_LIMIT; +import static org.knowm.xchange.blockchain.BlockchainConstants.GET_ORDER_BOOK_L3; + +import java.io.IOException; import org.knowm.xchange.blockchain.BlockchainAdapters; import org.knowm.xchange.blockchain.BlockchainAuthenticated; import org.knowm.xchange.blockchain.BlockchainExchange; @@ -8,21 +12,21 @@ import org.knowm.xchange.client.ResilienceRegistries; import org.knowm.xchange.currency.CurrencyPair; -import java.io.IOException; - -import static org.knowm.xchange.blockchain.BlockchainConstants.ENDPOINT_RATE_LIMIT; -import static org.knowm.xchange.blockchain.BlockchainConstants.GET_ORDER_BOOK_L3; - -public class BlockchainMarketDataServiceRaw extends BlockchainBaseService{ +public class BlockchainMarketDataServiceRaw extends BlockchainBaseService { - protected BlockchainMarketDataServiceRaw(BlockchainExchange exchange, BlockchainAuthenticated blockchainApi, ResilienceRegistries resilienceRegistries) { - super(exchange, blockchainApi, resilienceRegistries); - } + protected BlockchainMarketDataServiceRaw( + BlockchainExchange exchange, + BlockchainAuthenticated blockchainApi, + ResilienceRegistries resilienceRegistries) { + super(exchange, blockchainApi, resilienceRegistries); + } - protected BlockchainOrderBook getOrderBookL3(CurrencyPair currencyPair) throws IOException, BlockchainException { - return decorateApiCall(() -> this.blockchainApi.getOrderBookL3(BlockchainAdapters.toSymbol(currencyPair))) - .withRetry(retry(GET_ORDER_BOOK_L3)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } + protected BlockchainOrderBook getOrderBookL3(CurrencyPair currencyPair) + throws IOException, BlockchainException { + return decorateApiCall( + () -> this.blockchainApi.getOrderBookL3(BlockchainAdapters.toSymbol(currencyPair))) + .withRetry(retry(GET_ORDER_BOOK_L3)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainTradeService.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainTradeService.java index 2c3b8bb79ac..3bcb29caf4a 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainTradeService.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainTradeService.java @@ -1,5 +1,11 @@ package org.knowm.xchange.blockchain.service; +import static org.knowm.xchange.blockchain.BlockchainConstants.*; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import org.knowm.xchange.blockchain.BlockchainAdapters; import org.knowm.xchange.blockchain.BlockchainAuthenticated; import org.knowm.xchange.blockchain.BlockchainErrorAdapter; @@ -18,178 +24,174 @@ import org.knowm.xchange.service.trade.params.*; import org.knowm.xchange.service.trade.params.orders.*; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import static org.knowm.xchange.blockchain.BlockchainConstants.*; - public class BlockchainTradeService extends BlockchainTradeServiceRaw implements TradeService { - public BlockchainTradeService(BlockchainExchange exchange, BlockchainAuthenticated blockchainApi, ResilienceRegistries resilienceRegistries) { - super(exchange, blockchainApi, resilienceRegistries); - } - - @Override - public OpenOrders getOpenOrders() throws IOException { - return getOpenOrders(createOpenOrdersParams()); - } - - @Override - public OpenOrders getOpenOrders(OpenOrdersParams params) throws IOException { - try { - CurrencyPair currencyPair = null; - if (params instanceof OpenOrdersParamCurrencyPair) { - currencyPair = ((OpenOrdersParamCurrencyPair) params).getCurrencyPair(); - } - - if(currencyPair != null) { - return BlockchainAdapters.toOpenOrders(this.getOrdersBySymbol(BlockchainAdapters.toSymbol(currencyPair))); - } - return BlockchainAdapters.toOpenOrders(this.getOrders()); - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); - } - } - - @Override - public String placeLimitOrder(LimitOrder limitOrder) throws IOException { - try { - BlockchainOrder order = this.postOrder(BlockchainAdapters.toBlockchainLimitOrder(limitOrder)); - if (REJECTED.equals(order.getOrdStatus())) throw new ExchangeException(order.getText()); - return Long.toString(order.getExOrdId()); - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); - } - } - - @Override - public String placeMarketOrder(MarketOrder marketOrder) throws IOException { - try { - BlockchainOrder order = this.postOrder(BlockchainAdapters.toBlockchainMarketOrder(marketOrder)); - if (REJECTED.equals(order.getOrdStatus())) throw new ExchangeException(order.getText()); - return Long.toString(order.getExOrdId()); - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); + public BlockchainTradeService( + BlockchainExchange exchange, + BlockchainAuthenticated blockchainApi, + ResilienceRegistries resilienceRegistries) { + super(exchange, blockchainApi, resilienceRegistries); + } + + @Override + public OpenOrders getOpenOrders() throws IOException { + return getOpenOrders(createOpenOrdersParams()); + } + + @Override + public OpenOrders getOpenOrders(OpenOrdersParams params) throws IOException { + try { + CurrencyPair currencyPair = null; + if (params instanceof OpenOrdersParamCurrencyPair) { + currencyPair = ((OpenOrdersParamCurrencyPair) params).getCurrencyPair(); + } + + if (currencyPair != null) { + return BlockchainAdapters.toOpenOrders( + this.getOrdersBySymbol(BlockchainAdapters.toSymbol(currencyPair))); + } + return BlockchainAdapters.toOpenOrders(this.getOrders()); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); + } + } + + @Override + public String placeLimitOrder(LimitOrder limitOrder) throws IOException { + try { + BlockchainOrder order = this.postOrder(BlockchainAdapters.toBlockchainLimitOrder(limitOrder)); + if (REJECTED.equals(order.getOrdStatus())) throw new ExchangeException(order.getText()); + return Long.toString(order.getExOrdId()); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); + } + } + + @Override + public String placeMarketOrder(MarketOrder marketOrder) throws IOException { + try { + BlockchainOrder order = + this.postOrder(BlockchainAdapters.toBlockchainMarketOrder(marketOrder)); + if (REJECTED.equals(order.getOrdStatus())) throw new ExchangeException(order.getText()); + return Long.toString(order.getExOrdId()); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); + } + } + + @Override + public String placeStopOrder(StopOrder stopOrder) throws IOException { + try { + BlockchainOrder order = this.postOrder(BlockchainAdapters.toBlockchainStopOrder(stopOrder)); + if (REJECTED.equals(order.getOrdStatus())) throw new ExchangeException(order.getText()); + return Long.toString(order.getExOrdId()); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); + } + } + + @Override + public OpenOrdersParams createOpenOrdersParams() { + return new DefaultOpenOrdersParamCurrencyPair(); + } + + @Override + public boolean cancelOrder(String orderId) throws IOException { + return cancelOrderById(orderId); + } + + @Override + public boolean cancelOrder(CancelOrderParams orderParams) throws IOException { + if (orderParams instanceof CancelOrderByCurrencyPair) { + return this.cancelAllOrdersBySymbol( + BlockchainAdapters.toSymbol(((CancelOrderByCurrencyPair) orderParams).getCurrencyPair())); + } + + if (orderParams instanceof CancelOrderByIdParams) { + return cancelOrder(((CancelOrderByIdParams) orderParams).getOrderId()); + } + + return false; + } + + @Override + public Class[] getRequiredCancelOrderParamClasses() { + return new Class[] {CancelOrderByIdParams.class, CancelOrderByCurrencyPair.class}; + } + + @Override + public OpenPositions getOpenPositions() { + throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); + } + + @Override + public UserTrades getTradeHistory(TradeHistoryParams params) throws IOException { + try { + Long startTime = null; + Long endTime = null; + Integer limit = null; + + if (!(params instanceof TradeHistoryParamCurrencyPair)) { + throw new ExchangeException(CURRENCY_PAIR_EXCEPTION); + } + + String symbol = + BlockchainAdapters.toSymbol(((TradeHistoryParamCurrencyPair) params).getCurrencyPair()); + + if (params instanceof TradeHistoryParamsTimeSpan) { + if (((TradeHistoryParamsTimeSpan) params).getStartTime() != null) { + startTime = ((TradeHistoryParamsTimeSpan) params).getStartTime().getTime(); } - } - - @Override - public String placeStopOrder(StopOrder stopOrder) throws IOException { - try { - BlockchainOrder order = this.postOrder(BlockchainAdapters.toBlockchainStopOrder(stopOrder)); - if (REJECTED.equals(order.getOrdStatus())) throw new ExchangeException(order.getText()); - return Long.toString(order.getExOrdId()); - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); + if (((TradeHistoryParamsTimeSpan) params).getEndTime() != null) { + endTime = ((TradeHistoryParamsTimeSpan) params).getEndTime().getTime(); } - - } - - @Override - public OpenOrdersParams createOpenOrdersParams() { - return new DefaultOpenOrdersParamCurrencyPair(); - } - - @Override - public boolean cancelOrder(String orderId) throws IOException { - return cancelOrderById(orderId); - } - - @Override - public boolean cancelOrder(CancelOrderParams orderParams) throws IOException { - if (orderParams instanceof CancelOrderByCurrencyPair) { - return this.cancelAllOrdersBySymbol(BlockchainAdapters.toSymbol(((CancelOrderByCurrencyPair) orderParams).getCurrencyPair())); - } - - if (orderParams instanceof CancelOrderByIdParams) { - return cancelOrder(((CancelOrderByIdParams) orderParams).getOrderId()); - } - - return false; - } - - @Override - public Class[] getRequiredCancelOrderParamClasses() { - return new Class[]{CancelOrderByIdParams.class, CancelOrderByCurrencyPair.class}; - } - - @Override - public OpenPositions getOpenPositions() { - throw new NotYetImplementedForExchangeException(NOT_IMPLEMENTED_YET); - } - - @Override - public UserTrades getTradeHistory(TradeHistoryParams params) throws IOException { - try { - Long startTime = null; - Long endTime = null; - Integer limit = null; - - if (!(params instanceof TradeHistoryParamCurrencyPair)) { - throw new ExchangeException(CURRENCY_PAIR_EXCEPTION); - } - - String symbol = BlockchainAdapters.toSymbol( - ((TradeHistoryParamCurrencyPair) params).getCurrencyPair()); - - if (params instanceof TradeHistoryParamsTimeSpan) { - if (((TradeHistoryParamsTimeSpan) params).getStartTime() != null) { - startTime = ((TradeHistoryParamsTimeSpan) params).getStartTime().getTime(); - } - if (((TradeHistoryParamsTimeSpan) params).getEndTime() != null) { - endTime = ((TradeHistoryParamsTimeSpan) params).getEndTime().getTime(); - } - } - - if (params instanceof TradeHistoryParamLimit) { - TradeHistoryParamLimit limitParams = (TradeHistoryParamLimit) params; - limit = limitParams.getLimit(); - } - - List tradesOrders = this.getTrades(symbol, startTime, endTime, limit); - return BlockchainAdapters.toUserTrades(tradesOrders); - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); - } - } - - @Override - public BlockchainTradeHistoryParams createTradeHistoryParams() { - return BlockchainTradeHistoryParams.builder().build(); - } - - @Override - public Class getRequiredOrderQueryParamClass() { - return OrderQueryParamCurrencyPair.class; - } - - @Override - public Collection getOrder(String... orderIds) throws IOException { - List openOrders = new ArrayList<>(); - - for (String orderId : orderIds) { - if (orderId != null) { - openOrders.addAll(getOrder(new DefaultQueryOrderParam(orderId))); - } - } - return openOrders; - } - - @Override - public Collection getOrder(OrderQueryParams... params) throws IOException { - try { - Collection orders = new ArrayList<>(); - for (OrderQueryParams param : params) { - BlockchainOrder order = this.getOrder(param.getOrderId()); - orders.add(BlockchainAdapters.toOpenOrdersById(order)); - } - return orders; - } catch (BlockchainException e) { - throw BlockchainErrorAdapter.adapt(e); - } - } - - + } + + if (params instanceof TradeHistoryParamLimit) { + TradeHistoryParamLimit limitParams = (TradeHistoryParamLimit) params; + limit = limitParams.getLimit(); + } + + List tradesOrders = this.getTrades(symbol, startTime, endTime, limit); + return BlockchainAdapters.toUserTrades(tradesOrders); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); + } + } + + @Override + public BlockchainTradeHistoryParams createTradeHistoryParams() { + return BlockchainTradeHistoryParams.builder().build(); + } + + @Override + public Class getRequiredOrderQueryParamClass() { + return OrderQueryParamCurrencyPair.class; + } + + @Override + public Collection getOrder(String... orderIds) throws IOException { + List openOrders = new ArrayList<>(); + + for (String orderId : orderIds) { + if (orderId != null) { + openOrders.addAll(getOrder(new DefaultQueryOrderParam(orderId))); + } + } + return openOrders; + } + + @Override + public Collection getOrder(OrderQueryParams... params) throws IOException { + try { + Collection orders = new ArrayList<>(); + for (OrderQueryParams param : params) { + BlockchainOrder order = this.getOrder(param.getOrderId()); + orders.add(BlockchainAdapters.toOpenOrdersById(order)); + } + return orders; + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); + } + } } diff --git a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainTradeServiceRaw.java b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainTradeServiceRaw.java index 41177e66bf6..cb1b0383b0f 100644 --- a/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainTradeServiceRaw.java +++ b/xchange-blockchain/src/main/java/org/knowm/xchange/blockchain/service/BlockchainTradeServiceRaw.java @@ -1,5 +1,9 @@ package org.knowm.xchange.blockchain.service; +import static org.knowm.xchange.blockchain.BlockchainConstants.*; + +import java.io.IOException; +import java.util.List; import org.knowm.xchange.blockchain.BlockchainAuthenticated; import org.knowm.xchange.blockchain.BlockchainErrorAdapter; import org.knowm.xchange.blockchain.BlockchainExchange; @@ -7,79 +11,77 @@ import org.knowm.xchange.blockchain.dto.trade.BlockchainOrder; import org.knowm.xchange.client.ResilienceRegistries; -import java.io.IOException; -import java.util.List; - -import static org.knowm.xchange.blockchain.BlockchainConstants.*; - public class BlockchainTradeServiceRaw extends BlockchainBaseService { - protected BlockchainTradeServiceRaw(BlockchainExchange exchange, BlockchainAuthenticated blockchainApi, ResilienceRegistries resilienceRegistries) { - super(exchange, blockchainApi, resilienceRegistries); - } - - protected List getOrders() throws IOException, BlockchainException { - return decorateApiCall(this.blockchainApi::getOrders) - .withRetry(retry(GET_ORDERS)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } - - protected List getOrdersBySymbol(String symbol) throws IOException, BlockchainException { - return decorateApiCall(() -> this.blockchainApi.getOrdersBySymbol(symbol)) - .withRetry(retry(GET_ORDERS)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } + protected BlockchainTradeServiceRaw( + BlockchainExchange exchange, + BlockchainAuthenticated blockchainApi, + ResilienceRegistries resilienceRegistries) { + super(exchange, blockchainApi, resilienceRegistries); + } - protected BlockchainOrder getOrder(String orderId) throws IOException { - try { - return decorateApiCall(() -> this.blockchainApi.getOrder(orderId)) - .withRetry(retry(GET_ORDER)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - }catch (BlockchainException e){ - throw BlockchainErrorAdapter.adapt(e); - } + protected List getOrders() throws IOException, BlockchainException { + return decorateApiCall(this.blockchainApi::getOrders) + .withRetry(retry(GET_ORDERS)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } - } + protected List getOrdersBySymbol(String symbol) + throws IOException, BlockchainException { + return decorateApiCall(() -> this.blockchainApi.getOrdersBySymbol(symbol)) + .withRetry(retry(GET_ORDERS)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } - protected BlockchainOrder postOrder(BlockchainOrder blockchainOrder) throws IOException{ - return decorateApiCall(() -> this.blockchainApi.postOrder(blockchainOrder)) - .withRetry(retry(POST_ORDER)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); + protected BlockchainOrder getOrder(String orderId) throws IOException { + try { + return decorateApiCall(() -> this.blockchainApi.getOrder(orderId)) + .withRetry(retry(GET_ORDER)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); } + } - protected Boolean cancelOrderById(String orderId) throws IOException, BlockchainException{ - try { - decorateApiCall(() -> this.blockchainApi.cancelOrder(orderId)) - .withRetry(retry(CANCEL_ORDER)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - return true; - }catch (BlockchainException e){ - throw BlockchainErrorAdapter.adapt(e); - } + protected BlockchainOrder postOrder(BlockchainOrder blockchainOrder) throws IOException { + return decorateApiCall(() -> this.blockchainApi.postOrder(blockchainOrder)) + .withRetry(retry(POST_ORDER)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } + protected Boolean cancelOrderById(String orderId) throws IOException, BlockchainException { + try { + decorateApiCall(() -> this.blockchainApi.cancelOrder(orderId)) + .withRetry(retry(CANCEL_ORDER)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + return true; + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); } + } - protected Boolean cancelAllOrdersBySymbol(String symbol) throws IOException, BlockchainException{ - try { - decorateApiCall(() -> this.blockchainApi.cancelAllOrders(symbol)) - .withRetry(retry(CANCEL_ALL_ORDERS)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - return true; - }catch (BlockchainException e){ - throw BlockchainErrorAdapter.adapt(e); - } + protected Boolean cancelAllOrdersBySymbol(String symbol) throws IOException, BlockchainException { + try { + decorateApiCall(() -> this.blockchainApi.cancelAllOrders(symbol)) + .withRetry(retry(CANCEL_ALL_ORDERS)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + return true; + } catch (BlockchainException e) { + throw BlockchainErrorAdapter.adapt(e); } + } - protected List getTrades(String symbol, Long startTime, Long endTime, Integer limit) throws IOException { - return decorateApiCall(() -> this.blockchainApi.getTrades(symbol, startTime, endTime, limit)) - .withRetry(retry(GET_TRADES)) - .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) - .call(); - } + protected List getTrades( + String symbol, Long startTime, Long endTime, Integer limit) throws IOException { + return decorateApiCall(() -> this.blockchainApi.getTrades(symbol, startTime, endTime, limit)) + .withRetry(retry(GET_TRADES)) + .withRateLimiter(rateLimiter(ENDPOINT_RATE_LIMIT)) + .call(); + } } diff --git a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/BlockchainBaseTest.java b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/BlockchainBaseTest.java index aa3373a0ac2..caaef05f9e4 100644 --- a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/BlockchainBaseTest.java +++ b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/BlockchainBaseTest.java @@ -18,48 +18,45 @@ public class BlockchainBaseTest { - @ClassRule - public static WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort()); - - protected static BlockchainExchange createExchange() { - BlockchainExchange exchange = - ExchangeFactory.INSTANCE.createExchangeWithoutSpecification(BlockchainExchange.class); - ExchangeSpecification specification = exchange.getDefaultExchangeSpecification(); - specification.setHost("localhost"); - specification.setSslUri("http://localhost:" + wireMockRule.port() + "/"); - specification.setPort(wireMockRule.port()); - specification.setShouldLoadRemoteMetaData(false); - specification.setHttpReadTimeout(1000); - exchange.applySpecification(specification); - return exchange; - } - - protected void stubPost(String fileName, int statusCode, String url) { - stubFor( - post(urlPathEqualTo(url)) - .willReturn( - aResponse() - .withStatus(statusCode) - .withHeader(CONTENT_TYPE, APPLICATION) - .withBodyFile(fileName))); - } - - protected void stubGet(String fileName, int statusCode, String url) { - stubFor( - get(urlPathEqualTo(url)) - .willReturn( - aResponse() - .withStatus(statusCode) - .withHeader(CONTENT_TYPE, APPLICATION) - .withBodyFile(fileName))); - } - - protected void stubDelete(int statusCode, String url) { - stubFor( - delete(urlPathEqualTo(url)) - .willReturn( - aResponse() - .withStatus(statusCode) - .withHeader(CONTENT_TYPE, APPLICATION))); - } + @ClassRule + public static WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort()); + + protected static BlockchainExchange createExchange() { + BlockchainExchange exchange = + ExchangeFactory.INSTANCE.createExchangeWithoutSpecification(BlockchainExchange.class); + ExchangeSpecification specification = exchange.getDefaultExchangeSpecification(); + specification.setHost("localhost"); + specification.setSslUri("http://localhost:" + wireMockRule.port() + "/"); + specification.setPort(wireMockRule.port()); + specification.setShouldLoadRemoteMetaData(false); + specification.setHttpReadTimeout(1000); + exchange.applySpecification(specification); + return exchange; + } + + protected void stubPost(String fileName, int statusCode, String url) { + stubFor( + post(urlPathEqualTo(url)) + .willReturn( + aResponse() + .withStatus(statusCode) + .withHeader(CONTENT_TYPE, APPLICATION) + .withBodyFile(fileName))); + } + + protected void stubGet(String fileName, int statusCode, String url) { + stubFor( + get(urlPathEqualTo(url)) + .willReturn( + aResponse() + .withStatus(statusCode) + .withHeader(CONTENT_TYPE, APPLICATION) + .withBodyFile(fileName))); + } + + protected void stubDelete(int statusCode, String url) { + stubFor( + delete(urlPathEqualTo(url)) + .willReturn(aResponse().withStatus(statusCode).withHeader(CONTENT_TYPE, APPLICATION))); + } } diff --git a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/account/AccountServiceTest.java b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/account/AccountServiceTest.java index 864a8dde888..e43b9e86747 100644 --- a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/account/AccountServiceTest.java +++ b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/account/AccountServiceTest.java @@ -29,7 +29,6 @@ import java.math.BigDecimal; import java.util.List; import java.util.Map; - import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -50,136 +49,131 @@ import org.knowm.xchange.service.trade.params.WithdrawFundsParams; public class AccountServiceTest extends BlockchainBaseTest { - private AccountService service; - - @Before - public void init() { - BlockchainExchange exchange = createExchange(); - service = exchange.getAccountService(); - } - - @Test(timeout = 2000) - public void getAccountInfoSuccess() throws Exception { - AccountInfo response = getAccountInfo(); -// System.out.println(response); - Assert.assertNotNull(response); - } - - @Test(timeout = 2000) - public void withdrawSuccess() throws Exception { - String response = withdraw(WITHDRAWAL_SUCCESS_JSON, 200); - assertThat(response).isEqualTo(WITHDRAWAL_ID); - } - - @Test(timeout = 2000) - public void withdrawFailure() { - Throwable exception = catchThrowable(() -> withdraw(WITHDRAWAL_FAILURE_JSON, 401)); - assertThat(exception) - .isInstanceOf(ExchangeSecurityException.class) - .hasMessage(STATUS_CODE_401); - } - - @Test(timeout = 2000) - public void withdrawException() { - Throwable exception = catchThrowable(this::withdrawExcept); - assertThat(exception) - .isInstanceOf(NotYetImplementedForExchangeException.class) - .hasMessage(NOT_IMPLEMENTED_YET); - } - - @Test(timeout = 2000) - public void requestDepositAddressSuccess() throws Exception { - String response = requestDeposit(DEPOSIT_SUCCESS_JSON, 200); - assertThat(response).isEqualTo(ADDRESS_DEPOSIT); - } - - @Test(timeout = 2000) - public void requestDepositAddressFailure() { - Throwable exception = catchThrowable(() -> requestDeposit(DEPOSIT_FAILURE_JSON, 400)); - assertThat(exception) - .isInstanceOf(ExchangeException.class) - .hasMessage(STATUS_CODE_400); - } - - @Test(timeout = 2000) - public void getWithdrawFundingHistorySuccess() throws Exception { - List response = withdrawFundingHistory(); - Assert.assertNotNull(response); - - response.forEach( - record -> Assert.assertTrue(record.getAmount().compareTo(BigDecimal.ZERO) > 0)); - } - - @Test(timeout = 2000) - public void getDepositFundingHistorySuccess() throws Exception { - List response = depositFundingHistory(); - Assert.assertNotNull(response); - - response.forEach( - record -> Assert.assertTrue(record.getAmount().compareTo(BigDecimal.ZERO) > 0)); - } - - @Test(timeout = 2000) - public void getDynamicTradingFeesSuccess() throws Exception { - Map response = tradingFees(); - Assert.assertNotNull(response); - } - - private AccountInfo getAccountInfo() throws IOException { - stubGet(ACCOUNT_INFORMATION_JSON, 200, URL_ACCOUNT); - - return service.getAccountInfo(); - } - - private String withdraw(String responseFileName, int statusCode) throws IOException { - stubPost(responseFileName, statusCode, URL_WITHDRAWALS); - WithdrawFundsParams params = BlockchainWithdrawalParams.builder() - .beneficiary(BENEFICIARY) - .currency(Currency.BTC) - .amount(BigDecimal.valueOf(0.0005)) - .sendMax(false) - .build(); - - return service.withdrawFunds(params); - } - - private void withdrawExcept() throws IOException { - stubPost(WITHDRAWAL_SUCCESS_JSON, 200, URL_WITHDRAWALS); - service.withdrawFunds( - Currency.BTC, BigDecimal.valueOf(0.005), ADDRESS); - } - - private String requestDeposit(String responseFileName, int statusCode) throws IOException { - stubPost(responseFileName, statusCode, URL_DEPOSIT_BY_CURRENCY); - - return service.requestDepositAddress(Currency.BTC); - } - - private List withdrawFundingHistory() throws IOException { - stubGet(WITHDRAWAL_HISTORY_SUCCESS_JSON, 200, URL_WITHDRAWALS); - TradeHistoryParams params = service.createFundingHistoryParams(); - if (params instanceof HistoryParamsFundingType) { - ((HistoryParamsFundingType) params).setType(FundingRecord.Type.WITHDRAWAL); - } - - return service.getFundingHistory(params); - } - - private List depositFundingHistory() throws IOException { - stubGet(DEPOSIT_HISTORY_SUCCESS_JSON, 200, URL_DEPOSITS); - TradeHistoryParams params = service.createFundingHistoryParams(); - if (params instanceof HistoryParamsFundingType) { - ((HistoryParamsFundingType) params).setType(FundingRecord.Type.DEPOSIT); - } - - return service.getFundingHistory(params); - } - - private Map tradingFees() throws IOException { - stubGet(FEES_JSON, 200, URL_FEES); - stubGet(SYMBOL_JSON, 200, URL_SYMBOLS); - - return service.getDynamicTradingFeesByInstrument(); - } - + private AccountService service; + + @Before + public void init() { + BlockchainExchange exchange = createExchange(); + service = exchange.getAccountService(); + } + + @Test(timeout = 2000) + public void getAccountInfoSuccess() throws Exception { + AccountInfo response = getAccountInfo(); + // System.out.println(response); + Assert.assertNotNull(response); + } + + @Test(timeout = 2000) + public void withdrawSuccess() throws Exception { + String response = withdraw(WITHDRAWAL_SUCCESS_JSON, 200); + assertThat(response).isEqualTo(WITHDRAWAL_ID); + } + + @Test(timeout = 2000) + public void withdrawFailure() { + Throwable exception = catchThrowable(() -> withdraw(WITHDRAWAL_FAILURE_JSON, 401)); + assertThat(exception).isInstanceOf(ExchangeSecurityException.class).hasMessage(STATUS_CODE_401); + } + + @Test(timeout = 2000) + public void withdrawException() { + Throwable exception = catchThrowable(this::withdrawExcept); + assertThat(exception) + .isInstanceOf(NotYetImplementedForExchangeException.class) + .hasMessage(NOT_IMPLEMENTED_YET); + } + + @Test(timeout = 2000) + public void requestDepositAddressSuccess() throws Exception { + String response = requestDeposit(DEPOSIT_SUCCESS_JSON, 200); + assertThat(response).isEqualTo(ADDRESS_DEPOSIT); + } + + @Test(timeout = 2000) + public void requestDepositAddressFailure() { + Throwable exception = catchThrowable(() -> requestDeposit(DEPOSIT_FAILURE_JSON, 400)); + assertThat(exception).isInstanceOf(ExchangeException.class).hasMessage(STATUS_CODE_400); + } + + @Test(timeout = 2000) + public void getWithdrawFundingHistorySuccess() throws Exception { + List response = withdrawFundingHistory(); + Assert.assertNotNull(response); + + response.forEach( + record -> Assert.assertTrue(record.getAmount().compareTo(BigDecimal.ZERO) > 0)); + } + + @Test(timeout = 2000) + public void getDepositFundingHistorySuccess() throws Exception { + List response = depositFundingHistory(); + Assert.assertNotNull(response); + + response.forEach( + record -> Assert.assertTrue(record.getAmount().compareTo(BigDecimal.ZERO) > 0)); + } + + @Test(timeout = 2000) + public void getDynamicTradingFeesSuccess() throws Exception { + Map response = tradingFees(); + Assert.assertNotNull(response); + } + + private AccountInfo getAccountInfo() throws IOException { + stubGet(ACCOUNT_INFORMATION_JSON, 200, URL_ACCOUNT); + + return service.getAccountInfo(); + } + + private String withdraw(String responseFileName, int statusCode) throws IOException { + stubPost(responseFileName, statusCode, URL_WITHDRAWALS); + WithdrawFundsParams params = + BlockchainWithdrawalParams.builder() + .beneficiary(BENEFICIARY) + .currency(Currency.BTC) + .amount(BigDecimal.valueOf(0.0005)) + .sendMax(false) + .build(); + + return service.withdrawFunds(params); + } + + private void withdrawExcept() throws IOException { + stubPost(WITHDRAWAL_SUCCESS_JSON, 200, URL_WITHDRAWALS); + service.withdrawFunds(Currency.BTC, BigDecimal.valueOf(0.005), ADDRESS); + } + + private String requestDeposit(String responseFileName, int statusCode) throws IOException { + stubPost(responseFileName, statusCode, URL_DEPOSIT_BY_CURRENCY); + + return service.requestDepositAddress(Currency.BTC); + } + + private List withdrawFundingHistory() throws IOException { + stubGet(WITHDRAWAL_HISTORY_SUCCESS_JSON, 200, URL_WITHDRAWALS); + TradeHistoryParams params = service.createFundingHistoryParams(); + if (params instanceof HistoryParamsFundingType) { + ((HistoryParamsFundingType) params).setType(FundingRecord.Type.WITHDRAWAL); + } + + return service.getFundingHistory(params); + } + + private List depositFundingHistory() throws IOException { + stubGet(DEPOSIT_HISTORY_SUCCESS_JSON, 200, URL_DEPOSITS); + TradeHistoryParams params = service.createFundingHistoryParams(); + if (params instanceof HistoryParamsFundingType) { + ((HistoryParamsFundingType) params).setType(FundingRecord.Type.DEPOSIT); + } + + return service.getFundingHistory(params); + } + + private Map tradingFees() throws IOException { + stubGet(FEES_JSON, 200, URL_FEES); + stubGet(SYMBOL_JSON, 200, URL_SYMBOLS); + + return service.getDynamicTradingFeesByInstrument(); + } } diff --git a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/marketdata/MarketDataServiceTest.java b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/marketdata/MarketDataServiceTest.java index a2836af8aee..05cc6def75f 100644 --- a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/marketdata/MarketDataServiceTest.java +++ b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/marketdata/MarketDataServiceTest.java @@ -1,5 +1,9 @@ package org.knowm.xchange.blockchain.service.marketdata; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.catchThrowable; +import static org.knowm.xchange.blockchain.service.utils.BlockchainConstants.*; + import org.junit.Before; import org.junit.Test; import org.knowm.xchange.blockchain.BlockchainExchange; @@ -10,44 +14,38 @@ import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.service.marketdata.MarketDataService; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.catchThrowable; -import static org.knowm.xchange.blockchain.service.utils.BlockchainConstants.*; - public class MarketDataServiceTest extends BlockchainBaseTest { - private MarketDataService service; + private MarketDataService service; - @Before - public void init() { - BlockchainExchange exchange = createExchange(); - service = exchange.getMarketDataService(); - } + @Before + public void init() { + BlockchainExchange exchange = createExchange(); + service = exchange.getMarketDataService(); + } - @Test(timeout = 2000) - public void getOrderBookSuccess() throws Exception { - stubGet(ORDERBOOK_JSON, 200, URL_ORDERBOOOK_L3); - OrderBook response = service.getOrderBook(CurrencyPair.BTC_USD); - assertThat(response).isNotNull(); - assertThat(response.getAsks().get(0).getLimitPrice()).isNotNull().isPositive(); - assertThat(response.getBids().get(0).getLimitPrice()).isNotNull().isPositive(); - } + @Test(timeout = 2000) + public void getOrderBookSuccess() throws Exception { + stubGet(ORDERBOOK_JSON, 200, URL_ORDERBOOOK_L3); + OrderBook response = service.getOrderBook(CurrencyPair.BTC_USD); + assertThat(response).isNotNull(); + assertThat(response.getAsks().get(0).getLimitPrice()).isNotNull().isPositive(); + assertThat(response.getBids().get(0).getLimitPrice()).isNotNull().isPositive(); + } - @Test(timeout = 2000) - public void getOrderBookFailure() { - stubGet(ORDERBOOK_FAILURE_JSON, 500, URL_ORDERBOOOK_L3); - Throwable exception = catchThrowable(() -> service.getOrderBook(CurrencyPair.BTC_USD)); - assertThat(exception) - .isInstanceOf(InternalServerException.class) - .hasMessage(STATUS_CODE_500); - } + @Test(timeout = 2000) + public void getOrderBookFailure() { + stubGet(ORDERBOOK_FAILURE_JSON, 500, URL_ORDERBOOOK_L3); + Throwable exception = catchThrowable(() -> service.getOrderBook(CurrencyPair.BTC_USD)); + assertThat(exception).isInstanceOf(InternalServerException.class).hasMessage(STATUS_CODE_500); + } - @Test(timeout = 2000) - public void getOrderBookByInstrumentSuccess() throws Exception { - stubGet(ORDERBOOK_JSON, 200, URL_ORDERBOOOK_L3); - Instrument instrument = CurrencyPair.BTC_USD; - OrderBook response = service.getOrderBook(instrument); - assertThat(response).isNotNull(); - assertThat(response.getAsks().get(0).getLimitPrice()).isNotNull().isPositive(); - assertThat(response.getBids().get(0).getLimitPrice()).isNotNull().isPositive(); - } + @Test(timeout = 2000) + public void getOrderBookByInstrumentSuccess() throws Exception { + stubGet(ORDERBOOK_JSON, 200, URL_ORDERBOOOK_L3); + Instrument instrument = CurrencyPair.BTC_USD; + OrderBook response = service.getOrderBook(instrument); + assertThat(response).isNotNull(); + assertThat(response.getAsks().get(0).getLimitPrice()).isNotNull().isPositive(); + assertThat(response.getBids().get(0).getLimitPrice()).isNotNull().isPositive(); + } } diff --git a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/trade/TradeServiceTest.java b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/trade/TradeServiceTest.java index c3d5b4d8418..7b72fb2e644 100644 --- a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/trade/TradeServiceTest.java +++ b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/trade/TradeServiceTest.java @@ -24,7 +24,6 @@ import java.util.Collection; import java.util.Date; import java.util.List; - import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -43,156 +42,152 @@ import org.knowm.xchange.service.trade.TradeService; import org.knowm.xchange.service.trade.params.CancelOrderByCurrencyPair; import org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan; - import si.mazi.rescu.HttpStatusIOException; public class TradeServiceTest extends BlockchainBaseTest { - private TradeService service; - - @Before - public void init() { - BlockchainExchange exchange = createExchange(); - service = exchange.getTradeService(); - } - - @Test(timeout = 5000) - public void getOpenOrdersSuccess() throws Exception { - stubGet(ORDERS_JSON, 200, URL_ORDERS); - OpenOrders response = service.getOpenOrders(); - assertThat(response).isNotNull(); - List allOrders = response.getAllOpenOrders(); - assertThat(allOrders).isNotEmpty(); - Order order = allOrders.get(0); - assertThat(order).isNotNull(); - assertThat(order.getOriginalAmount()).isNotNull().isPositive(); - assertThat(order.getId()).isEqualTo(ORDER_ID); - } - - @Test(timeout = 2000) - public void placeLimitOrderSuccess() throws Exception { - String response = placeLimitOrder(); - assertThat(response).isEqualTo(ORDER_ID); - } - - @Test(timeout = 2000) - public void placeMarketOrderSuccess() throws Exception { - String response = placeMarketOrder(); - assertThat(response).isEqualTo(MARKET_ORDER_ID); - } - - @Test(timeout = 2000) - public void placeStopOrderSuccess() throws Exception { - String response = placeStopOrder(); - assertThat(response).isEqualTo(STOP_ORDER_ID); - } - - @Test(timeout = 2000) - public void cancelOrderSuccess() throws Exception { - Boolean response = cancelOrder(200); - assertThat(response).isEqualTo(true); - } - - @Test(timeout = 2000) - public void cancelOrderFailure() { - Throwable exception = catchThrowable(() -> cancelOrder(400)); - assertThat(exception) - .isInstanceOf(HttpStatusIOException.class) - .hasMessage(HTTP_CODE_400); - } - - @Test(timeout = 2000) - public void cancelOrderByCurrency() throws Exception { - CancelOrderByCurrencyPair cancelOrderByCurrencyPair = () -> new CurrencyPair("BTC/USD"); - Boolean response = cancelAllOrder(cancelOrderByCurrencyPair); - assertThat(response).isEqualTo(true); - } - - @Test(timeout = 2000) - public void getTrades() throws Exception { - BlockchainTradeHistoryParams params = (BlockchainTradeHistoryParams) service.createTradeHistoryParams(); - ((TradeHistoryParamsTimeSpan) params).setStartTime( - new Date(System.currentTimeMillis() - END_TIME)); - - params.setCurrencyPair(CurrencyPair.BTC_USDT); - - stubGet(ORDERS_JSON, 200, URL_TRADES); - UserTrades response = service.getTradeHistory(params); - assertThat(response).isNotNull(); + private TradeService service; + + @Before + public void init() { + BlockchainExchange exchange = createExchange(); + service = exchange.getTradeService(); + } + + @Test(timeout = 5000) + public void getOpenOrdersSuccess() throws Exception { + stubGet(ORDERS_JSON, 200, URL_ORDERS); + OpenOrders response = service.getOpenOrders(); + assertThat(response).isNotNull(); + List allOrders = response.getAllOpenOrders(); + assertThat(allOrders).isNotEmpty(); + Order order = allOrders.get(0); + assertThat(order).isNotNull(); + assertThat(order.getOriginalAmount()).isNotNull().isPositive(); + assertThat(order.getId()).isEqualTo(ORDER_ID); + } + + @Test(timeout = 2000) + public void placeLimitOrderSuccess() throws Exception { + String response = placeLimitOrder(); + assertThat(response).isEqualTo(ORDER_ID); + } + + @Test(timeout = 2000) + public void placeMarketOrderSuccess() throws Exception { + String response = placeMarketOrder(); + assertThat(response).isEqualTo(MARKET_ORDER_ID); + } + + @Test(timeout = 2000) + public void placeStopOrderSuccess() throws Exception { + String response = placeStopOrder(); + assertThat(response).isEqualTo(STOP_ORDER_ID); + } + + @Test(timeout = 2000) + public void cancelOrderSuccess() throws Exception { + Boolean response = cancelOrder(200); + assertThat(response).isEqualTo(true); + } + + @Test(timeout = 2000) + public void cancelOrderFailure() { + Throwable exception = catchThrowable(() -> cancelOrder(400)); + assertThat(exception).isInstanceOf(HttpStatusIOException.class).hasMessage(HTTP_CODE_400); + } + + @Test(timeout = 2000) + public void cancelOrderByCurrency() throws Exception { + CancelOrderByCurrencyPair cancelOrderByCurrencyPair = () -> new CurrencyPair("BTC/USD"); + Boolean response = cancelAllOrder(cancelOrderByCurrencyPair); + assertThat(response).isEqualTo(true); + } + + @Test(timeout = 2000) + public void getTrades() throws Exception { + BlockchainTradeHistoryParams params = + (BlockchainTradeHistoryParams) service.createTradeHistoryParams(); + ((TradeHistoryParamsTimeSpan) params) + .setStartTime(new Date(System.currentTimeMillis() - END_TIME)); + + params.setCurrencyPair(CurrencyPair.BTC_USDT); + + stubGet(ORDERS_JSON, 200, URL_TRADES); + UserTrades response = service.getTradeHistory(params); + assertThat(response).isNotNull(); List userTrades = response.getUserTrades(); - assertThat(userTrades).isNotEmpty(); - UserTrade trade = userTrades.get(0); - assertThat(trade).isNotNull(); - assertThat(trade.getOriginalAmount()).isNotNull().isPositive(); - assertThat(trade.getPrice()).isNotNull().isPositive(); - } - - @Test(timeout = 2000) - public void getOrderSuccess() throws Exception { - stubGet(NEW_ORDER_LIMIT_JSON, 200, URL_ORDERS_BY_ID_1); - stubGet(NEW_ORDER_MARKET_JSON, 200, URL_ORDERS_BY_ID_2); - Collection response = service.getOrder("11111111", "22222222"); - assertThat(response).isNotNull(); - assertThat(response).isNotEmpty(); - response.forEach( - record -> Assert.assertTrue(record.getOriginalAmount().compareTo(BigDecimal.ZERO) > 0)); - - } - - @Test(timeout = 2000) - public void getOrderFailure() { - stubGet(ORDER_NOT_FOUND_JSON, 404, URL_ORDERS_BY_ID); - Throwable exception = catchThrowable(() -> service.getOrder("111111211")); - assertThat(exception) - .isInstanceOf(RateLimitExceededException.class) - .hasMessage(STATUS_CODE_404); - - } - - private String placeLimitOrder() throws IOException { - stubPost(NEW_ORDER_LIMIT_JSON, 200, URL_ORDERS); - - LimitOrder limitOrder = - new LimitOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) - .originalAmount(new BigDecimal("45.0")) - .limitPrice(new BigDecimal("0.23")) - .build(); - - return service.placeLimitOrder(limitOrder); - } - - private String placeMarketOrder() throws IOException { - stubPost(NEW_ORDER_MARKET_JSON, 200, URL_ORDERS); - - MarketOrder marketOrder = - new MarketOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) - .originalAmount(new BigDecimal("15.0")) - .cumulativeAmount(new BigDecimal("0.22")) - .build(); - - return service.placeMarketOrder(marketOrder); - } - - private String placeStopOrder() throws IOException { - stubPost(NEW_ORDER_STOP_JSON, 200, URL_ORDERS); - - StopOrder stopOrder = - new StopOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) - .originalAmount(new BigDecimal("67.0")) - .stopPrice(new BigDecimal("0.21")) - .build(); - - return service.placeStopOrder(stopOrder); - } - - private Boolean cancelOrder(int statusCode) throws IOException { - stubDelete(statusCode, URL_ORDERS_BY_ID_1); - - return service.cancelOrder(ORDER_ID); - } - - private Boolean cancelAllOrder(CancelOrderByCurrencyPair orderParams) throws IOException { - stubDelete(200, URL_ORDERS); - - return service.cancelOrder(orderParams); - } + assertThat(userTrades).isNotEmpty(); + UserTrade trade = userTrades.get(0); + assertThat(trade).isNotNull(); + assertThat(trade.getOriginalAmount()).isNotNull().isPositive(); + assertThat(trade.getPrice()).isNotNull().isPositive(); + } + + @Test(timeout = 2000) + public void getOrderSuccess() throws Exception { + stubGet(NEW_ORDER_LIMIT_JSON, 200, URL_ORDERS_BY_ID_1); + stubGet(NEW_ORDER_MARKET_JSON, 200, URL_ORDERS_BY_ID_2); + Collection response = service.getOrder("11111111", "22222222"); + assertThat(response).isNotNull(); + assertThat(response).isNotEmpty(); + response.forEach( + record -> Assert.assertTrue(record.getOriginalAmount().compareTo(BigDecimal.ZERO) > 0)); + } + + @Test(timeout = 2000) + public void getOrderFailure() { + stubGet(ORDER_NOT_FOUND_JSON, 404, URL_ORDERS_BY_ID); + Throwable exception = catchThrowable(() -> service.getOrder("111111211")); + assertThat(exception) + .isInstanceOf(RateLimitExceededException.class) + .hasMessage(STATUS_CODE_404); + } + + private String placeLimitOrder() throws IOException { + stubPost(NEW_ORDER_LIMIT_JSON, 200, URL_ORDERS); + + LimitOrder limitOrder = + new LimitOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) + .originalAmount(new BigDecimal("45.0")) + .limitPrice(new BigDecimal("0.23")) + .build(); + + return service.placeLimitOrder(limitOrder); + } + + private String placeMarketOrder() throws IOException { + stubPost(NEW_ORDER_MARKET_JSON, 200, URL_ORDERS); + + MarketOrder marketOrder = + new MarketOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) + .originalAmount(new BigDecimal("15.0")) + .cumulativeAmount(new BigDecimal("0.22")) + .build(); + + return service.placeMarketOrder(marketOrder); + } + + private String placeStopOrder() throws IOException { + stubPost(NEW_ORDER_STOP_JSON, 200, URL_ORDERS); + + StopOrder stopOrder = + new StopOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) + .originalAmount(new BigDecimal("67.0")) + .stopPrice(new BigDecimal("0.21")) + .build(); + + return service.placeStopOrder(stopOrder); + } + + private Boolean cancelOrder(int statusCode) throws IOException { + stubDelete(statusCode, URL_ORDERS_BY_ID_1); + + return service.cancelOrder(ORDER_ID); + } + + private Boolean cancelAllOrder(CancelOrderByCurrencyPair orderParams) throws IOException { + stubDelete(200, URL_ORDERS); + + return service.cancelOrder(orderParams); + } } diff --git a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/utils/BlockchainConstants.java b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/utils/BlockchainConstants.java index f7972dd7a82..fbbc5eb61fb 100644 --- a/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/utils/BlockchainConstants.java +++ b/xchange-blockchain/src/test/java/org/knowm/xchange/blockchain/service/utils/BlockchainConstants.java @@ -4,48 +4,48 @@ @UtilityClass public class BlockchainConstants { - public static final String URL_ACCOUNT = "/v3/exchange/accounts"; - public static final String URL_DEPOSITS = "/v3/exchange/deposits"; - public static final String URL_FEES = "/v3/exchange/fees"; - public static final String URL_SYMBOLS = "/v3/exchange/symbols"; - public static final String URL_DEPOSIT_BY_CURRENCY = "/v3/exchange/deposits/BTC"; - public static final String URL_WITHDRAWALS = "/v3/exchange/withdrawals"; - public static final String URL_ORDERS = "/v3/exchange/orders"; - public static final String URL_ORDERS_BY_ID_1 = "/v3/exchange/orders/11111111"; - public static final String URL_ORDERS_BY_ID_2 = "/v3/exchange/orders/22222222"; - public static final String URL_ORDERS_BY_ID = "/v3/exchange/orders/111111211"; - public static final String URL_TRADES = "/v3/exchange/trades"; - public static final String URL_ORDERBOOOK_L3 = "/v3/exchange/l3/BTC-USD"; - public static final String WITHDRAWAL_ID = "3QXYWgRGX2BPYBpUDBssGbeWEa5zq6snBZ"; - public static final String STATUS_CODE_401 = "Unauthorized (HTTP status code: 401)"; - public static final String STATUS_CODE_400 = "Bad Request (HTTP status code: 400)"; - public static final String STATUS_CODE_404 = " (HTTP status code: 404)"; - public static final String HTTP_CODE_400 = "HTTP status code was not OK: 400"; - public static final String STATUS_CODE_500 = " (HTTP status code: 500)"; - public static final String ADDRESS = "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"; - public static final String ADDRESS_DEPOSIT = "3CrbF4Z45fnJs62jFs1p3LkR8KiZSGKJFL"; - public static final String ACCOUNT_INFORMATION_JSON = "accountInformation.json"; - public static final String ORDERS_JSON = "orders.json"; - public static final String ORDERBOOK_JSON = "orderbook.json"; - public static final String ORDERBOOK_FAILURE_JSON = "orderbook_failure.json"; - public static final String NEW_ORDER_MARKET_JSON = "new_order_market.json"; - public static final String NEW_ORDER_LIMIT_JSON = "new_order_limit.json"; - public static final String NEW_ORDER_STOP_JSON = "new_order_stop.json"; - public static final String ORDER_NOT_FOUND_JSON = "order_not_found.json"; - public static final String DEPOSIT_SUCCESS_JSON = "deposit-success.json"; - public static final String WITHDRAWAL_SUCCESS_JSON = "withdraw-success.json"; - public static final String WITHDRAWAL_FAILURE_JSON = "withdraw-failure.json"; - public static final String DEPOSIT_HISTORY_SUCCESS_JSON = "depositHistory-success.json"; - public static final String WITHDRAWAL_HISTORY_SUCCESS_JSON = "withdrawHistory-success.json"; - public static final String FEES_JSON = "fees.json"; - public static final String SYMBOL_JSON = "symbols.json"; - public static final String DEPOSIT_FAILURE_JSON = "deposit-failure.json"; - public static final String NOT_IMPLEMENTED_YET = "Not implemented yet"; - public static final String BENEFICIARY = "ea1f34b3-e77a-4646-9cfa-5d6d3518c6d3"; - public static final String ORDER_ID = "11111111"; - public static final String MARKET_ORDER_ID = "22222222"; - public static final String STOP_ORDER_ID = "33333333"; - public static final Long END_TIME = 12 * 30 * 24 * 60 * 60 * 1000L; - public static final String CONTENT_TYPE = "Content-Type"; - public static final String APPLICATION = "application/json"; + public static final String URL_ACCOUNT = "/v3/exchange/accounts"; + public static final String URL_DEPOSITS = "/v3/exchange/deposits"; + public static final String URL_FEES = "/v3/exchange/fees"; + public static final String URL_SYMBOLS = "/v3/exchange/symbols"; + public static final String URL_DEPOSIT_BY_CURRENCY = "/v3/exchange/deposits/BTC"; + public static final String URL_WITHDRAWALS = "/v3/exchange/withdrawals"; + public static final String URL_ORDERS = "/v3/exchange/orders"; + public static final String URL_ORDERS_BY_ID_1 = "/v3/exchange/orders/11111111"; + public static final String URL_ORDERS_BY_ID_2 = "/v3/exchange/orders/22222222"; + public static final String URL_ORDERS_BY_ID = "/v3/exchange/orders/111111211"; + public static final String URL_TRADES = "/v3/exchange/trades"; + public static final String URL_ORDERBOOOK_L3 = "/v3/exchange/l3/BTC-USD"; + public static final String WITHDRAWAL_ID = "3QXYWgRGX2BPYBpUDBssGbeWEa5zq6snBZ"; + public static final String STATUS_CODE_401 = "Unauthorized (HTTP status code: 401)"; + public static final String STATUS_CODE_400 = "Bad Request (HTTP status code: 400)"; + public static final String STATUS_CODE_404 = " (HTTP status code: 404)"; + public static final String HTTP_CODE_400 = "HTTP status code was not OK: 400"; + public static final String STATUS_CODE_500 = " (HTTP status code: 500)"; + public static final String ADDRESS = "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"; + public static final String ADDRESS_DEPOSIT = "3CrbF4Z45fnJs62jFs1p3LkR8KiZSGKJFL"; + public static final String ACCOUNT_INFORMATION_JSON = "accountInformation.json"; + public static final String ORDERS_JSON = "orders.json"; + public static final String ORDERBOOK_JSON = "orderbook.json"; + public static final String ORDERBOOK_FAILURE_JSON = "orderbook_failure.json"; + public static final String NEW_ORDER_MARKET_JSON = "new_order_market.json"; + public static final String NEW_ORDER_LIMIT_JSON = "new_order_limit.json"; + public static final String NEW_ORDER_STOP_JSON = "new_order_stop.json"; + public static final String ORDER_NOT_FOUND_JSON = "order_not_found.json"; + public static final String DEPOSIT_SUCCESS_JSON = "deposit-success.json"; + public static final String WITHDRAWAL_SUCCESS_JSON = "withdraw-success.json"; + public static final String WITHDRAWAL_FAILURE_JSON = "withdraw-failure.json"; + public static final String DEPOSIT_HISTORY_SUCCESS_JSON = "depositHistory-success.json"; + public static final String WITHDRAWAL_HISTORY_SUCCESS_JSON = "withdrawHistory-success.json"; + public static final String FEES_JSON = "fees.json"; + public static final String SYMBOL_JSON = "symbols.json"; + public static final String DEPOSIT_FAILURE_JSON = "deposit-failure.json"; + public static final String NOT_IMPLEMENTED_YET = "Not implemented yet"; + public static final String BENEFICIARY = "ea1f34b3-e77a-4646-9cfa-5d6d3518c6d3"; + public static final String ORDER_ID = "11111111"; + public static final String MARKET_ORDER_ID = "22222222"; + public static final String STOP_ORDER_ID = "33333333"; + public static final Long END_TIME = 12 * 30 * 24 * 60 * 60 * 1000L; + public static final String CONTENT_TYPE = "Content-Type"; + public static final String APPLICATION = "application/json"; } diff --git a/xchange-btcc/src/main/java/org/knowm/xchange/btcc/BTCC.java b/xchange-btcc/src/main/java/org/knowm/xchange/btcc/BTCC.java index 30d4f39f9bb..524c579e892 100644 --- a/xchange-btcc/src/main/java/org/knowm/xchange/btcc/BTCC.java +++ b/xchange-btcc/src/main/java/org/knowm/xchange/btcc/BTCC.java @@ -1,12 +1,12 @@ package org.knowm.xchange.btcc; -import java.io.IOException; -import java.util.Map; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Map; import org.knowm.xchange.btcc.dto.marketdata.BTCCTicker; @Path("data/pro/") @@ -16,4 +16,4 @@ public interface BTCC { @GET @Path("ticker?symbol={symbol}") Map getMarketTicker(@PathParam("symbol") String symbol) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarkets.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarkets.java index 07ecbbe5514..70c392c175b 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarkets.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarkets.java @@ -1,13 +1,13 @@ package org.knowm.xchange.btcmarkets; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.btcmarkets.dto.marketdata.BTCMarketsOrderBook; import org.knowm.xchange.btcmarkets.dto.marketdata.BTCMarketsTicker; import org.knowm.xchange.btcmarkets.dto.v3.marketdata.BTCMarketsTrade; @@ -40,4 +40,4 @@ List getTrades( @QueryParam("limit") Integer limit, @PathParam("marketId") String marketId) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsAuthenticated.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsAuthenticated.java index 2e715d04d02..1da2a2404fe 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsAuthenticated.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.btcmarkets; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -9,6 +7,8 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.btcmarkets.dto.BTCMarketsException; import org.knowm.xchange.btcmarkets.dto.account.BTCMarketsBalance; import org.knowm.xchange.btcmarkets.dto.account.BTCMarketsFundtransferHistoryResponse; @@ -81,4 +81,4 @@ BTCMarketsFundtransferHistoryResponse fundtransferHistory( @HeaderParam("timestamp") SynchronizedValueFactory nonceFactory, @HeaderParam("signature") BTCMarketsDigest signer) throws BTCMarketsException, IOException; -} \ No newline at end of file +} diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsAuthenticatedV3.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsAuthenticatedV3.java index 4a13e060f82..4aecbc849ed 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsAuthenticatedV3.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsAuthenticatedV3.java @@ -1,7 +1,5 @@ package org.knowm.xchange.btcmarkets; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -10,6 +8,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.btcmarkets.dto.v3.BTCMarketsExceptionV3; import org.knowm.xchange.btcmarkets.dto.v3.account.BTCMarketsAddressesResponse; import org.knowm.xchange.btcmarkets.dto.v3.account.BTCMarketsTradingFeesResponse; @@ -61,4 +61,4 @@ BTCMarketsTradingFeesResponse tradingFees( @HeaderParam("BM-AUTH-TIMESTAMP") SynchronizedValueFactory nonceFactory, @HeaderParam("BM-AUTH-SIGNATURE") BTCMarketsDigestV3 signer) throws BTCMarketsExceptionV3, IOException; -} \ No newline at end of file +} diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsExchange.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsExchange.java index 310730e65fd..a19228b1cf1 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsExchange.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/BTCMarketsExchange.java @@ -7,7 +7,9 @@ import org.knowm.xchange.btcmarkets.service.BTCMarketsMarketDataService; import org.knowm.xchange.btcmarkets.service.BTCMarketsTradeService; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BTCMarketsExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/dto/account/BTCMarketsBalance.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/dto/account/BTCMarketsBalance.java index 5f39de27fa4..fc2c914ec42 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/dto/account/BTCMarketsBalance.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/dto/account/BTCMarketsBalance.java @@ -6,7 +6,9 @@ import org.knowm.xchange.utils.jackson.BtcToSatoshi; import org.knowm.xchange.utils.jackson.SatoshiToBtc; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BTCMarketsBalance { @JsonSerialize(using = BtcToSatoshi.class) diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsAccountService.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsAccountService.java index a9859d67407..7888d6c9fe7 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsAccountService.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsAccountService.java @@ -20,7 +20,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BTCMarketsAccountService extends BTCMarketsAccountServiceRaw implements AccountService { diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsDigest.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsDigest.java index 1da6c06477d..e8868d40768 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsDigest.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsDigest.java @@ -1,8 +1,8 @@ package org.knowm.xchange.btcmarkets.service; +import jakarta.ws.rs.HeaderParam; import java.util.Base64; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; @@ -40,4 +40,4 @@ String digest(String url, String nonce, String requestBody, String queryString) return Base64.getEncoder().encodeToString(mac.doFinal()); } -} \ No newline at end of file +} diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsDigestV3.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsDigestV3.java index 357b15b0fac..029008e04e8 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsDigestV3.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsDigestV3.java @@ -1,8 +1,8 @@ package org.knowm.xchange.btcmarkets.service; +import jakarta.ws.rs.HeaderParam; import java.util.Base64; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; @@ -28,4 +28,4 @@ public String sign(String stringToSign) { mac.update(stringToSign.getBytes()); return Base64.getEncoder().encodeToString(mac.doFinal()); } -} \ No newline at end of file +} diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsMarketDataService.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsMarketDataService.java index 4694750c803..efa5292a85c 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsMarketDataService.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsMarketDataService.java @@ -12,7 +12,9 @@ import org.knowm.xchange.service.marketdata.MarketDataService; import org.knowm.xchange.service.marketdata.params.Params; -/** @author Matija Mazi (with additions from CDP) */ +/** + * @author Matija Mazi (with additions from CDP) + */ public class BTCMarketsMarketDataService extends BTCMarketsMarketDataServiceRaw implements MarketDataService { @@ -37,7 +39,9 @@ public Trades getTrades(CurrencyPair currencyPair, Object... args) throws IOExce return BTCMarketsAdapters.adaptMarketTrades(getBTCMarketsTrade(currencyPair), currencyPair); } - /** @param params use {@link BTCMarketsMarketTradeParams} for params */ + /** + * @param params use {@link BTCMarketsMarketTradeParams} for params + */ @Override public Trades getTrades(Params params) throws IOException { diff --git a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsTradeService.java b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsTradeService.java index 4911e66dd31..b6eb8d8de79 100644 --- a/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsTradeService.java +++ b/xchange-btcmarkets/src/main/java/org/knowm/xchange/btcmarkets/service/BTCMarketsTradeService.java @@ -36,7 +36,9 @@ import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; import org.knowm.xchange.service.trade.params.orders.OrderQueryParams; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BTCMarketsTradeService extends BTCMarketsTradeServiceRaw implements TradeService { public BTCMarketsTradeService(Exchange exchange) { diff --git a/xchange-btcmarkets/src/test/java/org/knowm/xchange/btcmarkets/BTCMarketsExchangeTest.java b/xchange-btcmarkets/src/test/java/org/knowm/xchange/btcmarkets/BTCMarketsExchangeTest.java index 2940a11ba14..3dcab012a16 100644 --- a/xchange-btcmarkets/src/test/java/org/knowm/xchange/btcmarkets/BTCMarketsExchangeTest.java +++ b/xchange-btcmarkets/src/test/java/org/knowm/xchange/btcmarkets/BTCMarketsExchangeTest.java @@ -1,6 +1,7 @@ package org.knowm.xchange.btcmarkets; import org.knowm.xchange.btcmarkets.service.BTCMarketsTestSupport; + // Note: // I tried my best to get powermock to work after adding a logback.xml file to suppress verbose // logging but there are some Java 9* issues diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurk.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurk.java index 800b95c261e..6b08b3da4cf 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurk.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurk.java @@ -1,12 +1,12 @@ package org.knowm.xchange.btcturk; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.btcturk.dto.marketdata.BTCTurkOHLC; import org.knowm.xchange.btcturk.dto.marketdata.BTCTurkOrderBook; import org.knowm.xchange.btcturk.dto.marketdata.BTCTurkTicker; @@ -47,4 +47,4 @@ List getTrades( List getOHLC( @QueryParam("pairSymbol") String pairSymbol, @QueryParam("last") Integer last) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurkAdapters.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurkAdapters.java index 606a75c23e9..4b9c631e3f0 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurkAdapters.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurkAdapters.java @@ -74,6 +74,7 @@ public static List adaptTicker(List btcTurkTickers) { } return result; } + /** * Adapts a BTCTurkTrade[] to a Trades Object * diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurkAuthenticated.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurkAuthenticated.java index a94490a8227..00616fbfdd8 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurkAuthenticated.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/BTCTurkAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.btcturk; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; @@ -11,6 +9,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.btcturk.dto.account.BTCTurkAccountBalance; import org.knowm.xchange.btcturk.dto.account.BTCTurkDepositRequestResult; import org.knowm.xchange.btcturk.dto.account.BTCTurkUserTransactions; @@ -21,7 +21,9 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -/** @author mertguner */ +/** + * @author mertguner + */ @Path("api/") @Produces(MediaType.APPLICATION_JSON) public interface BTCTurkAuthenticated extends BTCTurk { @@ -290,4 +292,4 @@ Boolean cancelWithdrawalRequest( @HeaderParam("X-Stamp") SynchronizedValueFactory stamp, @HeaderParam("X-Signature") ParamsDigest signature) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOperations.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOperations.java index aca59b5493c..852f5d6e039 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOperations.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOperations.java @@ -2,7 +2,9 @@ import org.knowm.xchange.dto.account.FundingRecord.Type; -/** @author mertguner */ +/** + * @author mertguner + */ public enum BTCTurkOperations { sell("sell"), trade("trade"), diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOrderMethods.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOrderMethods.java index e19cad34d40..592e41cc409 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOrderMethods.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOrderMethods.java @@ -1,6 +1,8 @@ package org.knowm.xchange.btcturk.dto; -/** @author mertguner */ +/** + * @author mertguner + */ public enum BTCTurkOrderMethods { LIMIT(0), MARKET(1), diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOrderTypes.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOrderTypes.java index ab643286f2f..57bd4118a4f 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOrderTypes.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkOrderTypes.java @@ -1,6 +1,8 @@ package org.knowm.xchange.btcturk.dto; -/** @author mertguner */ +/** + * @author mertguner + */ public enum BTCTurkOrderTypes { Buy(0), Sell(1); diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkPair.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkPair.java index e2215230df0..72feb149ebc 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkPair.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkPair.java @@ -4,7 +4,9 @@ import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.utils.jackson.CurrencyPairDeserializer; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkPair { public final CurrencyPair pair; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkSort.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkSort.java index 80058ecabb3..499730b65f7 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkSort.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/BTCTurkSort.java @@ -1,6 +1,8 @@ package org.knowm.xchange.btcturk.dto; -/** @author mertguner */ +/** + * @author mertguner + */ public enum BTCTurkSort { SORT_ASCENDING("asc"), SORT_DESCENDING("desc"); diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkAccountBalance.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkAccountBalance.java index b63d296850d..a5f0106eb81 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkAccountBalance.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkAccountBalance.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkAccountBalance { private final BigDecimal try_balance; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkBankAccount.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkBankAccount.java index d37dffcca9e..4602640b148 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkBankAccount.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkBankAccount.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkBankAccount { private final String bankName; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkDepositRequest.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkDepositRequest.java index f0dccd78811..02d3ddbcac6 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkDepositRequest.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkDepositRequest.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkDepositRequest { private final String amount; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkDepositRequestResult.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkDepositRequestResult.java index 913a0524a5a..e1fd1692e4a 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkDepositRequestResult.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkDepositRequestResult.java @@ -4,7 +4,9 @@ import java.math.BigDecimal; import java.util.List; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkDepositRequestResult { private final String id; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkKeyValues.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkKeyValues.java index 824b1fce85a..4942ae19708 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkKeyValues.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkKeyValues.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkKeyValues { private final String key; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkUserTransactions.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkUserTransactions.java index 6a523893568..8f577e55d0a 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkUserTransactions.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkUserTransactions.java @@ -6,7 +6,9 @@ import org.knowm.xchange.btcturk.dto.BTCTurkOperations; import org.knowm.xchange.currency.Currency; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkUserTransactions { private final String id; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkWithdrawalRequest.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkWithdrawalRequest.java index 526021e56c5..602953ce655 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkWithdrawalRequest.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkWithdrawalRequest.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkWithdrawalRequest { private final String iban; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkWithdrawalRequestInfo.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkWithdrawalRequestInfo.java index ca790231469..18d41bf3628 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkWithdrawalRequestInfo.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/account/BTCTurkWithdrawalRequestInfo.java @@ -4,7 +4,9 @@ import java.math.BigDecimal; import java.util.List; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkWithdrawalRequestInfo { private final String iban; private final List bankList; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/marketdata/BTCTurkOrderBook.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/marketdata/BTCTurkOrderBook.java index 3a83f8e5340..c8cfc29fe5b 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/marketdata/BTCTurkOrderBook.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/marketdata/BTCTurkOrderBook.java @@ -5,7 +5,9 @@ import java.util.Date; import java.util.List; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class BTCTurkOrderBook { private final Date timestamp; @@ -28,7 +30,9 @@ public BTCTurkOrderBook( this.timestamp = new Date(timestamp); } - /** @return Timestamp in Unix milliseconds */ + /** + * @return Timestamp in Unix milliseconds + */ public Date getTimestamp() { return timestamp; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkCancelOrderRequest.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkCancelOrderRequest.java index 1dee85e73ba..bbcdea786c6 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkCancelOrderRequest.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkCancelOrderRequest.java @@ -1,6 +1,8 @@ package org.knowm.xchange.btcturk.dto.trade; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkCancelOrderRequest { private long id; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkCancelOrderResult.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkCancelOrderResult.java index 91d2652b514..a5ce3880564 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkCancelOrderResult.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkCancelOrderResult.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkCancelOrderResult { private final Boolean result; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkExchangeResult.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkExchangeResult.java index f0cc753585c..6d6d9f09de2 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkExchangeResult.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkExchangeResult.java @@ -5,7 +5,9 @@ import java.util.Date; import org.knowm.xchange.btcturk.dto.BTCTurkOrderTypes; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkExchangeResult { private final String id; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOpenOrders.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOpenOrders.java index aec4933bcb9..d8c66aaeacf 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOpenOrders.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOpenOrders.java @@ -5,7 +5,9 @@ import java.util.Date; import org.knowm.xchange.btcturk.dto.BTCTurkPair; -/** @author mertguner */ +/** + * @author mertguner + */ public final class BTCTurkOpenOrders { private final String id; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOrder.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOrder.java index 065f302cd3d..b8b0d64eea5 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOrder.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOrder.java @@ -5,7 +5,9 @@ import org.knowm.xchange.btcturk.dto.BTCTurkOrderTypes; import org.knowm.xchange.btcturk.dto.BTCTurkPair; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkOrder { private BTCTurkOrderMethods OrderMethod; private String Price; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkAccountService.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkAccountService.java index ce097045642..2417d5ef863 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkAccountService.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkAccountService.java @@ -12,7 +12,9 @@ import org.knowm.xchange.service.account.AccountService; import org.knowm.xchange.service.trade.params.TradeHistoryParams; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkAccountService extends BTCTurkAccountServiceRaw implements AccountService { public BTCTurkAccountService(Exchange exchange) { diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkAccountServiceRaw.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkAccountServiceRaw.java index 6863e0dccd8..95d50e6d7a7 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkAccountServiceRaw.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkAccountServiceRaw.java @@ -7,7 +7,9 @@ import org.knowm.xchange.btcturk.dto.account.BTCTurkAccountBalance; import org.knowm.xchange.btcturk.dto.account.BTCTurkUserTransactions; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkAccountServiceRaw extends BTCTurkBaseService { public BTCTurkAccountServiceRaw(Exchange exchange) { diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkDigest.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkDigest.java index 4855f43770c..120f9de080c 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkDigest.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkDigest.java @@ -8,7 +8,9 @@ import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkDigest extends BaseParamsDigest { private byte[] SecretKey; diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkTradeService.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkTradeService.java index 58c25951abd..f4c9b669dce 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkTradeService.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkTradeService.java @@ -24,7 +24,9 @@ import org.knowm.xchange.service.trade.params.orders.DefaultOpenOrdersParamCurrencyPair; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkTradeService extends BTCTurkTradeServiceRaw implements TradeService { public BTCTurkTradeService(Exchange exchange) { diff --git a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkTradeServiceRaw.java b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkTradeServiceRaw.java index 28a78d0ee8f..f519b032944 100644 --- a/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkTradeServiceRaw.java +++ b/xchange-btcturk/src/main/java/org/knowm/xchange/btcturk/service/BTCTurkTradeServiceRaw.java @@ -18,7 +18,9 @@ import org.knowm.xchange.btcturk.dto.trade.BTCTurkOrder; import org.knowm.xchange.currency.CurrencyPair; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkTradeServiceRaw extends BTCTurkBaseService { public BTCTurkTradeServiceRaw(Exchange exchange) { diff --git a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/account/BTCTurkBalanceTest.java b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/account/BTCTurkBalanceTest.java index 6adb4414531..35f6c9ae165 100644 --- a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/account/BTCTurkBalanceTest.java +++ b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/account/BTCTurkBalanceTest.java @@ -9,7 +9,9 @@ import org.junit.Test; import org.knowm.xchange.btcturk.dto.marketdata.BTCTurkTickerTest; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkBalanceTest { @Test diff --git a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/account/BTCTurkUserTransactionsTest.java b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/account/BTCTurkUserTransactionsTest.java index bfbd56120d1..c02f7e20ef7 100644 --- a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/account/BTCTurkUserTransactionsTest.java +++ b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/account/BTCTurkUserTransactionsTest.java @@ -12,7 +12,9 @@ import org.knowm.xchange.currency.Currency; import org.knowm.xchange.utils.DateUtils; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkUserTransactionsTest { @Test diff --git a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/marketdata/BTCTurkTradesTest.java b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/marketdata/BTCTurkTradesTest.java index ff16b5c01ec..9b93b711bf3 100644 --- a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/marketdata/BTCTurkTradesTest.java +++ b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/marketdata/BTCTurkTradesTest.java @@ -9,7 +9,9 @@ import org.junit.Test; import org.knowm.xchange.utils.DateUtils; -/** @author semihunaldi Test BTCTurkTrade[] JSON parsing */ +/** + * @author semihunaldi Test BTCTurkTrade[] JSON parsing + */ public class BTCTurkTradesTest { @Test diff --git a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkExchangeResultTest.java b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkExchangeResultTest.java index d0d3b6d4cbc..5f3ac7eab6b 100644 --- a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkExchangeResultTest.java +++ b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkExchangeResultTest.java @@ -11,7 +11,9 @@ import org.knowm.xchange.btcturk.dto.marketdata.BTCTurkTickerTest; import org.knowm.xchange.utils.DateUtils; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkExchangeResultTest { @Test public void testWithStaticData() throws IOException { diff --git a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOpenOrdersTest.java b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOpenOrdersTest.java index 162bc36786c..f382ebfd3f3 100644 --- a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOpenOrdersTest.java +++ b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOpenOrdersTest.java @@ -11,7 +11,9 @@ import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.utils.DateUtils; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkOpenOrdersTest { @Test diff --git a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOrderTest.java b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOrderTest.java index b015735840c..68b78d8f8bf 100644 --- a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOrderTest.java +++ b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/dto/trade/BTCTurkOrderTest.java @@ -11,7 +11,9 @@ import org.knowm.xchange.btcturk.dto.marketdata.BTCTurkTickerTest; import org.knowm.xchange.currency.CurrencyPair; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkOrderTest { @Test diff --git a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/BTCTurkDemoUtilsTest.java b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/BTCTurkDemoUtilsTest.java index 052b3738515..8fb0bc80231 100644 --- a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/BTCTurkDemoUtilsTest.java +++ b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/BTCTurkDemoUtilsTest.java @@ -1,6 +1,8 @@ package org.knowm.xchange.btcturk.service; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkDemoUtilsTest { public static final String BTCTURK_APIKEY = ""; diff --git a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/account/AccountDataFetchIntegration.java b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/account/AccountDataFetchIntegration.java index 11618a91af1..b5d7df643e8 100644 --- a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/account/AccountDataFetchIntegration.java +++ b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/account/AccountDataFetchIntegration.java @@ -16,7 +16,9 @@ import org.knowm.xchange.dto.account.AccountInfo; import org.knowm.xchange.service.account.AccountService; -/** @author mertguner */ +/** + * @author mertguner + */ public class AccountDataFetchIntegration { private Exchange btcTurk; diff --git a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/trade/TradeDataFetchIntegration.java b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/trade/TradeDataFetchIntegration.java index 1bc45f25898..cbfb6d5f441 100644 --- a/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/trade/TradeDataFetchIntegration.java +++ b/xchange-btcturk/src/test/java/org/knowm/xchange/btcturk/service/trade/TradeDataFetchIntegration.java @@ -20,7 +20,9 @@ import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.service.trade.TradeService; -/** @author mertguner */ +/** + * @author mertguner + */ public class TradeDataFetchIntegration { private Exchange btcTurk; diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/Bybit.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/Bybit.java index cfcb9778c52..81ed96b6329 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/Bybit.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/Bybit.java @@ -1,12 +1,12 @@ package org.knowm.xchange.bybit; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.bybit.dto.BybitResult; import org.knowm.xchange.bybit.dto.marketdata.BybitSymbol; import org.knowm.xchange.bybit.dto.marketdata.BybitTicker; @@ -21,7 +21,8 @@ public interface Bybit { */ @GET @Path("/v2/public/tickers") - BybitResult> getTicker24h(@QueryParam("symbol") String symbol) throws IOException, BybitException; + BybitResult> getTicker24h(@QueryParam("symbol") String symbol) + throws IOException, BybitException; /** * @apiSpec API @@ -29,5 +30,4 @@ public interface Bybit { @GET @Path("/v2/public/symbols") BybitResult> getSymbols() throws IOException, BybitException; - -} \ No newline at end of file +} diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitAdapters.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitAdapters.java index 9178a3b8929..da5470e4f50 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitAdapters.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitAdapters.java @@ -1,5 +1,10 @@ package org.knowm.xchange.bybit; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; import org.knowm.xchange.bybit.dto.BybitResult; import org.knowm.xchange.bybit.dto.account.BybitBalance; import org.knowm.xchange.bybit.dto.trade.BybitOrderDetails; @@ -11,12 +16,6 @@ import org.knowm.xchange.dto.account.Wallet; import org.knowm.xchange.dto.trade.LimitOrder; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; - public class BybitAdapters { public static final List QUOTE_CURRENCIES = Arrays.asList("USDT", "USDC", "BTC", "DAI"); @@ -24,19 +23,18 @@ public class BybitAdapters { public static Wallet adaptBybitBalances(List bybitBalances) { List balances = new ArrayList<>(bybitBalances.size()); for (BybitBalance bybitBalance : bybitBalances) { - balances.add(new Balance(new Currency(bybitBalance.getCoin()), + balances.add( + new Balance( + new Currency(bybitBalance.getCoin()), new BigDecimal(bybitBalance.getTotal()), - new BigDecimal(bybitBalance.getFree()) - )); + new BigDecimal(bybitBalance.getFree()))); } return Wallet.Builder.from(balances).build(); } public static String getSideString(Order.OrderType type) { - if (type == Order.OrderType.ASK) - return "Sell"; - if (type == Order.OrderType.BID) - return "Buy"; + if (type == Order.OrderType.ASK) return "Sell"; + if (type == Order.OrderType.BID) return "Buy"; throw new IllegalArgumentException("invalid order type"); } @@ -63,19 +61,18 @@ public static CurrencyPair guessSymbol(String symbol) { } int splitIndex = symbol.length() - 3; return new CurrencyPair(symbol.substring(0, splitIndex), symbol.substring(splitIndex)); - } public static LimitOrder adaptBybitOrderDetails(BybitOrderDetails bybitOrderResult) { - LimitOrder limitOrder = new LimitOrder( + LimitOrder limitOrder = + new LimitOrder( getOrderType(bybitOrderResult.getSide()), new BigDecimal(bybitOrderResult.getOrigQty()), new BigDecimal(bybitOrderResult.getExecutedQty()), guessSymbol(bybitOrderResult.getSymbol()), bybitOrderResult.getOrderId(), new Date(Long.parseLong(bybitOrderResult.getTime())), - new BigDecimal(bybitOrderResult.getPrice())) { - }; + new BigDecimal(bybitOrderResult.getPrice())) {}; BigDecimal averagePrice = new BigDecimal(bybitOrderResult.getAvgPrice()); limitOrder.setAveragePrice(averagePrice); limitOrder.setOrderStatus(Order.OrderStatus.valueOf(bybitOrderResult.getStatus())); @@ -84,10 +81,9 @@ public static LimitOrder adaptBybitOrderDetails(BybitOrderDetails bybitOrderResu public static BybitException createBybitExceptionFromResult(BybitResult walletBalances) { return new BybitException( - walletBalances.getRetCode(), - walletBalances.getRetMsg(), - walletBalances.getExtCode(), - walletBalances.getExtCode() - ); + walletBalances.getRetCode(), + walletBalances.getRetMsg(), + walletBalances.getExtCode(), + walletBalances.getExtCode()); } } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitAuthenticated.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitAuthenticated.java index ffadff217ca..3cba4326af3 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitAuthenticated.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitAuthenticated.java @@ -1,5 +1,8 @@ package org.knowm.xchange.bybit; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.bybit.dto.BybitResult; import org.knowm.xchange.bybit.dto.account.BybitBalances; import org.knowm.xchange.bybit.dto.trade.BybitOrderDetails; @@ -8,42 +11,36 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -import jakarta.ws.rs.*; -import jakarta.ws.rs.core.MediaType; -import java.io.IOException; - @Path("/spot/v1") @Produces(MediaType.APPLICATION_JSON) public interface BybitAuthenticated { - @GET - @Path("/account") - BybitResult getWalletBalances( - @QueryParam("api_key") String apiKey, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @QueryParam("sign") ParamsDigest signature - ) throws IOException, BybitException; - - @GET - @Path("/order") - BybitResult getOrder( - @QueryParam("api_key") String apiKey, - @QueryParam("orderId") String orderId, - @QueryParam("timestamp") SynchronizedValueFactory timestamp, - @QueryParam("sign") ParamsDigest signature - ) throws IOException, BybitException; - - @POST - @Path("/order") - BybitResult placeOrder( - @FormParam("api_key") String apiKey, - @FormParam("symbol") String symbol, - @FormParam("qty") long qty, - @FormParam("side") String side, - @FormParam("type") String type, - @FormParam("timestamp") SynchronizedValueFactory timestamp, - @FormParam("sign") ParamsDigest signature - ) throws IOException, BybitException; - - -} \ No newline at end of file + @GET + @Path("/account") + BybitResult getWalletBalances( + @QueryParam("api_key") String apiKey, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @QueryParam("sign") ParamsDigest signature) + throws IOException, BybitException; + + @GET + @Path("/order") + BybitResult getOrder( + @QueryParam("api_key") String apiKey, + @QueryParam("orderId") String orderId, + @QueryParam("timestamp") SynchronizedValueFactory timestamp, + @QueryParam("sign") ParamsDigest signature) + throws IOException, BybitException; + + @POST + @Path("/order") + BybitResult placeOrder( + @FormParam("api_key") String apiKey, + @FormParam("symbol") String symbol, + @FormParam("qty") long qty, + @FormParam("side") String side, + @FormParam("type") String type, + @FormParam("timestamp") SynchronizedValueFactory timestamp, + @FormParam("sign") ParamsDigest signature) + throws IOException, BybitException; +} diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitExchange.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitExchange.java index 6639acabb13..68ab24136b8 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitExchange.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/BybitExchange.java @@ -1,6 +1,5 @@ package org.knowm.xchange.bybit; - import java.io.IOException; import java.util.List; import org.knowm.xchange.BaseExchange; @@ -35,11 +34,15 @@ public ExchangeSpecification getDefaultExchangeSpecification() { @Override public void remoteInit() throws IOException, ExchangeException { - //initialize currency pairs - List symbols = ((BybitMarketDataServiceRaw) marketDataService).getSymbols().getResult(); - symbols.forEach(bybitSymbol -> exchangeMetaData.getInstruments().put( - MarketDataMapper.symbolToCurrencyPair(bybitSymbol), - MarketDataMapper.symbolToCurrencyPairMetaData(bybitSymbol)) - ); + // initialize currency pairs + List symbols = + ((BybitMarketDataServiceRaw) marketDataService).getSymbols().getResult(); + symbols.forEach( + bybitSymbol -> + exchangeMetaData + .getInstruments() + .put( + MarketDataMapper.symbolToCurrencyPair(bybitSymbol), + MarketDataMapper.symbolToCurrencyPairMetaData(bybitSymbol))); } } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/BybitResult.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/BybitResult.java index 9d9ea219c53..8542228e6f7 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/BybitResult.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/BybitResult.java @@ -35,5 +35,4 @@ public class BybitResult { public boolean isSuccess() { return retCode == 0; } - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/account/BybitBalance.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/account/BybitBalance.java index 495af4e98d2..1efffa76be1 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/account/BybitBalance.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/account/BybitBalance.java @@ -27,5 +27,4 @@ public class BybitBalance { @JsonProperty("locked") String locked; - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/account/BybitBalances.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/account/BybitBalances.java index efb92f61443..b9310bdb5b9 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/account/BybitBalances.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/account/BybitBalances.java @@ -11,7 +11,6 @@ @Value public class BybitBalances { - @JsonProperty("balances") - List balances; - + @JsonProperty("balances") + List balances; } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/marketdata/BybitSymbol.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/marketdata/BybitSymbol.java index 280cc753600..15f0802051b 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/marketdata/BybitSymbol.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/marketdata/BybitSymbol.java @@ -47,7 +47,6 @@ public class BybitSymbol { @JsonProperty("lot_size_filter") LotSizeFilter lotSizeFilter; - @Builder @Jacksonized @Value @@ -61,10 +60,8 @@ public static class LeverageFilter { @JsonProperty("leverage_step") BigDecimal leverageStep; - } - @Builder @Jacksonized @Value @@ -79,7 +76,6 @@ public static class PriceFilter { BigDecimal tickSize; } - @Builder @Jacksonized @Value @@ -96,8 +92,5 @@ public static class LotSizeFilter { @JsonProperty("post_only_max_trading_qty") BigDecimal postOnlyMaxTradingQty; - } - - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/marketdata/BybitTicker.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/marketdata/BybitTicker.java index 6a0fd544725..af1f227ae41 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/marketdata/BybitTicker.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/marketdata/BybitTicker.java @@ -89,5 +89,4 @@ public class BybitTicker { @JsonProperty("delivery_time") Date deliveryTime; - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/trade/BybitOrderDetails.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/trade/BybitOrderDetails.java index 026119a4efd..3972fc9626b 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/trade/BybitOrderDetails.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/dto/trade/BybitOrderDetails.java @@ -72,5 +72,4 @@ public class BybitOrderDetails { @JsonProperty("locked") String locked; - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/mappers/MarketDataMapper.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/mappers/MarketDataMapper.java index 313d69d8b76..0ff0f3519f1 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/mappers/MarketDataMapper.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/mappers/MarketDataMapper.java @@ -13,22 +13,20 @@ public static CurrencyPair symbolToCurrencyPair(BybitSymbol symbol) { return new CurrencyPair(symbol.getBaseCurrency(), symbol.getQuoteCurrency()); } - public static InstrumentMetaData symbolToCurrencyPairMetaData(BybitSymbol bybitSymbol) { return new InstrumentMetaData.Builder() - //workaround - get maximum of maker and taker fees + // workaround - get maximum of maker and taker fees .tradingFee(bybitSymbol.getTakerFee().max(bybitSymbol.getMakerFee())) .minimumAmount(bybitSymbol.getLotSizeFilter().getMinTradingQty()) .maximumAmount(bybitSymbol.getLotSizeFilter().getMaxTradingQty()) - //e.g. 0.0010 -> 3 - .volumeScale(Math.max(bybitSymbol.getLotSizeFilter().getQtyStep().stripTrailingZeros().scale(), 0)) + // e.g. 0.0010 -> 3 + .volumeScale( + Math.max(bybitSymbol.getLotSizeFilter().getQtyStep().stripTrailingZeros().scale(), 0)) .priceScale(bybitSymbol.getPriceScale()) .counterMinimumAmount(bybitSymbol.getPriceFilter().getMinPrice()) .counterMaximumAmount(bybitSymbol.getPriceFilter().getMaxPrice()) .priceScale(bybitSymbol.getPriceScale()) .amountStepSize(bybitSymbol.getLotSizeFilter().getQtyStep()) .build(); - } - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitAccountService.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitAccountService.java index ec236ed1ee9..1708ab2874d 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitAccountService.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitAccountService.java @@ -1,5 +1,9 @@ package org.knowm.xchange.bybit.service; +import static org.knowm.xchange.bybit.BybitAdapters.adaptBybitBalances; + +import java.io.IOException; +import java.util.List; import org.knowm.xchange.Exchange; import org.knowm.xchange.bybit.dto.BybitResult; import org.knowm.xchange.bybit.dto.account.BybitBalance; @@ -7,23 +11,17 @@ import org.knowm.xchange.dto.account.AccountInfo; import org.knowm.xchange.service.account.AccountService; -import java.io.IOException; -import java.util.List; - -import static org.knowm.xchange.bybit.BybitAdapters.adaptBybitBalances; - public class BybitAccountService extends BybitAccountServiceRaw implements AccountService { - public BybitAccountService(Exchange exchange) { - super(exchange); - } - - @Override - public AccountInfo getAccountInfo() throws IOException { - BybitResult walletBalances = getWalletBalances(); - BybitBalances walletBalancesResult = walletBalances.getResult(); - List balances = walletBalancesResult.getBalances(); - return new AccountInfo(adaptBybitBalances(balances)); - } + public BybitAccountService(Exchange exchange) { + super(exchange); + } + @Override + public AccountInfo getAccountInfo() throws IOException { + BybitResult walletBalances = getWalletBalances(); + BybitBalances walletBalancesResult = walletBalances.getResult(); + List balances = walletBalancesResult.getBalances(); + return new AccountInfo(adaptBybitBalances(balances)); + } } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitAccountServiceRaw.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitAccountServiceRaw.java index 776e55b552c..4c6075d9419 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitAccountServiceRaw.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitAccountServiceRaw.java @@ -1,14 +1,12 @@ package org.knowm.xchange.bybit.service; +import static org.knowm.xchange.bybit.BybitAdapters.createBybitExceptionFromResult; + +import java.io.IOException; import org.knowm.xchange.Exchange; -import org.knowm.xchange.bybit.BybitAdapters; import org.knowm.xchange.bybit.dto.BybitResult; import org.knowm.xchange.bybit.dto.account.BybitBalances; -import java.io.IOException; - -import static org.knowm.xchange.bybit.BybitAdapters.createBybitExceptionFromResult; - public class BybitAccountServiceRaw extends BybitBaseService { public BybitAccountServiceRaw(Exchange exchange) { @@ -16,11 +14,11 @@ public BybitAccountServiceRaw(Exchange exchange) { } public BybitResult getWalletBalances() throws IOException { - BybitResult walletBalances = bybitAuthenticated.getWalletBalances(apiKey, nonceFactory, signatureCreator); + BybitResult walletBalances = + bybitAuthenticated.getWalletBalances(apiKey, nonceFactory, signatureCreator); if (!walletBalances.isSuccess()) { throw createBybitExceptionFromResult(walletBalances); } return walletBalances; } - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitBaseService.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitBaseService.java index d236d910cd4..ba709651571 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitBaseService.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitBaseService.java @@ -15,21 +15,28 @@ public class BybitBaseService implements BaseService { protected final BybitAuthenticated bybitAuthenticated; protected final Bybit bybit; protected final ParamsDigest signatureCreator; - protected final SynchronizedValueFactory nonceFactory = new CurrentTimeIncrementalNonceFactory(TimeUnit.MILLISECONDS); + protected final SynchronizedValueFactory nonceFactory = + new CurrentTimeIncrementalNonceFactory(TimeUnit.MILLISECONDS); protected final String apiKey; public BybitBaseService(Exchange exchange) { - bybit = ExchangeRestProxyBuilder - .forInterface(Bybit.class, exchange.getExchangeSpecification()) - .clientConfigCustomizer(clientConfig -> clientConfig.setJacksonObjectMapperFactory(new BybitJacksonObjectMapperFactory())) - .build(); - bybitAuthenticated = ExchangeRestProxyBuilder - .forInterface(BybitAuthenticated.class, exchange.getExchangeSpecification()) - .clientConfigCustomizer(clientConfig -> clientConfig.setJacksonObjectMapperFactory(new BybitJacksonObjectMapperFactory())) - .build(); - signatureCreator = BybitDigest.createInstance(exchange.getExchangeSpecification().getSecretKey()); + bybit = + ExchangeRestProxyBuilder.forInterface(Bybit.class, exchange.getExchangeSpecification()) + .clientConfigCustomizer( + clientConfig -> + clientConfig.setJacksonObjectMapperFactory( + new BybitJacksonObjectMapperFactory())) + .build(); + bybitAuthenticated = + ExchangeRestProxyBuilder.forInterface( + BybitAuthenticated.class, exchange.getExchangeSpecification()) + .clientConfigCustomizer( + clientConfig -> + clientConfig.setJacksonObjectMapperFactory( + new BybitJacksonObjectMapperFactory())) + .build(); + signatureCreator = + BybitDigest.createInstance(exchange.getExchangeSpecification().getSecretKey()); apiKey = exchange.getExchangeSpecification().getApiKey(); } - - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitDigest.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitDigest.java index d8f1659080a..aad6846c83e 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitDigest.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitDigest.java @@ -1,53 +1,51 @@ package org.knowm.xchange.bybit.service; -import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException; -import org.knowm.xchange.service.BaseParamsDigest; -import si.mazi.rescu.Params; -import si.mazi.rescu.ParamsDigest; -import si.mazi.rescu.RestInvocation; +import static org.knowm.xchange.utils.DigestUtils.bytesToHex; -import javax.crypto.Mac; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.QueryParam; import java.nio.charset.StandardCharsets; import java.util.Map; import java.util.TreeMap; - -import static org.knowm.xchange.utils.DigestUtils.bytesToHex; +import javax.crypto.Mac; +import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException; +import org.knowm.xchange.service.BaseParamsDigest; +import si.mazi.rescu.Params; +import si.mazi.rescu.ParamsDigest; +import si.mazi.rescu.RestInvocation; public class BybitDigest extends BaseParamsDigest { - private static final String SIGNATURE = "sign"; - - public BybitDigest(String secretKeyBase64) { - super(secretKeyBase64, HMAC_SHA_256); + private static final String SIGNATURE = "sign"; + + public BybitDigest(String secretKeyBase64) { + super(secretKeyBase64, HMAC_SHA_256); + } + + public static ParamsDigest createInstance(String secretKeyBase64) { + return new BybitDigest(secretKeyBase64); + } + + @Override + public String digestParams(RestInvocation restInvocation) { + Params p = Params.of(); + Map params = getInputParams(restInvocation); + params.remove(SIGNATURE); + Map sortedParams = new TreeMap<>(params); + sortedParams.forEach(p::add); + String input = p.asQueryString(); + Mac mac = getMac(); + mac.update(input.getBytes(StandardCharsets.UTF_8)); + return bytesToHex(mac.doFinal()); + } + + private Map getInputParams(RestInvocation restInvocation) { + if ("GET".equals(restInvocation.getHttpMethod())) { + return restInvocation.getParamsMap().get(QueryParam.class).asHttpHeaders(); } - - public static ParamsDigest createInstance(String secretKeyBase64) { - return new BybitDigest(secretKeyBase64); + if ("POST".equals(restInvocation.getHttpMethod())) { + return restInvocation.getParamsMap().get(FormParam.class).asHttpHeaders(); } - - @Override - public String digestParams(RestInvocation restInvocation) { - Params p = Params.of(); - Map params = getInputParams(restInvocation); - params.remove(SIGNATURE); - Map sortedParams = new TreeMap<>(params); - sortedParams.forEach(p::add); - String input = p.asQueryString(); - Mac mac = getMac(); - mac.update(input.getBytes(StandardCharsets.UTF_8)); - return bytesToHex(mac.doFinal()); - } - - private Map getInputParams(RestInvocation restInvocation) { - if ("GET".equals(restInvocation.getHttpMethod())) { - return restInvocation.getParamsMap().get(QueryParam.class).asHttpHeaders(); - } - if ("POST".equals(restInvocation.getHttpMethod())) { - return restInvocation.getParamsMap().get(FormParam.class).asHttpHeaders(); - } - throw new NotYetImplementedForExchangeException("Only GET and POST are supported in digest"); - } - -} \ No newline at end of file + throw new NotYetImplementedForExchangeException("Only GET and POST are supported in digest"); + } +} diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitException.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitException.java index 3222e15c10c..41e8131a4a5 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitException.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitException.java @@ -10,10 +10,11 @@ public class BybitException extends HttpStatusExceptionSupport { private final String extCode; private final String extInfo; - public BybitException(@JsonProperty("ret_code") int retCode, - @JsonProperty("ret_msg") String retMsg, - @JsonProperty("ext_code") String extCode, - @JsonProperty("ext_info") String extInfo) { + public BybitException( + @JsonProperty("ret_code") int retCode, + @JsonProperty("ret_msg") String retMsg, + @JsonProperty("ext_code") String extCode, + @JsonProperty("ext_info") String extInfo) { this.retCode = retCode; this.retMsg = retMsg; this.extCode = extCode; @@ -22,22 +23,35 @@ public BybitException(@JsonProperty("ret_code") int retCode, @Override public String getMessage() { - return "{" + - "retCode=" + retCode + - ", retMsg='" + retMsg + '\'' + - ", extCode='" + extCode + '\'' + - ", extInfo='" + extInfo + '\'' + - '}'; + return "{" + + "retCode=" + + retCode + + ", retMsg='" + + retMsg + + '\'' + + ", extCode='" + + extCode + + '\'' + + ", extInfo='" + + extInfo + + '\'' + + '}'; } @Override public String toString() { - return "BybitException{" + - "retCode=" + retCode + - ", retMsg='" + retMsg + '\'' + - ", extCode='" + extCode + '\'' + - ", extInfo='" + extInfo + '\'' + - '}'; + return "BybitException{" + + "retCode=" + + retCode + + ", retMsg='" + + retMsg + + '\'' + + ", extCode='" + + extCode + + '\'' + + ", extInfo='" + + extInfo + + '\'' + + '}'; } - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitJacksonObjectMapperFactory.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitJacksonObjectMapperFactory.java index 7c4ca13d982..250d5568ed6 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitJacksonObjectMapperFactory.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitJacksonObjectMapperFactory.java @@ -9,8 +9,7 @@ public class BybitJacksonObjectMapperFactory extends DefaultJacksonObjectMapperF @Override public void configureObjectMapper(ObjectMapper objectMapper) { super.configureObjectMapper(objectMapper); - //depending on api version bybit sends jsons with double- and single-quotes + // depending on api version bybit sends jsons with double- and single-quotes objectMapper.configure(Feature.ALLOW_SINGLE_QUOTES, true); - } } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitMarketDataService.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitMarketDataService.java index b4104924286..29522ec32c6 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitMarketDataService.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitMarketDataService.java @@ -18,12 +18,12 @@ public BybitMarketDataService(BybitExchange exchange) { super(exchange); } - @Override public Ticker getTicker(Instrument instrument, Object... args) throws IOException { Assert.notNull(instrument, "Null instrument"); - BybitResult> response = getTicker24h(BybitAdapters.convertToBybitSymbol(instrument.toString())); + BybitResult> response = + getTicker24h(BybitAdapters.convertToBybitSymbol(instrument.toString())); if (response.getResult().isEmpty()) { return new Ticker.Builder().build(); @@ -42,11 +42,9 @@ public Ticker getTicker(Instrument instrument, Object... args) throws IOExceptio .open(bybitTicker.getPrevPrice24h()) .percentageChange(bybitTicker.getPrice24hPercentageChange()) .build(); - } } - @Override public Ticker getTicker(CurrencyPair currencyPair, Object... args) throws IOException { return getTicker((Instrument) currencyPair, args); diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceRaw.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceRaw.java index 3c8aba80f59..0dbde651c30 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceRaw.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceRaw.java @@ -23,7 +23,6 @@ public BybitResult> getTicker24h(String symbol) throws IOExcep return result; } - public BybitResult> getSymbols() throws IOException { BybitResult> result = bybit.getSymbols(); @@ -32,5 +31,4 @@ public BybitResult> getSymbols() throws IOException { } return result; } - } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitTradeService.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitTradeService.java index 12ca1a37bf2..3b33022f3ed 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitTradeService.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitTradeService.java @@ -1,5 +1,11 @@ package org.knowm.xchange.bybit.service; +import static org.knowm.xchange.bybit.BybitAdapters.*; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import org.knowm.xchange.Exchange; import org.knowm.xchange.bybit.dto.BybitResult; import org.knowm.xchange.bybit.dto.trade.BybitOrderDetails; @@ -8,42 +14,35 @@ import org.knowm.xchange.dto.trade.MarketOrder; import org.knowm.xchange.service.trade.TradeService; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import static org.knowm.xchange.bybit.BybitAdapters.*; - public class BybitTradeService extends BybitTradeServiceRaw implements TradeService { - public BybitTradeService(Exchange exchange) { - super(exchange); - } - - @Override - public String placeMarketOrder(MarketOrder marketOrder) throws IOException { - BybitResult order = placeOrder( - convertToBybitSymbol(marketOrder.getInstrument().toString()), - marketOrder.getOriginalAmount().longValue(), - getSideString(marketOrder.getType()), - "MARKET"); - - return order.getResult().getOrderId(); - } - - @Override - public Collection getOrder(String... orderIds) throws IOException { - List results = new ArrayList<>(); - - for (String orderId : orderIds) { - BybitResult bybitOrder = getBybitOrder(orderId); - BybitOrderDetails bybitOrderResult = bybitOrder.getResult(); - Order order = adaptBybitOrderDetails(bybitOrderResult); - results.add(order); - } - - return results; + public BybitTradeService(Exchange exchange) { + super(exchange); + } + + @Override + public String placeMarketOrder(MarketOrder marketOrder) throws IOException { + BybitResult order = + placeOrder( + convertToBybitSymbol(marketOrder.getInstrument().toString()), + marketOrder.getOriginalAmount().longValue(), + getSideString(marketOrder.getType()), + "MARKET"); + + return order.getResult().getOrderId(); + } + + @Override + public Collection getOrder(String... orderIds) throws IOException { + List results = new ArrayList<>(); + + for (String orderId : orderIds) { + BybitResult bybitOrder = getBybitOrder(orderId); + BybitOrderDetails bybitOrderResult = bybitOrder.getResult(); + Order order = adaptBybitOrderDetails(bybitOrderResult); + results.add(order); } + return results; + } } diff --git a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitTradeServiceRaw.java b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitTradeServiceRaw.java index b2e0b9fb20e..313c74b549a 100644 --- a/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitTradeServiceRaw.java +++ b/xchange-bybit/src/main/java/org/knowm/xchange/bybit/service/BybitTradeServiceRaw.java @@ -1,14 +1,13 @@ package org.knowm.xchange.bybit.service; +import static org.knowm.xchange.bybit.BybitAdapters.createBybitExceptionFromResult; + +import java.io.IOException; import org.knowm.xchange.Exchange; import org.knowm.xchange.bybit.dto.BybitResult; import org.knowm.xchange.bybit.dto.trade.BybitOrderDetails; import org.knowm.xchange.bybit.dto.trade.BybitOrderRequest; -import java.io.IOException; - -import static org.knowm.xchange.bybit.BybitAdapters.createBybitExceptionFromResult; - public class BybitTradeServiceRaw extends BybitBaseService { public BybitTradeServiceRaw(Exchange exchange) { @@ -16,27 +15,22 @@ public BybitTradeServiceRaw(Exchange exchange) { } public BybitResult getBybitOrder(String orderId) throws IOException { - BybitResult order = bybitAuthenticated.getOrder(apiKey, orderId, nonceFactory, signatureCreator); + BybitResult order = + bybitAuthenticated.getOrder(apiKey, orderId, nonceFactory, signatureCreator); if (!order.isSuccess()) { throw createBybitExceptionFromResult(order); } return order; } - public BybitResult placeOrder(String symbol, long qty, String side, String type) throws IOException { - BybitResult placeOrder = bybitAuthenticated.placeOrder( - apiKey, - symbol, - qty, - side, - type, - nonceFactory, - signatureCreator - ); + public BybitResult placeOrder( + String symbol, long qty, String side, String type) throws IOException { + BybitResult placeOrder = + bybitAuthenticated.placeOrder( + apiKey, symbol, qty, side, type, nonceFactory, signatureCreator); if (!placeOrder.isSuccess()) { throw createBybitExceptionFromResult(placeOrder); } return placeOrder; } - } diff --git a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/BybitAdaptersTest.java b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/BybitAdaptersTest.java index e689abf00a9..b55631abe20 100644 --- a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/BybitAdaptersTest.java +++ b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/BybitAdaptersTest.java @@ -1,22 +1,19 @@ package org.knowm.xchange.bybit; -import org.junit.Test; -import org.knowm.xchange.currency.CurrencyPair; - import static org.assertj.core.api.Assertions.assertThat; import static org.knowm.xchange.bybit.BybitAdapters.guessSymbol; -public class BybitAdaptersTest { - - - @Test - public void testGuessSymbol() { - assertThat(guessSymbol("BTCUSDT")).isEqualTo(new CurrencyPair("BTC", "USDT")); - assertThat(guessSymbol("BTCUSDC")).isEqualTo(new CurrencyPair("BTC", "USDC")); - assertThat(guessSymbol("LTCBTC")).isEqualTo(new CurrencyPair("LTC", "BTC")); - assertThat(guessSymbol("BTCDAI")).isEqualTo(new CurrencyPair("BTC", "DAI")); - assertThat(guessSymbol("ABCDEFG")).isEqualTo(new CurrencyPair("ABCD", "EFG")); +import org.junit.Test; +import org.knowm.xchange.currency.CurrencyPair; - } +public class BybitAdaptersTest { + @Test + public void testGuessSymbol() { + assertThat(guessSymbol("BTCUSDT")).isEqualTo(new CurrencyPair("BTC", "USDT")); + assertThat(guessSymbol("BTCUSDC")).isEqualTo(new CurrencyPair("BTC", "USDC")); + assertThat(guessSymbol("LTCBTC")).isEqualTo(new CurrencyPair("LTC", "BTC")); + assertThat(guessSymbol("BTCDAI")).isEqualTo(new CurrencyPair("BTC", "DAI")); + assertThat(guessSymbol("ABCDEFG")).isEqualTo(new CurrencyPair("ABCD", "EFG")); + } } diff --git a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/BybitExchangeTest.java b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/BybitExchangeTest.java index 23059b7d133..120725f3bbb 100644 --- a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/BybitExchangeTest.java +++ b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/BybitExchangeTest.java @@ -6,9 +6,9 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static org.assertj.core.api.Assertions.assertThat; +import jakarta.ws.rs.core.Response.Status; import java.io.IOException; import java.nio.charset.StandardCharsets; -import jakarta.ws.rs.core.Response.Status; import org.apache.commons.io.IOUtils; import org.junit.Test; import org.knowm.xchange.Exchange; @@ -17,7 +17,6 @@ public class BybitExchangeTest extends BaseWiremockTest { - @Test public void testSymbolLoading() throws IOException { Exchange bybitExchange = createExchange(); @@ -28,15 +27,13 @@ public void testSymbolLoading() throws IOException { aResponse() .withStatus(Status.OK.getStatusCode()) .withHeader("Content-Type", "application/json") - .withBody(IOUtils.resourceToString("/getSymbols.json5", StandardCharsets.UTF_8)) - ) - ); + .withBody( + IOUtils.resourceToString("/getSymbols.json5", StandardCharsets.UTF_8)))); ExchangeSpecification specification = bybitExchange.getExchangeSpecification(); specification.setShouldLoadRemoteMetaData(true); bybitExchange.applySpecification(specification); assertThat(bybitExchange.getExchangeMetaData().getInstruments()).hasSize(2); - } -} \ No newline at end of file +} diff --git a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BaseWiremockTest.java b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BaseWiremockTest.java index c0059cab2df..730457f89a7 100644 --- a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BaseWiremockTest.java +++ b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BaseWiremockTest.java @@ -12,20 +12,19 @@ public class BaseWiremockTest { - @Rule - public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort()); + @Rule public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort()); - public Exchange createExchange() throws IOException { - Exchange exchange = - ExchangeFactory.INSTANCE.createExchangeWithoutSpecification(BybitExchange.class); - ExchangeSpecification specification = exchange.getDefaultExchangeSpecification(); - specification.setHost("localhost"); - specification.setSslUri("http://localhost:" + wireMockRule.port()); - specification.setPort(wireMockRule.port()); - specification.setApiKey("test_api_key"); - specification.setSecretKey("test_secret_key"); - specification.setShouldLoadRemoteMetaData(false); - exchange.applySpecification(specification); - return exchange; - } + public Exchange createExchange() throws IOException { + Exchange exchange = + ExchangeFactory.INSTANCE.createExchangeWithoutSpecification(BybitExchange.class); + ExchangeSpecification specification = exchange.getDefaultExchangeSpecification(); + specification.setHost("localhost"); + specification.setSslUri("http://localhost:" + wireMockRule.port()); + specification.setPort(wireMockRule.port()); + specification.setApiKey("test_api_key"); + specification.setSecretKey("test_secret_key"); + specification.setShouldLoadRemoteMetaData(false); + exchange.applySpecification(specification); + return exchange; + } } diff --git a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitAccountServiceRawTest.java b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitAccountServiceRawTest.java index 5ef8e44d5f1..d18fced6237 100644 --- a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitAccountServiceRawTest.java +++ b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitAccountServiceRawTest.java @@ -6,9 +6,9 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static org.assertj.core.api.Assertions.assertThat; +import jakarta.ws.rs.core.Response.Status; import java.io.IOException; import java.util.List; -import jakarta.ws.rs.core.Response.Status; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.bybit.dto.BybitResult; @@ -22,32 +22,33 @@ public void testGetWalletBalances() throws IOException { Exchange bybitExchange = createExchange(); BybitAccountServiceRaw bybitAccountServiceRaw = new BybitAccountServiceRaw(bybitExchange); - String walletBalanceDetails = "{\n" + - " \"ret_code\":0,\n" + - " \"ret_msg\":\"\",\n" + - " \"ext_code\":null,\n" + - " \"ext_info\":null,\n" + - " \"result\":{\n" + - " \"balances\":[\n" + - " {\n" + - " \"coin\":\"COIN\",\n" + - " \"coinId\":\"COIN\",\n" + - " \"coinName\":\"COIN\",\n" + - " \"total\":\"66419.616666666666666666\",\n" + - " \"free\":\"56583.326666666666666666\",\n" + - " \"locked\":\"9836.29\"\n" + - " },\n" + - " {\n" + - " \"coin\":\"USDT\",\n" + - " \"coinId\":\"USDT\",\n" + - " \"coinName\":\"USDT\",\n" + - " \"total\":\"61.50059688096\",\n" + - " \"free\":\"61.50059688096\",\n" + - " \"locked\":\"0\"\n" + - " }\n" + - " ]\n" + - " }\n" + - "}"; + String walletBalanceDetails = + "{\n" + + " \"ret_code\":0,\n" + + " \"ret_msg\":\"\",\n" + + " \"ext_code\":null,\n" + + " \"ext_info\":null,\n" + + " \"result\":{\n" + + " \"balances\":[\n" + + " {\n" + + " \"coin\":\"COIN\",\n" + + " \"coinId\":\"COIN\",\n" + + " \"coinName\":\"COIN\",\n" + + " \"total\":\"66419.616666666666666666\",\n" + + " \"free\":\"56583.326666666666666666\",\n" + + " \"locked\":\"9836.29\"\n" + + " },\n" + + " {\n" + + " \"coin\":\"USDT\",\n" + + " \"coinId\":\"USDT\",\n" + + " \"coinName\":\"USDT\",\n" + + " \"total\":\"61.50059688096\",\n" + + " \"free\":\"61.50059688096\",\n" + + " \"locked\":\"0\"\n" + + " }\n" + + " ]\n" + + " }\n" + + "}"; stubFor( get(urlPathEqualTo("/spot/v1/account")) @@ -55,9 +56,7 @@ public void testGetWalletBalances() throws IOException { aResponse() .withStatus(Status.OK.getStatusCode()) .withHeader("Content-Type", "application/json") - .withBody(walletBalanceDetails) - ) - ); + .withBody(walletBalanceDetails))); BybitResult walletBalances = bybitAccountServiceRaw.getWalletBalances(); @@ -78,5 +77,4 @@ public void testGetWalletBalances() throws IOException { assertThat(balances.get(1).getCoinId()).isEqualTo("USDT"); assertThat(balances.get(1).getCoinName()).isEqualTo("USDT"); } - -} \ No newline at end of file +} diff --git a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitAccountServiceTest.java b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitAccountServiceTest.java index edc48a9a5b3..6b8639c3e26 100644 --- a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitAccountServiceTest.java +++ b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitAccountServiceTest.java @@ -6,9 +6,9 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static org.assertj.core.api.Assertions.assertThat; +import jakarta.ws.rs.core.Response.Status; import java.io.IOException; import java.math.BigDecimal; -import jakarta.ws.rs.core.Response.Status; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.currency.Currency; @@ -21,32 +21,33 @@ public void testGetWalletBalances() throws IOException { Exchange bybitExchange = createExchange(); BybitAccountService bybitAccountService = new BybitAccountService(bybitExchange); - String walletBalanceDetails = "{\n" + - " \"ret_code\":0,\n" + - " \"ret_msg\":\"\",\n" + - " \"ext_code\":null,\n" + - " \"ext_info\":null,\n" + - " \"result\":{\n" + - " \"balances\":[\n" + - " {\n" + - " \"coin\":\"COIN\",\n" + - " \"coinId\":\"COIN\",\n" + - " \"coinName\":\"COIN\",\n" + - " \"total\":\"66419.616666666666666666\",\n" + - " \"free\":\"56583.326666666666666666\",\n" + - " \"locked\":\"9836.29\"\n" + - " },\n" + - " {\n" + - " \"coin\":\"USDT\",\n" + - " \"coinId\":\"USDT\",\n" + - " \"coinName\":\"USDT\",\n" + - " \"total\":\"61.50059688096\",\n" + - " \"free\":\"61.50059688096\",\n" + - " \"locked\":\"0\"\n" + - " }\n" + - " ]\n" + - " }\n" + - "}"; + String walletBalanceDetails = + "{\n" + + " \"ret_code\":0,\n" + + " \"ret_msg\":\"\",\n" + + " \"ext_code\":null,\n" + + " \"ext_info\":null,\n" + + " \"result\":{\n" + + " \"balances\":[\n" + + " {\n" + + " \"coin\":\"COIN\",\n" + + " \"coinId\":\"COIN\",\n" + + " \"coinName\":\"COIN\",\n" + + " \"total\":\"66419.616666666666666666\",\n" + + " \"free\":\"56583.326666666666666666\",\n" + + " \"locked\":\"9836.29\"\n" + + " },\n" + + " {\n" + + " \"coin\":\"USDT\",\n" + + " \"coinId\":\"USDT\",\n" + + " \"coinName\":\"USDT\",\n" + + " \"total\":\"61.50059688096\",\n" + + " \"free\":\"61.50059688096\",\n" + + " \"locked\":\"0\"\n" + + " }\n" + + " ]\n" + + " }\n" + + "}"; stubFor( get(urlPathEqualTo("/spot/v1/account")) @@ -54,20 +55,17 @@ public void testGetWalletBalances() throws IOException { aResponse() .withStatus(Status.OK.getStatusCode()) .withHeader("Content-Type", "application/json") - .withBody(walletBalanceDetails) - ) - ); + .withBody(walletBalanceDetails))); AccountInfo accountInfo = bybitAccountService.getAccountInfo(); - assertThat(accountInfo.getWallet().getBalance(new Currency("COIN")).getTotal()).isEqualTo( - new BigDecimal("66419.616666666666666666")); - assertThat(accountInfo.getWallet().getBalance(new Currency("COIN")).getAvailable()).isEqualTo( - new BigDecimal("56583.326666666666666666")); + assertThat(accountInfo.getWallet().getBalance(new Currency("COIN")).getTotal()) + .isEqualTo(new BigDecimal("66419.616666666666666666")); + assertThat(accountInfo.getWallet().getBalance(new Currency("COIN")).getAvailable()) + .isEqualTo(new BigDecimal("56583.326666666666666666")); - assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getTotal()).isEqualTo( - new BigDecimal("61.50059688096")); - assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getAvailable()).isEqualTo( - new BigDecimal("61.50059688096")); + assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getTotal()) + .isEqualTo(new BigDecimal("61.50059688096")); + assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getAvailable()) + .isEqualTo(new BigDecimal("61.50059688096")); } - -} \ No newline at end of file +} diff --git a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceRawTest.java b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceRawTest.java index 8f7ff99b95c..a61b30c5416 100644 --- a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceRawTest.java +++ b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceRawTest.java @@ -6,10 +6,10 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static org.assertj.core.api.Assertions.assertThat; +import jakarta.ws.rs.core.Response.Status; import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.util.List; -import jakarta.ws.rs.core.Response.Status; import org.apache.commons.io.IOUtils; import org.junit.Test; import org.knowm.xchange.Exchange; @@ -20,7 +20,8 @@ public class BybitMarketDataServiceRawTest extends BaseWiremockTest { @Test public void testGetSymbols() throws Exception { Exchange bybitExchange = createExchange(); - BybitMarketDataServiceRaw marketDataServiceRaw = (BybitMarketDataServiceRaw) bybitExchange.getMarketDataService(); + BybitMarketDataServiceRaw marketDataServiceRaw = + (BybitMarketDataServiceRaw) bybitExchange.getMarketDataService(); stubFor( get(urlPathEqualTo("/v2/public/symbols")) @@ -28,9 +29,8 @@ public void testGetSymbols() throws Exception { aResponse() .withStatus(Status.OK.getStatusCode()) .withHeader("Content-Type", "application/json") - .withBody(IOUtils.resourceToString("/getSymbols.json5", StandardCharsets.UTF_8)) - ) - ); + .withBody( + IOUtils.resourceToString("/getSymbols.json5", StandardCharsets.UTF_8)))); List symbols = marketDataServiceRaw.getSymbols().getResult(); @@ -55,8 +55,7 @@ public void testGetSymbols() throws Exception { assertThat(btcusdt.getLotSizeFilter().getMaxTradingQty()).isEqualTo(new BigDecimal("20")); assertThat(btcusdt.getLotSizeFilter().getMinTradingQty()).isEqualTo(new BigDecimal("0.001")); assertThat(btcusdt.getLotSizeFilter().getQtyStep()).isEqualTo(new BigDecimal("0.001")); - assertThat(btcusdt.getLotSizeFilter().getPostOnlyMaxTradingQty()).isEqualTo(new BigDecimal("100")); - + assertThat(btcusdt.getLotSizeFilter().getPostOnlyMaxTradingQty()) + .isEqualTo(new BigDecimal("100")); } - -} \ No newline at end of file +} diff --git a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceTest.java b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceTest.java index 9dbe3d1283a..a29e0aa27f4 100644 --- a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceTest.java +++ b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitMarketDataServiceTest.java @@ -6,10 +6,10 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static org.assertj.core.api.Assertions.assertThat; +import jakarta.ws.rs.core.Response.Status; import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.time.Instant; -import jakarta.ws.rs.core.Response.Status; import org.apache.commons.io.IOUtils; import org.junit.Test; import org.knowm.xchange.Exchange; @@ -30,9 +30,8 @@ public void testGetTicker() throws Exception { aResponse() .withStatus(Status.OK.getStatusCode()) .withHeader("Content-Type", "application/json") - .withBody(IOUtils.resourceToString("/getTicker.json5", StandardCharsets.UTF_8)) - ) - ); + .withBody( + IOUtils.resourceToString("/getTicker.json5", StandardCharsets.UTF_8)))); Ticker ticker = marketDataService.getTicker(CurrencyPair.BTC_USDT); @@ -50,7 +49,5 @@ public void testGetTicker() throws Exception { assertThat(ticker.getBidSize()).isNull(); assertThat(ticker.getAskSize()).isNull(); assertThat(ticker.getPercentageChange()).isEqualTo(new BigDecimal("-0.015551")); - } - -} \ No newline at end of file +} diff --git a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitTradeServiceRawTest.java b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitTradeServiceRawTest.java index 7cf4a5f6d58..18881e740be 100644 --- a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitTradeServiceRawTest.java +++ b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitTradeServiceRawTest.java @@ -9,8 +9,8 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; -import java.io.IOException; import jakarta.ws.rs.core.Response.Status; +import java.io.IOException; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.bybit.dto.BybitResult; @@ -24,35 +24,36 @@ public void testGetBybitOrder() throws IOException { Exchange bybitExchange = createExchange(); BybitTradeServiceRaw bybitAccountServiceRaw = new BybitTradeServiceRaw(bybitExchange); - String orderDetails = "{\n" + - " \"ret_code\":0,\n" + - " \"ret_msg\":\"\",\n" + - " \"ext_code\":null,\n" + - " \"ext_info\":null,\n" + - " \"result\":{\n" + - " \"accountId\":\"123456789\",\n" + - " \"exchangeId\":\"301\",\n" + - " \"symbol\":\"COINUSDT\",\n" + - " \"symbolName\":\"COINUSDT\",\n" + - " \"orderLinkId\":\"1234567891011121\",\n" + - " \"orderId\":\"1234567891011121314\",\n" + - " \"price\":\"0\",\n" + - " \"origQty\":\"352\",\n" + - " \"executedQty\":\"352\",\n" + - " \"cummulativeQuoteQty\":\"0.569888\",\n" + - " \"avgPrice\":\"0.001619\",\n" + - " \"status\":\"FILLED\",\n" + - " \"timeInForce\":\"GTC\",\n" + - " \"type\":\"MARKET\",\n" + - " \"side\":\"SELL\",\n" + - " \"stopPrice\":\"0.0\",\n" + - " \"icebergQty\":\"0.0\",\n" + - " \"time\":\"1655997749601\",\n" + - " \"updateTime\":\"1655997749662\",\n" + - " \"isWorking\":true,\n" + - " \"locked\":\"0\"\n" + - " }\n" + - "}"; + String orderDetails = + "{\n" + + " \"ret_code\":0,\n" + + " \"ret_msg\":\"\",\n" + + " \"ext_code\":null,\n" + + " \"ext_info\":null,\n" + + " \"result\":{\n" + + " \"accountId\":\"123456789\",\n" + + " \"exchangeId\":\"301\",\n" + + " \"symbol\":\"COINUSDT\",\n" + + " \"symbolName\":\"COINUSDT\",\n" + + " \"orderLinkId\":\"1234567891011121\",\n" + + " \"orderId\":\"1234567891011121314\",\n" + + " \"price\":\"0\",\n" + + " \"origQty\":\"352\",\n" + + " \"executedQty\":\"352\",\n" + + " \"cummulativeQuoteQty\":\"0.569888\",\n" + + " \"avgPrice\":\"0.001619\",\n" + + " \"status\":\"FILLED\",\n" + + " \"timeInForce\":\"GTC\",\n" + + " \"type\":\"MARKET\",\n" + + " \"side\":\"SELL\",\n" + + " \"stopPrice\":\"0.0\",\n" + + " \"icebergQty\":\"0.0\",\n" + + " \"time\":\"1655997749601\",\n" + + " \"updateTime\":\"1655997749662\",\n" + + " \"isWorking\":true,\n" + + " \"locked\":\"0\"\n" + + " }\n" + + "}"; stubFor( get(urlPathEqualTo("/spot/v1/order")) @@ -60,10 +61,9 @@ public void testGetBybitOrder() throws IOException { aResponse() .withStatus(Status.OK.getStatusCode()) .withHeader("Content-Type", "application/json") - .withBody(orderDetails) - ) - ); - BybitResult order = bybitAccountServiceRaw.getBybitOrder("1234567891011121314"); + .withBody(orderDetails))); + BybitResult order = + bybitAccountServiceRaw.getBybitOrder("1234567891011121314"); ObjectMapper mapper = new ObjectMapper(); JsonNode responseObject = mapper.readTree(orderDetails); @@ -71,65 +71,76 @@ public void testGetBybitOrder() throws IOException { BybitOrderDetails orderResult = order.getResult(); JsonNode responseObjectResult = responseObject.get("result"); - assertThat(responseObjectResult.get("accountId").textValue()).isEqualTo(orderResult.getAccountId()); - assertThat(responseObjectResult.get("exchangeId").textValue()).isEqualTo(orderResult.getExchangeId()); + assertThat(responseObjectResult.get("accountId").textValue()) + .isEqualTo(orderResult.getAccountId()); + assertThat(responseObjectResult.get("exchangeId").textValue()) + .isEqualTo(orderResult.getExchangeId()); assertThat(responseObjectResult.get("symbol").textValue()).isEqualTo(orderResult.getSymbol()); - assertThat(responseObjectResult.get("symbolName").textValue()).isEqualTo(orderResult.getSymbolName()); - assertThat(responseObjectResult.get("orderLinkId").textValue()).isEqualTo(orderResult.getOrderLinkId()); + assertThat(responseObjectResult.get("symbolName").textValue()) + .isEqualTo(orderResult.getSymbolName()); + assertThat(responseObjectResult.get("orderLinkId").textValue()) + .isEqualTo(orderResult.getOrderLinkId()); assertThat(responseObjectResult.get("orderId").textValue()).isEqualTo(orderResult.getOrderId()); assertThat(responseObjectResult.get("price").textValue()).isEqualTo(orderResult.getPrice()); assertThat(responseObjectResult.get("origQty").textValue()).isEqualTo(orderResult.getOrigQty()); - assertThat(responseObjectResult.get("executedQty").textValue()).isEqualTo(orderResult.getExecutedQty()); - assertThat(responseObjectResult.get("cummulativeQuoteQty").textValue()).isEqualTo( - orderResult.getCummulativeQuoteQty()); - assertThat(responseObjectResult.get("avgPrice").textValue()).isEqualTo(orderResult.getAvgPrice()); + assertThat(responseObjectResult.get("executedQty").textValue()) + .isEqualTo(orderResult.getExecutedQty()); + assertThat(responseObjectResult.get("cummulativeQuoteQty").textValue()) + .isEqualTo(orderResult.getCummulativeQuoteQty()); + assertThat(responseObjectResult.get("avgPrice").textValue()) + .isEqualTo(orderResult.getAvgPrice()); assertThat(responseObjectResult.get("status").textValue()).isEqualTo(orderResult.getStatus()); - assertThat(responseObjectResult.get("timeInForce").textValue()).isEqualTo(orderResult.getTimeInForce()); + assertThat(responseObjectResult.get("timeInForce").textValue()) + .isEqualTo(orderResult.getTimeInForce()); assertThat(responseObjectResult.get("type").textValue()).isEqualTo(orderResult.getType()); assertThat(responseObjectResult.get("side").textValue()).isEqualTo(orderResult.getSide()); - assertThat(responseObjectResult.get("stopPrice").textValue()).isEqualTo(orderResult.getStopPrice()); - assertThat(responseObjectResult.get("icebergQty").textValue()).isEqualTo(orderResult.getIcebergQty()); + assertThat(responseObjectResult.get("stopPrice").textValue()) + .isEqualTo(orderResult.getStopPrice()); + assertThat(responseObjectResult.get("icebergQty").textValue()) + .isEqualTo(orderResult.getIcebergQty()); assertThat(responseObjectResult.get("time").textValue()).isEqualTo(orderResult.getTime()); - assertThat(responseObjectResult.get("updateTime").textValue()).isEqualTo(orderResult.getUpdateTime()); - assertThat(responseObjectResult.get("isWorking").booleanValue()).isEqualTo(orderResult.isWorking()); + assertThat(responseObjectResult.get("updateTime").textValue()) + .isEqualTo(orderResult.getUpdateTime()); + assertThat(responseObjectResult.get("isWorking").booleanValue()) + .isEqualTo(orderResult.isWorking()); assertThat(responseObjectResult.get("locked").textValue()).isEqualTo(orderResult.getLocked()); } - @Test public void testPlaceBybitOrder() throws IOException { Exchange bybitExchange = createExchange(); BybitTradeServiceRaw bybitAccountServiceRaw = new BybitTradeServiceRaw(bybitExchange); - String orderPlacementResponse = "{\n" + - " \"ret_code\":0,\n" + - " \"ret_msg\":\"\",\n" + - " \"ext_code\":null,\n" + - " \"ext_info\":null,\n" + - " \"result\":{\n" + - " \"accountId\":\"28649557\",\n" + - " \"exchangeId\":\"301\",\n" + - " \"symbol\":\"COINUSDT\",\n" + - " \"symbolName\":\"COINUSDT\",\n" + - " \"orderLinkId\":\"1655997749596563\",\n" + - " \"orderId\":\"1184989442799045889\",\n" + - " \"price\":\"0\",\n" + - " \"origQty\":\"352\",\n" + - " \"executedQty\":\"352\",\n" + - " \"cummulativeQuoteQty\":\"0.569888\",\n" + - " \"avgPrice\":\"0.001619\",\n" + - " \"status\":\"FILLED\",\n" + - " \"timeInForce\":\"GTC\",\n" + - " \"type\":\"MARKET\",\n" + - " \"side\":\"SELL\",\n" + - " \"stopPrice\":\"0.0\",\n" + - " \"icebergQty\":\"0.0\",\n" + - " \"time\":\"1655997749601\",\n" + - " \"updateTime\":\"1655997749662\",\n" + - " \"isWorking\":true,\n" + - " \"locked\":\"0\"\n" + - " }\n" + - "}"; + String orderPlacementResponse = + "{\n" + + " \"ret_code\":0,\n" + + " \"ret_msg\":\"\",\n" + + " \"ext_code\":null,\n" + + " \"ext_info\":null,\n" + + " \"result\":{\n" + + " \"accountId\":\"28649557\",\n" + + " \"exchangeId\":\"301\",\n" + + " \"symbol\":\"COINUSDT\",\n" + + " \"symbolName\":\"COINUSDT\",\n" + + " \"orderLinkId\":\"1655997749596563\",\n" + + " \"orderId\":\"1184989442799045889\",\n" + + " \"price\":\"0\",\n" + + " \"origQty\":\"352\",\n" + + " \"executedQty\":\"352\",\n" + + " \"cummulativeQuoteQty\":\"0.569888\",\n" + + " \"avgPrice\":\"0.001619\",\n" + + " \"status\":\"FILLED\",\n" + + " \"timeInForce\":\"GTC\",\n" + + " \"type\":\"MARKET\",\n" + + " \"side\":\"SELL\",\n" + + " \"stopPrice\":\"0.0\",\n" + + " \"icebergQty\":\"0.0\",\n" + + " \"time\":\"1655997749601\",\n" + + " \"updateTime\":\"1655997749662\",\n" + + " \"isWorking\":true,\n" + + " \"locked\":\"0\"\n" + + " }\n" + + "}"; stubFor( post(urlPathEqualTo("/spot/v1/order")) @@ -137,16 +148,10 @@ public void testPlaceBybitOrder() throws IOException { aResponse() .withStatus(Status.OK.getStatusCode()) .withHeader("Content-Type", "application/json") - .withBody(orderPlacementResponse) - ) - ); + .withBody(orderPlacementResponse))); - BybitResult order = bybitAccountServiceRaw.placeOrder( - "COINUSDT", - 300, - "SELL", - "MARKET" - ); + BybitResult order = + bybitAccountServiceRaw.placeOrder("COINUSDT", 300, "SELL", "MARKET"); ObjectMapper mapper = new ObjectMapper(); JsonNode responseObject = mapper.readTree(orderPlacementResponse); @@ -154,20 +159,31 @@ public void testPlaceBybitOrder() throws IOException { BybitOrderRequest orderRequestResult = order.getResult(); JsonNode responseObjectResult = responseObject.get("result"); - assertThat(responseObjectResult.get("accountId").textValue()).isEqualTo(orderRequestResult.getAccountId()); - assertThat(responseObjectResult.get("symbol").textValue()).isEqualTo(orderRequestResult.getSymbol()); - assertThat(responseObjectResult.get("symbolName").textValue()).isEqualTo(orderRequestResult.getSymbolName()); - assertThat(responseObjectResult.get("orderLinkId").textValue()).isEqualTo(orderRequestResult.getOrderLinkId()); - assertThat(responseObjectResult.get("orderId").textValue()).isEqualTo(orderRequestResult.getOrderId()); - assertThat(responseObjectResult.get("price").textValue()).isEqualTo(orderRequestResult.getPrice()); - assertThat(responseObjectResult.get("origQty").textValue()).isEqualTo(orderRequestResult.getOrigQty()); - assertThat(responseObjectResult.get("executedQty").textValue()).isEqualTo(orderRequestResult.getExecutedQty()); - assertThat(responseObjectResult.get("status").textValue()).isEqualTo(orderRequestResult.getStatus()); - assertThat(responseObjectResult.get("timeInForce").textValue()).isEqualTo(orderRequestResult.getTimeInForce()); - assertThat(responseObjectResult.get("type").textValue()).isEqualTo(orderRequestResult.getType()); - assertThat(responseObjectResult.get("side").textValue()).isEqualTo(orderRequestResult.getSide()); + assertThat(responseObjectResult.get("accountId").textValue()) + .isEqualTo(orderRequestResult.getAccountId()); + assertThat(responseObjectResult.get("symbol").textValue()) + .isEqualTo(orderRequestResult.getSymbol()); + assertThat(responseObjectResult.get("symbolName").textValue()) + .isEqualTo(orderRequestResult.getSymbolName()); + assertThat(responseObjectResult.get("orderLinkId").textValue()) + .isEqualTo(orderRequestResult.getOrderLinkId()); + assertThat(responseObjectResult.get("orderId").textValue()) + .isEqualTo(orderRequestResult.getOrderId()); + assertThat(responseObjectResult.get("price").textValue()) + .isEqualTo(orderRequestResult.getPrice()); + assertThat(responseObjectResult.get("origQty").textValue()) + .isEqualTo(orderRequestResult.getOrigQty()); + assertThat(responseObjectResult.get("executedQty").textValue()) + .isEqualTo(orderRequestResult.getExecutedQty()); + assertThat(responseObjectResult.get("status").textValue()) + .isEqualTo(orderRequestResult.getStatus()); + assertThat(responseObjectResult.get("timeInForce").textValue()) + .isEqualTo(orderRequestResult.getTimeInForce()); + assertThat(responseObjectResult.get("type").textValue()) + .isEqualTo(orderRequestResult.getType()); + assertThat(responseObjectResult.get("side").textValue()) + .isEqualTo(orderRequestResult.getSide()); System.out.println(order); } - -} \ No newline at end of file +} diff --git a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitTradeServiceTest.java b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitTradeServiceTest.java index 72255344a0c..e9ed9e346f8 100644 --- a/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitTradeServiceTest.java +++ b/xchange-bybit/src/test/java/org/knowm/xchange/bybit/service/BybitTradeServiceTest.java @@ -7,10 +7,10 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static org.assertj.core.api.Assertions.assertThat; +import jakarta.ws.rs.core.Response.Status; import java.io.IOException; import java.math.BigDecimal; import java.util.Collection; -import jakarta.ws.rs.core.Response.Status; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.currency.CurrencyPair; @@ -24,35 +24,36 @@ public void testGetBybitOrder() throws IOException { Exchange bybitExchange = createExchange(); BybitTradeService bybitAccountService = new BybitTradeService(bybitExchange); - String orderDetails = "{\n" + - " \"ret_code\":0,\n" + - " \"ret_msg\":\"\",\n" + - " \"ext_code\":null,\n" + - " \"ext_info\":null,\n" + - " \"result\":{\n" + - " \"accountId\":\"123456789\",\n" + - " \"exchangeId\":\"301\",\n" + - " \"symbol\":\"COINUSDT\",\n" + - " \"symbolName\":\"COINUSDT\",\n" + - " \"orderLinkId\":\"1234567891011121\",\n" + - " \"orderId\":\"1234567891011121314\",\n" + - " \"price\":\"0\",\n" + - " \"origQty\":\"352\",\n" + - " \"executedQty\":\"352\",\n" + - " \"cummulativeQuoteQty\":\"0.569888\",\n" + - " \"avgPrice\":\"0.001619\",\n" + - " \"status\":\"FILLED\",\n" + - " \"timeInForce\":\"GTC\",\n" + - " \"type\":\"MARKET\",\n" + - " \"side\":\"SELL\",\n" + - " \"stopPrice\":\"0.0\",\n" + - " \"icebergQty\":\"0.0\",\n" + - " \"time\":\"1655997749601\",\n" + - " \"updateTime\":\"1655997749662\",\n" + - " \"isWorking\":true,\n" + - " \"locked\":\"0\"\n" + - " }\n" + - "}"; + String orderDetails = + "{\n" + + " \"ret_code\":0,\n" + + " \"ret_msg\":\"\",\n" + + " \"ext_code\":null,\n" + + " \"ext_info\":null,\n" + + " \"result\":{\n" + + " \"accountId\":\"123456789\",\n" + + " \"exchangeId\":\"301\",\n" + + " \"symbol\":\"COINUSDT\",\n" + + " \"symbolName\":\"COINUSDT\",\n" + + " \"orderLinkId\":\"1234567891011121\",\n" + + " \"orderId\":\"1234567891011121314\",\n" + + " \"price\":\"0\",\n" + + " \"origQty\":\"352\",\n" + + " \"executedQty\":\"352\",\n" + + " \"cummulativeQuoteQty\":\"0.569888\",\n" + + " \"avgPrice\":\"0.001619\",\n" + + " \"status\":\"FILLED\",\n" + + " \"timeInForce\":\"GTC\",\n" + + " \"type\":\"MARKET\",\n" + + " \"side\":\"SELL\",\n" + + " \"stopPrice\":\"0.0\",\n" + + " \"icebergQty\":\"0.0\",\n" + + " \"time\":\"1655997749601\",\n" + + " \"updateTime\":\"1655997749662\",\n" + + " \"isWorking\":true,\n" + + " \"locked\":\"0\"\n" + + " }\n" + + "}"; stubFor( get(urlPathEqualTo("/spot/v1/order")) @@ -60,9 +61,7 @@ public void testGetBybitOrder() throws IOException { aResponse() .withStatus(Status.OK.getStatusCode()) .withHeader("Content-Type", "application/json") - .withBody(orderDetails) - ) - ); + .withBody(orderDetails))); Collection orders = bybitAccountService.getOrder("1234567891011121314"); assertThat(orders.size()).isEqualTo(1); @@ -73,44 +72,43 @@ public void testGetBybitOrder() throws IOException { assertThat(order.getAveragePrice()).isEqualTo(new BigDecimal("0.001619")); assertThat(order.getStatus()).isEqualTo(Order.OrderStatus.FILLED); assertThat(order.getOriginalAmount()).isEqualTo(new BigDecimal("352")); - } - @Test public void testPlaceBybitOrder() throws IOException { Exchange bybitExchange = createExchange(); BybitTradeService bybitAccountService = new BybitTradeService(bybitExchange); - String orderPlacementResponse = "{\n" + - " \"ret_code\":0,\n" + - " \"ret_msg\":\"\",\n" + - " \"ext_code\":null,\n" + - " \"ext_info\":null,\n" + - " \"result\":{\n" + - " \"accountId\":\"28649557\",\n" + - " \"exchangeId\":\"301\",\n" + - " \"symbol\":\"COINUSDT\",\n" + - " \"symbolName\":\"COINUSDT\",\n" + - " \"orderLinkId\":\"1655997749596563\",\n" + - " \"orderId\":\"1184989442799045889\",\n" + - " \"price\":\"0\",\n" + - " \"origQty\":\"352\",\n" + - " \"executedQty\":\"352\",\n" + - " \"cummulativeQuoteQty\":\"0.569888\",\n" + - " \"avgPrice\":\"0.001619\",\n" + - " \"status\":\"FILLED\",\n" + - " \"timeInForce\":\"GTC\",\n" + - " \"type\":\"MARKET\",\n" + - " \"side\":\"SELL\",\n" + - " \"stopPrice\":\"0.0\",\n" + - " \"icebergQty\":\"0.0\",\n" + - " \"time\":\"1655997749601\",\n" + - " \"updateTime\":\"1655997749662\",\n" + - " \"isWorking\":true,\n" + - " \"locked\":\"0\"\n" + - " }\n" + - "}"; + String orderPlacementResponse = + "{\n" + + " \"ret_code\":0,\n" + + " \"ret_msg\":\"\",\n" + + " \"ext_code\":null,\n" + + " \"ext_info\":null,\n" + + " \"result\":{\n" + + " \"accountId\":\"28649557\",\n" + + " \"exchangeId\":\"301\",\n" + + " \"symbol\":\"COINUSDT\",\n" + + " \"symbolName\":\"COINUSDT\",\n" + + " \"orderLinkId\":\"1655997749596563\",\n" + + " \"orderId\":\"1184989442799045889\",\n" + + " \"price\":\"0\",\n" + + " \"origQty\":\"352\",\n" + + " \"executedQty\":\"352\",\n" + + " \"cummulativeQuoteQty\":\"0.569888\",\n" + + " \"avgPrice\":\"0.001619\",\n" + + " \"status\":\"FILLED\",\n" + + " \"timeInForce\":\"GTC\",\n" + + " \"type\":\"MARKET\",\n" + + " \"side\":\"SELL\",\n" + + " \"stopPrice\":\"0.0\",\n" + + " \"icebergQty\":\"0.0\",\n" + + " \"time\":\"1655997749601\",\n" + + " \"updateTime\":\"1655997749662\",\n" + + " \"isWorking\":true,\n" + + " \"locked\":\"0\"\n" + + " }\n" + + "}"; stubFor( post(urlPathEqualTo("/spot/v1/order")) @@ -118,16 +116,13 @@ public void testPlaceBybitOrder() throws IOException { aResponse() .withStatus(Status.OK.getStatusCode()) .withHeader("Content-Type", "application/json") - .withBody(orderPlacementResponse) - ) - ); + .withBody(orderPlacementResponse))); - String orderId = bybitAccountService.placeMarketOrder( - new MarketOrder(Order.OrderType.ASK, new BigDecimal("300"), new CurrencyPair("COIN", "USDT")) - ); + String orderId = + bybitAccountService.placeMarketOrder( + new MarketOrder( + Order.OrderType.ASK, new BigDecimal("300"), new CurrencyPair("COIN", "USDT"))); assertThat(orderId).isEqualTo("1184989442799045889"); - } - -} \ No newline at end of file +} diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEX.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEX.java index ce9f72bf90e..3c13a2e779f 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEX.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEX.java @@ -1,12 +1,12 @@ package org.knowm.xchange.ccex; -import java.io.IOException; -import java.util.Objects; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Objects; import org.knowm.xchange.ccex.dto.marketdata.CCEXGetorderbook; import org.knowm.xchange.ccex.dto.marketdata.CCEXMarkets; import org.knowm.xchange.ccex.dto.marketdata.CCEXTrades; @@ -75,4 +75,4 @@ public String toString() { pair.base.getCurrencyCode().toLowerCase(), pair.counter.getCurrencyCode().toLowerCase()); } } -} \ No newline at end of file +} diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEXAdapters.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEXAdapters.java index b05db84aca2..bfde198caf3 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEXAdapters.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEXAdapters.java @@ -125,10 +125,12 @@ public static ExchangeMetaData adaptToExchangeMetaData( if (existingMetaForPair != null) { existingFeeTiers = existingMetaForPair.getFeeTiers(); } - currencyPairs.put(pair, new InstrumentMetaData.Builder() - .minimumAmount(minSize) - .priceScale(0) - .feeTiers(existingFeeTiers) + currencyPairs.put( + pair, + new InstrumentMetaData.Builder() + .minimumAmount(minSize) + .priceScale(0) + .feeTiers(existingFeeTiers) .build()); currencies.put(pair.base, null); currencies.put(pair.counter, null); diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEXAuthenticated.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEXAuthenticated.java index 923307de202..1f047ec10ce 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEXAuthenticated.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/CCEXAuthenticated.java @@ -1,12 +1,12 @@ package org.knowm.xchange.ccex; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.ccex.dto.account.CCEXBalanceResponse; import org.knowm.xchange.ccex.dto.account.CCEXBalancesResponse; import org.knowm.xchange.ccex.dto.trade.CCEXBuySellLimitResponse; @@ -87,4 +87,4 @@ CCEXBuySellLimitResponse selllimit( @PathParam("quantity") String quantity, @PathParam("rate") String rate) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXBuySellData.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXBuySellData.java index 7ed0214cd53..08acff99fc1 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXBuySellData.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXBuySellData.java @@ -18,12 +18,16 @@ public CCEXBuySellData( this.rate = rate; } - /** @return The quantity */ + /** + * @return The quantity + */ public BigDecimal getQuantity() { return quantity; } - /** @return The rate */ + /** + * @return The rate + */ public BigDecimal getRate() { return rate; } diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXBuySellResult.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXBuySellResult.java index 26b3df5837b..da61c3a5ee1 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXBuySellResult.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXBuySellResult.java @@ -20,12 +20,16 @@ public CCEXBuySellResult( this.sell = sell; } - /** @return The buy */ + /** + * @return The buy + */ public List getBuy() { return buy; } - /** @return The sell */ + /** + * @return The sell + */ public List getSell() { return sell; } diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXGetorderbook.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXGetorderbook.java index 6a84dc759c5..11da8b67ee9 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXGetorderbook.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXGetorderbook.java @@ -23,17 +23,23 @@ public CCEXGetorderbook( this.result = result; } - /** @return The success */ + /** + * @return The success + */ public Boolean getSuccess() { return success; } - /** @return The message */ + /** + * @return The message + */ public String getMessage() { return message; } - /** @return The result */ + /** + * @return The result + */ public CCEXBuySellResult getResult() { return result; } diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXTrades.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXTrades.java index b613c46a6ec..490e266156e 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXTrades.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/marketdata/CCEXTrades.java @@ -23,17 +23,23 @@ public CCEXTrades( this.result = result; } - /** @return The success */ + /** + * @return The success + */ public Boolean getSuccess() { return success; } - /** @return The message */ + /** + * @return The message + */ public String getMessage() { return message; } - /** @return The message */ + /** + * @return The message + */ public List getResult() { return result; } diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/CCEXPairs.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/CCEXPairs.java index e97720d00f0..ead55a8c004 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/CCEXPairs.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/CCEXPairs.java @@ -25,18 +25,24 @@ public class CCEXPairs { /** No args constructor for use in serialization */ public CCEXPairs() {} - /** @param pairs */ + /** + * @param pairs + */ public CCEXPairs(List pairs) { this.pairs = pairs; } - /** @return The pairs */ + /** + * @return The pairs + */ @JsonProperty("pairs") public List getPairs() { return pairs; } - /** @param pairs The pairs */ + /** + * @param pairs The pairs + */ @JsonProperty("pairs") public void setPairs(List pairs) { this.pairs = pairs; diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/CCEXTrading.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/CCEXTrading.java index 8bba6249295..50d1f32cdf7 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/CCEXTrading.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/CCEXTrading.java @@ -16,18 +16,24 @@ public class CCEXTrading { /** No args constructor for use in serialization */ public CCEXTrading() {} - /** @param ticker */ + /** + * @param ticker + */ public CCEXTrading(Ticker ticker) { this.ticker = ticker; } - /** @return The ticker */ + /** + * @return The ticker + */ @JsonProperty("ticker") public Ticker getTicker() { return ticker; } - /** @param ticker The ticker */ + /** + * @param ticker The ticker + */ @JsonProperty("ticker") public void setTicker(Ticker ticker) { this.ticker = ticker; diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/Ticker.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/Ticker.java index 3c84dea2c79..9cca4c611a4 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/Ticker.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/dto/ticker/Ticker.java @@ -89,13 +89,17 @@ public Ticker( this.updated = updated; } - /** @return The high */ + /** + * @return The high + */ @JsonProperty("high") public Double getHigh() { return high; } - /** @param high The high */ + /** + * @param high The high + */ @JsonProperty("high") public void setHigh(Double high) { this.high = high; @@ -106,13 +110,17 @@ public Ticker withHigh(Double high) { return this; } - /** @return The low */ + /** + * @return The low + */ @JsonProperty("low") public Double getLow() { return low; } - /** @param low The low */ + /** + * @param low The low + */ @JsonProperty("low") public void setLow(Double low) { this.low = low; @@ -123,13 +131,17 @@ public Ticker withLow(Double low) { return this; } - /** @return The avg */ + /** + * @return The avg + */ @JsonProperty("avg") public Double getAvg() { return avg; } - /** @param avg The avg */ + /** + * @param avg The avg + */ @JsonProperty("avg") public void setAvg(Double avg) { this.avg = avg; @@ -140,13 +152,17 @@ public Ticker withAvg(Double avg) { return this; } - /** @return The lastbuy */ + /** + * @return The lastbuy + */ @JsonProperty("lastbuy") public Double getLastbuy() { return lastbuy; } - /** @param lastbuy The lastbuy */ + /** + * @param lastbuy The lastbuy + */ @JsonProperty("lastbuy") public void setLastbuy(Double lastbuy) { this.lastbuy = lastbuy; @@ -157,13 +173,17 @@ public Ticker withLastbuy(Double lastbuy) { return this; } - /** @return The lastsell */ + /** + * @return The lastsell + */ @JsonProperty("lastsell") public Double getLastsell() { return lastsell; } - /** @param lastsell The lastsell */ + /** + * @param lastsell The lastsell + */ @JsonProperty("lastsell") public void setLastsell(Double lastsell) { this.lastsell = lastsell; @@ -174,13 +194,17 @@ public Ticker withLastsell(Double lastsell) { return this; } - /** @return The buy */ + /** + * @return The buy + */ @JsonProperty("buy") public Double getBuy() { return buy; } - /** @param buy The buy */ + /** + * @param buy The buy + */ @JsonProperty("buy") public void setBuy(Double buy) { this.buy = buy; @@ -191,13 +215,17 @@ public Ticker withBuy(Double buy) { return this; } - /** @return The sell */ + /** + * @return The sell + */ @JsonProperty("sell") public Double getSell() { return sell; } - /** @param sell The sell */ + /** + * @param sell The sell + */ @JsonProperty("sell") public void setSell(Double sell) { this.sell = sell; @@ -208,13 +236,17 @@ public Ticker withSell(Double sell) { return this; } - /** @return The lastprice */ + /** + * @return The lastprice + */ @JsonProperty("lastprice") public Double getLastprice() { return lastprice; } - /** @param lastprice The lastprice */ + /** + * @param lastprice The lastprice + */ @JsonProperty("lastprice") public void setLastprice(Double lastprice) { this.lastprice = lastprice; @@ -225,13 +257,17 @@ public Ticker withLastprice(Double lastprice) { return this; } - /** @return The buysupport */ + /** + * @return The buysupport + */ @JsonProperty("buysupport") public Double getBuysupport() { return buysupport; } - /** @param buysupport The buysupport */ + /** + * @param buysupport The buysupport + */ @JsonProperty("buysupport") public void setBuysupport(Double buysupport) { this.buysupport = buysupport; @@ -242,13 +278,17 @@ public Ticker withBuysupport(Double buysupport) { return this; } - /** @return The updated */ + /** + * @return The updated + */ @JsonProperty("updated") public Integer getUpdated() { return updated; } - /** @param updated The updated */ + /** + * @param updated The updated + */ @JsonProperty("updated") public void setUpdated(Integer updated) { this.updated = updated; diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXBaseService.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXBaseService.java index e87398b3470..f69e43e54ac 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXBaseService.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXBaseService.java @@ -7,7 +7,9 @@ import org.knowm.xchange.service.BaseService; import si.mazi.rescu.ParamsDigest; -/** @author Andraž Prinčič */ +/** + * @author Andraž Prinčič + */ public class CCEXBaseService extends BaseExchangeService implements BaseService { protected final String apiKey; diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXMarketDataService.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXMarketDataService.java index bc454cd0d72..62f47cb95f5 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXMarketDataService.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXMarketDataService.java @@ -9,7 +9,9 @@ import org.knowm.xchange.dto.marketdata.Trades; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author Andraž Prinčič */ +/** + * @author Andraž Prinčič + */ public class CCEXMarketDataService extends CCEXMarketDataServiceRaw implements MarketDataService { public CCEXMarketDataService(Exchange exchange) { diff --git a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXMarketDataServiceRaw.java b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXMarketDataServiceRaw.java index 3d02de42ea8..08b5e43a6d7 100644 --- a/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXMarketDataServiceRaw.java +++ b/xchange-ccex/src/main/java/org/knowm/xchange/ccex/service/CCEXMarketDataServiceRaw.java @@ -13,7 +13,9 @@ import org.knowm.xchange.client.ExchangeRestProxyBuilder; import org.knowm.xchange.currency.CurrencyPair; -/** @author Andraž Prinčič */ +/** + * @author Andraž Prinčič + */ public class CCEXMarketDataServiceRaw extends CCEXBaseService { private final CCEX ccex; diff --git a/xchange-ccex/src/test/java/org/xchange/ccex/AppTest.java b/xchange-ccex/src/test/java/org/xchange/ccex/AppTest.java index 94976e30253..7846624dbe6 100644 --- a/xchange-ccex/src/test/java/org/xchange/ccex/AppTest.java +++ b/xchange-ccex/src/test/java/org/xchange/ccex/AppTest.java @@ -15,7 +15,9 @@ public AppTest(String testName) { super(testName); } - /** @return the suite of tests being tested */ + /** + * @return the suite of tests being tested + */ public static Test suite() { return new TestSuite(AppTest.class); } diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIO.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIO.java index b4a03574d4c..0a27c1effd2 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIO.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIO.java @@ -1,6 +1,5 @@ package org.knowm.xchange.cexio; -import java.io.IOException; import jakarta.ws.rs.DefaultValue; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; @@ -9,13 +8,16 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.cexio.dto.marketdata.CexIOCurrencyLimits; import org.knowm.xchange.cexio.dto.marketdata.CexIODepth; import org.knowm.xchange.cexio.dto.marketdata.CexIOTicker; import org.knowm.xchange.cexio.dto.marketdata.CexIOTickersResponse; import org.knowm.xchange.cexio.dto.marketdata.CexIOTrade; -/** @author brox */ +/** + * @author brox + */ @Path("api") @Produces(MediaType.APPLICATION_JSON) public interface CexIO { @@ -71,4 +73,4 @@ CexIOTrade[] getTradesSince( @GET @Path("currency_limits") CexIOCurrencyLimits getCurrencyLimits() throws IOException; -} \ No newline at end of file +} diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIOAuthenticated.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIOAuthenticated.java index 13e6ae3d936..f87eb9903b6 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIOAuthenticated.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIOAuthenticated.java @@ -1,8 +1,5 @@ package org.knowm.xchange.cexio; -import java.io.IOException; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; @@ -10,6 +7,9 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; +import java.util.Map; import org.knowm.xchange.cexio.dto.ArchivedOrdersRequest; import org.knowm.xchange.cexio.dto.CexIOGetPositionRequest; import org.knowm.xchange.cexio.dto.CexIOOpenPositionRequest; @@ -172,4 +172,4 @@ CexioOpenPositionsResponse getOpenPositions( @PathParam("symbol2") String symbol2, CexIORequest emptyRequest) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIOExchange.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIOExchange.java index b9fe3860041..69853df08ed 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIOExchange.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/CexIOExchange.java @@ -54,23 +54,27 @@ public void remoteInit() throws IOException, ExchangeException { for (CexIOCurrencyLimits.Pair pair : currencyLimits.getData().getPairs()) { CurrencyPair currencyPair = new CurrencyPair(pair.getSymbol1(), pair.getSymbol2()); InstrumentMetaData metaData = - new InstrumentMetaData.Builder().minimumAmount(pair.getMinLotSize()).maximumAmount(pair.getMaxLotSize()).build(); + new InstrumentMetaData.Builder() + .minimumAmount(pair.getMinLotSize()) + .maximumAmount(pair.getMaxLotSize()) + .build(); currencyPairs.merge( currencyPair, metaData, (oldMetaData, newMetaData) -> - new InstrumentMetaData.Builder() - .tradingFee(oldMetaData.getTradingFee()) - .minimumAmount(newMetaData.getMinimumAmount()) - .maximumAmount(newMetaData.getMaximumAmount() != null - ? newMetaData.getMaximumAmount() - : oldMetaData.getMaximumAmount()) - .priceScale(oldMetaData.getPriceScale()) - .feeTiers(newMetaData.getFeeTiers() != null - ? newMetaData.getFeeTiers() - : oldMetaData.getFeeTiers()) - .build()); - + new InstrumentMetaData.Builder() + .tradingFee(oldMetaData.getTradingFee()) + .minimumAmount(newMetaData.getMinimumAmount()) + .maximumAmount( + newMetaData.getMaximumAmount() != null + ? newMetaData.getMaximumAmount() + : oldMetaData.getMaximumAmount()) + .priceScale(oldMetaData.getPriceScale()) + .feeTiers( + newMetaData.getFeeTiers() != null + ? newMetaData.getFeeTiers() + : oldMetaData.getFeeTiers()) + .build()); } logger.info("remoteInit successful for {}", getExchangeSpecification().getExchangeName()); } diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/CexIOApiResponse.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/CexIOApiResponse.java index 900cbc4331e..8959b05c27f 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/CexIOApiResponse.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/CexIOApiResponse.java @@ -1,6 +1,8 @@ package org.knowm.xchange.cexio.dto; -/** @author ujjwal on 13/02/18. */ +/** + * @author ujjwal on 13/02/18. + */ public abstract class CexIOApiResponse { private final String e; private final T data; diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/CexIOOpenPositionRequest.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/CexIOOpenPositionRequest.java index 51fba44c339..03be413bdb8 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/CexIOOpenPositionRequest.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/CexIOOpenPositionRequest.java @@ -19,17 +19,20 @@ public class CexIOOpenPositionRequest extends CexIORequest { @JsonProperty("msymbol") public final String msymbol; // currency of user funds used, may be one of currencies in the pair, default is + // second currency in the pair @JsonProperty("leverage") public final Integer leverage; // leverage ratio of total funds (user's and borrowed) to user's funds; for example + // - leverage=3 means - ratio total/user's=3:1, margin=33.(3)%, 1/3 is users, 2/3 // are borrowed; Note that in UI it will be presented as 1/3 @JsonProperty("ptype") public final CexioPositionType ptype; // position type. long - buying product, profitable if product price grows; short - + // selling product, profitable if product price falls; @JsonProperty("anySlippage") @@ -43,6 +46,7 @@ public class CexIOOpenPositionRequest extends CexIORequest { @JsonSerialize(using = ToStringSerializer.class) public final BigDecimal stopLossPrice; // price near which your position will be closed automatically in case of + // unfavorable market conditions public CexIOOpenPositionRequest( diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/account/CexIOFeeInfo.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/account/CexIOFeeInfo.java index ea47704819f..ffc4d27d3e3 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/account/CexIOFeeInfo.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/account/CexIOFeeInfo.java @@ -9,7 +9,9 @@ import org.knowm.xchange.cexio.dto.CexIOApiResponse; import org.knowm.xchange.currency.CurrencyPair; -/** @author ujjwal on 14/02/18. */ +/** + * @author ujjwal on 14/02/18. + */ public class CexIOFeeInfo extends CexIOApiResponse> { public CexIOFeeInfo( diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/marketdata/CexIOCurrencyLimits.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/marketdata/CexIOCurrencyLimits.java index 4564a6f3380..1f99598572e 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/marketdata/CexIOCurrencyLimits.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/marketdata/CexIOCurrencyLimits.java @@ -6,7 +6,9 @@ import org.knowm.xchange.cexio.dto.CexIOApiResponse; import org.knowm.xchange.currency.Currency; -/** @author ujjwal on 13/02/18. */ +/** + * @author ujjwal on 13/02/18. + */ public class CexIOCurrencyLimits extends CexIOApiResponse { public CexIOCurrencyLimits( diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/marketdata/CexIODepth.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/marketdata/CexIODepth.java index ffb23bd5a13..35b3b870500 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/marketdata/CexIODepth.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/marketdata/CexIODepth.java @@ -33,7 +33,9 @@ public String getError() { return error; } - /** @return Timestamp in Unix milliseconds */ + /** + * @return Timestamp in Unix milliseconds + */ public Long getTimestamp() { return timestamp; diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexIOFullOrder.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexIOFullOrder.java index 605cc62aa59..5f492fc9c89 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexIOFullOrder.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexIOFullOrder.java @@ -33,8 +33,10 @@ public class CexIOFullOrder extends CexIOOpenOrder { /** ta:{symbol2} string total amount in current currency (Maker) */ public final String totalAmountMaker; + /** tta:{symbol2} string total amount in current currency (Taker) */ public final String totalAmountTaker; + /** fa:{symbol2} string fee amount in current currency (Maker) */ public final String feeMaker; diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioClosePositionResponse.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioClosePositionResponse.java index 65535b8965d..1ba90487847 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioClosePositionResponse.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioClosePositionResponse.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; -/** @author Andrea Fossi. */ +/** + * @author Andrea Fossi. + */ @JsonIgnoreProperties(ignoreUnknown = true) public class CexioClosePositionResponse { @JsonProperty("e") diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioOpenPosition.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioOpenPosition.java index 92fcc9a8433..273ab6e8063 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioOpenPosition.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioOpenPosition.java @@ -42,6 +42,7 @@ public class CexioOpenPosition { cfee; // fee (in %) from user's amount, that will be charged for position closing private final BigDecimal tfeeAmount; // total fees paid by user, it is equal to opening fee amount, when position has + // been just opened public CexioOpenPosition( diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPosition.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPosition.java index 8e6cc9b2b84..3f354f428e7 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPosition.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPosition.java @@ -61,6 +61,7 @@ public class CexioPosition { private final String lremains; // (TECH) amount of borrowed funds to be returned by user private final String slremains; // (TECH) remains of slamount to return private final String status; // position's current status (e.g. a for active) + // public final String a:USD:cds ;// (TECH) equation c==d, s==0 public CexioPosition( diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionPair.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionPair.java index 016e77aefce..2c29bb29d45 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionPair.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionPair.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author Andrea Fossi. */ +/** + * @author Andrea Fossi. + */ public class CexioPositionPair { private final String symbol1; private final String symbol2; diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionResponse.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionResponse.java index 89f6621dd0d..dc05b7d02c8 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionResponse.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionResponse.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; -/** @author Andrea Fossi. */ +/** + * @author Andrea Fossi. + */ @JsonIgnoreProperties(ignoreUnknown = true) public class CexioPositionResponse { @JsonProperty("e") diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionType.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionType.java index fb88287051f..25cf3eb629b 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionType.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/dto/trade/CexioPositionType.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.annotation.JsonValue; import org.apache.commons.lang3.StringUtils; -/** @author Andrea Fossi. */ +/** + * @author Andrea Fossi. + */ public enum CexioPositionType { LONG, SHORT; diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOBaseService.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOBaseService.java index 67b1383b5d4..054b7f629b5 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOBaseService.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOBaseService.java @@ -6,7 +6,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author timmolter */ +/** + * @author timmolter + */ public class CexIOBaseService extends BaseExchangeService implements BaseService { protected final CexIOAuthenticated cexIOAuthenticated; diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOMarketDataServiceRaw.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOMarketDataServiceRaw.java index c53ef59807b..a7a528acd99 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOMarketDataServiceRaw.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOMarketDataServiceRaw.java @@ -11,7 +11,9 @@ import org.knowm.xchange.client.ExchangeRestProxyBuilder; import org.knowm.xchange.currency.CurrencyPair; -/** @author timmolter */ +/** + * @author timmolter + */ public class CexIOMarketDataServiceRaw extends CexIOBaseService { private final CexIO cexio; diff --git a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOTradeServiceRaw.java b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOTradeServiceRaw.java index c619834d4d0..f32351fcc59 100644 --- a/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOTradeServiceRaw.java +++ b/xchange-cexio/src/main/java/org/knowm/xchange/cexio/service/CexIOTradeServiceRaw.java @@ -351,8 +351,10 @@ public static class CexIOTradeHistoryParams /** end date for last change orders filtering (timestamp in seconds, 10 digits) */ private final Long lastTxDateTo; + /** start date for last change order filtering (timestamp in seconds, 10 digits) */ private final Long lastTxDateFrom; + /** * "d" — done (fully executed), "c" — canceled (not executed), "cd" — cancel-done (partially * executed) @@ -360,10 +362,13 @@ public static class CexIOTradeHistoryParams private final String status; // todo: this should be an enum private CurrencyPair currencyPair; + /** limit the number of entries in response (1 to 100) */ private Integer limit; + /** end date for open orders filtering (timestamp in seconds, 10 digits) */ private Long dateTo; + /** start date for open order filtering (timestamp in seconds, 10 digits) */ private Long dateFrom; diff --git a/xchange-cexio/src/test/java/org/knowm/xchange/cexio/dto/account/CexIOFeeInfoTest.java b/xchange-cexio/src/test/java/org/knowm/xchange/cexio/dto/account/CexIOFeeInfoTest.java index 86ba6853956..128f5d10ac3 100644 --- a/xchange-cexio/src/test/java/org/knowm/xchange/cexio/dto/account/CexIOFeeInfoTest.java +++ b/xchange-cexio/src/test/java/org/knowm/xchange/cexio/dto/account/CexIOFeeInfoTest.java @@ -13,7 +13,9 @@ import org.junit.Test; import org.knowm.xchange.currency.CurrencyPair; -/** @author ujjwal on 14/02/18. */ +/** + * @author ujjwal on 14/02/18. + */ public class CexIOFeeInfoTest { @Test public void jsonMapperTest() throws IOException { diff --git a/xchange-cexio/src/test/java/org/knowm/xchange/cexio/dto/marketdata/CexIOCurrencyLimitsTest.java b/xchange-cexio/src/test/java/org/knowm/xchange/cexio/dto/marketdata/CexIOCurrencyLimitsTest.java index be32ba54188..5192f78cf67 100644 --- a/xchange-cexio/src/test/java/org/knowm/xchange/cexio/dto/marketdata/CexIOCurrencyLimitsTest.java +++ b/xchange-cexio/src/test/java/org/knowm/xchange/cexio/dto/marketdata/CexIOCurrencyLimitsTest.java @@ -7,7 +7,9 @@ import java.io.InputStream; import org.junit.Test; -/** @author ujjwal on 13/02/18. */ +/** + * @author ujjwal on 13/02/18. + */ public class CexIOCurrencyLimitsTest { @Test public void jsonMapperTest() throws IOException { diff --git a/xchange-cexio/src/test/java/org/knowm/xchange/cexio/service/marketdata/RemoteInitIntegration.java b/xchange-cexio/src/test/java/org/knowm/xchange/cexio/service/marketdata/RemoteInitIntegration.java index e7ac8b5057d..f761f8b7093 100644 --- a/xchange-cexio/src/test/java/org/knowm/xchange/cexio/service/marketdata/RemoteInitIntegration.java +++ b/xchange-cexio/src/test/java/org/knowm/xchange/cexio/service/marketdata/RemoteInitIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.cexio.dto.marketdata.CexIOCurrencyLimits; import org.knowm.xchange.cexio.service.CexIOMarketDataService; -/** @author ujjwal on 14/02/18. */ +/** + * @author ujjwal on 14/02/18. + */ public class RemoteInitIntegration { @Test public void integrationTest() throws IOException { diff --git a/xchange-cexio/src/test/java/org/knowm/xchange/cexio/service/marketdata/TickerFetchIntegration.java b/xchange-cexio/src/test/java/org/knowm/xchange/cexio/service/marketdata/TickerFetchIntegration.java index 883b1bc6bb8..a9500836be6 100644 --- a/xchange-cexio/src/test/java/org/knowm/xchange/cexio/service/marketdata/TickerFetchIntegration.java +++ b/xchange-cexio/src/test/java/org/knowm/xchange/cexio/service/marketdata/TickerFetchIntegration.java @@ -21,7 +21,9 @@ import org.knowm.xchange.service.marketdata.params.CurrencyPairsParam; import org.knowm.xchange.service.marketdata.params.InstrumentsParams; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { private static Exchange exchange; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/Coinbase.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/Coinbase.java index a59bc7ac418..f02dbc9c43d 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/Coinbase.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/Coinbase.java @@ -1,9 +1,5 @@ package org.knowm.xchange.coinbase; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.POST; @@ -11,6 +7,10 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; import org.knowm.xchange.coinbase.dto.CoinbaseException; import org.knowm.xchange.coinbase.dto.account.CoinbaseToken; import org.knowm.xchange.coinbase.dto.account.CoinbaseUser; @@ -18,7 +18,9 @@ import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseMoney; import org.knowm.xchange.coinbase.dto.marketdata.CoinbasePrice; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @Path("api/v1") @Produces(MediaType.APPLICATION_JSON) public interface Coinbase { @@ -62,4 +64,4 @@ String getHistoricalSpotRates(@QueryParam("page") Integer page) @POST @Path("tokens") CoinbaseToken createToken() throws IOException, CoinbaseException; -} \ No newline at end of file +} diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/CoinbaseAuthenticated.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/CoinbaseAuthenticated.java index c16c92c3a54..e633a0bb5b9 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/CoinbaseAuthenticated.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/CoinbaseAuthenticated.java @@ -1,6 +1,5 @@ package org.knowm.xchange.coinbase; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -12,6 +11,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coinbase.dto.CoinbaseBaseResponse; import org.knowm.xchange.coinbase.dto.CoinbaseException; import org.knowm.xchange.coinbase.dto.account.CoinbaseAccountChanges; @@ -36,7 +36,9 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @Path("api/v1") @Produces(MediaType.APPLICATION_JSON) public interface CoinbaseAuthenticated extends Coinbase { @@ -311,4 +313,4 @@ CoinbaseTransfer sell( @HeaderParam("ACCESS_SIGNATURE") ParamsDigest signer, @HeaderParam("ACCESS_NONCE") SynchronizedValueFactory nonce) throws IOException, CoinbaseException; -} \ No newline at end of file +} diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/CoinbaseExchange.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/CoinbaseExchange.java index 84f9d0381e2..e7b2dffa281 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/CoinbaseExchange.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/CoinbaseExchange.java @@ -7,7 +7,9 @@ import org.knowm.xchange.coinbase.service.CoinbaseMarketDataService; import org.knowm.xchange.coinbase.service.CoinbaseTradeService; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/CoinbaseBaseResponse.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/CoinbaseBaseResponse.java index 0daa7ca4d7c..ac9209e6956 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/CoinbaseBaseResponse.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/CoinbaseBaseResponse.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseBaseResponse { private final boolean success; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/CoinbasePagedResult.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/CoinbasePagedResult.java index 2f7864e8784..6aaa0e6debd 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/CoinbasePagedResult.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/CoinbasePagedResult.java @@ -1,6 +1,8 @@ package org.knowm.xchange.coinbase.dto; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public abstract class CoinbasePagedResult { private final int totalCount; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChange.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChange.java index 7c93982d3ad..0fd03cb775b 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChange.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChange.java @@ -7,7 +7,9 @@ import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseMoney; import org.knowm.xchange.utils.jackson.ISO8601DateDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseAccountChange { private final String id; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChangeCategory.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChangeCategory.java index eae0b1db4a1..4121b75b5c6 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChangeCategory.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChangeCategory.java @@ -13,7 +13,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumFromStringHelper; import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseCategoryDeserializer.class) @JsonSerialize(using = EnumLowercaseJsonSerializer.class) public enum CoinbaseAccountChangeCategory { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChanges.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChanges.java index fd35afaf4a6..dcf75c9c055 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChanges.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountChanges.java @@ -6,7 +6,9 @@ import org.knowm.xchange.coinbase.dto.account.CoinbaseUser.CoinbaseUserInfo; import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseMoney; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseAccountChanges extends CoinbasePagedResult { private final CoinbaseUser currentUser; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddress.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddress.java index 46adb448cb5..153bcd25a9a 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddress.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddress.java @@ -7,7 +7,9 @@ import org.knowm.xchange.coinbase.dto.CoinbaseBaseResponse; import org.knowm.xchange.utils.jackson.ISO8601DateDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseAddress extends CoinbaseBaseResponse { private final String address; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddressCallback.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddressCallback.java index 7373a0b9f21..eb78c9606e6 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddressCallback.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddressCallback.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseAddressCallback { @JsonProperty("address") diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddresses.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddresses.java index 75fe6f258bc..0b3ecb15b40 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddresses.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAddresses.java @@ -16,7 +16,9 @@ import org.knowm.xchange.coinbase.dto.account.CoinbaseAddresses.CoinbaseAddressesDeserializer; import org.knowm.xchange.utils.DateUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseAddressesDeserializer.class) public class CoinbaseAddresses extends CoinbasePagedResult { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseBuySellLevel.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseBuySellLevel.java index 6295dea3240..dff5188c1b9 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseBuySellLevel.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseBuySellLevel.java @@ -13,7 +13,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumFromStringHelper; import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseBuySellLevelDeserializer.class) @JsonSerialize(using = EnumLowercaseJsonSerializer.class) public enum CoinbaseBuySellLevel { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseContact.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseContact.java index 815f384c9a5..a61bf1244f7 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseContact.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseContact.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseContact { private final CoinbaseContactEmail contact; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseContacts.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseContacts.java index ef9d9b6456a..c29b3206b66 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseContacts.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseContacts.java @@ -4,7 +4,9 @@ import java.util.List; import org.knowm.xchange.coinbase.dto.CoinbasePagedResult; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseContacts extends CoinbasePagedResult { private final List contacts; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseRecurringPayment.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseRecurringPayment.java index c53a783f1f3..64f562a674e 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseRecurringPayment.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseRecurringPayment.java @@ -10,7 +10,9 @@ import org.knowm.xchange.coinbase.dto.serialization.CoinbaseMoneyDeserializer; import org.knowm.xchange.utils.jackson.ISO8601DateDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseRecurringPayment { private final CoinbaseRecurringPaymentInfo recurringPayment; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseRecurringPayments.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseRecurringPayments.java index 1ad87255724..7b6a0a54bf7 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseRecurringPayments.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseRecurringPayments.java @@ -4,7 +4,9 @@ import java.util.List; import org.knowm.xchange.coinbase.dto.CoinbasePagedResult; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseRecurringPayments extends CoinbasePagedResult { private final List recurringPayments; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseToken.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseToken.java index a33de2e6355..6e664f70b21 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseToken.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseToken.java @@ -4,7 +4,9 @@ import java.util.List; import org.knowm.xchange.coinbase.dto.CoinbaseBaseResponse; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseToken extends CoinbaseBaseResponse { private final CoinbaseTokenInfo token; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransaction.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransaction.java index 079ad9e52b9..9f3298ae2dd 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransaction.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransaction.java @@ -18,7 +18,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumFromStringHelper; import org.knowm.xchange.utils.jackson.ISO8601DateDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseTransaction extends CoinbaseBaseResponse implements CoinbaseTransactionInfo { @JsonProperty("transaction") diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransactionInfo.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransactionInfo.java index d4a807e5a20..5ded5008b45 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransactionInfo.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransactionInfo.java @@ -5,7 +5,9 @@ import org.knowm.xchange.coinbase.dto.account.CoinbaseTransaction.CoinbaseTransactionStatus; import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseMoney; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public interface CoinbaseTransactionInfo { @JsonIgnore diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransactions.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransactions.java index 3bd95f6d75d..b6633009d99 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransactions.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseTransactions.java @@ -6,7 +6,9 @@ import org.knowm.xchange.coinbase.dto.account.CoinbaseUser.CoinbaseUserInfo; import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseMoney; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseTransactions extends CoinbasePagedResult { private final CoinbaseUser currentUser; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseUser.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseUser.java index 1292ad23a0f..0b73c3f094d 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseUser.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseUser.java @@ -12,7 +12,9 @@ import org.knowm.xchange.coinbase.dto.merchant.CoinbaseMerchant; import org.knowm.xchange.coinbase.dto.serialization.CoinbaseMoneyDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonInclude(Include.NON_NULL) public class CoinbaseUser extends CoinbaseBaseResponse { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseUsers.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseUsers.java index 09e6e25c54e..3cdd5752e38 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseUsers.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/account/CoinbaseUsers.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseUsers { private final List users; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/auth/CoinbaseOAuth.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/auth/CoinbaseOAuth.java index 30a901db31a..1bf26073dac 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/auth/CoinbaseOAuth.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/auth/CoinbaseOAuth.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseOAuth { private final String accessToken; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/auth/CoinbaseScope.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/auth/CoinbaseScope.java index df5837807d3..09fc25788c6 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/auth/CoinbaseScope.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/auth/CoinbaseScope.java @@ -13,7 +13,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumFromStringHelper; import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseScopeDeserializer.class) @JsonSerialize(using = EnumLowercaseJsonSerializer.class) public enum CoinbaseScope { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRecurringPaymentStatus.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRecurringPaymentStatus.java index dfd49007874..a1d584cde65 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRecurringPaymentStatus.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRecurringPaymentStatus.java @@ -13,7 +13,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumFromStringHelper; import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseRecurringPaymentStatusDeserializer.class) @JsonSerialize(using = EnumLowercaseJsonSerializer.class) public enum CoinbaseRecurringPaymentStatus { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRecurringPaymentType.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRecurringPaymentType.java index 76c01c8a6c2..63c6ac6c76d 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRecurringPaymentType.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRecurringPaymentType.java @@ -13,7 +13,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumFromStringHelper; import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseRecurringPaymentTypeDeserializer.class) @JsonSerialize(using = EnumLowercaseJsonSerializer.class) public enum CoinbaseRecurringPaymentType { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRepeat.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRepeat.java index 31709a72189..4711b19248f 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRepeat.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/common/CoinbaseRepeat.java @@ -13,7 +13,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumFromStringHelper; import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseRepeatDeserializer.class) @JsonSerialize(using = EnumLowercaseJsonSerializer.class) public enum CoinbaseRepeat { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseCurrency.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseCurrency.java index 03fead92d3b..683f061b8f6 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseCurrency.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseCurrency.java @@ -10,7 +10,9 @@ import java.io.IOException; import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseCurrency.CoinbaseCurrencyDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseCurrencyDeserializer.class) public class CoinbaseCurrency { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseHistoricalSpotPrice.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseHistoricalSpotPrice.java index 6a947468539..32fa08a979e 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseHistoricalSpotPrice.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseHistoricalSpotPrice.java @@ -3,7 +3,9 @@ import java.math.BigDecimal; import java.util.Date; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseHistoricalSpotPrice implements Comparable { private final Date timestamp; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseMoney.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseMoney.java index 7eef9dac8a3..671a8aa87a6 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseMoney.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseMoney.java @@ -4,7 +4,9 @@ import java.math.BigDecimal; import org.knowm.xchange.coinbase.dto.serialization.CoinbaseMoneyDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseMoneyDeserializer.class) public class CoinbaseMoney { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbasePrice.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbasePrice.java index c9450da966e..e1816634b6c 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbasePrice.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbasePrice.java @@ -11,7 +11,9 @@ import org.knowm.xchange.coinbase.dto.marketdata.CoinbasePrice.CoibasePriceDeserializer; import org.knowm.xchange.coinbase.dto.serialization.CoinbaseMoneyDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoibasePriceDeserializer.class) public class CoinbasePrice { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseSpotPriceHistory.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseSpotPriceHistory.java index 469e33dbd26..add9c6a3868 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseSpotPriceHistory.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseSpotPriceHistory.java @@ -10,7 +10,9 @@ import java.util.regex.Pattern; import org.knowm.xchange.utils.DateUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseSpotPriceHistory { private static final Pattern historicalRateStringPatternInReverse = diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButton.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButton.java index 2c553e23df0..03c426c2c57 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButton.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButton.java @@ -11,7 +11,9 @@ import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseMoney; import org.knowm.xchange.coinbase.dto.serialization.CoinbaseCentsDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseButton extends CoinbaseBaseResponse { @JsonProperty("button") diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButtonStyle.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButtonStyle.java index b65b4db1566..99e29d85bc7 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButtonStyle.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButtonStyle.java @@ -13,7 +13,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumFromStringHelper; import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseButtonStyleDeserializer.class) @JsonSerialize(using = EnumLowercaseJsonSerializer.class) public enum CoinbaseButtonStyle { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButtonType.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButtonType.java index 7a5f9b2719f..5cdbcb1b04c 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButtonType.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseButtonType.java @@ -13,7 +13,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumFromStringHelper; import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseButtonTypeDeserializer.class) @JsonSerialize(using = EnumLowercaseJsonSerializer.class) public enum CoinbaseButtonType { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseMerchant.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseMerchant.java index b22302fb679..f86f027ffae 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseMerchant.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseMerchant.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseMerchant { private final String companyName; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseOrder.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseOrder.java index f06a52b0cb5..094d9b8f1e8 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseOrder.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseOrder.java @@ -20,7 +20,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; import org.knowm.xchange.utils.jackson.ISO8601DateDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseOrder extends CoinbaseBaseResponse { @JsonProperty("order") diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseOrders.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseOrders.java index 728ff6e84cf..2ec603f9bcb 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseOrders.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseOrders.java @@ -4,7 +4,9 @@ import java.util.List; import org.knowm.xchange.coinbase.dto.CoinbasePagedResult; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseOrders extends CoinbasePagedResult { private final List orders; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseSubscription.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseSubscription.java index d0aa6a40976..00bc6b2bcec 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseSubscription.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseSubscription.java @@ -7,7 +7,9 @@ import org.knowm.xchange.coinbase.dto.merchant.CoinbaseButton.CoinbaseButtonInfo; import org.knowm.xchange.utils.jackson.ISO8601DateDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseSubscription { private final CoinbaseSubscriptionInfo subscription; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseSubscriptions.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseSubscriptions.java index cf16c4a0e01..a5eeb45a646 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseSubscriptions.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseSubscriptions.java @@ -4,7 +4,9 @@ import java.util.List; import org.knowm.xchange.coinbase.dto.CoinbasePagedResult; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseSubscriptions extends CoinbasePagedResult { private final List subscriptions; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/CoinbaseCentsDeserializer.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/CoinbaseCentsDeserializer.java index 70e8e830743..5077010b8ed 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/CoinbaseCentsDeserializer.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/CoinbaseCentsDeserializer.java @@ -10,7 +10,9 @@ import java.math.BigDecimal; import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseMoney; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseCentsDeserializer extends JsonDeserializer { public static CoinbaseMoney getCoinbaseMoneyFromCents(JsonNode node) { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/CoinbaseMoneyDeserializer.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/CoinbaseMoneyDeserializer.java index 88b786d5d79..a0b00f5fdf4 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/CoinbaseMoneyDeserializer.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/CoinbaseMoneyDeserializer.java @@ -10,7 +10,9 @@ import java.math.BigDecimal; import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseMoney; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseMoneyDeserializer extends JsonDeserializer { public static CoinbaseMoney getCoinbaseMoneyFromNode(JsonNode node) { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/EnumFromStringHelper.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/EnumFromStringHelper.java index ac5f8841a6e..126086b2625 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/EnumFromStringHelper.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/EnumFromStringHelper.java @@ -3,7 +3,9 @@ import java.util.HashMap; import java.util.Map; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class EnumFromStringHelper> { private final Map fromString = new HashMap<>(); diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/EnumLowercaseJsonSerializer.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/EnumLowercaseJsonSerializer.java index 04a6f62561e..c7af1bf6007 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/EnumLowercaseJsonSerializer.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/serialization/EnumLowercaseJsonSerializer.java @@ -6,7 +6,9 @@ import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class EnumLowercaseJsonSerializer extends JsonSerializer> { @Override diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransfer.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransfer.java index b8e0aadb983..eb6fe6c4c2a 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransfer.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransfer.java @@ -18,7 +18,9 @@ import org.knowm.xchange.coinbase.dto.trade.CoinbaseTransfer.CoinbaseTransferDeserializer; import org.knowm.xchange.utils.DateUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseTransferDeserializer.class) public class CoinbaseTransfer extends CoinbaseBaseResponse { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransferType.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransferType.java index ee973002cea..c48de01eedb 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransferType.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransferType.java @@ -13,7 +13,9 @@ import org.knowm.xchange.coinbase.dto.serialization.EnumLowercaseJsonSerializer; import org.knowm.xchange.coinbase.dto.trade.CoinbaseTransferType.CoinbaseTransferTypeDeserializer; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ @JsonDeserialize(using = CoinbaseTransferTypeDeserializer.class) @JsonSerialize(using = EnumLowercaseJsonSerializer.class) public enum CoinbaseTransferType { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransfers.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransfers.java index 08779d14cca..3e53dd9ff0c 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransfers.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTransfers.java @@ -4,7 +4,9 @@ import java.util.List; import org.knowm.xchange.coinbase.dto.CoinbasePagedResult; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseTransfers extends CoinbasePagedResult { private final List transfers; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseAccountService.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseAccountService.java index 78fbb8c84e3..877f2c559cc 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseAccountService.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseAccountService.java @@ -16,7 +16,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public final class CoinbaseAccountService extends CoinbaseAccountServiceRaw implements AccountService { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseAccountServiceRaw.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseAccountServiceRaw.java index ff4a8a52ff7..6ab84c19a7d 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseAccountServiceRaw.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseAccountServiceRaw.java @@ -23,7 +23,9 @@ import org.knowm.xchange.coinbase.dto.merchant.CoinbaseSubscription; import org.knowm.xchange.coinbase.dto.merchant.CoinbaseSubscriptions; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ class CoinbaseAccountServiceRaw extends CoinbaseBaseService { /** diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseBaseService.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseBaseService.java index 895d23b4e4d..3a6b6a1f5df 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseBaseService.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseBaseService.java @@ -14,7 +14,9 @@ import org.knowm.xchange.service.BaseService; import si.mazi.rescu.ParamsDigest; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseBaseService extends BaseExchangeService implements BaseService { protected final CoinbaseAuthenticated coinbase; diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseDigest.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseDigest.java index 19139c465b4..702bc026a1a 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseDigest.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseDigest.java @@ -1,12 +1,14 @@ package org.knowm.xchange.coinbase.service; +import jakarta.ws.rs.HeaderParam; import java.math.BigInteger; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseDigest extends BaseParamsDigest { private CoinbaseDigest(String secretKey) { @@ -32,4 +34,4 @@ public String digestParams(RestInvocation restInvocation) { return String.format("%064x", new BigInteger(1, mac256.doFinal())); } -} \ No newline at end of file +} diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseMarketDataService.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseMarketDataService.java index ef496a9db11..dcb650ad41b 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseMarketDataService.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseMarketDataService.java @@ -14,7 +14,9 @@ import org.knowm.xchange.exceptions.NotAvailableFromExchangeException; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseMarketDataService extends CoinbaseMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseMarketDataServiceRaw.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseMarketDataServiceRaw.java index 4ce34852e1f..7cae6cec7c0 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseMarketDataServiceRaw.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseMarketDataServiceRaw.java @@ -8,7 +8,9 @@ import org.knowm.xchange.coinbase.dto.marketdata.CoinbasePrice; import org.knowm.xchange.coinbase.dto.marketdata.CoinbaseSpotPriceHistory; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ class CoinbaseMarketDataServiceRaw extends CoinbaseBaseService { /** diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseTradeService.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseTradeService.java index a6e335f986d..9bc695fd2d8 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseTradeService.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseTradeService.java @@ -20,7 +20,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public final class CoinbaseTradeService extends CoinbaseTradeServiceRaw implements TradeService { /** diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseTradeServiceRaw.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseTradeServiceRaw.java index 9b7a147f61c..91c0833a8c9 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseTradeServiceRaw.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/service/CoinbaseTradeServiceRaw.java @@ -6,7 +6,9 @@ import org.knowm.xchange.coinbase.dto.trade.CoinbaseTransfer; import org.knowm.xchange.coinbase.dto.trade.CoinbaseTransfers; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ class CoinbaseTradeServiceRaw extends CoinbaseBaseService { /** diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/Coinbase.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/Coinbase.java index 0ad41fee33c..bc8f6e36564 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/Coinbase.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/Coinbase.java @@ -1,6 +1,5 @@ package org.knowm.xchange.coinbase.v2; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; @@ -8,6 +7,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coinbase.v2.dto.CoinbaseException; import org.knowm.xchange.coinbase.v2.dto.marketdata.CoinbaseCurrencyData; import org.knowm.xchange.coinbase.v2.dto.marketdata.CoinbaseExchangeRateData; @@ -71,4 +71,4 @@ CoinbasePriceData getHistoricalSpotRate( @Path("time") CoinbaseTimeData getTime(@HeaderParam(CB_VERSION) String apiVersion) throws IOException, CoinbaseException; -} \ No newline at end of file +} diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/CoinbaseAuthenticated.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/CoinbaseAuthenticated.java index e55b09a396e..a26857e17b4 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/CoinbaseAuthenticated.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/CoinbaseAuthenticated.java @@ -1,8 +1,5 @@ package org.knowm.xchange.coinbase.v2; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -12,6 +9,9 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Map; import org.knowm.xchange.coinbase.v2.dto.CoinbaseException; import org.knowm.xchange.coinbase.v2.dto.account.CoinbaseAccountData; import org.knowm.xchange.coinbase.v2.dto.account.CoinbaseAccountsData; @@ -171,4 +171,4 @@ CoinbaseSellData sell( @PathParam("account") String accountId, Object payload) throws IOException, CoinbaseException; -} \ No newline at end of file +} diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/CoinbaseV2Digest.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/CoinbaseV2Digest.java index 37d41bc46d6..fe7cbede7fb 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/CoinbaseV2Digest.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/CoinbaseV2Digest.java @@ -27,4 +27,4 @@ public String digestParams(RestInvocation restInvocation) { return DigestUtils.bytesToHex(getMac().doFinal(message.getBytes())); } -} \ No newline at end of file +} diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseAccountService.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseAccountService.java index c7e5ea7bcf7..468b318f8e8 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseAccountService.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseAccountService.java @@ -49,8 +49,10 @@ public AccountInfo getAccountInfo() throws IOException { @Override public String withdrawFunds(WithdrawFundsParams params) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { if (params instanceof DefaultWithdrawFundsParams) { DefaultWithdrawFundsParams defaultParams = (DefaultWithdrawFundsParams) params; return withdrawFunds( diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseAccountServiceRaw.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseAccountServiceRaw.java index 6e826c76824..c16660ba2ea 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseAccountServiceRaw.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseAccountServiceRaw.java @@ -2,13 +2,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.ws.rs.core.MediaType; import java.io.IOException; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.UUID; -import jakarta.ws.rs.core.MediaType; import org.knowm.xchange.Exchange; import org.knowm.xchange.coinbase.v2.Coinbase; import org.knowm.xchange.coinbase.v2.dto.account.CoinbaseAccountData.CoinbaseAccount; @@ -158,4 +158,4 @@ public static class CreateCoinbaseAccountPayload { this.name = name; } } -} \ No newline at end of file +} diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseBaseService.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseBaseService.java index 69d87a28c69..28b540fd5fd 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseBaseService.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseBaseService.java @@ -1,11 +1,11 @@ package org.knowm.xchange.coinbase.v2.service; +import jakarta.ws.rs.core.MediaType; import java.io.IOException; import java.math.BigDecimal; import java.nio.charset.StandardCharsets; import java.util.List; import javax.crypto.Mac; -import jakarta.ws.rs.core.MediaType; import org.knowm.xchange.Exchange; import org.knowm.xchange.client.ExchangeRestProxyBuilder; import org.knowm.xchange.coinbase.service.CoinbaseDigest; @@ -93,4 +93,4 @@ public enum HttpMethod { GET, POST } -} \ No newline at end of file +} diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseTradeService.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseTradeService.java index f063f6dd953..ab7345c1fd3 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseTradeService.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseTradeService.java @@ -36,8 +36,10 @@ public OpenOrders getOpenOrders() throws NotAvailableFromExchangeException, IOEx @Override public OpenOrders getOpenOrders(OpenOrdersParams params) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { throw new NotAvailableFromExchangeException(); } @@ -60,8 +62,10 @@ public boolean cancelOrder(String orderId) throws NotAvailableFromExchangeExcept @Override public boolean cancelOrder(CancelOrderParams orderParams) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { throw new NotAvailableFromExchangeException(); } diff --git a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseTradeServiceRaw.java b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseTradeServiceRaw.java index bda09d8ad18..b20a8f5f1eb 100644 --- a/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseTradeServiceRaw.java +++ b/xchange-coinbase/src/main/java/org/knowm/xchange/coinbase/v2/service/CoinbaseTradeServiceRaw.java @@ -2,9 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.ws.rs.core.MediaType; import java.io.IOException; import java.math.BigDecimal; -import jakarta.ws.rs.core.MediaType; import org.knowm.xchange.Exchange; import org.knowm.xchange.coinbase.v2.Coinbase; import org.knowm.xchange.coinbase.v2.dto.account.CoinbaseBuyData.CoinbaseBuy; @@ -130,4 +130,4 @@ abstract class AbstractPayload { this.quote = quote; } } -} \ No newline at end of file +} diff --git a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/CoinbaseAdapterTest.java b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/CoinbaseAdapterTest.java index acceaefc398..b7f3e7172b8 100644 --- a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/CoinbaseAdapterTest.java +++ b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/CoinbaseAdapterTest.java @@ -28,7 +28,9 @@ import org.knowm.xchange.dto.trade.UserTrades; import org.knowm.xchange.utils.DateUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseAdapterTest { @Test diff --git a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountJsonTest.java b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountJsonTest.java index 4d3de76546a..b9c9dc46b7d 100644 --- a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountJsonTest.java +++ b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/account/CoinbaseAccountJsonTest.java @@ -17,7 +17,9 @@ import org.knowm.xchange.coinbase.dto.merchant.CoinbaseMerchant; import org.knowm.xchange.utils.DateUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseAccountJsonTest { @Test diff --git a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseMarketDataJsonTest.java b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseMarketDataJsonTest.java index f672dcaf5e4..5b4edf5ee41 100644 --- a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseMarketDataJsonTest.java +++ b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/marketdata/CoinbaseMarketDataJsonTest.java @@ -15,7 +15,9 @@ import org.junit.Test; import org.knowm.xchange.utils.DateUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseMarketDataJsonTest { @Test diff --git a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseMerchantJsonTest.java b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseMerchantJsonTest.java index 0209f4f88b8..c6b80a03f91 100644 --- a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseMerchantJsonTest.java +++ b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/merchant/CoinbaseMerchantJsonTest.java @@ -15,7 +15,9 @@ import org.knowm.xchange.coinbase.dto.merchant.CoinbaseOrder.CoinbaseOrderTransaction; import org.knowm.xchange.utils.DateUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseMerchantJsonTest { @Test diff --git a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTradeJsonTest.java b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTradeJsonTest.java index 8ee67eb1535..1317328f012 100644 --- a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTradeJsonTest.java +++ b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/dto/trade/CoinbaseTradeJsonTest.java @@ -12,7 +12,9 @@ import org.knowm.xchange.coinbase.dto.trade.CoinbaseTransfer.CoinbaseTransferStatus; import org.knowm.xchange.utils.DateUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseTradeJsonTest { @Test diff --git a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/service/marketdata/TickerFetchIntegration.java b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/service/marketdata/TickerFetchIntegration.java index 979de484403..43cec7b292e 100644 --- a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/service/marketdata/TickerFetchIntegration.java +++ b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/v2/services/MarketDataServiceIntegration.java b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/v2/services/MarketDataServiceIntegration.java index d012eef7e4f..f643dcd4e13 100644 --- a/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/v2/services/MarketDataServiceIntegration.java +++ b/xchange-coinbase/src/test/java/org/knowm/xchange/coinbase/v2/services/MarketDataServiceIntegration.java @@ -18,7 +18,9 @@ import org.knowm.xchange.currency.Currency; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class MarketDataServiceIntegration { static Exchange exchange; diff --git a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbasePro.java b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbasePro.java index a6b4b430e97..cc3835ca508 100644 --- a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbasePro.java +++ b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbasePro.java @@ -2,10 +2,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.JsonNode; -import java.io.IOException; -import java.util.Date; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -16,6 +12,10 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Date; +import java.util.List; +import java.util.Map; import org.knowm.xchange.coinbasepro.dto.CoinbasePagedResponse; import org.knowm.xchange.coinbasepro.dto.CoinbaseProException; import org.knowm.xchange.coinbasepro.dto.CoinbaseProTrades; @@ -384,4 +384,4 @@ public enum Format { csv } } -} \ No newline at end of file +} diff --git a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbaseProAdapters.java b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbaseProAdapters.java index 016f2ec9faa..774850eaf6e 100644 --- a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbaseProAdapters.java +++ b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbaseProAdapters.java @@ -385,17 +385,17 @@ public static ExchangeMetaData adaptToExchangeMetaData( currencyPairs.put( pair, new InstrumentMetaData.Builder() - .tradingFee(new BigDecimal("0.50")) - .minimumAmount(product.getBaseMinSize()) - .maximumAmount(product.getBaseMaxSize()) - .volumeScale(baseScale) - .priceScale(priceScale) - .counterMinimumAmount(product.getMinMarketFunds()) - .counterMaximumAmount(product.getMaxMarketFunds()) - .feeTiers(staticMetaData != null ? staticMetaData.getFeeTiers() : null) - .tradingFeeCurrency(pair.counter) - .marketOrderEnabled(marketOrderAllowed) - .build()); + .tradingFee(new BigDecimal("0.50")) + .minimumAmount(product.getBaseMinSize()) + .maximumAmount(product.getBaseMaxSize()) + .volumeScale(baseScale) + .priceScale(priceScale) + .counterMinimumAmount(product.getMinMarketFunds()) + .counterMaximumAmount(product.getMaxMarketFunds()) + .feeTiers(staticMetaData != null ? staticMetaData.getFeeTiers() : null) + .tradingFeeCurrency(pair.counter) + .marketOrderEnabled(marketOrderAllowed) + .build()); } Arrays.stream(cbCurrencies) diff --git a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbaseProResilience.java b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbaseProResilience.java index 1e78b327e44..243c429cd9a 100644 --- a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbaseProResilience.java +++ b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbaseProResilience.java @@ -40,4 +40,4 @@ public static ResilienceRegistries createRegistries() { return registries; } -} \ No newline at end of file +} diff --git a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/dto/account/CoinbaseProWithdrawFundsRequest.java b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/dto/account/CoinbaseProWithdrawFundsRequest.java index 4da1bc99cf1..d94ec42660e 100644 --- a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/dto/account/CoinbaseProWithdrawFundsRequest.java +++ b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/dto/account/CoinbaseProWithdrawFundsRequest.java @@ -8,6 +8,7 @@ public class CoinbaseProWithdrawFundsRequest { public final @JsonProperty("currency") String currency; public final @JsonProperty("crypto_address") String address; public final @JsonProperty("destination_tag") String destinationTag; + /** * A boolean flag to opt out of using a destination tag for currencies that support one. This is * required when not providing a destination tag. diff --git a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/service/CoinbaseProDigest.java b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/service/CoinbaseProDigest.java index 6334b98ff27..4f78a6cd528 100644 --- a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/service/CoinbaseProDigest.java +++ b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/service/CoinbaseProDigest.java @@ -1,9 +1,9 @@ package org.knowm.xchange.coinbasepro.service; +import jakarta.ws.rs.HeaderParam; import java.nio.charset.StandardCharsets; import java.util.Base64; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.exceptions.ExchangeException; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; @@ -41,4 +41,4 @@ public String digestParams(RestInvocation restInvocation) { return Base64.getEncoder().encodeToString(mac256.doFinal()); } -} \ No newline at end of file +} diff --git a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/service/CoinbaseProTradeService.java b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/service/CoinbaseProTradeService.java index f2dcee20e0c..5b0dcdbdcf9 100644 --- a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/service/CoinbaseProTradeService.java +++ b/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/service/CoinbaseProTradeService.java @@ -94,7 +94,8 @@ public TradeHistoryParams createTradeHistoryParams() { @Override public Collection getOrder(OrderQueryParams... orderQueryParams) throws IOException { - final String[] orderIds = Arrays.stream(orderQueryParams).map(OrderQueryParams::getOrderId).toArray(String[]::new); + final String[] orderIds = + Arrays.stream(orderQueryParams).map(OrderQueryParams::getOrderId).toArray(String[]::new); Collection orders = new ArrayList<>(orderIds.length); diff --git a/xchange-coincheck/src/main/java/org/knowm/xchange/coincheck/Coincheck.java b/xchange-coincheck/src/main/java/org/knowm/xchange/coincheck/Coincheck.java index e7da198cec1..7ff97599b8e 100644 --- a/xchange-coincheck/src/main/java/org/knowm/xchange/coincheck/Coincheck.java +++ b/xchange-coincheck/src/main/java/org/knowm/xchange/coincheck/Coincheck.java @@ -1,11 +1,11 @@ package org.knowm.xchange.coincheck; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coincheck.dto.CoincheckException; import org.knowm.xchange.coincheck.dto.marketdata.CoincheckOrderBook; import org.knowm.xchange.coincheck.dto.marketdata.CoincheckPair; @@ -34,4 +34,4 @@ CoincheckTradesContainer getTrades( @QueryParam("starting_after") Long startingAfter, @QueryParam("ending_before") Long endingBefore) throws IOException, CoincheckException; -} \ No newline at end of file +} diff --git a/xchange-coindeal/src/main/java/org/knowm/xchange/coindeal/Coindeal.java b/xchange-coindeal/src/main/java/org/knowm/xchange/coindeal/Coindeal.java index 0b01a41a6d3..83a67018399 100644 --- a/xchange-coindeal/src/main/java/org/knowm/xchange/coindeal/Coindeal.java +++ b/xchange-coindeal/src/main/java/org/knowm/xchange/coindeal/Coindeal.java @@ -1,11 +1,11 @@ package org.knowm.xchange.coindeal; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coindeal.dto.CoindealException; import org.knowm.xchange.coindeal.dto.marketdata.CoindealOrderBook; @@ -17,4 +17,4 @@ public interface Coindeal { @Path("/public/orderbook/{currencyPair}") CoindealOrderBook getOrderBook(@PathParam("currencyPair") String currencyPair) throws IOException, CoindealException; -} \ No newline at end of file +} diff --git a/xchange-coindeal/src/main/java/org/knowm/xchange/coindeal/CoindealAuthenticated.java b/xchange-coindeal/src/main/java/org/knowm/xchange/coindeal/CoindealAuthenticated.java index ffd7306919a..a8c76b37173 100644 --- a/xchange-coindeal/src/main/java/org/knowm/xchange/coindeal/CoindealAuthenticated.java +++ b/xchange-coindeal/src/main/java/org/knowm/xchange/coindeal/CoindealAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.coindeal; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.coindeal.dto.account.CoindealBalance; import org.knowm.xchange.coindeal.dto.trade.CoindealOrder; import org.knowm.xchange.coindeal.dto.trade.CoindealTradeHistory; @@ -73,4 +73,4 @@ CoindealOrder getOrderById( @HeaderParam(HEADER_AUTH) ParamsDigest credentials, @PathParam("clientOrderId") String cliendOrderId) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/Coindirect.java b/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/Coindirect.java index bc016f82e2a..a7cb42938c8 100644 --- a/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/Coindirect.java +++ b/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/Coindirect.java @@ -1,13 +1,13 @@ package org.knowm.xchange.coindirect; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.coindirect.dto.CoindirectException; import org.knowm.xchange.coindirect.dto.marketdata.CoindirectMarket; import org.knowm.xchange.coindirect.dto.marketdata.CoindirectOrderbook; @@ -40,4 +40,4 @@ CoindirectTicker getHistoricalExchangeData( @Path("api/v1/exchange/market") List listExchangeMarkets(@QueryParam("max") long max) throws IOException, CoindirectException; -} \ No newline at end of file +} diff --git a/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/CoindirectAuthenticated.java b/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/CoindirectAuthenticated.java index 67dfab2296f..baa1fff6116 100644 --- a/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/CoindirectAuthenticated.java +++ b/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/CoindirectAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.coindirect; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.coindirect.dto.CoindirectException; import org.knowm.xchange.coindirect.dto.account.CoindirectAccountChannel; import org.knowm.xchange.coindirect.dto.account.CoindirectWallet; @@ -61,4 +61,4 @@ CoindirectOrder getExchangeOrder( @Path("api/account/channel") CoindirectAccountChannel getAccountChannel(@HeaderParam("Authorization") ParamsDigest signer) throws IOException, CoindirectException; -} \ No newline at end of file +} diff --git a/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/CoindirectExchange.java b/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/CoindirectExchange.java index fe4d26707d6..5a6a2f69f73 100644 --- a/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/CoindirectExchange.java +++ b/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/CoindirectExchange.java @@ -49,12 +49,14 @@ public void remoteInit() { for (CoindirectMarket market : coindirectMarketList) { CurrencyPair currencyPair = CoindirectAdapters.toCurrencyPair(market.symbol); InstrumentMetaData staticMeta = currencyPairs.get(currencyPair); - currencyPairs.put(currencyPair, new InstrumentMetaData.Builder() - .tradingFee(staticMeta.getTradingFee()) - .minimumAmount(market.minimumQuantity) - .maximumAmount(market.maximumQuantity) - .priceScale(staticMeta.getPriceScale()) - .feeTiers(staticMeta.getFeeTiers()) + currencyPairs.put( + currencyPair, + new InstrumentMetaData.Builder() + .tradingFee(staticMeta.getTradingFee()) + .minimumAmount(market.minimumQuantity) + .maximumAmount(market.maximumQuantity) + .priceScale(staticMeta.getPriceScale()) + .feeTiers(staticMeta.getFeeTiers()) .build()); } diff --git a/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/service/CoindirectBaseService.java b/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/service/CoindirectBaseService.java index 2118e90f512..a2fed809cc2 100644 --- a/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/service/CoindirectBaseService.java +++ b/xchange-coindirect/src/main/java/org/knowm/xchange/coindirect/service/CoindirectBaseService.java @@ -15,6 +15,7 @@ public class CoindirectBaseService extends BaseExchangeService implements BaseSe protected final String apiKey; protected final CoindirectAuthenticated coindirect; protected final ParamsDigest signatureCreator; + /** * Constructor * diff --git a/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/CoinEgg.java b/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/CoinEgg.java index 008cc4c4835..716ad2b9807 100644 --- a/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/CoinEgg.java +++ b/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/CoinEgg.java @@ -1,11 +1,11 @@ package org.knowm.xchange.coinegg; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coinegg.dto.marketdata.CoinEggOrders; import org.knowm.xchange.coinegg.dto.marketdata.CoinEggTicker; import org.knowm.xchange.coinegg.dto.marketdata.CoinEggTrade; @@ -26,4 +26,4 @@ public interface CoinEgg { @Path("depth/region/{region}?coin={symbol}") CoinEggOrders getOrders(@PathParam("region") String region, @PathParam("symbol") String symbol) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/CoinEggAuthenticated.java b/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/CoinEggAuthenticated.java index 3e1e1194d76..f4e5761796d 100644 --- a/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/CoinEggAuthenticated.java +++ b/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/CoinEggAuthenticated.java @@ -1,13 +1,13 @@ package org.knowm.xchange.coinegg; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.coinegg.dto.accounts.CoinEggBalance; import org.knowm.xchange.coinegg.dto.trade.CoinEggTradeAdd; import org.knowm.xchange.coinegg.dto.trade.CoinEggTradeCancel; @@ -70,4 +70,4 @@ CoinEggTradeAdd getTradeAdd( @FormParam("type") String type, @FormParam("coin") String coin) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/service/CoinEggDigest.java b/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/service/CoinEggDigest.java index 923043596d0..f17f945540a 100644 --- a/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/service/CoinEggDigest.java +++ b/xchange-coinegg/src/main/java/org/knowm/xchange/coinegg/service/CoinEggDigest.java @@ -1,9 +1,9 @@ package org.knowm.xchange.coinegg.service; +import jakarta.ws.rs.FormParam; import java.nio.charset.Charset; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import jakarta.ws.rs.FormParam; import org.knowm.xchange.service.BaseParamsDigest; import org.knowm.xchange.utils.DigestUtils; import si.mazi.rescu.Params; @@ -48,4 +48,4 @@ public String digestParams(RestInvocation restInvocation) { // Create And Return Signature return hex(getMac().doFinal(queryString)); } -} \ No newline at end of file +} diff --git a/xchange-coinegg/src/test/java/org/knowm/xchange/coinegg/service/CoinEggDigestTest.java b/xchange-coinegg/src/test/java/org/knowm/xchange/coinegg/service/CoinEggDigestTest.java index 99655d89ff7..6fd909ec083 100644 --- a/xchange-coinegg/src/test/java/org/knowm/xchange/coinegg/service/CoinEggDigestTest.java +++ b/xchange-coinegg/src/test/java/org/knowm/xchange/coinegg/service/CoinEggDigestTest.java @@ -2,9 +2,9 @@ import static org.assertj.core.api.Assertions.assertThat; +import jakarta.ws.rs.FormParam; import java.lang.annotation.Annotation; import java.util.HashMap; -import jakarta.ws.rs.FormParam; import org.junit.Test; import si.mazi.rescu.RestInvocation; import si.mazi.rescu.RestMethodMetadata; @@ -66,4 +66,4 @@ public Class annotationType() { } }; } -} \ No newline at end of file +} diff --git a/xchange-coinex/src/main/java/org/knowm/xchange/coinex/CoinexAuthenticated.java b/xchange-coinex/src/main/java/org/knowm/xchange/coinex/CoinexAuthenticated.java index ad5bf1e1af4..b351e1f5735 100644 --- a/xchange-coinex/src/main/java/org/knowm/xchange/coinex/CoinexAuthenticated.java +++ b/xchange-coinex/src/main/java/org/knowm/xchange/coinex/CoinexAuthenticated.java @@ -1,6 +1,5 @@ package org.knowm.xchange.coinex; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -8,6 +7,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coinex.dto.account.CoinexBalances; import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; @@ -28,4 +28,4 @@ CoinexBalances getWallet( @QueryParam("access_id") String access_id, @QueryParam("tonce") SynchronizedValueFactory tonce) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/CoinfloorAuthenticated.java b/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/CoinfloorAuthenticated.java index 72a1d6c97b1..2370a9dada6 100644 --- a/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/CoinfloorAuthenticated.java +++ b/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/CoinfloorAuthenticated.java @@ -1,13 +1,13 @@ package org.knowm.xchange.coinfloor; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.coinfloor.dto.CoinfloorException; import org.knowm.xchange.coinfloor.dto.account.CoinfloorBalance; import org.knowm.xchange.coinfloor.dto.trade.CoinfloorMarketOrderResponse; @@ -81,4 +81,4 @@ boolean cancelOrder( @PathParam("counter") Currency counter, @FormParam("id") long id) throws CoinfloorException, IOException; -} \ No newline at end of file +} diff --git a/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/CoinfloorPublic.java b/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/CoinfloorPublic.java index d11622ece66..20f9efa91ad 100644 --- a/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/CoinfloorPublic.java +++ b/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/CoinfloorPublic.java @@ -1,12 +1,12 @@ package org.knowm.xchange.coinfloor; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coinfloor.dto.CoinfloorException; import org.knowm.xchange.coinfloor.dto.markedata.CoinfloorOrderBook; import org.knowm.xchange.coinfloor.dto.markedata.CoinfloorTicker; @@ -36,4 +36,4 @@ CoinfloorTransaction[] getTransactions( @PathParam("counter") Currency counter, @QueryParam("time") CoinfloorMarketDataServiceRaw.CoinfloorInterval period) throws CoinfloorException, IOException; -} \ No newline at end of file +} diff --git a/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/service/CoinfloorTradeService.java b/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/service/CoinfloorTradeService.java index 3b4d2d65a42..ec69fd83f34 100644 --- a/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/service/CoinfloorTradeService.java +++ b/xchange-coinfloor/src/main/java/org/knowm/xchange/coinfloor/service/CoinfloorTradeService.java @@ -34,8 +34,7 @@ public class CoinfloorTradeService extends CoinfloorTradeServiceRaw implements T private static final CurrencyPair NO_CURRENCY_PAIR = null; private static final Collection NO_CURRENCY_PAIR_COLLECTION = Collections.emptySet(); - private static final Collection NO_INSTRUMENT_COLLECTION = - Collections.emptySet(); + private static final Collection NO_INSTRUMENT_COLLECTION = Collections.emptySet(); private final Collection allConfiguredCurrencyPairs; diff --git a/xchange-coingi/src/main/java/org/knowm/xchange/coingi/Coingi.java b/xchange-coingi/src/main/java/org/knowm/xchange/coingi/Coingi.java index 7b860380c64..9cfaf643cd2 100644 --- a/xchange-coingi/src/main/java/org/knowm/xchange/coingi/Coingi.java +++ b/xchange-coingi/src/main/java/org/knowm/xchange/coingi/Coingi.java @@ -1,12 +1,12 @@ package org.knowm.xchange.coingi; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.coingi.dto.CoingiException; import org.knowm.xchange.coingi.dto.marketdata.CoingiOrderBook; import org.knowm.xchange.coingi.dto.marketdata.CoingiRollingAggregation; @@ -43,4 +43,4 @@ List getTransaction( @GET @Path("24hours-rolling-aggregation") List getTradeAggregations() throws CoingiException, IOException; -} \ No newline at end of file +} diff --git a/xchange-coingi/src/main/java/org/knowm/xchange/coingi/CoingiAuthenticated.java b/xchange-coingi/src/main/java/org/knowm/xchange/coingi/CoingiAuthenticated.java index 65036c2300d..13574652ac2 100644 --- a/xchange-coingi/src/main/java/org/knowm/xchange/coingi/CoingiAuthenticated.java +++ b/xchange-coingi/src/main/java/org/knowm/xchange/coingi/CoingiAuthenticated.java @@ -1,11 +1,11 @@ package org.knowm.xchange.coingi; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coingi.dto.CoingiException; import org.knowm.xchange.coingi.dto.account.CoingiBalanceRequest; import org.knowm.xchange.coingi.dto.account.CoingiBalances; @@ -32,7 +32,9 @@ public interface CoingiAuthenticated { CoingiPlaceOrderResponse placeLimitOrder(CoingiPlaceLimitOrderRequest request) throws CoingiException, IOException; - /** @return true if order has been canceled. */ + /** + * @return true if order has been canceled. + */ @POST @Path("cancel-order") CoingiOrder cancelOrder(CoingiCancelOrderRequest request) throws CoingiException, IOException; @@ -65,4 +67,4 @@ CoingiWithdrawalResponse createWithdrawal(CoingiWithdrawalRequest request) @Path("deposit-wallet") CoingiDepositWalletResponse depositWallet(CoingiDepositWalletRequest request) throws CoingiException, IOException; -} \ No newline at end of file +} diff --git a/xchange-coinjar/src/main/java/org/knowm/xchange/coinjar/CoinjarData.java b/xchange-coinjar/src/main/java/org/knowm/xchange/coinjar/CoinjarData.java index f3ac00c6162..3114d49521c 100644 --- a/xchange-coinjar/src/main/java/org/knowm/xchange/coinjar/CoinjarData.java +++ b/xchange-coinjar/src/main/java/org/knowm/xchange/coinjar/CoinjarData.java @@ -1,11 +1,11 @@ package org.knowm.xchange.coinjar; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; +import java.io.IOException; import org.knowm.xchange.coinjar.dto.data.CoinjarOrderBook; import org.knowm.xchange.coinjar.dto.data.CoinjarTicker; @@ -25,4 +25,4 @@ CoinjarOrderBook getOrderBook( @PathParam("product") String product, @QueryParam("level") int level) throws CoinjarException, IOException; ; -} \ No newline at end of file +} diff --git a/xchange-coinjar/src/main/java/org/knowm/xchange/coinjar/CoinjarTrading.java b/xchange-coinjar/src/main/java/org/knowm/xchange/coinjar/CoinjarTrading.java index e56e42a1e03..10b5090b9db 100644 --- a/xchange-coinjar/src/main/java/org/knowm/xchange/coinjar/CoinjarTrading.java +++ b/xchange-coinjar/src/main/java/org/knowm/xchange/coinjar/CoinjarTrading.java @@ -1,7 +1,5 @@ package org.knowm.xchange.coinjar; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.coinjar.dto.CoinjarOrder; import org.knowm.xchange.coinjar.dto.trading.CoinjarAccount; import org.knowm.xchange.coinjar.dto.trading.CoinjarFills; @@ -69,4 +69,4 @@ CoinjarFills getFills( CoinjarOrder cancelOrder( @HeaderParam("Authorization") String authHeader, @PathParam("id") String id) throws CoinjarException, IOException; -} \ No newline at end of file +} diff --git a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/CoinMarketCap.java b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/CoinMarketCap.java index ca683fc9b70..1396b8d88ad 100644 --- a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/CoinMarketCap.java +++ b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/CoinMarketCap.java @@ -1,18 +1,20 @@ package org.knowm.xchange.coinmarketcap.deprecated.v2; -import java.io.IOException; -import java.util.Objects; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Objects; import org.knowm.xchange.coinmarketcap.deprecated.v2.dto.marketdata.CoinMarketCapArrayData; import org.knowm.xchange.coinmarketcap.deprecated.v2.dto.marketdata.CoinMarketCapTicker; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.utils.jackson.CurrencyPairDeserializer; -/** @author allenday https://api.coinmarketcap.com/v2/ticker/ */ +/** + * @author allenday https://api.coinmarketcap.com/v2/ticker/ + */ @Path("/v2") @Produces(MediaType.APPLICATION_JSON) public interface CoinMarketCap { @@ -106,4 +108,4 @@ public String toString() { pair.counter.getCurrencyCode().toLowerCase()); } } -} \ No newline at end of file +} diff --git a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/CoinMarketCapExchange.java b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/CoinMarketCapExchange.java index eb2b6b3638c..90779ed2d72 100644 --- a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/CoinMarketCapExchange.java +++ b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/CoinMarketCapExchange.java @@ -16,7 +16,9 @@ import org.knowm.xchange.service.marketdata.MarketDataService; import org.knowm.xchange.service.trade.TradeService; -/** @author allenday */ +/** + * @author allenday + */ public class CoinMarketCapExchange extends BaseExchange implements Exchange { private CoinMarketCapMarketDataService marketDataService; diff --git a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/dto/marketdata/CoinMarketCapHistoricalSpotPrice.java b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/dto/marketdata/CoinMarketCapHistoricalSpotPrice.java index 826ebe94972..ef2bad2a1d3 100644 --- a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/dto/marketdata/CoinMarketCapHistoricalSpotPrice.java +++ b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/dto/marketdata/CoinMarketCapHistoricalSpotPrice.java @@ -3,7 +3,9 @@ import java.math.BigDecimal; import java.util.Date; -/** @author allenday */ +/** + * @author allenday + */ public class CoinMarketCapHistoricalSpotPrice implements Comparable { diff --git a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/dto/marketdata/CoinMarketCapTicker.java b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/dto/marketdata/CoinMarketCapTicker.java index fa00efb5740..de39f044bbc 100644 --- a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/dto/marketdata/CoinMarketCapTicker.java +++ b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/dto/marketdata/CoinMarketCapTicker.java @@ -16,7 +16,9 @@ import java.util.Iterator; import java.util.Map; -/** @author allenday */ +/** + * @author allenday + */ @JsonDeserialize(using = CoinMarketCapTicker.CoinMarketCapTickerDeserializer.class) public final class CoinMarketCapTicker { diff --git a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/service/CoinMarketCapMarketDataService.java b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/service/CoinMarketCapMarketDataService.java index fbcce970cc4..08ddc2f5bb4 100644 --- a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/service/CoinMarketCapMarketDataService.java +++ b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/service/CoinMarketCapMarketDataService.java @@ -18,7 +18,9 @@ import org.knowm.xchange.exceptions.NotAvailableFromExchangeException; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author allenday */ +/** + * @author allenday + */ public class CoinMarketCapMarketDataService extends CoinMarketCapMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/service/CoinMarketCapMarketDataServiceRaw.java b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/service/CoinMarketCapMarketDataServiceRaw.java index 46a2bca10f1..f9875ce8e52 100644 --- a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/service/CoinMarketCapMarketDataServiceRaw.java +++ b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/deprecated/v2/service/CoinMarketCapMarketDataServiceRaw.java @@ -13,7 +13,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author allenday */ +/** + * @author allenday + */ class CoinMarketCapMarketDataServiceRaw extends BaseExchangeService implements BaseService { private final CoinMarketCap coinmarketcap; diff --git a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/pro/v1/CmcAuthenticated.java b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/pro/v1/CmcAuthenticated.java index 57a1c0d2dc0..952481d7578 100644 --- a/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/pro/v1/CmcAuthenticated.java +++ b/xchange-coinmarketcap/src/main/java/org/knowm/xchange/coinmarketcap/pro/v1/CmcAuthenticated.java @@ -1,12 +1,12 @@ package org.knowm.xchange.coinmarketcap.pro.v1; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coinmarketcap.pro.v1.dto.marketdata.response.CmcCurrencyInfoResponse; import org.knowm.xchange.coinmarketcap.pro.v1.dto.marketdata.response.CmcCurrencyMapResponse; import org.knowm.xchange.coinmarketcap.pro.v1.dto.marketdata.response.CmcTickerListResponse; @@ -52,4 +52,4 @@ CmcTickerResponse getLatestQuotes( @QueryParam("symbol") String symbol, @QueryParam("convert") String convert) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/Coinmate.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/Coinmate.java index bf2d0c46c2a..ba5d38d756c 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/Coinmate.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/Coinmate.java @@ -23,10 +23,10 @@ */ package org.knowm.xchange.coinmate; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.*; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.coinmate.dto.marketdata.CoinmateOrderBook; import org.knowm.xchange.coinmate.dto.marketdata.CoinmateQuickRate; import org.knowm.xchange.coinmate.dto.marketdata.CoinmateTicker; @@ -34,7 +34,9 @@ import org.knowm.xchange.coinmate.dto.marketdata.CoinmateTransactions; import org.knowm.xchange.dto.meta.ExchangeMetaData; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ @Path("api") @Produces(MediaType.APPLICATION_JSON) public interface Coinmate { @@ -68,12 +70,12 @@ CoinmateTransactions getTransactions( @GET @Path("buyQuickRate") CoinmateQuickRate getBuyQuickRate( - @FormParam("total") BigDecimal total, - @FormParam("currencyPair") String currencyPair) throws IOException; + @FormParam("total") BigDecimal total, @FormParam("currencyPair") String currencyPair) + throws IOException; @GET @Path("sellQuickRate") CoinmateQuickRate getSellQuickRate( - @FormParam("amount") BigDecimal amount, - @FormParam("currencyPair") String currencyPair) throws IOException; -} \ No newline at end of file + @FormParam("amount") BigDecimal amount, @FormParam("currencyPair") String currencyPair) + throws IOException; +} diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateAdapters.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateAdapters.java index f5a46d53a48..79f653c235e 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateAdapters.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateAdapters.java @@ -59,7 +59,9 @@ import org.knowm.xchange.dto.trade.UserTrades; import org.knowm.xchange.service.trade.params.TradeHistoryParamsSorted; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateAdapters { /** @@ -79,8 +81,7 @@ public static List adaptTickers(CoinmateTickers coinmateTickers) { return Collections.emptyList(); } - return tickerMap.entrySet() - .stream() + return tickerMap.entrySet().stream() .map(entry -> adaptTicker(entry.getValue(), CoinmateUtils.getPair(entry.getKey()))) .collect(Collectors.toList()); } @@ -190,45 +191,56 @@ public static Wallet adaptWallet(CoinmateBalance coinmateBalance) { public static UserTrades adaptTransactionHistory( CoinmateTransactionHistory coinmateTradeHistory) { - List trades = coinmateTradeHistory.getData().stream().map( - entry -> UserTrade.builder() - .type(typeToOrderTypeOrNull(entry.getTransactionType())) - .originalAmount(entry.getAmount()) - .currencyPair( - CoinmateUtils.getPair(entry.getAmountCurrency() + "_" + entry.getPriceCurrency())) - .price(entry.getPrice()) - .timestamp(new Date(entry.getTimestamp())) - .id(Long.toString(entry.getTransactionId())) - .orderId(Long.toString(entry.getOrderId())) - .feeAmount(entry.getFee()) - .feeCurrency(Currency.getInstance(entry.getFeeCurrency())) - .build() - ) - .collect(Collectors.toCollection(() -> new ArrayList<>(coinmateTradeHistory.getData().size()))); + List trades = + coinmateTradeHistory.getData().stream() + .map( + entry -> + UserTrade.builder() + .type(typeToOrderTypeOrNull(entry.getTransactionType())) + .originalAmount(entry.getAmount()) + .currencyPair( + CoinmateUtils.getPair( + entry.getAmountCurrency() + "_" + entry.getPriceCurrency())) + .price(entry.getPrice()) + .timestamp(new Date(entry.getTimestamp())) + .id(Long.toString(entry.getTransactionId())) + .orderId(Long.toString(entry.getOrderId())) + .feeAmount(entry.getFee()) + .feeCurrency(Currency.getInstance(entry.getFeeCurrency())) + .build()) + .collect( + Collectors.toCollection( + () -> new ArrayList<>(coinmateTradeHistory.getData().size()))); return new UserTrades(trades, Trades.TradeSortType.SortByTimestamp); } public static UserTrades adaptTradeHistory(CoinmateTradeHistory coinmateTradeHistory) { - List trades = coinmateTradeHistory.getData().stream().map(entry -> UserTrade.builder() - .type(typeToOrderTypeOrNull(entry.getType())) - .originalAmount(entry.getAmount()) - .currencyPair(CoinmateUtils.getPair(entry.getCurrencyPair())) - .price(entry.getPrice()) - .timestamp(new Date(entry.getCreatedTimestamp())) - .id(Long.toString(entry.getTransactionId())) - .orderId(Long.toString(entry.getOrderId())) - .feeAmount(entry.getFee()) - .feeCurrency(CoinmateUtils.getPair(entry.getCurrencyPair()).counter) - .build() - ) - .collect(Collectors.toCollection(() -> new ArrayList<>(coinmateTradeHistory.getData().size()))); + List trades = + coinmateTradeHistory.getData().stream() + .map( + entry -> + UserTrade.builder() + .type(typeToOrderTypeOrNull(entry.getType())) + .originalAmount(entry.getAmount()) + .currencyPair(CoinmateUtils.getPair(entry.getCurrencyPair())) + .price(entry.getPrice()) + .timestamp(new Date(entry.getCreatedTimestamp())) + .id(Long.toString(entry.getTransactionId())) + .orderId(Long.toString(entry.getOrderId())) + .feeAmount(entry.getFee()) + .feeCurrency(CoinmateUtils.getPair(entry.getCurrencyPair()).counter) + .build()) + .collect( + Collectors.toCollection( + () -> new ArrayList<>(coinmateTradeHistory.getData().size()))); return new UserTrades(trades, Trades.TradeSortType.SortByTimestamp); } public static List adaptFundingHistory( - CoinmateTransactionHistory coinmateTradeHistory, CoinmateTransferHistory additionalTransferData) { + CoinmateTransactionHistory coinmateTradeHistory, + CoinmateTransferHistory additionalTransferData) { List fundings = new ArrayList<>(); for (CoinmateTransactionHistoryEntry entry : coinmateTradeHistory.getData()) { @@ -281,7 +293,8 @@ public static List adaptFundingHistory( } String address = null; String addressTag = null; - if (entry.getTransactionType().equals("WITHDRAWAL") || entry.getTransactionType().equals("DEPOSIT")) { + if (entry.getTransactionType().equals("WITHDRAWAL") + || entry.getTransactionType().equals("DEPOSIT")) { for (CoinmateTransferHistoryEntry transfer : additionalTransferData.getData()) { if (transfer != null && transfer.getId() == entry.getTransactionId()) { address = transfer.getDestination(); @@ -311,7 +324,8 @@ public static List adaptFundingHistory( return fundings; } - public static List adaptFundingDetail(CoinmateTransferDetail coinmateTransferDetail) { + public static List adaptFundingDetail( + CoinmateTransferDetail coinmateTransferDetail) { CoinmateTransferHistoryEntry entry = coinmateTransferDetail.getData(); FundingRecord.Type type; @@ -446,7 +460,8 @@ private static BigDecimal getCumulativeAmount( * @return */ public static Order adaptOrder( - CoinmateOrderHistoryEntry coinmateOrder, Function orderByIdFetcher) + CoinmateOrderHistoryEntry coinmateOrder, + Function orderByIdFetcher) throws CoinmateException { Order.OrderType orderType; @@ -483,7 +498,8 @@ public static Order adaptOrder( if (orderStatus == Order.OrderStatus.STOPPED) { // fetch generated market order and get its average price and amount - CoinmateOrderHistoryEntry marketOrderRaw = orderByIdFetcher.apply(coinmateOrder.getStopLossOrderId()); + CoinmateOrderHistoryEntry marketOrderRaw = + orderByIdFetcher.apply(coinmateOrder.getStopLossOrderId()); if (marketOrderRaw == null) { throw new CoinmateException("Failed to fetch market order generated by stoploss order."); } @@ -500,16 +516,18 @@ public static Order adaptOrder( // TODO: we can probably use `orderTradeType` to distinguish between Market and Limit order return new MarketOrder( - orderType, - originalAmount, - null, - Long.toString(coinmateOrder.getId()), - new Date(coinmateOrder.getTimestamp()), - averagePrice, - cumulativeAmount == null ? getCumulativeAmount(originalAmount, remainingAmount) : cumulativeAmount, - null, - orderStatus, - null); + orderType, + originalAmount, + null, + Long.toString(coinmateOrder.getId()), + new Date(coinmateOrder.getTimestamp()), + averagePrice, + cumulativeAmount == null + ? getCumulativeAmount(originalAmount, remainingAmount) + : cumulativeAmount, + null, + orderStatus, + null); } public static Ticker adaptTradeStatistics( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateAuthenticated.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateAuthenticated.java index 8703b35898f..e494e772c57 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateAuthenticated.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateAuthenticated.java @@ -23,14 +23,14 @@ */ package org.knowm.xchange.coinmate; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.coinmate.dto.account.CoinmateBalance; import org.knowm.xchange.coinmate.dto.account.CoinmateDepositAddresses; import org.knowm.xchange.coinmate.dto.account.CoinmateTradingFeesResponse; @@ -39,7 +39,9 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ @Path("api") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Produces(MediaType.APPLICATION_JSON) @@ -529,4 +531,4 @@ CoinmateReplaceResponse replaceBySellInstant( @FormParam("orderIdToBeReplaced") String orderIdToBeReplaced, @FormParam("clientOrderId") String clientOrderId) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateException.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateException.java index dd691871832..b3ffb2750dc 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateException.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateException.java @@ -25,7 +25,9 @@ import org.knowm.xchange.exceptions.ExchangeException; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateException extends ExchangeException { public CoinmateException(String errorMessage) { diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateExchange.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateExchange.java index 3bccad99f00..c78145f925c 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateExchange.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/CoinmateExchange.java @@ -23,6 +23,7 @@ */ package org.knowm.xchange.coinmate; +import java.io.IOException; import org.knowm.xchange.BaseExchange; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeSpecification; @@ -32,9 +33,9 @@ import org.knowm.xchange.coinmate.service.CoinmateTradeService; import org.knowm.xchange.exceptions.ExchangeException; -import java.io.IOException; - -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateBalance.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateBalance.java index 3673ba3ee24..3035b292493 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateBalance.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateBalance.java @@ -27,7 +27,9 @@ import java.util.Map; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateBalance extends CoinmateBaseResponse> { public CoinmateBalance( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateBalanceDataEntry.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateBalanceDataEntry.java index 2833b4dd757..4867be50a35 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateBalanceDataEntry.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateBalanceDataEntry.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateBalanceDataEntry { private final String currency; @@ -46,22 +48,30 @@ public CoinmateBalanceDataEntry( this.available = available; } - /** @return the currency */ + /** + * @return the currency + */ public String getCurrency() { return currency; } - /** @return the balance */ + /** + * @return the balance + */ public BigDecimal getBalance() { return balance; } - /** @return the reserved */ + /** + * @return the reserved + */ public BigDecimal getReserved() { return reserved; } - /** @return the available */ + /** + * @return the available + */ public BigDecimal getAvailable() { return available; } diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateDepositAddresses.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateDepositAddresses.java index 815f3f46c25..5ced3ae02f8 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateDepositAddresses.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateDepositAddresses.java @@ -27,7 +27,9 @@ import java.util.ArrayList; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateDepositAddresses extends CoinmateBaseResponse> { public CoinmateDepositAddresses( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateTradingFeesResponse.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateTradingFeesResponse.java index 783cd9ee9f9..2963afd51ea 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateTradingFeesResponse.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateTradingFeesResponse.java @@ -3,7 +3,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -public class CoinmateTradingFeesResponse extends CoinmateBaseResponse { +public class CoinmateTradingFeesResponse + extends CoinmateBaseResponse { public CoinmateTradingFeesResponse( @JsonProperty("error") boolean error, @JsonProperty("errorMessage") String errorMessage, diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateTradingFeesResponseData.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateTradingFeesResponseData.java index dc3a731652c..da39b601d21 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateTradingFeesResponseData.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/CoinmateTradingFeesResponseData.java @@ -2,7 +2,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; - import java.math.BigDecimal; public class CoinmateTradingFeesResponseData { @@ -17,8 +16,7 @@ public class CoinmateTradingFeesResponseData { public CoinmateTradingFeesResponseData( @JsonProperty("maker") BigDecimal maker, @JsonProperty("taker") BigDecimal taker, - @JsonProperty("timestamp") long timestamp - ) { + @JsonProperty("timestamp") long timestamp) { this.maker = maker; this.taker = taker; this.timestamp = timestamp; diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/FeePriority.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/FeePriority.java index d3a04c5e513..78bf92648c7 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/FeePriority.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/account/FeePriority.java @@ -1,6 +1,6 @@ package org.knowm.xchange.coinmate.dto.account; public enum FeePriority { - - LOW, HIGH + LOW, + HIGH } diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBook.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBook.java index 94fd7913278..c0b8a4911a0 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBook.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBook.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateOrderBook extends CoinmateBaseResponse { public CoinmateOrderBook( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBookData.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBookData.java index e4c65ed410c..82bd9675c22 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBookData.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBookData.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateOrderBookData { private final List asks; diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBookEntry.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBookEntry.java index 1eb2db8171f..47b424d78fd 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBookEntry.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateOrderBookEntry.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateOrderBookEntry { private final BigDecimal price; diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateQuickRate.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateQuickRate.java index 48a9acd7f07..693ed8ff07d 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateQuickRate.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateQuickRate.java @@ -1,9 +1,8 @@ package org.knowm.xchange.coinmate.dto.marketdata; import com.fasterxml.jackson.annotation.JsonProperty; -import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; - import java.math.BigDecimal; +import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; public class CoinmateQuickRate extends CoinmateBaseResponse { public CoinmateQuickRate( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTicker.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTicker.java index 5061c78bf90..d1829356126 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTicker.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTicker.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTicker extends CoinmateBaseResponse { public CoinmateTicker( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTickerData.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTickerData.java index f226ec13a52..56e8edf7e5b 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTickerData.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTickerData.java @@ -27,7 +27,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTickerData { private final BigDecimal last; diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTickers.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTickers.java index 69701d44ed7..e1a54bb256e 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTickers.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTickers.java @@ -1,10 +1,8 @@ package org.knowm.xchange.coinmate.dto.marketdata; import com.fasterxml.jackson.annotation.JsonProperty; -import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; - -import java.util.List; import java.util.Map; +import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; public class CoinmateTickers extends CoinmateBaseResponse> { diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactions.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactions.java index 71a7ec8106c..fa9f967ced6 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactions.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactions.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTransactions extends CoinmateBaseResponse { public CoinmateTransactions( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactionsData.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactionsData.java index af79837222d..c407711f956 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactionsData.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactionsData.java @@ -25,7 +25,9 @@ import java.util.ArrayList; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTransactionsData extends ArrayList { public CoinmateTransactionsData() { diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactionsEntry.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactionsEntry.java index e9165740ed2..bffb4797e63 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactionsEntry.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/marketdata/CoinmateTransactionsEntry.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTransactionsEntry { private final long timestamp; diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateBuyFixRateResponse.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateBuyFixRateResponse.java index df8ab5e6784..2e091981953 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateBuyFixRateResponse.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateBuyFixRateResponse.java @@ -3,7 +3,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -public class CoinmateBuyFixRateResponse extends CoinmateBaseResponse { +public class CoinmateBuyFixRateResponse + extends CoinmateBaseResponse { public CoinmateBuyFixRateResponse( @JsonProperty("error") boolean error, @JsonProperty("errorMessage") String errorMessage, diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateBuyFixRateResponseData.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateBuyFixRateResponseData.java index 8c151f877e8..9de7ccc1ea0 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateBuyFixRateResponseData.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateBuyFixRateResponseData.java @@ -1,7 +1,6 @@ package org.knowm.xchange.coinmate.dto.trade; import com.fasterxml.jackson.annotation.JsonProperty; - import java.math.BigDecimal; public class CoinmateBuyFixRateResponseData { @@ -23,8 +22,7 @@ public CoinmateBuyFixRateResponseData( @JsonProperty("rate") BigDecimal rate, @JsonProperty("currencyPair") String currencyPair, @JsonProperty("expiresAt") Long expiresAt, - @JsonProperty("amountReceived") BigDecimal amountReceived - ) { + @JsonProperty("amountReceived") BigDecimal amountReceived) { this.rateId = rateId; this.total = total; this.amountReceived = amountReceived; diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderResponse.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderResponse.java index f02c2484ea6..6b1348ac744 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderResponse.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderResponse.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateCancelOrderResponse extends CoinmateBaseResponse { public CoinmateCancelOrderResponse( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderWithInfoResponse.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderWithInfoResponse.java index 271767db157..de1ff436372 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderWithInfoResponse.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderWithInfoResponse.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateCancelOrderWithInfoResponse extends CoinmateBaseResponse { diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderWithInfoResponseData.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderWithInfoResponseData.java index 614f468719d..fc531dd7a9c 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderWithInfoResponseData.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateCancelOrderWithInfoResponseData.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateCancelOrderWithInfoResponseData { private final BigDecimal remainingAmount; @@ -39,12 +41,16 @@ public CoinmateCancelOrderWithInfoResponseData( this.remainingAmount = remainingAmount; } - /** @return the remainingAmount */ + /** + * @return the remainingAmount + */ public BigDecimal getRemainingAmount() { return remainingAmount; } - /** @return the success */ + /** + * @return the success + */ public boolean isSuccess() { return success; } diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOpenOrders.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOpenOrders.java index b106e631ef2..f8add0a87c4 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOpenOrders.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOpenOrders.java @@ -27,7 +27,9 @@ import java.util.List; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateOpenOrders extends CoinmateBaseResponse> { public CoinmateOpenOrders( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOpenOrdersEntry.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOpenOrdersEntry.java index be90ce7329a..7605d5c1b40 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOpenOrdersEntry.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOpenOrdersEntry.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateOpenOrdersEntry { private final long id; @@ -61,32 +63,44 @@ public CoinmateOpenOrdersEntry( this.originalStopPrice = originalStopPrice; } - /** @return the id */ + /** + * @return the id + */ public long getId() { return id; } - /** @return the timestamp */ + /** + * @return the timestamp + */ public long getTimestamp() { return timestamp; } - /** @return the type */ + /** + * @return the type + */ public String getType() { return type; } - /** @return the currency pair */ + /** + * @return the currency pair + */ public String getCurrencyPair() { return currencyPair; } - /** @return the price */ + /** + * @return the price + */ public BigDecimal getPrice() { return price; } - /** @return the amount */ + /** + * @return the amount + */ public BigDecimal getAmount() { return amount; } diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOrders.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOrders.java index 45a29391303..e6a6e459aca 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOrders.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateOrders.java @@ -1,9 +1,8 @@ package org.knowm.xchange.coinmate.dto.trade; import com.fasterxml.jackson.annotation.JsonProperty; -import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; - import java.util.List; +import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; public class CoinmateOrders extends CoinmateBaseResponse> { diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateSellFixRateResponse.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateSellFixRateResponse.java index 12c664858d5..ba6b429c43e 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateSellFixRateResponse.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateSellFixRateResponse.java @@ -3,7 +3,8 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -public class CoinmateSellFixRateResponse extends CoinmateBaseResponse { +public class CoinmateSellFixRateResponse + extends CoinmateBaseResponse { public CoinmateSellFixRateResponse( @JsonProperty("error") boolean error, @JsonProperty("errorMessage") String errorMessage, diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateSellFixRateResponseData.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateSellFixRateResponseData.java index 18e9f18e454..2ee43c18ded 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateSellFixRateResponseData.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateSellFixRateResponseData.java @@ -1,7 +1,6 @@ package org.knowm.xchange.coinmate.dto.trade; import com.fasterxml.jackson.annotation.JsonProperty; - import java.math.BigDecimal; public class CoinmateSellFixRateResponseData { @@ -23,8 +22,7 @@ public CoinmateSellFixRateResponseData( @JsonProperty("rate") BigDecimal rate, @JsonProperty("currencyPair") String currencyPair, @JsonProperty("expiresAt") Long expiresAt, - @JsonProperty("amount") BigDecimal amount - ) { + @JsonProperty("amount") BigDecimal amount) { this.rateId = rateId; this.totalReceived = totalReceived; this.amount = amount; diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTradeResponse.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTradeResponse.java index 827030440be..06d7fee3278 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTradeResponse.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTradeResponse.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTradeResponse extends CoinmateBaseResponse { public CoinmateTradeResponse( diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransactionHistory.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransactionHistory.java index 036ab9b6d03..1e6d9d8fca0 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransactionHistory.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransactionHistory.java @@ -27,7 +27,9 @@ import java.util.List; import org.knowm.xchange.coinmate.dto.CoinmateBaseResponse; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTransactionHistory extends CoinmateBaseResponse> { diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransactionHistoryEntry.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransactionHistoryEntry.java index 2855761c76d..940f98b3098 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransactionHistoryEntry.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransactionHistoryEntry.java @@ -26,7 +26,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTransactionHistoryEntry { private final long transactionId; diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransferHistoryEntry.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransferHistoryEntry.java index 82d9154c37b..201c7bb7adb 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransferHistoryEntry.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/dto/trade/CoinmateTransferHistoryEntry.java @@ -25,8 +25,7 @@ public CoinmateTransferHistoryEntry( @JsonProperty("amountCurrency") String amountCurrency, @JsonProperty("walletType") String walletType, @JsonProperty("destination") String destination, - @JsonProperty("destinationTag") String destinationTag - ) { + @JsonProperty("destinationTag") String destinationTag) { this.fee = fee; this.transferType = transferType; diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateAccountService.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateAccountService.java index e13f8aa045e..78e37dc1dee 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateAccountService.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateAccountService.java @@ -23,13 +23,14 @@ */ package org.knowm.xchange.coinmate.service; +import static org.apache.commons.lang3.math.NumberUtils.toLong; + import java.io.IOException; import java.math.BigDecimal; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; - import org.knowm.xchange.Exchange; import org.knowm.xchange.coinmate.CoinmateAdapters; import org.knowm.xchange.coinmate.CoinmateUtils; @@ -40,7 +41,6 @@ import org.knowm.xchange.coinmate.dto.trade.CoinmateTransferDetail; import org.knowm.xchange.coinmate.dto.trade.CoinmateTransferHistory; import org.knowm.xchange.currency.Currency; -import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.account.AccountInfo; import org.knowm.xchange.dto.account.Fee; import org.knowm.xchange.dto.account.FundingRecord; @@ -55,9 +55,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -import static org.apache.commons.lang3.math.NumberUtils.toLong; - -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateAccountService extends CoinmateAccountServiceRaw implements AccountService { public static final int DEFAULT_RESULT_LIMIT = 100; @@ -75,8 +75,9 @@ public AccountInfo getAccountInfo() throws IOException { public Map getDynamicTradingFeesByInstrument() throws IOException { Set instruments = exchange.getExchangeMetaData().getInstruments().keySet(); HashMap result = new HashMap<>(); - for (Instrument instrument: instruments) { - CoinmateTradingFeesResponseData data = getCoinmateTraderFees(CoinmateUtils.getPair(instrument)); + for (Instrument instrument : instruments) { + CoinmateTradingFeesResponseData data = + getCoinmateTraderFees(CoinmateUtils.getPair(instrument)); Fee fee = new Fee(data.getMaker(), data.getTaker()); result.put(instrument, fee); } @@ -167,7 +168,8 @@ public List getFundingHistory(TradeHistoryParams params) throws I if (params instanceof TradeHistoryParamsIdSpan) { String transactionId = ((TradeHistoryParamsIdSpan) params).getStartId(); if (transactionId != null) { - CoinmateTransferDetail coinmateTransferDetail = getCoinmateTransferDetail(toLong(transactionId)); + CoinmateTransferDetail coinmateTransferDetail = + getCoinmateTransferDetail(toLong(transactionId)); return CoinmateAdapters.adaptFundingDetail(coinmateTransferDetail); } } @@ -194,7 +196,7 @@ public List getFundingHistory(TradeHistoryParams params) throws I } } CoinmateTransferHistory coinmateTransferHistory = - getTransfersData(limit, timestampFrom, timestampTo); + getTransfersData(limit, timestampFrom, timestampTo); CoinmateTransactionHistory coinmateTransactionHistory = getCoinmateTransactionHistory( @@ -204,7 +206,8 @@ public List getFundingHistory(TradeHistoryParams params) throws I timestampFrom, timestampTo, null); - return CoinmateAdapters.adaptFundingHistory(coinmateTransactionHistory, coinmateTransferHistory); + return CoinmateAdapters.adaptFundingHistory( + coinmateTransactionHistory, coinmateTransferHistory); } public static class CoinmateFundingHistoryParams diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateAccountServiceRaw.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateAccountServiceRaw.java index 7d2d70cafe6..5c2579ac18d 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateAccountServiceRaw.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateAccountServiceRaw.java @@ -38,7 +38,9 @@ import org.knowm.xchange.coinmate.dto.trade.CoinmateTransferDetail; import org.knowm.xchange.coinmate.dto.trade.CoinmateTransferHistory; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateAccountServiceRaw extends CoinmateBaseService { private final CoinmateDigest signatureCreator; @@ -72,7 +74,8 @@ public CoinmateBalance getCoinmateBalance() throws IOException { return coinmateBalance; } - public CoinmateTradingFeesResponseData getCoinmateTraderFees(String currencyPair) throws IOException { + public CoinmateTradingFeesResponseData getCoinmateTraderFees(String currencyPair) + throws IOException { CoinmateTradingFeesResponse response = coinmateAuthenticated.traderFees( exchange.getExchangeSpecification().getApiKey(), @@ -91,8 +94,8 @@ public CoinmateTradeResponse coinmateBitcoinWithdrawal(BigDecimal amount, String return coinmateBitcoinWithdrawal(amount, address, FeePriority.HIGH); } - public CoinmateTradeResponse coinmateBitcoinWithdrawal(BigDecimal amount, String address, FeePriority feePriority) - throws IOException { + public CoinmateTradeResponse coinmateBitcoinWithdrawal( + BigDecimal amount, String address, FeePriority feePriority) throws IOException { CoinmateTradeResponse response = coinmateAuthenticated.bitcoinWithdrawal( exchange.getExchangeSpecification().getApiKey(), @@ -316,38 +319,38 @@ public CoinmateTransactionHistory getCoinmateTransactionHistory( return tradeHistory; } - public CoinmateTransferHistory getTransfersData(Integer limit, Long timestampFrom, Long timestampTo) throws IOException { + public CoinmateTransferHistory getTransfersData( + Integer limit, Long timestampFrom, Long timestampTo) throws IOException { return getCoinmateTransferHistory(limit, null, null, timestampFrom, timestampTo, null); } public CoinmateTransferHistory getCoinmateTransferHistory( - Integer limit, - Integer lastId, - String sort, - Long timestampFrom, - Long timestampTo, - String currency) - throws IOException { + Integer limit, + Integer lastId, + String sort, + Long timestampFrom, + Long timestampTo, + String currency) + throws IOException { CoinmateTransferHistory transferHistory = - coinmateAuthenticated.getTransferHistory( - exchange.getExchangeSpecification().getApiKey(), - exchange.getExchangeSpecification().getUserName(), - signatureCreator, - exchange.getNonceFactory(), - limit, - lastId, - sort, - timestampFrom, - timestampTo, - currency); + coinmateAuthenticated.getTransferHistory( + exchange.getExchangeSpecification().getApiKey(), + exchange.getExchangeSpecification().getUserName(), + signatureCreator, + exchange.getNonceFactory(), + limit, + lastId, + sort, + timestampFrom, + timestampTo, + currency); throwExceptionIfError(transferHistory); return transferHistory; } - public CoinmateTransferDetail getCoinmateTransferDetail(Long transactionId) - throws IOException { + public CoinmateTransferDetail getCoinmateTransferDetail(Long transactionId) throws IOException { CoinmateTransferDetail transferDetail = coinmateAuthenticated.getTransferDetail( exchange.getExchangeSpecification().getApiKey(), diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateBaseService.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateBaseService.java index db868a9dadf..3a316219aa4 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateBaseService.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateBaseService.java @@ -29,7 +29,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateBaseService extends BaseExchangeService implements BaseService { public CoinmateBaseService(Exchange exchange) { diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateDigest.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateDigest.java index dd887ecf030..d69f3cf6269 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateDigest.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateDigest.java @@ -23,9 +23,9 @@ */ package org.knowm.xchange.coinmate.service; +import jakarta.ws.rs.FormParam; import java.math.BigInteger; import javax.crypto.Mac; -import jakarta.ws.rs.FormParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; @@ -72,4 +72,4 @@ public String digestParams(RestInvocation restInvocation) { return String.format("%064x", new BigInteger(1, mac256.doFinal())).toUpperCase(); } -} \ No newline at end of file +} diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateMarketDataService.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateMarketDataService.java index 449a7b68bcc..cc1b7da9484 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateMarketDataService.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateMarketDataService.java @@ -23,10 +23,11 @@ */ package org.knowm.xchange.coinmate.service; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.Exchange; import org.knowm.xchange.coinmate.CoinmateAdapters; import org.knowm.xchange.coinmate.CoinmateUtils; -import org.knowm.xchange.coinmate.dto.marketdata.CoinmateTickerData; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.marketdata.OrderBook; import org.knowm.xchange.dto.marketdata.Ticker; @@ -34,13 +35,9 @@ import org.knowm.xchange.service.marketdata.MarketDataService; import org.knowm.xchange.service.marketdata.params.Params; -import java.io.IOException; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateMarketDataService extends CoinmateMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateMarketDataServiceRaw.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateMarketDataServiceRaw.java index 730eb291d92..e0adfbdbe76 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateMarketDataServiceRaw.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateMarketDataServiceRaw.java @@ -23,6 +23,8 @@ */ package org.knowm.xchange.coinmate.service; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.Exchange; import org.knowm.xchange.client.ExchangeRestProxyBuilder; import org.knowm.xchange.coinmate.Coinmate; @@ -32,10 +34,9 @@ import org.knowm.xchange.coinmate.dto.marketdata.CoinmateTickers; import org.knowm.xchange.coinmate.dto.marketdata.CoinmateTransactions; -import java.io.IOException; -import java.math.BigDecimal; - -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateMarketDataServiceRaw extends CoinmateBaseService { private final Coinmate coinmate; @@ -82,7 +83,7 @@ public CoinmateTransactions getCoinmateTransactions(int minutesIntoHistory, Stri } public CoinmateQuickRate getCoinmateBuyQuickRate(BigDecimal total, String currencyPair) - throws IOException { + throws IOException { CoinmateQuickRate response = coinmate.getBuyQuickRate(total, currencyPair); throwExceptionIfError(response); @@ -91,7 +92,7 @@ public CoinmateQuickRate getCoinmateBuyQuickRate(BigDecimal total, String curren } public CoinmateQuickRate getCoinmateSellQuickRate(BigDecimal amount, String currencyPair) - throws IOException { + throws IOException { CoinmateQuickRate response = coinmate.getSellQuickRate(amount, currencyPair); throwExceptionIfError(response); diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateTradeService.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateTradeService.java index eebf27b767a..60e4bb6c2a1 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateTradeService.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateTradeService.java @@ -27,8 +27,8 @@ import org.knowm.xchange.coinmate.CoinmateUtils; import org.knowm.xchange.coinmate.dto.trade.CoinmateCancelOrderResponse; import org.knowm.xchange.coinmate.dto.trade.CoinmateOpenOrders; -import org.knowm.xchange.coinmate.dto.trade.CoinmateOrderFlags; import org.knowm.xchange.coinmate.dto.trade.CoinmateOrder; +import org.knowm.xchange.coinmate.dto.trade.CoinmateOrderFlags; import org.knowm.xchange.coinmate.dto.trade.CoinmateReplaceResponse; import org.knowm.xchange.coinmate.dto.trade.CoinmateTradeHistory; import org.knowm.xchange.coinmate.dto.trade.CoinmateTradeResponse; @@ -53,7 +53,9 @@ import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; import org.knowm.xchange.service.trade.params.orders.OrderQueryParams; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTradeService extends CoinmateTradeServiceRaw implements TradeService { public CoinmateTradeService(Exchange exchange) { @@ -109,15 +111,13 @@ public String placeMarketOrder(MarketOrder marketOrder) throws IOException { sellCoinmateInstant( marketOrder.getOriginalAmount(), CoinmateUtils.getPair(marketOrder.getCurrencyPair()), - marketOrder.getUserReference() - ); + marketOrder.getUserReference()); } else if (marketOrder.getType().equals(Order.OrderType.BID)) { response = buyCoinmateInstant( marketOrder.getOriginalAmount(), CoinmateUtils.getPair(marketOrder.getCurrencyPair()), - marketOrder.getUserReference() - ); + marketOrder.getUserReference()); } else { throw new CoinmateException("Unknown order type"); } @@ -145,8 +145,7 @@ public String placeLimitOrder(LimitOrder limitOrder) throws IOException { postOnly ? 1 : 0, immediateOrCancel ? 1 : 0, trailing ? 1 : 0, - limitOrder.getUserReference() - ); + limitOrder.getUserReference()); } else if (limitOrder.getType().equals(Order.OrderType.BID)) { response = buyCoinmateLimit( @@ -158,8 +157,7 @@ public String placeLimitOrder(LimitOrder limitOrder) throws IOException { postOnly ? 1 : 0, immediateOrCancel ? 1 : 0, trailing ? 1 : 0, - limitOrder.getUserReference() - ); + limitOrder.getUserReference()); } else { throw new CoinmateException("Unknown order type"); } @@ -187,8 +185,7 @@ public String placeStopOrder(StopOrder stopOrder) throws IOException { postOnly ? 1 : 0, immediateOrCancel ? 1 : 0, trailing ? 1 : 0, - stopOrder.getUserReference() - ); + stopOrder.getUserReference()); } else if (stopOrder.getType().equals(Order.OrderType.BID)) { response = buyCoinmateLimit( @@ -200,8 +197,7 @@ public String placeStopOrder(StopOrder stopOrder) throws IOException { postOnly ? 1 : 0, immediateOrCancel ? 1 : 0, trailing ? 1 : 0, - stopOrder.getUserReference() - ); + stopOrder.getUserReference()); } else { throw new CoinmateException("Unknown order type"); } @@ -298,8 +294,7 @@ public String changeOrder(LimitOrder limitOrder) throws IOException { postOnly ? 1 : 0, immediateOrCancel ? 1 : 0, trailing ? 1 : 0, - limitOrder.getUserReference() - ); + limitOrder.getUserReference()); } else if (limitOrder.getType().equals(Order.OrderType.BID)) { response = coinmateReplaceByBuyLimit( @@ -312,8 +307,7 @@ public String changeOrder(LimitOrder limitOrder) throws IOException { postOnly ? 1 : 0, immediateOrCancel ? 1 : 0, trailing ? 1 : 0, - limitOrder.getUserReference() - ); + limitOrder.getUserReference()); } else { throw new CoinmateException("Unknown order type"); } diff --git a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateTradeServiceRaw.java b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateTradeServiceRaw.java index 06f74307346..1a660eb231d 100644 --- a/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateTradeServiceRaw.java +++ b/xchange-coinmate/src/main/java/org/knowm/xchange/coinmate/service/CoinmateTradeServiceRaw.java @@ -30,7 +30,9 @@ import org.knowm.xchange.coinmate.CoinmateAuthenticated; import org.knowm.xchange.coinmate.dto.trade.*; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateTradeServiceRaw extends CoinmateBaseService { private final CoinmateDigest signatureCreator; @@ -337,8 +339,8 @@ public CoinmateReplaceResponse coinmateReplaceBySellLimit( return response; } - public CoinmateTradeResponse buyCoinmateInstant(BigDecimal total, String currencyPair, String clientOrderId) - throws IOException { + public CoinmateTradeResponse buyCoinmateInstant( + BigDecimal total, String currencyPair, String clientOrderId) throws IOException { CoinmateTradeResponse response = coinmateAuthenticated.buyInstant( exchange.getExchangeSpecification().getApiKey(), @@ -354,8 +356,8 @@ public CoinmateTradeResponse buyCoinmateInstant(BigDecimal total, String currenc return response; } - public CoinmateTradeResponse sellCoinmateInstant(BigDecimal total, String currencyPair, String clientOrderId) - throws IOException { + public CoinmateTradeResponse sellCoinmateInstant( + BigDecimal total, String currencyPair, String clientOrderId) throws IOException { CoinmateTradeResponse response = coinmateAuthenticated.sellInstant( exchange.getExchangeSpecification().getApiKey(), @@ -371,8 +373,8 @@ public CoinmateTradeResponse sellCoinmateInstant(BigDecimal total, String curren return response; } - public CoinmateTradeResponse buyCoinmateQuick(BigDecimal total, String currencyPair, String clientOrderId) - throws IOException { + public CoinmateTradeResponse buyCoinmateQuick( + BigDecimal total, String currencyPair, String clientOrderId) throws IOException { CoinmateTradeResponse response = coinmateAuthenticated.buyQuick( exchange.getExchangeSpecification().getApiKey(), @@ -388,8 +390,8 @@ public CoinmateTradeResponse buyCoinmateQuick(BigDecimal total, String currencyP return response; } - public CoinmateTradeResponse sellCoinmateQuick(BigDecimal amount, String currencyPair, String clientOrderId) - throws IOException { + public CoinmateTradeResponse sellCoinmateQuick( + BigDecimal amount, String currencyPair, String clientOrderId) throws IOException { CoinmateTradeResponse response = coinmateAuthenticated.sellQuick( exchange.getExchangeSpecification().getApiKey(), @@ -407,8 +409,8 @@ public CoinmateTradeResponse sellCoinmateQuick(BigDecimal amount, String currenc // quick fix rate methods - public CoinmateBuyFixRateResponse coinmateBuyQuickFixRate(BigDecimal total, BigDecimal amountReceived, String currencyPair) - throws IOException { + public CoinmateBuyFixRateResponse coinmateBuyQuickFixRate( + BigDecimal total, BigDecimal amountReceived, String currencyPair) throws IOException { CoinmateBuyFixRateResponse response = coinmateAuthenticated.buyQuickFixRate( exchange.getExchangeSpecification().getApiKey(), @@ -417,16 +419,15 @@ public CoinmateBuyFixRateResponse coinmateBuyQuickFixRate(BigDecimal total, BigD exchange.getNonceFactory(), total, amountReceived, - currencyPair - ); + currencyPair); throwExceptionIfError(response); return response; } - public CoinmateSellFixRateResponse coinmateSellQuickFixRate(BigDecimal amount, BigDecimal totalReceived, String currencyPair) - throws IOException { + public CoinmateSellFixRateResponse coinmateSellQuickFixRate( + BigDecimal amount, BigDecimal totalReceived, String currencyPair) throws IOException { CoinmateSellFixRateResponse response = coinmateAuthenticated.sellQuickFixRate( exchange.getExchangeSpecification().getApiKey(), @@ -435,8 +436,7 @@ public CoinmateSellFixRateResponse coinmateSellQuickFixRate(BigDecimal amount, B exchange.getNonceFactory(), amount, totalReceived, - currencyPair - ); + currencyPair); throwExceptionIfError(response); @@ -476,7 +476,8 @@ public CoinmateTradeResponse sellCoinmateQuickFix(String rateId, String clientOr } public CoinmateReplaceResponse coinmateReplaceByBuyInstant( - String orderId, BigDecimal total, String currencyPair, String clientOrderId) throws IOException { + String orderId, BigDecimal total, String currencyPair, String clientOrderId) + throws IOException { CoinmateReplaceResponse response = coinmateAuthenticated.replaceByBuyInstant( exchange.getExchangeSpecification().getApiKey(), @@ -494,7 +495,8 @@ public CoinmateReplaceResponse coinmateReplaceByBuyInstant( } public CoinmateReplaceResponse coinmateReplaceBySellInstant( - String orderId, BigDecimal total, String currencyPair, String clientOrderId) throws IOException { + String orderId, BigDecimal total, String currencyPair, String clientOrderId) + throws IOException { CoinmateReplaceResponse response = coinmateAuthenticated.replaceBySellInstant( exchange.getExchangeSpecification().getApiKey(), diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/CoinmateAdapterTest.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/CoinmateAdapterTest.java index 1db80a0454b..1b33c23a38d 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/CoinmateAdapterTest.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/CoinmateAdapterTest.java @@ -37,8 +37,6 @@ import java.util.Collections; import java.util.List; import java.util.TimeZone; - -import org.assertj.core.api.Assertions; import org.junit.Test; import org.knowm.xchange.coinmate.dto.marketdata.CoinmateTicker; import org.knowm.xchange.coinmate.dto.marketdata.CoinmateTickers; @@ -47,7 +45,9 @@ import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.marketdata.Ticker; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateAdapterTest { @Test diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/account/BalanceJSONTest.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/account/BalanceJSONTest.java index 94ff58eadfe..f11cc07a36c 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/account/BalanceJSONTest.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/account/BalanceJSONTest.java @@ -32,7 +32,9 @@ import org.junit.Test; import org.knowm.xchange.coinmate.dto.marketdata.OrderBookJSONTest; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class BalanceJSONTest { @Test diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/account/OpenOrdersJSONTest.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/account/OpenOrdersJSONTest.java index 4e0e51d6f66..380ec0498ef 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/account/OpenOrdersJSONTest.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/account/OpenOrdersJSONTest.java @@ -33,7 +33,9 @@ import org.knowm.xchange.coinmate.dto.marketdata.OrderBookJSONTest; import org.knowm.xchange.coinmate.dto.trade.CoinmateOpenOrders; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class OpenOrdersJSONTest { @Test diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/OrderBookJSONTest.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/OrderBookJSONTest.java index c1b189bc0a6..65465527e04 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/OrderBookJSONTest.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/OrderBookJSONTest.java @@ -31,7 +31,9 @@ import java.math.BigDecimal; import org.junit.Test; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class OrderBookJSONTest { @Test diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/TickerJSONTest.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/TickerJSONTest.java index 0a9a6c8e285..f376e73d3d0 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/TickerJSONTest.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/TickerJSONTest.java @@ -31,7 +31,9 @@ import java.math.BigDecimal; import org.junit.Test; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class TickerJSONTest { @Test diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/TransactionsJSONTest.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/TransactionsJSONTest.java index 670baa3857d..88abb8dd00c 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/TransactionsJSONTest.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/marketdata/TransactionsJSONTest.java @@ -31,7 +31,9 @@ import java.math.BigDecimal; import org.junit.Test; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class TransactionsJSONTest { @Test diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/trade/OrderHistoryJSONTest.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/trade/OrderHistoryJSONTest.java index 8032598edc7..7dadb577054 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/trade/OrderHistoryJSONTest.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/dto/trade/OrderHistoryJSONTest.java @@ -30,10 +30,11 @@ import java.io.InputStream; import java.math.BigDecimal; import java.util.List; - import org.junit.Test; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class OrderHistoryJSONTest { @Test diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/AccountInfoFetchIntegration.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/AccountInfoFetchIntegration.java index 6a86b3ae68f..5883ce02864 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/AccountInfoFetchIntegration.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/AccountInfoFetchIntegration.java @@ -2,6 +2,8 @@ import static org.junit.Assert.assertNotNull; +import java.io.IOException; +import java.util.Map; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.coinmate.ExchangeUtils; @@ -11,9 +13,6 @@ import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.service.account.AccountService; -import java.io.IOException; -import java.util.Map; - /** * Integration tests for Wallet retrieval. For these tests to function, a file * 'exchangeConfiguration.json' must be on the classpath and contain valid api and secret keys. diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/CoinmateBaseServiceIntegration.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/CoinmateBaseServiceIntegration.java index f3061e108a1..42175388c06 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/CoinmateBaseServiceIntegration.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/CoinmateBaseServiceIntegration.java @@ -36,7 +36,9 @@ import org.knowm.xchange.dto.marketdata.Trades; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author Martin Stachon */ +/** + * @author Martin Stachon + */ public class CoinmateBaseServiceIntegration { @Test diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/QuickTradeFixRateMockIntegration.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/QuickTradeFixRateMockIntegration.java index 1d6a4b98d21..24ff927d72c 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/QuickTradeFixRateMockIntegration.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/QuickTradeFixRateMockIntegration.java @@ -6,7 +6,6 @@ import static org.junit.Assert.assertNull; import java.math.BigDecimal; - import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeFactory; @@ -51,8 +50,11 @@ public Exchange createMockExchangeUnauthenticated() { @Test public void testGetBuyQuickRate() throws Exception { Exchange exchange = createMockExchangeUnauthenticated(); - CoinmateMarketDataServiceRaw marketDataService = (CoinmateMarketDataServiceRaw) exchange.getMarketDataService(); - CoinmateQuickRate response = marketDataService.getCoinmateBuyQuickRate(new BigDecimal("1.0"), CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); + CoinmateMarketDataServiceRaw marketDataService = + (CoinmateMarketDataServiceRaw) exchange.getMarketDataService(); + CoinmateQuickRate response = + marketDataService.getCoinmateBuyQuickRate( + new BigDecimal("1.0"), CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); assertFalse(response.isError()); assertNull(response.getErrorMessage()); assertNotNull(response.getData()); @@ -61,8 +63,11 @@ public void testGetBuyQuickRate() throws Exception { @Test public void testGetSellQuickRate() throws Exception { Exchange exchange = createMockExchangeUnauthenticated(); - CoinmateMarketDataServiceRaw marketDataService = (CoinmateMarketDataServiceRaw) exchange.getMarketDataService(); - CoinmateQuickRate response = marketDataService.getCoinmateSellQuickRate(new BigDecimal("1.0"), CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); + CoinmateMarketDataServiceRaw marketDataService = + (CoinmateMarketDataServiceRaw) exchange.getMarketDataService(); + CoinmateQuickRate response = + marketDataService.getCoinmateSellQuickRate( + new BigDecimal("1.0"), CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); assertFalse(response.isError()); assertNull(response.getErrorMessage()); assertNotNull(response.getData()); @@ -74,11 +79,9 @@ public void testBuyFixRateTotal() throws Exception { TradeService tradeService = exchange.getTradeService(); CoinmateTradeServiceRaw tradeServiceRaw = (CoinmateTradeServiceRaw) tradeService; - CoinmateBuyFixRateResponse response = tradeServiceRaw.coinmateBuyQuickFixRate( - new BigDecimal("1.0"), - null, - CoinmateUtils.getPair(CurrencyPair.BTC_EUR) - ); + CoinmateBuyFixRateResponse response = + tradeServiceRaw.coinmateBuyQuickFixRate( + new BigDecimal("1.0"), null, CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); assertFalse(response.isError()); assertNull(response.getErrorMessage()); CoinmateBuyFixRateResponseData data = response.getData(); @@ -96,11 +99,9 @@ public void testBuyFixRateAmount() throws Exception { TradeService tradeService = exchange.getTradeService(); CoinmateTradeServiceRaw tradeServiceRaw = (CoinmateTradeServiceRaw) tradeService; - CoinmateBuyFixRateResponse response = tradeServiceRaw.coinmateBuyQuickFixRate( - null, - new BigDecimal("100.0"), - CoinmateUtils.getPair(CurrencyPair.BTC_EUR) - ); + CoinmateBuyFixRateResponse response = + tradeServiceRaw.coinmateBuyQuickFixRate( + null, new BigDecimal("100.0"), CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); assertFalse(response.isError()); assertNull(response.getErrorMessage()); CoinmateBuyFixRateResponseData data = response.getData(); @@ -118,11 +119,9 @@ public void testSellFixRateTotal() throws Exception { TradeService tradeService = exchange.getTradeService(); CoinmateTradeServiceRaw tradeServiceRaw = (CoinmateTradeServiceRaw) tradeService; - CoinmateSellFixRateResponse response = tradeServiceRaw.coinmateSellQuickFixRate( - new BigDecimal("1.0"), - null, - CoinmateUtils.getPair(CurrencyPair.BTC_EUR) - ); + CoinmateSellFixRateResponse response = + tradeServiceRaw.coinmateSellQuickFixRate( + new BigDecimal("1.0"), null, CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); assertFalse(response.isError()); assertNull(response.getErrorMessage()); CoinmateSellFixRateResponseData data = response.getData(); @@ -140,11 +139,9 @@ public void testSellFixRateAmount() throws Exception { TradeService tradeService = exchange.getTradeService(); CoinmateTradeServiceRaw tradeServiceRaw = (CoinmateTradeServiceRaw) tradeService; - CoinmateSellFixRateResponse response = tradeServiceRaw.coinmateSellQuickFixRate( - null, - new BigDecimal("100.0"), - CoinmateUtils.getPair(CurrencyPair.BTC_EUR) - ); + CoinmateSellFixRateResponse response = + tradeServiceRaw.coinmateSellQuickFixRate( + null, new BigDecimal("100.0"), CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); assertFalse(response.isError()); assertNull(response.getErrorMessage()); CoinmateSellFixRateResponseData data = response.getData(); @@ -162,11 +159,9 @@ public void testBuyFixRateExecute() throws Exception { TradeService tradeService = exchange.getTradeService(); CoinmateTradeServiceRaw tradeServiceRaw = (CoinmateTradeServiceRaw) tradeService; - CoinmateBuyFixRateResponse response = tradeServiceRaw.coinmateBuyQuickFixRate( - null, - new BigDecimal("100.0"), - CoinmateUtils.getPair(CurrencyPair.BTC_EUR) - ); + CoinmateBuyFixRateResponse response = + tradeServiceRaw.coinmateBuyQuickFixRate( + null, new BigDecimal("100.0"), CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); assertFalse(response.isError()); assertNull(response.getErrorMessage()); CoinmateBuyFixRateResponseData data = response.getData(); @@ -185,11 +180,9 @@ public void testSellFixRateExecute() throws Exception { TradeService tradeService = exchange.getTradeService(); CoinmateTradeServiceRaw tradeServiceRaw = (CoinmateTradeServiceRaw) tradeService; - CoinmateSellFixRateResponse response = tradeServiceRaw.coinmateSellQuickFixRate( - new BigDecimal("1.0"), - null, - CoinmateUtils.getPair(CurrencyPair.BTC_EUR) - ); + CoinmateSellFixRateResponse response = + tradeServiceRaw.coinmateSellQuickFixRate( + new BigDecimal("1.0"), null, CoinmateUtils.getPair(CurrencyPair.BTC_EUR)); assertFalse(response.isError()); assertNull(response.getErrorMessage()); CoinmateSellFixRateResponseData data = response.getData(); diff --git a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/TradeServiceRawTest.java b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/TradeServiceRawTest.java index aa062dac743..2e2fa1255d2 100644 --- a/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/TradeServiceRawTest.java +++ b/xchange-coinmate/src/test/java/org/knowm/xchange/coinmate/service/TradeServiceRawTest.java @@ -29,9 +29,9 @@ public void testTransactionHistory() throws IOException { 0, 1000, "DESC", 1612134000000L, 1614783942000L, null); assertNotNull(transactionHistory); assertNotNull(transactionHistory.getData()); -// System.out.println("Got " + transactionHistory.getData().size() + " transactions."); + // System.out.println("Got " + transactionHistory.getData().size() + " transactions."); for (CoinmateTransactionHistoryEntry transaction : transactionHistory.getData()) { -// System.out.println(transaction.getAmount() + " " + transaction.getAmountCurrency()); + // System.out.println(transaction.getAmount() + " " + transaction.getAmountCurrency()); } } @@ -48,9 +48,9 @@ public void testTransactionHistoryNullTimestamp() throws IOException { service.getCoinmateTransactionHistory(0, 1000, "DESC", null, null, null); assertNotNull(transactionHistory); assertNotNull(transactionHistory.getData()); -// System.out.println("Got " + transactionHistory.getData().size() + " transactions."); + // System.out.println("Got " + transactionHistory.getData().size() + " transactions."); for (CoinmateTransactionHistoryEntry transaction : transactionHistory.getData()) { -// System.out.println(transaction.getAmount() + " " + transaction.getAmountCurrency()); + // System.out.println(transaction.getAmount() + " " + transaction.getAmountCurrency()); } } @@ -67,9 +67,9 @@ public void testOrderHistory() throws IOException { service.getCoinmateOrderHistory(CoinmateUtils.getPair(CurrencyPair.BTC_CZK), null); assertNotNull(orderHistory); assertNotNull(orderHistory.getData()); -// System.out.println("Got " + orderHistory.getData().size() + " orders."); + // System.out.println("Got " + orderHistory.getData().size() + " orders."); for (CoinmateOrderHistoryEntry transaction : orderHistory.getData()) { -// System.out.println(transaction); + // System.out.println(transaction); } } } diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/Coinone.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/Coinone.java index c1fb3220286..77a083f5df5 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/Coinone.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/Coinone.java @@ -1,9 +1,9 @@ package org.knowm.xchange.coinone; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.QueryParam; +import java.io.IOException; import org.knowm.xchange.coinone.dto.CoinoneException; import org.knowm.xchange.coinone.dto.marketdata.CoinoneOrderBook; import org.knowm.xchange.coinone.dto.marketdata.CoinoneTicker; @@ -26,4 +26,4 @@ CoinoneOrderBook getOrderBook(@QueryParam("currency") String currency) CoinoneTrades getTrades( @QueryParam("currency") String currency, @QueryParam("currency") String period) throws IOException, CoinoneException; -} \ No newline at end of file +} diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/CoinoneAuthenticated.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/CoinoneAuthenticated.java index 24a48fcdb70..742d1057486 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/CoinoneAuthenticated.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/CoinoneAuthenticated.java @@ -1,12 +1,12 @@ package org.knowm.xchange.coinone; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.coinone.dto.CoinoneException; import org.knowm.xchange.coinone.dto.account.CoinoneAuthRequest; import org.knowm.xchange.coinone.dto.account.CoinoneBalancesRequest; @@ -80,4 +80,4 @@ CoinoneWithdrawResponse withdrawFund( @HeaderParam("X-COINONE-SIGNATURE") ParamsDigest signature, CoinoneWithdrawRequest coinoneWithdrawRequest) throws IOException, CoinoneException; -} \ No newline at end of file +} diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneOrderBook.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneOrderBook.java index 1a87b48759a..68e8cfcf827 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneOrderBook.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneOrderBook.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -/** @author interwater */ +/** + * @author interwater + */ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonIgnoreProperties(ignoreUnknown = true) public class CoinoneOrderBook { diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneOrderBookData.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneOrderBookData.java index 1e9ad4a4b9c..2f2bfba70de 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneOrderBookData.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneOrderBookData.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author interwater */ +/** + * @author interwater + */ public class CoinoneOrderBookData { private final BigDecimal price; diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTicker.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTicker.java index 59ef45b4c91..670276f8393 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTicker.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTicker.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author interwater */ +/** + * @author interwater + */ public class CoinoneTicker { private final String result; diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTradeData.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTradeData.java index 4dd9987ad5e..83124de076b 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTradeData.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTradeData.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author interwater */ +/** + * @author interwater + */ public class CoinoneTradeData { private final BigDecimal price; diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTrades.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTrades.java index 224adeda042..edb05c68143 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTrades.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/dto/marketdata/CoinoneTrades.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -/** @author interwater */ +/** + * @author interwater + */ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonIgnoreProperties(ignoreUnknown = true) public class CoinoneTrades { diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneAccountService.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneAccountService.java index 2eb2b5f0bf9..52f739a071a 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneAccountService.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneAccountService.java @@ -29,8 +29,10 @@ public CoinoneAccountService(Exchange exchange) { @Override public AccountInfo getAccountInfo() - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { return new AccountInfo(CoinoneAdapters.adaptWallet(super.getWallet())); } diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneMarketDataService.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneMarketDataService.java index 6aaea1036c9..1d21c824fd2 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneMarketDataService.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneMarketDataService.java @@ -13,7 +13,9 @@ import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author interwater */ +/** + * @author interwater + */ public class CoinoneMarketDataService extends CoinoneMarketDataServiceRaw implements MarketDataService { @@ -34,15 +36,19 @@ public Ticker getTicker(CurrencyPair currencyPair, Object... args) throws IOExce @Override public OrderBook getOrderBook(CurrencyPair currencyPair, Object... args) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { return CoinoneAdapters.adaptOrderBook(getCoinoneOrderBook(currencyPair), currencyPair); } @Override public Trades getTrades(CurrencyPair currencyPair, Object... args) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { String period = "hour"; if (args[0] != null) { try { diff --git a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneTradeService.java b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneTradeService.java index 82be8abcb36..6480a69865f 100644 --- a/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneTradeService.java +++ b/xchange-coinone/src/main/java/org/knowm/xchange/coinone/service/CoinoneTradeService.java @@ -14,7 +14,9 @@ import org.knowm.xchange.service.trade.TradeService; import org.knowm.xchange.service.trade.params.CancelOrderParams; -/** @author interwater */ +/** + * @author interwater + */ public class CoinoneTradeService extends CoinoneTradeServiceRaw implements TradeService { /** * Constructor @@ -48,8 +50,10 @@ public String placeStopOrder(StopOrder stopOrder) throws IOException { @Override public boolean cancelOrder(CancelOrderParams orderParams) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { CoinoneTradeResponse response = super.cancerOrder((CoinoneTradeCancelRequest) orderParams); if (!response.getErrorCode().equals("0")) { throw new CoinoneException(CoinoneException.resMsgMap.get(response.getErrorCode())); diff --git a/xchange-core/src/main/java/org/knowm/xchange/Exchange.java b/xchange-core/src/main/java/org/knowm/xchange/Exchange.java index 4bb487ab59d..c29c94b4ce4 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/Exchange.java +++ b/xchange-core/src/main/java/org/knowm/xchange/Exchange.java @@ -24,7 +24,9 @@ public interface Exchange { String USE_SANDBOX = "Use_Sandbox"; - /** @return The ExchangeSpecification in use for this exchange */ + /** + * @return The ExchangeSpecification in use for this exchange + */ ExchangeSpecification getExchangeSpecification(); /** diff --git a/xchange-core/src/main/java/org/knowm/xchange/ExchangeSpecification.java b/xchange-core/src/main/java/org/knowm/xchange/ExchangeSpecification.java index e0d344ca20e..a98331c2135 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/ExchangeSpecification.java +++ b/xchange-core/src/main/java/org/knowm/xchange/ExchangeSpecification.java @@ -34,6 +34,7 @@ public class ExchangeSpecification { private ResilienceSpecification resilience = new ResilienceSpecification(); private String metaDataJsonFileOverride = null; private boolean shouldLoadRemoteMetaData = true; // default value + /** arbitrary exchange params that can be set for unique cases */ private Map exchangeSpecificParameters = new HashMap<>(); @@ -58,7 +59,9 @@ public ExchangeSpecification(Class exchangeClass) { this.exchangeClass = exchangeClass; } - /** @return The exchange class for loading at runtime */ + /** + * @return The exchange class for loading at runtime + */ public Class getExchangeClass() { return exchangeClass; } diff --git a/xchange-core/src/main/java/org/knowm/xchange/client/ResilienceUtils.java b/xchange-core/src/main/java/org/knowm/xchange/client/ResilienceUtils.java index 847718154aa..781ba6202ae 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/client/ResilienceUtils.java +++ b/xchange-core/src/main/java/org/knowm/xchange/client/ResilienceUtils.java @@ -3,9 +3,9 @@ import io.github.resilience4j.ratelimiter.RateLimiter; import io.github.resilience4j.retry.Retry; import io.vavr.control.Either; +import jakarta.ws.rs.core.Response; import java.io.IOException; import java.util.concurrent.Callable; -import jakarta.ws.rs.core.Response; import org.knowm.xchange.ExchangeSpecification; import si.mazi.rescu.HttpStatusExceptionSupport; @@ -86,4 +86,4 @@ public T call() throws IOException { return this.callable.call(); } } -} \ No newline at end of file +} diff --git a/xchange-core/src/main/java/org/knowm/xchange/derivative/FuturesContract.java b/xchange-core/src/main/java/org/knowm/xchange/derivative/FuturesContract.java index 84126b0cdb4..48a4906bf13 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/derivative/FuturesContract.java +++ b/xchange-core/src/main/java/org/knowm/xchange/derivative/FuturesContract.java @@ -5,7 +5,6 @@ import java.io.Serializable; import java.util.Comparator; import java.util.Objects; - import org.knowm.xchange.currency.Currency; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.instrument.Instrument; diff --git a/xchange-core/src/main/java/org/knowm/xchange/derivative/OptionsContract.java b/xchange-core/src/main/java/org/knowm/xchange/derivative/OptionsContract.java index fe16fb100c6..bf593c2116a 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/derivative/OptionsContract.java +++ b/xchange-core/src/main/java/org/knowm/xchange/derivative/OptionsContract.java @@ -10,7 +10,6 @@ import java.util.Comparator; import java.util.Date; import java.util.Objects; - import org.knowm.xchange.currency.Currency; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.instrument.Instrument; diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/Order.java b/xchange-core/src/main/java/org/knowm/xchange/dto/Order.java index b0cd25da0f3..b025fd6cd8a 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/Order.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/Order.java @@ -30,26 +30,37 @@ public abstract class Order implements Serializable { /** Order type i.e. bid or ask */ private final OrderType type; + /** Amount to be ordered / amount that was ordered */ private final BigDecimal originalAmount; + /** The instrument could be a currency pair of derivative */ private final Instrument instrument; + /** An identifier set by the exchange that uniquely identifies the order */ private final String id; + /** An identifier provided by the user on placement that uniquely identifies the order */ private final String userReference; + /** The timestamp on the order according to the exchange's server, null if not provided */ private final Date timestamp; + /** Any applicable order flags */ private final Set orderFlags = new HashSet<>(); + /** Status of order during it lifecycle */ private OrderStatus status; + /** Amount to be ordered / amount that has been matched against order on the order book/filled */ private BigDecimal cumulativeAmount; + /** Weighted Average price of the fills in the order */ private BigDecimal averagePrice; + /** The total of the fees incurred for all transactions related to this order */ private BigDecimal fee; + /** The leverage to use for margin related to this order */ private String leverage = null; @@ -157,7 +168,9 @@ public void setFee(BigDecimal fee) { this.fee = fee; } - /** @return The type (BID or ASK) */ + /** + * @return The type (BID or ASK) + */ public OrderType getType() { return type; @@ -199,7 +212,9 @@ public BigDecimal getCumulativeCounterAmount() { return null; } - /** @return The remaining order amount */ + /** + * @return The remaining order amount + */ public BigDecimal getRemainingAmount() { if (cumulativeAmount != null && originalAmount != null) { return originalAmount.subtract(cumulativeAmount); @@ -241,18 +256,24 @@ public CurrencyPair getCurrencyPair() { return (CurrencyPair) instrument; } - /** @return The instrument to be bought or sold */ + /** + * @return The instrument to be bought or sold + */ public Instrument getInstrument() { return instrument; } - /** @return A unique identifier (normally provided by the exchange) */ + /** + * @return A unique identifier (normally provided by the exchange) + */ public String getId() { return id; } - /** @return A unique identifier provided by the user on placement */ + /** + * @return A unique identifier provided by the user on placement + */ public String getUserReference() { return userReference; diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/account/AccountInfo.java b/xchange-core/src/main/java/org/knowm/xchange/dto/account/AccountInfo.java index 54d46867a6f..04b5d1b5041 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/account/AccountInfo.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/account/AccountInfo.java @@ -42,7 +42,9 @@ public final class AccountInfo implements Serializable { */ @Nullable private final Date timestamp; - /** @see #AccountInfo(String, BigDecimal, Collection) */ + /** + * @see #AccountInfo(String, BigDecimal, Collection) + */ public AccountInfo(Wallet... wallets) { // TODO when refactoring for separate feature interfaces, change this constructor to require at @@ -50,7 +52,9 @@ public AccountInfo(Wallet... wallets) { this(null, null, wallets); } - /** @see #AccountInfo(String, BigDecimal, Collection, Date) */ + /** + * @see #AccountInfo(String, BigDecimal, Collection, Date) + */ public AccountInfo(Date timestamp, Wallet... wallets) { // TODO when refactoring for separate feature interfaces, change this constructor to require at @@ -58,19 +62,25 @@ public AccountInfo(Date timestamp, Wallet... wallets) { this(null, null, Arrays.asList(wallets), timestamp); } - /** @see #AccountInfo(String, BigDecimal, Collection) */ + /** + * @see #AccountInfo(String, BigDecimal, Collection) + */ public AccountInfo(Collection wallets) { this(null, null, wallets); } - /** @see #AccountInfo(String, BigDecimal, Collection) */ + /** + * @see #AccountInfo(String, BigDecimal, Collection) + */ public AccountInfo(String username, Wallet... wallets) { this(username, null, wallets); } - /** @see #AccountInfo(String, BigDecimal, Collection) */ + /** + * @see #AccountInfo(String, BigDecimal, Collection) + */ public AccountInfo(String username, Collection wallets) { this(username, null, wallets); @@ -138,7 +148,9 @@ public AccountInfo( } } - /** @see #AccountInfo(String, BigDecimal, Collection) */ + /** + * @see #AccountInfo(String, BigDecimal, Collection) + */ public AccountInfo(String username, BigDecimal tradingFee, Wallet... wallets) { this(username, tradingFee, Arrays.asList(wallets)); @@ -193,7 +205,9 @@ public Wallet getWallet(Wallet.WalletFeature feature) { return walletWithFeatures.get(0); } - /** @return The user name */ + /** + * @return The user name + */ public String getUsername() { return username; diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/account/AddressWithTag.java b/xchange-core/src/main/java/org/knowm/xchange/dto/account/AddressWithTag.java index a04f831987a..2a7aed6dd7f 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/account/AddressWithTag.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/account/AddressWithTag.java @@ -12,5 +12,4 @@ public class AddressWithTag { String address; String addressTag; - } diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/account/FundingRecord.java b/xchange-core/src/main/java/org/knowm/xchange/dto/account/FundingRecord.java index d2005cbd4dc..affa4de2bc8 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/account/FundingRecord.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/account/FundingRecord.java @@ -40,17 +40,22 @@ public final class FundingRecord implements Serializable { * blockchain transaction hash. */ private final String blockchainTransactionHash; + /** Transaction Type */ private final Type type; + /** * Status of the transaction whenever available (e.g. Open, Completed or any descriptive status of * transaction) */ private final Status status; + /** Balance of the associated account after the transaction is performed */ private final BigDecimal balance; + /** Transaction Fee Amount in given transaction currency (always positive) */ private final BigDecimal fee; + /** Description of the transaction */ private String description; @@ -196,7 +201,9 @@ public FundingRecord( description); } - /** @return Crypto currency address */ + /** + * @return Crypto currency address + */ public String getAddress() { return address; } @@ -205,22 +212,30 @@ public String getAddressTag() { return addressTag; } - /** @return Date/Time of transaction */ + /** + * @return Date/Time of transaction + */ public Date getDate() { return date; } - /** @return The transaction currency */ + /** + * @return The transaction currency + */ public Currency getCurrency() { return currency; } - /** @return Amount deposited/withdrawn in given transaction currency (always positive) */ + /** + * @return Amount deposited/withdrawn in given transaction currency (always positive) + */ public BigDecimal getAmount() { return amount; } - /** @return Internal transaction identifier, specific to the Exchange. */ + /** + * @return Internal transaction identifier, specific to the Exchange. + */ public String getInternalId() { return internalId; } @@ -238,7 +253,9 @@ public String getBlockchainTransactionHash() { return blockchainTransactionHash; } - /** @return Transaction Type {@link Type} */ + /** + * @return Transaction Type {@link Type} + */ public Type getType() { return type; } @@ -251,17 +268,23 @@ public Status getStatus() { return status; } - /** @return Balance of the associated account after the transaction is performed */ + /** + * @return Balance of the associated account after the transaction is performed + */ public BigDecimal getBalance() { return balance; } - /** @return Transaction Fee Amount in given transaction currency (always positive) */ + /** + * @return Transaction Fee Amount in given transaction currency (always positive) + */ public BigDecimal getFee() { return fee; } - /** @return Description of the transaction */ + /** + * @return Description of the transaction + */ public String getDescription() { return description; } diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/account/OpenPosition.java b/xchange-core/src/main/java/org/knowm/xchange/dto/account/OpenPosition.java index 5c5c803f432..87a94bd9e38 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/account/OpenPosition.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/account/OpenPosition.java @@ -1,24 +1,27 @@ package org.knowm.xchange.dto.account; -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Objects; - import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Objects; import org.knowm.xchange.instrument.Instrument; @JsonInclude(JsonInclude.Include.NON_NULL) public class OpenPosition implements Serializable { /** The instrument */ private final Instrument instrument; + /** Is this a long or a short position */ private final Type type; + /** The size of the position */ private final BigDecimal size; + /** The average entry price for the position */ @JsonIgnore private final BigDecimal price; + /** The estimatedLiquidationPrice */ @JsonIgnore private final BigDecimal liquidationPrice; diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/account/OpenPositions.java b/xchange-core/src/main/java/org/knowm/xchange/dto/account/OpenPositions.java index 2867f14fec0..be2912652e1 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/account/OpenPositions.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/account/OpenPositions.java @@ -1,7 +1,6 @@ package org.knowm.xchange.dto.account; import com.fasterxml.jackson.annotation.JsonProperty; - import java.io.Serializable; import java.util.List; diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/account/Wallet.java b/xchange-core/src/main/java/org/knowm/xchange/dto/account/Wallet.java index 8e5622ea481..fe7006e0d51 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/account/Wallet.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/account/Wallet.java @@ -1,5 +1,6 @@ package org.knowm.xchange.dto.account; +import com.fasterxml.jackson.annotation.*; import java.io.Serializable; import java.math.BigDecimal; import java.util.Collection; @@ -10,8 +11,6 @@ import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; - -import com.fasterxml.jackson.annotation.*; import org.knowm.xchange.currency.Currency; /** @@ -32,22 +31,28 @@ public enum WalletFeature { MARGIN_TRADING, /** You can fund other margin traders with funds allocated to this wallet to earn an interest */ MARGIN_FUNDING, - /** Wallet for futures platform*/ + /** Wallet for futures platform */ FUTURES_TRADING } /** The keys represent the currency of the wallet. */ private final Map balances; + /** Collection of balances for deserialization * */ private final Collection balanceCollection; + /** A unique identifier for this wallet */ private final String id; + /** A descriptive name for this wallet. Defaults to {@link #id} */ private final String name; + /** Features supported by this wallet */ private final Set features; + /** Maximum leverage for margin trading supported by this wallet */ private final BigDecimal maxLeverage; + /** Current leverage for margin trading done on this wallet */ private final BigDecimal currentLeverage; @@ -95,43 +100,57 @@ public Wallet( this.currentLeverage = currentLeverage; } - /** @return The wallet id */ + /** + * @return The wallet id + */ public String getId() { return id; } - /** @return A descriptive name for the wallet */ + /** + * @return A descriptive name for the wallet + */ public String getName() { return name; } - /** @return The available colletion of balances */ + /** + * @return The available colletion of balances + */ @JsonGetter public Collection balances() { return balanceCollection; } - /** @return The available balances (amount and currency) */ + /** + * @return The available balances (amount and currency) + */ @JsonIgnore public Map getBalances() { return Collections.unmodifiableMap(balances); } - /** @return All wallet operation features */ + /** + * @return All wallet operation features + */ public Set getFeatures() { return features; } - /** @return Max leverage of wallet */ + /** + * @return Max leverage of wallet + */ public BigDecimal getMaxLeverage() { return maxLeverage; } - /** @return current leverage of wallet */ + /** + * @return current leverage of wallet + */ public BigDecimal getCurrentLeverage() { return currentLeverage; } @@ -192,6 +211,7 @@ public static class Builder { private String id; private String name; + /** These are the default wallet features */ private Set features = Stream.of(WalletFeature.TRADING, WalletFeature.FUNDING).collect(Collectors.toSet()); diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/CandleStick.java b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/CandleStick.java index b370d841c84..ffb8d1c1557 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/CandleStick.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/CandleStick.java @@ -2,203 +2,221 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; - import java.math.BigDecimal; import java.util.Date; -/** - * Data object representing a CandleStick - */ +/** Data object representing a CandleStick */ @JsonDeserialize(builder = CandleStick.Builder.class) public class CandleStick { - private final BigDecimal open; - private final BigDecimal last; - private final BigDecimal high; - private final BigDecimal low; - private final BigDecimal close; - private final BigDecimal volume; - private final BigDecimal quotaVolume; - private final BigDecimal vwap; // these 5 fields can be null if not provided by the exchange - private final BigDecimal bid; - private final BigDecimal bidSize; - private final BigDecimal ask; - private final BigDecimal askSize; - private final Date timestamp; - - public CandleStick(Date timestamp, BigDecimal open, BigDecimal last, BigDecimal high, - BigDecimal low, BigDecimal close, BigDecimal volume, - BigDecimal quotaVolume, BigDecimal vwap, BigDecimal bid, - BigDecimal bidSize, BigDecimal ask, BigDecimal askSize) { - this.timestamp = timestamp; - this.open = open; - this.last = last; - this.high = high; - this.low = low; - this.close = close; - this.volume = volume; - this.quotaVolume = quotaVolume; - this.vwap = vwap; - this.bid = bid; - this.bidSize = bidSize; - this.ask = ask; - this.askSize = askSize; + private final BigDecimal open; + private final BigDecimal last; + private final BigDecimal high; + private final BigDecimal low; + private final BigDecimal close; + private final BigDecimal volume; + private final BigDecimal quotaVolume; + private final BigDecimal vwap; // these 5 fields can be null if not provided by the exchange + private final BigDecimal bid; + private final BigDecimal bidSize; + private final BigDecimal ask; + private final BigDecimal askSize; + private final Date timestamp; + + public CandleStick( + Date timestamp, + BigDecimal open, + BigDecimal last, + BigDecimal high, + BigDecimal low, + BigDecimal close, + BigDecimal volume, + BigDecimal quotaVolume, + BigDecimal vwap, + BigDecimal bid, + BigDecimal bidSize, + BigDecimal ask, + BigDecimal askSize) { + this.timestamp = timestamp; + this.open = open; + this.last = last; + this.high = high; + this.low = low; + this.close = close; + this.volume = volume; + this.quotaVolume = quotaVolume; + this.vwap = vwap; + this.bid = bid; + this.bidSize = bidSize; + this.ask = ask; + this.askSize = askSize; + } + + public Date getTimestamp() { + return timestamp; + } + + public BigDecimal getOpen() { + return open; + } + + public BigDecimal getLast() { + return last; + } + + public BigDecimal getHigh() { + return high; + } + + public BigDecimal getLow() { + return low; + } + + public BigDecimal getClose() { + return close; + } + + public BigDecimal getVolume() { + return volume; + } + + public BigDecimal getQuotaVolume() { + return quotaVolume; + } + + public BigDecimal getVwap() { + return vwap; + } + + public BigDecimal getBid() { + return bid; + } + + public BigDecimal getBidSize() { + return bidSize; + } + + public BigDecimal getAsk() { + return ask; + } + + public BigDecimal getAskSize() { + return askSize; + } + + @JsonPOJOBuilder(withPrefix = "") + public static class Builder { + private Date timestamp; + private BigDecimal open; + private BigDecimal last; + private BigDecimal high; + private BigDecimal low; + private BigDecimal close; + private BigDecimal volume; + private BigDecimal quotaVolume; + private BigDecimal vwap; + private BigDecimal bid; + private BigDecimal bidSize; + private BigDecimal ask; + private BigDecimal askSize; + + public static Builder from(CandleStick candleStick) { + return new Builder() + .timestamp(candleStick.getTimestamp()) + .open(candleStick.getOpen()) + .last(candleStick.getLast()) + .high(candleStick.getHigh()) + .low(candleStick.getLow()) + .close(candleStick.getClose()) + .volume(candleStick.getVolume()) + .quotaVolume(candleStick.getQuotaVolume()) + .vwap(candleStick.getVwap()) + .bid(candleStick.getBid()) + .bidSize(candleStick.getBidSize()) + .ask(candleStick.getAsk()) + .askSize(candleStick.getAskSize()); } - public Date getTimestamp() { - return timestamp; + public Builder timestamp(Date timestamp) { + this.timestamp = timestamp; + return this; } - public BigDecimal getOpen() { - return open; + public Builder open(BigDecimal open) { + this.open = open; + return this; } - public BigDecimal getLast() { - return last; + public Builder last(BigDecimal last) { + this.last = last; + return this; } - public BigDecimal getHigh() { - return high; + public Builder high(BigDecimal high) { + this.high = high; + return this; } - public BigDecimal getLow() { - return low; + public Builder low(BigDecimal low) { + this.low = low; + return this; } - public BigDecimal getClose() { - return close; + public Builder close(BigDecimal close) { + this.close = close; + return this; } - public BigDecimal getVolume() { - return volume; + public Builder volume(BigDecimal volume) { + this.volume = volume; + return this; } - public BigDecimal getQuotaVolume() { - return quotaVolume; + public Builder quotaVolume(BigDecimal quotaVolume) { + this.quotaVolume = quotaVolume; + return this; } - public BigDecimal getVwap() { - return vwap; + public Builder vwap(BigDecimal vwap) { + this.vwap = vwap; + return this; } - public BigDecimal getBid() { - return bid; + public Builder bid(BigDecimal bid) { + this.bid = bid; + return this; } - public BigDecimal getBidSize() { - return bidSize; + public Builder bidSize(BigDecimal bidSize) { + this.bidSize = bidSize; + return this; } - public BigDecimal getAsk() { - return ask; + public Builder ask(BigDecimal ask) { + this.ask = ask; + return this; } - public BigDecimal getAskSize() { - return askSize; + public Builder askSize(BigDecimal askSize) { + this.askSize = askSize; + return this; } - @JsonPOJOBuilder(withPrefix = "") - public static class Builder { - private Date timestamp; - private BigDecimal open; - private BigDecimal last; - private BigDecimal high; - private BigDecimal low; - private BigDecimal close; - private BigDecimal volume; - private BigDecimal quotaVolume; - private BigDecimal vwap; - private BigDecimal bid; - private BigDecimal bidSize; - private BigDecimal ask; - private BigDecimal askSize; - - - public static Builder from(CandleStick candleStick) { - return new Builder() - .timestamp(candleStick.getTimestamp()) - .open(candleStick.getOpen()) - .last(candleStick.getLast()) - .high(candleStick.getHigh()) - .low(candleStick.getLow()) - .close(candleStick.getClose()) - .volume(candleStick.getVolume()) - .quotaVolume(candleStick.getQuotaVolume()) - .vwap(candleStick.getVwap()) - .bid(candleStick.getBid()) - .bidSize(candleStick.getBidSize()) - .ask(candleStick.getAsk()) - .askSize(candleStick.getAskSize()); - } - - public Builder timestamp(Date timestamp) { - this.timestamp = timestamp; - return this; - } - - public Builder open(BigDecimal open) { - this.open = open; - return this; - } - - public Builder last(BigDecimal last) { - this.last = last; - return this; - } - - public Builder high(BigDecimal high) { - this.high = high; - return this; - } - - public Builder low(BigDecimal low) { - this.low = low; - return this; - } - - public Builder close(BigDecimal close) { - this.close = close; - return this; - } - - public Builder volume(BigDecimal volume) { - this.volume = volume; - return this; - } - - public Builder quotaVolume(BigDecimal quotaVolume) { - this.quotaVolume = quotaVolume; - return this; - } - - public Builder vwap(BigDecimal vwap) { - this.vwap = vwap; - return this; - } - - public Builder bid(BigDecimal bid) { - this.bid = bid; - return this; - } - - public Builder bidSize(BigDecimal bidSize) { - this.bidSize = bidSize; - return this; - } - - public Builder ask(BigDecimal ask) { - this.ask = ask; - return this; - } - - public Builder askSize(BigDecimal askSize) { - this.askSize = askSize; - return this; - } - - public CandleStick build() { - return new CandleStick(timestamp, open, last, high, low, close, volume, quotaVolume, - vwap, bid, bidSize, ask, askSize); - } + public CandleStick build() { + return new CandleStick( + timestamp, + open, + last, + high, + low, + close, + volume, + quotaVolume, + vwap, + bid, + bidSize, + ask, + askSize); } + } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/CandleStickData.java b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/CandleStickData.java index dd34ef62fa6..bf3fea9d488 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/CandleStickData.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/CandleStickData.java @@ -1,26 +1,25 @@ package org.knowm.xchange.dto.marketdata; -import org.knowm.xchange.instrument.Instrument; - import java.io.Serializable; import java.util.Collections; import java.util.List; +import org.knowm.xchange.instrument.Instrument; public class CandleStickData implements Serializable { - private final Instrument instrument; - private final List candleSticks; + private final Instrument instrument; + private final List candleSticks; - public CandleStickData(Instrument instrument, List candleSticks) { - this.instrument = instrument; - this.candleSticks = candleSticks; - } + public CandleStickData(Instrument instrument, List candleSticks) { + this.instrument = instrument; + this.candleSticks = candleSticks; + } - public Instrument getInstrument() { - return instrument; - } + public Instrument getInstrument() { + return instrument; + } - public List getCandleSticks() { - return Collections.unmodifiableList(candleSticks); - } + public List getCandleSticks() { + return Collections.unmodifiableList(candleSticks); + } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/FundingRate.java b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/FundingRate.java index 58bbb63dee9..91cc71623eb 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/FundingRate.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/FundingRate.java @@ -1,92 +1,92 @@ package org.knowm.xchange.dto.marketdata; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.ToString; -import org.knowm.xchange.instrument.Instrument; - import java.math.BigDecimal; import java.time.Instant; import java.util.Date; import java.util.concurrent.TimeUnit; +import lombok.Getter; +import lombok.ToString; +import org.knowm.xchange.instrument.Instrument; @Getter @ToString public class FundingRate { - private final Instrument instrument; - private final BigDecimal fundingRate1h; - private final BigDecimal fundingRate8h; - private final Date fundingRateDate; - private final long fundingRateEffectiveInMinutes; - - public FundingRate( - @JsonProperty("instrument") Instrument instrument, - @JsonProperty("fundingRate1h") BigDecimal fundingRate1h, - @JsonProperty("fundingRate8h") BigDecimal fundingRate8h, - @JsonProperty("fundingRateDate") Date fundingRateDate, - @JsonProperty("fundingRateEffectiveInMinutes") long fundingRateEffectiveInMinutes) { - this.instrument = instrument; - this.fundingRate1h = fundingRate1h; - this.fundingRate8h = fundingRate8h; - this.fundingRateDate = fundingRateDate; - this.fundingRateEffectiveInMinutes = (fundingRateEffectiveInMinutes == 0 && fundingRateDate != null) - ? calculateFundingRateEffectiveInMinutes(fundingRateDate) - : fundingRateEffectiveInMinutes; + private final Instrument instrument; + private final BigDecimal fundingRate1h; + private final BigDecimal fundingRate8h; + private final Date fundingRateDate; + private final long fundingRateEffectiveInMinutes; + + public FundingRate( + @JsonProperty("instrument") Instrument instrument, + @JsonProperty("fundingRate1h") BigDecimal fundingRate1h, + @JsonProperty("fundingRate8h") BigDecimal fundingRate8h, + @JsonProperty("fundingRateDate") Date fundingRateDate, + @JsonProperty("fundingRateEffectiveInMinutes") long fundingRateEffectiveInMinutes) { + this.instrument = instrument; + this.fundingRate1h = fundingRate1h; + this.fundingRate8h = fundingRate8h; + this.fundingRateDate = fundingRateDate; + this.fundingRateEffectiveInMinutes = + (fundingRateEffectiveInMinutes == 0 && fundingRateDate != null) + ? calculateFundingRateEffectiveInMinutes(fundingRateDate) + : fundingRateEffectiveInMinutes; + } + + public static class Builder { + + protected Instrument instrument; + protected BigDecimal fundingRate1h; + protected BigDecimal fundingRate8h; + protected Date fundingRateDate; + protected long fundingRateEffectiveInMinutes; + + public FundingRate.Builder instrument(Instrument instrument) { + + this.instrument = instrument; + return this; } - public static class Builder { - - protected Instrument instrument; - protected BigDecimal fundingRate1h; - protected BigDecimal fundingRate8h; - protected Date fundingRateDate; - protected long fundingRateEffectiveInMinutes; + public FundingRate.Builder fundingRate1h(BigDecimal fundingRate1h) { - public FundingRate.Builder instrument(Instrument instrument) { - - this.instrument = instrument; - return this; - } - - public FundingRate.Builder fundingRate1h(BigDecimal fundingRate1h) { - - this.fundingRate1h = fundingRate1h; - return this; - } + this.fundingRate1h = fundingRate1h; + return this; + } - public FundingRate.Builder fundingRate8h(BigDecimal fundingRate8h) { + public FundingRate.Builder fundingRate8h(BigDecimal fundingRate8h) { - this.fundingRate8h = fundingRate8h; - return this; - } + this.fundingRate8h = fundingRate8h; + return this; + } - public FundingRate.Builder fundingRateDate(Date fundingRateDate) { + public FundingRate.Builder fundingRateDate(Date fundingRateDate) { - this.fundingRateDate = fundingRateDate; - return this; - } + this.fundingRateDate = fundingRateDate; + return this; + } - public FundingRate.Builder fundingRateEffectiveInMinutes(long fundingRateEffectiveInMinutes) { - this.fundingRateEffectiveInMinutes = fundingRateEffectiveInMinutes; - return this; - } + public FundingRate.Builder fundingRateEffectiveInMinutes(long fundingRateEffectiveInMinutes) { + this.fundingRateEffectiveInMinutes = fundingRateEffectiveInMinutes; + return this; + } - public FundingRate build() { + public FundingRate build() { - return new FundingRate( - instrument, - fundingRate1h, - fundingRate8h, - fundingRateDate, - (fundingRateEffectiveInMinutes == 0 && fundingRateDate != null) - ? calculateFundingRateEffectiveInMinutes(fundingRateDate) - : fundingRateEffectiveInMinutes - ); - } + return new FundingRate( + instrument, + fundingRate1h, + fundingRate8h, + fundingRateDate, + (fundingRateEffectiveInMinutes == 0 && fundingRateDate != null) + ? calculateFundingRateEffectiveInMinutes(fundingRateDate) + : fundingRateEffectiveInMinutes); } + } - private static long calculateFundingRateEffectiveInMinutes(Date fundingRateDate){ - return TimeUnit.MILLISECONDS.toMinutes(fundingRateDate.getTime()-Date.from(Instant.now()).getTime()); - } + private static long calculateFundingRateEffectiveInMinutes(Date fundingRateDate) { + return TimeUnit.MILLISECONDS.toMinutes( + fundingRateDate.getTime() - Date.from(Instant.now()).getTime()); + } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/FundingRates.java b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/FundingRates.java index 42b9c0fb284..6755d4a7721 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/FundingRates.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/FundingRates.java @@ -1,19 +1,17 @@ package org.knowm.xchange.dto.marketdata; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import lombok.Getter; import lombok.ToString; -import java.util.List; - @Getter @ToString public class FundingRates { - private final List fundingRates; + private final List fundingRates; - public FundingRates( - @JsonProperty("fundingRates") List fundingRates) { - this.fundingRates = fundingRates; - } + public FundingRates(@JsonProperty("fundingRates") List fundingRates) { + this.fundingRates = fundingRates; + } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/OrderBook.java b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/OrderBook.java index bc594dc83a0..e22013554c6 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/OrderBook.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/OrderBook.java @@ -21,8 +21,10 @@ public final class OrderBook implements Serializable { /** the asks */ private final List asks; + /** the bids */ private final List bids; + /** the timestamp of the orderbook according to the exchange's server, null if not provided */ private Date timeStamp; diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/Ticker.java b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/Ticker.java index 490d3df35a5..d25fd2e97d4 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/Ticker.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/Ticker.java @@ -34,6 +34,7 @@ public final class Ticker implements Serializable { private final BigDecimal vwap; private final BigDecimal volume; private final BigDecimal quoteVolume; + /** the timestamp of the ticker according to the exchange's server, null if not provided */ private final Date timestamp; @@ -282,7 +283,9 @@ public Builder instrument(Instrument instrument) { return this; } - /** @deprecated Use {@link #instrument(Instrument)} */ + /** + * @deprecated Use {@link #instrument(Instrument)} + */ @Deprecated public Builder currencyPair(CurrencyPair currencyPair) { return instrument(currencyPair); diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/Trades.java b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/Trades.java index d4e7678313e..39afc5fe173 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/Trades.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/marketdata/Trades.java @@ -1,10 +1,9 @@ package org.knowm.xchange.dto.marketdata; -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; - import static org.knowm.xchange.dto.marketdata.Trades.TradeSortType.SortByID; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; import java.math.BigInteger; import java.util.ArrayList; @@ -43,8 +42,9 @@ public Trades(List trades) { * @param tradeSortType Trade sort type */ @JsonCreator - public Trades(@JsonProperty("trades") List trades, - @JsonProperty("tradeSortType") TradeSortType tradeSortType) { + public Trades( + @JsonProperty("trades") List trades, + @JsonProperty("tradeSortType") TradeSortType tradeSortType) { this(trades, 0L, tradeSortType); } @@ -90,13 +90,17 @@ public Trades( } } - /** @return A list of trades ordered by id */ + /** + * @return A list of trades ordered by id + */ public List getTrades() { return trades; } - /** @return a Unique ID for the fetched trades */ + /** + * @return a Unique ID for the fetched trades + */ public long getlastID() { return lastID; diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/meta/ExchangeMetaData.java b/xchange-core/src/main/java/org/knowm/xchange/dto/meta/ExchangeMetaData.java index 7226ac907e2..49521f7e48e 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/meta/ExchangeMetaData.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/meta/ExchangeMetaData.java @@ -2,10 +2,9 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import java.io.Serializable; import java.util.Map; - -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import lombok.Getter; import lombok.ToString; import org.knowm.xchange.currency.Currency; @@ -17,8 +16,8 @@ * This class is loaded during creation of the Exchange and is intended to hold both data that is * readily available from an HTTP API request at an exchange extended by semi-static data that is * not available from an HTTP API, but is still important information to have. Examples include - * currency pairs, max polling rates, scaling factors, etc. For more info see: - * ... + * currency pairs, max polling rates, scaling factors, etc. For more info see: ... * *

This class is used only in the API by the classes that merge metadata stored in custom JSON * file and online info from the remote exchange. @@ -93,5 +92,4 @@ public static Long getPollDelayMillis(RateLimit[] rateLimits) { public String toJSONString() { return ObjectMapperHelper.toJSON(this); } - } diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/meta/InstrumentMetaData.java b/xchange-core/src/main/java/org/knowm/xchange/dto/meta/InstrumentMetaData.java index 1e27380d2d0..5e91a357064 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/meta/InstrumentMetaData.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/meta/InstrumentMetaData.java @@ -2,186 +2,188 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.ToString; -import org.knowm.xchange.currency.Currency; - import java.io.Serializable; import java.math.BigDecimal; import java.util.Arrays; +import lombok.Getter; +import lombok.ToString; +import org.knowm.xchange.currency.Currency; @JsonInclude(JsonInclude.Include.NON_NULL) @Getter @ToString public class InstrumentMetaData implements Serializable { - /** Trading fee (fraction) */ - private final BigDecimal tradingFee; - - /** Trading fee tiers by volume (fraction). Sorted in ascending order by quantity */ - private final FeeTier[] feeTiers; - - /** Minimum trade amount */ - private final BigDecimal minimumAmount; - - /** Maximum trade amount */ - private final BigDecimal maximumAmount; - - /** Minimum trade amount */ - private final BigDecimal counterMinimumAmount; - - /** Maximum trade amount */ - private final BigDecimal counterMaximumAmount; - - /** Decimal places for counter amount */ - private final Integer priceScale; - - /** Decimal places for volume amount */ - private final Integer volumeScale; - - /** Amount step size. If set, any amounts must be a multiple of this */ - private final BigDecimal amountStepSize; - - /** Price step size. If set, any price must be a multiple of this */ - private final BigDecimal priceStepSize; - - /** Currency that will be used to change for this trade. */ - private final Currency tradingFeeCurrency; - - /** Is market order type allowed on this pair. */ - private final boolean marketOrderEnabled; - private final BigDecimal contractValue; - - public InstrumentMetaData( - @JsonProperty("trading_fee") BigDecimal tradingFee, - @JsonProperty("fee_tiers") FeeTier[] feeTiers, - @JsonProperty("min_amount") BigDecimal minimumAmount, - @JsonProperty("max_amount") BigDecimal maximumAmount, - @JsonProperty("counter_min_amount") BigDecimal counterMinimumAmount, - @JsonProperty("counter_max_amount") BigDecimal counterMaximumAmount, - @JsonProperty("price_scale") Integer priceScale, - @JsonProperty("volume_scale") Integer volumeScale, - @JsonProperty("amount_step_size") BigDecimal amountStepSize, - @JsonProperty("price_step_size") BigDecimal priceStepSize, - @JsonProperty("trading_fee_currency") Currency tradingFeeCurrency, - @JsonProperty("market_order_enabled") boolean marketOrderEnabled, - @JsonProperty("contract_value") BigDecimal contractValue) { - this.tradingFee = tradingFee; - if (feeTiers != null) { - Arrays.sort(feeTiers); - } - this.feeTiers = feeTiers; - this.minimumAmount = (minimumAmount != null) ? minimumAmount.stripTrailingZeros(): null; - this.maximumAmount = (maximumAmount != null) ? maximumAmount.stripTrailingZeros(): null; - this.counterMinimumAmount = (counterMinimumAmount != null) ? counterMinimumAmount.stripTrailingZeros(): null; - this.counterMaximumAmount = (counterMaximumAmount != null) ? counterMaximumAmount.stripTrailingZeros(): null; - this.priceScale = priceScale; - this.volumeScale = volumeScale; - this.amountStepSize = (amountStepSize != null) ? amountStepSize.stripTrailingZeros(): null; - this.priceStepSize = (priceStepSize != null) ? priceStepSize.stripTrailingZeros(): null; - this.tradingFeeCurrency = tradingFeeCurrency; - this.marketOrderEnabled = marketOrderEnabled; - this.contractValue = contractValue; + /** Trading fee (fraction) */ + private final BigDecimal tradingFee; + + /** Trading fee tiers by volume (fraction). Sorted in ascending order by quantity */ + private final FeeTier[] feeTiers; + + /** Minimum trade amount */ + private final BigDecimal minimumAmount; + + /** Maximum trade amount */ + private final BigDecimal maximumAmount; + + /** Minimum trade amount */ + private final BigDecimal counterMinimumAmount; + + /** Maximum trade amount */ + private final BigDecimal counterMaximumAmount; + + /** Decimal places for counter amount */ + private final Integer priceScale; + + /** Decimal places for volume amount */ + private final Integer volumeScale; + + /** Amount step size. If set, any amounts must be a multiple of this */ + private final BigDecimal amountStepSize; + + /** Price step size. If set, any price must be a multiple of this */ + private final BigDecimal priceStepSize; + + /** Currency that will be used to change for this trade. */ + private final Currency tradingFeeCurrency; + + /** Is market order type allowed on this pair. */ + private final boolean marketOrderEnabled; + + private final BigDecimal contractValue; + + public InstrumentMetaData( + @JsonProperty("trading_fee") BigDecimal tradingFee, + @JsonProperty("fee_tiers") FeeTier[] feeTiers, + @JsonProperty("min_amount") BigDecimal minimumAmount, + @JsonProperty("max_amount") BigDecimal maximumAmount, + @JsonProperty("counter_min_amount") BigDecimal counterMinimumAmount, + @JsonProperty("counter_max_amount") BigDecimal counterMaximumAmount, + @JsonProperty("price_scale") Integer priceScale, + @JsonProperty("volume_scale") Integer volumeScale, + @JsonProperty("amount_step_size") BigDecimal amountStepSize, + @JsonProperty("price_step_size") BigDecimal priceStepSize, + @JsonProperty("trading_fee_currency") Currency tradingFeeCurrency, + @JsonProperty("market_order_enabled") boolean marketOrderEnabled, + @JsonProperty("contract_value") BigDecimal contractValue) { + this.tradingFee = tradingFee; + if (feeTiers != null) { + Arrays.sort(feeTiers); + } + this.feeTiers = feeTiers; + this.minimumAmount = (minimumAmount != null) ? minimumAmount.stripTrailingZeros() : null; + this.maximumAmount = (maximumAmount != null) ? maximumAmount.stripTrailingZeros() : null; + this.counterMinimumAmount = + (counterMinimumAmount != null) ? counterMinimumAmount.stripTrailingZeros() : null; + this.counterMaximumAmount = + (counterMaximumAmount != null) ? counterMaximumAmount.stripTrailingZeros() : null; + this.priceScale = priceScale; + this.volumeScale = volumeScale; + this.amountStepSize = (amountStepSize != null) ? amountStepSize.stripTrailingZeros() : null; + this.priceStepSize = (priceStepSize != null) ? priceStepSize.stripTrailingZeros() : null; + this.tradingFeeCurrency = tradingFeeCurrency; + this.marketOrderEnabled = marketOrderEnabled; + this.contractValue = contractValue; + } + + public static class Builder { + private BigDecimal tradingFee; + private FeeTier[] feeTiers; + private BigDecimal minimumAmount; + private BigDecimal maximumAmount; + private BigDecimal counterMinimumAmount; + private BigDecimal counterMaximumAmount; + private Integer priceScale; + private Integer volumeScale; + private BigDecimal amountStepSize; + private BigDecimal priceStepSize; + private Currency tradingFeeCurrency; + private boolean marketOrderEnabled; + + private BigDecimal contractValue; + + public InstrumentMetaData.Builder tradingFee(BigDecimal tradingFee) { + this.tradingFee = tradingFee; + return this; } + public InstrumentMetaData.Builder feeTiers(FeeTier[] feeTiers) { + this.feeTiers = feeTiers; + return this; + } + public InstrumentMetaData.Builder minimumAmount(BigDecimal minimumAmount) { + this.minimumAmount = (minimumAmount != null) ? minimumAmount.stripTrailingZeros() : null; + return this; + } + + public InstrumentMetaData.Builder maximumAmount(BigDecimal maximumAmount) { + this.maximumAmount = (maximumAmount != null) ? maximumAmount.stripTrailingZeros() : null; + return this; + } + + public InstrumentMetaData.Builder counterMinimumAmount(BigDecimal counterMinimumAmount) { + this.counterMinimumAmount = + (counterMinimumAmount != null) ? counterMinimumAmount.stripTrailingZeros() : null; + return this; + } + + public InstrumentMetaData.Builder counterMaximumAmount(BigDecimal counterMaximumAmount) { + this.counterMaximumAmount = + (counterMaximumAmount != null) ? counterMaximumAmount.stripTrailingZeros() : null; + return this; + } + + public InstrumentMetaData.Builder priceScale(Integer priceScale) { + this.priceScale = priceScale; + return this; + } + + public InstrumentMetaData.Builder volumeScale(Integer volumeScale) { + this.volumeScale = volumeScale; + return this; + } + + public InstrumentMetaData.Builder amountStepSize(BigDecimal amountStepSize) { + this.amountStepSize = (amountStepSize != null) ? amountStepSize.stripTrailingZeros() : null; + return this; + } + + public InstrumentMetaData.Builder priceStepSize(BigDecimal priceStepSize) { + this.priceStepSize = (priceStepSize != null) ? priceStepSize.stripTrailingZeros() : null; + return this; + } + + public InstrumentMetaData.Builder tradingFeeCurrency(Currency tradingFeeCurrency) { + this.tradingFeeCurrency = tradingFeeCurrency; + return this; + } + + public InstrumentMetaData.Builder marketOrderEnabled(boolean marketOrderEnabled) { + this.marketOrderEnabled = marketOrderEnabled; + return this; + } + + public InstrumentMetaData.Builder contractValue(BigDecimal contractValue) { + this.contractValue = contractValue; + return this; + } - public static class Builder{ - private BigDecimal tradingFee; - private FeeTier[] feeTiers; - private BigDecimal minimumAmount; - private BigDecimal maximumAmount; - private BigDecimal counterMinimumAmount; - private BigDecimal counterMaximumAmount; - private Integer priceScale; - private Integer volumeScale; - private BigDecimal amountStepSize; - private BigDecimal priceStepSize; - private Currency tradingFeeCurrency; - private boolean marketOrderEnabled; - - private BigDecimal contractValue; - - public InstrumentMetaData.Builder tradingFee(BigDecimal tradingFee) { - this.tradingFee = tradingFee; - return this; - } - - public InstrumentMetaData.Builder feeTiers(FeeTier[] feeTiers) { - this.feeTiers = feeTiers; - return this; - } - - public InstrumentMetaData.Builder minimumAmount(BigDecimal minimumAmount) { - this.minimumAmount = (minimumAmount != null) ? minimumAmount.stripTrailingZeros(): null; - return this; - } - - public InstrumentMetaData.Builder maximumAmount(BigDecimal maximumAmount) { - this.maximumAmount = (maximumAmount != null) ? maximumAmount.stripTrailingZeros(): null; - return this; - } - - public InstrumentMetaData.Builder counterMinimumAmount(BigDecimal counterMinimumAmount) { - this.counterMinimumAmount = (counterMinimumAmount != null) ? counterMinimumAmount.stripTrailingZeros(): null; - return this; - } - - public InstrumentMetaData.Builder counterMaximumAmount(BigDecimal counterMaximumAmount) { - this.counterMaximumAmount = (counterMaximumAmount != null) ? counterMaximumAmount.stripTrailingZeros(): null; - return this; - } - - public InstrumentMetaData.Builder priceScale(Integer priceScale) { - this.priceScale = priceScale; - return this; - } - - public InstrumentMetaData.Builder volumeScale(Integer volumeScale) { - this.volumeScale = volumeScale; - return this; - } - - public InstrumentMetaData.Builder amountStepSize(BigDecimal amountStepSize) { - this.amountStepSize = (amountStepSize != null) ? amountStepSize.stripTrailingZeros(): null; - return this; - } - - public InstrumentMetaData.Builder priceStepSize(BigDecimal priceStepSize) { - this.priceStepSize = (priceStepSize != null) ? priceStepSize.stripTrailingZeros(): null; - return this; - } - - public InstrumentMetaData.Builder tradingFeeCurrency(Currency tradingFeeCurrency) { - this.tradingFeeCurrency = tradingFeeCurrency; - return this; - } - - public InstrumentMetaData.Builder marketOrderEnabled(boolean marketOrderEnabled) { - this.marketOrderEnabled = marketOrderEnabled; - return this; - } - - public InstrumentMetaData.Builder contractValue(BigDecimal contractValue) { - this.contractValue = contractValue; - return this; - } - - public InstrumentMetaData build() { - return new InstrumentMetaData( - tradingFee, - feeTiers, - minimumAmount, - maximumAmount, - counterMinimumAmount, - counterMaximumAmount, - priceScale, - volumeScale, - amountStepSize, - priceStepSize, - tradingFeeCurrency, - marketOrderEnabled, - contractValue); - } + public InstrumentMetaData build() { + return new InstrumentMetaData( + tradingFee, + feeTiers, + minimumAmount, + maximumAmount, + counterMinimumAmount, + counterMaximumAmount, + priceScale, + volumeScale, + amountStepSize, + priceStepSize, + tradingFeeCurrency, + marketOrderEnabled, + contractValue); } + } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/FixedRateLoanOrder.java b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/FixedRateLoanOrder.java index ed8c9c27aa3..b7715e9c4f9 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/FixedRateLoanOrder.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/FixedRateLoanOrder.java @@ -41,7 +41,9 @@ public FixedRateLoanOrder( this.rate = rate; } - /** @return The fixed rate of return for a day */ + /** + * @return The fixed rate of return for a day + */ public BigDecimal getRate() { return rate; diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/LimitOrder.java b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/LimitOrder.java index 407568df1cc..f5f609ad80b 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/LimitOrder.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/LimitOrder.java @@ -162,7 +162,9 @@ public LimitOrder( this.limitPrice = limitPrice; } - /** @return The limit price */ + /** + * @return The limit price + */ public BigDecimal getLimitPrice() { return limitPrice; diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/OpenOrders.java b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/OpenOrders.java index 729ee0045f8..f58e03524e9 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/OpenOrders.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/OpenOrders.java @@ -45,19 +45,25 @@ public OpenOrders( this.hiddenOrders = hiddenOrders; } - /** @return LimitOrders which are shown on the order book. */ + /** + * @return LimitOrders which are shown on the order book. + */ public List getOpenOrders() { return openOrders; } - /** @return All Orders which are shown on the order book. */ + /** + * @return All Orders which are shown on the order book. + */ public List getAllOpenOrders() { List allOpenOrders = new ArrayList<>(openOrders); allOpenOrders.addAll(hiddenOrders); return allOpenOrders; } - /** @return Orders which are not shown on the order book, such as untriggered stop orders. */ + /** + * @return Orders which are not shown on the order book, such as untriggered stop orders. + */ public List getHiddenOrders() { return hiddenOrders; } diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/StopOrder.java b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/StopOrder.java index 8b3693f0918..4c8a9cdb7b7 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/StopOrder.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/StopOrder.java @@ -32,6 +32,7 @@ public enum Intention { /** The stop price */ protected final BigDecimal stopPrice; + /** * The limit price this should be null if the stop order should be treated as a market order once * the stop price is hit @@ -268,19 +269,25 @@ public StopOrder( this.trailValue = trailValue; } - /** @return The stop price */ + /** + * @return The stop price + */ public BigDecimal getStopPrice() { return stopPrice; } - /** @return The limit price */ + /** + * @return The limit price + */ public BigDecimal getLimitPrice() { return limitPrice; } - /** @return The order intention */ + /** + * @return The order intention + */ public Intention getIntention() { return intention; } @@ -291,12 +298,16 @@ public BigDecimal getTrailValue() { @Override public String toString() { - return "StopOrder{" + - "stopPrice=" + stopPrice + - ", limitPrice=" + limitPrice + - ", intention=" + intention + - ", trailValue=" + trailValue + - '}'; + return "StopOrder{" + + "stopPrice=" + + stopPrice + + ", limitPrice=" + + limitPrice + + ", intention=" + + intention + + ", trailValue=" + + trailValue + + '}'; } @Override diff --git a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/UserTrades.java b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/UserTrades.java index 7c8b8787a77..b292fd81d68 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/dto/trade/UserTrades.java +++ b/xchange-core/src/main/java/org/knowm/xchange/dto/trade/UserTrades.java @@ -1,9 +1,8 @@ package org.knowm.xchange.dto.trade; -import java.util.List; - import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.knowm.xchange.dto.marketdata.Trades; public class UserTrades extends Trades { diff --git a/xchange-core/src/main/java/org/knowm/xchange/exceptions/CurrencyPairNotValidException.java b/xchange-core/src/main/java/org/knowm/xchange/exceptions/CurrencyPairNotValidException.java index 9b4012f4741..853a9ef380b 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/exceptions/CurrencyPairNotValidException.java +++ b/xchange-core/src/main/java/org/knowm/xchange/exceptions/CurrencyPairNotValidException.java @@ -47,7 +47,9 @@ public CurrencyPairNotValidException(CurrencyPair currencyPair) { this.currencyPair = currencyPair; } - /** @return The currency pair that caused the exception. */ + /** + * @return The currency pair that caused the exception. + */ public CurrencyPair getCurrencyPair() { return currencyPair; } diff --git a/xchange-core/src/main/java/org/knowm/xchange/exceptions/InstrumentNotValidException.java b/xchange-core/src/main/java/org/knowm/xchange/exceptions/InstrumentNotValidException.java index 48b3b44a407..42bf57376e2 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/exceptions/InstrumentNotValidException.java +++ b/xchange-core/src/main/java/org/knowm/xchange/exceptions/InstrumentNotValidException.java @@ -47,7 +47,9 @@ public InstrumentNotValidException(Instrument instrument) { this.instrument = instrument; } - /** @return The Instrument that caused the exception. */ + /** + * @return The Instrument that caused the exception. + */ public Instrument getInstrument() { return instrument; } diff --git a/xchange-core/src/main/java/org/knowm/xchange/instrument/Instrument.java b/xchange-core/src/main/java/org/knowm/xchange/instrument/Instrument.java index 2210a8b4725..7801ed83b74 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/instrument/Instrument.java +++ b/xchange-core/src/main/java/org/knowm/xchange/instrument/Instrument.java @@ -2,7 +2,6 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import java.io.Serializable; - import org.knowm.xchange.currency.Currency; import org.knowm.xchange.utils.jackson.InstrumentDeserializer; @@ -15,5 +14,6 @@ public abstract class Instrument implements Serializable { private static final long serialVersionUID = 414711266389792746L; public abstract Currency getBase(); + public abstract Currency getCounter(); } diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/BaseExchangeService.java b/xchange-core/src/main/java/org/knowm/xchange/service/BaseExchangeService.java index c660a253122..b4c300b4d74 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/BaseExchangeService.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/BaseExchangeService.java @@ -42,8 +42,7 @@ public void verifyOrder(MarketOrder marketOrder) { protected final void verifyOrder(Order order, ExchangeMetaData exchangeMetaData) { - InstrumentMetaData metaData = - exchangeMetaData.getInstruments().get(order.getCurrencyPair()); + InstrumentMetaData metaData = exchangeMetaData.getInstruments().get(order.getCurrencyPair()); if (metaData == null) { throw new IllegalArgumentException("Invalid CurrencyPair"); } diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/marketdata/MarketDataService.java b/xchange-core/src/main/java/org/knowm/xchange/service/marketdata/MarketDataService.java index 670cb4a227e..6583e59726a 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/marketdata/MarketDataService.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/marketdata/MarketDataService.java @@ -178,35 +178,37 @@ default Trades getTrades(Params params) throws IOException { throw new NotYetImplementedForExchangeException("getTrades"); } - /** * Get the CandleStickData for given currency between startDate to endDate. * * @param currencyPair currencyPair. * @param params Params for query, including start(e.g. march 2022.) and end date, period etc., - * @return The CandleStickData, null if some sort of error occurred. Implementers should log the error. + * @return The CandleStickData, null if some sort of error occurred. Implementers should log the + * error. * @throws ExchangeException - Indication that the exchange reported some kind of error with the - * request or response + * request or response * @throws NotAvailableFromExchangeException - Indication that the exchange does not support the - * requested function or data + * requested function or data * @throws NotYetImplementedForExchangeException - Indication that the exchange supports the - * requested function or data, but it has not yet been implemented + * requested function or data, but it has not yet been implemented * @throws IOException - Indication that a networking error occurred while fetching JSON data */ - default CandleStickData getCandleStickData(CurrencyPair currencyPair, CandleStickDataParams params) throws IOException { + default CandleStickData getCandleStickData( + CurrencyPair currencyPair, CandleStickDataParams params) throws IOException { throw new NotYetImplementedForExchangeException("getCandleStickData"); } /** * Get the FundingRates for all perpetual contracts of the platform. * - * @return The FundingRates, null if some sort of error occurred. Implementers should log the error. + * @return The FundingRates, null if some sort of error occurred. Implementers should log the + * error. * @throws ExchangeException - Indication that the exchange reported some kind of error with the - * request or response + * request or response * @throws NotAvailableFromExchangeException - Indication that the exchange does not support the - * requested function or data + * requested function or data * @throws NotYetImplementedForExchangeException - Indication that the exchange supports the - * requested function or data, but it has not yet been implemented + * requested function or data, but it has not yet been implemented * @throws IOException - Indication that a networking error occurred while fetching JSON data */ default FundingRates getFundingRates() throws IOException { @@ -217,13 +219,14 @@ default FundingRates getFundingRates() throws IOException { * Get the FundingRate for specific instrument. * * @param instrument Instrument to get the funding rate. - * @return The FundingRate, null if some sort of error occurred. Implementers should log the error. + * @return The FundingRate, null if some sort of error occurred. Implementers should log the + * error. * @throws ExchangeException - Indication that the exchange reported some kind of error with the - * request or response + * request or response * @throws NotAvailableFromExchangeException - Indication that the exchange does not support the - * requested function or data + * requested function or data * @throws NotYetImplementedForExchangeException - Indication that the exchange supports the - * requested function or data, but it has not yet been implemented + * requested function or data, but it has not yet been implemented * @throws IOException - Indication that a networking error occurred while fetching JSON data */ default FundingRate getFundingRate(Instrument instrument) throws IOException { diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/marketdata/params/InstrumentsParams.java b/xchange-core/src/main/java/org/knowm/xchange/service/marketdata/params/InstrumentsParams.java index 03306a51e23..97a0ccdab63 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/marketdata/params/InstrumentsParams.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/marketdata/params/InstrumentsParams.java @@ -3,6 +3,6 @@ import java.util.Collection; import org.knowm.xchange.instrument.Instrument; -public interface InstrumentsParams extends Params{ +public interface InstrumentsParams extends Params { Collection getInstruments(); } diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/trade/TradeService.java b/xchange-core/src/main/java/org/knowm/xchange/service/trade/TradeService.java index ab176181530..1af8e355bb6 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/trade/TradeService.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/trade/TradeService.java @@ -101,9 +101,10 @@ default OpenPositions getOpenPositions() throws IOException { /** * Place a market order * - *

If your orders amount does to meet the restrictions dictated by {@link org.knowm.xchange.dto.meta.InstrumentMetaData} - * then the exchange will reject your order. Use {@link org.knowm.xchange.utils.OrderValuesHelper} - * to validate and / or adjust it while you'r building an order. + *

If your orders amount does to meet the restrictions dictated by {@link + * org.knowm.xchange.dto.meta.InstrumentMetaData} then the exchange will reject your order. Use + * {@link org.knowm.xchange.utils.OrderValuesHelper} to validate and / or adjust it while you'r + * building an order. * * @param marketOrder * @return the order ID @@ -124,9 +125,9 @@ default String placeMarketOrder(MarketOrder marketOrder) throws IOException { * Place a limit order * *

If your orders amount or limit price does to meet the restrictions dictated by {@link - * org.knowm.xchange.dto.meta.InstrumentMetaData} then the exchange will reject your order. Use {@link - * org.knowm.xchange.utils.OrderValuesHelper} to validate and / or adjust those values while you'r - * building an order. + * org.knowm.xchange.dto.meta.InstrumentMetaData} then the exchange will reject your order. Use + * {@link org.knowm.xchange.utils.OrderValuesHelper} to validate and / or adjust those values + * while you'r building an order. * * @param limitOrder * @return the order ID @@ -147,9 +148,9 @@ default String placeLimitOrder(LimitOrder limitOrder) throws IOException { * Place a stop order * *

If your orders amount or spot price does to meet the restrictions dictated by {@link - * org.knowm.xchange.dto.meta.InstrumentMetaData} then the exchange will reject your order. Use {@link - * org.knowm.xchange.utils.OrderValuesHelper} to validate and / or adjust those values while you'r - * building an order. + * org.knowm.xchange.dto.meta.InstrumentMetaData} then the exchange will reject your order. Use + * {@link org.knowm.xchange.utils.OrderValuesHelper} to validate and / or adjust those values + * while you'r building an order. * * @param stopOrder * @return the order ID diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/CandleStickDataParams.java b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/CandleStickDataParams.java index fd9d2b51fb0..52d7862436b 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/CandleStickDataParams.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/CandleStickDataParams.java @@ -1,4 +1,3 @@ package org.knowm.xchange.service.trade.params; -public interface CandleStickDataParams { -} +public interface CandleStickDataParams {} diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCancelAllOrdersByInstrument.java b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCancelAllOrdersByInstrument.java index 3fe6a2de755..fa0e5a8faa3 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCancelAllOrdersByInstrument.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCancelAllOrdersByInstrument.java @@ -2,16 +2,17 @@ import org.knowm.xchange.instrument.Instrument; -public class DefaultCancelAllOrdersByInstrument implements CancelOrderByInstrument, CancelAllOrders{ +public class DefaultCancelAllOrdersByInstrument + implements CancelOrderByInstrument, CancelAllOrders { - private final Instrument instrument; + private final Instrument instrument; - public DefaultCancelAllOrdersByInstrument(Instrument instrument) { - this.instrument = instrument; - } + public DefaultCancelAllOrdersByInstrument(Instrument instrument) { + this.instrument = instrument; + } - @Override - public Instrument getInstrument() { - return instrument; - } + @Override + public Instrument getInstrument() { + return instrument; + } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCandleStickParam.java b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCandleStickParam.java index 10072f49624..2ae80982a9c 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCandleStickParam.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCandleStickParam.java @@ -3,25 +3,25 @@ import java.util.Date; public class DefaultCandleStickParam implements CandleStickDataParams { - private final Date startDate; - private final Date endDate; - private final long periodInSecs; + private final Date startDate; + private final Date endDate; + private final long periodInSecs; - public DefaultCandleStickParam(Date startDate, Date endDate, long periodInSecs) { - this.startDate = startDate; - this.endDate = endDate; - this.periodInSecs = periodInSecs; - } + public DefaultCandleStickParam(Date startDate, Date endDate, long periodInSecs) { + this.startDate = startDate; + this.endDate = endDate; + this.periodInSecs = periodInSecs; + } - public Date getStartDate() { - return startDate; - } + public Date getStartDate() { + return startDate; + } - public Date getEndDate() { - return endDate; - } + public Date getEndDate() { + return endDate; + } - public long getPeriodInSecs() { - return periodInSecs; - } + public long getPeriodInSecs() { + return periodInSecs; + } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCandleStickParamWithLimit.java b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCandleStickParamWithLimit.java index c1027cdaf51..ed2284eaa99 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCandleStickParamWithLimit.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultCandleStickParamWithLimit.java @@ -3,15 +3,15 @@ import java.util.Date; public class DefaultCandleStickParamWithLimit extends DefaultCandleStickParam { - private final int limit; + private final int limit; - public DefaultCandleStickParamWithLimit(Date startDate, Date endDate, long periodInMillis, - int limit) { - super(startDate, endDate, periodInMillis); - this.limit = limit; - } + public DefaultCandleStickParamWithLimit( + Date startDate, Date endDate, long periodInMillis, int limit) { + super(startDate, endDate, periodInMillis); + this.limit = limit; + } - public int getLimit() { - return limit; - } + public int getLimit() { + return limit; + } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultTradeHistoryParamPaging.java b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultTradeHistoryParamPaging.java index e95ece751a8..2845191092b 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultTradeHistoryParamPaging.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultTradeHistoryParamPaging.java @@ -4,6 +4,7 @@ public class DefaultTradeHistoryParamPaging implements TradeHistoryParamPaging { private Integer pageLength; + /** 0-based page number */ private Integer pageNumber; @@ -13,7 +14,9 @@ public DefaultTradeHistoryParamPaging(Integer pageLength) { this(pageLength, 0); } - /** @param pageNumber 0-based page number */ + /** + * @param pageNumber 0-based page number + */ public DefaultTradeHistoryParamPaging(Integer pageLength, Integer pageNumber) { this.pageLength = pageLength; diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultWithdrawFundsParams.java b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultWithdrawFundsParams.java index 566b18af5cc..c5f0842f545 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultWithdrawFundsParams.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/DefaultWithdrawFundsParams.java @@ -28,8 +28,8 @@ public DefaultWithdrawFundsParams(AddressWithTag address, Currency currency, Big this(address, currency, amount, null); } - public DefaultWithdrawFundsParams(String address, Currency currency, BigDecimal amount, - BigDecimal commission) { + public DefaultWithdrawFundsParams( + String address, Currency currency, BigDecimal amount, BigDecimal commission) { this.address = address; this.addressTag = null; this.currency = currency; @@ -37,8 +37,8 @@ public DefaultWithdrawFundsParams(String address, Currency currency, BigDecimal this.commission = commission; } - public DefaultWithdrawFundsParams(AddressWithTag address, Currency currency, BigDecimal amount, - BigDecimal commission) { + public DefaultWithdrawFundsParams( + AddressWithTag address, Currency currency, BigDecimal amount, BigDecimal commission) { this.address = address.getAddress(); this.addressTag = address.getAddressTag(); this.currency = currency; @@ -46,13 +46,16 @@ public DefaultWithdrawFundsParams(AddressWithTag address, Currency currency, Big this.commission = commission; } - public DefaultWithdrawFundsParams(String address, String addressTag, Currency currency, - BigDecimal amount, BigDecimal commission) { + public DefaultWithdrawFundsParams( + String address, + String addressTag, + Currency currency, + BigDecimal amount, + BigDecimal commission) { this.address = address; this.addressTag = addressTag; this.currency = currency; this.amount = amount; this.commission = commission; } - } diff --git a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/orders/DefaultOpenOrdersParamInstrument.java b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/orders/DefaultOpenOrdersParamInstrument.java index 34a07337adf..98883c0ed31 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/orders/DefaultOpenOrdersParamInstrument.java +++ b/xchange-core/src/main/java/org/knowm/xchange/service/trade/params/orders/DefaultOpenOrdersParamInstrument.java @@ -3,7 +3,6 @@ import java.util.ArrayList; import java.util.List; import org.knowm.xchange.Exchange; -import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.instrument.Instrument; public class DefaultOpenOrdersParamInstrument implements OpenOrdersParamInstrument { diff --git a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/BtcToSatoshi.java b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/BtcToSatoshi.java index 15247b545c5..b8e38f0c312 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/BtcToSatoshi.java +++ b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/BtcToSatoshi.java @@ -6,7 +6,9 @@ import java.io.IOException; import java.math.BigDecimal; -/** @author timmolter */ +/** + * @author timmolter + */ public class BtcToSatoshi extends JsonSerializer { @Override diff --git a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/InstrumentMapDeserializer.java b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/InstrumentMapDeserializer.java index 4a716927b57..4ea19367cc4 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/InstrumentMapDeserializer.java +++ b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/InstrumentMapDeserializer.java @@ -8,15 +8,15 @@ public class InstrumentMapDeserializer extends KeyDeserializer { - @Override - public Object deserializeKey(String s, DeserializationContext deserializationContext) { - long count = s.chars().filter(ch -> ch == '/').count(); - // CurrencyPair (Base/Counter) i.e. BTC/USD - if (count == 1) return new CurrencyPair(s); - // Futures/Swaps (Base/Counter/Prompt) i.e. BTC/USD/200925 - if (count == 2) return new FuturesContract(s); - // Options (Base/Counter/Prompt/StrikePrice/Put?Call) i.e. BTC/USD/200925/8956.67/P - if (count == 4) return new OptionsContract(s); - else return null; - } + @Override + public Object deserializeKey(String s, DeserializationContext deserializationContext) { + long count = s.chars().filter(ch -> ch == '/').count(); + // CurrencyPair (Base/Counter) i.e. BTC/USD + if (count == 1) return new CurrencyPair(s); + // Futures/Swaps (Base/Counter/Prompt) i.e. BTC/USD/200925 + if (count == 2) return new FuturesContract(s); + // Options (Base/Counter/Prompt/StrikePrice/Put?Call) i.e. BTC/USD/200925/8956.67/P + if (count == 4) return new OptionsContract(s); + else return null; + } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/MillisecTimestampDeserializer.java b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/MillisecTimestampDeserializer.java index 019e1827f5f..b495c7ee283 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/MillisecTimestampDeserializer.java +++ b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/MillisecTimestampDeserializer.java @@ -6,7 +6,9 @@ import java.io.IOException; import java.util.Date; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class MillisecTimestampDeserializer extends JsonDeserializer { @Override diff --git a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/SatoshiToBtc.java b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/SatoshiToBtc.java index f906e0f9e06..8f70467901e 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/SatoshiToBtc.java +++ b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/SatoshiToBtc.java @@ -6,7 +6,9 @@ import java.io.IOException; import java.math.BigDecimal; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class SatoshiToBtc extends JsonDeserializer { @Override diff --git a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/SqlUtcTimeDeserializer.java b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/SqlUtcTimeDeserializer.java index 5ac368de9ed..1cc7cbd4657 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/SqlUtcTimeDeserializer.java +++ b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/SqlUtcTimeDeserializer.java @@ -10,7 +10,9 @@ import java.util.Date; import java.util.TimeZone; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class SqlUtcTimeDeserializer extends JsonDeserializer { private SimpleDateFormat dateFormat; diff --git a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampDeserializer.java b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampDeserializer.java index ed887dee77f..cea5cba4df1 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampDeserializer.java +++ b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampDeserializer.java @@ -6,7 +6,9 @@ import java.io.IOException; import java.util.Date; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class UnixTimestampDeserializer extends JsonDeserializer { @Override diff --git a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampNanoSecondsDeserializer.java b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampNanoSecondsDeserializer.java index 7eb9ed8ab6e..60b491da4fd 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampNanoSecondsDeserializer.java +++ b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampNanoSecondsDeserializer.java @@ -9,15 +9,16 @@ import org.knowm.xchange.utils.DateUtils; /** - * Converts double that represents unit milliseconds timestamp to Date. - * e.g. "1657444151.611" is converted to "Sun Jul 10 11:09:11 CEST 2022" + * Converts double that represents unit milliseconds timestamp to Date. e.g. "1657444151.611" is + * converted to "Sun Jul 10 11:09:11 CEST 2022" */ public class UnixTimestampNanoSecondsDeserializer extends JsonDeserializer { @Override public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { String value = jp.getValueAsString(); - long valueWithMilliseconds = new BigDecimal(value).multiply(BigDecimal.valueOf(1000)).longValue(); + long valueWithMilliseconds = + new BigDecimal(value).multiply(BigDecimal.valueOf(1000)).longValue(); return DateUtils.fromUnixTimeWithMilliseconds(valueWithMilliseconds); } } diff --git a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampSerializer.java b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampSerializer.java index ec668961e68..947d9285a4d 100644 --- a/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampSerializer.java +++ b/xchange-core/src/main/java/org/knowm/xchange/utils/jackson/UnixTimestampSerializer.java @@ -6,7 +6,9 @@ import java.io.IOException; import java.util.Date; -/** @author timmolter */ +/** + * @author timmolter + */ public class UnixTimestampSerializer extends JsonSerializer { @Override diff --git a/xchange-core/src/test/java/org/knowm/xchange/ExchangeSpecificationTest.java b/xchange-core/src/test/java/org/knowm/xchange/ExchangeSpecificationTest.java index 7afe2d90975..673f0904546 100644 --- a/xchange-core/src/test/java/org/knowm/xchange/ExchangeSpecificationTest.java +++ b/xchange-core/src/test/java/org/knowm/xchange/ExchangeSpecificationTest.java @@ -23,5 +23,7 @@ */ package org.knowm.xchange; -/** @author walec51 */ +/** + * @author walec51 + */ public class ExchangeSpecificationTest {} diff --git a/xchange-core/src/test/java/org/knowm/xchange/dto/account/OpenPositionsTest.java b/xchange-core/src/test/java/org/knowm/xchange/dto/account/OpenPositionsTest.java index 00329af4eae..60dfd458e93 100644 --- a/xchange-core/src/test/java/org/knowm/xchange/dto/account/OpenPositionsTest.java +++ b/xchange-core/src/test/java/org/knowm/xchange/dto/account/OpenPositionsTest.java @@ -1,15 +1,14 @@ package org.knowm.xchange.dto.account; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Test; -import org.knowm.xchange.currency.CurrencyPair; - import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import org.junit.Test; +import org.knowm.xchange.currency.CurrencyPair; public class OpenPositionsTest { diff --git a/xchange-core/src/test/java/org/knowm/xchange/dto/account/WalletTest.java b/xchange-core/src/test/java/org/knowm/xchange/dto/account/WalletTest.java index 50002a30454..0128e10431b 100644 --- a/xchange-core/src/test/java/org/knowm/xchange/dto/account/WalletTest.java +++ b/xchange-core/src/test/java/org/knowm/xchange/dto/account/WalletTest.java @@ -1,14 +1,13 @@ package org.knowm.xchange.dto.account; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Test; -import org.knowm.xchange.currency.Currency; - import java.math.BigDecimal; import java.util.*; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import org.junit.Test; +import org.knowm.xchange.currency.Currency; public class WalletTest { diff --git a/xchange-core/src/test/java/org/knowm/xchange/dto/meta/ExchangeMetaDataTest.java b/xchange-core/src/test/java/org/knowm/xchange/dto/meta/ExchangeMetaDataTest.java index e69b7d99527..bdc63f18f07 100644 --- a/xchange-core/src/test/java/org/knowm/xchange/dto/meta/ExchangeMetaDataTest.java +++ b/xchange-core/src/test/java/org/knowm/xchange/dto/meta/ExchangeMetaDataTest.java @@ -68,7 +68,8 @@ public void shouldDeserialize() throws IOException { assertThat(metaData.getInstruments().get(CurrencyPair.BTC_USD).getMaximumAmount()) .isEqualByComparingTo(new BigDecimal("100")); - assertThat(metaData.getInstruments().get(new FuturesContract("BTC/USD/USDT")).getMaximumAmount()) - .isEqualByComparingTo(BigDecimal.valueOf(1)); + assertThat( + metaData.getInstruments().get(new FuturesContract("BTC/USD/USDT")).getMaximumAmount()) + .isEqualByComparingTo(BigDecimal.valueOf(1)); } } diff --git a/xchange-core/src/test/java/org/knowm/xchange/dto/trade/StopOrderTest.java b/xchange-core/src/test/java/org/knowm/xchange/dto/trade/StopOrderTest.java index 3712fe6ad4d..9117f6d615a 100644 --- a/xchange-core/src/test/java/org/knowm/xchange/dto/trade/StopOrderTest.java +++ b/xchange-core/src/test/java/org/knowm/xchange/dto/trade/StopOrderTest.java @@ -79,7 +79,8 @@ public void testBuilderFrom() throws IOException { final StopOrder.Intention intention = StopOrder.Intention.TAKE_PROFIT; final BigDecimal trailValue = new BigDecimal("50"); - final StopOrder original = new StopOrder.Builder(type,currencyPair) + final StopOrder original = + new StopOrder.Builder(type, currencyPair) .originalAmount(originalAmount) .id(id) .timestamp(timestamp) @@ -118,7 +119,8 @@ public void testSerializeDeserialize() throws IOException { final StopOrder.Intention intention = StopOrder.Intention.TAKE_PROFIT; final BigDecimal trailValue = new BigDecimal("50"); - final StopOrder original = new StopOrder.Builder(type,currencyPair) + final StopOrder original = + new StopOrder.Builder(type, currencyPair) .originalAmount(originalAmount) .id(id) .timestamp(timestamp) diff --git a/xchange-core/src/test/java/org/knowm/xchange/dto/trade/UserTradesTest.java b/xchange-core/src/test/java/org/knowm/xchange/dto/trade/UserTradesTest.java index e4085d57cb9..32a433c0fd0 100644 --- a/xchange-core/src/test/java/org/knowm/xchange/dto/trade/UserTradesTest.java +++ b/xchange-core/src/test/java/org/knowm/xchange/dto/trade/UserTradesTest.java @@ -1,16 +1,15 @@ package org.knowm.xchange.dto.trade; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Test; -import org.knowm.xchange.currency.CurrencyPair; -import org.knowm.xchange.dto.marketdata.Trades; - import java.math.BigDecimal; import java.time.Instant; import java.util.*; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import org.junit.Test; +import org.knowm.xchange.currency.CurrencyPair; +import org.knowm.xchange.dto.marketdata.Trades; public class UserTradesTest { diff --git a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/Cryptowatch.java b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/Cryptowatch.java index 26b0b0ec81c..f1ce679a544 100644 --- a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/Cryptowatch.java +++ b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/Cryptowatch.java @@ -14,7 +14,9 @@ import org.knowm.xchange.cryptowatch.dto.marketdata.results.CryptowatchSummaryResult; import org.knowm.xchange.cryptowatch.dto.marketdata.results.CryptowatchTradesResult; -/** @author massi.gerardi */ +/** + * @author massi.gerardi + */ @Path("/") @Produces(MediaType.APPLICATION_JSON) public interface Cryptowatch { @@ -58,4 +60,4 @@ CryptowatchOrderBookResult getOrderBook( @GET @Path("pairs") CryptowatchAssetPairsResult getAssetPairs(); -} \ No newline at end of file +} diff --git a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/CryptowatchAdapters.java b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/CryptowatchAdapters.java index b4fbee2d48f..6a0b4e7996e 100644 --- a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/CryptowatchAdapters.java +++ b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/CryptowatchAdapters.java @@ -70,7 +70,7 @@ private static Currency adaptToCurrency(CryptowatchAsset asset) { } private static InstrumentMetaData adaptToCurrencyPairMetadata( - InstrumentMetaData currencyPairMetaData) { + InstrumentMetaData currencyPairMetaData) { if (currencyPairMetaData != null) { return currencyPairMetaData; } else { diff --git a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/CryptowatchExchange.java b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/CryptowatchExchange.java index b8ef592c107..ce2e15bea34 100644 --- a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/CryptowatchExchange.java +++ b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/CryptowatchExchange.java @@ -12,7 +12,9 @@ import org.knowm.xchange.cryptowatch.service.CryptowatchMarketDataServiceRaw; import org.knowm.xchange.cryptowatch.service.CryptowatchTradeService; -/** @author massi.gerardi */ +/** + * @author massi.gerardi + */ public class CryptowatchExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/CryptowatchOHLC.java b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/CryptowatchOHLC.java index 4a78c6447a3..a1f39197c99 100644 --- a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/CryptowatchOHLC.java +++ b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/CryptowatchOHLC.java @@ -5,7 +5,9 @@ import lombok.Getter; import lombok.ToString; -/** @author massi.gerardi */ +/** + * @author massi.gerardi + */ @Getter @AllArgsConstructor @ToString diff --git a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/CryptowatchOHLCs.java b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/CryptowatchOHLCs.java index c093f7d4fbc..5978edee505 100644 --- a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/CryptowatchOHLCs.java +++ b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/CryptowatchOHLCs.java @@ -17,7 +17,9 @@ import lombok.Getter; import lombok.ToString; -/** @author massi.gerardi */ +/** + * @author massi.gerardi + */ @JsonDeserialize(using = CryptowatchOHLCs.CryptowatchOHLCsDeserializer.class) @Getter @AllArgsConstructor diff --git a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/results/Allowance.java b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/results/Allowance.java index 7b87a106ed9..a68f7fce6e3 100644 --- a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/results/Allowance.java +++ b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/results/Allowance.java @@ -1,6 +1,8 @@ package org.knowm.xchange.cryptowatch.dto.marketdata.results; -/** @author massi.gerardi */ +/** + * @author massi.gerardi + */ public class Allowance { private long cost; diff --git a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/results/CryptowatchOHLCResult.java b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/results/CryptowatchOHLCResult.java index d4469ca5cb2..818284b23a1 100644 --- a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/results/CryptowatchOHLCResult.java +++ b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/dto/marketdata/results/CryptowatchOHLCResult.java @@ -5,7 +5,9 @@ public class CryptowatchOHLCResult extends CryptowatchResult { - /** @param result The OHLC data */ + /** + * @param result The OHLC data + */ public CryptowatchOHLCResult( @JsonProperty("error") String error, @JsonProperty("result") CryptowatchOHLCs result, diff --git a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/service/CryptowatchMarketDataService.java b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/service/CryptowatchMarketDataService.java index cce69ed8dae..1620c0fa0e8 100644 --- a/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/service/CryptowatchMarketDataService.java +++ b/xchange-cryptowatch/src/main/java/org/knowm/xchange/cryptowatch/service/CryptowatchMarketDataService.java @@ -12,7 +12,9 @@ import org.knowm.xchange.exceptions.ExchangeException; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author massi.gerardi */ +/** + * @author massi.gerardi + */ public class CryptowatchMarketDataService extends CryptowatchMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/Deribit.java b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/Deribit.java index b86d702f473..420d67866e9 100644 --- a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/Deribit.java +++ b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/Deribit.java @@ -1,13 +1,13 @@ package org.knowm.xchange.deribit.v2; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; import org.knowm.xchange.deribit.v2.dto.DeribitException; import org.knowm.xchange.deribit.v2.dto.DeribitResponse; import org.knowm.xchange.deribit.v2.dto.GrantType; @@ -177,4 +177,4 @@ DeribitResponse auth( @QueryParam("state") String state, @QueryParam("scope") String scope) throws DeribitException, IOException; -} \ No newline at end of file +} diff --git a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitAdapters.java b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitAdapters.java index effbd11cb10..ea5fcdb43ef 100644 --- a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitAdapters.java +++ b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitAdapters.java @@ -66,9 +66,9 @@ public static String adaptInstrumentName(Instrument instrument) { public static String adaptInstrumentName(FuturesContract future) { return future.getCurrencyPair().base - + (future.getCurrencyPair().counter == Currency.USDC ? "_USDC" : "") - + "-" - + (future.getPrompt() == null ? PERPETUAL : (future.getPrompt())); + + (future.getCurrencyPair().counter == Currency.USDC ? "_USDC" : "") + + "-" + + (future.getPrompt() == null ? PERPETUAL : (future.getPrompt())); } public static String adaptInstrumentName(OptionsContract option) { @@ -284,11 +284,11 @@ public static Instrument adaptInstrument(String instrumentName) { String[] parts = instrumentName.split("-"); if (parts.length == 2) { DeribitInstrument future = new DeribitInstrument(); - if(parts[0].contains("_")){ + if (parts[0].contains("_")) { String[] subParts = parts[0].split("_"); future.setBaseCurrency(subParts[0]); future.setQuoteCurrency(subParts[1]); - }else { + } else { future.setBaseCurrency(parts[0]); future.setQuoteCurrency(IMPLIED_COUNTER); } diff --git a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitAuthenticated.java b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitAuthenticated.java index 4088f90ce26..03bf13f633e 100644 --- a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitAuthenticated.java +++ b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitAuthenticated.java @@ -1,14 +1,14 @@ package org.knowm.xchange.deribit.v2; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; import org.knowm.xchange.deribit.v2.dto.DeribitException; import org.knowm.xchange.deribit.v2.dto.DeribitResponse; import org.knowm.xchange.deribit.v2.dto.Kind; @@ -171,15 +171,15 @@ DeribitResponse cancelByLabel( throws DeribitException, IOException; /** - * This method cancels all users orders and trigger orders within all currencies and instrument kinds. + * This method cancels all users orders and trigger orders within all currencies and instrument + * kinds. * * @see docs.deribit.com */ @GET @Path("cancel_all") - DeribitResponse cancelAll( - @HeaderParam("Authorization") ParamsDigest auth) - throws DeribitException, IOException; + DeribitResponse cancelAll(@HeaderParam("Authorization") ParamsDigest auth) + throws DeribitException, IOException; /** * Retrieves list of user's open orders. @@ -394,4 +394,4 @@ DeribitResponse> getOrderHistoryByInstrument( DeribitResponse getOrderState( @QueryParam("order_id") String orderId, @HeaderParam("Authorization") ParamsDigest auth) throws DeribitException, IOException; -} \ No newline at end of file +} diff --git a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitExchange.java b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitExchange.java index d2e6620aae2..e850471b979 100644 --- a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitExchange.java +++ b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/DeribitExchange.java @@ -3,7 +3,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; - import org.knowm.xchange.BaseExchange; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeSpecification; @@ -20,69 +19,69 @@ public class DeribitExchange extends BaseExchange implements Exchange { - @Override - public void applySpecification(ExchangeSpecification exchangeSpecification) { - - super.applySpecification(exchangeSpecification); - } - - @Override - protected void initServices() { - this.marketDataService = new DeribitMarketDataService(this); - this.accountService = new DeribitAccountService(this); - this.tradeService = new DeribitTradeService(this); - } - - @Override - public ExchangeSpecification getDefaultExchangeSpecification() { - - ExchangeSpecification exchangeSpecification = new ExchangeSpecification(this.getClass()); - exchangeSpecification.setSslUri("https://www.deribit.com"); - exchangeSpecification.setHost("deribit.com"); - // exchangeSpecification.setPort(80); - exchangeSpecification.setExchangeName("Deribit"); - exchangeSpecification.setExchangeDescription("Deribit is a Bitcoin futures exchange"); - return exchangeSpecification; - } - - public ExchangeSpecification getSandboxExchangeSpecification() { - - ExchangeSpecification exchangeSpecification = new ExchangeSpecification(this.getClass()); - exchangeSpecification.setSslUri("https://test.deribit.com/"); - exchangeSpecification.setHost("test.deribit.com"); - // exchangeSpecification.setPort(80); - return exchangeSpecification; - } - - @Override - public void remoteInit() throws IOException { - updateExchangeMetaData(); - } - - public void updateExchangeMetaData() throws IOException { - - Map currencies = exchangeMetaData.getCurrencies(); - Map instruments = exchangeMetaData.getInstruments(); - - List activeDeribitCurrencies = - ((DeribitMarketDataServiceRaw) marketDataService).getDeribitCurrencies(); - - currencies.clear(); - instruments.clear(); - - for (DeribitCurrency deribitCurrency : activeDeribitCurrencies) { - currencies.put( - new Currency(deribitCurrency.getCurrency()), DeribitAdapters.adaptMeta(deribitCurrency)); - - List deribitInstruments = - ((DeribitMarketDataServiceRaw) marketDataService) - .getDeribitInstruments(deribitCurrency.getCurrency(), null, null); - - for (DeribitInstrument deribitInstrument : deribitInstruments) { - instruments.put( - DeribitAdapters.adaptFuturesContract(deribitInstrument), - DeribitAdapters.adaptMeta(deribitInstrument)); - } - } + @Override + public void applySpecification(ExchangeSpecification exchangeSpecification) { + + super.applySpecification(exchangeSpecification); + } + + @Override + protected void initServices() { + this.marketDataService = new DeribitMarketDataService(this); + this.accountService = new DeribitAccountService(this); + this.tradeService = new DeribitTradeService(this); + } + + @Override + public ExchangeSpecification getDefaultExchangeSpecification() { + + ExchangeSpecification exchangeSpecification = new ExchangeSpecification(this.getClass()); + exchangeSpecification.setSslUri("https://www.deribit.com"); + exchangeSpecification.setHost("deribit.com"); + // exchangeSpecification.setPort(80); + exchangeSpecification.setExchangeName("Deribit"); + exchangeSpecification.setExchangeDescription("Deribit is a Bitcoin futures exchange"); + return exchangeSpecification; + } + + public ExchangeSpecification getSandboxExchangeSpecification() { + + ExchangeSpecification exchangeSpecification = new ExchangeSpecification(this.getClass()); + exchangeSpecification.setSslUri("https://test.deribit.com/"); + exchangeSpecification.setHost("test.deribit.com"); + // exchangeSpecification.setPort(80); + return exchangeSpecification; + } + + @Override + public void remoteInit() throws IOException { + updateExchangeMetaData(); + } + + public void updateExchangeMetaData() throws IOException { + + Map currencies = exchangeMetaData.getCurrencies(); + Map instruments = exchangeMetaData.getInstruments(); + + List activeDeribitCurrencies = + ((DeribitMarketDataServiceRaw) marketDataService).getDeribitCurrencies(); + + currencies.clear(); + instruments.clear(); + + for (DeribitCurrency deribitCurrency : activeDeribitCurrencies) { + currencies.put( + new Currency(deribitCurrency.getCurrency()), DeribitAdapters.adaptMeta(deribitCurrency)); + + List deribitInstruments = + ((DeribitMarketDataServiceRaw) marketDataService) + .getDeribitInstruments(deribitCurrency.getCurrency(), null, null); + + for (DeribitInstrument deribitInstrument : deribitInstruments) { + instruments.put( + DeribitAdapters.adaptFuturesContract(deribitInstrument), + DeribitAdapters.adaptMeta(deribitInstrument)); + } } + } } diff --git a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/account/Position.java b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/account/Position.java index a3bd51b590b..e30b08d8363 100644 --- a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/account/Position.java +++ b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/account/Position.java @@ -11,56 +11,74 @@ public class Position { /** Profit or loss from position */ @JsonProperty("total_profit_loss") private BigDecimal totalProfitLoss; + /** Only for futures, position size in base currency */ @JsonProperty("size_currency") private BigDecimal sizeCurrency; + /** * Position size for futures size in quote currency (e.g. USD), for options size is in base * currency (e.g. BTC) */ private BigDecimal size; + /** Last settlement price for position's instrument 0 if instrument wasn't settled yet */ @JsonProperty("settlement_price") private BigDecimal settlementPrice; + /** Realized profit or loss */ @JsonProperty("realized_profit_loss") private BigDecimal realizedProfitLoss; + /** Open orders margin */ @JsonProperty("open_orders_margin") private BigDecimal openOrdersMargin; + /** Current mark price for position's instrument */ @JsonProperty("mark_price") private BigDecimal markPrice; + /** Maintenance margin */ @JsonProperty("maintenance_margin") private BigDecimal maintenanceMargin; + /** Instrument kind, "future" or "option" */ private Kind kind; + /** Unique instrument identifier */ @JsonProperty("instrument_name") private String instrumentName; + /** Initial margin */ @JsonProperty("initial_margin") private BigDecimal initialMargin; + /** Current index price */ @JsonProperty("index_price") private BigDecimal indexPrice; + /** Floating profit or loss */ @JsonProperty("floating_profit_loss") private BigDecimal floatingProfitLoss; + /** Only for futures, estimated liquidation price */ @JsonProperty("estimated_liquidation_price") private BigDecimal estimatedLiquidationPrice; + /** direction, buy or sell */ private Direction direction; + /** Delta parameter */ private BigDecimal delta; + /** Average price of trades that built this position */ @JsonProperty("average_price") private BigDecimal averagePrice; + /** Only for options, average price in USD */ @JsonProperty("average_price_usd") private BigDecimal averagePriceUSD; + /** Only for options, floating profit or loss in USD */ @JsonProperty("floating_profit_loss_usd") private BigDecimal floatingProfitLossUSD; diff --git a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Order.java b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Order.java index 9aa874152d3..11be7390e28 100644 --- a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Order.java +++ b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Order.java @@ -10,12 +10,15 @@ public class Order { /** Order time in force: "good_til_cancelled", "fill_or_kill", "immediate_or_cancel" */ @JsonProperty("time_in_force") private TimeInForce time_in_force; + /** true for reduce-only orders only */ @JsonProperty("reduce_only") private boolean reduceOnly; + /** Profit and loss in base currency. */ @JsonProperty("profit_loss") private BigDecimal profitLoss; + /** Price in base currency */ private String price; @@ -26,77 +29,101 @@ public BigDecimal getPrice() { return null; } } + /** true for post-only orders only */ @JsonProperty("post_only") private boolean postOnly; + /** order type, "limit", "market", "stop_limit", "stop_market" */ @JsonProperty("order_type") private OrderType orderType; + /** Original order type. Optional field */ @JsonProperty("original_order_type") private OrderType originalOrderType; + /** order state, "open", "filled", "rejected", "cancelled", "untriggered" */ @JsonProperty("order_state") private OrderState orderState; + /** Unique order identifier */ @JsonProperty("order_id") private String orderId; + /** * Id of the stop order that was triggered to create the order (Only for orders that were created * by triggered stop orders) */ @JsonProperty("stop_order_id") private String stopOrderId; + /** Maximum amount within an order to be shown to other traders, 0 for invisible order. */ @JsonProperty("max_show") private BigDecimal maxShow; + /** The timestamp (seconds since the Unix epoch, with millisecond precision) */ @JsonProperty("last_update_timestamp") private long lastUpdateTimestamp; // <- millis + /** user defined label (up to 32 characters) */ private String label; + /** true if order was automatically created during liquidation */ @JsonProperty("is_liquidation") private boolean isLiquidation; + /** Unique instrument identifier */ @JsonProperty("instrument_name") private String instrumentName; + /** * Filled amount of the order. For perpetual and futures the filled_amount is in USD units, for * options - in units or corresponding cryptocurrency contracts, e.g., BTC or ETH. */ @JsonProperty("filled_amount") private BigDecimal filledAmount; + /** direction, buy or sell */ private Direction direction; + /** The timestamp (seconds since the Unix epoch, with millisecond precision) */ @JsonProperty("creation_timestamp") private long creationTimestamp; // <- millis + /** Commission paid so far (in base currency) */ private BigDecimal commission; + /** Average fill price of the order */ @JsonProperty("average_price") private BigDecimal averagePrice; + /** true if created with API */ private boolean api; + /** * It represents the requested order size. For perpetual and futures the amount is in USD units, * for options it is amount of corresponding cryptocurrency contracts, e.g., BTC or ETH. */ private BigDecimal amount; + /** Option price in USD (Only if advanced="usd") */ private BigDecimal usd; + /** advanced type: "usd" or "implv" (Only for options; field is omitted if not applicable). */ private String advanced; + /** Implied volatility in percent. (Only if advanced="implv") */ private BigDecimal implv; + /** stop price (Only for future stop orders) */ @JsonProperty("stop_price") private BigDecimal stop_price; + /** * Trigger type (Only for stop orders). Allowed values: "index_price", "mark_price", "last_price". */ private String trigger; + /** Whether the stop order has been triggered (Only for stop orders) */ private Boolean triggered; } diff --git a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Settlement.java b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Settlement.java index bd3fbf02624..ccabc1e9a39 100644 --- a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Settlement.java +++ b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Settlement.java @@ -16,30 +16,43 @@ public class Settlement { /** The type of settlement. settlement, delivery or bankruptcy. */ private SettlementType type; + /** The timestamp (seconds since the Unix epoch, with millisecond precision) */ private long timestamp; + /** total value of session profit and losses (in base currency) */ private BigDecimal sessionProfitLoss; + /** profit and loss (in base currency; settlement and delivery only) */ private BigDecimal profitLoss; + /** position size (in quote currency; settlement and delivery only) */ private BigDecimal position; + /** mark price for at the settlement time (in quote currency; settlement and delivery only) */ private BigDecimal markPrice; + /** instrument name (settlement and delivery only) */ private String instrumentName; + /** underlying index price at time of event (in quote currency; settlement and delivery only) */ private BigDecimal indexPrice; + /** funded amount (bankruptcy only) */ private BigDecimal funded; + /** funding (in base currency ; settlement for perpetual product only) */ private BigDecimal funding; + /** value of session bankrupcy (in base currency; bankruptcy only) */ private BigDecimal sessionBankrupcy; + /** total amount of paid taxes/fees (in base currency; bankruptcy only) */ private BigDecimal sessionTax; + /** rate of paid texes/fees (in base currency; bankruptcy only) */ private BigDecimal sessionTaxRate; + /** the amount of the socialized losses (in base currency; bankruptcy only) */ private BigDecimal socialized; diff --git a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Trade.java b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Trade.java index ce3544f37b5..fb47a51246e 100644 --- a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Trade.java +++ b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/dto/trade/Trade.java @@ -18,49 +18,62 @@ public class Trade { * corresponding cryptocurrency contracts, e.g., BTC or ETH. */ private BigDecimal amount; + /** direction, buy or sell */ private Direction direction; + /** User's fee in units of the specified fee_currency */ private BigDecimal fee; + /** Currency, i.e "BTC", "ETH" */ @JsonProperty("fee_currency") private String feeCurrency; + /** Index Price at the moment of trade */ @JsonProperty("index_price") private BigDecimal indexPrice; + /** Unique instrument identifier */ @JsonProperty("instrument_name") private String instrumentName; + /** Option implied volatility for the price (Option only) */ @JsonProperty("iv") private BigDecimal iv; + /** User defined label (presented only when previously set for order by user) */ private String label; + /** * Optional field (only for trades caused by liquidation): "M" when maker side of trade was under * liquidation, "T" when taker side was under liquidation, "MT" when both sides of trade were * under liquidation */ private String liquidation; + /** * Describes what was role of users order: "M" when it was maker order, "T" when it was taker * order */ private String liquidity; + /** * Always null, except for a self-trade which is possible only if self-trading is switched on for * the account (in that case this will be id of the maker order of the subscriber) */ @JsonProperty("matching_id") private String matchingId; + /** * Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade */ @JsonProperty("order_id") private String orderId; + /** Order type: "limit, "market", or "liquidation" */ @JsonProperty("order_type") private String orderType; + /** Price in base currency */ private BigDecimal price; @@ -70,22 +83,27 @@ public class Trade { * enabled. Contact an administrator if you think you need that */ private boolean selfTrade; + /** * order state, "open", "filled", "rejected", "cancelled", "untriggered" or "archive" (if order * was archived) */ private OrderState state; + /** * Direction of the "tick" (0 = Plus Tick, 1 = Zero-Plus Tick, 2 = Minus Tick, 3 = Zero-Minus * Tick). */ @JsonProperty("tick_direction") private Integer tickDirection; + /** The timestamp of the trade */ private long timestamp; + /** Unique (per currency) trade identifier */ @JsonProperty("trade_id") private String tradeId; + /** The sequence number of the trade within instrument */ @JsonProperty("trade_seq") private long tradeSeq; diff --git a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/service/DeribitTradeHistoryParams.java b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/service/DeribitTradeHistoryParams.java index 93304571b0e..fa3331b9607 100644 --- a/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/service/DeribitTradeHistoryParams.java +++ b/xchange-deribit/src/main/java/org/knowm/xchange/deribit/v2/service/DeribitTradeHistoryParams.java @@ -21,20 +21,28 @@ public class DeribitTradeHistoryParams /** mandatory if currency is not specified */ private Instrument instrument; + /** mandatory if instrument is not specified, ignored otherwise */ private CurrencyPair currencyPair; + /** optional */ private Date startTime; + /** optional */ private Date endTime; + /** optional, ignored if startTime and endTime are specified */ private String startId; + /** optional, ignored if startTime and endTime are specified */ private String endId; + /** optional */ private Integer limit; + /** optional */ private Order order; + /** optional */ private Boolean includeOld; diff --git a/xchange-dvchain/src/main/java/org/knowm/xchange/dvchain/DVChain.java b/xchange-dvchain/src/main/java/org/knowm/xchange/dvchain/DVChain.java index 00ec4d50baf..247070be289 100644 --- a/xchange-dvchain/src/main/java/org/knowm/xchange/dvchain/DVChain.java +++ b/xchange-dvchain/src/main/java/org/knowm/xchange/dvchain/DVChain.java @@ -1,6 +1,5 @@ package org.knowm.xchange.dvchain; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -10,6 +9,7 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.dvchain.dto.DVChainException; import org.knowm.xchange.dvchain.dto.marketdata.DVChainMarketResponse; import org.knowm.xchange.dvchain.dto.trade.DVChainNewLimitOrder; @@ -52,4 +52,4 @@ DVChainMarketResponse getPrices(@HeaderParam("Authorization") String apiKey) String cancelOrder( @PathParam("tradeId") String tradeId, @HeaderParam("Authorization") String apiKey) throws DVChainException, IOException; -} \ No newline at end of file +} diff --git a/xchange-dvchain/src/main/java/org/knowm/xchange/dvchain/DVChainExchange.java b/xchange-dvchain/src/main/java/org/knowm/xchange/dvchain/DVChainExchange.java index 3a9029f8220..e234767b54f 100644 --- a/xchange-dvchain/src/main/java/org/knowm/xchange/dvchain/DVChainExchange.java +++ b/xchange-dvchain/src/main/java/org/knowm/xchange/dvchain/DVChainExchange.java @@ -17,7 +17,9 @@ public class DVChainExchange extends BaseExchange { private static void concludeHostParams(ExchangeSpecification exchangeSpecification) { if (exchangeSpecification.getExchangeSpecificParameters() != null) { - if (exchangeSpecification.getExchangeSpecificParametersItem(Exchange.USE_SANDBOX).equals(true)) { + if (exchangeSpecification + .getExchangeSpecificParametersItem(Exchange.USE_SANDBOX) + .equals(true)) { exchangeSpecification.setSslUri("https://sandbox.trade.dvchain.co"); exchangeSpecification.setHost("sandbox.trade.dvchain.co"); diff --git a/xchange-enigma/src/main/java/org/knowm/xchange/enigma/Enigma.java b/xchange-enigma/src/main/java/org/knowm/xchange/enigma/Enigma.java index e0dc3a3475b..a238c3e3eff 100644 --- a/xchange-enigma/src/main/java/org/knowm/xchange/enigma/Enigma.java +++ b/xchange-enigma/src/main/java/org/knowm/xchange/enigma/Enigma.java @@ -1,11 +1,11 @@ package org.knowm.xchange.enigma; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.enigma.dto.account.EnigmaCredentials; import org.knowm.xchange.enigma.dto.account.EnigmaLoginResponse; @@ -17,4 +17,4 @@ public interface Enigma { @Path("user/login") @Consumes(MediaType.APPLICATION_JSON) EnigmaLoginResponse login(EnigmaCredentials loginRequest) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-enigma/src/main/java/org/knowm/xchange/enigma/EnigmaAuthenticated.java b/xchange-enigma/src/main/java/org/knowm/xchange/enigma/EnigmaAuthenticated.java index 3884726018e..99df4154617 100644 --- a/xchange-enigma/src/main/java/org/knowm/xchange/enigma/EnigmaAuthenticated.java +++ b/xchange-enigma/src/main/java/org/knowm/xchange/enigma/EnigmaAuthenticated.java @@ -1,9 +1,5 @@ package org.knowm.xchange.enigma; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -12,6 +8,10 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; import org.knowm.xchange.enigma.dto.BaseResponse; import org.knowm.xchange.enigma.dto.marketdata.EnigmaOpenOrders; import org.knowm.xchange.enigma.dto.marketdata.EnigmaOrderBook; @@ -130,4 +130,4 @@ List depositAddress( @GET @Path("xchange/order/open") EnigmaOpenOrders openOrders(@HeaderParam("Authorization") String accessToken); -} \ No newline at end of file +} diff --git a/xchange-enigma/src/main/java/org/knowm/xchange/enigma/model/Side.java b/xchange-enigma/src/main/java/org/knowm/xchange/enigma/model/Side.java index e27f74f3c96..74699640830 100644 --- a/xchange-enigma/src/main/java/org/knowm/xchange/enigma/model/Side.java +++ b/xchange-enigma/src/main/java/org/knowm/xchange/enigma/model/Side.java @@ -10,7 +10,9 @@ private Side(int value) { this.value = value; } - /** @return the value */ + /** + * @return the value + */ public int getValue() { return value; } diff --git a/xchange-enigma/src/main/java/org/knowm/xchange/enigma/model/Withdrawal.java b/xchange-enigma/src/main/java/org/knowm/xchange/enigma/model/Withdrawal.java index 461aa078f9d..e636800d53a 100644 --- a/xchange-enigma/src/main/java/org/knowm/xchange/enigma/model/Withdrawal.java +++ b/xchange-enigma/src/main/java/org/knowm/xchange/enigma/model/Withdrawal.java @@ -10,7 +10,9 @@ private Withdrawal(int value) { this.value = value; } - /** @return the value */ + /** + * @return the value + */ public int getValue() { return value; } diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/binance/marketdata/BinanceMarketDataDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/binance/marketdata/BinanceMarketDataDemo.java index 372332f620e..821bd74acc0 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/binance/marketdata/BinanceMarketDataDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/binance/marketdata/BinanceMarketDataDemo.java @@ -8,7 +8,6 @@ import org.knowm.xchange.binance.dto.marketdata.BinanceTicker24h; import org.knowm.xchange.binance.service.BinanceMarketDataService; import org.knowm.xchange.currency.Currency; -import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.examples.binance.BinanceDemoUtils; import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.service.marketdata.MarketDataService; @@ -42,24 +41,22 @@ public static void raw(BinanceExchange exchange, BinanceMarketDataService market tickers.sort((t1, t2) -> t2.getPriceChangePercent().compareTo(t1.getPriceChangePercent())); - tickers - .forEach( - t -> System.out.println( - t.getSymbol() - + " => " - + String.format("%+.2f%%", t.getPriceChangePercent()))); + tickers.forEach( + t -> + System.out.println( + t.getSymbol() + " => " + String.format("%+.2f%%", t.getPriceChangePercent()))); System.out.println("raw out end"); } public static void rawAll(BinanceExchange exchange, BinanceMarketDataService marketDataService) throws IOException { - List tickers = new ArrayList<>(marketDataService.ticker24hAllProducts()); + List tickers = new ArrayList<>(marketDataService.ticker24hAllProducts()); tickers.sort((t1, t2) -> t2.getPriceChangePercent().compareTo(t1.getPriceChangePercent())); - tickers - .forEach( - t -> System.out.println( + tickers.forEach( + t -> + System.out.println( t.getSymbol() + " => " + String.format("%+.2f%%", t.getLastPrice()))); } } diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/bitfinex/marketdata/CandlesDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/bitfinex/marketdata/CandlesDemo.java index 1dffb9c062f..07ad0a6af72 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/bitfinex/marketdata/CandlesDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/bitfinex/marketdata/CandlesDemo.java @@ -9,7 +9,9 @@ import org.knowm.xchange.bitfinex.v2.dto.marketdata.BitfinexCandle; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author cyrus13 */ +/** + * @author cyrus13 + */ public class CandlesDemo { public static void main(String[] args) throws Exception { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/bitso/BitsoDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/bitso/BitsoDemoUtils.java index 89d104615ce..20f95dee72c 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/bitso/BitsoDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/bitso/BitsoDemoUtils.java @@ -7,7 +7,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BitsoDemoUtils { private static final Logger log = LoggerFactory.getLogger(BitsoDemoUtils.class); diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/bitstamp/BitstampDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/bitstamp/BitstampDemoUtils.java index 289a82b5ab1..9260de99bcd 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/bitstamp/BitstampDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/bitstamp/BitstampDemoUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.bitstamp.BitstampExchange; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class BitstampDemoUtils { public static Exchange createExchange() { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/BlockchainDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/BlockchainDemoUtils.java index 3860d2e76ab..5027f9fd847 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/BlockchainDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/BlockchainDemoUtils.java @@ -1,31 +1,31 @@ package org.knowm.xchange.examples.blockchain; +import java.math.BigDecimal; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeFactory; import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.blockchain.BlockchainExchange; -import java.math.BigDecimal; - public class BlockchainDemoUtils { - public static final Long END_TIME = 12 * 30 * 24 * 60 * 60 * 1000L; - public static final String BENEFICIARY = "8a2e42ee-c94a-4641-9208-9501cbc0fed0"; - public static final String SYMBOL = "BTC/USDT"; - public static final BigDecimal AMOUNT = new BigDecimal("0.01"); - public static final BigDecimal AMOUNT_LIMIT = new BigDecimal("10"); - public static final BigDecimal STOP_PRICE = new BigDecimal("0.4"); - public static final BigDecimal STOP_LIMIT = new BigDecimal("2000"); - public static final BigDecimal STOP_LIMIT_PRICE = new BigDecimal("0.5"); - public static Exchange createExchange() { + public static final Long END_TIME = 12 * 30 * 24 * 60 * 60 * 1000L; + public static final String BENEFICIARY = "8a2e42ee-c94a-4641-9208-9501cbc0fed0"; + public static final String SYMBOL = "BTC/USDT"; + public static final BigDecimal AMOUNT = new BigDecimal("0.01"); + public static final BigDecimal AMOUNT_LIMIT = new BigDecimal("10"); + public static final BigDecimal STOP_PRICE = new BigDecimal("0.4"); + public static final BigDecimal STOP_LIMIT = new BigDecimal("2000"); + public static final BigDecimal STOP_LIMIT_PRICE = new BigDecimal("0.5"); + + public static Exchange createExchange() { - Exchange bcd = ExchangeFactory.INSTANCE.createExchange(BlockchainExchange.class); - ExchangeSpecification bcdSpec = bcd.getDefaultExchangeSpecification(); + Exchange bcd = ExchangeFactory.INSTANCE.createExchange(BlockchainExchange.class); + ExchangeSpecification bcdSpec = bcd.getDefaultExchangeSpecification(); - bcdSpec.setApiKey(""); - bcdSpec.setSecretKey(""); + bcdSpec.setApiKey(""); + bcdSpec.setSecretKey(""); - bcd.applySpecification(bcdSpec); + bcd.applySpecification(bcdSpec); - return bcd; - } + return bcd; + } } diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/account/BlockchainAccountDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/account/BlockchainAccountDemo.java index a59a7f072a1..2c1bf6fd727 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/account/BlockchainAccountDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/account/BlockchainAccountDemo.java @@ -1,7 +1,15 @@ package org.knowm.xchange.examples.blockchain.account; +import static org.knowm.xchange.examples.blockchain.BlockchainDemoUtils.BENEFICIARY; +import static org.knowm.xchange.examples.blockchain.BlockchainDemoUtils.END_TIME; + import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.Map; import org.knowm.xchange.Exchange; import org.knowm.xchange.blockchain.params.BlockchainWithdrawalParams; import org.knowm.xchange.currency.Currency; @@ -17,73 +25,69 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import static org.knowm.xchange.examples.blockchain.BlockchainDemoUtils.BENEFICIARY; -import static org.knowm.xchange.examples.blockchain.BlockchainDemoUtils.END_TIME; - /** * @author scuevas */ public class BlockchainAccountDemo { - private static final Exchange BLOCKCHAIN_EXCHANGE = BlockchainDemoUtils.createExchange(); - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT); - - public static void main(String[] args) throws IOException { - System.out.println("===== ACCOUNT SERVICE ====="); - accountServiceDemo(); - } - - private static void accountServiceDemo() throws IOException { - AccountService accountService = BLOCKCHAIN_EXCHANGE.getAccountService(); - - System.out.println("===== getAccountInfo ====="); - AccountInfo accountInfo = accountService.getAccountInfo(); - System.out.println(OBJECT_MAPPER.writeValueAsString(accountInfo)); - - System.out.println("===== withdrawFunds ====="); - WithdrawFundsParams params = BlockchainWithdrawalParams.builder() - .beneficiary(BENEFICIARY) - .currency(Currency.USDT) - .amount(BigDecimal.valueOf(5)) - .sendMax(false) - .build(); - String withdraw = accountService.withdrawFunds(params); - System.out.println(OBJECT_MAPPER.writeValueAsString(withdraw)); - - System.out.println("===== requestDepositAddress ====="); - String address = accountService.requestDepositAddress(Currency.ETH); - System.out.println(OBJECT_MAPPER.writeValueAsString(address)); - - System.out.println("===== requestDepositAddressData ====="); - AddressWithTag addressWithTag = accountService.requestDepositAddressData(Currency.ETH); - System.out.println(OBJECT_MAPPER.writeValueAsString(addressWithTag)); - - System.out.println("===== getFundingHistory ====="); - TradeHistoryParams tradeHistoryParams = accountService.createFundingHistoryParams(); - final TradeHistoryParamsTimeSpan timeSpanParam = (TradeHistoryParamsTimeSpan) tradeHistoryParams; - timeSpanParam.setStartTime(new Date(System.currentTimeMillis() - END_TIME)); - ((HistoryParamsFundingType) tradeHistoryParams).setType(FundingRecord.Type.DEPOSIT); - List fundingDepositsRecords = accountService.getFundingHistory(tradeHistoryParams); - - ((HistoryParamsFundingType) tradeHistoryParams).setType(FundingRecord.Type.WITHDRAWAL); - List fundingWithdrawalRecords = accountService.getFundingHistory(tradeHistoryParams); - - System.out.println(OBJECT_MAPPER.writeValueAsString(fundingDepositsRecords)); - System.out.println(OBJECT_MAPPER.writeValueAsString(fundingWithdrawalRecords)); - - System.out.println("===== getDynamicTradingFees ====="); - Map tradingFees = accountService.getDynamicTradingFeesByInstrument(); - System.out.println(OBJECT_MAPPER.writeValueAsString(tradingFees)); - - System.out.println("===== getDynamicTradingFeesByInstrument ====="); - Map tradingFeesByInstrument = accountService.getDynamicTradingFeesByInstrument(); - System.out.println(OBJECT_MAPPER.writeValueAsString(tradingFeesByInstrument)); - - } + private static final Exchange BLOCKCHAIN_EXCHANGE = BlockchainDemoUtils.createExchange(); + private static final ObjectMapper OBJECT_MAPPER = + new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT); + + public static void main(String[] args) throws IOException { + System.out.println("===== ACCOUNT SERVICE ====="); + accountServiceDemo(); + } + + private static void accountServiceDemo() throws IOException { + AccountService accountService = BLOCKCHAIN_EXCHANGE.getAccountService(); + + System.out.println("===== getAccountInfo ====="); + AccountInfo accountInfo = accountService.getAccountInfo(); + System.out.println(OBJECT_MAPPER.writeValueAsString(accountInfo)); + + System.out.println("===== withdrawFunds ====="); + WithdrawFundsParams params = + BlockchainWithdrawalParams.builder() + .beneficiary(BENEFICIARY) + .currency(Currency.USDT) + .amount(BigDecimal.valueOf(5)) + .sendMax(false) + .build(); + String withdraw = accountService.withdrawFunds(params); + System.out.println(OBJECT_MAPPER.writeValueAsString(withdraw)); + + System.out.println("===== requestDepositAddress ====="); + String address = accountService.requestDepositAddress(Currency.ETH); + System.out.println(OBJECT_MAPPER.writeValueAsString(address)); + + System.out.println("===== requestDepositAddressData ====="); + AddressWithTag addressWithTag = accountService.requestDepositAddressData(Currency.ETH); + System.out.println(OBJECT_MAPPER.writeValueAsString(addressWithTag)); + + System.out.println("===== getFundingHistory ====="); + TradeHistoryParams tradeHistoryParams = accountService.createFundingHistoryParams(); + final TradeHistoryParamsTimeSpan timeSpanParam = + (TradeHistoryParamsTimeSpan) tradeHistoryParams; + timeSpanParam.setStartTime(new Date(System.currentTimeMillis() - END_TIME)); + ((HistoryParamsFundingType) tradeHistoryParams).setType(FundingRecord.Type.DEPOSIT); + List fundingDepositsRecords = + accountService.getFundingHistory(tradeHistoryParams); + + ((HistoryParamsFundingType) tradeHistoryParams).setType(FundingRecord.Type.WITHDRAWAL); + List fundingWithdrawalRecords = + accountService.getFundingHistory(tradeHistoryParams); + + System.out.println(OBJECT_MAPPER.writeValueAsString(fundingDepositsRecords)); + System.out.println(OBJECT_MAPPER.writeValueAsString(fundingWithdrawalRecords)); + + System.out.println("===== getDynamicTradingFees ====="); + Map tradingFees = accountService.getDynamicTradingFeesByInstrument(); + System.out.println(OBJECT_MAPPER.writeValueAsString(tradingFees)); + + System.out.println("===== getDynamicTradingFeesByInstrument ====="); + Map tradingFeesByInstrument = + accountService.getDynamicTradingFeesByInstrument(); + System.out.println(OBJECT_MAPPER.writeValueAsString(tradingFeesByInstrument)); + } } diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/marketdata/BlockchainMarketDataDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/marketdata/BlockchainMarketDataDemo.java index b6cdfbbc59c..f68af96bcc1 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/marketdata/BlockchainMarketDataDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/marketdata/BlockchainMarketDataDemo.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; +import java.io.IOException; import org.knowm.xchange.Exchange; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.marketdata.OrderBook; @@ -9,23 +10,22 @@ import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.service.marketdata.MarketDataService; -import java.io.IOException; - public class BlockchainMarketDataDemo { - private static final Exchange BLOCKCHAIN_EXCHANGE = BlockchainDemoUtils.createExchange(); - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT); + private static final Exchange BLOCKCHAIN_EXCHANGE = BlockchainDemoUtils.createExchange(); + private static final ObjectMapper OBJECT_MAPPER = + new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT); - public static void main(String[] args) throws IOException, InterruptedException { - System.out.println("===== MARKETDATA SERVICE ====="); - marketDataServiceDemo(); - } + public static void main(String[] args) throws IOException, InterruptedException { + System.out.println("===== MARKETDATA SERVICE ====="); + marketDataServiceDemo(); + } - private static void marketDataServiceDemo() throws IOException { - MarketDataService marketDataService = BLOCKCHAIN_EXCHANGE.getMarketDataService(); + private static void marketDataServiceDemo() throws IOException { + MarketDataService marketDataService = BLOCKCHAIN_EXCHANGE.getMarketDataService(); - System.out.println("===== ORDERBOOK FOR BTC/USD ====="); - Instrument instrument = CurrencyPair.BTC_USD; - OrderBook orders = marketDataService.getOrderBook(instrument); - System.out.println(OBJECT_MAPPER.writeValueAsString(orders)); - } + System.out.println("===== ORDERBOOK FOR BTC/USD ====="); + Instrument instrument = CurrencyPair.BTC_USD; + OrderBook orders = marketDataService.getOrderBook(instrument); + System.out.println(OBJECT_MAPPER.writeValueAsString(orders)); + } } diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/trade/BlockchainTradeDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/trade/BlockchainTradeDemo.java index 3c28c7cfb86..3ac2e3a18ec 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/trade/BlockchainTradeDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/blockchain/trade/BlockchainTradeDemo.java @@ -1,7 +1,12 @@ package org.knowm.xchange.examples.blockchain.trade; +import static org.knowm.xchange.examples.blockchain.BlockchainDemoUtils.*; + import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; +import java.io.IOException; +import java.util.Collection; +import java.util.Date; import org.knowm.xchange.Exchange; import org.knowm.xchange.blockchain.params.BlockchainTradeHistoryParams; import org.knowm.xchange.currency.Currency; @@ -14,109 +19,105 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParamCurrencyPair; -import java.io.IOException; -import java.util.Collection; -import java.util.Date; - -import static org.knowm.xchange.examples.blockchain.BlockchainDemoUtils.*; - public class BlockchainTradeDemo { - private static final Exchange BLOCKCHAIN_EXCHANGE = BlockchainDemoUtils.createExchange(); - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT); - private static final CurrencyPair usdtUsd = new CurrencyPair(Currency.USDT, Currency.USD); - private static final TradeService tradeService = BLOCKCHAIN_EXCHANGE.getTradeService(); - - public static void main(String[] args) throws IOException, InterruptedException { - System.out.println("===== TRADE SERVICE ====="); - tradeServiceDemo(); - } - - private static void tradeServiceDemo() throws InterruptedException, IOException { - System.out.println("===== placeLimitOrder ====="); - executeOrder(limitOrder()); - - System.out.println("===== placeMarketOrder ====="); - executeOrder(marketOrder()); - - System.out.println("===== placeStopOrder ====="); - executeOrder(stopOrder()); - } - - public static void executeOrder(String orderId) throws InterruptedException, IOException{ - Thread.sleep(5000); - - System.out.println("===== getOpenOrders by symbol ====="); - final OpenOrdersParamCurrencyPair openOrdersParamsBtcUsd = - (OpenOrdersParamCurrencyPair) tradeService.createOpenOrdersParams(); - openOrdersParamsBtcUsd.setCurrencyPair(CurrencyPair.BTC_USDT); - OpenOrders openOrdersParams = tradeService.getOpenOrders(openOrdersParamsBtcUsd); - System.out.println(OBJECT_MAPPER.writeValueAsString(openOrdersParams)); - - System.out.println("===== getOpenOrders ====="); - OpenOrders openOrders = tradeService.getOpenOrders(); - System.out.println(OBJECT_MAPPER.writeValueAsString(openOrders)); - - System.out.println("===== getTradeHistory ====="); - BlockchainTradeHistoryParams params = (BlockchainTradeHistoryParams) tradeService.createTradeHistoryParams(); - ((TradeHistoryParamsTimeSpan) params).setStartTime( - new Date(System.currentTimeMillis() - END_TIME)); - - params.setCurrencyPair(usdtUsd); - - UserTrades tradeHistory = tradeService.getTradeHistory(params); - System.out.println(OBJECT_MAPPER.writeValueAsString(tradeHistory)); - - System.out.println("===== getOrder ====="); - Collection getOrder = tradeService.getOrder(orderId); - System.out.println(OBJECT_MAPPER.writeValueAsString(getOrder)); - - System.out.println("===== cancelOrder by id ====="); - System.out.println("Canceling returned " + tradeService.cancelOrder(orderId)); - - System.out.println("===== cancelOrder by symbol ====="); - CancelOrderByCurrencyPair cancelOrderByCurrencyPair = () -> new CurrencyPair(SYMBOL); - boolean cancelAllOrderByCurrency = tradeService.cancelOrder(cancelOrderByCurrencyPair); - System.out.println("Canceling returned " + cancelAllOrderByCurrency); - } - - public static String limitOrder() throws IOException { - LimitOrder limitOrder = - new LimitOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) - .originalAmount(AMOUNT) - .limitPrice(STOP_LIMIT) - .build(); - - tradeService.verifyOrder(limitOrder); - String tradeLimitOrder = tradeService.placeLimitOrder(limitOrder); - System.out.println(OBJECT_MAPPER.writeValueAsString(tradeLimitOrder)); - - return tradeLimitOrder; - } - - public static String marketOrder() throws IOException { - MarketOrder marketOrder = - new MarketOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) - .originalAmount(AMOUNT) - .build(); - - tradeService.verifyOrder(marketOrder); - String tradeMarketOrder = tradeService.placeMarketOrder(marketOrder); - System.out.println(OBJECT_MAPPER.writeValueAsString(tradeMarketOrder)); - - return tradeMarketOrder; - } - - public static String stopOrder() throws IOException { - StopOrder stopOrder = - new StopOrder.Builder(Order.OrderType.ASK, usdtUsd) - .originalAmount(AMOUNT_LIMIT) - .stopPrice(STOP_PRICE) - .limitPrice(STOP_LIMIT_PRICE) - .build(); - - String tradeStopOrder = tradeService.placeStopOrder(stopOrder); - System.out.println(OBJECT_MAPPER.writeValueAsString(tradeStopOrder)); - - return tradeStopOrder; - } + private static final Exchange BLOCKCHAIN_EXCHANGE = BlockchainDemoUtils.createExchange(); + private static final ObjectMapper OBJECT_MAPPER = + new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT); + private static final CurrencyPair usdtUsd = new CurrencyPair(Currency.USDT, Currency.USD); + private static final TradeService tradeService = BLOCKCHAIN_EXCHANGE.getTradeService(); + + public static void main(String[] args) throws IOException, InterruptedException { + System.out.println("===== TRADE SERVICE ====="); + tradeServiceDemo(); + } + + private static void tradeServiceDemo() throws InterruptedException, IOException { + System.out.println("===== placeLimitOrder ====="); + executeOrder(limitOrder()); + + System.out.println("===== placeMarketOrder ====="); + executeOrder(marketOrder()); + + System.out.println("===== placeStopOrder ====="); + executeOrder(stopOrder()); + } + + public static void executeOrder(String orderId) throws InterruptedException, IOException { + Thread.sleep(5000); + + System.out.println("===== getOpenOrders by symbol ====="); + final OpenOrdersParamCurrencyPair openOrdersParamsBtcUsd = + (OpenOrdersParamCurrencyPair) tradeService.createOpenOrdersParams(); + openOrdersParamsBtcUsd.setCurrencyPair(CurrencyPair.BTC_USDT); + OpenOrders openOrdersParams = tradeService.getOpenOrders(openOrdersParamsBtcUsd); + System.out.println(OBJECT_MAPPER.writeValueAsString(openOrdersParams)); + + System.out.println("===== getOpenOrders ====="); + OpenOrders openOrders = tradeService.getOpenOrders(); + System.out.println(OBJECT_MAPPER.writeValueAsString(openOrders)); + + System.out.println("===== getTradeHistory ====="); + BlockchainTradeHistoryParams params = + (BlockchainTradeHistoryParams) tradeService.createTradeHistoryParams(); + ((TradeHistoryParamsTimeSpan) params) + .setStartTime(new Date(System.currentTimeMillis() - END_TIME)); + + params.setCurrencyPair(usdtUsd); + + UserTrades tradeHistory = tradeService.getTradeHistory(params); + System.out.println(OBJECT_MAPPER.writeValueAsString(tradeHistory)); + + System.out.println("===== getOrder ====="); + Collection getOrder = tradeService.getOrder(orderId); + System.out.println(OBJECT_MAPPER.writeValueAsString(getOrder)); + + System.out.println("===== cancelOrder by id ====="); + System.out.println("Canceling returned " + tradeService.cancelOrder(orderId)); + + System.out.println("===== cancelOrder by symbol ====="); + CancelOrderByCurrencyPair cancelOrderByCurrencyPair = () -> new CurrencyPair(SYMBOL); + boolean cancelAllOrderByCurrency = tradeService.cancelOrder(cancelOrderByCurrencyPair); + System.out.println("Canceling returned " + cancelAllOrderByCurrency); + } + + public static String limitOrder() throws IOException { + LimitOrder limitOrder = + new LimitOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) + .originalAmount(AMOUNT) + .limitPrice(STOP_LIMIT) + .build(); + + tradeService.verifyOrder(limitOrder); + String tradeLimitOrder = tradeService.placeLimitOrder(limitOrder); + System.out.println(OBJECT_MAPPER.writeValueAsString(tradeLimitOrder)); + + return tradeLimitOrder; + } + + public static String marketOrder() throws IOException { + MarketOrder marketOrder = + new MarketOrder.Builder(Order.OrderType.BID, CurrencyPair.BTC_USDT) + .originalAmount(AMOUNT) + .build(); + + tradeService.verifyOrder(marketOrder); + String tradeMarketOrder = tradeService.placeMarketOrder(marketOrder); + System.out.println(OBJECT_MAPPER.writeValueAsString(tradeMarketOrder)); + + return tradeMarketOrder; + } + + public static String stopOrder() throws IOException { + StopOrder stopOrder = + new StopOrder.Builder(Order.OrderType.ASK, usdtUsd) + .originalAmount(AMOUNT_LIMIT) + .stopPrice(STOP_PRICE) + .limitPrice(STOP_LIMIT_PRICE) + .build(); + + String tradeStopOrder = tradeService.placeStopOrder(stopOrder); + System.out.println(OBJECT_MAPPER.writeValueAsString(tradeStopOrder)); + + return tradeStopOrder; + } } diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/BTCTurkDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/BTCTurkDemoUtils.java index 1210564d540..44f05d28fd4 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/BTCTurkDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/BTCTurkDemoUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.btcturk.BTCTurkExchange; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class BTCTurkDemoUtils { public static Exchange createExchange() { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/account/BTCTurkAccountDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/account/BTCTurkAccountDemo.java index 8422208c57c..4d0a9f71fa8 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/account/BTCTurkAccountDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/account/BTCTurkAccountDemo.java @@ -10,7 +10,9 @@ import org.knowm.xchange.examples.btcturk.BTCTurkDemoUtils; import org.knowm.xchange.service.account.AccountService; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTurkAccountDemo { public static void main(String[] args) throws IOException { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/trade/BTCTrukTradeDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/trade/BTCTrukTradeDemo.java index 4ca9bc388d4..374e1583faf 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/trade/BTCTrukTradeDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/btcturk/trade/BTCTrukTradeDemo.java @@ -12,7 +12,9 @@ import org.knowm.xchange.examples.btcturk.BTCTurkDemoUtils; import org.knowm.xchange.service.trade.TradeService; -/** @author mertguner */ +/** + * @author mertguner + */ public class BTCTrukTradeDemo { public static void main(String[] args) throws IOException { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/CoinbaseDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/CoinbaseDemoUtils.java index 7f3aae15f72..f0a204ae625 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/CoinbaseDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/CoinbaseDemoUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.coinbase.CoinbaseExchange; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseDemoUtils { public static Exchange createExchange() { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/CoinbaseAccountDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/CoinbaseAccountDemo.java index d8d77a68da0..deb8ebf6644 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/CoinbaseAccountDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/CoinbaseAccountDemo.java @@ -24,7 +24,9 @@ import org.knowm.xchange.examples.coinbase.CoinbaseDemoUtils; import org.knowm.xchange.service.account.AccountService; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseAccountDemo { public static void main(String[] args) throws IOException { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/merchant/CoinbaseButtonDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/merchant/CoinbaseButtonDemo.java index edcafc8f0ea..22ef4ad9f45 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/merchant/CoinbaseButtonDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/merchant/CoinbaseButtonDemo.java @@ -10,7 +10,9 @@ import org.knowm.xchange.coinbase.service.CoinbaseAccountService; import org.knowm.xchange.examples.coinbase.CoinbaseDemoUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseButtonDemo { public static void main(String[] args) throws IOException { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/merchant/CoinbaseMerchantDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/merchant/CoinbaseMerchantDemo.java index c725860826e..ea685b75f10 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/merchant/CoinbaseMerchantDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/account/merchant/CoinbaseMerchantDemo.java @@ -10,7 +10,9 @@ import org.knowm.xchange.coinbase.service.CoinbaseAccountService; import org.knowm.xchange.examples.coinbase.CoinbaseDemoUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseMerchantDemo { public static void main(String[] args) throws IOException { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/marketdata/CoinbaseMarketDataDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/marketdata/CoinbaseMarketDataDemo.java index a6073656bb4..57dd07aa2d6 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/marketdata/CoinbaseMarketDataDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/marketdata/CoinbaseMarketDataDemo.java @@ -17,7 +17,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseMarketDataDemo { public static void main(String[] args) throws IOException { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/trade/CoinbaseTradeDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/trade/CoinbaseTradeDemo.java index 7e23d9d84a6..c91dcb12163 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/trade/CoinbaseTradeDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinbase/trade/CoinbaseTradeDemo.java @@ -9,7 +9,9 @@ import org.knowm.xchange.service.trade.TradeService; import org.knowm.xchange.service.trade.params.DefaultTradeHistoryParamPaging; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class CoinbaseTradeDemo { public static void main(String[] args) throws IOException { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinone/CoinoneDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinone/CoinoneDemoUtils.java index 90c2d568cf1..7df4ebc8201 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/coinone/CoinoneDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/coinone/CoinoneDemoUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.coinone.CoinoneExchange; -/** @author sumdeha */ +/** + * @author sumdeha + */ public class CoinoneDemoUtils { public static Exchange createExchange() { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/koineks/KoineksDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/koineks/KoineksDemoUtils.java index 08e03d4ef1e..037b15d1351 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/koineks/KoineksDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/koineks/KoineksDemoUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.koineks.KoineksExchange; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class KoineksDemoUtils { public static Exchange createExchange() { ExchangeSpecification exSpec = new KoineksExchange().getDefaultExchangeSpecification(); diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/koinim/KoinimDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/koinim/KoinimDemoUtils.java index 8894b030c46..f6f399aa115 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/koinim/KoinimDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/koinim/KoinimDemoUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.koinim.KoinimExchange; -/** @author ahmetoz */ +/** + * @author ahmetoz + */ public class KoinimDemoUtils { public static Exchange createExchange() { ExchangeSpecification exSpec = new KoinimExchange().getDefaultExchangeSpecification(); diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/mercadobitcoin/InteractiveAuthenticatedExchange.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/mercadobitcoin/InteractiveAuthenticatedExchange.java index 499a850b460..5d6765d06d6 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/mercadobitcoin/InteractiveAuthenticatedExchange.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/mercadobitcoin/InteractiveAuthenticatedExchange.java @@ -6,7 +6,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.mercadobitcoin.MercadoBitcoinExchange; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class InteractiveAuthenticatedExchange { public static Exchange createInstanceFromDefaultInput() { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/paribu/ParibuDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/paribu/ParibuDemoUtils.java index 894d95b1712..23527f82de8 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/paribu/ParibuDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/paribu/ParibuDemoUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.paribu.ParibuExchange; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class ParibuDemoUtils { public static Exchange createExchange() { ExchangeSpecification exSpec = new ParibuExchange().getDefaultExchangeSpecification(); diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/paymium/PaymiumMarketDataExample.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/paymium/PaymiumMarketDataExample.java index 8dd4b489f1f..2e616960236 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/paymium/PaymiumMarketDataExample.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/paymium/PaymiumMarketDataExample.java @@ -7,7 +7,9 @@ import org.knowm.xchange.paymium.PaymiumExchange; import org.knowm.xchange.paymium.service.PaymiumMarketDataServiceRaw; -/** @author ObsessiveOrange */ +/** + * @author ObsessiveOrange + */ public class PaymiumMarketDataExample { public static void main(String[] args) throws IOException { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/PoloniexExamplesUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/PoloniexExamplesUtils.java index 450fc513f4b..3880111b435 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/PoloniexExamplesUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/PoloniexExamplesUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.poloniex.PoloniexExchange; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexExamplesUtils { public static Exchange getExchange() { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/account/PoloniexAccountDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/account/PoloniexAccountDemo.java index ef864e2c984..f22ca9f48da 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/account/PoloniexAccountDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/account/PoloniexAccountDemo.java @@ -14,7 +14,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan; import org.knowm.xchange.utils.CertHelper; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexAccountDemo { public static void main(String[] args) throws Exception { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/marketdata/PoloniexMarketDataDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/marketdata/PoloniexMarketDataDemo.java index e56d9e0953b..714b9cff64a 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/marketdata/PoloniexMarketDataDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/marketdata/PoloniexMarketDataDemo.java @@ -10,7 +10,9 @@ import org.knowm.xchange.poloniex.service.PoloniexMarketDataServiceRaw; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexMarketDataDemo { private static Exchange poloniex; diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/trade/PoloniexTradeDemo.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/trade/PoloniexTradeDemo.java index c874f020f94..c0ec7c79fe6 100755 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/trade/PoloniexTradeDemo.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/poloniex/trade/PoloniexTradeDemo.java @@ -24,7 +24,9 @@ import org.knowm.xchange.service.trade.params.orders.OpenOrdersParamCurrencyPair; import org.knowm.xchange.utils.CertHelper; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexTradeDemo { private static final CurrencyPair REP_ETH = new CurrencyPair("REP", "ETH"); diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/quoine/QuoineExamplesUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/quoine/QuoineExamplesUtils.java index b2cde2ad82e..8d1219d8de7 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/quoine/QuoineExamplesUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/quoine/QuoineExamplesUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.quoine.QuoineExchange; -/** @author timmolter */ +/** + * @author timmolter + */ public class QuoineExamplesUtils { public static Exchange createExchange() { diff --git a/xchange-examples/src/main/java/org/knowm/xchange/examples/upbit/UpbitDemoUtils.java b/xchange-examples/src/main/java/org/knowm/xchange/examples/upbit/UpbitDemoUtils.java index 0b178065488..24344c15d9d 100644 --- a/xchange-examples/src/main/java/org/knowm/xchange/examples/upbit/UpbitDemoUtils.java +++ b/xchange-examples/src/main/java/org/knowm/xchange/examples/upbit/UpbitDemoUtils.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.upbit.UpbitExchange; -/** @author interwater todo for account, trade.. etc */ +/** + * @author interwater todo for account, trade.. etc + */ public class UpbitDemoUtils { public static Exchange createExchange() { ExchangeSpecification exSpec = new UpbitExchange().getDefaultExchangeSpecification(); diff --git a/xchange-exmo/src/main/java/org/knowm/xchange/exmo/Exmo.java b/xchange-exmo/src/main/java/org/knowm/xchange/exmo/Exmo.java index cdfa8919ef6..ccb540ed6dd 100644 --- a/xchange-exmo/src/main/java/org/knowm/xchange/exmo/Exmo.java +++ b/xchange-exmo/src/main/java/org/knowm/xchange/exmo/Exmo.java @@ -1,9 +1,5 @@ package org.knowm.xchange.exmo; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; @@ -12,6 +8,10 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; import si.mazi.rescu.SynchronizedValueFactory; // todo: strongly type the returned values @@ -120,4 +120,4 @@ Map withdrawCrypt( @FormParam("currency") String currency, @FormParam("address") String address, @FormParam("invoice") String invoice); -} \ No newline at end of file +} diff --git a/xchange-exmo/src/main/java/org/knowm/xchange/exmo/service/ExmoMarketDataServiceRaw.java b/xchange-exmo/src/main/java/org/knowm/xchange/exmo/service/ExmoMarketDataServiceRaw.java index 93123d8382b..7f898fa2605 100644 --- a/xchange-exmo/src/main/java/org/knowm/xchange/exmo/service/ExmoMarketDataServiceRaw.java +++ b/xchange-exmo/src/main/java/org/knowm/xchange/exmo/service/ExmoMarketDataServiceRaw.java @@ -77,12 +77,14 @@ public void updateMetadata(ExchangeMetaData exchangeMetaData) throws IOException InstrumentMetaData staticMeta = currencyPairs.get(currencyPair); // min_quantity or min_amount ??? - currencyPairs.put(currencyPair, new InstrumentMetaData.Builder() - .tradingFee(tradingFee) - .minimumAmount(new BigDecimal(data.get("min_quantity"))) - .maximumAmount(new BigDecimal(data.get("max_quantity"))) - .priceScale(priceScale) - .feeTiers(staticMeta != null ? staticMeta.getFeeTiers() : null) + currencyPairs.put( + currencyPair, + new InstrumentMetaData.Builder() + .tradingFee(tradingFee) + .minimumAmount(new BigDecimal(data.get("min_quantity"))) + .maximumAmount(new BigDecimal(data.get("max_quantity"))) + .priceScale(priceScale) + .feeTiers(staticMeta != null ? staticMeta.getFeeTiers() : null) .build()); if (!currencies.containsKey(currencyPair.base)) diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/Ftx.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/Ftx.java index a0b0995f33b..9374d3bad17 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/Ftx.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/Ftx.java @@ -1,7 +1,5 @@ package org.knowm.xchange.ftx; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; @@ -9,6 +7,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.ftx.dto.FtxResponse; import org.knowm.xchange.ftx.dto.marketdata.FtxCandleDto; import org.knowm.xchange.ftx.dto.marketdata.FtxMarketDto; @@ -54,4 +54,4 @@ FtxResponse> getCandles( FtxResponse getOrderbook( @PathParam("market_name") String market, @QueryParam("depth") int depth) throws IOException, FtxException; -} \ No newline at end of file +} diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/FtxAdapters.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/FtxAdapters.java index 406f621ff22..e147d713395 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/FtxAdapters.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/FtxAdapters.java @@ -156,7 +156,8 @@ public static ExchangeMetaData adaptExchangeMetaData(FtxMarketsDto marketsDto) { .amountStepSize(ftxMarketDto.getSizeIncrement()) .minimumAmount(ftxMarketDto.getSizeIncrement()) .priceScale(ftxMarketDto.getPriceIncrement().scale()) - .volumeScale(Math.max(0,ftxMarketDto.getSizeIncrement().stripTrailingZeros().scale())) + .volumeScale( + Math.max(0, ftxMarketDto.getSizeIncrement().stripTrailingZeros().scale())) .build(); if ("spot".equals(ftxMarketDto.getType())) { @@ -437,18 +438,25 @@ public static Ticker adaptTicker( public static FtxConditionalOrderRequestPayload adaptStopOrderToFtxOrderPayload( StopOrder stopOrder) throws IOException { return adaptConditionalOrderToFtxOrderPayload( - adaptTriggerOrderIntention((stopOrder.getIntention() == null) ? StopOrder.Intention.STOP_LOSS : stopOrder.getIntention()), + adaptTriggerOrderIntention( + (stopOrder.getIntention() == null) + ? StopOrder.Intention.STOP_LOSS + : stopOrder.getIntention()), stopOrder, stopOrder.getLimitPrice(), stopOrder.getStopPrice(), null); } - public static FtxConditionalOrderType adaptTriggerOrderIntention(StopOrder.Intention stopOrderIntention) throws IOException { - switch (stopOrderIntention){ - case STOP_LOSS: return FtxConditionalOrderType.stop; - case TAKE_PROFIT: return FtxConditionalOrderType.take_profit; - default: throw new IOException("StopOrder Intention is not supported."); + public static FtxConditionalOrderType adaptTriggerOrderIntention( + StopOrder.Intention stopOrderIntention) throws IOException { + switch (stopOrderIntention) { + case STOP_LOSS: + return FtxConditionalOrderType.stop; + case TAKE_PROFIT: + return FtxConditionalOrderType.take_profit; + default: + throw new IOException("StopOrder Intention is not supported."); } } diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/FtxAuthenticated.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/FtxAuthenticated.java index 26f315d483d..e6b460eab89 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/FtxAuthenticated.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/FtxAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.ftx; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.ftx.dto.FtxResponse; import org.knowm.xchange.ftx.dto.account.FtxAccountDto; import org.knowm.xchange.ftx.dto.account.FtxBorrowingHistoryDto; @@ -420,4 +420,4 @@ FtxResponse> getTriggers( @HeaderParam("FTX-SUBACCOUNT") String subaccount, @PathParam("id") String id) throws IOException, FtxException; -} \ No newline at end of file +} diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/account/FtxBorrowingHistoryDto.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/account/FtxBorrowingHistoryDto.java index 9440764293a..b292b323d87 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/account/FtxBorrowingHistoryDto.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/account/FtxBorrowingHistoryDto.java @@ -25,12 +25,12 @@ public class FtxBorrowingHistoryDto { private final BigDecimal feeUsd; public FtxBorrowingHistoryDto( - @JsonProperty("coin") String coin, - @JsonProperty("cost") BigDecimal cost, - @JsonProperty("rate") BigDecimal rate, - @JsonProperty("size") BigDecimal size, - @JsonProperty("time") Date time, - @JsonProperty("feeUsd") BigDecimal feeUsd) { + @JsonProperty("coin") String coin, + @JsonProperty("cost") BigDecimal cost, + @JsonProperty("rate") BigDecimal rate, + @JsonProperty("size") BigDecimal size, + @JsonProperty("time") Date time, + @JsonProperty("feeUsd") BigDecimal feeUsd) { this.coin = coin; this.cost = cost; this.rate = rate; @@ -66,19 +66,19 @@ public BigDecimal getFeeUsd() { @Override public String toString() { return "FtxBorrowingHistoryDto{" - + "coin='" - + coin - + '\'' - + ", cost=" - + cost - + ", rate=" - + rate - + ", size=" - + size - + ", time=" - + time - + ", feeUsd=" - + feeUsd - + '}'; + + "coin='" + + coin + + '\'' + + ", cost=" + + cost + + ", rate=" + + rate + + ", size=" + + size + + ", time=" + + time + + ", feeUsd=" + + feeUsd + + '}'; } } diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/CancelAllFtxOrdersParams.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/CancelAllFtxOrdersParams.java index 90939cdbe51..a8eac80a7ab 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/CancelAllFtxOrdersParams.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/CancelAllFtxOrdersParams.java @@ -9,17 +9,14 @@ public class CancelAllFtxOrdersParams implements CancelOrderParams { private final boolean conditionalOrdersOnly; - public CancelAllFtxOrdersParams( - @JsonProperty("market") String market - ) { + public CancelAllFtxOrdersParams(@JsonProperty("market") String market) { this.market = market; this.conditionalOrdersOnly = false; } public CancelAllFtxOrdersParams( - @JsonProperty("market") String market, - @JsonProperty("conditionalOrdersOnly") boolean conditionalOrdersOnly - ) { + @JsonProperty("market") String market, + @JsonProperty("conditionalOrdersOnly") boolean conditionalOrdersOnly) { this.market = market; this.conditionalOrdersOnly = conditionalOrdersOnly; } @@ -34,9 +31,12 @@ public boolean isConditionalOrdersOnly() { @Override public String toString() { - return "CancelAllFtxOrdersParams{" + - "market='" + market + '\'' + - ", conditionalOrdersOnly=" + conditionalOrdersOnly + - '}'; + return "CancelAllFtxOrdersParams{" + + "market='" + + market + + '\'' + + ", conditionalOrdersOnly=" + + conditionalOrdersOnly + + '}'; } } diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/FtxFillDto.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/FtxFillDto.java index 66deb5f2d27..bc13fa73673 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/FtxFillDto.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/FtxFillDto.java @@ -2,7 +2,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; - import java.math.BigDecimal; import java.util.Date; @@ -102,18 +101,34 @@ public BigDecimal getFeeRate() { @Override public String toString() { - return "FtxFillDto{" + - "time=" + time + - ", id='" + id + '\'' + - ", market='" + market + '\'' + - ", price=" + price + - ", side=" + side + - ", size=" + size + - ", orderId='" + orderId + '\'' + - ", tradeId='" + tradeId + '\'' + - ", fee=" + fee + - ", feeCurrency='" + feeCurrency + '\'' + - ", feeRate=" + feeRate + - '}'; + return "FtxFillDto{" + + "time=" + + time + + ", id='" + + id + + '\'' + + ", market='" + + market + + '\'' + + ", price=" + + price + + ", side=" + + side + + ", size=" + + size + + ", orderId='" + + orderId + + '\'' + + ", tradeId='" + + tradeId + + '\'' + + ", fee=" + + fee + + ", feeCurrency='" + + feeCurrency + + '\'' + + ", feeRate=" + + feeRate + + '}'; } } diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/FtxTriggerOpenOrdersParams.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/FtxTriggerOpenOrdersParams.java index 0d0f28e69aa..cd5bcfb96a4 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/FtxTriggerOpenOrdersParams.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/dto/trade/FtxTriggerOpenOrdersParams.java @@ -5,19 +5,19 @@ public class FtxTriggerOpenOrdersParams implements OpenOrdersParamCurrencyPair { - private CurrencyPair currencyPair; + private CurrencyPair currencyPair; - public FtxTriggerOpenOrdersParams(CurrencyPair currencyPair) { - this.currencyPair = currencyPair; - } + public FtxTriggerOpenOrdersParams(CurrencyPair currencyPair) { + this.currencyPair = currencyPair; + } - @Override - public CurrencyPair getCurrencyPair() { - return currencyPair; - } + @Override + public CurrencyPair getCurrencyPair() { + return currencyPair; + } - @Override - public void setCurrencyPair(CurrencyPair pair) { - this.currencyPair = pair; - } + @Override + public void setCurrencyPair(CurrencyPair pair) { + this.currencyPair = pair; + } } diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxDigest.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxDigest.java index a9373f8d81a..6f41ee2deeb 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxDigest.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxDigest.java @@ -1,8 +1,8 @@ package org.knowm.xchange.ftx.service; +import jakarta.ws.rs.HeaderParam; import java.nio.charset.StandardCharsets; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.exceptions.ExchangeException; import org.knowm.xchange.service.BaseParamsDigest; import org.knowm.xchange.utils.DigestUtils; @@ -51,4 +51,4 @@ public String digestParams(RestInvocation restInvocation) { return DigestUtils.bytesToHex(mac256.doFinal()).toLowerCase(); } -} \ No newline at end of file +} diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxTradeService.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxTradeService.java index da1fc95b1c5..ebe6d0bbd2c 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxTradeService.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxTradeService.java @@ -3,7 +3,6 @@ import java.io.IOException; import java.util.Collection; import java.util.Collections; - import org.knowm.xchange.Exchange; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.account.OpenPositions; @@ -39,7 +38,8 @@ public String placeLimitOrder(LimitOrder limitOrder) throws IOException { @Override public String placeStopOrder(StopOrder stopOrder) throws IOException { - return placeStopOrderForSubAccount(exchange.getExchangeSpecification().getUserName(), stopOrder); + return placeStopOrderForSubAccount( + exchange.getExchangeSpecification().getUserName(), stopOrder); } @Override @@ -49,11 +49,14 @@ public UserTrades getTradeHistory(TradeHistoryParams params) throws IOException @Override public Collection cancelAllOrders(CancelAllOrders orderParams) throws IOException { - if(orderParams instanceof CancelAllFtxOrdersParams){ - cancelAllFtxOrders(exchange.getExchangeSpecification().getUserName(), (CancelAllFtxOrdersParams) orderParams); + if (orderParams instanceof CancelAllFtxOrdersParams) { + cancelAllFtxOrders( + exchange.getExchangeSpecification().getUserName(), + (CancelAllFtxOrdersParams) orderParams); return Collections.singletonList(""); } else { - throw new IOException("Cancel all orders supports only "+ CancelAllFtxOrdersParams.class.getSimpleName()); + throw new IOException( + "Cancel all orders supports only " + CancelAllFtxOrdersParams.class.getSimpleName()); } } diff --git a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxTradeServiceRaw.java b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxTradeServiceRaw.java index 618795a21ec..74057fc6aab 100644 --- a/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxTradeServiceRaw.java +++ b/xchange-ftx/src/main/java/org/knowm/xchange/ftx/service/FtxTradeServiceRaw.java @@ -1,5 +1,9 @@ package org.knowm.xchange.ftx.service; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import org.knowm.xchange.Exchange; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.Order; @@ -14,11 +18,6 @@ import org.knowm.xchange.service.trade.params.orders.OpenOrdersParamCurrencyPair; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - public class FtxTradeServiceRaw extends FtxBaseService { public FtxTradeServiceRaw(Exchange exchange) { @@ -26,57 +25,57 @@ public FtxTradeServiceRaw(Exchange exchange) { } public String placeMarketOrderForSubaccount(String subaccount, MarketOrder marketOrder) - throws IOException { + throws IOException { return placeNewFtxOrder(subaccount, FtxAdapters.adaptMarketOrderToFtxOrderPayload(marketOrder)) - .getResult() - .getId(); + .getResult() + .getId(); } public String placeLimitOrderForSubaccount(String subaccount, LimitOrder limitOrder) - throws IOException { + throws IOException { return placeNewFtxOrder(subaccount, FtxAdapters.adaptLimitOrderToFtxOrderPayload(limitOrder)) - .getResult() - .getId(); + .getResult() + .getId(); } public FtxResponse placeNewFtxOrder( - String subaccount, FtxOrderRequestPayload payload) throws FtxException, IOException { + String subaccount, FtxOrderRequestPayload payload) throws FtxException, IOException { try { return ftx.placeOrder( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - payload); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + payload); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public FtxResponse modifyFtxOrder( - String subaccount, String orderId, FtxModifyOrderRequestPayload payload) - throws FtxException, IOException { + String subaccount, String orderId, FtxModifyOrderRequestPayload payload) + throws FtxException, IOException { return ftx.modifyOrder( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - orderId, - payload); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + orderId, + payload); } public FtxResponse modifyFtxOrderByClientId( - String subaccount, String clientId, FtxModifyOrderRequestPayload payload) - throws FtxException, IOException { + String subaccount, String clientId, FtxModifyOrderRequestPayload payload) + throws FtxException, IOException { return ftx.modifyOrderByClientId( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - clientId, - payload); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + clientId, + payload); } public boolean cancelOrderForSubaccount(String subaccount, String orderId) throws IOException { @@ -84,72 +83,72 @@ public boolean cancelOrderForSubaccount(String subaccount, String orderId) throw } public boolean cancelFtxOrder(String subaccount, String orderId) - throws FtxException, IOException { + throws FtxException, IOException { try { return ftx.cancelOrder( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - orderId) - .isSuccess(); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + orderId) + .isSuccess(); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public boolean cancelFtxByClientId(String subaccount, String clientId) - throws FtxException, IOException { + throws FtxException, IOException { try { return ftx.cancelOrderByClientId( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - clientId) - .isSuccess(); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + clientId) + .isSuccess(); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public boolean cancelOrderForSubaccount(String subaccount, CancelOrderParams orderParams) - throws IOException { + throws IOException { if (orderParams instanceof CancelOrderByCurrencyPair) { return cancelAllFtxOrders( - subaccount, - new CancelAllFtxOrdersParams( - FtxAdapters.adaptCurrencyPairToFtxMarket( - ((CancelOrderByCurrencyPair) orderParams).getCurrencyPair()))); + subaccount, + new CancelAllFtxOrdersParams( + FtxAdapters.adaptCurrencyPairToFtxMarket( + ((CancelOrderByCurrencyPair) orderParams).getCurrencyPair()))); } else if (orderParams instanceof CancelOrderByUserReferenceParams) { return cancelFtxByClientId( - subaccount, ((CancelOrderByUserReferenceParams) orderParams).getUserReference()); + subaccount, ((CancelOrderByUserReferenceParams) orderParams).getUserReference()); } else if (orderParams instanceof CancelConditionalOrderFtxParams) { return cancelFtxConditionalOrderForSubAccount( - subaccount, ((CancelConditionalOrderFtxParams) orderParams).getOrderId()); + subaccount, ((CancelConditionalOrderFtxParams) orderParams).getOrderId()); } else { throw new IOException( - "CancelOrderParams must implement CancelOrderByCurrencyPair interface."); + "CancelOrderParams must implement CancelOrderByCurrencyPair interface."); } } public boolean cancelAllFtxOrders(String subaccount, CancelAllFtxOrdersParams payLoad) - throws FtxException, IOException { + throws FtxException, IOException { try { return ftx.cancelAllOrders( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - payLoad) - .isSuccess(); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + payLoad) + .isSuccess(); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public Collection getOrderFromSubaccount(String subaccount, String... orderIds) - throws IOException { + throws IOException { List orderList = new ArrayList<>(); for (String orderId : orderIds) { Order order = FtxAdapters.adaptLimitOrder(getFtxOrderStatus(subaccount, orderId).getResult()); @@ -159,105 +158,104 @@ public Collection getOrderFromSubaccount(String subaccount, String... ord } public FtxResponse> getFtxOpenOrders(String subaccount, String market) - throws FtxException, IOException { + throws FtxException, IOException { try { return ftx.openOrders( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - market); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + market); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public OpenOrders getOrderHistoryForSubaccount(String subaccount, TradeHistoryParams params) - throws IOException { + throws IOException { if (params instanceof TradeHistoryParamCurrencyPair) { return FtxAdapters.adaptOpenOrders( - getFtxOrderHistory( - subaccount, - FtxAdapters.adaptCurrencyPairToFtxMarket( - ((TradeHistoryParamCurrencyPair) params).getCurrencyPair()), - ((TradeHistoryParamsAll) params).getStartTime().getTime(), - ((TradeHistoryParamsAll) params).getEndTime().getTime()) - ); + getFtxOrderHistory( + subaccount, + FtxAdapters.adaptCurrencyPairToFtxMarket( + ((TradeHistoryParamCurrencyPair) params).getCurrencyPair()), + ((TradeHistoryParamsAll) params).getStartTime().getTime(), + ((TradeHistoryParamsAll) params).getEndTime().getTime())); } else if (params instanceof TradeHistoryParamInstrument) { CurrencyPair currencyPair = - new CurrencyPair(((TradeHistoryParamInstrument) params).getInstrument().toString()); + new CurrencyPair(((TradeHistoryParamInstrument) params).getInstrument().toString()); return FtxAdapters.adaptOpenOrders( - getFtxOrderHistory( - subaccount, - FtxAdapters.adaptCurrencyPairToFtxMarket(currencyPair), - null, - null)); + getFtxOrderHistory( + subaccount, FtxAdapters.adaptCurrencyPairToFtxMarket(currencyPair), null, null)); } else { throw new IOException( - "TradeHistoryParams must implement TradeHistoryParamCurrencyPair or TradeHistoryParamInstrument interface."); + "TradeHistoryParams must implement TradeHistoryParamCurrencyPair or TradeHistoryParamInstrument interface."); } } public UserTrades getTradeHistoryForSubaccount(String subaccount, TradeHistoryParams params) - throws IOException { + throws IOException { if (params instanceof TradeHistoryParamsAll) { CurrencyPair currencyPair = - new CurrencyPair(((TradeHistoryParamsAll) params).getInstrument().toString()); + new CurrencyPair(((TradeHistoryParamsAll) params).getInstrument().toString()); return FtxAdapters.adaptUserTrades( - getFtxFills( - subaccount, - FtxAdapters.adaptCurrencyPairToFtxMarket(currencyPair), - ((TradeHistoryParamsAll) params).getStartTime().getTime(), - ((TradeHistoryParamsAll) params).getEndTime().getTime()) - .getResult()); + getFtxFills( + subaccount, + FtxAdapters.adaptCurrencyPairToFtxMarket(currencyPair), + ((TradeHistoryParamsAll) params).getStartTime().getTime(), + ((TradeHistoryParamsAll) params).getEndTime().getTime()) + .getResult()); } else if (params instanceof TradeHistoryParamCurrencyPair) { return FtxAdapters.adaptUserTrades( - getFtxFills( - subaccount, - FtxAdapters.adaptCurrencyPairToFtxMarket(((TradeHistoryParamCurrencyPair) params).getCurrencyPair()), - null, - null) - .getResult()); + getFtxFills( + subaccount, + FtxAdapters.adaptCurrencyPairToFtxMarket( + ((TradeHistoryParamCurrencyPair) params).getCurrencyPair()), + null, + null) + .getResult()); } else if (params instanceof TradeHistoryParamInstrument) { CurrencyPair currencyPair = - new CurrencyPair(((TradeHistoryParamInstrument) params).getInstrument().toString()); + new CurrencyPair(((TradeHistoryParamInstrument) params).getInstrument().toString()); return FtxAdapters.adaptUserTrades( - getFtxFills(subaccount, FtxAdapters.adaptCurrencyPairToFtxMarket(currencyPair), null, null) - .getResult()); + getFtxFills( + subaccount, FtxAdapters.adaptCurrencyPairToFtxMarket(currencyPair), null, null) + .getResult()); } else { throw new IOException( - "TradeHistoryParams must implement TradeHistoryParamCurrencyPair or TradeHistoryParamInstrument interface."); + "TradeHistoryParams must implement TradeHistoryParamCurrencyPair or TradeHistoryParamInstrument interface."); } } public FtxResponse> getFtxOrderHistory( - String subaccount, String market, Long startTime, Long endTime) - throws FtxException, IOException { + String subaccount, String market, Long startTime, Long endTime) + throws FtxException, IOException { try { return ftx.orderHistory( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - market, - startTime, - endTime); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + market, + startTime, + endTime); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } - public FtxResponse> getFtxFills(String subaccount, String market, Long startTime, Long endTime) - throws FtxException, IOException { + public FtxResponse> getFtxFills( + String subaccount, String market, Long startTime, Long endTime) + throws FtxException, IOException { try { return ftx.fills( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - market, - startTime, - endTime); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + market, + startTime, + endTime); } catch (FtxException e) { throw new FtxException(e.getMessage()); } @@ -268,46 +266,46 @@ public OpenOrders getOpenOrdersForSubaccount(String subaccount) throws IOExcepti } public OpenOrders getOpenOrdersForSubaccount(String subaccount, OpenOrdersParams params) - throws IOException { + throws IOException { if (params instanceof FtxTriggerOpenOrdersParams) { return FtxAdapters.adaptTriggerOpenOrders( - getFtxOpenConditionalOrdersForSubAccount( - subaccount, - FtxAdapters.adaptCurrencyPairToFtxMarket( - ((OpenOrdersParamCurrencyPair) params).getCurrencyPair()))); + getFtxOpenConditionalOrdersForSubAccount( + subaccount, + FtxAdapters.adaptCurrencyPairToFtxMarket( + ((OpenOrdersParamCurrencyPair) params).getCurrencyPair()))); } else if (params instanceof CurrencyPairParam) { return FtxAdapters.adaptOpenOrders( - getFtxOpenOrders( - subaccount, - FtxAdapters.adaptCurrencyPairToFtxMarket( - ((CurrencyPairParam) params).getCurrencyPair()))); + getFtxOpenOrders( + subaccount, + FtxAdapters.adaptCurrencyPairToFtxMarket( + ((CurrencyPairParam) params).getCurrencyPair()))); } else { throw new IOException("OpenOrdersParams must implement CurrencyPairParam interface."); } } public FtxResponse> getFtxAllOpenOrdersForSubaccount(String subaccount) - throws FtxException, IOException { + throws FtxException, IOException { try { return ftx.openOrdersWithoutMarket( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public FtxResponse getFtxOrderStatus(String subaccount, String orderId) - throws FtxException, IOException { + throws FtxException, IOException { try { return ftx.getOrderStatus( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - orderId); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + orderId); } catch (FtxException e) { throw new FtxException(e.getMessage()); } @@ -318,30 +316,30 @@ public OpenPositions getOpenPositionsForSubaccount(String subaccount) throws IOE } public FtxResponse> getFtxPositions(String subaccount) - throws FtxException, IOException { + throws FtxException, IOException { try { return ftx.getFtxPositions( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - true); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + true); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public String placeStopOrderForSubAccount(String subaccount, StopOrder stopOrder) - throws IOException { + throws IOException { return placeNewFtxConditionalOrderForSubAccount( subaccount, FtxAdapters.adaptStopOrderToFtxOrderPayload(stopOrder)) - .getResult() - .getId(); + .getResult() + .getId(); } public boolean cancelStopOrder(String orderId) throws IOException { return cancelFtxConditionalOrderForSubAccount( - exchange.getExchangeSpecification().getUserName(), orderId); + exchange.getExchangeSpecification().getUserName(), orderId); } public String changeStopOrder(StopOrder stopOrder) throws IOException { @@ -349,90 +347,90 @@ public String changeStopOrder(StopOrder stopOrder) throws IOException { exchange.getExchangeSpecification().getUserName(), stopOrder.getId(), FtxAdapters.adaptModifyConditionalOrderToFtxOrderPayload(stopOrder)) - .getResult() - .getId(); + .getResult() + .getId(); } public FtxResponse placeNewFtxConditionalOrderForSubAccount( - String subaccount, FtxConditionalOrderRequestPayload payload) - throws FtxException, IOException { + String subaccount, FtxConditionalOrderRequestPayload payload) + throws FtxException, IOException { try { return ftx.placeConditionalOrder( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - payload); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + payload); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public FtxResponse modifyFtxConditionalOrderForSubAccount( - String subaccount, String orderId, FtxModifyConditionalOrderRequestPayload payload) - throws FtxException, IOException { + String subaccount, String orderId, FtxModifyConditionalOrderRequestPayload payload) + throws FtxException, IOException { return ftx.modifyConditionalOrder( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - orderId, - payload); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + orderId, + payload); } public boolean cancelFtxConditionalOrderForSubAccount(String subaccount, String orderId) - throws FtxException, IOException { + throws FtxException, IOException { try { return ftx.cancelConditionalOrder( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - orderId) - .isSuccess(); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + orderId) + .isSuccess(); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public FtxResponse> getFtxOpenConditionalOrdersForSubAccount( - String subaccount, String market) throws FtxException, IOException { + String subaccount, String market) throws FtxException, IOException { try { return ftx.openConditionalOrders( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - market); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + market); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public FtxResponse> getFtxConditionalOrderHistory( - String subaccount, String market) throws FtxException, IOException { + String subaccount, String market) throws FtxException, IOException { try { return ftx.conditionalOrderHistory( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - market); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + market); } catch (FtxException e) { throw new FtxException(e.getMessage()); } } public FtxResponse> getFtxTriggersForSubAccount( - String subaccount, String orderId) throws FtxException, IOException { + String subaccount, String orderId) throws FtxException, IOException { try { return ftx.getTriggers( - exchange.getExchangeSpecification().getApiKey(), - exchange.getNonceFactory().createValue(), - signatureCreator, - subaccount, - orderId); + exchange.getExchangeSpecification().getApiKey(), + exchange.getNonceFactory().createValue(), + signatureCreator, + subaccount, + orderId); } catch (FtxException e) { throw new FtxException(e.getMessage()); } @@ -440,6 +438,6 @@ public FtxResponse> getFtxTriggersForSubAccount( public List getFtxTriggers(String orderId) throws FtxException, IOException { return getFtxTriggersForSubAccount(exchange.getExchangeSpecification().getUserName(), orderId) - .getResult(); + .getResult(); } } diff --git a/xchange-ftx/src/test/java/org/knowm/xchange/ftx/FtxAdapterTest.java b/xchange-ftx/src/test/java/org/knowm/xchange/ftx/FtxAdapterTest.java index a77ac89b9fb..0aa8890c1e3 100644 --- a/xchange-ftx/src/test/java/org/knowm/xchange/ftx/FtxAdapterTest.java +++ b/xchange-ftx/src/test/java/org/knowm/xchange/ftx/FtxAdapterTest.java @@ -112,13 +112,13 @@ public void adaptStopOrderToFtxOrderPayloadTest() throws IOException { BigDecimal stopPrice = BigDecimal.valueOf(42000); StopOrder stopOrder = - new StopOrder.Builder(orderType,currencyPair) - .originalAmount(amount) - .timestamp(date) - .stopPrice(stopPrice) - .limitPrice(limitPrice) - .intention(StopOrder.Intention.STOP_LOSS) - .build(); + new StopOrder.Builder(orderType, currencyPair) + .originalAmount(amount) + .timestamp(date) + .stopPrice(stopPrice) + .limitPrice(limitPrice) + .intention(StopOrder.Intention.STOP_LOSS) + .build(); stopOrder.addOrderFlag(FtxOrderFlags.REDUCE_ONLY); stopOrder.addOrderFlag(FtxOrderFlags.RETRY_UNTIL_FILLED); diff --git a/xchange-ftx/src/test/java/org/knowm/xchange/ftx/dto/trade/TradeDtosTest.java b/xchange-ftx/src/test/java/org/knowm/xchange/ftx/dto/trade/TradeDtosTest.java index c9ecd274ab0..577140f793c 100644 --- a/xchange-ftx/src/test/java/org/knowm/xchange/ftx/dto/trade/TradeDtosTest.java +++ b/xchange-ftx/src/test/java/org/knowm/xchange/ftx/dto/trade/TradeDtosTest.java @@ -9,7 +9,6 @@ import java.math.BigDecimal; import java.util.List; import org.junit.Test; -import org.knowm.xchange.dto.Order; import org.knowm.xchange.ftx.dto.FtxResponse; public class TradeDtosTest { @@ -97,20 +96,19 @@ public void openConditionalOrdersDtoUnmarshall() throws IOException { public void triggerDtoUnmarshall() throws IOException { // Read in the JSON from the example resources InputStream is = - TradeDtosTest.class.getResourceAsStream("/responses/example-ftxConditionalOrderTriggers.json"); + TradeDtosTest.class.getResourceAsStream( + "/responses/example-ftxConditionalOrderTriggers.json"); // Use Jackson to parse it ObjectMapper mapper = new ObjectMapper(); FtxResponse> ftxResponse = mapper.readValue(is, new TypeReference>>() {}); - // Verify that the example data was unmarshalled correctly assertThat(ftxResponse.getResult().size()).isEqualTo(1); assertThat(ftxResponse.getResult().get(0).getError()).isEqualTo("error"); assertThat(ftxResponse.getResult().get(0).getFilledSize()).isEqualTo(BigDecimal.valueOf(4.0)); assertThat(ftxResponse.getResult().get(0).getOrderSize()).isEqualTo(BigDecimal.valueOf(10.0)); assertThat(ftxResponse.getResult().get(0).getOrderId()).isEqualTo("38066650"); - } } diff --git a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/Gateio.java b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/Gateio.java index fb08c3e8d5f..0d11cc7758a 100644 --- a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/Gateio.java +++ b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/Gateio.java @@ -1,13 +1,13 @@ package org.knowm.xchange.gateio; -import java.io.IOException; -import java.util.Map; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Map; import org.knowm.xchange.gateio.dto.marketdata.GateioCandlestickHistory; import org.knowm.xchange.gateio.dto.marketdata.GateioCoinInfoWrapper; import org.knowm.xchange.gateio.dto.marketdata.GateioCurrencyPairs; @@ -73,4 +73,4 @@ GateioCandlestickHistory getKlinesGate( @QueryParam("range_hour") Integer hours, @QueryParam("group_sec") Long interval) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/GateioAdapters.java b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/GateioAdapters.java index 09097effad1..a9a58b8feb8 100644 --- a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/GateioAdapters.java +++ b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/GateioAdapters.java @@ -113,8 +113,7 @@ public static OrderBook adaptOrderBook(GateioDepth depth, CurrencyPair currencyP return new OrderBook(null, asks, bids); } - public static LimitOrder adaptOrder( - GateioOpenOrder order, Collection currencyPairs) { + public static LimitOrder adaptOrder(GateioOpenOrder order, Collection currencyPairs) { String[] currencyPairSplit = order.getCurrencyPair().split("_"); CurrencyPair currencyPair = new CurrencyPair(currencyPairSplit[0], currencyPairSplit[1]); @@ -238,10 +237,12 @@ public static ExchangeMetaData adaptToExchangeMetaData( CurrencyPair currencyPair = entry.getKey(); GateioMarketInfo btermarketInfo = entry.getValue(); - currencyPairs.put(currencyPair, new InstrumentMetaData.Builder() - .tradingFee(btermarketInfo.getFee()) - .minimumAmount(btermarketInfo.getMinAmount()) - .priceScale(btermarketInfo.getDecimalPlaces()) + currencyPairs.put( + currencyPair, + new InstrumentMetaData.Builder() + .tradingFee(btermarketInfo.getFee()) + .minimumAmount(btermarketInfo.getMinAmount()) + .priceScale(btermarketInfo.getDecimalPlaces()) .build()); } diff --git a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/GateioAuthenticated.java b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/GateioAuthenticated.java index 19f0d18e21c..a1346c918d3 100644 --- a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/GateioAuthenticated.java +++ b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/GateioAuthenticated.java @@ -1,8 +1,5 @@ package org.knowm.xchange.gateio; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.HeaderParam; @@ -10,6 +7,9 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Map; import org.knowm.xchange.gateio.dto.GateioBaseResponse; import org.knowm.xchange.gateio.dto.account.GateioDepositAddress; import org.knowm.xchange.gateio.dto.account.GateioDepositsWithdrawals; @@ -124,4 +124,4 @@ GateioOrderStatus getOrderStatus( Map getFeeList( @HeaderParam("KEY") String apiKey, @HeaderParam("SIGN") ParamsDigest signer) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/dto/marketdata/GateioMarketInfoWrapper.java b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/dto/marketdata/GateioMarketInfoWrapper.java index 819ce7fa203..6d2b5716dc8 100644 --- a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/dto/marketdata/GateioMarketInfoWrapper.java +++ b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/dto/marketdata/GateioMarketInfoWrapper.java @@ -47,7 +47,6 @@ public static class GateioMarketInfo { int decimalPlaces; BigDecimal minAmount; BigDecimal fee; - } static class BTERMarketInfoWrapperDeserializer extends JsonDeserializer { diff --git a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioAccountServiceRaw.java b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioAccountServiceRaw.java index c6e6b2c2abf..f7d70ba9ff1 100644 --- a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioAccountServiceRaw.java +++ b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioAccountServiceRaw.java @@ -26,7 +26,8 @@ public GateioAccountServiceRaw(GateioExchange exchange) { public GateioFunds getGateioAccountInfo() throws IOException { GateioFunds gateioFunds = - gateioAuthenticated.getFunds(exchange.getExchangeSpecification().getApiKey(), signatureCreator); + gateioAuthenticated.getFunds( + exchange.getExchangeSpecification().getApiKey(), signatureCreator); return handleResponse(gateioFunds); } diff --git a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioBaseService.java b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioBaseService.java index 81c0ba38e3c..ccac66c9159 100644 --- a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioBaseService.java +++ b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioBaseService.java @@ -26,12 +26,13 @@ public GateioBaseService(GateioExchange exchange) { super(exchange); - gateio = ExchangeRestProxyBuilder - .forInterface(Gateio.class, exchange.getExchangeSpecification()) - .build(); - gateioAuthenticated = ExchangeRestProxyBuilder - .forInterface(GateioAuthenticated.class, exchange.getExchangeSpecification()) - .build(); + gateio = + ExchangeRestProxyBuilder.forInterface(Gateio.class, exchange.getExchangeSpecification()) + .build(); + gateioAuthenticated = + ExchangeRestProxyBuilder.forInterface( + GateioAuthenticated.class, exchange.getExchangeSpecification()) + .build(); apiKey = exchange.getExchangeSpecification().getApiKey(); signatureCreator = GateioHmacPostBodyDigest.createInstance(exchange.getExchangeSpecification().getSecretKey()); diff --git a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioTradeService.java b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioTradeService.java index c2494f5e0b5..f626e6b4982 100644 --- a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioTradeService.java +++ b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioTradeService.java @@ -117,26 +117,27 @@ public Collection getOrder(OrderQueryParams... orderQueryParams) throws I List orders = new ArrayList<>(); for (OrderQueryParams param : orderQueryParams) { if (!(param instanceof DefaultQueryOrderParamCurrencyPair)) { - throw new NotAvailableFromExchangeException("getOrder in gateio needs orderId and currency pair"); + throw new NotAvailableFromExchangeException( + "getOrder in gateio needs orderId and currency pair"); } - DefaultQueryOrderParamCurrencyPair queryOrderParamCurrencyPair = (DefaultQueryOrderParamCurrencyPair) param; - GateioOrderStatus gateioOrderStatus = getGateioOrderStatus( + DefaultQueryOrderParamCurrencyPair queryOrderParamCurrencyPair = + (DefaultQueryOrderParamCurrencyPair) param; + GateioOrderStatus gateioOrderStatus = + getGateioOrderStatus( queryOrderParamCurrencyPair.getOrderId(), - queryOrderParamCurrencyPair.getCurrencyPair() - ); + queryOrderParamCurrencyPair.getCurrencyPair()); - LimitOrder limitOrder = new LimitOrder( + LimitOrder limitOrder = + new LimitOrder( GateioAdapters.adaptOrderType(gateioOrderStatus.getType()), gateioOrderStatus.getInitialAmount(), gateioOrderStatus.getInitialAmount().subtract(gateioOrderStatus.getAmount()), gateioOrderStatus.getCurrencyPair(), gateioOrderStatus.getOrderNumber(), null, - gateioOrderStatus.getInitialRate()) { - }; + gateioOrderStatus.getInitialRate()) {}; limitOrder.setAveragePrice(gateioOrderStatus.getRate()); orders.add(limitOrder); - } return orders; diff --git a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioTradeServiceRaw.java b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioTradeServiceRaw.java index 1dda010cb85..8af33843210 100644 --- a/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioTradeServiceRaw.java +++ b/xchange-gateio/src/main/java/org/knowm/xchange/gateio/service/GateioTradeServiceRaw.java @@ -90,7 +90,8 @@ public String placeGateioLimitOrder( public boolean cancelOrder(String orderId, CurrencyPair currencyPair) throws IOException { GateioBaseResponse cancelOrderResult = - gateioAuthenticated.cancelOrder(orderId, GateioUtils.toPairString(currencyPair), apiKey, signatureCreator); + gateioAuthenticated.cancelOrder( + orderId, GateioUtils.toPairString(currencyPair), apiKey, signatureCreator); return handleResponse(cancelOrderResult).isResult(); } @@ -106,14 +107,16 @@ public boolean cancelOrder(String orderId, CurrencyPair currencyPair) throws IOE public boolean cancelAllOrders(String type, CurrencyPair currencyPair) throws IOException { GateioBaseResponse cancelAllOrdersResult = - gateioAuthenticated.cancelAllOrders(type, formatCurrencyPair(currencyPair), apiKey, signatureCreator); + gateioAuthenticated.cancelAllOrders( + type, formatCurrencyPair(currencyPair), apiKey, signatureCreator); return handleResponse(cancelAllOrdersResult).isResult(); } public GateioOpenOrders getGateioOpenOrders() throws IOException { - GateioOpenOrders gateioOpenOrdersReturn = gateioAuthenticated.getOpenOrders(apiKey, signatureCreator); + GateioOpenOrders gateioOpenOrdersReturn = + gateioAuthenticated.getOpenOrders(apiKey, signatureCreator); return handleResponse(gateioOpenOrdersReturn); } @@ -132,7 +135,8 @@ public GateioTradeHistoryReturn getGateioTradeHistory(CurrencyPair currencyPair) throws IOException { GateioTradeHistoryReturn gateioTradeHistoryReturn = - gateioAuthenticated.getUserTradeHistory(apiKey, signatureCreator, GateioUtils.toPairString(currencyPair)); + gateioAuthenticated.getUserTradeHistory( + apiKey, signatureCreator, GateioUtils.toPairString(currencyPair)); return handleResponse(gateioTradeHistoryReturn); } diff --git a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/GateioExchangeTest.java b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/GateioExchangeTest.java index e495a670f15..78b28aeb2dd 100644 --- a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/GateioExchangeTest.java +++ b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/GateioExchangeTest.java @@ -11,16 +11,17 @@ public class GateioExchangeTest extends GateioExchangeWiremock { @Test public void metadata_present() { - InstrumentMetaData expected = new InstrumentMetaData.Builder() - .tradingFee(new BigDecimal("0.2")) - .minimumAmount(new BigDecimal("0.0001")) - .priceScale(1) - .marketOrderEnabled(false) - .build(); + InstrumentMetaData expected = + new InstrumentMetaData.Builder() + .tradingFee(new BigDecimal("0.2")) + .minimumAmount(new BigDecimal("0.0001")) + .priceScale(1) + .marketOrderEnabled(false) + .build(); - InstrumentMetaData actual = exchange.getExchangeMetaData().getInstruments().get(CurrencyPair.BTC_USDT); + InstrumentMetaData actual = + exchange.getExchangeMetaData().getInstruments().get(CurrencyPair.BTC_USDT); assertThat(actual).usingRecursiveComparison().isEqualTo(expected); } - -} \ No newline at end of file +} diff --git a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/GateioExchangeWiremock.java b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/GateioExchangeWiremock.java index af1d5344e51..a7e46c47f81 100644 --- a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/GateioExchangeWiremock.java +++ b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/GateioExchangeWiremock.java @@ -10,9 +10,7 @@ import org.knowm.xchange.ExchangeFactory; import org.knowm.xchange.ExchangeSpecification; -/** - * Sets up the wiremock for exchange - */ +/** Sets up the wiremock for exchange */ public abstract class GateioExchangeWiremock { protected static GateioExchange exchange; @@ -34,22 +32,16 @@ public static void initExchange() { .forTarget("https://api.gateio.ws") .matchRequestBodyWithEqualToJson() .extractTextBodiesOver(1L) - .chooseBodyMatchTypeAutomatically() - ); - + .chooseBodyMatchTypeAutomatically()); } exchange = (GateioExchange) ExchangeFactory.INSTANCE.createExchange(exSpec); - } - @AfterClass public static void stop() { if (IS_RECORDING) { wireMockRule.stopRecording(); } } - - -} \ No newline at end of file +} diff --git a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/GateioMarketDataServiceRawTest.java b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/GateioMarketDataServiceRawTest.java index 2af50296dde..b950fc761ba 100644 --- a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/GateioMarketDataServiceRawTest.java +++ b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/GateioMarketDataServiceRawTest.java @@ -14,19 +14,24 @@ public class GateioMarketDataServiceRawTest extends GateioExchangeWiremock { - GateioMarketDataServiceRaw gateioMarketDataServiceRaw = (GateioMarketDataServiceRaw) exchange.getMarketDataService(); + GateioMarketDataServiceRaw gateioMarketDataServiceRaw = + (GateioMarketDataServiceRaw) exchange.getMarketDataService(); @Test public void valid_marketinfo() throws IOException { Map expected = new HashMap<>(); - expected.put(CurrencyPair.BTC_USDT, - new GateioMarketInfo(CurrencyPair.BTC_USDT, 1, new BigDecimal("0.00010"), new BigDecimal("0.2"))); - expected.put(CurrencyPair.ETH_USDT, - new GateioMarketInfo(CurrencyPair.ETH_USDT, 2, new BigDecimal("0.001"), new BigDecimal("0.2"))); - - Map actual = gateioMarketDataServiceRaw.getGateioMarketInfo(); + expected.put( + CurrencyPair.BTC_USDT, + new GateioMarketInfo( + CurrencyPair.BTC_USDT, 1, new BigDecimal("0.00010"), new BigDecimal("0.2"))); + expected.put( + CurrencyPair.ETH_USDT, + new GateioMarketInfo( + CurrencyPair.ETH_USDT, 2, new BigDecimal("0.001"), new BigDecimal("0.2"))); + + Map actual = + gateioMarketDataServiceRaw.getGateioMarketInfo(); assertThat(actual).isEqualTo(expected); } - -} \ No newline at end of file +} diff --git a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/GateioMarketDataServiceTest.java b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/GateioMarketDataServiceTest.java index 009512e90c0..23026bcfcc3 100644 --- a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/GateioMarketDataServiceTest.java +++ b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/GateioMarketDataServiceTest.java @@ -15,37 +15,41 @@ public class GateioMarketDataServiceTest extends GateioExchangeWiremock { - GateioMarketDataService gateioMarketDataService = (GateioMarketDataService) exchange.getMarketDataService(); - + GateioMarketDataService gateioMarketDataService = + (GateioMarketDataService) exchange.getMarketDataService(); @Test public void valid_orderbook() throws IOException { OrderBook actual = gateioMarketDataService.getOrderBook(CurrencyPair.BTC_USDT); List expectedAsks = new ArrayList<>(); - expectedAsks.add(new LimitOrder.Builder(OrderType.ASK, CurrencyPair.BTC_USDT) - .id("") - .limitPrice(new BigDecimal("200")) - .originalAmount(BigDecimal.ONE) - .build()); - expectedAsks.add(new LimitOrder.Builder(OrderType.ASK, CurrencyPair.BTC_USDT) - .id("") - .limitPrice(new BigDecimal("250")) - .originalAmount(BigDecimal.TEN) - .build()); + expectedAsks.add( + new LimitOrder.Builder(OrderType.ASK, CurrencyPair.BTC_USDT) + .id("") + .limitPrice(new BigDecimal("200")) + .originalAmount(BigDecimal.ONE) + .build()); + expectedAsks.add( + new LimitOrder.Builder(OrderType.ASK, CurrencyPair.BTC_USDT) + .id("") + .limitPrice(new BigDecimal("250")) + .originalAmount(BigDecimal.TEN) + .build()); List expectedBids = new ArrayList<>(); - expectedBids.add(new LimitOrder.Builder(OrderType.BID, CurrencyPair.BTC_USDT) - .id("") - .limitPrice(new BigDecimal("150")) - .originalAmount(BigDecimal.ONE) - .build()); - expectedBids.add(new LimitOrder.Builder(OrderType.BID, CurrencyPair.BTC_USDT) - .id("") - .limitPrice(new BigDecimal("100")) - .originalAmount(BigDecimal.TEN) - .build()); -// Date expectedTimestamp = Date.from(Instant.parse("2023-05-14T22:10:10.493Z")); + expectedBids.add( + new LimitOrder.Builder(OrderType.BID, CurrencyPair.BTC_USDT) + .id("") + .limitPrice(new BigDecimal("150")) + .originalAmount(BigDecimal.ONE) + .build()); + expectedBids.add( + new LimitOrder.Builder(OrderType.BID, CurrencyPair.BTC_USDT) + .id("") + .limitPrice(new BigDecimal("100")) + .originalAmount(BigDecimal.TEN) + .build()); + // Date expectedTimestamp = Date.from(Instant.parse("2023-05-14T22:10:10.493Z")); OrderBook expected = new OrderBook(null, expectedAsks, expectedBids); @@ -54,4 +58,4 @@ public void valid_orderbook() throws IOException { .ignoringFieldsMatchingRegexes(".*userReference") .isEqualTo(expected); } -} \ No newline at end of file +} diff --git a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/marketdata/TickerFetchIntegration.java b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/marketdata/TickerFetchIntegration.java index 21b65fbeda1..7a100d6568f 100644 --- a/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/marketdata/TickerFetchIntegration.java +++ b/xchange-gateio/src/test/java/org/knowm/xchange/gateio/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.gateio.GateioExchange; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/Gemini.java b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/Gemini.java index de7da662378..a5c7a2f0e4b 100644 --- a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/Gemini.java +++ b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/Gemini.java @@ -1,13 +1,13 @@ package org.knowm.xchange.gemini.v1; -import java.io.IOException; -import java.util.Set; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Set; import org.knowm.xchange.gemini.v1.dto.GeminiException; import org.knowm.xchange.gemini.v1.dto.marketdata.GeminiDepth; import org.knowm.xchange.gemini.v1.dto.marketdata.GeminiLend; @@ -62,4 +62,4 @@ GeminiLend[] getLends( @GET @Path("symbols") Set getSymbols() throws IOException, GeminiException; -} \ No newline at end of file +} diff --git a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/GeminiAuthenticated.java b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/GeminiAuthenticated.java index 2254f482eab..640ac54745d 100644 --- a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/GeminiAuthenticated.java +++ b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/GeminiAuthenticated.java @@ -1,6 +1,5 @@ package org.knowm.xchange.gemini.v1; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; @@ -8,6 +7,7 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.gemini.v1.dto.GeminiException; import org.knowm.xchange.gemini.v1.dto.account.GeminiBalancesRequest; import org.knowm.xchange.gemini.v1.dto.account.GeminiBalancesResponse; @@ -155,4 +155,4 @@ GeminiOrderStatusResponse heartBeat( @HeaderParam("X-GEMINI-SIGNATURE") ParamsDigest signatureCreator, GeminiNonceOnlyRequest nonceOnlyRequest) throws IOException, GeminiException; -} \ No newline at end of file +} diff --git a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/GeminiExchange.java b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/GeminiExchange.java index 1e50b0cb798..30f8cc8ca83 100644 --- a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/GeminiExchange.java +++ b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/GeminiExchange.java @@ -32,7 +32,9 @@ public void applySpecification(ExchangeSpecification exchangeSpecification) { private static void concludeHostParams(ExchangeSpecification exchangeSpecification) { if (exchangeSpecification.getExchangeSpecificParameters() != null) { - if (exchangeSpecification.getExchangeSpecificParametersItem(Exchange.USE_SANDBOX).equals(true)) { + if (exchangeSpecification + .getExchangeSpecificParametersItem(Exchange.USE_SANDBOX) + .equals(true)) { exchangeSpecification.setSslUri("https://api.sandbox.gemini.com"); exchangeSpecification.setHost("api.sandbox.gemini.com"); } diff --git a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/dto/account/GeminiWithdrawalRequest.java b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/dto/account/GeminiWithdrawalRequest.java index c8aa868d6cb..2e45b69c089 100644 --- a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/dto/account/GeminiWithdrawalRequest.java +++ b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/dto/account/GeminiWithdrawalRequest.java @@ -1,8 +1,8 @@ package org.knowm.xchange.gemini.v1.dto.account; import com.fasterxml.jackson.annotation.JsonProperty; -import java.math.BigDecimal; import jakarta.ws.rs.PathParam; +import java.math.BigDecimal; public class GeminiWithdrawalRequest { @@ -50,4 +50,4 @@ public String getAmount() { public String getAddress() { return address; } -} \ No newline at end of file +} diff --git a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/service/GeminiAccountServiceRaw.java b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/service/GeminiAccountServiceRaw.java index 36ca527cf01..bc965a38a3e 100644 --- a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/service/GeminiAccountServiceRaw.java +++ b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/service/GeminiAccountServiceRaw.java @@ -26,6 +26,7 @@ public class GeminiAccountServiceRaw extends GeminiBaseService { protected final List allCurrencyPairs; + /** * Constructor * @@ -34,7 +35,7 @@ public class GeminiAccountServiceRaw extends GeminiBaseService { public GeminiAccountServiceRaw(Exchange exchange) { super(exchange); this.allCurrencyPairs = - new ArrayList<>(exchange.getExchangeMetaData().getInstruments().keySet()); + new ArrayList<>(exchange.getExchangeMetaData().getInstruments().keySet()); } public List transfers(Date from, Integer limit) throws IOException { diff --git a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/service/GeminiMarketDataService.java b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/service/GeminiMarketDataService.java index a543c0d2c95..6e7ffd062f5 100644 --- a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/service/GeminiMarketDataService.java +++ b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v1/service/GeminiMarketDataService.java @@ -52,7 +52,9 @@ public Ticker getTicker(CurrencyPair currencyPair, Object... args) throws IOExce getGeminiTicker(GeminiUtils.toPairString(currencyPair)), currencyPair); } - /** @param args If two integers are provided, then those count as limit bid and limit ask count */ + /** + * @param args If two integers are provided, then those count as limit bid and limit ask count + */ @Override public OrderBook getOrderBook(CurrencyPair currencyPair, Object... args) throws IOException { diff --git a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v2/Gemini2.java b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v2/Gemini2.java index d739333589b..5f32ea92d95 100644 --- a/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v2/Gemini2.java +++ b/xchange-gemini/src/main/java/org/knowm/xchange/gemini/v2/Gemini2.java @@ -1,11 +1,11 @@ package org.knowm.xchange.gemini.v2; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.gemini.v1.dto.GeminiException; import org.knowm.xchange.gemini.v2.dto.marketdata.GeminiCandle; import org.knowm.xchange.gemini.v2.dto.marketdata.GeminiTicker2; @@ -22,4 +22,4 @@ GeminiCandle[] getCandles( @GET @Path("ticker/{symbol}") GeminiTicker2 getTicker(@PathParam("symbol") String symbol) throws IOException, GeminiException; -} \ No newline at end of file +} diff --git a/xchange-gemini/src/test/java/org/knowm/xchange/gemini/v1/GeminiAdaptersTest.java b/xchange-gemini/src/test/java/org/knowm/xchange/gemini/v1/GeminiAdaptersTest.java index f19ca65e54b..813eead2519 100644 --- a/xchange-gemini/src/test/java/org/knowm/xchange/gemini/v1/GeminiAdaptersTest.java +++ b/xchange-gemini/src/test/java/org/knowm/xchange/gemini/v1/GeminiAdaptersTest.java @@ -409,8 +409,8 @@ public void testAdaptDynamicTradingFees() throws IOException { mapper.readValue(is, GeminiTrailingVolumeResponse.class); List fakeSupportedCurrencyPairs = - new ArrayList<>( - Arrays.asList(CurrencyPair.BTC_USD, CurrencyPair.BTC_LTC, CurrencyPair.LTC_XRP)); + new ArrayList<>( + Arrays.asList(CurrencyPair.BTC_USD, CurrencyPair.BTC_LTC, CurrencyPair.LTC_XRP)); Map dynamicFees = GeminiAdapters.AdaptDynamicTradingFees(trailingVolumeResp, fakeSupportedCurrencyPairs); diff --git a/xchange-gemini/src/test/java/org/knowm/xchange/gemini/v1/service/marketdata/TickerFetchIntegration.java b/xchange-gemini/src/test/java/org/knowm/xchange/gemini/v1/service/marketdata/TickerFetchIntegration.java index 3621827302f..bd02e66181e 100644 --- a/xchange-gemini/src/test/java/org/knowm/xchange/gemini/v1/service/marketdata/TickerFetchIntegration.java +++ b/xchange-gemini/src/test/java/org/knowm/xchange/gemini/v1/service/marketdata/TickerFetchIntegration.java @@ -15,7 +15,9 @@ import org.knowm.xchange.gemini.v2.dto.marketdata.GeminiTicker2; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-globitex/src/main/java/org/knowm/xchange/globitex/Globitex.java b/xchange-globitex/src/main/java/org/knowm/xchange/globitex/Globitex.java index 0899526a0cf..a6dd298d1d2 100644 --- a/xchange-globitex/src/main/java/org/knowm/xchange/globitex/Globitex.java +++ b/xchange-globitex/src/main/java/org/knowm/xchange/globitex/Globitex.java @@ -1,12 +1,12 @@ package org.knowm.xchange.globitex; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.globitex.dto.marketdata.GlobitexOrderBook; import org.knowm.xchange.globitex.dto.marketdata.GlobitexSymbols; import org.knowm.xchange.globitex.dto.marketdata.GlobitexTicker; @@ -42,4 +42,4 @@ GlobitexTrades getRecentTradesBySymbol( @QueryParam("formatItem") String formatItem, @QueryParam("side") boolean side) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-globitex/src/main/java/org/knowm/xchange/globitex/GlobitexAdapters.java b/xchange-globitex/src/main/java/org/knowm/xchange/globitex/GlobitexAdapters.java index fd60b45c120..ddf8234e848 100644 --- a/xchange-globitex/src/main/java/org/knowm/xchange/globitex/GlobitexAdapters.java +++ b/xchange-globitex/src/main/java/org/knowm/xchange/globitex/GlobitexAdapters.java @@ -64,6 +64,7 @@ private static String convertXBTtoBTC(String symbol) { public static String adaptOrderType(Order.OrderType orderType) { return (orderType.equals(Order.OrderType.ASK)) ? "sell" : "buy"; } + // private static CurrencyPair adaptGlobitexSymbolToCurrencyPair( // String symbol, Map currencies) { // String counter = ""; @@ -266,11 +267,11 @@ public static ExchangeMetaData adaptToExchangeMetaData(GlobitexSymbols globitexS currencyPairs.put( adaptGlobitexSymbolToCurrencyPair(globitexSymbol), new InstrumentMetaData.Builder() - .tradingFee(BigDecimal.valueOf(0.002)) - .minimumAmount(globitexSymbol.getSizeMin()) - .priceScale(globitexSymbol.getPriceIncrement().scale()) - .feeTiers(resultFeeTiers.toArray(new FeeTier[resultFeeTiers.size()])) - .build()); + .tradingFee(BigDecimal.valueOf(0.002)) + .minimumAmount(globitexSymbol.getSizeMin()) + .priceScale(globitexSymbol.getPriceIncrement().scale()) + .feeTiers(resultFeeTiers.toArray(new FeeTier[resultFeeTiers.size()])) + .build()); currencies.put( new Currency(convertXBTtoBTC(globitexSymbol.getCurrency())), new CurrencyMetaData(globitexSymbol.getPriceIncrement().scale(), null)); diff --git a/xchange-globitex/src/main/java/org/knowm/xchange/globitex/GlobitexAuthenticated.java b/xchange-globitex/src/main/java/org/knowm/xchange/globitex/GlobitexAuthenticated.java index f69a8199855..cecfc67fdbe 100644 --- a/xchange-globitex/src/main/java/org/knowm/xchange/globitex/GlobitexAuthenticated.java +++ b/xchange-globitex/src/main/java/org/knowm/xchange/globitex/GlobitexAuthenticated.java @@ -1,6 +1,5 @@ package org.knowm.xchange.globitex; -import java.io.IOException; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -9,6 +8,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.globitex.dto.account.GlobitexAccounts; import org.knowm.xchange.globitex.dto.trade.GlobitexActiveOrders; import org.knowm.xchange.globitex.dto.trade.GlobitexExecutionReport; @@ -73,4 +73,4 @@ GlobitexExecutionReport cancelOrder( @HeaderParam("X-Signature") ParamsDigest signature, @FormParam("clientOrderId") String clientOrderId) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-globitex/src/main/java/org/knowm/xchange/globitex/service/GlobitexDigest.java b/xchange-globitex/src/main/java/org/knowm/xchange/globitex/service/GlobitexDigest.java index d9aa5d23508..277ea9edb55 100644 --- a/xchange-globitex/src/main/java/org/knowm/xchange/globitex/service/GlobitexDigest.java +++ b/xchange-globitex/src/main/java/org/knowm/xchange/globitex/service/GlobitexDigest.java @@ -2,8 +2,8 @@ import static org.knowm.xchange.utils.DigestUtils.bytesToHex; -import javax.crypto.Mac; import jakarta.ws.rs.HeaderParam; +import javax.crypto.Mac; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; @@ -35,4 +35,4 @@ public String digestParams(RestInvocation restInvocation) { return bytesToHex(mac512.doFinal()).toLowerCase(); } -} \ No newline at end of file +} diff --git a/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/Hitbtc.java b/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/Hitbtc.java index b194a6ad2fa..38a22eda58f 100644 --- a/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/Hitbtc.java +++ b/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/Hitbtc.java @@ -1,12 +1,12 @@ package org.knowm.xchange.hitbtc.v2; -import java.io.IOException; -import java.util.Date; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.QueryParam; +import java.io.IOException; +import java.util.Date; +import java.util.List; import org.knowm.xchange.hitbtc.v2.dto.HitbtcCandle; import org.knowm.xchange.hitbtc.v2.dto.HitbtcCurrency; import org.knowm.xchange.hitbtc.v2.dto.HitbtcOrderBook; @@ -102,4 +102,4 @@ List getHitbtcOHLC( @QueryParam("offset") int offset, @QueryParam("sort") String sort) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcAdapters.java b/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcAdapters.java index 57ce229f838..841abf8ca7a 100644 --- a/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcAdapters.java +++ b/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcAdapters.java @@ -297,12 +297,14 @@ public static ExchangeMetaData adaptToExchangeMetaData( feeTiers = existing.getFeeTiers(); } - currencyPairs.put(pair, new InstrumentMetaData.Builder() - .tradingFee(tradingFee) - .minimumAmount(minimumAmount) - .maximumAmount(maximumAmount) - .priceScale(priceScale) - .feeTiers(feeTiers) + currencyPairs.put( + pair, + new InstrumentMetaData.Builder() + .tradingFee(tradingFee) + .minimumAmount(minimumAmount) + .maximumAmount(maximumAmount) + .priceScale(priceScale) + .feeTiers(feeTiers) .build()); } } @@ -337,8 +339,8 @@ public static FundingRecord adapt(HitbtcTransaction transaction) { /** * @param type * @return - * @see Transaction Model possible types: payout, payin, - * deposit, withdraw, bankToExchange, exchangeToBank + * @see Transaction Model possible types: payout, + * payin, deposit, withdraw, bankToExchange, exchangeToBank */ private static Type convertType(String type) { switch (type) { @@ -357,8 +359,8 @@ private static Type convertType(String type) { /** * @return - * @see Transaction Model possible statusses: created, - * pending, failed, success + * @see Transaction Model possible statusses: + * created, pending, failed, success */ private static FundingRecord.Status convertStatus(String status) { switch (status) { @@ -378,8 +380,8 @@ private static FundingRecord.Status convertStatus(String status) { * Decodes HitBTC Order status. * * @return - * @see Order Model possible statuses: new, suspended, - * partiallyFilled, filled, canceled, expired + * @see Order Model possible statuses: new, + * suspended, partiallyFilled, filled, canceled, expired */ private static Order.OrderStatus convertOrderStatus(String status) { switch (status) { diff --git a/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcAuthenticated.java b/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcAuthenticated.java index 1f2cd35d0ae..81bc7a02f1c 100644 --- a/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcAuthenticated.java +++ b/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcAuthenticated.java @@ -1,9 +1,5 @@ package org.knowm.xchange.hitbtc.v2; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.FormParam; @@ -14,6 +10,10 @@ import jakarta.ws.rs.PathParam; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; import org.knowm.xchange.hitbtc.v2.dto.HitbtcAddress; import org.knowm.xchange.hitbtc.v2.dto.HitbtcBalance; import org.knowm.xchange.hitbtc.v2.dto.HitbtcException; @@ -159,4 +159,4 @@ List getHitbtcOrder( @Path("/history/order/{id}/trades") List getHistorialTradesByOrder(@PathParam("id") String orderId) throws IOException, HitbtcException; -} \ No newline at end of file +} diff --git a/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcExchange.java b/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcExchange.java index d6d9323cdb5..a1a240fa272 100644 --- a/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcExchange.java +++ b/xchange-hitbtc/src/main/java/org/knowm/xchange/hitbtc/v2/HitbtcExchange.java @@ -111,10 +111,10 @@ public void remoteInit() throws IOException { new Currency(hitbtcSymbol.getBaseCurrency()), new Currency(hitbtcSymbol.getQuoteCurrency())), hitbtcSymbol -> - new InstrumentMetaData.Builder() - .amountStepSize(hitbtcSymbol.getQuantityIncrement()) - .priceScale(hitbtcSymbol.getTickSize().scale()) - .build())); + new InstrumentMetaData.Builder() + .amountStepSize(hitbtcSymbol.getQuantityIncrement()) + .priceScale(hitbtcSymbol.getTickSize().scale()) + .build())); exchangeMetaData = HitbtcAdapters.adaptToExchangeMetaData(hitbtcSymbols, currencies, currencyPairs); } diff --git a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/Huobi.java b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/Huobi.java index b02d29e26d9..6392ecd0801 100644 --- a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/Huobi.java +++ b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/Huobi.java @@ -1,6 +1,5 @@ package org.knowm.xchange.huobi; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.POST; @@ -9,6 +8,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.huobi.dto.account.HuobiCreateWithdrawRequest; import org.knowm.xchange.huobi.dto.account.results.HuobiAccountResult; import org.knowm.xchange.huobi.dto.account.results.HuobiBalanceResult; @@ -307,4 +307,4 @@ HuobiOrderResult placeMarketOrder( @QueryParam("Timestamp") String nonce, @QueryParam("Signature") ParamsDigest signature) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/HuobiAdapters.java b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/HuobiAdapters.java index 5adf61133f3..39baf39c5e1 100644 --- a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/HuobiAdapters.java +++ b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/HuobiAdapters.java @@ -155,21 +155,20 @@ private static CurrencyPair adaptCurrencyPair(String currencyPair) { return HuobiUtils.translateHuobiCurrencyPair(currencyPair); } - private static InstrumentMetaData adaptPair( - HuobiAssetPair pair, InstrumentMetaData metadata) { + private static InstrumentMetaData adaptPair(HuobiAssetPair pair, InstrumentMetaData metadata) { BigDecimal minQty = metadata == null ? null : metadata.getMinimumAmount().setScale(pair.getAmountPrecision(), RoundingMode.DOWN); FeeTier[] feeTiers = metadata == null ? null : metadata.getFeeTiers(); return new InstrumentMetaData.Builder() - .tradingFee(fee) - .minimumAmount(minQty) - .priceScale(pair.getPricePrecision()) - .volumeScale(pair.getAmountPrecision()) - .feeTiers(feeTiers) - .marketOrderEnabled(true) - .build(); + .tradingFee(fee) + .minimumAmount(minQty) + .priceScale(pair.getPricePrecision()) + .volumeScale(pair.getAmountPrecision()) + .feeTiers(feeTiers) + .marketOrderEnabled(true) + .build(); } private static Currency adaptCurrency(String currency) { @@ -237,9 +236,7 @@ private static Order adaptOrder(HuobiOrder openOrder) { openOrderAvgPrice = BigDecimal.ZERO; } else { openOrderAvgPrice = - openOrder - .getFieldCashAmount() - .divide(openOrder.getFieldAmount(), 8, RoundingMode.DOWN); + openOrder.getFieldCashAmount().divide(openOrder.getFieldAmount(), 8, RoundingMode.DOWN); } if (openOrder.isMarket()) { order = @@ -273,18 +270,21 @@ private static Order adaptOrder(HuobiOrder openOrder) { if (openOrder.isStop()) { order = new StopOrder.Builder(orderType, currencyPair) - .originalAmount(openOrder.getAmount()) - .id(String.valueOf(openOrder.getId())) - .timestamp(openOrder.getCreatedAt()) - .stopPrice(openOrder.getStopPrice()) - .limitPrice(openOrder.getPrice()) - .averagePrice(openOrderAvgPrice) - .cumulativeAmount(openOrder.getFieldAmount()) - .fee(openOrder.getFieldFees()) - .orderStatus(adaptOrderStatus(openOrder.getState())) - .userReference(openOrder.getClOrdId()) - .intention(openOrder.getOperator().equals("lte") ? Intention.STOP_LOSS : Intention.TAKE_PROFIT) - .build(); + .originalAmount(openOrder.getAmount()) + .id(String.valueOf(openOrder.getId())) + .timestamp(openOrder.getCreatedAt()) + .stopPrice(openOrder.getStopPrice()) + .limitPrice(openOrder.getPrice()) + .averagePrice(openOrderAvgPrice) + .cumulativeAmount(openOrder.getFieldAmount()) + .fee(openOrder.getFieldFees()) + .orderStatus(adaptOrderStatus(openOrder.getState())) + .userReference(openOrder.getClOrdId()) + .intention( + openOrder.getOperator().equals("lte") + ? Intention.STOP_LOSS + : Intention.TAKE_PROFIT) + .build(); } order.setAveragePrice(openOrderAvgPrice); @@ -363,9 +363,12 @@ public static List adaptOrders(List huobiOrders) { return orders; } - public static List adaptUserTradeList(HuobiOrder[] tradeHistory){ - return Arrays.stream(tradeHistory).sequential() - .map(huobiOrder -> UserTrade.builder() + public static List adaptUserTradeList(HuobiOrder[] tradeHistory) { + return Arrays.stream(tradeHistory) + .sequential() + .map( + huobiOrder -> + UserTrade.builder() .id(Long.toString(huobiOrder.getId())) .instrument(adaptCurrencyPair(huobiOrder.getSymbol())) .orderUserReference(huobiOrder.getClOrdId()) @@ -375,11 +378,13 @@ public static List adaptUserTradeList(HuobiOrder[] tradeHistory){ .type(adaptOrderType(huobiOrder.getType())) .feeAmount(huobiOrder.getFieldFees()) .orderId(Long.toString(huobiOrder.getId())) - .build()).collect(Collectors.toList()); + .build()) + .collect(Collectors.toList()); } public static UserTrades adaptTradeHistory(HuobiOrder[] tradeHistoryOrders) { - UserTrades userTrades = new UserTrades(adaptUserTradeList(tradeHistoryOrders), TradeSortType.SortByTimestamp); + UserTrades userTrades = + new UserTrades(adaptUserTradeList(tradeHistoryOrders), TradeSortType.SortByTimestamp); Collections.reverse(userTrades.getUserTrades()); return userTrades; } diff --git a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/dto/marketdata/HuobiCurrency.java b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/dto/marketdata/HuobiCurrency.java index d210afee271..353f73af618 100644 --- a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/dto/marketdata/HuobiCurrency.java +++ b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/dto/marketdata/HuobiCurrency.java @@ -1,7 +1,6 @@ package org.knowm.xchange.huobi.dto.marketdata; import com.fasterxml.jackson.annotation.JsonProperty; - import java.math.BigDecimal; public class HuobiCurrency { diff --git a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/service/HuobiDigest.java b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/service/HuobiDigest.java index 5ba8c2b2770..2cb3e1077c6 100644 --- a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/service/HuobiDigest.java +++ b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/service/HuobiDigest.java @@ -1,5 +1,7 @@ package org.knowm.xchange.huobi.service; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.QueryParam; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URISyntaxException; @@ -11,8 +13,6 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import javax.crypto.Mac; -import jakarta.ws.rs.FormParam; -import jakarta.ws.rs.QueryParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.Params; import si.mazi.rescu.RestInvocation; @@ -71,4 +71,4 @@ private String encodeValue(String value) { } return ret; } -} \ No newline at end of file +} diff --git a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/service/HuobiMarketDataService.java b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/service/HuobiMarketDataService.java index b3db86794ff..ba9c23389e7 100644 --- a/xchange-huobi/src/main/java/org/knowm/xchange/huobi/service/HuobiMarketDataService.java +++ b/xchange-huobi/src/main/java/org/knowm/xchange/huobi/service/HuobiMarketDataService.java @@ -95,7 +95,7 @@ public Trades getTrades(CurrencyPair currencyPair, Object... args) throws IOExce .id(t.getId()) .build()) .collect(Collectors.toList()); - Trades sortedTrades = new Trades(trades); + Trades sortedTrades = new Trades(trades); Collections.reverse(sortedTrades.getTrades()); return sortedTrades; diff --git a/xchange-huobi/src/test/java/org/knowm/xchange/huobi/HuobiInitIntegration.java b/xchange-huobi/src/test/java/org/knowm/xchange/huobi/HuobiInitIntegration.java index ef23e20f167..5a2c2356dc6 100644 --- a/xchange-huobi/src/test/java/org/knowm/xchange/huobi/HuobiInitIntegration.java +++ b/xchange-huobi/src/test/java/org/knowm/xchange/huobi/HuobiInitIntegration.java @@ -2,7 +2,6 @@ import java.io.IOException; import java.util.Arrays; - import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeFactory; @@ -12,16 +11,15 @@ public class HuobiInitIntegration { - @Test - public void init() throws IOException { - Exchange exchange = ExchangeFactory.INSTANCE.createExchange(HuobiExchange.class); - - HuobiMarketDataService marketDataService = - (HuobiMarketDataService) exchange.getMarketDataService(); + @Test + public void init() throws IOException { + Exchange exchange = ExchangeFactory.INSTANCE.createExchange(HuobiExchange.class); + HuobiMarketDataService marketDataService = + (HuobiMarketDataService) exchange.getMarketDataService(); - // GET Klines - Arrays.stream(marketDataService.getKlines(CurrencyPair.BTC_USDT, KlineInterval.m5, 10)) - .forEach(System.out::println); - } + // GET Klines + Arrays.stream(marketDataService.getKlines(CurrencyPair.BTC_USDT, KlineInterval.m5, 10)) + .forEach(System.out::println); + } } diff --git a/xchange-huobi/src/test/java/org/knowm/xchange/huobi/HuobiMarketDataIntegration.java b/xchange-huobi/src/test/java/org/knowm/xchange/huobi/HuobiMarketDataIntegration.java index 4e9944f0e20..f13250a223b 100644 --- a/xchange-huobi/src/test/java/org/knowm/xchange/huobi/HuobiMarketDataIntegration.java +++ b/xchange-huobi/src/test/java/org/knowm/xchange/huobi/HuobiMarketDataIntegration.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.util.List; - import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeFactory; @@ -13,11 +12,12 @@ public class HuobiMarketDataIntegration { - @Test - public void checkTradesSortingByDate() throws IOException { - Exchange exchange = ExchangeFactory.INSTANCE.createExchange(HuobiExchange.class); + @Test + public void checkTradesSortingByDate() throws IOException { + Exchange exchange = ExchangeFactory.INSTANCE.createExchange(HuobiExchange.class); - List trades = exchange.getMarketDataService().getTrades(new CurrencyPair("BTC/USDT")).getTrades(); - assertThat(trades.get(0).getTimestamp()).isAfterOrEqualTo(trades.get(1).getTimestamp()); - } + List trades = + exchange.getMarketDataService().getTrades(new CurrencyPair("BTC/USDT")).getTrades(); + assertThat(trades.get(0).getTimestamp()).isAfterOrEqualTo(trades.get(1).getTimestamp()); + } } diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/IdexSignature.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/IdexSignature.java index 0716d9bba1b..c2f75405ed2 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/IdexSignature.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/IdexSignature.java @@ -89,7 +89,7 @@ SignatureData generateSignature(String apiSecret, List> data) { ecKeyPair = ECKeyPair.create(apiSecret1); SignatureData signatureData; - signatureData = Sign.signMessage(/* message = */ salted, /* keyPair= */ ecKeyPair); + signatureData = Sign.signMessage(/* message= */ salted, /* keyPair= */ ecKeyPair); return signatureData; } } diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/CancelApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/CancelApi.java index 05264378915..271b321fddc 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/CancelApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/CancelApi.java @@ -32,4 +32,4 @@ public interface CancelApi { "To derive the signature for this API call, hash the following parameters in this orderorderHashnonceSalt and sign the hash as usual to prepare your payloadSample output:{ success: 1 }", response = CancelResponse.class)) CancelResponse cancel(CancelReq cancelReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/OrderApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/OrderApi.java index 579201053d8..c0b15e0e015 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/OrderApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/OrderApi.java @@ -23,4 +23,4 @@ public interface OrderApi { @ApiOperation(value = "Limit Order", notes = "", tags = "trade") @ApiResponses(@ApiResponse(code = 200, message = "", response = OrderResponse.class)) OrderResponse order(OrderReq orderReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/Return24VolumeApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/Return24VolumeApi.java index 9e0d0bfad4f..bd92e9a35c7 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/Return24VolumeApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/Return24VolumeApi.java @@ -30,4 +30,4 @@ public interface Return24VolumeApi { "This function takes no JSON arguments{ ETH_REP: { ETH: '1.3429046745', REP: '105.29046745' },ETH_DVIP: { ETH: '4', DVIP: '4' },totalETH: '5.3429046745' }", response = Volume24Response.class)) Volume24Response volume24(); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnBalancesApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnBalancesApi.java index 754d86236b5..c0554f03628 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnBalancesApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnBalancesApi.java @@ -26,4 +26,4 @@ public interface ReturnBalancesApi { tags = "account") @ApiResponses(@ApiResponse(code = 200, message = "", response = ReturnBalancesResponse.class)) ReturnBalancesResponse balances(BalancesReq balancesReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnCompleteBalancesApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnCompleteBalancesApi.java index e74beb3045a..db22efeaca5 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnCompleteBalancesApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnCompleteBalancesApi.java @@ -28,4 +28,4 @@ public interface ReturnCompleteBalancesApi { @ApiResponses( @ApiResponse(code = 200, message = "", response = ReturnCompleteBalancesResponse.class)) ReturnCompleteBalancesResponse completeBalances(CompleteBalancesReq completeBalancesReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnContractAddressApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnContractAddressApi.java index 60dbc1d7ebb..1fa42299eb6 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnContractAddressApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnContractAddressApi.java @@ -26,4 +26,4 @@ public interface ReturnContractAddressApi { @ApiResponses( @ApiResponse(code = 200, message = "", response = ReturnContractAddressResponse.class)) ReturnContractAddressResponse contractAddress(); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnCurrenciesApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnCurrenciesApi.java index 9699a25158b..4f4b7e2c5c9 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnCurrenciesApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnCurrenciesApi.java @@ -23,4 +23,4 @@ public interface ReturnCurrenciesApi { @ApiResponses( @ApiResponse(code = 200, message = "null", response = ReturnCurrenciesResponse.class)) ReturnCurrenciesResponse currencies(); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnDepositsWithdrawalsApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnDepositsWithdrawalsApi.java index 23b579d5e3c..9dd2794e998 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnDepositsWithdrawalsApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnDepositsWithdrawalsApi.java @@ -28,4 +28,4 @@ public interface ReturnDepositsWithdrawalsApi { @ApiResponses( @ApiResponse(code = 200, message = "", response = ReturnDepositsWithdrawalsResponse.class)) ReturnDepositsWithdrawalsResponse fundingHistory(DepositsWithdrawalsReq depositsWithdrawalsReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnNextNonceApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnNextNonceApi.java index ce5679932bc..fe8748885ef 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnNextNonceApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnNextNonceApi.java @@ -31,4 +31,4 @@ public interface ReturnNextNonceApi { message = "Sample output: { nonce: 2650 }", response = ReturnNextNonceResponse.class)) ReturnNextNonceResponse nextNonce(NextNonceReq nextNonceReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOpenOrdersApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOpenOrdersApi.java index 547791e0743..d266c3d8276 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOpenOrdersApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOpenOrdersApi.java @@ -26,4 +26,4 @@ public interface ReturnOpenOrdersApi { tags = "trade") @ApiResponses(@ApiResponse(code = 200, message = "", response = ReturnOpenOrdersResponse.class)) ReturnOpenOrdersResponse openOrders(OpenOrdersReq openOrdersReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOrderBookApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOrderBookApi.java index 8eb3e115ab5..7bc706f1d3a 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOrderBookApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOrderBookApi.java @@ -27,4 +27,4 @@ public interface ReturnOrderBookApi { tags = "market") @ApiResponses(@ApiResponse(code = 200, message = "", response = ReturnOrderBookResponse.class)) ReturnOrderBookResponse orderBook(OrderBookReq orderBookReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOrderTradesApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOrderTradesApi.java index 5f9e3664c8b..b8d728cf05a 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOrderTradesApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnOrderTradesApi.java @@ -32,4 +32,4 @@ public interface ReturnOrderTradesApi { "Sample output: [ { date: '2017-10-11 21:41:15',amount: '0.3',type: 'buy',total: '1',price: '0.3',uuid: 'e8719a10-aecc-11e7-9535-3b8451fd4699',transactionHash: '0x28b945b586a5929c69337929533e04794d488c2d6e1122b7b915705d0dff8bb6' } ]", response = ReturnOrderTradesResponse.class)) ReturnOrderTradesResponse orderTrades(OrderTradesReq orderTradesReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnTickerApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnTickerApi.java index aa5f0d0ff99..73fb23682c6 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnTickerApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnTickerApi.java @@ -23,4 +23,4 @@ public interface ReturnTickerApi { @ApiOperation(value = "", notes = "", tags = "market") @ApiResponses(@ApiResponse(code = 200, message = "", response = ReturnTickerResponse.class)) ReturnTickerResponse ticker(Market market); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnTradeHistoryApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnTradeHistoryApi.java index 0dca29fb92d..0823e6b3606 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnTradeHistoryApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/ReturnTradeHistoryApi.java @@ -28,4 +28,4 @@ public interface ReturnTradeHistoryApi { response = TradeHistoryItem.class, responseContainer = "List")) java.util.List tradeHistory(TradeHistoryReq tradeHistoryReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/TradeApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/TradeApi.java index 635fc77d696..10a6a69388d 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/TradeApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/TradeApi.java @@ -18,4 +18,4 @@ public interface TradeApi { @Consumes("application/json") @Produces("application/json") TradeResponse trade(TradeReq tradeReq); -} \ No newline at end of file +} diff --git a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/WithdrawApi.java b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/WithdrawApi.java index e275b0580b0..591d5722893 100644 --- a/xchange-idex/src/main/java/org/knowm/xchange/idex/service/WithdrawApi.java +++ b/xchange-idex/src/main/java/org/knowm/xchange/idex/service/WithdrawApi.java @@ -32,4 +32,4 @@ public interface WithdrawApi { "To derive the signature for this API call, hash the following parameters in this order contract addresstokenamountaddressnonceSalt the hash as described earlier and sign it to produce your signature triplet.Useful response upon withdrawal success is in the works, for now simply test that there is no error propertyin the result object to confirm your withdrawal has succeeded.", response = WithdrawResponse.class)) WithdrawResponse withdraw(WithdrawReq withdrawReq); -} \ No newline at end of file +} diff --git a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/IndependentReserve.java b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/IndependentReserve.java index 6084ab46785..2d232234cd3 100644 --- a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/IndependentReserve.java +++ b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/IndependentReserve.java @@ -1,11 +1,11 @@ package org.knowm.xchange.independentreserve; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.independentreserve.dto.marketdata.IndependentReserveOrderBook; import org.knowm.xchange.independentreserve.dto.marketdata.IndependentReserveTicker; @@ -27,4 +27,4 @@ IndependentReserveTicker getMarketSummary( @QueryParam("primaryCurrencyCode") String primaryCurrencyCode, @QueryParam("secondaryCurrencyCode") String secondaryCurrencyCode) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/IndependentReserveAuthenticated.java b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/IndependentReserveAuthenticated.java index 71cd6f5b05d..5d8fba5e9a4 100644 --- a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/IndependentReserveAuthenticated.java +++ b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/IndependentReserveAuthenticated.java @@ -1,11 +1,11 @@ package org.knowm.xchange.independentreserve; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.independentreserve.dto.IndependentReserveHttpStatusException; import org.knowm.xchange.independentreserve.dto.account.IndependentReserveBalance; import org.knowm.xchange.independentreserve.dto.account.IndependentReserveBrokerageFeeRequest; @@ -126,4 +126,4 @@ Object withdrawDigitalCurrency(IndependentReserveWithdrawDigitalCurrencyRequest IndependentReserveBrokerageFeeResponse getBrokerageFees( IndependentReserveBrokerageFeeRequest independentReserveBrokerageFeeRequest) throws IndependentReserveHttpStatusException, IOException; -} \ No newline at end of file +} diff --git a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/marketdata/IndependentReserveTicker.java b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/marketdata/IndependentReserveTicker.java index cc81686f3da..d4a9a53d617 100644 --- a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/marketdata/IndependentReserveTicker.java +++ b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/marketdata/IndependentReserveTicker.java @@ -6,7 +6,9 @@ import java.text.SimpleDateFormat; import java.util.Date; -/** @author Stuart Low */ +/** + * @author Stuart Low + */ public final class IndependentReserveTicker { private final BigDecimal last; private final BigDecimal high; diff --git a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/trade/IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainRequest.java b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/trade/IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainRequest.java index b80a5ebc732..8386b7586a6 100644 --- a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/trade/IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainRequest.java +++ b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/trade/IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainRequest.java @@ -6,7 +6,9 @@ public class IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainRequest extends AuthAggregate { - /** @param depositAddress Bitcoin or Ether deposit address to check for new deposits. */ + /** + * @param depositAddress Bitcoin or Ether deposit address to check for new deposits. + */ public IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainRequest( String apiKey, Long nonce, String depositAddress) { super(apiKey, nonce); diff --git a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/trade/IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainResponse.java b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/trade/IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainResponse.java index 058c0e2b8e6..9d768995eaa 100644 --- a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/trade/IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainResponse.java +++ b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/dto/trade/IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainResponse.java @@ -7,8 +7,10 @@ public class IndependentReserveSynchDigitalCurrencyDepositAddressWithBlockchainResponse { /** Digital currency deposit address to be updated */ private final String depositAddress; + /** UTC timestamp of when this address was last checked against Blockchain */ private final Date lastChecked; + /** UTC timestamp of when this address is scheduled to next be checked against Blockchain */ private final Date nextUpdate; diff --git a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/service/IndependentReserveAccountService.java b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/service/IndependentReserveAccountService.java index f40117f1832..1fd0caae8f5 100644 --- a/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/service/IndependentReserveAccountService.java +++ b/xchange-independentreserve/src/main/java/org/knowm/xchange/independentreserve/service/IndependentReserveAccountService.java @@ -5,7 +5,6 @@ import java.util.Date; import java.util.List; import java.util.Map; -import java.util.function.Function; import java.util.stream.Collectors; import org.knowm.xchange.Exchange; import org.knowm.xchange.currency.Currency; diff --git a/xchange-itbit/src/main/java/org/knowm/xchange/itbit/ItBit.java b/xchange-itbit/src/main/java/org/knowm/xchange/itbit/ItBit.java index 93e787a50f2..12b48d1fab3 100644 --- a/xchange-itbit/src/main/java/org/knowm/xchange/itbit/ItBit.java +++ b/xchange-itbit/src/main/java/org/knowm/xchange/itbit/ItBit.java @@ -1,12 +1,12 @@ package org.knowm.xchange.itbit; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.itbit.dto.ItBitException; import org.knowm.xchange.itbit.dto.marketdata.ItBitDepth; import org.knowm.xchange.itbit.dto.marketdata.ItBitTrades; @@ -28,4 +28,4 @@ ItBitTrades getTrades( @PathParam("currency") String currency, @QueryParam("since") long sinceId) throws IOException, ItBitException; -} \ No newline at end of file +} diff --git a/xchange-itbit/src/main/java/org/knowm/xchange/itbit/ItBitAuthenticated.java b/xchange-itbit/src/main/java/org/knowm/xchange/itbit/ItBitAuthenticated.java index 19c214e2ccf..ca657426596 100644 --- a/xchange-itbit/src/main/java/org/knowm/xchange/itbit/ItBitAuthenticated.java +++ b/xchange-itbit/src/main/java/org/knowm/xchange/itbit/ItBitAuthenticated.java @@ -1,8 +1,5 @@ package org.knowm.xchange.itbit; -import java.io.IOException; -import java.util.Date; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -13,6 +10,9 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Date; +import java.util.List; import org.knowm.xchange.itbit.dto.ItBitException; import org.knowm.xchange.itbit.dto.ItBitFundingHistoryResponse; import org.knowm.xchange.itbit.dto.account.ItBitAccountInfoReturn; @@ -158,4 +158,4 @@ ItBitFundingHistoryResponse fundingHistory( @PathParam("walletId") String walletId, @QueryParam("page") int page, @QueryParam("perPage") int perPage); -} \ No newline at end of file +} diff --git a/xchange-itbit/src/test/java/org/knowm/xchange/itbit/service/marketdata/OrderBookFetchIntegration.java b/xchange-itbit/src/test/java/org/knowm/xchange/itbit/service/marketdata/OrderBookFetchIntegration.java index d2126b0eae8..a74eda14ab8 100644 --- a/xchange-itbit/src/test/java/org/knowm/xchange/itbit/service/marketdata/OrderBookFetchIntegration.java +++ b/xchange-itbit/src/test/java/org/knowm/xchange/itbit/service/marketdata/OrderBookFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.itbit.ItBitExchange; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class OrderBookFetchIntegration { @Test diff --git a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/Koineks.java b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/Koineks.java index 2291c3a31c7..5000072a96d 100644 --- a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/Koineks.java +++ b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/Koineks.java @@ -1,10 +1,10 @@ package org.knowm.xchange.koineks; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.koineks.dto.marketdata.KoineksTicker; /** Created by semihunaldi on 05/12/2017 */ @@ -14,4 +14,4 @@ public interface Koineks { @GET @Path("ticker") KoineksTicker getTicker() throws IOException; -} \ No newline at end of file +} diff --git a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/KoineksAdapters.java b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/KoineksAdapters.java index 67f6417f165..8a910162e13 100644 --- a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/KoineksAdapters.java +++ b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/KoineksAdapters.java @@ -10,7 +10,9 @@ import org.knowm.xchange.koineks.dto.marketdata.KoineksCurrency; import org.knowm.xchange.koineks.dto.marketdata.KoineksTicker; -/** @author semihunaldi Various adapters for converting from Koineks DTOs to XChange DTOs */ +/** + * @author semihunaldi Various adapters for converting from Koineks DTOs to XChange DTOs + */ public final class KoineksAdapters { private KoineksAdapters() {} diff --git a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/KoineksExchange.java b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/KoineksExchange.java index d103513b455..26c1a85af10 100644 --- a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/KoineksExchange.java +++ b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/KoineksExchange.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.koineks.service.KoineksMarketDataService; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class KoineksExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksBaseService.java b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksBaseService.java index 5c1a22fc948..3cfb2fd79f1 100644 --- a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksBaseService.java +++ b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksBaseService.java @@ -4,7 +4,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class KoineksBaseService extends BaseExchangeService implements BaseService { /** diff --git a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksMarketDataService.java b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksMarketDataService.java index 43e01a104ee..f362c418dda 100644 --- a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksMarketDataService.java +++ b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksMarketDataService.java @@ -10,7 +10,9 @@ import org.knowm.xchange.koineks.KoineksAdapters; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class KoineksMarketDataService extends KoineksMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksMarketDataServiceRaw.java b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksMarketDataServiceRaw.java index 47897e7552c..296d0c4e488 100644 --- a/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksMarketDataServiceRaw.java +++ b/xchange-koineks/src/main/java/org/knowm/xchange/koineks/service/KoineksMarketDataServiceRaw.java @@ -6,7 +6,9 @@ import org.knowm.xchange.koineks.Koineks; import org.knowm.xchange.koineks.dto.marketdata.KoineksTicker; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class KoineksMarketDataServiceRaw extends KoineksBaseService { private final Koineks koineks; diff --git a/xchange-koineks/src/test/java/org/knowm/xchange/koineks/KoineksAdapterTest.java b/xchange-koineks/src/test/java/org/knowm/xchange/koineks/KoineksAdapterTest.java index 5fa60698aaf..eb3dfcb0cbc 100644 --- a/xchange-koineks/src/test/java/org/knowm/xchange/koineks/KoineksAdapterTest.java +++ b/xchange-koineks/src/test/java/org/knowm/xchange/koineks/KoineksAdapterTest.java @@ -11,7 +11,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.koineks.dto.marketdata.KoineksTicker; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class KoineksAdapterTest { @Test diff --git a/xchange-koineks/src/test/java/org/knowm/xchange/koineks/dto/marketdata/KoineksTickerTest.java b/xchange-koineks/src/test/java/org/knowm/xchange/koineks/dto/marketdata/KoineksTickerTest.java index b670dc2f641..5ad32b5fefa 100644 --- a/xchange-koineks/src/test/java/org/knowm/xchange/koineks/dto/marketdata/KoineksTickerTest.java +++ b/xchange-koineks/src/test/java/org/knowm/xchange/koineks/dto/marketdata/KoineksTickerTest.java @@ -9,7 +9,9 @@ import org.junit.Test; import org.knowm.xchange.currency.Currency; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class KoineksTickerTest { @Test diff --git a/xchange-koineks/src/test/java/org/knowm/xchange/koineks/service/marketdata/TickerFetchIntegration.java b/xchange-koineks/src/test/java/org/knowm/xchange/koineks/service/marketdata/TickerFetchIntegration.java index c67e094c1fd..18d7c6cda48 100644 --- a/xchange-koineks/src/test/java/org/knowm/xchange/koineks/service/marketdata/TickerFetchIntegration.java +++ b/xchange-koineks/src/test/java/org/knowm/xchange/koineks/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.koineks.KoineksExchange; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class TickerFetchIntegration { @Test diff --git a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/Koinim.java b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/Koinim.java index 689f1854220..ec98da0934b 100644 --- a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/Koinim.java +++ b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/Koinim.java @@ -1,13 +1,15 @@ package org.knowm.xchange.koinim; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.koinim.dto.marketdata.KoinimTicker; -/** @author ahmetoz */ +/** + * @author ahmetoz + */ @Path("/") @Produces(MediaType.APPLICATION_JSON) public interface Koinim { @@ -15,4 +17,4 @@ public interface Koinim { @GET @Path("ticker") KoinimTicker getTicker() throws IOException; -} \ No newline at end of file +} diff --git a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/KoinimAdapters.java b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/KoinimAdapters.java index e57031ad8e1..dbec8312ae7 100644 --- a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/KoinimAdapters.java +++ b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/KoinimAdapters.java @@ -9,7 +9,9 @@ import org.knowm.xchange.exceptions.NotAvailableFromExchangeException; import org.knowm.xchange.koinim.dto.marketdata.KoinimTicker; -/** @author ahmetoz Various adapters for converting from Koinim DTOs to XChange DTOs */ +/** + * @author ahmetoz Various adapters for converting from Koinim DTOs to XChange DTOs + */ public final class KoinimAdapters { private KoinimAdapters() {} diff --git a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/KoinimExchange.java b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/KoinimExchange.java index 954fff999c0..0fdc90f007b 100644 --- a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/KoinimExchange.java +++ b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/KoinimExchange.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.koinim.service.KoinimMarketDataService; -/** @author ahmetoz */ +/** + * @author ahmetoz + */ public class KoinimExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/dto/marketdata/KoinimTicker.java b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/dto/marketdata/KoinimTicker.java index 30febd63770..3357757c0ad 100644 --- a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/dto/marketdata/KoinimTicker.java +++ b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/dto/marketdata/KoinimTicker.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author ahmet.oz */ +/** + * @author ahmet.oz + */ public final class KoinimTicker { private final BigDecimal sell; diff --git a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimBaseService.java b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimBaseService.java index 2bb1cd9dcd6..f9271d2bc9b 100644 --- a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimBaseService.java +++ b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimBaseService.java @@ -4,7 +4,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author ahmetoz */ +/** + * @author ahmetoz + */ public class KoinimBaseService extends BaseExchangeService implements BaseService { /** diff --git a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimMarketDataService.java b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimMarketDataService.java index 49470e0f811..82ee74cefac 100644 --- a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimMarketDataService.java +++ b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimMarketDataService.java @@ -10,7 +10,9 @@ import org.knowm.xchange.koinim.KoinimAdapters; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author ahmetoz */ +/** + * @author ahmetoz + */ public class KoinimMarketDataService extends KoinimMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimMarketDataServiceRaw.java b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimMarketDataServiceRaw.java index 7bf10e7192e..afeb067c7de 100644 --- a/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimMarketDataServiceRaw.java +++ b/xchange-koinim/src/main/java/org/knowm/xchange/koinim/service/KoinimMarketDataServiceRaw.java @@ -6,7 +6,9 @@ import org.knowm.xchange.koinim.Koinim; import org.knowm.xchange.koinim.dto.marketdata.KoinimTicker; -/** @author ahmet.oz */ +/** + * @author ahmet.oz + */ public class KoinimMarketDataServiceRaw extends KoinimBaseService { private final Koinim koinim; diff --git a/xchange-koinim/src/test/java/org/knowm/xchange/koinim/KoinimAdapterTest.java b/xchange-koinim/src/test/java/org/knowm/xchange/koinim/KoinimAdapterTest.java index 690310e8eef..3912726910d 100644 --- a/xchange-koinim/src/test/java/org/knowm/xchange/koinim/KoinimAdapterTest.java +++ b/xchange-koinim/src/test/java/org/knowm/xchange/koinim/KoinimAdapterTest.java @@ -11,7 +11,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.koinim.dto.marketdata.KoinimTicker; -/** @author ahmetoz */ +/** + * @author ahmetoz + */ public class KoinimAdapterTest { @Test diff --git a/xchange-koinim/src/test/java/org/knowm/xchange/koinim/dto/marketdata/KoinimTickerTest.java b/xchange-koinim/src/test/java/org/knowm/xchange/koinim/dto/marketdata/KoinimTickerTest.java index a26d3afb1f9..0891c841377 100644 --- a/xchange-koinim/src/test/java/org/knowm/xchange/koinim/dto/marketdata/KoinimTickerTest.java +++ b/xchange-koinim/src/test/java/org/knowm/xchange/koinim/dto/marketdata/KoinimTickerTest.java @@ -8,7 +8,9 @@ import java.math.BigDecimal; import org.junit.Test; -/** @author ahmetoz */ +/** + * @author ahmetoz + */ public class KoinimTickerTest { @Test diff --git a/xchange-koinim/src/test/java/org/knowm/xchange/koinim/service/marketdata/TickerFetchIntegration.java b/xchange-koinim/src/test/java/org/knowm/xchange/koinim/service/marketdata/TickerFetchIntegration.java index 69bcfc4980f..f6160829bce 100644 --- a/xchange-koinim/src/test/java/org/knowm/xchange/koinim/service/marketdata/TickerFetchIntegration.java +++ b/xchange-koinim/src/test/java/org/knowm/xchange/koinim/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.koinim.KoinimExchange; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author ahmetoz */ +/** + * @author ahmetoz + */ public class TickerFetchIntegration { @Test diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/Kraken.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/Kraken.java index 57165c35869..a7a07b95ca2 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/Kraken.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/Kraken.java @@ -1,12 +1,12 @@ package org.knowm.xchange.kraken; -import java.io.IOException; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.kraken.dto.marketdata.results.KrakenAssetPairsResult; import org.knowm.xchange.kraken.dto.marketdata.results.KrakenAssetsResult; import org.knowm.xchange.kraken.dto.marketdata.results.KrakenDepthResult; @@ -16,7 +16,9 @@ import org.knowm.xchange.kraken.dto.marketdata.results.KrakenSpreadsResult; import org.knowm.xchange.kraken.dto.marketdata.results.KrakenTickerResult; -/** @author Benedikt Bünz */ +/** + * @author Benedikt Bünz + */ @Path("0") @Produces(MediaType.APPLICATION_JSON) public interface Kraken { @@ -63,4 +65,4 @@ KrakenAssetsResult getAssets( @GET @Path("public/Time") KrakenServerTimeResult getServerTime() throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenAdapters.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenAdapters.java index 6f36ce240d8..111e6bd6995 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenAdapters.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenAdapters.java @@ -100,23 +100,24 @@ public static OpenPositions adaptOpenPositions( krakenOpenPositionMap .values() .forEach( - krakenOpenPosition -> openPositionsList.add( - new OpenPosition.Builder() - .instrument(new CurrencyPair(krakenOpenPosition.getAssetPair())) - .type( - krakenOpenPosition.getType() == KrakenType.BUY - ? OpenPosition.Type.LONG - : OpenPosition.Type.SHORT) - .size(krakenOpenPosition.getCost()) - .price( - krakenOpenPosition - .getCost() - .divide( - krakenOpenPosition - .getVolume() - .subtract(krakenOpenPosition.getVolumeClosed()), - RoundingMode.HALF_EVEN)) - .build())); + krakenOpenPosition -> + openPositionsList.add( + new OpenPosition.Builder() + .instrument(new CurrencyPair(krakenOpenPosition.getAssetPair())) + .type( + krakenOpenPosition.getType() == KrakenType.BUY + ? OpenPosition.Type.LONG + : OpenPosition.Type.SHORT) + .size(krakenOpenPosition.getCost()) + .price( + krakenOpenPosition + .getCost() + .divide( + krakenOpenPosition + .getVolume() + .subtract(krakenOpenPosition.getVolumeClosed()), + RoundingMode.HALF_EVEN)) + .build())); return new OpenPositions(openPositionsList); } @@ -464,14 +465,15 @@ protected static FeeTier[] adaptFeeTiers(List makerFees, List adaptFundingHistory( diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenAuthenticated.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenAuthenticated.java index 6a111fdce09..d11c0c1b445 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenAuthenticated.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenAuthenticated.java @@ -1,8 +1,5 @@ package org.knowm.xchange.kraken; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.HeaderParam; @@ -10,6 +7,9 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Map; import org.knowm.xchange.kraken.dto.account.results.DepositStatusResult; import org.knowm.xchange.kraken.dto.account.results.KrakenBalanceResult; import org.knowm.xchange.kraken.dto.account.results.KrakenDepositAddressResult; @@ -319,4 +319,4 @@ WithdrawStatusResult getWithdrawStatus( @HeaderParam("API-Sign") ParamsDigest signer, @FormParam("nonce") SynchronizedValueFactory nonce) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenExchange.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenExchange.java index 0644b58d65a..d3de6d3aa1a 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenExchange.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenExchange.java @@ -11,7 +11,9 @@ import org.knowm.xchange.kraken.service.KrakenMarketDataServiceRaw; import org.knowm.xchange.kraken.service.KrakenTradeService; -/** @author Benedikt Bünz */ +/** + * @author Benedikt Bünz + */ public class KrakenExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenUtils.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenUtils.java index dec9f3ee3cc..847d29f15bf 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenUtils.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/KrakenUtils.java @@ -13,7 +13,9 @@ import org.knowm.xchange.kraken.dto.trade.KrakenOrderDescription; import org.knowm.xchange.kraken.dto.trade.KrakenTrade; -/** @author timmolter */ +/** + * @author timmolter + */ public class KrakenUtils { private static final Map assetPairMap = new HashMap<>(); @@ -21,7 +23,10 @@ public class KrakenUtils { private static final Map assetsMap = new HashMap<>(); private static final Map assetsMapReverse = new HashMap<>(); - /** ... */ + /** + * ... + */ private static final Map discontinuedCurrencies; static { @@ -76,17 +81,15 @@ public static CurrencyPair translateKrakenCurrencyPair(String currencyPairIn) { if (base.getCommonlyUsedCurrency() != null) { base = base.getCommonlyUsedCurrency(); } - Currency counter = - Currency.getInstance( - currencyPairIn.substring(firstCurrencyLength)); + Currency counter = Currency.getInstance(currencyPairIn.substring(firstCurrencyLength)); if (counter.getCommonlyUsedCurrency() != null) { counter = counter.getCommonlyUsedCurrency(); } pair = new CurrencyPair(base, counter); } -// else if(currencyPairIn.length() == 5){ -// -// } + // else if(currencyPairIn.length() == 5){ + // + // } } return pair; } diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/KrakenResult.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/KrakenResult.java index ea3cae8f50d..48fc5c7e1a4 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/KrakenResult.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/KrakenResult.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; -/** @author Raphael Voellmy */ +/** + * @author Raphael Voellmy + */ public class KrakenResult { private final V result; diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/account/results/KrakenBalanceResult.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/account/results/KrakenBalanceResult.java index 3c906913bb1..71f3c5fde9f 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/account/results/KrakenBalanceResult.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/account/results/KrakenBalanceResult.java @@ -5,7 +5,9 @@ import java.util.Map; import org.knowm.xchange.kraken.dto.KrakenResult; -/** @author Benedikt */ +/** + * @author Benedikt + */ public class KrakenBalanceResult extends KrakenResult> { /** diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenAssetPair.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenAssetPair.java index ef88bd986d0..8a59fce5b26 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenAssetPair.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenAssetPair.java @@ -3,10 +3,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; import java.util.List; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; import lombok.Builder; -import lombok.NoArgsConstructor; import lombok.Value; import lombok.extern.jackson.Jacksonized; diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenPublicTrade.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenPublicTrade.java index dab911707d0..c58222484d2 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenPublicTrade.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenPublicTrade.java @@ -1,12 +1,10 @@ package org.knowm.xchange.kraken.dto.marketdata; +import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; - import org.knowm.xchange.kraken.dto.trade.KrakenOrderType; import org.knowm.xchange.kraken.dto.trade.KrakenType; -import com.fasterxml.jackson.annotation.JsonProperty; - public class KrakenPublicTrade { private final BigDecimal price; @@ -15,7 +13,7 @@ public class KrakenPublicTrade { private final KrakenType type; private final KrakenOrderType orderType; private final String miscellaneous; - private final String tradeId; + private final String tradeId; public KrakenPublicTrade( @JsonProperty("price") BigDecimal price, @@ -23,7 +21,8 @@ public KrakenPublicTrade( @JsonProperty("time") double time, @JsonProperty("type") KrakenType type, @JsonProperty("orderType") KrakenOrderType orderType, - @JsonProperty("miscellaneous") String miscellaneous, @JsonProperty("trade_id") String tradeId) { + @JsonProperty("miscellaneous") String miscellaneous, + @JsonProperty("trade_id") String tradeId) { this.price = price; this.volume = volume; @@ -31,7 +30,7 @@ public KrakenPublicTrade( this.type = type; this.orderType = orderType; this.miscellaneous = miscellaneous; - this.tradeId = tradeId; + this.tradeId = tradeId; } public BigDecimal getPrice() { @@ -64,10 +63,10 @@ public String getMiscellaneous() { return miscellaneous; } - public String getTradeId() { + public String getTradeId() { - return tradeId; - } + return tradeId; + } @Override public String toString() { @@ -84,7 +83,8 @@ public String toString() { + orderType + ", miscellaneous=" + miscellaneous - + ", trade_id=" + tradeId + + ", trade_id=" + + tradeId + "]"; } } diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenPublicTrades.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenPublicTrades.java index e71e75703a9..065168abfc6 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenPublicTrades.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/KrakenPublicTrades.java @@ -1,24 +1,22 @@ package org.knowm.xchange.kraken.dto.marketdata; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import java.io.IOException; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map.Entry; - import org.knowm.xchange.kraken.dto.marketdata.KrakenPublicTrades.KrakenTradesDeserializer; import org.knowm.xchange.kraken.dto.trade.KrakenOrderType; import org.knowm.xchange.kraken.dto.trade.KrakenType; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.ObjectCodec; -import com.fasterxml.jackson.databind.DeserializationContext; -import com.fasterxml.jackson.databind.JsonDeserializer; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - @JsonDeserialize(using = KrakenTradesDeserializer.class) public class KrakenPublicTrades { @@ -72,10 +70,11 @@ public KrakenPublicTrades deserialize(JsonParser jsonParser, DeserializationCont KrakenType type = KrakenType.fromString(tradeJsonNode.path(3).asText()); KrakenOrderType orderType = KrakenOrderType.fromString(tradeJsonNode.path(4).asText()); String miscellaneous = tradeJsonNode.path(5).asText(); - String tradeId = tradeJsonNode.path(6).asText(); + String tradeId = tradeJsonNode.path(6).asText(); krakenTrades.add( - new KrakenPublicTrade(price, volume, time, type, orderType, miscellaneous, tradeId)); + new KrakenPublicTrade( + price, volume, time, type, orderType, miscellaneous, tradeId)); } } } diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenDepthResult.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenDepthResult.java index 1812ab55acb..835a8fb08d5 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenDepthResult.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenDepthResult.java @@ -5,7 +5,9 @@ import org.knowm.xchange.kraken.dto.KrakenResult; import org.knowm.xchange.kraken.dto.marketdata.KrakenDepth; -/** @author Raphael Voellmy */ +/** + * @author Raphael Voellmy + */ public class KrakenDepthResult extends KrakenResult> { /** diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenOHLCResult.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenOHLCResult.java index 68e7ecc531d..92d9f5cc261 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenOHLCResult.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenOHLCResult.java @@ -4,7 +4,9 @@ import org.knowm.xchange.kraken.dto.KrakenResult; import org.knowm.xchange.kraken.dto.marketdata.KrakenOHLCs; -/** @author Bilgin Ibryam */ +/** + * @author Bilgin Ibryam + */ public class KrakenOHLCResult extends KrakenResult { /** diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenPublicTradesResult.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenPublicTradesResult.java index f6e6f398b1d..32a547fd043 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenPublicTradesResult.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenPublicTradesResult.java @@ -4,7 +4,9 @@ import org.knowm.xchange.kraken.dto.KrakenResult; import org.knowm.xchange.kraken.dto.marketdata.KrakenPublicTrades; -/** @author Benedikt */ +/** + * @author Benedikt + */ public class KrakenPublicTradesResult extends KrakenResult { /** diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenTickerResult.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenTickerResult.java index b54c2fa68ec..ad3dca0b6ca 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenTickerResult.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/dto/marketdata/results/KrakenTickerResult.java @@ -5,7 +5,9 @@ import org.knowm.xchange.kraken.dto.KrakenResult; import org.knowm.xchange.kraken.dto.marketdata.KrakenTicker; -/** @author Raphael Voellmy */ +/** + * @author Raphael Voellmy + */ public class KrakenTickerResult extends KrakenResult> { /** diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenAccountService.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenAccountService.java index 86c15f3d16c..047f92aba3f 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenAccountService.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenAccountService.java @@ -70,11 +70,7 @@ public AccountInfo getAccountInfo() throws IOException { public Map getDynamicTradingFeesByInstrument() throws IOException { return KrakenAdapters.adaptFees( super.getTradeVolume( - exchange - .getExchangeMetaData() - .getInstruments() - .keySet() - .toArray(new CurrencyPair[0]))); + exchange.getExchangeMetaData().getInstruments().keySet().toArray(new CurrencyPair[0]))); } @Override diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenAccountServiceRaw.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenAccountServiceRaw.java index 89c4ba6d838..c816d4297f6 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenAccountServiceRaw.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenAccountServiceRaw.java @@ -34,7 +34,9 @@ import org.knowm.xchange.kraken.dto.account.results.WithdrawStatusResult; import org.knowm.xchange.utils.DateUtils; -/** @author jamespedwards42 */ +/** + * @author jamespedwards42 + */ public class KrakenAccountServiceRaw extends KrakenBaseService { /** diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenDigest.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenDigest.java index 2f742e8d40e..b74e26b7353 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenDigest.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenDigest.java @@ -1,14 +1,16 @@ package org.knowm.xchange.kraken.service; +import jakarta.ws.rs.FormParam; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Base64; import javax.crypto.Mac; -import jakarta.ws.rs.FormParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author Benedikt Bünz */ +/** + * @author Benedikt Bünz + */ public class KrakenDigest extends BaseParamsDigest { /** @@ -49,4 +51,4 @@ public String digestParams(RestInvocation restInvocation) { return Base64.getEncoder().encodeToString(mac512.doFinal()).trim(); } -} \ No newline at end of file +} diff --git a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenMarketDataServiceRaw.java b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenMarketDataServiceRaw.java index e4e25bc62ae..723dc79396e 100644 --- a/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenMarketDataServiceRaw.java +++ b/xchange-kraken/src/main/java/org/knowm/xchange/kraken/service/KrakenMarketDataServiceRaw.java @@ -50,8 +50,7 @@ public KrakenTicker getKrakenTicker(CurrencyPair currencyPair) throws IOExceptio return checkResult(tickerResult).get(krakenCurrencyPair); } - public Map getKrakenTickers() - throws IOException { + public Map getKrakenTickers() throws IOException { KrakenTickerResult tickerResult = kraken.getTicker(null); diff --git a/xchange-kraken/src/test/java/org/knowm/xchange/kraken/KrakenAdaptersTest.java b/xchange-kraken/src/test/java/org/knowm/xchange/kraken/KrakenAdaptersTest.java index 1cc7a74a68f..d6606d34740 100644 --- a/xchange-kraken/src/test/java/org/knowm/xchange/kraken/KrakenAdaptersTest.java +++ b/xchange-kraken/src/test/java/org/knowm/xchange/kraken/KrakenAdaptersTest.java @@ -360,7 +360,8 @@ public void testAdaptFees() throws IOException { "/org/knowm/xchange/kraken/dto/account/example-tradevolume-data-2.json"); // Use Jackson to parse it - KrakenTradeVolumeResult krakenTradeVolumeResult = new ObjectMapper().readValue(is, KrakenTradeVolumeResult.class); + KrakenTradeVolumeResult krakenTradeVolumeResult = + new ObjectMapper().readValue(is, KrakenTradeVolumeResult.class); KrakenTradeVolume krakenTradeVolume = krakenTradeVolumeResult.getResult(); Map feeMap = KrakenAdapters.adaptFees(krakenTradeVolume); diff --git a/xchange-kraken/src/test/java/org/knowm/xchange/kraken/KrakenUtilsTest.java b/xchange-kraken/src/test/java/org/knowm/xchange/kraken/KrakenUtilsTest.java index 85b79f16036..383543b6f20 100644 --- a/xchange-kraken/src/test/java/org/knowm/xchange/kraken/KrakenUtilsTest.java +++ b/xchange-kraken/src/test/java/org/knowm/xchange/kraken/KrakenUtilsTest.java @@ -65,7 +65,10 @@ public void testAdaptTradeHistoryByCurrencyPair() assertThat(filteredKrakenTradeMap.size()).isEqualTo(2); - UserTrades userTrades = new UserTrades(KrakenAdapters.adaptTradesHistory(filteredKrakenTradeMap).getUserTrades(), TradeSortType.SortByID); + UserTrades userTrades = + new UserTrades( + KrakenAdapters.adaptTradesHistory(filteredKrakenTradeMap).getUserTrades(), + TradeSortType.SortByID); UserTrade trade0 = userTrades.getUserTrades().get(0); assertThat(trade0).isInstanceOf(KrakenUserTrade.class); diff --git a/xchange-kraken/src/test/java/org/knowm/xchange/kraken/service/marketdata/TickerFetchIntegration.java b/xchange-kraken/src/test/java/org/knowm/xchange/kraken/service/marketdata/TickerFetchIntegration.java index d2301ee004d..c7c03593ff0 100644 --- a/xchange-kraken/src/test/java/org/knowm/xchange/kraken/service/marketdata/TickerFetchIntegration.java +++ b/xchange-kraken/src/test/java/org/knowm/xchange/kraken/service/marketdata/TickerFetchIntegration.java @@ -2,6 +2,7 @@ import static org.assertj.core.api.Assertions.assertThat; +import java.util.List; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeFactory; @@ -10,8 +11,6 @@ import org.knowm.xchange.kraken.KrakenExchange; import org.knowm.xchange.service.marketdata.MarketDataService; -import java.util.List; - public class TickerFetchIntegration { @Test @@ -24,9 +23,10 @@ public void tickerFetchTest() throws Exception { List tickersList = marketDataService.getTickers(null); tickersList.forEach(System.out::println); assertThat(ticker).isNotNull(); - tickersList.forEach(ticker1 -> { - assertThat(ticker1.getInstrument()).isNotNull(); - assertThat(ticker1.getCurrencyPair()).isNotNull(); - }); + tickersList.forEach( + ticker1 -> { + assertThat(ticker1.getInstrument()).isNotNull(); + assertThat(ticker1.getCurrencyPair()).isNotNull(); + }); } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFutures.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFutures.java index 558d5e520f5..cdf33be5a2e 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFutures.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFutures.java @@ -1,18 +1,19 @@ package org.knowm.xchange.krakenfutures; -import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesInstruments; -import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesOrderBook; -import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesPublicFills; -import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesTickers; - -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesInstruments; +import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesOrderBook; +import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesPublicFills; +import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesTickers; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ @Path("/api/v3") @Produces(MediaType.APPLICATION_JSON) public interface KrakenFutures { @@ -32,4 +33,4 @@ public interface KrakenFutures { @GET @Path("/history") KrakenFuturesPublicFills getHistory(@QueryParam("symbol") String symbol) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesAdapters.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesAdapters.java index 2a5fbc64a06..aae5c9624fc 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesAdapters.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesAdapters.java @@ -10,35 +10,35 @@ import java.time.temporal.ChronoUnit; import java.util.*; import java.util.Map.Entry; - -import org.knowm.xchange.dto.Order; -import org.knowm.xchange.dto.account.*; -import org.knowm.xchange.dto.trade.*; -import org.knowm.xchange.krakenfutures.dto.account.KrakenFuturesAccountInfo; -import org.knowm.xchange.krakenfutures.dto.account.KrakenFuturesAccounts; -import org.knowm.xchange.krakenfutures.dto.marketData.*; -import org.knowm.xchange.krakenfutures.dto.trade.*; import org.knowm.xchange.currency.Currency; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.derivative.FuturesContract; +import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.Order.OrderStatus; import org.knowm.xchange.dto.Order.OrderType; +import org.knowm.xchange.dto.account.*; import org.knowm.xchange.dto.marketdata.*; import org.knowm.xchange.dto.marketdata.Trades.TradeSortType; import org.knowm.xchange.dto.meta.CurrencyMetaData; import org.knowm.xchange.dto.meta.ExchangeMetaData; import org.knowm.xchange.dto.meta.InstrumentMetaData; +import org.knowm.xchange.dto.trade.*; import org.knowm.xchange.instrument.Instrument; +import org.knowm.xchange.krakenfutures.dto.account.KrakenFuturesAccountInfo; +import org.knowm.xchange.krakenfutures.dto.account.KrakenFuturesAccounts; +import org.knowm.xchange.krakenfutures.dto.marketData.*; +import org.knowm.xchange.krakenfutures.dto.trade.*; import org.knowm.xchange.krakenfutures.dto.trade.KrakenFuturesOrderStatus; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesAdapters { private static final String MULTI_COLLATERAL_PRODUCTS = "PF_"; private static final String ACCOUNT_TYPE = "multiCollateralMarginAccount"; - public static Ticker adaptTicker( - KrakenFuturesTicker krakenFuturesTicker, Instrument instrument) { + public static Ticker adaptTicker(KrakenFuturesTicker krakenFuturesTicker, Instrument instrument) { if (krakenFuturesTicker != null) { Ticker.Builder builder = new Ticker.Builder(); @@ -58,15 +58,21 @@ public static Ticker adaptTicker( return null; } - /** AccountInfo only for the MultiCollateral account is implemented*/ - public static AccountInfo adaptAccounts(KrakenFuturesAccounts krakenFuturesAccounts, KrakenFuturesOpenPositions krakenFuturesOpenPositions) { + /** AccountInfo only for the MultiCollateral account is implemented */ + public static AccountInfo adaptAccounts( + KrakenFuturesAccounts krakenFuturesAccounts, + KrakenFuturesOpenPositions krakenFuturesOpenPositions) { List balances = new ArrayList<>(); BigDecimal collateralValue = BigDecimal.ZERO; - for (Entry krakenFuturesAccountInfo : krakenFuturesAccounts.getAccounts().entrySet()) { - if(krakenFuturesAccountInfo.getValue().getType().equals(ACCOUNT_TYPE)){ - for (Entry krakenFuturesCurrencyEntry : krakenFuturesAccountInfo.getValue().getCurrencies().entrySet()) { - balances.add(new Balance.Builder() + for (Entry krakenFuturesAccountInfo : + krakenFuturesAccounts.getAccounts().entrySet()) { + if (krakenFuturesAccountInfo.getValue().getType().equals(ACCOUNT_TYPE)) { + for (Entry + krakenFuturesCurrencyEntry : + krakenFuturesAccountInfo.getValue().getCurrencies().entrySet()) { + balances.add( + new Balance.Builder() .currency(new Currency(krakenFuturesCurrencyEntry.getKey())) .total(krakenFuturesCurrencyEntry.getValue().getAvailable()) .build()); @@ -78,44 +84,55 @@ public static AccountInfo adaptAccounts(KrakenFuturesAccounts krakenFuturesAccou BigDecimal totalOpenPositionsUsdValue = BigDecimal.ZERO; for (KrakenFuturesOpenPosition openPosition : krakenFuturesOpenPositions.getOpenPositions()) { - totalOpenPositionsUsdValue = totalOpenPositionsUsdValue.add(openPosition.getPrice().multiply(openPosition.getSize())); + totalOpenPositionsUsdValue = + totalOpenPositionsUsdValue.add(openPosition.getPrice().multiply(openPosition.getSize())); } - return new AccountInfo("multiCollateralMarginAccount", new Wallet.Builder() + return new AccountInfo( + "multiCollateralMarginAccount", + new Wallet.Builder() .features(Collections.singleton(Wallet.WalletFeature.FUTURES_TRADING)) .balances(balances) - .currentLeverage((totalOpenPositionsUsdValue.compareTo(BigDecimal.ZERO) == 0) ? BigDecimal.ZERO : totalOpenPositionsUsdValue.divide(collateralValue, 3, RoundingMode.HALF_EVEN)) + .currentLeverage( + (totalOpenPositionsUsdValue.compareTo(BigDecimal.ZERO) == 0) + ? BigDecimal.ZERO + : totalOpenPositionsUsdValue.divide(collateralValue, 3, RoundingMode.HALF_EVEN)) .build()); } public static OrderType adaptOrderType(KrakenFuturesOrderSide krakenFuturesOrderType) { - return (krakenFuturesOrderType.equals(KrakenFuturesOrderSide.buy)) ? OrderType.BID : OrderType.ASK; + return (krakenFuturesOrderType.equals(KrakenFuturesOrderSide.buy)) + ? OrderType.BID + : OrderType.ASK; } public static LimitOrder adaptLimitOrder(KrakenFuturesOpenOrder ord) { - return new LimitOrder.Builder(adaptOrderType(ord.getSide()),adaptInstrument(ord.getSymbol())) - .originalAmount(ord.getFilledSize().add(ord.getUnfilledSize())) - .id(ord.getOrderId()) - .timestamp(ord.getReceivedTime()) - .limitPrice(ord.getLimitPrice()) - .orderStatus(adaptOrderStatus(ord.getStatus())) - .remainingAmount(ord.getUnfilledSize()) - .flag((ord.isReduceOnly()) ? KrakenFuturesOrderFlags.REDUCE_ONLY : null) - .build(); + return new LimitOrder.Builder(adaptOrderType(ord.getSide()), adaptInstrument(ord.getSymbol())) + .originalAmount(ord.getFilledSize().add(ord.getUnfilledSize())) + .id(ord.getOrderId()) + .timestamp(ord.getReceivedTime()) + .limitPrice(ord.getLimitPrice()) + .orderStatus(adaptOrderStatus(ord.getStatus())) + .remainingAmount(ord.getUnfilledSize()) + .flag((ord.isReduceOnly()) ? KrakenFuturesOrderFlags.REDUCE_ONLY : null) + .build(); } public static StopOrder adaptStopOrder(KrakenFuturesOpenOrder ord) { - return new StopOrder.Builder(adaptOrderType(ord.getSide()),adaptInstrument(ord.getSymbol())) - .originalAmount(ord.getFilledSize().add(ord.getUnfilledSize())) - .id(ord.getOrderId()) - .timestamp(ord.getReceivedTime()) - .limitPrice(ord.getLimitPrice()) - .intention((ord.getOrderType().equals(KrakenFuturesOrderType.take_profit)) ? StopOrder.Intention.TAKE_PROFIT : StopOrder.Intention.STOP_LOSS) - .orderStatus(adaptOrderStatus(ord.getStatus())) - .remainingAmount(ord.getUnfilledSize()) - .stopPrice(ord.getStopPrice()) - .flag((ord.isReduceOnly()) ? KrakenFuturesOrderFlags.REDUCE_ONLY : null) - .build(); + return new StopOrder.Builder(adaptOrderType(ord.getSide()), adaptInstrument(ord.getSymbol())) + .originalAmount(ord.getFilledSize().add(ord.getUnfilledSize())) + .id(ord.getOrderId()) + .timestamp(ord.getReceivedTime()) + .limitPrice(ord.getLimitPrice()) + .intention( + (ord.getOrderType().equals(KrakenFuturesOrderType.take_profit)) + ? StopOrder.Intention.TAKE_PROFIT + : StopOrder.Intention.STOP_LOSS) + .orderStatus(adaptOrderStatus(ord.getStatus())) + .remainingAmount(ord.getUnfilledSize()) + .stopPrice(ord.getStopPrice()) + .flag((ord.isReduceOnly()) ? KrakenFuturesOrderFlags.REDUCE_ONLY : null) + .build(); } public static OpenOrders adaptOpenOrders(KrakenFuturesOpenOrders orders) { @@ -128,8 +145,8 @@ public static OpenOrders adaptOpenOrders(KrakenFuturesOpenOrders orders) { // ignore anything but a plain limit order for now if (ord.getOrderType().equals(KrakenFuturesOrderType.lmt)) { limitOrders.add(adaptLimitOrder(ord)); - } else if(ord.getOrderType().equals(KrakenFuturesOrderType.stop) - || ord.getOrderType().equals(KrakenFuturesOrderType.take_profit)){ + } else if (ord.getOrderType().equals(KrakenFuturesOrderType.stop) + || ord.getOrderType().equals(KrakenFuturesOrderType.take_profit)) { triggerOrders.add(adaptStopOrder(ord)); } } @@ -166,47 +183,67 @@ public static OrderBook adaptOrderBook(KrakenFuturesOrderBook krakenFuturesOrder List asks = new ArrayList<>(); List bids = new ArrayList<>(); - krakenFuturesOrderBook.getBidsAsks().getAsks().forEach(order-> asks.add(new LimitOrder.Builder(OrderType.ASK,krakenFuturesOrderBook.getInstrument()) - .limitPrice(order.get(0)) - .originalAmount(order.get(1)) - .build())); - krakenFuturesOrderBook.getBidsAsks().getBids().forEach(order-> bids.add(new LimitOrder.Builder(OrderType.BID,krakenFuturesOrderBook.getInstrument()) - .limitPrice(order.get(0)) - .originalAmount(order.get(1)) - .build())); + krakenFuturesOrderBook + .getBidsAsks() + .getAsks() + .forEach( + order -> + asks.add( + new LimitOrder.Builder(OrderType.ASK, krakenFuturesOrderBook.getInstrument()) + .limitPrice(order.get(0)) + .originalAmount(order.get(1)) + .build())); + krakenFuturesOrderBook + .getBidsAsks() + .getBids() + .forEach( + order -> + bids.add( + new LimitOrder.Builder(OrderType.BID, krakenFuturesOrderBook.getInstrument()) + .limitPrice(order.get(0)) + .originalAmount(order.get(1)) + .build())); return new OrderBook(krakenFuturesOrderBook.getServerTime(), asks, bids); } - public static ExchangeMetaData adaptInstrumentsMetaData(KrakenFuturesInstruments krakenFuturesInstruments) { + public static ExchangeMetaData adaptInstrumentsMetaData( + KrakenFuturesInstruments krakenFuturesInstruments) { Map instruments = new HashMap<>(); Map currencies = new HashMap<>(); for (KrakenFuturesInstrument instrument : krakenFuturesInstruments.getInstruments()) { - if(instrument.getSymbol().contains(MULTI_COLLATERAL_PRODUCTS)){ - instruments.put(adaptInstrument(instrument.getSymbol()),new InstrumentMetaData.Builder() - .volumeScale(instrument.getVolumeScale()) - .priceScale(instrument.getTickSize().scale()) - .priceStepSize(instrument.getTickSize()) - .minimumAmount(getMinimumAmountFromVolumeScale(instrument.getVolumeScale())) + if (instrument.getSymbol().contains(MULTI_COLLATERAL_PRODUCTS)) { + instruments.put( + adaptInstrument(instrument.getSymbol()), + new InstrumentMetaData.Builder() + .volumeScale(instrument.getVolumeScale()) + .priceScale(instrument.getTickSize().scale()) + .priceStepSize(instrument.getTickSize()) + .minimumAmount(getMinimumAmountFromVolumeScale(instrument.getVolumeScale())) .build()); } } - return new ExchangeMetaData(instruments, currencies,null,null,true); + return new ExchangeMetaData(instruments, currencies, null, null, true); } public static Instrument adaptInstrument(String symbol) { - String main_symbol = symbol.replace(MULTI_COLLATERAL_PRODUCTS,""); - return new FuturesContract(new CurrencyPair(main_symbol.substring(0, main_symbol.length() - 3).replace("XBT","BTC")+"/"+main_symbol.substring(main_symbol.length()-3)),"PERP"); + String main_symbol = symbol.replace(MULTI_COLLATERAL_PRODUCTS, ""); + return new FuturesContract( + new CurrencyPair( + main_symbol.substring(0, main_symbol.length() - 3).replace("XBT", "BTC") + + "/" + + main_symbol.substring(main_symbol.length() - 3)), + "PERP"); } - private static BigDecimal getMinimumAmountFromVolumeScale(Integer volumeScale){ - if(volumeScale == 0){ + private static BigDecimal getMinimumAmountFromVolumeScale(Integer volumeScale) { + if (volumeScale == 0) { return BigDecimal.ONE; } else { StringBuilder sb = new StringBuilder("0."); - for(int i = 1; i < volumeScale; i++) { + for (int i = 1; i < volumeScale; i++) { sb.append("0"); } sb.append("1"); @@ -215,21 +252,25 @@ private static BigDecimal getMinimumAmountFromVolumeScale(Integer volumeScale){ } public static String adaptKrakenFuturesSymbol(Instrument instrument) { - return MULTI_COLLATERAL_PRODUCTS+instrument.getBase().toString().replace("BTC","XBT")+instrument.getCounter().toString(); + return MULTI_COLLATERAL_PRODUCTS + + instrument.getBase().toString().replace("BTC", "XBT") + + instrument.getCounter().toString(); } - public static Trades adaptTrades(KrakenFuturesPublicFills krakenFuturesTrades, Instrument instrument) { + public static Trades adaptTrades( + KrakenFuturesPublicFills krakenFuturesTrades, Instrument instrument) { List trades = new ArrayList<>(); for (KrakenFuturesPublicFill fill : krakenFuturesTrades.getFills()) { - trades.add(new Trade.Builder() - .id(fill.getTradeId()) - .type(adaptOrderType(fill.getSide())) - .price(fill.getPrice()) - .originalAmount(fill.getSize()) - .timestamp(fill.getTime()) - .instrument(instrument) - .build()); + trades.add( + new Trade.Builder() + .id(fill.getTradeId()) + .type(adaptOrderType(fill.getSide())) + .price(fill.getPrice()) + .originalAmount(fill.getSize()) + .timestamp(fill.getTime()) + .instrument(instrument) + .build()); } return new Trades(trades, TradeSortType.SortByTimestamp); @@ -239,67 +280,86 @@ public static FundingRates adaptFundingRates(KrakenFuturesTickers krakenFuturesT List fundingRates = new ArrayList<>(); for (KrakenFuturesTicker ticker : krakenFuturesTickers.getTickers()) { - if(ticker.getSymbol().contains(MULTI_COLLATERAL_PRODUCTS)){ + if (ticker.getSymbol().contains(MULTI_COLLATERAL_PRODUCTS)) { fundingRates.add(adaptFundingRate(ticker)); } } return new FundingRates(fundingRates); } - public static FundingRate adaptFundingRate(KrakenFuturesTicker krakenFuturesTicker){ + public static FundingRate adaptFundingRate(KrakenFuturesTicker krakenFuturesTicker) { LocalDateTime now = LocalDateTime.now(); - // KrakenFutures REST API getTicker returns absoluteValue for fundingRate. Needs to divided by markPrice in order to be the same value that kraken UI displays - BigDecimal relative1hFundingRate = krakenFuturesTicker.getAbsoluteFundingRate().divide(krakenFuturesTicker.getMarkPrice(),8,RoundingMode.HALF_EVEN); + // KrakenFutures REST API getTicker returns absoluteValue for fundingRate. Needs to divided by + // markPrice in order to be the same value that kraken UI displays + BigDecimal relative1hFundingRate = + krakenFuturesTicker + .getAbsoluteFundingRate() + .divide(krakenFuturesTicker.getMarkPrice(), 8, RoundingMode.HALF_EVEN); return new FundingRate.Builder() - .fundingRate1h(relative1hFundingRate) - .fundingRate8h(relative1hFundingRate.multiply(BigDecimal.valueOf(8))) - .fundingRateDate(Date.from(now.plus(60-now.get(ChronoField.MINUTE_OF_HOUR), ChronoUnit.MINUTES).toInstant(ZoneOffset.UTC))) - .fundingRateEffectiveInMinutes(60-LocalTime.now().getMinute()) - .instrument(adaptInstrument(krakenFuturesTicker.getSymbol())) - .build(); + .fundingRate1h(relative1hFundingRate) + .fundingRate8h(relative1hFundingRate.multiply(BigDecimal.valueOf(8))) + .fundingRateDate( + Date.from( + now.plus(60 - now.get(ChronoField.MINUTE_OF_HOUR), ChronoUnit.MINUTES) + .toInstant(ZoneOffset.UTC))) + .fundingRateEffectiveInMinutes(60 - LocalTime.now().getMinute()) + .instrument(adaptInstrument(krakenFuturesTicker.getSymbol())) + .build(); } - public static Order adaptKrakenFuturesOrder(KrakenFuturesOrdersStatusesResponse.KrakenFuturesOrder krakenFuturesOrder) { - return new LimitOrder.Builder(adaptOrderType(krakenFuturesOrder.getOrder().getSide()), adaptInstrument(krakenFuturesOrder.getOrder().getSymbol())) - .limitPrice(krakenFuturesOrder.getOrder().getLimitPrice()) - .originalAmount(krakenFuturesOrder.getOrder().getQuantity()) - .id(krakenFuturesOrder.getOrder().getOrderId()) - .userReference(krakenFuturesOrder.getOrder().getCliOrdId()) - .orderStatus(adaptOrderStatus(krakenFuturesOrder.getOrder().getStatus())) - .build(); + public static Order adaptKrakenFuturesOrder( + KrakenFuturesOrdersStatusesResponse.KrakenFuturesOrder krakenFuturesOrder) { + return new LimitOrder.Builder( + adaptOrderType(krakenFuturesOrder.getOrder().getSide()), + adaptInstrument(krakenFuturesOrder.getOrder().getSymbol())) + .limitPrice(krakenFuturesOrder.getOrder().getLimitPrice()) + .originalAmount(krakenFuturesOrder.getOrder().getQuantity()) + .id(krakenFuturesOrder.getOrder().getOrderId()) + .userReference(krakenFuturesOrder.getOrder().getCliOrdId()) + .orderStatus(adaptOrderStatus(krakenFuturesOrder.getOrder().getStatus())) + .build(); } - public static OrderStatus adaptOrderStatus(KrakenFuturesOrderStatus krakenFuturesOrderStatus){ + public static OrderStatus adaptOrderStatus(KrakenFuturesOrderStatus krakenFuturesOrderStatus) { OrderStatus orderStatus = OrderStatus.UNKNOWN; - if(krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.REJECTED) - || krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.TRIGGER_ACTIVATION_FAILURE)){ + if (krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.REJECTED) + || krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.TRIGGER_ACTIVATION_FAILURE)) { orderStatus = OrderStatus.REJECTED; - } else if(krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.CANCELLED)){ + } else if (krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.CANCELLED)) { orderStatus = OrderStatus.CANCELED; - } else if(krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.ENTERED_BOOK)){ + } else if (krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.ENTERED_BOOK)) { orderStatus = OrderStatus.NEW; - } else if(krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.FULLY_EXECUTED)){ + } else if (krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.FULLY_EXECUTED)) { orderStatus = OrderStatus.FILLED; - } else if(krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.TRIGGER_PLACED) - || krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.untouched)){ + } else if (krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.TRIGGER_PLACED) + || krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.untouched)) { orderStatus = OrderStatus.OPEN; - } else if(krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.partiallyFilled)){ + } else if (krakenFuturesOrderStatus.equals(KrakenFuturesOrderStatus.partiallyFilled)) { orderStatus = OrderStatus.PARTIALLY_FILLED; } return orderStatus; } - public static OpenPositions adaptOpenPositions(KrakenFuturesOpenPositions krakenFuturesOpenPositions) { + public static OpenPositions adaptOpenPositions( + KrakenFuturesOpenPositions krakenFuturesOpenPositions) { List openPositions = new ArrayList<>(); - krakenFuturesOpenPositions.getOpenPositions().forEach(krakenFuturesOpenPosition -> openPositions.add(new OpenPosition.Builder() - .instrument(adaptInstrument(krakenFuturesOpenPosition.getSymbol())) - .type((krakenFuturesOpenPosition.getSide().equals("long")) ? OpenPosition.Type.LONG : OpenPosition.Type.SHORT) - .size(krakenFuturesOpenPosition.getSize()) - .price(krakenFuturesOpenPosition.getPrice()) - .build())); + krakenFuturesOpenPositions + .getOpenPositions() + .forEach( + krakenFuturesOpenPosition -> + openPositions.add( + new OpenPosition.Builder() + .instrument(adaptInstrument(krakenFuturesOpenPosition.getSymbol())) + .type( + (krakenFuturesOpenPosition.getSide().equals("long")) + ? OpenPosition.Type.LONG + : OpenPosition.Type.SHORT) + .size(krakenFuturesOpenPosition.getSize()) + .price(krakenFuturesOpenPosition.getPrice()) + .build())); return new OpenPositions(openPositions); } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesAuthenticated.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesAuthenticated.java index 5ebdc120652..6e46c9fc220 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesAuthenticated.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.krakenfutures; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -10,14 +8,17 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; - +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.krakenfutures.dto.account.KrakenFuturesAccounts; import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesOrder; import org.knowm.xchange.krakenfutures.dto.trade.*; import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ @Path("/api/v3") @Produces(MediaType.APPLICATION_JSON) public interface KrakenFuturesAuthenticated extends KrakenFutures { @@ -56,23 +57,23 @@ BatchOrderResult batchOrder( @FormParam("json") BatchOrder orderCommands) throws IOException; - @POST - @Path("cancelorder") - KrakenFuturesCancel cancelOrder( - @HeaderParam("APIKey") String apiKey, - @HeaderParam("Authent") ParamsDigest signer, - @HeaderParam("Nonce") SynchronizedValueFactory nonce, - @QueryParam("order_id") String order_id) - throws IOException; + @POST + @Path("cancelorder") + KrakenFuturesCancel cancelOrder( + @HeaderParam("APIKey") String apiKey, + @HeaderParam("Authent") ParamsDigest signer, + @HeaderParam("Nonce") SynchronizedValueFactory nonce, + @QueryParam("order_id") String order_id) + throws IOException; @POST @Path("cancelallorders") KrakenFuturesCancelAllOrders cancelAllOrdersByInstrument( - @HeaderParam("APIKey") String apiKey, - @HeaderParam("Authent") ParamsDigest signer, - @HeaderParam("Nonce") SynchronizedValueFactory nonce, - @QueryParam("symbol") String symbol) - throws IOException; + @HeaderParam("APIKey") String apiKey, + @HeaderParam("Authent") ParamsDigest signer, + @HeaderParam("Nonce") SynchronizedValueFactory nonce, + @QueryParam("symbol") String symbol) + throws IOException; @POST @Path("cancelallordersafter") @@ -95,25 +96,24 @@ KrakenFuturesOpenOrders openOrders( @Path("orders/status") @Produces(MediaType.APPLICATION_FORM_URLENCODED) KrakenFuturesOrdersStatusesResponse getOrdersStatuses( - @HeaderParam("APIKey") String apiKey, - @HeaderParam("Authent") ParamsDigest signer, - @HeaderParam("Nonce") SynchronizedValueFactory nonce, - KrakenFuturesOrderStatusRequest orderIds) - throws IOException; + @HeaderParam("APIKey") String apiKey, + @HeaderParam("Authent") ParamsDigest signer, + @HeaderParam("Nonce") SynchronizedValueFactory nonce, + KrakenFuturesOrderStatusRequest orderIds) + throws IOException; @POST @Path("editorder") KrakenFuturesEditOrderResponse changeOrder( - @HeaderParam("APIKey") String apiKey, - @HeaderParam("Authent") ParamsDigest signer, - @HeaderParam("Nonce") SynchronizedValueFactory nonce, - @QueryParam("cliOrdId") String cliOrdId, - @QueryParam("limitPrice") BigDecimal limitPrice, - @QueryParam("orderId") String orderId, - @QueryParam("size") BigDecimal size, - @QueryParam("stopPrice") BigDecimal stopPrice - ) - throws IOException; + @HeaderParam("APIKey") String apiKey, + @HeaderParam("Authent") ParamsDigest signer, + @HeaderParam("Nonce") SynchronizedValueFactory nonce, + @QueryParam("cliOrdId") String cliOrdId, + @QueryParam("limitPrice") BigDecimal limitPrice, + @QueryParam("orderId") String orderId, + @QueryParam("size") BigDecimal size, + @QueryParam("stopPrice") BigDecimal stopPrice) + throws IOException; @GET @Path("fills") @@ -131,4 +131,4 @@ KrakenFuturesOpenPositions openPositions( @HeaderParam("Authent") ParamsDigest signer, @HeaderParam("Nonce") SynchronizedValueFactory nonce) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesExchange.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesExchange.java index 68d3261c5f8..732cdbdd1f3 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesExchange.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/KrakenFuturesExchange.java @@ -1,17 +1,18 @@ package org.knowm.xchange.krakenfutures; +import java.io.IOException; import org.knowm.xchange.BaseExchange; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeSpecification; +import org.knowm.xchange.exceptions.ExchangeException; import org.knowm.xchange.krakenfutures.service.KrakenFuturesAccountService; import org.knowm.xchange.krakenfutures.service.KrakenFuturesMarketDataService; import org.knowm.xchange.krakenfutures.service.KrakenFuturesMarketDataServiceRaw; import org.knowm.xchange.krakenfutures.service.KrakenFuturesTradeService; -import org.knowm.xchange.exceptions.ExchangeException; - -import java.io.IOException; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesExchange extends BaseExchange implements Exchange { private final String DEMO_URL = "https://demo-futures.kraken.com/derivatives"; @@ -40,13 +41,15 @@ public ExchangeSpecification getDefaultExchangeSpecification() { @Override public void remoteInit() throws IOException, ExchangeException { - exchangeMetaData = KrakenFuturesAdapters.adaptInstrumentsMetaData(((KrakenFuturesMarketDataServiceRaw)marketDataService).getKrakenFuturesInstruments()); + exchangeMetaData = + KrakenFuturesAdapters.adaptInstrumentsMetaData( + ((KrakenFuturesMarketDataServiceRaw) marketDataService).getKrakenFuturesInstruments()); } private void concludeHostParams(ExchangeSpecification exchangeSpecification) { if (exchangeSpecification.getExchangeSpecificParameters() != null) { if (Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(USE_SANDBOX))) { + exchangeSpecification.getExchangeSpecificParametersItem(USE_SANDBOX))) { exchangeSpecification.setSslUri(DEMO_URL); } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/KrakenFuturesResult.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/KrakenFuturesResult.java index ef582edcbfc..2d6938cf37f 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/KrakenFuturesResult.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/KrakenFuturesResult.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonCreator; import lombok.Data; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ @Data public class KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccount.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccount.java index b2c16dc6196..3a81c8686ca 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccount.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccount.java @@ -2,11 +2,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Date; - import lombok.Getter; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter public class KrakenFuturesAccount extends KrakenFuturesResult { @@ -20,7 +21,7 @@ public KrakenFuturesAccount( @JsonProperty("account") KrakenFuturesAccountInfo accountInfo) { super(result, error); - this.serverTime =serverTime; + this.serverTime = serverTime; this.accountInfo = accountInfo; } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccountInfo.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccountInfo.java index 61eb6e5a70b..fdddcd3bb6c 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccountInfo.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccountInfo.java @@ -2,13 +2,14 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.ToString; - import java.math.BigDecimal; import java.util.Map; +import lombok.Getter; +import lombok.ToString; -/** @author Panchen */ +/** + * @author Panchen + */ @JsonInclude(JsonInclude.Include.NON_NULL) @Getter @ToString @@ -25,11 +26,11 @@ public class KrakenFuturesAccountInfo { private final BigDecimal collateralValue; public KrakenFuturesAccountInfo( - @JsonProperty("type") String type, - @JsonProperty("currencies") Map currencies, - @JsonProperty("balanceValue") BigDecimal balanceValue, - @JsonProperty("portfolioValue") BigDecimal portfolioValue, - @JsonProperty("collateralValue") BigDecimal collateralValue) { + @JsonProperty("type") String type, + @JsonProperty("currencies") Map currencies, + @JsonProperty("balanceValue") BigDecimal balanceValue, + @JsonProperty("portfolioValue") BigDecimal portfolioValue, + @JsonProperty("collateralValue") BigDecimal collateralValue) { this.type = type; this.currencies = currencies; this.balanceValue = balanceValue; @@ -40,17 +41,17 @@ public KrakenFuturesAccountInfo( @Getter @ToString @JsonInclude(JsonInclude.Include.NON_NULL) - public static class KrakenFuturesCurrency{ + public static class KrakenFuturesCurrency { private final BigDecimal quantity; private final BigDecimal value; private final BigDecimal collateralValue; private final BigDecimal available; public KrakenFuturesCurrency( - @JsonProperty("quantity") BigDecimal quantity, - @JsonProperty("value") BigDecimal value, - @JsonProperty("collateralValue") BigDecimal collateralValue, - @JsonProperty("available") BigDecimal available) { + @JsonProperty("quantity") BigDecimal quantity, + @JsonProperty("value") BigDecimal value, + @JsonProperty("collateralValue") BigDecimal collateralValue, + @JsonProperty("available") BigDecimal available) { this.quantity = quantity; this.value = value; this.collateralValue = collateralValue; diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccounts.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccounts.java index cf312e74a55..9df59ab2c85 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccounts.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/account/KrakenFuturesAccounts.java @@ -1,19 +1,20 @@ package org.knowm.xchange.krakenfutures.dto.account; import com.fasterxml.jackson.annotation.JsonProperty; - import java.util.Date; import java.util.Map; - import lombok.Getter; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter public class KrakenFuturesAccounts extends KrakenFuturesResult { private final Map accounts; private final Date serverTime; + public KrakenFuturesAccounts( @JsonProperty("result") String result, @JsonProperty("serverTime") Date serverTime, diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesBidsAsks.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesBidsAsks.java index 7b3d8c3e8bd..3cf260ce4aa 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesBidsAsks.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesBidsAsks.java @@ -1,13 +1,14 @@ package org.knowm.xchange.krakenfutures.dto.marketData; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.ToString; - import java.math.BigDecimal; import java.util.List; +import lombok.Getter; +import lombok.ToString; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesBidsAsks { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesInstrument.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesInstrument.java index 1891a0427b2..38b612c859c 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesInstrument.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesInstrument.java @@ -3,12 +3,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; import java.util.Date; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Neil Panchen */ +/** + * @author Neil Panchen + */ @ToString @Getter public class KrakenFuturesInstrument extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesInstruments.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesInstruments.java index 412351ea43e..cffcde7f6ba 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesInstruments.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesInstruments.java @@ -1,13 +1,13 @@ package org.knowm.xchange.krakenfutures.dto.marketData; import com.fasterxml.jackson.annotation.JsonProperty; - import java.util.Date; import java.util.List; - import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Neil Panchen */ +/** + * @author Neil Panchen + */ public class KrakenFuturesInstruments extends KrakenFuturesResult { private final Date serverTime; @@ -34,8 +34,7 @@ public String toString() { if (isSuccess()) { StringBuilder res = - new StringBuilder( - "KrakenFutureInstruments [serverTime=" + serverTime + ",instruments="); + new StringBuilder("KrakenFutureInstruments [serverTime=" + serverTime + ",instruments="); for (KrakenFuturesInstrument ct : instruments) res.append(ct.toString()).append(", "); res.append(" ]"); diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrder.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrder.java index bd5fbe50f98..ab72847d0a0 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrder.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrder.java @@ -1,14 +1,14 @@ package org.knowm.xchange.krakenfutures.dto.marketData; import com.fasterxml.jackson.annotation.JsonProperty; - import java.util.Date; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ @Getter @ToString public class KrakenFuturesOrder extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrderBook.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrderBook.java index 6c8e393db47..bf697e6a95e 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrderBook.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrderBook.java @@ -1,15 +1,15 @@ package org.knowm.xchange.krakenfutures.dto.marketData; import com.fasterxml.jackson.annotation.JsonProperty; - import java.util.Date; - import lombok.Getter; import lombok.ToString; -import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; import org.knowm.xchange.instrument.Instrument; +import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesOrderBook extends KrakenFuturesResult { @@ -30,7 +30,7 @@ public KrakenFuturesOrderBook( this.bidsAsks = bidsAsks; } - public void setInstrument(Instrument instrument){ + public void setInstrument(Instrument instrument) { this.instrument = instrument; } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrderStatus.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrderStatus.java index 9ea626da381..5848a4f5eeb 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrderStatus.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesOrderStatus.java @@ -1,13 +1,13 @@ package org.knowm.xchange.krakenfutures.dto.marketData; import com.fasterxml.jackson.annotation.JsonProperty; - import java.util.Date; - import lombok.Getter; import lombok.ToString; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesOrderStatus { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesPublicFill.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesPublicFill.java index 6cd6056afe2..ac565e6a253 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesPublicFill.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesPublicFill.java @@ -3,13 +3,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; import java.util.Date; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; import org.knowm.xchange.krakenfutures.dto.trade.KrakenFuturesOrderSide; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesPublicFill extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesPublicFills.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesPublicFills.java index 7368d6cb5ba..00cf0ba74e9 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesPublicFills.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesPublicFills.java @@ -1,16 +1,16 @@ package org.knowm.xchange.krakenfutures.dto.marketData; import com.fasterxml.jackson.annotation.JsonProperty; - import java.util.Date; import java.util.List; - import lombok.Getter; import lombok.ToString; -import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; import org.knowm.xchange.instrument.Instrument; +import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesPublicFills extends KrakenFuturesResult { @@ -34,5 +34,4 @@ public KrakenFuturesPublicFills( public void setInstrument(Instrument instrument) { this.instrument = instrument; } - } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesTicker.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesTicker.java index 46acd4f4ccc..aa8c370d1fb 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesTicker.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesTicker.java @@ -3,12 +3,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; import java.util.Date; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ @Getter @ToString public class KrakenFuturesTicker extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesTickers.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesTickers.java index 90c6fcaa18c..21df538bf5d 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesTickers.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/marketData/KrakenFuturesTickers.java @@ -3,12 +3,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Date; import java.util.List; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Neil Panchen */ +/** + * @author Neil Panchen + */ @Getter @ToString public class KrakenFuturesTickers extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/BatchOrderResult.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/BatchOrderResult.java index d0eb37c4b6c..d45d4893a29 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/BatchOrderResult.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/BatchOrderResult.java @@ -3,7 +3,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Date; import java.util.List; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/BatchStatus.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/BatchStatus.java index aaf981fb3b6..fa89772d234 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/BatchStatus.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/BatchStatus.java @@ -9,6 +9,7 @@ public class BatchStatus { public final OrderStatus status; public final String orderId; + /** * For placement only. The arbitrary string provided client-side when the order was sent for the * purpose of mapping order sending instructions to the API’s response diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancel.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancel.java index 8fa6e6a5de3..c67cba287d0 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancel.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancel.java @@ -2,12 +2,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Date; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ @Getter @ToString public class KrakenFuturesCancel extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancelAllOrders.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancelAllOrders.java index 25ea4111f3e..629d27129d7 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancelAllOrders.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancelAllOrders.java @@ -2,47 +2,45 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -import java.util.List; - @Getter @ToString @JsonInclude(JsonInclude.Include.NON_NULL) public class KrakenFuturesCancelAllOrders extends KrakenFuturesResult { - private final KrakenFuturesCancelStatus cancelStatus; + private final KrakenFuturesCancelStatus cancelStatus; - public KrakenFuturesCancelAllOrders( - @JsonProperty("result") String result, - @JsonProperty("error") String error, - @JsonProperty("cancelStatus") KrakenFuturesCancelStatus cancelStatus) { - super(result, error); - this.cancelStatus = cancelStatus; - } + public KrakenFuturesCancelAllOrders( + @JsonProperty("result") String result, + @JsonProperty("error") String error, + @JsonProperty("cancelStatus") KrakenFuturesCancelStatus cancelStatus) { + super(result, error); + this.cancelStatus = cancelStatus; + } - @Getter - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class KrakenFuturesCancelStatus{ + @Getter + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class KrakenFuturesCancelStatus { - private final List orderIds; + private final List orderIds; - public KrakenFuturesCancelStatus( - @JsonProperty("cancelledOrders") List orderIds) { - this.orderIds = orderIds; - } + public KrakenFuturesCancelStatus( + @JsonProperty("cancelledOrders") List orderIds) { + this.orderIds = orderIds; } + } - @Getter - public static class KrakenFuturesOrderId{ + @Getter + public static class KrakenFuturesOrderId { - private final String orderId; + private final String orderId; - public KrakenFuturesOrderId( - @JsonProperty("order_id") String orderId) { - this.orderId = orderId; - } + public KrakenFuturesOrderId(@JsonProperty("order_id") String orderId) { + this.orderId = orderId; } + } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancelStatus.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancelStatus.java index 7d710e8f7a6..ee72982eab2 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancelStatus.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesCancelStatus.java @@ -2,11 +2,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Date; - import lombok.Getter; import lombok.ToString; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesCancelStatus { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesEditOrderResponse.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesEditOrderResponse.java index 957746c6a58..2de236a48ae 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesEditOrderResponse.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesEditOrderResponse.java @@ -10,25 +10,24 @@ @ToString public class KrakenFuturesEditOrderResponse extends KrakenFuturesResult { - private final KrakenFuturesEditStatus editStatus; + private final KrakenFuturesEditStatus editStatus; - public KrakenFuturesEditOrderResponse( - @JsonProperty("result") String result, - @JsonProperty("error") String error, - @JsonProperty("editStatus") KrakenFuturesEditStatus editStatus) { - super(result, error); - this.editStatus = editStatus; - } + public KrakenFuturesEditOrderResponse( + @JsonProperty("result") String result, + @JsonProperty("error") String error, + @JsonProperty("editStatus") KrakenFuturesEditStatus editStatus) { + super(result, error); + this.editStatus = editStatus; + } - @Getter - @ToString - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class KrakenFuturesEditStatus{ - private final String orderId; + @Getter + @ToString + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class KrakenFuturesEditStatus { + private final String orderId; - public KrakenFuturesEditStatus( - @JsonProperty("orderId") String orderId) { - this.orderId = orderId; - } + public KrakenFuturesEditStatus(@JsonProperty("orderId") String orderId) { + this.orderId = orderId; } + } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesFill.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesFill.java index 30903551b9d..75c6642400f 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesFill.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesFill.java @@ -3,12 +3,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; import java.util.Date; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesFill extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesFills.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesFills.java index 4c0f32b66e9..4e043105302 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesFills.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesFills.java @@ -3,12 +3,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Date; import java.util.List; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesFills extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenOrder.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenOrder.java index 21b8d516578..7b516bf929f 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenOrder.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenOrder.java @@ -3,12 +3,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; import java.util.Date; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ @Getter @ToString public class KrakenFuturesOpenOrder extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenOrders.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenOrders.java index 6e3f8115605..4239c385505 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenOrders.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenOrders.java @@ -3,12 +3,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Date; import java.util.List; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ @Getter @ToString public class KrakenFuturesOpenOrders extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenPosition.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenPosition.java index b11902a80ac..e6158a51fb8 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenPosition.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenPosition.java @@ -3,12 +3,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; import java.util.Date; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesOpenPosition extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenPositions.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenPositions.java index 1c47bc1fc54..62327da7408 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenPositions.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOpenPositions.java @@ -3,12 +3,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Date; import java.util.List; - import lombok.Getter; import lombok.ToString; import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; -/** @author Panchen */ +/** + * @author Panchen + */ @Getter @ToString public class KrakenFuturesOpenPositions extends KrakenFuturesResult { diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderStatus.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderStatus.java index 9cadc8bd7cb..75e35b40b6c 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderStatus.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderStatus.java @@ -1,12 +1,12 @@ package org.knowm.xchange.krakenfutures.dto.trade; public enum KrakenFuturesOrderStatus { - ENTERED_BOOK, - FULLY_EXECUTED, - REJECTED, - CANCELLED, - TRIGGER_PLACED, - TRIGGER_ACTIVATION_FAILURE, - untouched, - partiallyFilled + ENTERED_BOOK, + FULLY_EXECUTED, + REJECTED, + CANCELLED, + TRIGGER_PLACED, + TRIGGER_ACTIVATION_FAILURE, + untouched, + partiallyFilled } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderStatusRequest.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderStatusRequest.java index 13c74711bee..86f9eae5f41 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderStatusRequest.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderStatusRequest.java @@ -8,10 +8,9 @@ @ToString public class KrakenFuturesOrderStatusRequest { - private final String[] orderIds; + private final String[] orderIds; - public KrakenFuturesOrderStatusRequest( - @JsonProperty("orderIds") String[] orderIds) { - this.orderIds = orderIds; - } + public KrakenFuturesOrderStatusRequest(@JsonProperty("orderIds") String[] orderIds) { + this.orderIds = orderIds; + } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderType.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderType.java index ffcdc6792ec..8267fa6e0a3 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderType.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrderType.java @@ -1,14 +1,10 @@ package org.knowm.xchange.krakenfutures.dto.trade; /** - * The order type: - * * lmt - a limit order - * * post - a post-only limit order - * * mkt - an immediate-or-cancel order with 1% price protection - * * stp - a stop order - * * take_profit - a take profit order - * * ioc - an immediate-or-cancel order - * */ + * The order type: * lmt - a limit order * post - a post-only limit order * mkt - an + * immediate-or-cancel order with 1% price protection * stp - a stop order * take_profit - a take + * profit order * ioc - an immediate-or-cancel order + */ public enum KrakenFuturesOrderType { lmt, post, diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrdersStatusesResponse.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrdersStatusesResponse.java index cef25902a01..75fa073bfc1 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrdersStatusesResponse.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/dto/trade/KrakenFuturesOrdersStatusesResponse.java @@ -2,75 +2,73 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.ToString; -import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; - import java.math.BigDecimal; import java.util.Date; import java.util.List; +import lombok.Getter; +import lombok.ToString; +import org.knowm.xchange.krakenfutures.dto.KrakenFuturesResult; @Getter @ToString @JsonInclude(JsonInclude.Include.NON_NULL) public class KrakenFuturesOrdersStatusesResponse extends KrakenFuturesResult { - private final List orders; + private final List orders; - public KrakenFuturesOrdersStatusesResponse( - @JsonProperty("result") String result, - @JsonProperty("error") String error, - @JsonProperty("orders") List orders) { - super(result, error); - this.orders = orders; - } + public KrakenFuturesOrdersStatusesResponse( + @JsonProperty("result") String result, + @JsonProperty("error") String error, + @JsonProperty("orders") List orders) { + super(result, error); + this.orders = orders; + } - @JsonInclude(JsonInclude.Include.NON_NULL) - @Getter - public static class KrakenFuturesOrder{ - private final KrakenFuturesOrderDetails order; + @JsonInclude(JsonInclude.Include.NON_NULL) + @Getter + public static class KrakenFuturesOrder { + private final KrakenFuturesOrderDetails order; - public KrakenFuturesOrder( - @JsonProperty("order") KrakenFuturesOrderDetails order) { - this.order = order; - } + public KrakenFuturesOrder(@JsonProperty("order") KrakenFuturesOrderDetails order) { + this.order = order; } + } - @Getter - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class KrakenFuturesOrderDetails{ - private final String cliOrdId; - private final BigDecimal filled; - private final Date lastUpdateTimestamp; - private final BigDecimal limitPrice; - private final String orderId; - private final BigDecimal quantity; - private final boolean isReduceOnly; - private final KrakenFuturesOrderSide side; - private final String symbol; - private final KrakenFuturesOrderStatus status; + @Getter + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class KrakenFuturesOrderDetails { + private final String cliOrdId; + private final BigDecimal filled; + private final Date lastUpdateTimestamp; + private final BigDecimal limitPrice; + private final String orderId; + private final BigDecimal quantity; + private final boolean isReduceOnly; + private final KrakenFuturesOrderSide side; + private final String symbol; + private final KrakenFuturesOrderStatus status; - public KrakenFuturesOrderDetails( - @JsonProperty("cliOrdId") String cliOrdId, - @JsonProperty("filled") BigDecimal filled, - @JsonProperty("lastUpdateTimestamp") Date lastUpdateTimestamp, - @JsonProperty("limitPrice") BigDecimal limitPrice, - @JsonProperty("orderId") String orderId, - @JsonProperty("quantity") BigDecimal quantity, - @JsonProperty("reduceOnly") boolean isReduceOnly, - @JsonProperty("side") KrakenFuturesOrderSide side, - @JsonProperty("symbol") String symbol, - @JsonProperty("status") KrakenFuturesOrderStatus status) { - this.cliOrdId = cliOrdId; - this.filled = filled; - this.lastUpdateTimestamp = lastUpdateTimestamp; - this.limitPrice = limitPrice; - this.orderId = orderId; - this.quantity = quantity; - this.isReduceOnly = isReduceOnly; - this.side = side; - this.symbol = symbol; - this.status = status; - } + public KrakenFuturesOrderDetails( + @JsonProperty("cliOrdId") String cliOrdId, + @JsonProperty("filled") BigDecimal filled, + @JsonProperty("lastUpdateTimestamp") Date lastUpdateTimestamp, + @JsonProperty("limitPrice") BigDecimal limitPrice, + @JsonProperty("orderId") String orderId, + @JsonProperty("quantity") BigDecimal quantity, + @JsonProperty("reduceOnly") boolean isReduceOnly, + @JsonProperty("side") KrakenFuturesOrderSide side, + @JsonProperty("symbol") String symbol, + @JsonProperty("status") KrakenFuturesOrderStatus status) { + this.cliOrdId = cliOrdId; + this.filled = filled; + this.lastUpdateTimestamp = lastUpdateTimestamp; + this.limitPrice = limitPrice; + this.orderId = orderId; + this.quantity = quantity; + this.isReduceOnly = isReduceOnly; + this.side = side; + this.symbol = symbol; + this.status = status; } + } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesAccountService.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesAccountService.java index 07f790350d1..0abac3c4e53 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesAccountService.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesAccountService.java @@ -1,13 +1,14 @@ package org.knowm.xchange.krakenfutures.service; import java.io.IOException; - import org.knowm.xchange.Exchange; -import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; import org.knowm.xchange.dto.account.AccountInfo; +import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; import org.knowm.xchange.service.account.AccountService; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesAccountService extends KrakenFuturesAccountServiceRaw implements AccountService { @@ -24,6 +25,7 @@ public KrakenFuturesAccountService(Exchange exchange) { @Override public AccountInfo getAccountInfo() throws IOException { - return KrakenFuturesAdapters.adaptAccounts(getKrakenFuturesAccounts(), getKrakenFuturesOpenPositions()); + return KrakenFuturesAdapters.adaptAccounts( + getKrakenFuturesAccounts(), getKrakenFuturesOpenPositions()); } } diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesAccountServiceRaw.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesAccountServiceRaw.java index ef2851476ff..84bf7ce8d17 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesAccountServiceRaw.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesAccountServiceRaw.java @@ -2,10 +2,12 @@ import java.io.IOException; import org.knowm.xchange.Exchange; -import org.knowm.xchange.krakenfutures.dto.account.KrakenFuturesAccounts; import org.knowm.xchange.exceptions.ExchangeException; +import org.knowm.xchange.krakenfutures.dto.account.KrakenFuturesAccounts; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesAccountServiceRaw extends KrakenFuturesBaseService { /** diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesBaseService.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesBaseService.java index cfc5061205a..aacec338d9f 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesBaseService.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesBaseService.java @@ -1,5 +1,6 @@ package org.knowm.xchange.krakenfutures.service; +import java.io.IOException; import org.knowm.xchange.Exchange; import org.knowm.xchange.client.ExchangeRestProxyBuilder; import org.knowm.xchange.exceptions.ExchangeException; @@ -9,9 +10,9 @@ import org.knowm.xchange.service.BaseService; import si.mazi.rescu.ParamsDigest; -import java.io.IOException; - -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesBaseService extends BaseExchangeService implements BaseService { protected KrakenFuturesAuthenticated krakenFuturesAuthenticated; @@ -36,10 +37,10 @@ public KrakenFuturesBaseService(Exchange exchange) { public KrakenFuturesOpenPositions getKrakenFuturesOpenPositions() throws IOException { KrakenFuturesOpenPositions openPositions = - krakenFuturesAuthenticated.openPositions( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - exchange.getNonceFactory()); + krakenFuturesAuthenticated.openPositions( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + exchange.getNonceFactory()); if (openPositions.isSuccess()) { return openPositions; diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesDigest.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesDigest.java index c2e81bf4a93..266170a1b29 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesDigest.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesDigest.java @@ -1,5 +1,7 @@ package org.knowm.xchange.krakenfutures.service; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.QueryParam; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.nio.charset.StandardCharsets; @@ -7,12 +9,12 @@ import java.security.NoSuchAlgorithmException; import java.util.Base64; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; -import jakarta.ws.rs.QueryParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesDigest extends BaseParamsDigest { /** @@ -36,13 +38,13 @@ public static KrakenFuturesDigest createInstance(String secretKeyBase64) { } } - public String signMessage(String message){ + public String signMessage(String message) { MessageDigest sha256; try { sha256 = MessageDigest.getInstance("SHA-256"); } catch (NoSuchAlgorithmException e) { throw new RuntimeException( - "Illegal algorithm (SHA-256) for post body digest. Check the implementation."); + "Illegal algorithm (SHA-256) for post body digest. Check the implementation."); } sha256.update(message.getBytes()); @@ -50,22 +52,22 @@ public String signMessage(String message){ mac512.update(sha256.digest()); return Base64.getEncoder().encodeToString(mac512.doFinal()).trim(); } + @Override public String digestParams(RestInvocation restInvocation) { - try{ - String message = URLDecoder.decode( - restInvocation.getParamsMap().get(QueryParam.class).asQueryString(), - StandardCharsets.UTF_8.name()) + try { + String message = + URLDecoder.decode( + restInvocation.getParamsMap().get(QueryParam.class).asQueryString(), + StandardCharsets.UTF_8.name()) + restInvocation.getParamValue(HeaderParam.class, "Nonce").toString() + restInvocation.getPath(); return signMessage(message); } catch (UnsupportedEncodingException e) { throw new RuntimeException( - "Bad encoding found on request query while hashing (SHA256) the POST data.", e); + "Bad encoding found on request query while hashing (SHA256) the POST data.", e); } - - } -} \ No newline at end of file +} diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesMarketDataService.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesMarketDataService.java index bfa5c4658c1..d50b7ca9215 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesMarketDataService.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesMarketDataService.java @@ -2,12 +2,14 @@ import java.io.IOException; import org.knowm.xchange.Exchange; -import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; import org.knowm.xchange.dto.marketdata.*; import org.knowm.xchange.instrument.Instrument; +import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesMarketDataService extends KrakenFuturesMarketDataServiceRaw implements MarketDataService { @@ -23,8 +25,7 @@ public KrakenFuturesMarketDataService(Exchange exchange) { @Override public Ticker getTicker(Instrument instrument, Object... args) throws IOException { - return KrakenFuturesAdapters.adaptTicker( - getKrakenFuturesTicker(instrument), instrument); + return KrakenFuturesAdapters.adaptTicker(getKrakenFuturesTicker(instrument), instrument); } @Override diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesMarketDataServiceRaw.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesMarketDataServiceRaw.java index a6e840b7896..87b1e2a0546 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesMarketDataServiceRaw.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesMarketDataServiceRaw.java @@ -2,16 +2,18 @@ import java.io.IOException; import org.knowm.xchange.Exchange; +import org.knowm.xchange.exceptions.ExchangeException; +import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesInstruments; import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesOrderBook; import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesPublicFills; import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesTicker; import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesTickers; -import org.knowm.xchange.exceptions.ExchangeException; -import org.knowm.xchange.instrument.Instrument; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesMarketDataServiceRaw extends KrakenFuturesBaseService { /** @@ -24,10 +26,10 @@ public KrakenFuturesMarketDataServiceRaw(Exchange exchange) { super(exchange); } - public KrakenFuturesTicker getKrakenFuturesTicker(Instrument instrument) - throws IOException { + public KrakenFuturesTicker getKrakenFuturesTicker(Instrument instrument) throws IOException { - return getKrakenFuturesTickers().getTicker(KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument)); + return getKrakenFuturesTickers() + .getTicker(KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument)); } public KrakenFuturesTickers getKrakenFuturesTickers() throws IOException { @@ -56,7 +58,8 @@ public KrakenFuturesOrderBook getKrakenFuturesOrderBook(Instrument instrument) throws IOException { KrakenFuturesOrderBook orderBook = - krakenFuturesAuthenticated.getOrderBook(KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument)); + krakenFuturesAuthenticated.getOrderBook( + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument)); if (orderBook.isSuccess()) { orderBook.setInstrument(instrument); @@ -66,11 +69,11 @@ public KrakenFuturesOrderBook getKrakenFuturesOrderBook(Instrument instrument) } } - public KrakenFuturesPublicFills getKrakenFuturesTrades(Instrument instrument) - throws IOException { + public KrakenFuturesPublicFills getKrakenFuturesTrades(Instrument instrument) throws IOException { KrakenFuturesPublicFills publicFills = - krakenFuturesAuthenticated.getHistory(KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument)); + krakenFuturesAuthenticated.getHistory( + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument)); if (publicFills.isSuccess()) { publicFills.setInstrument(instrument); diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesTradeService.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesTradeService.java index cc26be13066..f9cbee55ebc 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesTradeService.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesTradeService.java @@ -1,22 +1,22 @@ package org.knowm.xchange.krakenfutures.service; +import jakarta.ws.rs.NotSupportedException; import java.io.IOException; import java.util.Collection; import java.util.stream.Collectors; - import org.knowm.xchange.Exchange; -import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; -import org.knowm.xchange.krakenfutures.dto.trade.KrakenFuturesCancelAllOrders; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.account.OpenPositions; import org.knowm.xchange.dto.trade.*; +import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; +import org.knowm.xchange.krakenfutures.dto.trade.KrakenFuturesCancelAllOrders; import org.knowm.xchange.service.trade.TradeService; import org.knowm.xchange.service.trade.params.*; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; -import jakarta.ws.rs.NotSupportedException; - -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesTradeService extends KrakenFuturesTradeServiceRaw implements TradeService { @@ -47,7 +47,7 @@ public String placeLimitOrder(LimitOrder limitOrder) throws IOException { @Override public Class[] getRequiredCancelOrderParamClasses() { - return new Class[]{CancelOrderByIdParams.class}; + return new Class[] {CancelOrderByIdParams.class}; } @Override @@ -72,10 +72,16 @@ public String changeOrder(LimitOrder limitOrder) throws IOException { @Override public Collection cancelAllOrders(CancelAllOrders orderParams) throws IOException { - if(orderParams instanceof CancelOrderByInstrument){ - return cancelAllOrdersByInstrument(((CancelOrderByInstrument) orderParams).getInstrument()).getCancelStatus().getOrderIds().stream().map(KrakenFuturesCancelAllOrders.KrakenFuturesOrderId::getOrderId).collect(Collectors.toList()); + if (orderParams instanceof CancelOrderByInstrument) { + return cancelAllOrdersByInstrument(((CancelOrderByInstrument) orderParams).getInstrument()) + .getCancelStatus() + .getOrderIds() + .stream() + .map(KrakenFuturesCancelAllOrders.KrakenFuturesOrderId::getOrderId) + .collect(Collectors.toList()); } else { - throw new NotSupportedException("OrderParams need to implement CancelOrderByInstrument interface."); + throw new NotSupportedException( + "OrderParams need to implement CancelOrderByInstrument interface."); } } @@ -86,8 +92,9 @@ public TradeHistoryParams createTradeHistoryParams() { @Override public Collection getOrder(String... orderIds) throws IOException { - return getKrakenFuturesOrdersStatuses(orderIds).getOrders().stream().map(KrakenFuturesAdapters::adaptKrakenFuturesOrder) - .collect(Collectors.toList()); + return getKrakenFuturesOrdersStatuses(orderIds).getOrders().stream() + .map(KrakenFuturesAdapters::adaptKrakenFuturesOrder) + .collect(Collectors.toList()); } @Override @@ -100,7 +107,8 @@ public boolean cancelOrder(CancelOrderParams orderParams) throws IOException { if (orderParams instanceof CancelOrderByIdParams) { return cancelOrder(((CancelOrderByIdParams) orderParams).getOrderId()); } else { - throw new NotSupportedException("CancelOrderParams need to be instance of CancelOrderByIdParams."); + throw new NotSupportedException( + "CancelOrderParams need to be instance of CancelOrderByIdParams."); } } @@ -108,4 +116,4 @@ public boolean cancelOrder(CancelOrderParams orderParams) throws IOException { public UserTrades getTradeHistory(TradeHistoryParams params) throws IOException { return KrakenFuturesAdapters.adaptFills(getKrakenFuturesFills()); } -} \ No newline at end of file +} diff --git a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesTradeServiceRaw.java b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesTradeServiceRaw.java index c922c256d22..037a3c7642b 100644 --- a/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesTradeServiceRaw.java +++ b/xchange-krakenfutures/src/main/java/org/knowm/xchange/krakenfutures/service/KrakenFuturesTradeServiceRaw.java @@ -3,24 +3,25 @@ import java.io.IOException; import java.util.Date; import java.util.List; - import org.knowm.xchange.Exchange; +import org.knowm.xchange.dto.Order.OrderType; +import org.knowm.xchange.dto.trade.LimitOrder; import org.knowm.xchange.dto.trade.MarketOrder; import org.knowm.xchange.dto.trade.StopOrder; +import org.knowm.xchange.exceptions.ExchangeException; +import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; +import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesOrder; +import org.knowm.xchange.krakenfutures.dto.trade.*; import org.knowm.xchange.krakenfutures.dto.trade.KrakenFuturesCancel; import org.knowm.xchange.krakenfutures.dto.trade.KrakenFuturesCancelAllOrdersAfter; import org.knowm.xchange.krakenfutures.dto.trade.KrakenFuturesFills; import org.knowm.xchange.krakenfutures.dto.trade.KrakenFuturesOpenOrders; -import org.knowm.xchange.krakenfutures.dto.marketData.KrakenFuturesOrder; -import org.knowm.xchange.dto.Order.OrderType; -import org.knowm.xchange.dto.trade.LimitOrder; -import org.knowm.xchange.exceptions.ExchangeException; -import org.knowm.xchange.instrument.Instrument; -import org.knowm.xchange.krakenfutures.dto.trade.*; import org.knowm.xchange.utils.DateUtils; -/** @author Jean-Christophe Laruelle */ +/** + * @author Jean-Christophe Laruelle + */ public class KrakenFuturesTradeServiceRaw extends KrakenFuturesBaseService { /** @@ -40,21 +41,25 @@ public KrakenFuturesOrder placeKrakenFuturesLimitOrder(LimitOrder order) throws exchange.getExchangeSpecification().getApiKey(), signatureCreator, exchange.getNonceFactory(), - order.hasFlag(KrakenFuturesOrderFlags.POST_ONLY) ? KrakenFuturesOrderType.post.name() : KrakenFuturesOrderType.lmt.name(), + order.hasFlag(KrakenFuturesOrderFlags.POST_ONLY) + ? KrakenFuturesOrderType.post.name() + : KrakenFuturesOrderType.lmt.name(), KrakenFuturesAdapters.adaptKrakenFuturesSymbol(order.getInstrument()), - order.getType().equals(OrderType.ASK) ? KrakenFuturesOrderSide.sell.name() : KrakenFuturesOrderSide.buy.name(), + order.getType().equals(OrderType.ASK) + ? KrakenFuturesOrderSide.sell.name() + : KrakenFuturesOrderSide.buy.name(), order.getOriginalAmount(), order.getLimitPrice(), order.getUserReference(), order.hasFlag(KrakenFuturesOrderFlags.REDUCE_ONLY), - null, - null - ); + null, + null); if (ord.isSuccess() && ord.getOrderStatus().getStatus().equals("placed")) { return ord; } else { - String errorMessage = (ord.getError() == null) ? ord.getOrderStatus().getStatus() : ord.getError(); + String errorMessage = + (ord.getError() == null) ? ord.getOrderStatus().getStatus() : ord.getError(); throw new ExchangeException("Error sending CF limit order: " + errorMessage); } } @@ -62,25 +67,27 @@ public KrakenFuturesOrder placeKrakenFuturesLimitOrder(LimitOrder order) throws public KrakenFuturesOrder placeKrakenFuturesMarketOrder(MarketOrder order) throws IOException { KrakenFuturesOrder ord = - krakenFuturesAuthenticated.sendOrder( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - exchange.getNonceFactory(), - KrakenFuturesOrderType.mkt.name(), - KrakenFuturesAdapters.adaptKrakenFuturesSymbol(order.getInstrument()), - order.getType().equals(OrderType.ASK) ? KrakenFuturesOrderSide.sell.name() : KrakenFuturesOrderSide.buy.name(), - order.getOriginalAmount(), - null, - order.getUserReference(), - order.hasFlag(KrakenFuturesOrderFlags.REDUCE_ONLY), - null, - null - ); + krakenFuturesAuthenticated.sendOrder( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + exchange.getNonceFactory(), + KrakenFuturesOrderType.mkt.name(), + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(order.getInstrument()), + order.getType().equals(OrderType.ASK) + ? KrakenFuturesOrderSide.sell.name() + : KrakenFuturesOrderSide.buy.name(), + order.getOriginalAmount(), + null, + order.getUserReference(), + order.hasFlag(KrakenFuturesOrderFlags.REDUCE_ONLY), + null, + null); if (ord.isSuccess() && ord.getOrderStatus().getStatus().equals("placed")) { return ord; } else { - String errorMessage = (ord.getError() == null) ? ord.getOrderStatus().getStatus() : ord.getError(); + String errorMessage = + (ord.getError() == null) ? ord.getOrderStatus().getStatus() : ord.getError(); throw new ExchangeException("Error sending CF limit order: " + errorMessage); } } @@ -88,25 +95,29 @@ public KrakenFuturesOrder placeKrakenFuturesMarketOrder(MarketOrder order) throw public KrakenFuturesOrder placeKrakenFuturesStopOrder(StopOrder order) throws IOException { KrakenFuturesOrder ord = - krakenFuturesAuthenticated.sendOrder( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - exchange.getNonceFactory(), - (order.getIntention().equals(StopOrder.Intention.STOP_LOSS)) ? KrakenFuturesOrderType.stp.name() : KrakenFuturesOrderType.take_profit.name(), - KrakenFuturesAdapters.adaptKrakenFuturesSymbol(order.getInstrument()), - order.getType().equals(OrderType.ASK) ? KrakenFuturesOrderSide.sell.name() : KrakenFuturesOrderSide.buy.name(), - order.getOriginalAmount(), - (order.getLimitPrice() != null) ? order.getLimitPrice() : null, - order.getUserReference(), - order.hasFlag(KrakenFuturesOrderFlags.REDUCE_ONLY), - order.getStopPrice(), - "mark" - ); + krakenFuturesAuthenticated.sendOrder( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + exchange.getNonceFactory(), + (order.getIntention().equals(StopOrder.Intention.STOP_LOSS)) + ? KrakenFuturesOrderType.stp.name() + : KrakenFuturesOrderType.take_profit.name(), + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(order.getInstrument()), + order.getType().equals(OrderType.ASK) + ? KrakenFuturesOrderSide.sell.name() + : KrakenFuturesOrderSide.buy.name(), + order.getOriginalAmount(), + (order.getLimitPrice() != null) ? order.getLimitPrice() : null, + order.getUserReference(), + order.hasFlag(KrakenFuturesOrderFlags.REDUCE_ONLY), + order.getStopPrice(), + "mark"); if (ord.isSuccess() && ord.getOrderStatus().getStatus().equals("placed")) { return ord; } else { - String errorMessage = (ord.getError() == null) ? ord.getOrderStatus().getStatus() : ord.getError(); + String errorMessage = + (ord.getError() == null) ? ord.getOrderStatus().getStatus() : ord.getError(); throw new ExchangeException("Error sending CF limit order: " + errorMessage); } } @@ -114,16 +125,15 @@ public KrakenFuturesOrder placeKrakenFuturesStopOrder(StopOrder order) throws IO public String changeKrakenFuturesOrder(LimitOrder limitOrder) throws IOException { KrakenFuturesEditOrderResponse ord = - krakenFuturesAuthenticated.changeOrder( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - exchange.getNonceFactory(), - limitOrder.getUserReference(), - limitOrder.getLimitPrice(), - (limitOrder.getUserReference() != null) ? limitOrder.getId() : null, - limitOrder.getOriginalAmount(), - null - ); + krakenFuturesAuthenticated.changeOrder( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + exchange.getNonceFactory(), + limitOrder.getUserReference(), + limitOrder.getLimitPrice(), + (limitOrder.getUserReference() != null) ? limitOrder.getId() : null, + limitOrder.getOriginalAmount(), + null); if (ord.isSuccess()) { return ord.getEditStatus().getOrderId(); @@ -187,7 +197,7 @@ public KrakenFuturesFills getKrakenFuturesFills(Date lastFillTime) throws IOExce exchange.getExchangeSpecification().getApiKey(), signatureCreator, exchange.getNonceFactory(), - (lastFillTime != null) ? DateUtils.toUTCISODateString(lastFillTime) : null); + (lastFillTime != null) ? DateUtils.toUTCISODateString(lastFillTime) : null); if (fills.isSuccess()) { return fills; @@ -214,36 +224,36 @@ public KrakenFuturesCancelAllOrdersAfter cancelAllOrdersAfter(long timeoutSecond } public KrakenFuturesCancelAllOrders cancelAllOrdersByInstrument(Instrument instrument) - throws IOException { + throws IOException { KrakenFuturesCancelAllOrders cancelAllOrdersByInstrument = - krakenFuturesAuthenticated.cancelAllOrdersByInstrument( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - exchange.getNonceFactory(), - KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument)); + krakenFuturesAuthenticated.cancelAllOrdersByInstrument( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + exchange.getNonceFactory(), + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument)); if (cancelAllOrdersByInstrument.isSuccess()) { return cancelAllOrdersByInstrument; } else { throw new ExchangeException( - "Error cancelling all CF orders after: " + cancelAllOrdersByInstrument.getError()); + "Error cancelling all CF orders after: " + cancelAllOrdersByInstrument.getError()); } } public KrakenFuturesOrdersStatusesResponse getKrakenFuturesOrdersStatuses(String... orderIds) - throws IOException { + throws IOException { KrakenFuturesOrdersStatusesResponse cancelAllOrdersByInstrument = - krakenFuturesAuthenticated.getOrdersStatuses( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - exchange.getNonceFactory(), - new KrakenFuturesOrderStatusRequest(orderIds)); + krakenFuturesAuthenticated.getOrdersStatuses( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + exchange.getNonceFactory(), + new KrakenFuturesOrderStatusRequest(orderIds)); if (cancelAllOrdersByInstrument.isSuccess()) { return cancelAllOrdersByInstrument; } else { throw new ExchangeException( - "Error cancelling all CF orders after: " + cancelAllOrdersByInstrument.getError()); + "Error cancelling all CF orders after: " + cancelAllOrdersByInstrument.getError()); } } } diff --git a/xchange-krakenfutures/src/test/java/org/knowm/xchange/krakenfutures/KrakenFuturesPrivateDataTest.java b/xchange-krakenfutures/src/test/java/org/knowm/xchange/krakenfutures/KrakenFuturesPrivateDataTest.java index 075d8d54196..3a28b5d3126 100644 --- a/xchange-krakenfutures/src/test/java/org/knowm/xchange/krakenfutures/KrakenFuturesPrivateDataTest.java +++ b/xchange-krakenfutures/src/test/java/org/knowm/xchange/krakenfutures/KrakenFuturesPrivateDataTest.java @@ -1,165 +1,203 @@ package org.knowm.xchange.krakenfutures; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + +import java.io.IOException; +import java.math.BigDecimal; +import java.util.*; +import java.util.concurrent.TimeUnit; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeFactory; import org.knowm.xchange.ExchangeSpecification; +import org.knowm.xchange.derivative.FuturesContract; +import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.account.AccountInfo; import org.knowm.xchange.dto.account.OpenPosition; import org.knowm.xchange.dto.account.Wallet; import org.knowm.xchange.dto.trade.*; -import org.knowm.xchange.derivative.FuturesContract; -import org.knowm.xchange.dto.Order; import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.krakenfutures.dto.trade.KrakenFuturesOrderFlags; import org.knowm.xchange.service.trade.params.DefaultCancelAllOrdersByInstrument; import org.knowm.xchange.service.trade.params.DefaultTradeHistoryParamInstrument; import org.knowm.xchange.service.trade.params.TradeHistoryParamInstrument; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.*; -import java.util.concurrent.TimeUnit; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - @Ignore public class KrakenFuturesPrivateDataTest { - Exchange exchange; - Instrument instrument = new FuturesContract("BTC/USD/PERP"); + Exchange exchange; + Instrument instrument = new FuturesContract("BTC/USD/PERP"); - @Before - public void setUp(){ + @Before + public void setUp() { - Properties properties = new Properties(); + Properties properties = new Properties(); - try { - properties.load(this.getClass().getResourceAsStream("/secret.keys")); - } catch (IOException e) { - throw new RuntimeException(e); - } - ExchangeSpecification spec = new ExchangeSpecification(KrakenFuturesExchange.class); - spec.setApiKey(properties.getProperty("apiKey")); - spec.setSecretKey(properties.getProperty("secret")); - spec.setExchangeSpecificParametersItem(KrakenFuturesExchange.USE_SANDBOX, true); - - exchange = ExchangeFactory.INSTANCE.createExchange(spec); - } - - @Test - public void checkAccount() throws IOException { - AccountInfo accountInfo = exchange.getAccountService().getAccountInfo(); - System.out.println(accountInfo); - assertThat(accountInfo.getWallet(Wallet.WalletFeature.FUTURES_TRADING)).isNotNull(); - assertThat(Objects.requireNonNull(accountInfo.getWallet(Wallet.WalletFeature.FUTURES_TRADING)).getCurrentLeverage()).isGreaterThan(BigDecimal.ZERO); + try { + properties.load(this.getClass().getResourceAsStream("/secret.keys")); + } catch (IOException e) { + throw new RuntimeException(e); } - - @Test - public void placeOrderCheckOpenOrdersAndCancel() throws IOException { - String orderId = exchange.getTradeService().placeLimitOrder(new LimitOrder.Builder(Order.OrderType.BID,instrument) - .limitPrice(BigDecimal.valueOf(1000)) - .originalAmount(BigDecimal.ONE) - .build()); - List openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); - System.out.println(openOrders.get(0).toString()); - assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); - assertThat(openOrders.get(0).getId()).isEqualTo(orderId); - assertThat(exchange.getTradeService().cancelOrder(orderId)).isTrue(); - } - - @Test - public void changeOrderAndGetOpenOrders() throws IOException { - exchange.getTradeService().cancelAllOrders(new DefaultCancelAllOrdersByInstrument(instrument)); - String clientId = "12345"; - String orderId = exchange.getTradeService().placeLimitOrder(new LimitOrder.Builder(Order.OrderType.BID,instrument) + ExchangeSpecification spec = new ExchangeSpecification(KrakenFuturesExchange.class); + spec.setApiKey(properties.getProperty("apiKey")); + spec.setSecretKey(properties.getProperty("secret")); + spec.setExchangeSpecificParametersItem(KrakenFuturesExchange.USE_SANDBOX, true); + + exchange = ExchangeFactory.INSTANCE.createExchange(spec); + } + + @Test + public void checkAccount() throws IOException { + AccountInfo accountInfo = exchange.getAccountService().getAccountInfo(); + System.out.println(accountInfo); + assertThat(accountInfo.getWallet(Wallet.WalletFeature.FUTURES_TRADING)).isNotNull(); + assertThat( + Objects.requireNonNull(accountInfo.getWallet(Wallet.WalletFeature.FUTURES_TRADING)) + .getCurrentLeverage()) + .isGreaterThan(BigDecimal.ZERO); + } + + @Test + public void placeOrderCheckOpenOrdersAndCancel() throws IOException { + String orderId = + exchange + .getTradeService() + .placeLimitOrder( + new LimitOrder.Builder(Order.OrderType.BID, instrument) + .limitPrice(BigDecimal.valueOf(1000)) + .originalAmount(BigDecimal.ONE) + .build()); + List openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); + System.out.println(openOrders.get(0).toString()); + assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); + assertThat(openOrders.get(0).getId()).isEqualTo(orderId); + assertThat(exchange.getTradeService().cancelOrder(orderId)).isTrue(); + } + + @Test + public void changeOrderAndGetOpenOrders() throws IOException { + exchange.getTradeService().cancelAllOrders(new DefaultCancelAllOrdersByInstrument(instrument)); + String clientId = "12345"; + String orderId = + exchange + .getTradeService() + .placeLimitOrder( + new LimitOrder.Builder(Order.OrderType.BID, instrument) + .limitPrice(BigDecimal.valueOf(1000)) + .originalAmount(BigDecimal.ONE) + .userReference(clientId) + .flag(KrakenFuturesOrderFlags.POST_ONLY) + .build()); + List openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); + System.out.println(openOrders.toString()); + assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); + assertThat(openOrders.get(0).getId()).isEqualTo(orderId); + + String newOrderId = + exchange + .getTradeService() + .changeOrder( + new LimitOrder.Builder(Order.OrderType.BID, instrument) + .limitPrice(BigDecimal.valueOf(2000)) + .id(orderId) + .originalAmount(BigDecimal.TEN) + .userReference(clientId) + .build()); + openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); + System.out.println(openOrders.toString()); + assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); + assertThat(openOrders.get(0).getId()).isEqualTo(newOrderId); + assertThat(openOrders.get(0).getLimitPrice()).isEqualTo(BigDecimal.valueOf(2000)); + assertThat(openOrders.get(0).getOriginalAmount()).isEqualTo(BigDecimal.TEN); + assertThat(exchange.getTradeService().cancelOrder(newOrderId)).isTrue(); + } + + @Test + public void placeStopOrderAndGetOpenOrders() throws IOException { + String orderId = + exchange + .getTradeService() + .placeStopOrder( + new StopOrder.Builder(Order.OrderType.ASK, instrument) + .intention(StopOrder.Intention.STOP_LOSS) + .stopPrice(BigDecimal.valueOf(1000)) + .flag(KrakenFuturesOrderFlags.REDUCE_ONLY) + .originalAmount(BigDecimal.ONE) + .build()); + OpenOrders openOrders = exchange.getTradeService().getOpenOrders(); + System.out.println(openOrders.getHiddenOrders()); + assertThat(openOrders.getHiddenOrders().get(0).getInstrument()).isEqualTo(instrument); + assertThat(openOrders.getHiddenOrders().get(0).getId()).isEqualTo(orderId); + assertThat(openOrders.getHiddenOrders().get(0).hasFlag(KrakenFuturesOrderFlags.REDUCE_ONLY)) + .isTrue(); + assertThat(exchange.getTradeService().cancelOrder(orderId)).isTrue(); + } + + @Test + public void placeMarketOrderAndGetTradeHistory() throws IOException, InterruptedException { + String orderId = + exchange + .getTradeService() + .placeMarketOrder( + new MarketOrder.Builder(Order.OrderType.BID, instrument) + .originalAmount(BigDecimal.ONE) + .build()); + TimeUnit.SECONDS.sleep(1); + TradeHistoryParamInstrument params = + (TradeHistoryParamInstrument) exchange.getTradeService().createTradeHistoryParams(); + params.setInstrument(instrument); + List userTrades = exchange.getTradeService().getTradeHistory(params).getUserTrades(); + Collections.reverse(userTrades); + System.out.println(userTrades); + assertThat(userTrades.get(0).getInstrument()).isEqualTo(instrument); + assertThat(userTrades.get(0).getOrderId()).isEqualTo(orderId); + } + + @Test + public void cancelAllOrdersByInstrument() throws IOException { + exchange + .getTradeService() + .placeLimitOrder( + new LimitOrder.Builder(Order.OrderType.BID, instrument) .limitPrice(BigDecimal.valueOf(1000)) - .originalAmount(BigDecimal.ONE) - .userReference(clientId) - .flag(KrakenFuturesOrderFlags.POST_ONLY) - .build()); - List openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); - System.out.println(openOrders.toString()); - assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); - assertThat(openOrders.get(0).getId()).isEqualTo(orderId); - - String newOrderId = exchange.getTradeService().changeOrder(new LimitOrder.Builder(Order.OrderType.BID,instrument) - .limitPrice(BigDecimal.valueOf(2000)) - .id(orderId) - .originalAmount(BigDecimal.TEN) - .userReference(clientId) - .build()); - openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); - System.out.println(openOrders.toString()); - assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); - assertThat(openOrders.get(0).getId()).isEqualTo(newOrderId); - assertThat(openOrders.get(0).getLimitPrice()).isEqualTo(BigDecimal.valueOf(2000)); - assertThat(openOrders.get(0).getOriginalAmount()).isEqualTo(BigDecimal.TEN); - assertThat(exchange.getTradeService().cancelOrder(newOrderId)).isTrue(); - } - - @Test - public void placeStopOrderAndGetOpenOrders() throws IOException { - String orderId = exchange.getTradeService().placeStopOrder(new StopOrder.Builder(Order.OrderType.ASK,instrument) - .intention(StopOrder.Intention.STOP_LOSS) - .stopPrice(BigDecimal.valueOf(1000)) - .flag(KrakenFuturesOrderFlags.REDUCE_ONLY) - .originalAmount(BigDecimal.ONE) - .build()); - OpenOrders openOrders = exchange.getTradeService().getOpenOrders(); - System.out.println(openOrders.getHiddenOrders()); - assertThat(openOrders.getHiddenOrders().get(0).getInstrument()).isEqualTo(instrument); - assertThat(openOrders.getHiddenOrders().get(0).getId()).isEqualTo(orderId); - assertThat(openOrders.getHiddenOrders().get(0).hasFlag(KrakenFuturesOrderFlags.REDUCE_ONLY)).isTrue(); - assertThat(exchange.getTradeService().cancelOrder(orderId)).isTrue(); - } - - @Test - public void placeMarketOrderAndGetTradeHistory() throws IOException, InterruptedException { - String orderId = exchange.getTradeService().placeMarketOrder(new MarketOrder.Builder(Order.OrderType.BID,instrument) .originalAmount(BigDecimal.ONE) .build()); - TimeUnit.SECONDS.sleep(1); - TradeHistoryParamInstrument params = (TradeHistoryParamInstrument) exchange.getTradeService().createTradeHistoryParams(); - params.setInstrument(instrument); - List userTrades = exchange.getTradeService().getTradeHistory(params).getUserTrades(); - Collections.reverse(userTrades); - System.out.println(userTrades); - assertThat(userTrades.get(0).getInstrument()).isEqualTo(instrument); - assertThat(userTrades.get(0).getOrderId()).isEqualTo(orderId); - } - - @Test - public void cancelAllOrdersByInstrument() throws IOException { - exchange.getTradeService().placeLimitOrder(new LimitOrder.Builder(Order.OrderType.BID,instrument) - .limitPrice(BigDecimal.valueOf(1000)) - .originalAmount(BigDecimal.ONE) - .build()); - exchange.getTradeService().placeLimitOrder(new LimitOrder.Builder(Order.OrderType.BID,instrument) + exchange + .getTradeService() + .placeLimitOrder( + new LimitOrder.Builder(Order.OrderType.BID, instrument) .limitPrice(BigDecimal.valueOf(1000)) .originalAmount(BigDecimal.ONE) .build()); - List openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); - System.out.println(openOrders.get(0).toString()); - assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); - Collection orderIds = exchange.getTradeService().cancelAllOrders(new DefaultCancelAllOrdersByInstrument(instrument)); - orderIds.forEach(System.out::println); - assertThat(orderIds.size()).isEqualTo(2); - } - - @Test - public void checkTradeHistory() throws IOException { - List userTrades = exchange.getTradeService().getTradeHistory(new DefaultTradeHistoryParamInstrument(instrument)).getUserTrades(); - System.out.println(userTrades); - assertThat(userTrades.get(0).getInstrument()).isEqualTo(instrument); - } - - @Test - public void checkOpenPositions() throws IOException { - List openPositions = exchange.getTradeService().getOpenPositions().getOpenPositions(); - System.out.println(openPositions); - assertThat(openPositions.get(0).getInstrument()).isEqualTo(instrument); - } + List openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); + System.out.println(openOrders.get(0).toString()); + assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); + Collection orderIds = + exchange + .getTradeService() + .cancelAllOrders(new DefaultCancelAllOrdersByInstrument(instrument)); + orderIds.forEach(System.out::println); + assertThat(orderIds.size()).isEqualTo(2); + } + + @Test + public void checkTradeHistory() throws IOException { + List userTrades = + exchange + .getTradeService() + .getTradeHistory(new DefaultTradeHistoryParamInstrument(instrument)) + .getUserTrades(); + System.out.println(userTrades); + assertThat(userTrades.get(0).getInstrument()).isEqualTo(instrument); + } + + @Test + public void checkOpenPositions() throws IOException { + List openPositions = + exchange.getTradeService().getOpenPositions().getOpenPositions(); + System.out.println(openPositions); + assertThat(openPositions.get(0).getInstrument()).isEqualTo(instrument); + } } diff --git a/xchange-krakenfutures/src/test/java/org/knowm/xchange/krakenfutures/KrakenFuturesPublicDataTest.java b/xchange-krakenfutures/src/test/java/org/knowm/xchange/krakenfutures/KrakenFuturesPublicDataTest.java index 32bf2e5f2a8..330b2f18b63 100644 --- a/xchange-krakenfutures/src/test/java/org/knowm/xchange/krakenfutures/KrakenFuturesPublicDataTest.java +++ b/xchange-krakenfutures/src/test/java/org/knowm/xchange/krakenfutures/KrakenFuturesPublicDataTest.java @@ -19,64 +19,71 @@ public class KrakenFuturesPublicDataTest { - Exchange exchange = ExchangeFactory.INSTANCE.createExchange(KrakenFuturesExchange.class); - Instrument instrument = new FuturesContract("BTC/USD/PERP"); + Exchange exchange = ExchangeFactory.INSTANCE.createExchange(KrakenFuturesExchange.class); + Instrument instrument = new FuturesContract("BTC/USD/PERP"); - @Test - @Ignore - public void checkInstrumentsMetaData() { - Map instrumentInstrumentMetaDataMap = exchange.getExchangeMetaData().getInstruments(); - System.out.println(instrumentInstrumentMetaDataMap.toString()); - assertThat(instrumentInstrumentMetaDataMap.get(instrument).getMinimumAmount()).isNotNull(); - assertThat(instrumentInstrumentMetaDataMap.get(instrument).getVolumeScale()).isNotNull(); - assertThat(instrumentInstrumentMetaDataMap.get(instrument).getPriceScale()).isNotNull(); - } + @Test + @Ignore + public void checkInstrumentsMetaData() { + Map instrumentInstrumentMetaDataMap = + exchange.getExchangeMetaData().getInstruments(); + System.out.println(instrumentInstrumentMetaDataMap.toString()); + assertThat(instrumentInstrumentMetaDataMap.get(instrument).getMinimumAmount()).isNotNull(); + assertThat(instrumentInstrumentMetaDataMap.get(instrument).getVolumeScale()).isNotNull(); + assertThat(instrumentInstrumentMetaDataMap.get(instrument).getPriceScale()).isNotNull(); + } - @Test - public void checkOrderBook() throws IOException { - OrderBook orderbook = exchange.getMarketDataService().getOrderBook(instrument); - System.out.println(orderbook.toString()); - assertThat(orderbook.getBids().get(0).getInstrument()).isEqualTo(instrument); - assertThat(orderbook.getBids().get(0).getLimitPrice()).isLessThan(orderbook.getAsks().get(0).getLimitPrice()); - } + @Test + public void checkOrderBook() throws IOException { + OrderBook orderbook = exchange.getMarketDataService().getOrderBook(instrument); + System.out.println(orderbook.toString()); + assertThat(orderbook.getBids().get(0).getInstrument()).isEqualTo(instrument); + assertThat(orderbook.getBids().get(0).getLimitPrice()) + .isLessThan(orderbook.getAsks().get(0).getLimitPrice()); + } - @Test - public void checkTicker() throws IOException { - Ticker ticker = exchange.getMarketDataService().getTicker(instrument); - System.out.println(ticker); - assertThat(ticker.getInstrument()).isEqualTo(instrument); - } + @Test + public void checkTicker() throws IOException { + Ticker ticker = exchange.getMarketDataService().getTicker(instrument); + System.out.println(ticker); + assertThat(ticker.getInstrument()).isEqualTo(instrument); + } - @Test - public void checkTrades() throws IOException { - Trades trades = exchange.getMarketDataService().getTrades(instrument); - System.out.println(trades); - assertThat(trades.getTrades().get(0).getInstrument()).isEqualTo(instrument); - assertThat(trades.getTrades().get(0).getTimestamp()).isBefore(trades.getTrades().get(50).getTimestamp()); - } + @Test + public void checkTrades() throws IOException { + Trades trades = exchange.getMarketDataService().getTrades(instrument); + System.out.println(trades); + assertThat(trades.getTrades().get(0).getInstrument()).isEqualTo(instrument); + assertThat(trades.getTrades().get(0).getTimestamp()) + .isBefore(trades.getTrades().get(50).getTimestamp()); + } - @Test - public void checkFundingRates() throws IOException { - FundingRates fundingRates = exchange.getMarketDataService().getFundingRates(); - System.out.println(fundingRates); - assertThat(fundingRates.getFundingRates().size()).isEqualTo(exchange.getExchangeMetaData().getInstruments().size()); - fundingRates.getFundingRates().forEach(fundingRate -> { - assertThat(fundingRate.getFundingRateEffectiveInMinutes()).isLessThan(61); - assertThat(fundingRate.getFundingRate1h()).isNotNull(); - assertThat(fundingRate.getFundingRate8h()).isNotNull(); - assertThat(fundingRate.getFundingRateDate()).isNotNull(); - }); - } + @Test + public void checkFundingRates() throws IOException { + FundingRates fundingRates = exchange.getMarketDataService().getFundingRates(); + System.out.println(fundingRates); + assertThat(fundingRates.getFundingRates().size()) + .isEqualTo(exchange.getExchangeMetaData().getInstruments().size()); + fundingRates + .getFundingRates() + .forEach( + fundingRate -> { + assertThat(fundingRate.getFundingRateEffectiveInMinutes()).isLessThan(61); + assertThat(fundingRate.getFundingRate1h()).isNotNull(); + assertThat(fundingRate.getFundingRate8h()).isNotNull(); + assertThat(fundingRate.getFundingRateDate()).isNotNull(); + }); + } - @Test - @Ignore - public void checkFundingRate() throws IOException { - FundingRate fundingRate = exchange.getMarketDataService().getFundingRate(instrument); - assertThat(fundingRate.getInstrument().toString()).isEqualTo("PF_XBT/USD/PERP"); - assertThat(fundingRate.getFundingRateEffectiveInMinutes()).isLessThan(61); - assertThat(fundingRate.getFundingRate1h()).isNotNull(); - assertThat(fundingRate.getFundingRate8h()).isNotNull(); - assertThat(fundingRate.getFundingRateDate()).isNotNull(); - System.out.println(fundingRate); - } + @Test + @Ignore + public void checkFundingRate() throws IOException { + FundingRate fundingRate = exchange.getMarketDataService().getFundingRate(instrument); + assertThat(fundingRate.getInstrument().toString()).isEqualTo("PF_XBT/USD/PERP"); + assertThat(fundingRate.getFundingRateEffectiveInMinutes()).isLessThan(61); + assertThat(fundingRate.getFundingRate1h()).isNotNull(); + assertThat(fundingRate.getFundingRate8h()).isNotNull(); + assertThat(fundingRate.getFundingRateDate()).isNotNull(); + System.out.println(fundingRate); + } } diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinAdapters.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinAdapters.java index ef6c9dcf9f1..acdcc8be87c 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinAdapters.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinAdapters.java @@ -151,7 +151,9 @@ public static ExchangeMetaData adaptMetadata( FeeTier[] feeTiers = staticMetaData != null ? staticMetaData.getFeeTiers() : null; Currency feeCurrency = new Currency(symbol.getFeeCurrency()); - currencyPairs.put(pair, new InstrumentMetaData.Builder() + currencyPairs.put( + pair, + new InstrumentMetaData.Builder() .tradingFee(takerTradingFee) .minimumAmount(minSize) .maximumAmount(maxSize) diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinMarketDataServiceRaw.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinMarketDataServiceRaw.java index 94be7c89b2f..13706a799ae 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinMarketDataServiceRaw.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinMarketDataServiceRaw.java @@ -72,7 +72,7 @@ public TradeFeeResponse getKucoinBaseFee() throws IOException { return classifyingExceptions( () -> decorateApiCall( - () -> tradingFeeAPI.getBaseFee(apiKey, digest, nonceFactory, passphrase)) + () -> tradingFeeAPI.getBaseFee(apiKey, digest, nonceFactory, passphrase)) .withRetry(retry("baseFee")) .withRateLimiter(rateLimiter(PUBLIC_REST_ENDPOINT_RATE_LIMITER)) .call()); @@ -83,9 +83,9 @@ public List getKucoinTradeFee(String symbols) throws IOExcepti return classifyingExceptions( () -> decorateApiCall( - () -> - tradingFeeAPI.getTradeFee( - apiKey, digest, nonceFactory, passphrase, symbols)) + () -> + tradingFeeAPI.getTradeFee( + apiKey, digest, nonceFactory, passphrase, symbols)) .withRetry(retry("tradeFee")) .withRateLimiter(rateLimiter(PRIVATE_REST_ENDPOINT_RATE_LIMITER)) .call()); @@ -135,9 +135,9 @@ public OrderBookResponse getKucoinOrderBookPartial(CurrencyPair pair) throws IOE return classifyingExceptions( () -> decorateApiCall( - () -> - orderBookApi.getPartOrderBookAggregated( - KucoinAdapters.adaptCurrencyPair(pair))) + () -> + orderBookApi.getPartOrderBookAggregated( + KucoinAdapters.adaptCurrencyPair(pair))) .withRetry(retry("partialOrderBook")) .withRateLimiter(rateLimiter(PUBLIC_REST_ENDPOINT_RATE_LIMITER)) .call()); @@ -147,9 +147,9 @@ public OrderBookResponse getKucoinOrderBookPartialShallow(CurrencyPair pair) thr return classifyingExceptions( () -> decorateApiCall( - () -> - orderBookApi.getPartOrderBookShallowAggregated( - KucoinAdapters.adaptCurrencyPair(pair))) + () -> + orderBookApi.getPartOrderBookShallowAggregated( + KucoinAdapters.adaptCurrencyPair(pair))) .withRetry(retry("partialShallowOrderBook")) .withRateLimiter(rateLimiter(PUBLIC_REST_ENDPOINT_RATE_LIMITER)) .call()); @@ -159,13 +159,13 @@ public OrderBookResponse getKucoinOrderBookFull(CurrencyPair pair) throws IOExce return classifyingExceptions( () -> decorateApiCall( - () -> - orderBookApi.getFullOrderBookAggregated( - KucoinAdapters.adaptCurrencyPair(pair), - apiKey, - digest, - nonceFactory, - passphrase)) + () -> + orderBookApi.getFullOrderBookAggregated( + KucoinAdapters.adaptCurrencyPair(pair), + apiKey, + digest, + nonceFactory, + passphrase)) .withRetry(retry("fullOrderBook")) .withRateLimiter(rateLimiter(PRIVATE_REST_ENDPOINT_RATE_LIMITER)) .call()); @@ -175,7 +175,7 @@ public List getKucoinTrades(CurrencyPair pair) throws IOEx return classifyingExceptions( () -> decorateApiCall( - () -> historyApi.getTradeHistories(KucoinAdapters.adaptCurrencyPair(pair))) + () -> historyApi.getTradeHistories(KucoinAdapters.adaptCurrencyPair(pair))) .withRetry(retry("tradeHistories")) .withRateLimiter(rateLimiter(PUBLIC_REST_ENDPOINT_RATE_LIMITER)) .call()); @@ -187,12 +187,12 @@ public List getKucoinKlines( classifyingExceptions( () -> decorateApiCall( - () -> - historyApi.getKlines( - KucoinAdapters.adaptCurrencyPair(pair), - startTime, - endTime, - type.code())) + () -> + historyApi.getKlines( + KucoinAdapters.adaptCurrencyPair(pair), + startTime, + endTime, + type.code())) .withRetry(retry("klines")) .withRateLimiter(rateLimiter(PUBLIC_REST_ENDPOINT_RATE_LIMITER)) .call()); diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinResilience.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinResilience.java index e987e22f4db..7aa527f977a 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinResilience.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinResilience.java @@ -40,4 +40,4 @@ public static ResilienceRegistries createRegistries() { return registries; } -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/request/CreateAccountRequest.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/request/CreateAccountRequest.java index 509747c36f9..ab57dfdf7d7 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/request/CreateAccountRequest.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/request/CreateAccountRequest.java @@ -14,6 +14,7 @@ public class CreateAccountRequest { /** Account type: main, trade, margin */ private final String type; + /** currency */ private final String currency; } diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/request/InnerTransferRequest.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/request/InnerTransferRequest.java index f29bcbb56ec..bce45b64876 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/request/InnerTransferRequest.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/request/InnerTransferRequest.java @@ -15,12 +15,16 @@ public class InnerTransferRequest { /** Request ID */ private final String clientOid; + /** currency */ private final String currency; + /** Account type of payer: main, trade, margin or pool */ private final String from; + /** Account type of payee: main, trade, margin or pool */ private final String to; + /** Transfer amount, the amount is a positive integer multiple of the currency precision. */ private final BigDecimal amount; } diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/AccountLedgersResponse.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/AccountLedgersResponse.java index 6f2f5274cb7..8bc44b34582 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/AccountLedgersResponse.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/AccountLedgersResponse.java @@ -9,24 +9,31 @@ public class AccountLedgersResponse { /** The currency of the account */ private String currency; + /** * The total amount of assets (fees included) involved in assets changes such as transaction, * withdrawal and bonus distribution. */ private BigDecimal amount; + /** Fees generated in transaction, withdrawal, etc. */ private BigDecimal fee; + /** Remaining funds after the transaction. */ private BigDecimal balance; + /** * Business type leading to the changes in funds, such as exchange, withdrawal, deposit, * KUCOIN_BONUS, REFERRAL_BONUS etc. */ private String bizType; + /** out or in */ private String direction; + /** Time of the event */ private Long createdAt; + /** Business related information such as order ID, serial No., etc. */ private Object context; } diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/CurrencyResponseV2.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/CurrencyResponseV2.java index 77f2259d45f..72a58718971 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/CurrencyResponseV2.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/CurrencyResponseV2.java @@ -65,6 +65,5 @@ public static class Chain { @JsonProperty("contractAddress") private String contractAddress; - } } diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/DepositResponse.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/DepositResponse.java index cc5c346bc89..a0704b150a8 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/DepositResponse.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/DepositResponse.java @@ -9,26 +9,35 @@ public class DepositResponse { /** Creation time of the database record */ private Date createdAt; + /** Deposit amount */ private BigDecimal amount; + /** Deposit address */ private String address; + /** Deposit fee */ private BigDecimal fee; + /** * The note which was left on the deposit address. When you withdraw from other platforms to the * KuCoin, you need to fill in memo(tag). If you do not fill memo (tag), your deposit may not be * available, please be cautious. */ private String memo; + /** Currency code */ private String currency; + /** Wallet Txid */ private String walletTxId; + /** status: PROCESSING, WALLET_PROCESSING, SUCCESS, and FAILURE */ private String status; + /** Internal deposit or not */ private boolean isInner; + /** Update time of the database record */ private Date updatedAt; } diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/WithdrawalResponse.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/WithdrawalResponse.java index a66756a6175..822f6b82fa5 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/WithdrawalResponse.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/response/WithdrawalResponse.java @@ -9,28 +9,38 @@ public class WithdrawalResponse { /** Unique identity */ private String id; + /** Withdrawal address */ private String address; + /** * The note that is left on the withdrawal address. When you withdraw from KuCoin to other * platforms, you need to fill in memo(tag). If you don't fill in memo(tag), your withdrawal may * not be available. */ private String memo; + /** Currency */ private String currency; + /** Withdrawal amount */ private BigDecimal amount; + /** Withdrawal fee */ private BigDecimal fee; + /** Wallet Txid */ private String walletTxId; + /** Internal withdrawal or not */ private boolean isInner; + /** status: PROCESSING, WALLET_PROCESSING, SUCCESS, and FAILURE */ private String status; + /** Creation time */ private Date createdAt; + /** Update time */ private Date updatedAt; } diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/AccountAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/AccountAPI.java index ac92fc12e10..4e6e2055b73 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/AccountAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/AccountAPI.java @@ -1,8 +1,6 @@ /** Copyright 2019 Mek Global Limited. */ package org.knowm.xchange.kucoin.service; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.kucoin.dto.request.CreateAccountRequest; import org.knowm.xchange.kucoin.dto.request.InnerTransferRequest; import org.knowm.xchange.kucoin.dto.response.AccountBalancesResponse; @@ -111,4 +111,4 @@ KucoinResponse getAccount( @HeaderParam(APIConstants.API_HEADER_PASSPHRASE) String apiPassphrase, @PathParam("accountId") String accountId) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/DepositAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/DepositAPI.java index 3a1766b39e5..7d9bd573e3a 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/DepositAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/DepositAPI.java @@ -1,7 +1,5 @@ package org.knowm.xchange.kucoin.service; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; @@ -9,6 +7,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.kucoin.dto.response.DepositAddressResponse; import org.knowm.xchange.kucoin.dto.response.DepositResponse; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; @@ -79,4 +79,4 @@ KucoinResponse> getDepositAddresses( @HeaderParam(APIConstants.API_HEADER_PASSPHRASE) String apiPassphrase, @QueryParam("currency") String currency) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/FillAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/FillAPI.java index 20e67cab470..d10ea5e1bb2 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/FillAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/FillAPI.java @@ -1,13 +1,13 @@ /** Copyright 2019 Mek Global Limited. */ package org.knowm.xchange.kucoin.service; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; import org.knowm.xchange.kucoin.dto.response.Pagination; import org.knowm.xchange.kucoin.dto.response.TradeResponse; @@ -49,4 +49,4 @@ KucoinResponse> queryTrades( @QueryParam("pageSize") Integer pageSize, @QueryParam("currentPage") Integer currentPage) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/HistOrdersAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/HistOrdersAPI.java index a0ef73f49c7..eb644430f22 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/HistOrdersAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/HistOrdersAPI.java @@ -1,12 +1,12 @@ package org.knowm.xchange.kucoin.service; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.kucoin.dto.response.HistOrdersResponse; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; import org.knowm.xchange.kucoin.dto.response.Pagination; @@ -43,4 +43,4 @@ KucoinResponse> queryHistOrders( @QueryParam("pageSize") Integer pageSize, @QueryParam("currentPage") Integer currentPage) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/HistoryAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/HistoryAPI.java index 0897dbbbf0a..051bb3b5234 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/HistoryAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/HistoryAPI.java @@ -1,13 +1,13 @@ /** Copyright 2019 Mek Global Limited. */ package org.knowm.xchange.kucoin.service; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; import org.knowm.xchange.kucoin.dto.response.TradeHistoryResponse; @@ -45,4 +45,4 @@ KucoinResponse> getKlines( @QueryParam("endAt") Long endAt, @QueryParam("type") String type) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/KucoinDigest.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/KucoinDigest.java index 264980620a6..65e38502a35 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/KucoinDigest.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/KucoinDigest.java @@ -1,10 +1,10 @@ package org.knowm.xchange.kucoin.service; import com.google.common.base.Strings; +import jakarta.ws.rs.HeaderParam; import java.nio.charset.StandardCharsets; import java.util.Base64; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.exceptions.ExchangeException; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; @@ -52,4 +52,4 @@ public String digestParams(RestInvocation restInvocation) { public String getSignature() { return signature; } -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/LimitOrderAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/LimitOrderAPI.java index 7aa99f92bcb..11af523cf3c 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/LimitOrderAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/LimitOrderAPI.java @@ -1,12 +1,12 @@ package org.knowm.xchange.kucoin.service; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; import org.knowm.xchange.kucoin.dto.response.OrderResponse; import si.mazi.rescu.ParamsDigest; @@ -23,4 +23,4 @@ KucoinResponse> getRecentOrders( @HeaderParam(APIConstants.API_HEADER_TIMESTAMP) SynchronizedValueFactory nonce, @HeaderParam(APIConstants.API_HEADER_PASSPHRASE) String apiPassphrase) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/OrderAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/OrderAPI.java index 4db1e8e5746..508186817b1 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/OrderAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/OrderAPI.java @@ -1,7 +1,6 @@ /** Copyright 2019 Mek Global Limited. */ package org.knowm.xchange.kucoin.service; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -12,6 +11,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.kucoin.dto.request.OrderCreateApiRequest; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; import org.knowm.xchange.kucoin.dto.response.OrderCancelResponse; @@ -130,4 +130,4 @@ KucoinResponse> queryOrders( @QueryParam("pageSize") Integer pageSize, @QueryParam("currentPage") Integer currentPage) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/OrderBookAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/OrderBookAPI.java index 2dec9b12441..4036f8d4fe5 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/OrderBookAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/OrderBookAPI.java @@ -1,13 +1,13 @@ /** Copyright 2019 Mek Global Limited. */ package org.knowm.xchange.kucoin.service; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; import org.knowm.xchange.kucoin.dto.response.OrderBookResponse; import si.mazi.rescu.ParamsDigest; @@ -85,4 +85,4 @@ KucoinResponse getFullOrderBookAggregated( @Path("v2/market/orderbook/level3") KucoinResponse getFullOrderBookAtomic(@QueryParam("symbol") String symbol) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/SymbolAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/SymbolAPI.java index 0c01cf255b3..b0ffd920290 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/SymbolAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/SymbolAPI.java @@ -1,16 +1,16 @@ /** Copyright 2019 Mek Global Limited. */ package org.knowm.xchange.kucoin.service; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; import org.knowm.xchange.kucoin.dto.response.AllTickersResponse; import org.knowm.xchange.kucoin.dto.response.CurrenciesResponse; import org.knowm.xchange.kucoin.dto.response.CurrencyResponseV2; @@ -60,7 +60,8 @@ public interface SymbolAPI { */ @GET @Path("/v2/currencies/{currency}") - KucoinResponse getCurrencies(@PathParam("currency") String currency) throws IOException; + KucoinResponse getCurrencies(@PathParam("currency") String currency) + throws IOException; /** * Get the fiat price of the currencies for the available trading pairs. @@ -101,4 +102,4 @@ public interface SymbolAPI { @Path("/v1/market/stats") KucoinResponse getMarketStats(@QueryParam("symbol") String symbol) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/TradingFeeAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/TradingFeeAPI.java index e354e9713f2..55eba688a6f 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/TradingFeeAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/TradingFeeAPI.java @@ -1,13 +1,13 @@ package org.knowm.xchange.kucoin.service; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; import org.knowm.xchange.kucoin.dto.response.TradeFeeResponse; import si.mazi.rescu.ParamsDigest; @@ -40,4 +40,4 @@ KucoinResponse> getTradeFee( @HeaderParam(APIConstants.API_HEADER_PASSPHRASE) String apiPassphrase, @QueryParam("symbols") String symbols) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/WebsocketAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/WebsocketAPI.java index 4f911798d30..cd51344fa08 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/WebsocketAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/WebsocketAPI.java @@ -1,11 +1,11 @@ package org.knowm.xchange.kucoin.service; -import java.io.IOException; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; import org.knowm.xchange.kucoin.dto.response.WebsocketResponse; import si.mazi.rescu.ParamsDigest; @@ -28,4 +28,4 @@ KucoinResponse getPrivateWebsocketDetails( @HeaderParam(APIConstants.API_HEADER_TIMESTAMP) SynchronizedValueFactory nonce, @HeaderParam(APIConstants.API_HEADER_PASSPHRASE) String apiPassphrase) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/WithdrawalAPI.java b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/WithdrawalAPI.java index ab0b653a970..90b9510fd01 100644 --- a/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/WithdrawalAPI.java +++ b/xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/service/WithdrawalAPI.java @@ -1,6 +1,5 @@ package org.knowm.xchange.kucoin.service; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -9,6 +8,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.kucoin.dto.request.ApplyWithdrawApiRequest; import org.knowm.xchange.kucoin.dto.response.ApplyWithdrawResponse; import org.knowm.xchange.kucoin.dto.response.KucoinResponse; @@ -64,4 +64,4 @@ KucoinResponse> getWithdrawalsList( @QueryParam("pageSize") Integer pageSize, @QueryParam("currentPage") Integer currentPage) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/Kuna.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/Kuna.java index 3f88cb66a4d..a686213d002 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/Kuna.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/Kuna.java @@ -1,19 +1,21 @@ package org.knowm.xchange.kuna; -import java.io.IOException; -import java.util.Map; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Map; import org.knowm.xchange.kuna.dto.KunaAskBid; import org.knowm.xchange.kuna.dto.KunaException; import org.knowm.xchange.kuna.dto.KunaTimeTicker; import org.knowm.xchange.kuna.dto.KunaTrade; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ @Path("/v2") @Produces(MediaType.APPLICATION_JSON) public interface Kuna { @@ -72,4 +74,4 @@ public interface Kuna { @GET @Path("trades") KunaTrade[] getTradesHistory(@QueryParam("market") String pair) throws IOException, KunaException; -} \ No newline at end of file +} diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/KunaAuthenticated.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/KunaAuthenticated.java index 9b96720ca5a..9b61d11103f 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/KunaAuthenticated.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/KunaAuthenticated.java @@ -4,7 +4,9 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ @Path("/v2") @Produces(MediaType.APPLICATION_JSON) -public interface KunaAuthenticated extends Kuna {} \ No newline at end of file +public interface KunaAuthenticated extends Kuna {} diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/KunaTrade.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/KunaTrade.java index 05bc81af61c..f6f3dcdc99a 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/KunaTrade.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/KunaTrade.java @@ -6,7 +6,9 @@ import org.knowm.xchange.kuna.dto.enums.KunaSide; import org.knowm.xchange.kuna.util.KunaUtils; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class KunaTrade { public static final String CREATED_AT = "created_at"; diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/enums/KunaOrderType.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/enums/KunaOrderType.java index a2cbf05a4b7..b9ce855f727 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/enums/KunaOrderType.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/enums/KunaOrderType.java @@ -1,6 +1,8 @@ package org.knowm.xchange.kuna.dto.enums; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public enum KunaOrderType { LIMIT, MARKET; diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/enums/KunaSide.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/enums/KunaSide.java index da7b7535240..bb1daffd3fd 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/enums/KunaSide.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/dto/enums/KunaSide.java @@ -1,6 +1,8 @@ package org.knowm.xchange.kuna.dto.enums; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public enum KunaSide { BUY, SELL; diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaAccountService.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaAccountService.java index 9f5b55d5e57..591fe00b347 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaAccountService.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaAccountService.java @@ -3,7 +3,9 @@ import org.knowm.xchange.Exchange; import org.knowm.xchange.service.account.AccountService; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class KunaAccountService extends KunaAccountServiceRaw implements AccountService { /** diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaAccountServiceRaw.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaAccountServiceRaw.java index 707f075c082..b6737cdbbfb 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaAccountServiceRaw.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaAccountServiceRaw.java @@ -2,7 +2,9 @@ import org.knowm.xchange.Exchange; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class KunaAccountServiceRaw extends KunaBaseService { /** * Constructor. diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaBaseService.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaBaseService.java index c3d1f52b630..a6619b462a2 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaBaseService.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaBaseService.java @@ -7,7 +7,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class KunaBaseService extends BaseExchangeService implements BaseService { private final Kuna kuna; diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaMarketDataService.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaMarketDataService.java index 63d20f47c81..37091afe243 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaMarketDataService.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaMarketDataService.java @@ -21,7 +21,9 @@ import org.knowm.xchange.kuna.dto.enums.KunaOrderType; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class KunaMarketDataService extends KunaMarketDataServiceRaw implements MarketDataService { /** diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaMarketDataServiceRaw.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaMarketDataServiceRaw.java index 70a3bf67b62..7e10729c061 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaMarketDataServiceRaw.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaMarketDataServiceRaw.java @@ -12,7 +12,9 @@ import org.knowm.xchange.kuna.dto.KunaTrade; import org.knowm.xchange.kuna.util.KunaUtils; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class KunaMarketDataServiceRaw extends KunaBaseService { /** * Constructor. diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaTradeService.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaTradeService.java index 3ac8c14cde2..6690d977641 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaTradeService.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaTradeService.java @@ -3,7 +3,9 @@ import org.knowm.xchange.Exchange; import org.knowm.xchange.service.trade.TradeService; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class KunaTradeService extends KunaTradeServiceRaw implements TradeService { /** diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaTradeServiceRaw.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaTradeServiceRaw.java index d5ecf31b151..e072c28a775 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaTradeServiceRaw.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/service/KunaTradeServiceRaw.java @@ -2,7 +2,9 @@ import org.knowm.xchange.Exchange; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class KunaTradeServiceRaw extends KunaBaseService { /** * Constructor. diff --git a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/util/KunaUtils.java b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/util/KunaUtils.java index def7ef09353..0ca7d93d58c 100644 --- a/xchange-kuna/src/main/java/org/knowm/xchange/kuna/util/KunaUtils.java +++ b/xchange-kuna/src/main/java/org/knowm/xchange/kuna/util/KunaUtils.java @@ -6,7 +6,9 @@ import java.util.Date; import org.knowm.xchange.currency.CurrencyPair; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class KunaUtils { public static final String DATE_FORMAT_NO_MILLIS = "yyyy-MM-dd'T'HH:mm:ss'Z'"; diff --git a/xchange-kuna/src/test/java/org/knowm/xchange/kuna/BaseKunaTest.java b/xchange-kuna/src/test/java/org/knowm/xchange/kuna/BaseKunaTest.java index c5c519112a9..a7b511a741c 100644 --- a/xchange-kuna/src/test/java/org/knowm/xchange/kuna/BaseKunaTest.java +++ b/xchange-kuna/src/test/java/org/knowm/xchange/kuna/BaseKunaTest.java @@ -4,7 +4,9 @@ import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeFactory; -/** @author Dat Bui */ +/** + * @author Dat Bui + */ public class BaseKunaTest { private static Exchange exchange; diff --git a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/Latoken.java b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/Latoken.java index b3cac10760d..b8658e9424d 100644 --- a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/Latoken.java +++ b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/Latoken.java @@ -1,13 +1,13 @@ package org.knowm.xchange.latoken; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.latoken.dto.LatokenException; import org.knowm.xchange.latoken.dto.exchangeinfo.LatokenCurrency; import org.knowm.xchange.latoken.dto.exchangeinfo.LatokenPair; @@ -153,4 +153,4 @@ LatokenOrderbook getOrderbook(@PathParam("symbol") String symbol, @PathParam("li */ LatokenTrades getTrades(@PathParam("symbol") String symbol, @PathParam("limit") int limit) throws IOException, LatokenException; -} \ No newline at end of file +} diff --git a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenAdapters.java b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenAdapters.java index 18968fa35b2..b6392682934 100644 --- a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenAdapters.java +++ b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenAdapters.java @@ -55,10 +55,10 @@ public static InstrumentMetaData adaptPairMetaData(LatokenPair latokenPair) { .setScale(latokenPair.getAmountPrecision(), RoundingMode.HALF_DOWN); int priceScale = latokenPair.getPricePrecision(); return new InstrumentMetaData.Builder() - .tradingFee(tradingFee) - .minimumAmount(minAmount) - .priceScale(priceScale) - .build(); + .tradingFee(tradingFee) + .minimumAmount(minAmount) + .priceScale(priceScale) + .build(); } public static CurrencyPair adaptCurrencyPair(Exchange exchange, String latokenSymbol) { diff --git a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenAuthenticated.java b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenAuthenticated.java index 89ae4ca63ce..c9dcfe8e48d 100644 --- a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenAuthenticated.java +++ b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenAuthenticated.java @@ -1,8 +1,5 @@ package org.knowm.xchange.latoken; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -12,6 +9,9 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; import org.knowm.xchange.latoken.dto.LatokenException; import org.knowm.xchange.latoken.dto.account.LatokenBalance; import org.knowm.xchange.latoken.dto.trade.LatokenCancelledOrders; @@ -282,4 +282,4 @@ LatokenBalance getBalance( @HeaderParam(API_KEY) String apiKey, @HeaderParam(SIGNATURE) ParamsDigest signature) throws IOException, LatokenException; -} \ No newline at end of file +} diff --git a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenErrorAdapter.java b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenErrorAdapter.java index 84055b7aa6d..ea9751d972b 100644 --- a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenErrorAdapter.java +++ b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenErrorAdapter.java @@ -7,7 +7,9 @@ import org.knowm.xchange.exceptions.RateLimitExceededException; import org.knowm.xchange.latoken.dto.LatokenException; -/** @author Ezer */ +/** + * @author Ezer + */ public final class LatokenErrorAdapter { private LatokenErrorAdapter() {} diff --git a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenExchange.java b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenExchange.java index d651e280eca..59c703c28e5 100644 --- a/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenExchange.java +++ b/xchange-latoken/src/main/java/org/knowm/xchange/latoken/LatokenExchange.java @@ -130,10 +130,10 @@ private void addCurrencyPairMetadata( pairs.put( pair, new InstrumentMetaData.Builder() - .tradingFee(pairMetadata.getTradingFee()) - .minimumAmount(pairMetadata.getMinimumAmount()) - .maximumAmount(maxAmount) - .priceScale(pairMetadata.getPriceScale()) - .build()); + .tradingFee(pairMetadata.getTradingFee()) + .minimumAmount(pairMetadata.getMinimumAmount()) + .maximumAmount(maxAmount) + .priceScale(pairMetadata.getPriceScale()) + .build()); } } diff --git a/xchange-lgo/src/main/java/org/knowm/xchange/lgo/CertificateAuthority.java b/xchange-lgo/src/main/java/org/knowm/xchange/lgo/CertificateAuthority.java index 6398ece7aff..7dce1841eb7 100644 --- a/xchange-lgo/src/main/java/org/knowm/xchange/lgo/CertificateAuthority.java +++ b/xchange-lgo/src/main/java/org/knowm/xchange/lgo/CertificateAuthority.java @@ -18,4 +18,4 @@ public interface CertificateAuthority { @Produces(MediaType.TEXT_PLAIN) @GET String fetchKey(@PathParam("id") String keyId); -} \ No newline at end of file +} diff --git a/xchange-lgo/src/main/java/org/knowm/xchange/lgo/Lgo.java b/xchange-lgo/src/main/java/org/knowm/xchange/lgo/Lgo.java index 6a674dec0c6..38089880bb4 100644 --- a/xchange-lgo/src/main/java/org/knowm/xchange/lgo/Lgo.java +++ b/xchange-lgo/src/main/java/org/knowm/xchange/lgo/Lgo.java @@ -1,6 +1,5 @@ package org.knowm.xchange.lgo; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -11,6 +10,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.lgo.dto.LgoException; import org.knowm.xchange.lgo.dto.WithCursor; import org.knowm.xchange.lgo.dto.currency.LgoCurrencies; @@ -109,4 +109,4 @@ LgoPriceHistory getPriceHistory( @QueryParam(END) String endTime, @QueryParam(GRANULARITY) int granularity) throws IOException, LgoException; -} \ No newline at end of file +} diff --git a/xchange-lgo/src/main/java/org/knowm/xchange/lgo/LgoAdapters.java b/xchange-lgo/src/main/java/org/knowm/xchange/lgo/LgoAdapters.java index f36b8233dd2..1a6950446ea 100644 --- a/xchange-lgo/src/main/java/org/knowm/xchange/lgo/LgoAdapters.java +++ b/xchange-lgo/src/main/java/org/knowm/xchange/lgo/LgoAdapters.java @@ -69,15 +69,15 @@ public static ExchangeMetaData adaptMetadata( currencyPairs.put( toPair(product), new InstrumentMetaData.Builder() - .minimumAmount(minAmount) - .maximumAmount(maxAmount) - .volumeScale(baseScale) - .priceScale(increment.scale()) - .amountStepSize(increment) - .feeTiers(new FeeTier[0]) - .tradingFeeCurrency(Currency.USD) - .marketOrderEnabled(true) - .build()); + .minimumAmount(minAmount) + .maximumAmount(maxAmount) + .volumeScale(baseScale) + .priceScale(increment.scale()) + .amountStepSize(increment) + .feeTiers(new FeeTier[0]) + .tradingFeeCurrency(Currency.USD) + .marketOrderEnabled(true) + .build()); } return metaData; } diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/Livecoin.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/Livecoin.java index c4a7df98633..75d5300c179 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/Livecoin.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/Livecoin.java @@ -1,9 +1,5 @@ package org.knowm.xchange.livecoin; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -13,6 +9,10 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; import org.knowm.xchange.livecoin.dto.LivecoinException; import org.knowm.xchange.livecoin.dto.LivecoinPaginatedResponse; import org.knowm.xchange.livecoin.dto.LivecoinResponseWithDataMap; @@ -225,4 +225,4 @@ LivecoinCancelResponse cancelLimitOrder( @FormParam("currencyPair") String currencyPair, @FormParam("orderId") long orderId) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinAdapters.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinAdapters.java index 170c26aa652..22fcc4f089c 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinAdapters.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinAdapters.java @@ -101,10 +101,15 @@ public static ExchangeMetaData adaptToExchangeMetaData(List Map currencies = new HashMap<>(); for (LivecoinRestriction product : products) { CurrencyPair pair = adaptCurrencyPair(product); - currencyPairs.put(pair, new InstrumentMetaData.Builder() - .priceScale((product.getPriceScale() == null) ? FALLBACK_PRICE_SCALE : product.getPriceScale()) - .volumeScale(LIVECOIN_BASE_SCALE) - .minimumAmount(product.getMinLimitQuantity()) + currencyPairs.put( + pair, + new InstrumentMetaData.Builder() + .priceScale( + (product.getPriceScale() == null) + ? FALLBACK_PRICE_SCALE + : product.getPriceScale()) + .volumeScale(LIVECOIN_BASE_SCALE) + .minimumAmount(product.getMinLimitQuantity()) .build()); if (!currencies.containsKey(pair.base)) currencies.put(pair.base, null); diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinDigest.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinDigest.java index b83e0d4ea49..8fc0beeff42 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinDigest.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinDigest.java @@ -1,5 +1,7 @@ package org.knowm.xchange.livecoin; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.QueryParam; import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.net.URLEncoder; @@ -9,8 +11,6 @@ import java.util.TreeMap; import java.util.TreeSet; import javax.crypto.Mac; -import jakarta.ws.rs.FormParam; -import jakarta.ws.rs.QueryParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.Params; import si.mazi.rescu.RestInvocation; @@ -58,4 +58,4 @@ public String digestParams(RestInvocation restInvocation) { return String.format("%064x", new BigInteger(1, mac.doFinal())).toUpperCase(); } -} \ No newline at end of file +} diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinErrorAdapter.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinErrorAdapter.java index 7bca87510cd..a10ebc5aca0 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinErrorAdapter.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/LivecoinErrorAdapter.java @@ -7,7 +7,9 @@ import org.knowm.xchange.exceptions.MarketSuspendedException; import org.knowm.xchange.livecoin.dto.LivecoinException; -/** @author walec51 */ +/** + * @author walec51 + */ public class LivecoinErrorAdapter { private static final Pattern UNKNOWN_CURRENCY_MESSAGE = diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/LivecoinException.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/LivecoinException.java index 9d27702319d..9e754119a51 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/LivecoinException.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/LivecoinException.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import si.mazi.rescu.HttpStatusExceptionSupport; -/** @author walec51 */ +/** + * @author walec51 + */ public class LivecoinException extends HttpStatusExceptionSupport { @JsonProperty("errorCode") diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/LivecoinResponseWithDataMap.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/LivecoinResponseWithDataMap.java index 9df66d79c18..bcf9f60f4b6 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/LivecoinResponseWithDataMap.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/LivecoinResponseWithDataMap.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Map; -/** @author walec51 */ +/** + * @author walec51 + */ public class LivecoinResponseWithDataMap extends LivecoinBaseResponse { private final Map data; diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinBalance.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinBalance.java index 8ba661c5ca4..1c4e6f95621 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinBalance.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinBalance.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author walec51 */ +/** + * @author walec51 + */ public class LivecoinBalance { private final String type; diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinPaymentOutResponse.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinPaymentOutResponse.java index 82035763d07..12447a2c2db 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinPaymentOutResponse.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinPaymentOutResponse.java @@ -4,7 +4,9 @@ import java.util.Map; import org.knowm.xchange.livecoin.dto.LivecoinBaseResponse; -/** @author walec51 */ +/** + * @author walec51 + */ public class LivecoinPaymentOutResponse extends LivecoinBaseResponse { private final Map data; diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinWalletAddressResponse.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinWalletAddressResponse.java index 5a357493cc2..5bf54c0af80 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinWalletAddressResponse.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/account/LivecoinWalletAddressResponse.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.livecoin.dto.LivecoinBaseResponse; -/** @author walec51 */ +/** + * @author walec51 + */ public class LivecoinWalletAddressResponse extends LivecoinBaseResponse { private final String wallet; diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/marketdata/LivecoinAllOrderBooks.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/marketdata/LivecoinAllOrderBooks.java index af20b32b974..4be6f34c256 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/marketdata/LivecoinAllOrderBooks.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/marketdata/LivecoinAllOrderBooks.java @@ -7,7 +7,9 @@ import java.util.Map; import org.knowm.xchange.livecoin.dto.LivecoinBaseResponse; -/** @author walec51 */ +/** + * @author walec51 + */ public class LivecoinAllOrderBooks extends LivecoinBaseResponse { private Map orderBooksByPair = diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/trade/LivecoinCancelResponse.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/trade/LivecoinCancelResponse.java index 65603c29c9c..bc30d5c2a73 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/trade/LivecoinCancelResponse.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/trade/LivecoinCancelResponse.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.livecoin.dto.LivecoinBaseResponse; -/** @author walec51 */ +/** + * @author walec51 + */ @JsonIgnoreProperties(ignoreUnknown = true) public class LivecoinCancelResponse extends LivecoinBaseResponse { diff --git a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/trade/LivecoinOrderResponse.java b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/trade/LivecoinOrderResponse.java index 97f63763607..53a04e9df8a 100644 --- a/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/trade/LivecoinOrderResponse.java +++ b/xchange-livecoin/src/main/java/org/knowm/xchange/livecoin/dto/trade/LivecoinOrderResponse.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import org.knowm.xchange.livecoin.dto.LivecoinBaseResponse; -/** @author walec51 */ +/** + * @author walec51 + */ @JsonIgnoreProperties(ignoreUnknown = true) public class LivecoinOrderResponse extends LivecoinBaseResponse { diff --git a/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/AccountMockedIntegrationTest.java b/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/AccountMockedIntegrationTest.java index 54c4a2caa02..ae6402dfb45 100644 --- a/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/AccountMockedIntegrationTest.java +++ b/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/AccountMockedIntegrationTest.java @@ -17,7 +17,9 @@ import org.knowm.xchange.dto.account.Wallet; import org.knowm.xchange.service.trade.params.TradeHistoryParams; -/** @author walec51 */ +/** + * @author walec51 + */ public class AccountMockedIntegrationTest extends BaseMockedIntegrationTest { private static LivecoinAccountService accountService; diff --git a/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/BaseMockedIntegrationTest.java b/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/BaseMockedIntegrationTest.java index b7f0b50664a..0c8632d0e82 100644 --- a/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/BaseMockedIntegrationTest.java +++ b/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/BaseMockedIntegrationTest.java @@ -9,7 +9,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.livecoin.LivecoinExchange; -/** @author walec51 */ +/** + * @author walec51 + */ public class BaseMockedIntegrationTest { @Rule public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort()); diff --git a/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/TradeMockedIntegrationTest.java b/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/TradeMockedIntegrationTest.java index c88748ce1ce..51d1f1eb2f6 100644 --- a/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/TradeMockedIntegrationTest.java +++ b/xchange-livecoin/src/test/java/org/knowm/xchange/livecoin/service/TradeMockedIntegrationTest.java @@ -20,7 +20,9 @@ import org.knowm.xchange.dto.trade.UserTrades; import org.knowm.xchange.service.trade.params.TradeHistoryParams; -/** @author walec51 */ +/** + * @author walec51 + */ public class TradeMockedIntegrationTest extends BaseMockedIntegrationTest { private static LivecoinTradeService tradeService; diff --git a/xchange-luno/src/main/java/org/knowm/xchange/luno/Luno.java b/xchange-luno/src/main/java/org/knowm/xchange/luno/Luno.java index be85d1b62e5..739a8ce88a0 100644 --- a/xchange-luno/src/main/java/org/knowm/xchange/luno/Luno.java +++ b/xchange-luno/src/main/java/org/knowm/xchange/luno/Luno.java @@ -1,18 +1,20 @@ package org.knowm.xchange.luno; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.luno.dto.LunoException; import org.knowm.xchange.luno.dto.marketdata.LunoOrderBook; import org.knowm.xchange.luno.dto.marketdata.LunoTicker; import org.knowm.xchange.luno.dto.marketdata.LunoTickers; import org.knowm.xchange.luno.dto.marketdata.LunoTrades; -/** @see https://www.luno.com/en/api */ +/** + * @see https://www.luno.com/en/api + */ @Path("api/1") @Produces(MediaType.APPLICATION_JSON) public interface Luno { @@ -68,4 +70,4 @@ public interface Luno { @Path("trades") LunoTrades trades(@QueryParam("pair") String pair, @QueryParam("since") Long since) throws IOException, LunoException; -} \ No newline at end of file +} diff --git a/xchange-luno/src/main/java/org/knowm/xchange/luno/LunoAuthenticated.java b/xchange-luno/src/main/java/org/knowm/xchange/luno/LunoAuthenticated.java index 7c9d3d7359e..c4dac90b056 100644 --- a/xchange-luno/src/main/java/org/knowm/xchange/luno/LunoAuthenticated.java +++ b/xchange-luno/src/main/java/org/knowm/xchange/luno/LunoAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.luno; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; @@ -13,6 +11,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.luno.dto.LunoBoolean; import org.knowm.xchange.luno.dto.LunoException; import org.knowm.xchange.luno.dto.account.LunoAccount; @@ -32,7 +32,9 @@ import org.knowm.xchange.luno.dto.trade.State; import si.mazi.rescu.ParamsDigest; -/** @see https://www.luno.com/en/api */ +/** + * @see https://www.luno.com/en/api + */ @Path("api/1") @Produces(MediaType.APPLICATION_JSON) public interface LunoAuthenticated extends Luno { @@ -478,4 +480,4 @@ LunoQuote exerciseQuote( LunoQuote discardQuote( @HeaderParam("Authorization") ParamsDigest auth, @PathParam("id") String quoteId) throws IOException, LunoException; -} \ No newline at end of file +} diff --git a/xchange-luno/src/main/java/org/knowm/xchange/luno/LunoExchange.java b/xchange-luno/src/main/java/org/knowm/xchange/luno/LunoExchange.java index 6d605c1368a..ff8b1fbc77a 100644 --- a/xchange-luno/src/main/java/org/knowm/xchange/luno/LunoExchange.java +++ b/xchange-luno/src/main/java/org/knowm/xchange/luno/LunoExchange.java @@ -9,7 +9,9 @@ import org.knowm.xchange.luno.service.LunoTradeService; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Benedikt Bünz */ +/** + * @author Benedikt Bünz + */ public class LunoExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-luno/src/main/java/org/knowm/xchange/luno/service/LunoAccountService.java b/xchange-luno/src/main/java/org/knowm/xchange/luno/service/LunoAccountService.java index 367abf419b8..388022325d6 100644 --- a/xchange-luno/src/main/java/org/knowm/xchange/luno/service/LunoAccountService.java +++ b/xchange-luno/src/main/java/org/knowm/xchange/luno/service/LunoAccountService.java @@ -99,8 +99,10 @@ public TradeHistoryParams createFundingHistoryParams() { @Override public List getFundingHistory(TradeHistoryParams params) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { // currently no support for deposits! List result = new ArrayList<>(); diff --git a/xchange-luno/src/main/java/org/knowm/xchange/luno/service/LunoTradeService.java b/xchange-luno/src/main/java/org/knowm/xchange/luno/service/LunoTradeService.java index 8b8eb6ec00d..e4bfc542330 100644 --- a/xchange-luno/src/main/java/org/knowm/xchange/luno/service/LunoTradeService.java +++ b/xchange-luno/src/main/java/org/knowm/xchange/luno/service/LunoTradeService.java @@ -63,8 +63,10 @@ public OpenOrders getOpenOrders() throws IOException { @Override public OpenOrders getOpenOrders(OpenOrdersParams params) - throws ExchangeException, NotAvailableFromExchangeException, - NotYetImplementedForExchangeException, IOException { + throws ExchangeException, + NotAvailableFromExchangeException, + NotYetImplementedForExchangeException, + IOException { List list = new ArrayList<>(); for (org.knowm.xchange.luno.dto.trade.LunoOrders.Order lo : lunoAPI.listOrders(State.PENDING, null).getOrders()) { diff --git a/xchange-lykke/src/main/java/org/knowm/xchange/lykke/Lykke.java b/xchange-lykke/src/main/java/org/knowm/xchange/lykke/Lykke.java index 4107355630a..4ec14d42d6c 100644 --- a/xchange-lykke/src/main/java/org/knowm/xchange/lykke/Lykke.java +++ b/xchange-lykke/src/main/java/org/knowm/xchange/lykke/Lykke.java @@ -1,13 +1,13 @@ package org.knowm.xchange.lykke; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.lykke.dto.marketdata.LykkeAsset; import org.knowm.xchange.lykke.dto.marketdata.LykkeAssetPair; import org.knowm.xchange.lykke.dto.marketdata.LykkeOrderBook; @@ -37,4 +37,4 @@ List getOrderBookByAssetPair(@PathParam("assetPairId") String as @GET @Path("assets/dictionary") List getLykkeAsset() throws IOException; -} \ No newline at end of file +} diff --git a/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeAdapter.java b/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeAdapter.java index 8ae922abced..3a08eaaaca8 100644 --- a/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeAdapter.java +++ b/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeAdapter.java @@ -80,7 +80,7 @@ private static List adaptLimitOrders( /** *****Adapter for LykkeOpenOrders***** */ public static List adaptOpenOrders( - List currencyPairList, List lykkeOrders) throws IOException { + List currencyPairList, List lykkeOrders) throws IOException { List limitOrders = new ArrayList<>(); for (LykkeOrder lykkeOrder : lykkeOrders) { @@ -89,8 +89,8 @@ public static List adaptOpenOrders( return limitOrders; } - public static LimitOrder adaptLimitOrder( - List currencyPairList, LykkeOrder lykkeOrder) throws IOException { + public static LimitOrder adaptLimitOrder(List currencyPairList, LykkeOrder lykkeOrder) + throws IOException { return new LimitOrder( getOrderTypeFromVolumeSign(lykkeOrder.getVolume()), diff --git a/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeAuthenticated.java b/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeAuthenticated.java index c2fb70f7c64..e92d67311f9 100644 --- a/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeAuthenticated.java +++ b/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.lykke; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.lykke.dto.account.LykkeWallet; import org.knowm.xchange.lykke.dto.trade.LykkeLimitOrder; import org.knowm.xchange.lykke.dto.trade.LykkeOrder; @@ -67,4 +67,4 @@ void cancelOrderById(@PathParam("id") String id, @HeaderParam(ApiKey) String api String cancelAllOrders( @QueryParam("assetPairId") String assetPairId, @HeaderParam(ApiKey) String apiKey) throws IOException, LykkeException; -} \ No newline at end of file +} diff --git a/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeExchange.java b/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeExchange.java index 937613d3509..f3efbe981a3 100644 --- a/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeExchange.java +++ b/xchange-lykke/src/main/java/org/knowm/xchange/lykke/LykkeExchange.java @@ -62,10 +62,10 @@ public void remoteInit() throws IOException, ExchangeException { new CurrencyPair( lykkeAssetPair.getName().split("/")[0], lykkeAssetPair.getQuotingAssetId()); InstrumentMetaData currencyPairMetaData = - new InstrumentMetaData.Builder() - .feeTiers(feeTiers.toArray(new FeeTier[feeTiers.size()])) - .priceScale(lykkeAssetPair.getAccuracy()) - .build(); + new InstrumentMetaData.Builder() + .feeTiers(feeTiers.toArray(new FeeTier[feeTiers.size()])) + .priceScale(lykkeAssetPair.getAccuracy()) + .build(); currencyPairs.put(currencyPair, currencyPairMetaData); currencyPairList.add(currencyPair); } diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoin.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoin.java index e9a26ded323..8f4dc5deed9 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoin.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoin.java @@ -1,11 +1,11 @@ package org.knowm.xchange.mercadobitcoin; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.mercadobitcoin.dto.marketdata.MercadoBitcoinOrderBook; import org.knowm.xchange.mercadobitcoin.dto.marketdata.MercadoBitcoinTicker; import org.knowm.xchange.mercadobitcoin.dto.marketdata.MercadoBitcoinTransaction; @@ -52,4 +52,4 @@ MercadoBitcoinTransaction[] getTransactions( @PathParam("start_timestamp") Long startTimestamp, @PathParam("end_timestamp") Long endTimestamp) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinAuthenticated.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinAuthenticated.java index 42d232e0472..b27062fa2dd 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinAuthenticated.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinAuthenticated.java @@ -1,9 +1,5 @@ package org.knowm.xchange.mercadobitcoin; -import java.io.IOException; -import java.math.BigDecimal; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.HeaderParam; @@ -11,6 +7,10 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import org.knowm.xchange.mercadobitcoin.dto.MercadoBitcoinBaseTradeApiResult; import org.knowm.xchange.mercadobitcoin.dto.account.MercadoBitcoinAccountInfo; import org.knowm.xchange.mercadobitcoin.dto.trade.MercadoBitcoinCancelOrderResult; @@ -75,4 +75,4 @@ MercadoBitcoinBaseTradeApiResult cancelOrder( @Nonnull @FormParam("pair") String pair, @Nonnull @FormParam("order_id") String id) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinExchange.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinExchange.java index 54f96f73cfc..e640fa3720d 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinExchange.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinExchange.java @@ -10,7 +10,9 @@ import org.knowm.xchange.utils.nonce.CurrentTimeIncrementalNonceFactory; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinExchange extends BaseExchange implements Exchange { private final SynchronizedValueFactory nonceFactory = diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinUtils.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinUtils.java index 4eb8bc38e6e..8edfd1248bd 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinUtils.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/MercadoBitcoinUtils.java @@ -7,7 +7,9 @@ import org.knowm.xchange.dto.trade.LimitOrder; import org.knowm.xchange.exceptions.NotAvailableFromExchangeException; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public final class MercadoBitcoinUtils { public static final List availablePairs = @@ -34,7 +36,9 @@ public static String makeMercadoBitcoinOrderId(CurrencyPair currencyPair, String return pair + ":" + orderId; } - /** @see #makeMercadoBitcoinOrderId(org.knowm.xchange.currency.CurrencyPair, String) */ + /** + * @see #makeMercadoBitcoinOrderId(org.knowm.xchange.currency.CurrencyPair, String) + */ public static String makeMercadoBitcoinOrderId(LimitOrder limitOrder) { return makeMercadoBitcoinOrderId(limitOrder.getCurrencyPair(), limitOrder.getId()); diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/MercadoBitcoinBaseTradeApiResult.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/MercadoBitcoinBaseTradeApiResult.java index 10a7919c3aa..f1205294855 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/MercadoBitcoinBaseTradeApiResult.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/MercadoBitcoinBaseTradeApiResult.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinBaseTradeApiResult { private final Integer success; diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/account/MercadoBitcoinAccountInfo.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/account/MercadoBitcoinAccountInfo.java index 1905ab2fed4..5c1cd3cae1e 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/account/MercadoBitcoinAccountInfo.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/account/MercadoBitcoinAccountInfo.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinAccountInfo { private final Funds funds; diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/marketdata/MercadoBitcoinTicker.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/marketdata/MercadoBitcoinTicker.java index 139b2f382d5..afd328df5e9 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/marketdata/MercadoBitcoinTicker.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/marketdata/MercadoBitcoinTicker.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinTicker { private final MercadoBitcoinTicker.Ticker ticker; diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinCancelOrderResult.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinCancelOrderResult.java index e728a7e06d4..d114d0aed80 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinCancelOrderResult.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinCancelOrderResult.java @@ -3,7 +3,9 @@ import java.util.HashMap; import java.util.Map; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinCancelOrderResult extends HashMap { public MercadoBitcoinCancelOrderResult(int initialCapacity, float loadFactor) { diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinPlaceLimitOrderResult.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinPlaceLimitOrderResult.java index 8b39b027f10..0daaf1811e4 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinPlaceLimitOrderResult.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinPlaceLimitOrderResult.java @@ -3,7 +3,9 @@ import java.util.HashMap; import java.util.Map; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinPlaceLimitOrderResult extends HashMap { public MercadoBitcoinPlaceLimitOrderResult(int initialCapacity, float loadFactor) { diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinUserOrders.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinUserOrders.java index ebc24f71bd3..6c7af679e7a 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinUserOrders.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinUserOrders.java @@ -3,7 +3,9 @@ import java.util.HashMap; import java.util.Map; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinUserOrders extends HashMap { public MercadoBitcoinUserOrders(int initialCapacity, float loadFactor) { super(initialCapacity, loadFactor); diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinUserOrdersEntry.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinUserOrdersEntry.java index b18f8b3de02..65c23a997c4 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinUserOrdersEntry.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/MercadoBitcoinUserOrdersEntry.java @@ -5,7 +5,9 @@ import java.util.HashMap; import java.util.Map; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinUserOrdersEntry { private final String status; diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/OperationEntry.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/OperationEntry.java index 642c2005cc1..6691629cdb0 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/OperationEntry.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/dto/trade/OperationEntry.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public final class OperationEntry { private final BigDecimal volume; diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinAccountService.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinAccountService.java index b54289cf52a..680936dc062 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinAccountService.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinAccountService.java @@ -11,7 +11,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinAccountService extends MercadoBitcoinAccountServiceRaw implements AccountService { diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinAccountServiceRaw.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinAccountServiceRaw.java index f889f94afeb..2206cfe18b8 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinAccountServiceRaw.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinAccountServiceRaw.java @@ -8,7 +8,9 @@ import org.knowm.xchange.mercadobitcoin.dto.MercadoBitcoinBaseTradeApiResult; import org.knowm.xchange.mercadobitcoin.dto.account.MercadoBitcoinAccountInfo; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinAccountServiceRaw extends MercadoBitcoinBaseService { private static final String GET_ACCOUNT_INFO = "getInfo"; diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinBaseService.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinBaseService.java index 9b0bc9b1d95..37f1f2ddb16 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinBaseService.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinBaseService.java @@ -4,7 +4,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinBaseService extends BaseExchangeService implements BaseService { /** diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinDigest.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinDigest.java index 20de74c5735..5419415f8f9 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinDigest.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinDigest.java @@ -5,7 +5,9 @@ import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinDigest extends BaseParamsDigest { private final String method; diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinMarketDataService.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinMarketDataService.java index ffc1ece1ab2..e32c00b2a0c 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinMarketDataService.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinMarketDataService.java @@ -9,7 +9,9 @@ import org.knowm.xchange.mercadobitcoin.MercadoBitcoinAdapters; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinMarketDataService extends MercadoBitcoinMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinMarketDataServiceRaw.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinMarketDataServiceRaw.java index 72399fcf391..fc304880c6d 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinMarketDataServiceRaw.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinMarketDataServiceRaw.java @@ -12,7 +12,9 @@ import org.knowm.xchange.mercadobitcoin.dto.marketdata.MercadoBitcoinTicker; import org.knowm.xchange.mercadobitcoin.dto.marketdata.MercadoBitcoinTransaction; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinMarketDataServiceRaw extends MercadoBitcoinBaseService { private final MercadoBitcoin mercadoBitcoin; diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinTradeService.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinTradeService.java index 82999378d56..893c8931a9f 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinTradeService.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinTradeService.java @@ -30,7 +30,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinTradeService extends MercadoBitcoinTradeServiceRaw implements TradeService { diff --git a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinTradeServiceRaw.java b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinTradeServiceRaw.java index 72933c6af2e..524127de4a7 100644 --- a/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinTradeServiceRaw.java +++ b/xchange-mercadobitcoin/src/main/java/org/knowm/xchange/mercadobitcoin/service/MercadoBitcoinTradeServiceRaw.java @@ -13,7 +13,9 @@ import org.knowm.xchange.mercadobitcoin.dto.trade.MercadoBitcoinPlaceLimitOrderResult; import org.knowm.xchange.mercadobitcoin.dto.trade.MercadoBitcoinUserOrders; -/** @author Felipe Micaroni Lalli */ +/** + * @author Felipe Micaroni Lalli + */ public class MercadoBitcoinTradeServiceRaw extends MercadoBitcoinBaseService { private static final String GET_ORDER_LIST = "OrderList"; diff --git a/xchange-mercadobitcoin/src/test/java/org/knowm/xchange/mercadobitcoin/service/marketdata/TickerFetchIntegration.java b/xchange-mercadobitcoin/src/test/java/org/knowm/xchange/mercadobitcoin/service/marketdata/TickerFetchIntegration.java index 79d75d2f07d..c8ee267ef12 100644 --- a/xchange-mercadobitcoin/src/test/java/org/knowm/xchange/mercadobitcoin/service/marketdata/TickerFetchIntegration.java +++ b/xchange-mercadobitcoin/src/test/java/org/knowm/xchange/mercadobitcoin/service/marketdata/TickerFetchIntegration.java @@ -11,7 +11,9 @@ import org.knowm.xchange.mercadobitcoin.MercadoBitcoinUtils; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCAdapters.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCAdapters.java index 93d0283f9ce..ba12d0d2b9a 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCAdapters.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCAdapters.java @@ -1,5 +1,11 @@ package org.knowm.xchange.mexc; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; import org.knowm.xchange.currency.Currency; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.Order; @@ -11,13 +17,6 @@ import org.knowm.xchange.mexc.dto.trade.MEXCOrder; import org.knowm.xchange.mexc.dto.trade.MEXCOrderRequestPayload; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; - public class MEXCAdapters { public static Wallet adaptMEXCBalances(Map mexcBalances) { @@ -26,10 +25,8 @@ public static Wallet adaptMEXCBalances(Map mexcBalances) { MEXCBalance mexcBalanceValue = mexcBalance.getValue(); BigDecimal available = new BigDecimal(mexcBalanceValue.getAvailable()); BigDecimal frozen = new BigDecimal(mexcBalanceValue.getFrozen()); - balances.add(new Balance(new Currency(mexcBalance.getKey()), - frozen.add(available), - available - )); + balances.add( + new Balance(new Currency(mexcBalance.getKey()), frozen.add(available), available)); } return Wallet.Builder.from(balances).build(); } @@ -45,34 +42,31 @@ private static Instrument adaptSymbol(String symbol) { public static MEXCOrderRequestPayload adaptOrder(LimitOrder limitOrder) { return new MEXCOrderRequestPayload( - convertToMEXCSymbol(limitOrder.getInstrument().toString()), - limitOrder.getLimitPrice().toString(), - limitOrder.getOriginalAmount().toString(), - limitOrder.getType().toString(), - "LIMIT_ORDER", - null - ); + convertToMEXCSymbol(limitOrder.getInstrument().toString()), + limitOrder.getLimitPrice().toString(), + limitOrder.getOriginalAmount().toString(), + limitOrder.getType().toString(), + "LIMIT_ORDER", + null); } - public static Order adaptOrder(MEXCOrder mexcOrder) { BigDecimal dealQuantity = new BigDecimal(mexcOrder.getDealQuantity()); - LimitOrder limitOrder = new LimitOrder( + LimitOrder limitOrder = + new LimitOrder( Order.OrderType.valueOf(mexcOrder.getType()), new BigDecimal(mexcOrder.getQuantity()), dealQuantity, adaptSymbol(mexcOrder.getSymbol()), mexcOrder.getId(), new Date(mexcOrder.getCreateTime()), - new BigDecimal(mexcOrder.getPrice())) { - }; + new BigDecimal(mexcOrder.getPrice())) {}; BigDecimal dealAmount = new BigDecimal(mexcOrder.getDealAmount()); BigDecimal averagePrice = getAveragePrice(dealQuantity, dealAmount); limitOrder.setAveragePrice(averagePrice); limitOrder.setOrderStatus(Order.OrderStatus.valueOf(mexcOrder.getState())); return limitOrder; - } private static BigDecimal getAveragePrice(BigDecimal dealQuantity, BigDecimal dealAmount) { @@ -81,5 +75,4 @@ private static BigDecimal getAveragePrice(BigDecimal dealQuantity, BigDecimal de } return dealAmount.divide(dealQuantity, RoundingMode.HALF_EVEN); } - } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCAuthenticated.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCAuthenticated.java index e233439230e..1d8a153e0d6 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCAuthenticated.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCAuthenticated.java @@ -1,5 +1,10 @@ package org.knowm.xchange.mexc; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; +import java.util.Map; import org.knowm.xchange.mexc.dto.MEXCResult; import org.knowm.xchange.mexc.dto.account.MEXCBalance; import org.knowm.xchange.mexc.dto.trade.MEXCOrder; @@ -8,12 +13,6 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -import jakarta.ws.rs.*; -import jakarta.ws.rs.core.MediaType; -import java.io.IOException; -import java.util.List; -import java.util.Map; - @Path("/open/api/v2") @Produces(MediaType.APPLICATION_JSON) public interface MEXCAuthenticated { @@ -21,25 +20,27 @@ public interface MEXCAuthenticated { @GET @Path("/account/info") MEXCResult> getWalletBalances( - @HeaderParam("ApiKey") String apiKey, - @HeaderParam("Request-Time") SynchronizedValueFactory timestamp, - @HeaderParam("Signature") ParamsDigest signature - ) throws IOException, MEXCException; + @HeaderParam("ApiKey") String apiKey, + @HeaderParam("Request-Time") SynchronizedValueFactory timestamp, + @HeaderParam("Signature") ParamsDigest signature) + throws IOException, MEXCException; @POST @Path("/order/place") @Consumes(MediaType.APPLICATION_JSON) - MEXCResult placeOrder(@HeaderParam("ApiKey") String apiKey, - @HeaderParam("Request-Time") SynchronizedValueFactory timestamp, - @HeaderParam("Signature") ParamsDigest signature, - MEXCOrderRequestPayload orderRequestPayload) throws IOException, MEXCException; + MEXCResult placeOrder( + @HeaderParam("ApiKey") String apiKey, + @HeaderParam("Request-Time") SynchronizedValueFactory timestamp, + @HeaderParam("Signature") ParamsDigest signature, + MEXCOrderRequestPayload orderRequestPayload) + throws IOException, MEXCException; @GET @Path("/order/query") MEXCResult> getOrders( - @HeaderParam("ApiKey") String apiKey, - @HeaderParam("Request-Time") SynchronizedValueFactory timestamp, - @HeaderParam("Signature") ParamsDigest signature, - @QueryParam("order_ids") List orderIds) throws IOException, MEXCException; - -} \ No newline at end of file + @HeaderParam("ApiKey") String apiKey, + @HeaderParam("Request-Time") SynchronizedValueFactory timestamp, + @HeaderParam("Signature") ParamsDigest signature, + @QueryParam("order_ids") List orderIds) + throws IOException, MEXCException; +} diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCErrorUtils.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCErrorUtils.java index 25888fa63dd..d807ee3edc6 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCErrorUtils.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCErrorUtils.java @@ -46,5 +46,4 @@ private static String getErrorMessage(int errorCode) { return null; } } - } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCExchange.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCExchange.java index 939043a2c7c..4150af3784f 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCExchange.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/MEXCExchange.java @@ -1,6 +1,5 @@ package org.knowm.xchange.mexc; - import org.knowm.xchange.BaseExchange; import org.knowm.xchange.Exchange; import org.knowm.xchange.ExchangeSpecification; @@ -10,21 +9,21 @@ public class MEXCExchange extends BaseExchange implements Exchange { - @Override - protected void initServices() { - this.marketDataService = new MEXCMarketDataService(this); - this.tradeService = new MEXCTradeService(this); - this.accountService = new MEXCAccountService(this); - } + @Override + protected void initServices() { + this.marketDataService = new MEXCMarketDataService(this); + this.tradeService = new MEXCTradeService(this); + this.accountService = new MEXCAccountService(this); + } - @Override - public ExchangeSpecification getDefaultExchangeSpecification() { - ExchangeSpecification exchangeSpecification = new ExchangeSpecification(this.getClass()); - exchangeSpecification.setSslUri("https://www.mexc.com"); - exchangeSpecification.setHost("mexc.com"); - exchangeSpecification.setPort(80); - exchangeSpecification.setExchangeName("MEXC"); - exchangeSpecification.setExchangeDescription("MEXC"); - return exchangeSpecification; - } + @Override + public ExchangeSpecification getDefaultExchangeSpecification() { + ExchangeSpecification exchangeSpecification = new ExchangeSpecification(this.getClass()); + exchangeSpecification.setSslUri("https://www.mexc.com"); + exchangeSpecification.setHost("mexc.com"); + exchangeSpecification.setPort(80); + exchangeSpecification.setExchangeName("MEXC"); + exchangeSpecification.setExchangeDescription("MEXC"); + return exchangeSpecification; + } } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/MEXCResult.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/MEXCResult.java index 2e2b060c965..ec652a7ae46 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/MEXCResult.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/MEXCResult.java @@ -9,9 +9,7 @@ public class MEXCResult { private final T data; @JsonCreator - public MEXCResult( - @JsonProperty("code") int code, - @JsonProperty("data") T data) { + public MEXCResult(@JsonProperty("code") int code, @JsonProperty("data") T data) { this.code = code; this.data = data; } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/account/MEXCBalance.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/account/MEXCBalance.java index e3feb5f5757..87b81390967 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/account/MEXCBalance.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/account/MEXCBalance.java @@ -1,6 +1,5 @@ package org.knowm.xchange.mexc.dto.account; -import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; public class MEXCBalance { @@ -9,8 +8,7 @@ public class MEXCBalance { private final String available; public MEXCBalance( - @JsonProperty("frozen") String frozen, - @JsonProperty("available") String available) { + @JsonProperty("frozen") String frozen, @JsonProperty("available") String available) { this.frozen = frozen; this.available = available; } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/trade/MEXCOrder.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/trade/MEXCOrder.java index 6869a1eb19a..fc65e3b96a9 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/trade/MEXCOrder.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/trade/MEXCOrder.java @@ -17,15 +17,15 @@ public class MEXCOrder { @JsonCreator public MEXCOrder( - @JsonProperty("id") String id, - @JsonProperty("symbol") String symbol, - @JsonProperty("price") String price, - @JsonProperty("quantity") String quantity, - @JsonProperty("state") String state, - @JsonProperty("type") String type, - @JsonProperty("deal_quantity") String dealQuantity, - @JsonProperty("deal_amount") String dealAmount, - @JsonProperty("create_time") long createTime) { + @JsonProperty("id") String id, + @JsonProperty("symbol") String symbol, + @JsonProperty("price") String price, + @JsonProperty("quantity") String quantity, + @JsonProperty("state") String state, + @JsonProperty("type") String type, + @JsonProperty("deal_quantity") String dealQuantity, + @JsonProperty("deal_amount") String dealAmount, + @JsonProperty("create_time") long createTime) { this.id = id; this.symbol = symbol; this.price = price; @@ -73,5 +73,3 @@ public long getCreateTime() { return createTime; } } - - diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/trade/MEXCOrderRequestPayload.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/trade/MEXCOrderRequestPayload.java index 11409242db3..511d78f6886 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/trade/MEXCOrderRequestPayload.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/dto/trade/MEXCOrderRequestPayload.java @@ -7,12 +7,16 @@ public class MEXCOrderRequestPayload { @JsonProperty("symbol") private String symbol; + @JsonProperty("price") private String price; + @JsonProperty("quantity") private String quantity; + @JsonProperty("trade_type") private String tradeType; + @JsonProperty("order_type") private String orderType; @@ -20,13 +24,13 @@ public class MEXCOrderRequestPayload { @JsonProperty("client_order_id") private String clientOrderId; - - public MEXCOrderRequestPayload(String symbol, - String price, - String quantity, - String tradeType, - String orderType, - String clientOrderId) { + public MEXCOrderRequestPayload( + String symbol, + String price, + String quantity, + String tradeType, + String orderType, + String clientOrderId) { this.symbol = symbol; this.price = price; this.quantity = quantity; @@ -34,7 +38,4 @@ public MEXCOrderRequestPayload(String symbol, this.orderType = orderType; this.clientOrderId = clientOrderId; } - - - } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCAccountService.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCAccountService.java index 398a5e48597..54c37137f7b 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCAccountService.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCAccountService.java @@ -1,5 +1,7 @@ package org.knowm.xchange.mexc.service; +import java.io.IOException; +import java.util.Map; import org.knowm.xchange.Exchange; import org.knowm.xchange.dto.account.AccountInfo; import org.knowm.xchange.exceptions.ExchangeException; @@ -8,9 +10,6 @@ import org.knowm.xchange.mexc.dto.account.MEXCBalance; import org.knowm.xchange.service.account.AccountService; -import java.io.IOException; -import java.util.Map; - public class MEXCAccountService extends MEXCAccountServiceRaw implements AccountService { public MEXCAccountService(Exchange exchange) { @@ -27,5 +26,4 @@ public AccountInfo getAccountInfo() throws IOException { throw new ExchangeException(e); } } - } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCAccountServiceRaw.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCAccountServiceRaw.java index a84e18f7dc1..f4d29ca076a 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCAccountServiceRaw.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCAccountServiceRaw.java @@ -1,12 +1,11 @@ package org.knowm.xchange.mexc.service; +import java.io.IOException; +import java.util.Map; import org.knowm.xchange.Exchange; import org.knowm.xchange.mexc.dto.MEXCResult; import org.knowm.xchange.mexc.dto.account.MEXCBalance; -import java.io.IOException; -import java.util.Map; - public class MEXCAccountServiceRaw extends MEXCBaseService { public MEXCAccountServiceRaw(Exchange exchange) { super(exchange); @@ -15,5 +14,4 @@ public MEXCAccountServiceRaw(Exchange exchange) { public MEXCResult> getWalletBalances() throws IOException { return mexcAuthenticated.getWalletBalances(apiKey, nonceFactory, signatureCreator); } - } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCBaseService.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCBaseService.java index 8de22b47458..6d41e4c3abc 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCBaseService.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCBaseService.java @@ -1,5 +1,6 @@ package org.knowm.xchange.mexc.service; +import java.util.concurrent.TimeUnit; import org.knowm.xchange.Exchange; import org.knowm.xchange.client.ExchangeRestProxyBuilder; import org.knowm.xchange.mexc.MEXCAuthenticated; @@ -8,19 +9,21 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -import java.util.concurrent.TimeUnit; - public class MEXCBaseService implements BaseService { protected final MEXCAuthenticated mexcAuthenticated; protected final ParamsDigest signatureCreator; - protected final SynchronizedValueFactory nonceFactory = new CurrentTimeIncrementalNonceFactory(TimeUnit.MILLISECONDS); + protected final SynchronizedValueFactory nonceFactory = + new CurrentTimeIncrementalNonceFactory(TimeUnit.MILLISECONDS); protected final String apiKey; public MEXCBaseService(Exchange exchange) { - mexcAuthenticated = ExchangeRestProxyBuilder.forInterface(MEXCAuthenticated.class, exchange.getExchangeSpecification()).build(); - signatureCreator = MEXCDigest.createInstance(exchange.getExchangeSpecification().getSecretKey()); + mexcAuthenticated = + ExchangeRestProxyBuilder.forInterface( + MEXCAuthenticated.class, exchange.getExchangeSpecification()) + .build(); + signatureCreator = + MEXCDigest.createInstance(exchange.getExchangeSpecification().getSecretKey()); apiKey = exchange.getExchangeSpecification().getApiKey(); } - } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCDigest.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCDigest.java index d1cb88a536e..315e8f13f5c 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCDigest.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCDigest.java @@ -1,20 +1,19 @@ package org.knowm.xchange.mexc.service; -import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException; -import org.knowm.xchange.service.BaseParamsDigest; -import si.mazi.rescu.HttpMethod; -import si.mazi.rescu.Params; -import si.mazi.rescu.ParamsDigest; -import si.mazi.rescu.RestInvocation; +import static org.knowm.xchange.utils.DigestUtils.bytesToHex; -import javax.crypto.Mac; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.QueryParam; import java.lang.annotation.Annotation; import java.nio.charset.StandardCharsets; import java.util.Map; - -import static org.knowm.xchange.utils.DigestUtils.bytesToHex; +import javax.crypto.Mac; +import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException; +import org.knowm.xchange.service.BaseParamsDigest; +import si.mazi.rescu.HttpMethod; +import si.mazi.rescu.Params; +import si.mazi.rescu.ParamsDigest; +import si.mazi.rescu.RestInvocation; public class MEXCDigest extends BaseParamsDigest { @@ -43,8 +42,8 @@ private String getDigestInputParams(RestInvocation restInvocation) { String apiKey = headerParams.getParamValue(API_KEY).toString(); String reqTime = headerParams.getParamValue(REQ_TIME).toString(); - if (HttpMethod.GET.name().equals(restInvocation.getHttpMethod()) || - HttpMethod.DELETE.name().equals(restInvocation.getHttpMethod())) { + if (HttpMethod.GET.name().equals(restInvocation.getHttpMethod()) + || HttpMethod.DELETE.name().equals(restInvocation.getHttpMethod())) { Params queryParamsMap = paramsMap.get(QueryParam.class); return apiKey + reqTime + queryParamsMap.asQueryString(); } @@ -52,7 +51,7 @@ private String getDigestInputParams(RestInvocation restInvocation) { if (HttpMethod.POST.name().equals(restInvocation.getHttpMethod())) { return apiKey + reqTime + restInvocation.getRequestBody(); } - throw new NotYetImplementedForExchangeException("Only GET, DELETE and POST are supported in digest"); + throw new NotYetImplementedForExchangeException( + "Only GET, DELETE and POST are supported in digest"); } - -} \ No newline at end of file +} diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCException.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCException.java index 0e2785c0bb8..57e1cdb349b 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCException.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCException.java @@ -1,11 +1,10 @@ package org.knowm.xchange.mexc.service; +import static org.knowm.xchange.mexc.MEXCErrorUtils.*; + import com.fasterxml.jackson.annotation.JsonProperty; -import org.knowm.xchange.mexc.MEXCErrorUtils; import si.mazi.rescu.HttpStatusExceptionSupport; -import static org.knowm.xchange.mexc.MEXCErrorUtils.*; - public class MEXCException extends HttpStatusExceptionSupport { private final String message; diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCMarketDataService.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCMarketDataService.java index 94f818cf459..999291ac55f 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCMarketDataService.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCMarketDataService.java @@ -1,7 +1,6 @@ package org.knowm.xchange.mexc.service; import org.knowm.xchange.Exchange; -import org.knowm.xchange.mexc.MEXCExchange; import org.knowm.xchange.service.marketdata.MarketDataService; public class MEXCMarketDataService extends MEXCMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCTradeService.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCTradeService.java index 2c6971c4157..9e743860f13 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCTradeService.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCTradeService.java @@ -1,5 +1,10 @@ package org.knowm.xchange.mexc.service; +import java.io.IOException; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; import org.knowm.xchange.Exchange; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.trade.LimitOrder; @@ -10,12 +15,6 @@ import org.knowm.xchange.mexc.dto.trade.MEXCOrderRequestPayload; import org.knowm.xchange.service.trade.TradeService; -import java.io.IOException; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.stream.Collectors; - public class MEXCTradeService extends MEXCTradeServiceRaw implements TradeService { public MEXCTradeService(Exchange exchange) { @@ -36,10 +35,11 @@ public String placeLimitOrder(LimitOrder limitOrder) throws IOException { public Collection getOrder(String... orderIds) throws IOException { try { MEXCResult> ordersResult = getOrders(Arrays.asList(orderIds)); - return ordersResult.getData().stream().map(MEXCAdapters::adaptOrder).collect(Collectors.toList()); + return ordersResult.getData().stream() + .map(MEXCAdapters::adaptOrder) + .collect(Collectors.toList()); } catch (MEXCException e) { throw new ExchangeException(e); } } - } diff --git a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCTradeServiceRaw.java b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCTradeServiceRaw.java index 77507e30991..4b64f282663 100644 --- a/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCTradeServiceRaw.java +++ b/xchange-mexc/src/main/java/org/knowm/xchange/mexc/service/MEXCTradeServiceRaw.java @@ -1,29 +1,24 @@ package org.knowm.xchange.mexc.service; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.Exchange; import org.knowm.xchange.mexc.dto.MEXCResult; import org.knowm.xchange.mexc.dto.trade.MEXCOrder; import org.knowm.xchange.mexc.dto.trade.MEXCOrderRequestPayload; -import java.io.IOException; -import java.util.List; - public class MEXCTradeServiceRaw extends MEXCBaseService { public MEXCTradeServiceRaw(Exchange exchange) { super(exchange); } - public MEXCResult placeOrder(MEXCOrderRequestPayload orderRequestPayload) throws IOException { + public MEXCResult placeOrder(MEXCOrderRequestPayload orderRequestPayload) + throws IOException { return mexcAuthenticated.placeOrder( - apiKey, - nonceFactory, - signatureCreator, - orderRequestPayload - ); + apiKey, nonceFactory, signatureCreator, orderRequestPayload); } public MEXCResult> getOrders(List orderIds) throws IOException { return mexcAuthenticated.getOrders(apiKey, nonceFactory, signatureCreator, orderIds); } - } diff --git a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/BaseWiremockTest.java b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/BaseWiremockTest.java index 10012d718c9..23eafbf6287 100644 --- a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/BaseWiremockTest.java +++ b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/BaseWiremockTest.java @@ -12,20 +12,19 @@ public class BaseWiremockTest { - @Rule - public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort()); + @Rule public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort()); - public Exchange createExchange() throws IOException { - Exchange exchange = - ExchangeFactory.INSTANCE.createExchangeWithoutSpecification(MEXCExchange.class); - ExchangeSpecification specification = exchange.getDefaultExchangeSpecification(); - specification.setHost("localhost"); - specification.setSslUri("http://localhost:" + wireMockRule.port()); - specification.setPort(wireMockRule.port()); - specification.setApiKey("test_api_key"); - specification.setSecretKey("test_secret_key"); - specification.setShouldLoadRemoteMetaData(false); - exchange.applySpecification(specification); - return exchange; - } + public Exchange createExchange() throws IOException { + Exchange exchange = + ExchangeFactory.INSTANCE.createExchangeWithoutSpecification(MEXCExchange.class); + ExchangeSpecification specification = exchange.getDefaultExchangeSpecification(); + specification.setHost("localhost"); + specification.setSslUri("http://localhost:" + wireMockRule.port()); + specification.setPort(wireMockRule.port()); + specification.setApiKey("test_api_key"); + specification.setSecretKey("test_secret_key"); + specification.setShouldLoadRemoteMetaData(false); + exchange.applySpecification(specification); + return exchange; + } } diff --git a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCAccountServiceRawTest.java b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCAccountServiceRawTest.java index 316dfea1b1e..9d10bffa2df 100644 --- a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCAccountServiceRawTest.java +++ b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCAccountServiceRawTest.java @@ -1,71 +1,66 @@ package org.knowm.xchange.mexc.service; +import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static org.assertj.core.api.Assertions.assertThat; + +import java.io.IOException; +import java.util.Map; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.mexc.dto.MEXCResult; import org.knowm.xchange.mexc.dto.account.MEXCBalance; -import java.io.IOException; -import java.util.Map; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static org.assertj.core.api.Assertions.assertThat; - public class MEXCAccountServiceRawTest extends BaseWiremockTest { - @Test - public void testGetWalletBalances() throws IOException { - Exchange mexcExchange = createExchange(); - MEXCAccountServiceRaw mexcAccountServiceRaw = new MEXCAccountServiceRaw(mexcExchange); - - String walletBalanceDetails = "{\n" + - " \"code\": 200,\n" + - " \"data\": {\n" + - " \"BTC\": {\n" + - " \"frozen\": \"0\",\n" + - " \"available\": \"140\"\n" + - " },\n" + - " \"ETH\": {\n" + - " \"frozen\": \"8471.296525048\",\n" + - " \"available\": \"483280.9653659222035\"\n" + - " },\n" + - " \"USDT\": {\n" + - " \"frozen\": \"0\",\n" + - " \"available\": \"27.3629\"\n" + - " },\n" + - " \"MX\": {\n" + - " \"frozen\": \"30.9863\",\n" + - " \"available\": \"450.0137\"\n" + - " }\n" + - " }\n" + - "}"; - - stubFor( - get(urlPathEqualTo("/open/api/v2/account/info")) - .willReturn( - aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBody(walletBalanceDetails) - ) - ); - - MEXCResult> walletBalances = mexcAccountServiceRaw.getWalletBalances(); + @Test + public void testGetWalletBalances() throws IOException { + Exchange mexcExchange = createExchange(); + MEXCAccountServiceRaw mexcAccountServiceRaw = new MEXCAccountServiceRaw(mexcExchange); - Map walletBalancesResult = walletBalances.getData(); - assertThat(walletBalancesResult.get("BTC").getAvailable()).isEqualTo("140"); - assertThat(walletBalancesResult.get("BTC").getFrozen()).isEqualTo("0"); + String walletBalanceDetails = + "{\n" + + " \"code\": 200,\n" + + " \"data\": {\n" + + " \"BTC\": {\n" + + " \"frozen\": \"0\",\n" + + " \"available\": \"140\"\n" + + " },\n" + + " \"ETH\": {\n" + + " \"frozen\": \"8471.296525048\",\n" + + " \"available\": \"483280.9653659222035\"\n" + + " },\n" + + " \"USDT\": {\n" + + " \"frozen\": \"0\",\n" + + " \"available\": \"27.3629\"\n" + + " },\n" + + " \"MX\": {\n" + + " \"frozen\": \"30.9863\",\n" + + " \"available\": \"450.0137\"\n" + + " }\n" + + " }\n" + + "}"; - assertThat(walletBalancesResult.get("ETH").getAvailable()).isEqualTo("483280.9653659222035"); - assertThat(walletBalancesResult.get("ETH").getFrozen()).isEqualTo("8471.296525048"); + stubFor( + get(urlPathEqualTo("/open/api/v2/account/info")) + .willReturn( + aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBody(walletBalanceDetails))); - assertThat(walletBalancesResult.get("USDT").getAvailable()).isEqualTo("27.3629"); - assertThat(walletBalancesResult.get("USDT").getFrozen()).isEqualTo("0"); + MEXCResult> walletBalances = mexcAccountServiceRaw.getWalletBalances(); + Map walletBalancesResult = walletBalances.getData(); + assertThat(walletBalancesResult.get("BTC").getAvailable()).isEqualTo("140"); + assertThat(walletBalancesResult.get("BTC").getFrozen()).isEqualTo("0"); - assertThat(walletBalancesResult.get("MX").getAvailable()).isEqualTo("450.0137"); - assertThat(walletBalancesResult.get("MX").getFrozen()).isEqualTo("30.9863"); + assertThat(walletBalancesResult.get("ETH").getAvailable()).isEqualTo("483280.9653659222035"); + assertThat(walletBalancesResult.get("ETH").getFrozen()).isEqualTo("8471.296525048"); - } + assertThat(walletBalancesResult.get("USDT").getAvailable()).isEqualTo("27.3629"); + assertThat(walletBalancesResult.get("USDT").getFrozen()).isEqualTo("0"); + assertThat(walletBalancesResult.get("MX").getAvailable()).isEqualTo("450.0137"); + assertThat(walletBalancesResult.get("MX").getFrozen()).isEqualTo("30.9863"); + } } diff --git a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCAccountServiceTest.java b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCAccountServiceTest.java index 60aaed38530..b6c7d1a67f9 100644 --- a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCAccountServiceTest.java +++ b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCAccountServiceTest.java @@ -1,72 +1,80 @@ package org.knowm.xchange.mexc.service; +import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static org.assertj.core.api.Assertions.assertThat; + +import java.io.IOException; +import java.math.BigDecimal; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.currency.Currency; import org.knowm.xchange.dto.account.AccountInfo; -import java.io.IOException; -import java.math.BigDecimal; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static org.assertj.core.api.Assertions.assertThat; - public class MEXCAccountServiceTest extends BaseWiremockTest { - @Test - public void testGetWalletBalances() throws IOException { - Exchange mexcExchange = createExchange(); - MEXCAccountService mexcAccountService = new MEXCAccountService(mexcExchange); - - String walletBalanceDetails = "{\n" + - " \"code\": 200,\n" + - " \"data\": {\n" + - " \"BTC\": {\n" + - " \"frozen\": \"0\",\n" + - " \"available\": \"140\"\n" + - " },\n" + - " \"ETH\": {\n" + - " \"frozen\": \"8471.296525048\",\n" + - " \"available\": \"483280.9653659222035\"\n" + - " },\n" + - " \"USDT\": {\n" + - " \"frozen\": \"0\",\n" + - " \"available\": \"27.3629\"\n" + - " },\n" + - " \"MX\": {\n" + - " \"frozen\": \"30.9863\",\n" + - " \"available\": \"450.0137\"\n" + - " }\n" + - " }\n" + - "}"; - - stubFor( - get(urlPathEqualTo("/open/api/v2/account/info")) - .willReturn( - aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBody(walletBalanceDetails) - ) - ); + @Test + public void testGetWalletBalances() throws IOException { + Exchange mexcExchange = createExchange(); + MEXCAccountService mexcAccountService = new MEXCAccountService(mexcExchange); - AccountInfo accountInfo = mexcAccountService.getAccountInfo(); - assertThat(accountInfo.getWallet().getBalance(new Currency("BTC")).getFrozen()).isEqualTo(new BigDecimal("0")); - assertThat(accountInfo.getWallet().getBalance(new Currency("BTC")).getAvailable()).isEqualTo(new BigDecimal("140")); - assertThat(accountInfo.getWallet().getBalance(new Currency("BTC")).getTotal()).isEqualTo(new BigDecimal("140")); + String walletBalanceDetails = + "{\n" + + " \"code\": 200,\n" + + " \"data\": {\n" + + " \"BTC\": {\n" + + " \"frozen\": \"0\",\n" + + " \"available\": \"140\"\n" + + " },\n" + + " \"ETH\": {\n" + + " \"frozen\": \"8471.296525048\",\n" + + " \"available\": \"483280.9653659222035\"\n" + + " },\n" + + " \"USDT\": {\n" + + " \"frozen\": \"0\",\n" + + " \"available\": \"27.3629\"\n" + + " },\n" + + " \"MX\": {\n" + + " \"frozen\": \"30.9863\",\n" + + " \"available\": \"450.0137\"\n" + + " }\n" + + " }\n" + + "}"; - assertThat(accountInfo.getWallet().getBalance(new Currency("ETH")).getFrozen()).isEqualTo(new BigDecimal("8471.2965250480000")); - assertThat(accountInfo.getWallet().getBalance(new Currency("ETH")).getAvailable()).isEqualTo(new BigDecimal("483280.9653659222035")); - assertThat(accountInfo.getWallet().getBalance(new Currency("ETH")).getTotal()).isEqualTo(new BigDecimal("491752.2618909702035")); + stubFor( + get(urlPathEqualTo("/open/api/v2/account/info")) + .willReturn( + aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBody(walletBalanceDetails))); - assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getFrozen()).isEqualTo(new BigDecimal("0.0000")); - assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getAvailable()).isEqualTo(new BigDecimal("27.3629")); - assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getTotal()).isEqualTo(new BigDecimal("27.3629")); + AccountInfo accountInfo = mexcAccountService.getAccountInfo(); + assertThat(accountInfo.getWallet().getBalance(new Currency("BTC")).getFrozen()) + .isEqualTo(new BigDecimal("0")); + assertThat(accountInfo.getWallet().getBalance(new Currency("BTC")).getAvailable()) + .isEqualTo(new BigDecimal("140")); + assertThat(accountInfo.getWallet().getBalance(new Currency("BTC")).getTotal()) + .isEqualTo(new BigDecimal("140")); - assertThat(accountInfo.getWallet().getBalance(new Currency("MX")).getFrozen()).isEqualTo(new BigDecimal("30.9863")); - assertThat(accountInfo.getWallet().getBalance(new Currency("MX")).getAvailable()).isEqualTo(new BigDecimal("450.0137")); - assertThat(accountInfo.getWallet().getBalance(new Currency("MX")).getTotal()).isEqualTo(new BigDecimal("481.0000")); + assertThat(accountInfo.getWallet().getBalance(new Currency("ETH")).getFrozen()) + .isEqualTo(new BigDecimal("8471.2965250480000")); + assertThat(accountInfo.getWallet().getBalance(new Currency("ETH")).getAvailable()) + .isEqualTo(new BigDecimal("483280.9653659222035")); + assertThat(accountInfo.getWallet().getBalance(new Currency("ETH")).getTotal()) + .isEqualTo(new BigDecimal("491752.2618909702035")); - } + assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getFrozen()) + .isEqualTo(new BigDecimal("0.0000")); + assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getAvailable()) + .isEqualTo(new BigDecimal("27.3629")); + assertThat(accountInfo.getWallet().getBalance(new Currency("USDT")).getTotal()) + .isEqualTo(new BigDecimal("27.3629")); + assertThat(accountInfo.getWallet().getBalance(new Currency("MX")).getFrozen()) + .isEqualTo(new BigDecimal("30.9863")); + assertThat(accountInfo.getWallet().getBalance(new Currency("MX")).getAvailable()) + .isEqualTo(new BigDecimal("450.0137")); + assertThat(accountInfo.getWallet().getBalance(new Currency("MX")).getTotal()) + .isEqualTo(new BigDecimal("481.0000")); + } } diff --git a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCTradeServiceRawTest.java b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCTradeServiceRawTest.java index 4f61fa587ed..2cfe45e5d3e 100644 --- a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCTradeServiceRawTest.java +++ b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCTradeServiceRawTest.java @@ -1,20 +1,19 @@ package org.knowm.xchange.mexc.service; +import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static org.assertj.core.api.Assertions.assertThat; + import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.mexc.dto.MEXCResult; import org.knowm.xchange.mexc.dto.trade.MEXCOrder; import org.knowm.xchange.mexc.dto.trade.MEXCOrderRequestPayload; -import java.io.IOException; -import java.util.Arrays; -import java.util.List; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static org.assertj.core.api.Assertions.assertThat; - public class MEXCTradeServiceRawTest extends BaseWiremockTest { @Test @@ -22,44 +21,44 @@ public void testGetMEXCTradeServiceRawOrder() throws IOException { Exchange mexcExchange = createExchange(); MEXCTradeServiceRaw mexcAccountServiceRaw = new MEXCTradeServiceRaw(mexcExchange); - String orderDetails = "{\n" + - " \"code\": 200,\n" + - " \"data\": [\n" + - " {\n" + - " \"id\": \"504feca6ba6349e39c82262caf0be3f4\",\n" + - " \"symbol\": \"MX_ETH\",\n" + - " \"price\": \"0.000901\",\n" + - " \"quantity\": \"300000\",\n" + - " \"state\": \"NEW\",\n" + - " \"type\": \"BID\",\n" + - " \"deal_quantity\": \"0\",\n" + - " \"deal_amount\": \"0\",\n" + - " \"create_time\": 1573117266000\n" + - " },\n" + - " {\n" + - " \"id\": \"72872b6ae721480ca4fe0f265d29dfee\",\n" + - " \"symbol\": \"MX_ETH\",\n" + - " \"price\": \"0.000907\",\n" + - " \"quantity\": \"300000\",\n" + - " \"state\": \"NEW\",\n" + - " \"type\": \"ASK\",\n" + - " \"deal_quantity\": \"0\",\n" + - " \"deal_amount\": \"0\",\n" + - " \"create_time\": 1573117267000\n" + - " }\n" + - " ]\n" + - "}"; + String orderDetails = + "{\n" + + " \"code\": 200,\n" + + " \"data\": [\n" + + " {\n" + + " \"id\": \"504feca6ba6349e39c82262caf0be3f4\",\n" + + " \"symbol\": \"MX_ETH\",\n" + + " \"price\": \"0.000901\",\n" + + " \"quantity\": \"300000\",\n" + + " \"state\": \"NEW\",\n" + + " \"type\": \"BID\",\n" + + " \"deal_quantity\": \"0\",\n" + + " \"deal_amount\": \"0\",\n" + + " \"create_time\": 1573117266000\n" + + " },\n" + + " {\n" + + " \"id\": \"72872b6ae721480ca4fe0f265d29dfee\",\n" + + " \"symbol\": \"MX_ETH\",\n" + + " \"price\": \"0.000907\",\n" + + " \"quantity\": \"300000\",\n" + + " \"state\": \"NEW\",\n" + + " \"type\": \"ASK\",\n" + + " \"deal_quantity\": \"0\",\n" + + " \"deal_amount\": \"0\",\n" + + " \"create_time\": 1573117267000\n" + + " }\n" + + " ]\n" + + "}"; stubFor( - get(urlPathEqualTo("/open/api/v2/order/query")) - .willReturn( - aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBody(orderDetails) - ) - ); - MEXCResult> order = mexcAccountServiceRaw.getOrders(Arrays.asList("1234567891011121314")); + get(urlPathEqualTo("/open/api/v2/order/query")) + .willReturn( + aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBody(orderDetails))); + MEXCResult> order = + mexcAccountServiceRaw.getOrders(Arrays.asList("1234567891011121314")); ObjectMapper mapper = new ObjectMapper(); JsonNode responseObject = mapper.readTree(orderDetails); @@ -71,59 +70,66 @@ public void testGetMEXCTradeServiceRawOrder() throws IOException { MEXCOrder orderResult = orderResults.get(0); assertThat(responseObjectResult.get(0).get("id").textValue()).isEqualTo(orderResult.getId()); - assertThat(responseObjectResult.get(0).get("symbol").textValue()).isEqualTo(orderResult.getSymbol()); - assertThat(responseObjectResult.get(0).get("price").textValue()).isEqualTo(orderResult.getPrice()); - assertThat(responseObjectResult.get(0).get("quantity").textValue()).isEqualTo(orderResult.getQuantity()); - assertThat(responseObjectResult.get(0).get("state").textValue()).isEqualTo(orderResult.getState()); - assertThat(responseObjectResult.get(0).get("type").textValue()).isEqualTo(orderResult.getType()); - assertThat(responseObjectResult.get(0).get("deal_quantity").textValue()).isEqualTo(orderResult.getDealQuantity()); - assertThat(responseObjectResult.get(0).get("deal_amount").textValue()).isEqualTo(orderResult.getDealAmount()); - assertThat(responseObjectResult.get(0).get("create_time").longValue()).isEqualTo(orderResult.getCreateTime()); - - orderResult = orderResults.get(1); - - assertThat(responseObjectResult.get(1).get("id").textValue()).isEqualTo(orderResult.getId()); - assertThat(responseObjectResult.get(1).get("symbol").textValue()).isEqualTo(orderResult.getSymbol()); - assertThat(responseObjectResult.get(1).get("price").textValue()).isEqualTo(orderResult.getPrice()); - assertThat(responseObjectResult.get(1).get("quantity").textValue()).isEqualTo(orderResult.getQuantity()); - assertThat(responseObjectResult.get(1).get("state").textValue()).isEqualTo(orderResult.getState()); - assertThat(responseObjectResult.get(1).get("type").textValue()).isEqualTo(orderResult.getType()); - assertThat(responseObjectResult.get(1).get("deal_quantity").textValue()).isEqualTo(orderResult.getDealQuantity()); - assertThat(responseObjectResult.get(1).get("deal_amount").textValue()).isEqualTo(orderResult.getDealAmount()); - assertThat(responseObjectResult.get(1).get("create_time").longValue()).isEqualTo(orderResult.getCreateTime()); - + assertThat(responseObjectResult.get(0).get("symbol").textValue()) + .isEqualTo(orderResult.getSymbol()); + assertThat(responseObjectResult.get(0).get("price").textValue()) + .isEqualTo(orderResult.getPrice()); + assertThat(responseObjectResult.get(0).get("quantity").textValue()) + .isEqualTo(orderResult.getQuantity()); + assertThat(responseObjectResult.get(0).get("state").textValue()) + .isEqualTo(orderResult.getState()); + assertThat(responseObjectResult.get(0).get("type").textValue()) + .isEqualTo(orderResult.getType()); + assertThat(responseObjectResult.get(0).get("deal_quantity").textValue()) + .isEqualTo(orderResult.getDealQuantity()); + assertThat(responseObjectResult.get(0).get("deal_amount").textValue()) + .isEqualTo(orderResult.getDealAmount()); + assertThat(responseObjectResult.get(0).get("create_time").longValue()) + .isEqualTo(orderResult.getCreateTime()); + + orderResult = orderResults.get(1); + + assertThat(responseObjectResult.get(1).get("id").textValue()).isEqualTo(orderResult.getId()); + assertThat(responseObjectResult.get(1).get("symbol").textValue()) + .isEqualTo(orderResult.getSymbol()); + assertThat(responseObjectResult.get(1).get("price").textValue()) + .isEqualTo(orderResult.getPrice()); + assertThat(responseObjectResult.get(1).get("quantity").textValue()) + .isEqualTo(orderResult.getQuantity()); + assertThat(responseObjectResult.get(1).get("state").textValue()) + .isEqualTo(orderResult.getState()); + assertThat(responseObjectResult.get(1).get("type").textValue()) + .isEqualTo(orderResult.getType()); + assertThat(responseObjectResult.get(1).get("deal_quantity").textValue()) + .isEqualTo(orderResult.getDealQuantity()); + assertThat(responseObjectResult.get(1).get("deal_amount").textValue()) + .isEqualTo(orderResult.getDealAmount()); + assertThat(responseObjectResult.get(1).get("create_time").longValue()) + .isEqualTo(orderResult.getCreateTime()); } - @Test public void testPlaceMEXCTradeServiceRawOrder() throws IOException { Exchange mexcExchange = createExchange(); MEXCTradeServiceRaw mexcTradeServiceRaw = new MEXCTradeServiceRaw(mexcExchange); - String orderPlacementResponse = "{\n" + - " \"code\": 200,\n" + - " \"data\": \"c8663a12a2fc457fbfdd55307b463495\"\n" + - "}"; + String orderPlacementResponse = + "{\n" + + " \"code\": 200,\n" + + " \"data\": \"c8663a12a2fc457fbfdd55307b463495\"\n" + + "}"; stubFor( - post(urlPathEqualTo("/open/api/v2/order/place")) - .willReturn( - aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBody(orderPlacementResponse) - ) - ); - - MEXCResult orderPlacementResult = mexcTradeServiceRaw.placeOrder(new MEXCOrderRequestPayload( - "COINUSDT", - "1.0", - "1.0", - "BID", - "LIMIT_ORDER", - null - )); + post(urlPathEqualTo("/open/api/v2/order/place")) + .willReturn( + aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBody(orderPlacementResponse))); + MEXCResult orderPlacementResult = + mexcTradeServiceRaw.placeOrder( + new MEXCOrderRequestPayload("COINUSDT", "1.0", "1.0", "BID", "LIMIT_ORDER", null)); ObjectMapper mapper = new ObjectMapper(); JsonNode responseObject = mapper.readTree(orderPlacementResponse); @@ -133,7 +139,5 @@ public void testPlaceMEXCTradeServiceRawOrder() throws IOException { assertThat(orderId).isEqualTo("c8663a12a2fc457fbfdd55307b463495"); assertThat(responseObjectResult.textValue()).isEqualTo("c8663a12a2fc457fbfdd55307b463495"); - } - } diff --git a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCTradeServiceTest.java b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCTradeServiceTest.java index 0b1bfc98db7..2e95ba81392 100644 --- a/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCTradeServiceTest.java +++ b/xchange-mexc/src/test/java/org/knowm/xchange/mexc/service/MEXCTradeServiceTest.java @@ -1,18 +1,16 @@ package org.knowm.xchange.mexc.service; +import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static org.assertj.core.api.Assertions.assertThat; + +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Collection; import org.junit.Test; import org.knowm.xchange.Exchange; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.trade.LimitOrder; -import org.knowm.xchange.dto.trade.MarketOrder; - -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Collection; - -import static com.github.tomakehurst.wiremock.client.WireMock.*; -import static org.assertj.core.api.Assertions.assertThat; public class MEXCTradeServiceTest extends BaseWiremockTest { @@ -21,45 +19,46 @@ public void testGetMEXCOrder() throws IOException { Exchange mexcExchange = createExchange(); MEXCTradeService mexcAccountService = new MEXCTradeService(mexcExchange); - String orderDetails = "{\n" + - " \"code\": 200,\n" + - " \"data\": [\n" + - " {\n" + - " \"id\": \"504feca6ba6349e39c82262caf0be3f4\",\n" + - " \"symbol\": \"MX_ETH\",\n" + - " \"price\": \"0.000901\",\n" + - " \"quantity\": \"300000\",\n" + - " \"state\": \"NEW\",\n" + - " \"type\": \"BID\",\n" + - " \"deal_quantity\": \"0\",\n" + - " \"deal_amount\": \"0\",\n" + - " \"create_time\": 1573117266000\n" + - " },\n" + - " {\n" + - " \"id\": \"72872b6ae721480ca4fe0f265d29dfee\",\n" + - " \"symbol\": \"MX_ETH\",\n" + - " \"price\": \"0.000907\",\n" + - " \"quantity\": \"300000\",\n" + - " \"state\": \"FILLED\",\n" + - " \"type\": \"ASK\",\n" + - " \"deal_quantity\": \"0.5\",\n" + - " \"deal_amount\": \"0.25\",\n" + - " \"create_time\": 1573117267000\n" + - " }\n" + - " ]\n" + - "}"; + String orderDetails = + "{\n" + + " \"code\": 200,\n" + + " \"data\": [\n" + + " {\n" + + " \"id\": \"504feca6ba6349e39c82262caf0be3f4\",\n" + + " \"symbol\": \"MX_ETH\",\n" + + " \"price\": \"0.000901\",\n" + + " \"quantity\": \"300000\",\n" + + " \"state\": \"NEW\",\n" + + " \"type\": \"BID\",\n" + + " \"deal_quantity\": \"0\",\n" + + " \"deal_amount\": \"0\",\n" + + " \"create_time\": 1573117266000\n" + + " },\n" + + " {\n" + + " \"id\": \"72872b6ae721480ca4fe0f265d29dfee\",\n" + + " \"symbol\": \"MX_ETH\",\n" + + " \"price\": \"0.000907\",\n" + + " \"quantity\": \"300000\",\n" + + " \"state\": \"FILLED\",\n" + + " \"type\": \"ASK\",\n" + + " \"deal_quantity\": \"0.5\",\n" + + " \"deal_amount\": \"0.25\",\n" + + " \"create_time\": 1573117267000\n" + + " }\n" + + " ]\n" + + "}"; stubFor( - get(urlPathEqualTo("/open/api/v2/order/query")) - .willReturn( - aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBody(orderDetails) - ) - ); - - Collection orders = mexcAccountService.getOrder("504feca6ba6349e39c82262caf0be3f4", "72872b6ae721480ca4fe0f265d29dfee"); + get(urlPathEqualTo("/open/api/v2/order/query")) + .willReturn( + aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBody(orderDetails))); + + Collection orders = + mexcAccountService.getOrder( + "504feca6ba6349e39c82262caf0be3f4", "72872b6ae721480ca4fe0f265d29dfee"); assertThat(orders.size()).isEqualTo(2); Order order = (Order) orders.toArray()[0]; @@ -77,41 +76,37 @@ public void testGetMEXCOrder() throws IOException { assertThat(order.getStatus()).isEqualTo(Order.OrderStatus.FILLED); assertThat(order.getOriginalAmount()).isEqualTo(new BigDecimal("300000")); assertThat(order.getCumulativeAmount()).isEqualTo(new BigDecimal("0.5")); - } - @Test public void testPlaceMEXCOrder() throws IOException { Exchange mexcExchange = createExchange(); MEXCTradeService mexcTradeService = new MEXCTradeService(mexcExchange); - String orderPlacementResponse = "{\n" + - " \"code\": 200,\n" + - " \"data\": \"c8663a12a2fc457fbfdd55307b463495\"\n" + - "}"; + String orderPlacementResponse = + "{\n" + + " \"code\": 200,\n" + + " \"data\": \"c8663a12a2fc457fbfdd55307b463495\"\n" + + "}"; stubFor( - post(urlPathEqualTo("/open/api/v2/order/place")) - .willReturn( - aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/json") - .withBody(orderPlacementResponse) - ) - ); - - String orderId = mexcTradeService.placeLimitOrder( + post(urlPathEqualTo("/open/api/v2/order/place")) + .willReturn( + aResponse() + .withStatus(200) + .withHeader("Content-Type", "application/json") + .withBody(orderPlacementResponse))); + + String orderId = + mexcTradeService.placeLimitOrder( new LimitOrder( - Order.OrderType.ASK, - new BigDecimal("300"), - new CurrencyPair("COIN", "USDT"), - null,null,new BigDecimal("0.25") - ) - ); + Order.OrderType.ASK, + new BigDecimal("300"), + new CurrencyPair("COIN", "USDT"), + null, + null, + new BigDecimal("0.25"))); assertThat(orderId).isEqualTo("c8663a12a2fc457fbfdd55307b463495"); - } - } diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoin.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoin.java index 1e749841f62..183840d2932 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoin.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoin.java @@ -1,7 +1,5 @@ package org.knowm.xchange.okcoin; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; @@ -10,6 +8,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.okcoin.dto.account.OKCoinWithdraw; import org.knowm.xchange.okcoin.dto.account.OkCoinAccountRecords; import org.knowm.xchange.okcoin.dto.account.OkCoinFuturesUserInfoCross; @@ -387,4 +387,4 @@ OkCoinErrorResult fundsTransfer( @FormParam("to") int to, @FormParam("sign") ParamsDigest sign) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinAdapters.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinAdapters.java index a8de7e5d3aa..448bc043db2 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinAdapters.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinAdapters.java @@ -58,7 +58,9 @@ private OkCoinAdapters() {} public static String adaptSymbol(Instrument currencyPair) { - return (currencyPair.getBase().getCurrencyCode() + "_" + currencyPair.getCounter().getCurrencyCode()) + return (currencyPair.getBase().getCurrencyCode() + + "_" + + currencyPair.getCounter().getCurrencyCode()) .toLowerCase(); } diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinDigest.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinDigest.java index 0d31f6778c0..951d795a025 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinDigest.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinDigest.java @@ -1,5 +1,6 @@ package org.knowm.xchange.okcoin; +import jakarta.ws.rs.FormParam; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -7,7 +8,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import jakarta.ws.rs.FormParam; import si.mazi.rescu.Params; import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.RestInvocation; @@ -85,4 +85,4 @@ public String digestParams(RestInvocation restInvocation) { throw new RuntimeException("Codec error", e); } } -} \ No newline at end of file +} diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinException.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinException.java index 76465fe077c..5e97d659e53 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinException.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkCoinException.java @@ -20,7 +20,9 @@ public OkCoinException(int errorCode, String message) { this.errorCode = errorCode; } - /** @return the error code. */ + /** + * @return the error code. + */ public int getErrorCode() { return errorCode; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkexAdaptersV3.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkexAdaptersV3.java index b5f6fe72065..1548838a326 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkexAdaptersV3.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkexAdaptersV3.java @@ -148,6 +148,7 @@ public static FundingRecord adaptFundingRecord(OkexDepositRecord r) { .setType(Type.DEPOSIT) .build(); } + /** * The status of deposits (0: waiting for confirmation; 1: confirmation account; 2: recharge * success); diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkexV3.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkexV3.java index 5f4bfd22d8c..7831422d286 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkexV3.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/OkexV3.java @@ -1,8 +1,5 @@ package org.knowm.xchange.okcoin; -import java.io.IOException; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -12,6 +9,9 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; +import java.util.Map; import org.knowm.xchange.okcoin.v3.dto.account.BillType; import org.knowm.xchange.okcoin.v3.dto.account.FuturesBillsResponse; import org.knowm.xchange.okcoin.v3.dto.account.FuturesLeverageResponse; @@ -567,6 +567,7 @@ List getSwapTransactionDetails( @QueryParam("to") String to, @QueryParam("limit") Integer limit) throws IOException, OkexException; + /** ******************************** Margin Trading API ********************************* */ @GET @Path("/margin/v3/accounts") @@ -695,4 +696,4 @@ List getMarginTransactionDetails( @QueryParam("to") String to, @QueryParam("limit") Integer limit) throws IOException, OkexException; -} \ No newline at end of file +} diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/dto/marketdata/OkCoinTicker.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/dto/marketdata/OkCoinTicker.java index 7b77fb36e13..a8aef4f8ff0 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/dto/marketdata/OkCoinTicker.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/dto/marketdata/OkCoinTicker.java @@ -34,37 +34,49 @@ public OkCoinTicker( this.unitAmount = unitAmount; } - /** @return the high */ + /** + * @return the high + */ public BigDecimal getHigh() { return high; } - /** @return the low */ + /** + * @return the low + */ public BigDecimal getLow() { return low; } - /** @return the buy */ + /** + * @return the buy + */ public BigDecimal getBuy() { return buy; } - /** @return the sell */ + /** + * @return the sell + */ public BigDecimal getSell() { return sell; } - /** @return the last */ + /** + * @return the last + */ public BigDecimal getLast() { return last; } - /** @return the vol */ + /** + * @return the vol + */ public BigDecimal getVol() { return vol; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/dto/trade/OkCoinFuturesTradeHistoryResult.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/dto/trade/OkCoinFuturesTradeHistoryResult.java index 22883665fb5..b56ca5d40ba 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/dto/trade/OkCoinFuturesTradeHistoryResult.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/dto/trade/OkCoinFuturesTradeHistoryResult.java @@ -9,6 +9,7 @@ public class OkCoinFuturesTradeHistoryResult extends OkCoinErrorResult { private final long amount; private final long timestamp; private final TransactionType type; + /** USD amount, negative -> BID, positive -> ASK */ private final BigDecimal price; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/service/OkCoinAccountService.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/service/OkCoinAccountService.java index f47459e6bc3..bc98fdf5e4a 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/service/OkCoinAccountService.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/service/OkCoinAccountService.java @@ -80,7 +80,8 @@ public String withdrawFunds(Currency currency, BigDecimal amount, String address public String withdrawFunds(WithdrawFundsParams params) throws IOException { if (params instanceof DefaultWithdrawFundsParams) { DefaultWithdrawFundsParams defaultParams = (DefaultWithdrawFundsParams) params; - return withdrawFunds(defaultParams.getCurrency(), defaultParams.getAmount(), defaultParams.getAddress()); + return withdrawFunds( + defaultParams.getCurrency(), defaultParams.getAmount(), defaultParams.getAddress()); } throw new IllegalStateException("Don't know how to withdraw: " + params); } diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesBillsResponse.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesBillsResponse.java index 92579b54c46..18baf748297 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesBillsResponse.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesBillsResponse.java @@ -14,10 +14,13 @@ public class FuturesBillsResponse { /** ID of the bill record */ private String ledgerId; + /** The time that the record is created */ private Date timestamp; + /** Amount */ private BigDecimal amount; + /** * Balance of positions opened. Balance positive if the open interest is long while negative if * short. The balance will be '0' if the type is fee. @@ -25,10 +28,13 @@ public class FuturesBillsResponse { private BigDecimal balance; private String currency; + /** underlying,eg:BTC-USD BTC-USDT */ private String underlying; + /** Type of bill record */ private String type; + /** * If the type is generated by transaction, the order_id and instrument_id will be included in * details diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesLeverageResponse.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesLeverageResponse.java index c82a832574b..7e977d2c88a 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesLeverageResponse.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesLeverageResponse.java @@ -36,6 +36,7 @@ public static class FixedLeverage { /** Leverage for long positions , 1-100x */ @JsonProperty("long_leverage") private BigDecimal longLeverage; + /** Leverage for short positions , 1-100x */ @JsonProperty("short_leverage") private BigDecimal shortLeverage; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesPosition.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesPosition.java index e421a31a9a9..3d088f770b6 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesPosition.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/FuturesPosition.java @@ -16,63 +16,82 @@ public class FuturesPosition { /** Contract ID, e.g. “BTC-USD-180213” */ @JsonProperty("instrument_id") private String instrumentId; + /** Creation date */ @JsonProperty("created_at") private String createdAt; + /** Last margin adjusting time */ @JsonProperty("updated_at") private String updatedAt; + /** Quantity of long positions */ @JsonProperty("long_qty") private BigDecimal longQty; + /** Available positions to be closed for long positions */ @JsonProperty("long_avail_qty") private BigDecimal longAvailQty; + /** Margin for long positions */ @JsonProperty("long_margin") private BigDecimal longMargin; + /** Profit and loss ratio of long positions */ @JsonProperty("long_pnl_ratio") private BigDecimal longPnlRatio; + /** Average price for opening positions */ @JsonProperty("long_avg_cost") private BigDecimal longAvgCost; + /** Standard settlement price for long positions */ @JsonProperty("long_settlement_price") private BigDecimal longSettlement_Price; + /** realised profits */ @JsonProperty("realised_pnl") private BigDecimal realisedPnl; + /** Quantity of short positions */ @JsonProperty("short_qty") private BigDecimal shortQty; + /** Available positions to be closed for short positions */ @JsonProperty("short_avail_qty") private BigDecimal shortAvailQty; + /** Margin for short positions */ @JsonProperty("short_margin") private BigDecimal shortMargin; + /** Profit and loss ratio of short positions */ @JsonProperty("short_pnl_ratio") private BigDecimal shortPnlRatio; + /** Average price for opening positions */ @JsonProperty("short_avg_cost") private BigDecimal shortAvgCost; + /** Standard settlement price for short positions */ @JsonProperty("short_settlement_price") private BigDecimal shortSettlementPrice; + /** Profit of short positions */ @JsonProperty("short_pnl") private BigDecimal shortPnl; + /** Unrealized profits and losses of short positions */ @JsonProperty("short_unrealised_pnl") private BigDecimal shortUnrealisedPnl; @JsonProperty("short_settled_pnl") private BigDecimal shortSettledPnl; + /** Profit of long positions */ @JsonProperty("long_pnl") private BigDecimal longPnl; + /** Unrealized profits and losses of long positions */ @JsonProperty("long_unrealised_pnl") private BigDecimal longUnrealisedPnl; @@ -85,6 +104,7 @@ public class FuturesPosition { /** Estimated liquidation price */ @JsonProperty("liquidation_price") private BigDecimal liquidationPrice; + /** Leverage */ private BigDecimal leverage; @@ -93,24 +113,31 @@ public class FuturesPosition { /** Forced liquidation price for long positions */ @JsonProperty("long_liqui_price") private BigDecimal longLiquiPrice; + /** Leverage for long positions */ @JsonProperty("long_leverage") private BigDecimal longLeverage; + /** Forced liquidation price for short positions */ @JsonProperty("short_liqui_price") private BigDecimal shortLiquiPrice; + /** Leverage for short positions */ @JsonProperty("short_leverage") private BigDecimal shortLeverage; + /** Margin ratio of short positions */ @JsonProperty("short_margin_ratio") private BigDecimal shortMarginRatio; + /** Maintenance margin ratio of short positions */ @JsonProperty("short_maint_margin_ratio") private BigDecimal shortMaintMarginRatio; + /** Margin ratio of long positions */ @JsonProperty("long_margin_ratio") private BigDecimal longMarginRatio; + /** Maintenance margin ratio of long positions */ @JsonProperty("long_maint_margin_ratio") private BigDecimal longMaintMarginRatio; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexDepositRecord.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexDepositRecord.java index 0bebc9e4290..5a3d238c917 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexDepositRecord.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexDepositRecord.java @@ -10,14 +10,19 @@ public class OkexDepositRecord { /** token */ private String currency; + /** deposit amount */ private BigDecimal amount; + /** deposit arrival date */ private String timestamp; + /** deposit address */ private String to; + /** TXID */ private String txid; + /** * The status of deposits (0: waiting for confirmation; 1: confirmation account; 2: recharge * success); diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexSpotAccountRecord.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexSpotAccountRecord.java index 2477b979100..da94993f228 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexSpotAccountRecord.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexSpotAccountRecord.java @@ -6,13 +6,16 @@ @Data public class OkexSpotAccountRecord { private BigDecimal frozen; + /** amount on hold(not available) */ private BigDecimal hold; + /** account ID */ private String id; private String currency; private BigDecimal balance; + /** available amount */ private BigDecimal available; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexWithdrawalRecord.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexWithdrawalRecord.java index 79d4567760b..8f2b9fdfcbe 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexWithdrawalRecord.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexWithdrawalRecord.java @@ -11,25 +11,35 @@ public class OkexWithdrawalRecord { @JsonProperty("withdrawal_id") private String withdrawalId; + /** token */ private String currency; + /** amount */ private BigDecimal amount; + /** withdrawal request creation date */ private String timestamp; + /** remitting address(OKEx account will be shown for OKEx address), ie 13454335123 */ private String from; + /** beneficiary address */ private String to; + /** tag is required for some tokens. Please leave the field blank if not required */ private String tag; + /** payment ID is required for some tokens. Please leave the field blank if it is not required */ @JsonProperty("payment_id") private String paymentId; + /** the txid for withdrawals (leave it blank for internal transfer) */ private String txid; + /** withdrawal fee, ie '0.01000000eth' or '0.00050000btc' */ private String fee; + /** * -3:pending cancel; -2: cancelled; -1: failed; 0 :pending; 1 :sending; 2:sent; 3 :email * confirmation; 4 :manual confirmation; 5:awaiting identity confirmation diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexWithdrawalRequest.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexWithdrawalRequest.java index 76db58a8904..2b25b77f364 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexWithdrawalRequest.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/account/OkexWithdrawalRequest.java @@ -14,19 +14,24 @@ public class OkexWithdrawalRequest { /** token */ private String currency; + /** withdrawal amount */ private BigDecimal amount; + /** withdrawal address(2:OKCoin International 3:OKEx 4:others) */ private String destination; + /** * verified digital asset address, email or mobile String, some digital asset address format is * address+tag , eg: "ARDOR-7JF3-8F2E-QUWZ-CAN7F:123456" */ @JsonProperty("to_address") private String toAddress; + /** fund password */ @JsonProperty("trade_pwd") private String tradePwd; + /** * Network transaction fee≥0. Withdrawals to OKCoin or OKEx are fee-free, please set as 0. * Withdrawal to external digital asset address requires network transaction fee. diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/marketdata/OkexFutureInstrument.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/marketdata/OkexFutureInstrument.java index 61cdb1722d0..ae669f4d534 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/marketdata/OkexFutureInstrument.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/marketdata/OkexFutureInstrument.java @@ -39,13 +39,17 @@ public class OkexFutureInstrument { /** Underlying index,eg:BTC-USD */ private String underlying; + /** Transaction currency,eg:BTC in BTC-USD,BTC in BTC-USDT */ private String baseCurrency; + /** Settlement currency,eg:BTC */ private String settlementCurrency; + /** (true or false) ,inverse contract or not */ @JsonProperty("is_inverse") private boolean inverse; + /** Contract denomination currency eg: USD,BTC,LTC,ETC , XRP, EOS */ private String contractValCurrency; } diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/marketdata/OkexSwapInstrument.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/marketdata/OkexSwapInstrument.java index def435495bf..166c6631a71 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/marketdata/OkexSwapInstrument.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/marketdata/OkexSwapInstrument.java @@ -30,6 +30,7 @@ public class OkexSwapInstrument { /** Creation time, ie "2018-08-28T02:43:23.000Z" */ private String listing; + /** Settlement time, ie "2019-06-20T14:00:00.000Z" */ private String delivery; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesAccountsByCurrencyResponse.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesAccountsByCurrencyResponse.java index 11eaafdaea9..5a9d09b3e33 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesAccountsByCurrencyResponse.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesAccountsByCurrencyResponse.java @@ -15,31 +15,41 @@ public class FuturesAccountsByCurrencyResponse extends OkexResponse { @JsonProperty("margin_mode") private MarginMode marginMode; + /** Equity of the account, ie 2.30757371 */ private BigDecimal equity; + /** Liquidation mode: tier(partial), legacy (full) */ @JsonProperty("liqui_mode") private String liquiMode; + /** Maintenance Margin Ratio, ie 0.01 */ @JsonProperty("maint_margin_ratio") private BigDecimal maintMarginRatio; + /** Margin (on hold for open orders + positions holding), ie 0.00607247 */ private BigDecimal margin; + /** Margin on hold for open orders, ie 0 */ @JsonProperty("margin_for_unfilled") private BigDecimal marginForUnfilled; + /** Position margi, ie 0.00607247 */ @JsonProperty("margin_frozen") private BigDecimal marginFrozen; + /** Margin ratio, ie 38.00057818 */ @JsonProperty("margin_ratio") private BigDecimal marginRatio; + /** realised profit and loss, ie 2.30759234 */ @JsonProperty("realized_pnl") private BigDecimal realizedPnl; + /** Balance of the account, ie 0 */ @JsonProperty("total_avail_balance") private BigDecimal totalAvailBalance; + /** Unrealised profit and loss, ie -0.00001863 */ @JsonProperty("unrealized_pnl") private BigDecimal unrealizedPnl; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesAccountsResponse.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesAccountsResponse.java index 1f5387d6eaa..638392af30c 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesAccountsResponse.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesAccountsResponse.java @@ -31,31 +31,41 @@ public static class FuturesAccount { @JsonProperty("margin_mode") private MarginMode marginMode; + /** Equity of the account, ie 2.30757371 */ private BigDecimal equity; + /** Liquidation mode: tier(partial), legacy (full) */ @JsonProperty("liqui_mode") private String liquiMode; + /** Maintenance Margin Ratio, ie 0.01 */ @JsonProperty("maint_margin_ratio") private BigDecimal maintMarginRatio; + /** Margin (on hold for open orders + positions holding), ie 0.00607247 */ private BigDecimal margin; + /** Margin on hold for open orders, ie 0 */ @JsonProperty("margin_for_unfilled") private BigDecimal marginForUnfilled; + /** Position margi, ie 0.00607247 */ @JsonProperty("margin_frozen") private BigDecimal marginFrozen; + /** Margin ratio, ie 38.00057818 */ @JsonProperty("margin_ratio") private BigDecimal marginRatio; + /** realised profit and loss, ie 2.30759234 */ @JsonProperty("realized_pnl") private BigDecimal realizedPnl; + /** Balance of the account, ie 0 */ @JsonProperty("total_avail_balance") private BigDecimal totalAvailBalance; + /** Unrealised profit and loss, ie -0.00001863 */ @JsonProperty("unrealized_pnl") private BigDecimal unrealizedPnl; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesMultipleOrderPlacementRequest.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesMultipleOrderPlacementRequest.java index 8f60654325d..3baa9a3c985 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesMultipleOrderPlacementRequest.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/FuturesMultipleOrderPlacementRequest.java @@ -49,6 +49,7 @@ public static class MultipleOrderPlacement { /** required, The buying or selling quantityd */ private BigDecimal size; + /** * optional, Order at best counter party price? (0:no 1:yes) the parameter is defaulted as 0. If * it is set as 1, the price parameter will be ignored,When posting orders at best bid price, diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexFuturesOpenOrder.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexFuturesOpenOrder.java index 543cb7bdac4..3de396ca5e6 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexFuturesOpenOrder.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexFuturesOpenOrder.java @@ -16,39 +16,48 @@ public class OkexFuturesOpenOrder { @JsonProperty("client_oid") /** String the order ID customised by yourself */ private String clientOid; + /** Quantity */ private BigDecimal size; + /** Order creation date */ private String timestamp; @JsonProperty("filled_qty") /** Filled quantity */ private BigDecimal filledQty; + /** Fees */ private String fee; @JsonProperty("order_id") /** order ID */ private String orderId; + /** Order Price */ private BigDecimal price; @JsonProperty("price_avg") /** Average price */ private BigDecimal priceAvg; + /** Type (1: open long 2: open short 3: close long 4: close short) */ private FuturesSwapType type; + /** Contract Value */ @JsonProperty("contract_val") private BigDecimal contractVal; + /** Leverage , 1-100x */ private BigDecimal leverage; @JsonProperty("order_type") /** 0: Normal limit order 1: Post only 2: Fill Or Kill 3: Immediatel Or Cancel */ private OrderPlacementType orderType; + /** profit */ private BigDecimal pnl; + /** * Order Status("-2":Failed,"-1":Cancelled,"0":Open ,"1":Partially Filled, "2":Fully * Filled,"3":Submitting,"4":Cancelling,) diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexFuturesTransaction.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexFuturesTransaction.java index fdc700f75b8..d9d1ba39a05 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexFuturesTransaction.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexFuturesTransaction.java @@ -16,8 +16,10 @@ public class OkexFuturesTransaction { @JsonProperty("instrument_id") /** trading pair */ private String instrumentId; + /** price */ private BigDecimal price; + /** Quantity */ @JsonProperty("order_qty") private BigDecimal orderQty; @@ -37,6 +39,7 @@ public class OkexFuturesTransaction { private String execType; private BigDecimal fee; + /** bills side (buy, sell or points_fee) */ private Side side; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexOpenOrder.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexOpenOrder.java index fb8da286b9a..9f60c5e3eab 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexOpenOrder.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexOpenOrder.java @@ -53,6 +53,7 @@ public class OkexOpenOrder { /** buy or sell */ private Side side; + /** quantity */ private BigDecimal size; @@ -61,6 +62,7 @@ public class OkexOpenOrder { * Filled,"3":Submitting,"4":Cancelling,) */ private String state; + /** order status */ private String status; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexSwapOpenOrder.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexSwapOpenOrder.java index 3e2c5963516..18b7c100908 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexSwapOpenOrder.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexSwapOpenOrder.java @@ -16,28 +16,34 @@ public class OkexSwapOpenOrder { @JsonProperty("client_oid") /** String the order ID customised by yourself */ private String clientOid; + /** Quantity */ private BigDecimal size; + /** Order creation date */ private String timestamp; @JsonProperty("filled_qty") /** Filled quantity */ private BigDecimal filledQty; + /** Fees */ private String fee; @JsonProperty("order_id") /** order ID */ private String orderId; + /** Order Price */ private BigDecimal price; @JsonProperty("price_avg") /** Average price */ private BigDecimal priceAvg; + /** Type (1: open long 2: open short 3: close long 4: close short) */ private FuturesSwapType type; + /** Contract Value */ @JsonProperty("contract_val") private BigDecimal contractVal; @@ -45,8 +51,10 @@ public class OkexSwapOpenOrder { @JsonProperty("order_type") /** 0: Normal limit order 1: Post only 2: Fill Or Kill 3: Immediatel Or Cancel */ private OrderPlacementType orderType; + /** profit */ private BigDecimal pnl; + /** * Order Status("-2":Failed,"-1":Cancelled,"0":Open ,"1":Partially Filled, "2":Fully * Filled,"3":Submitting,"4":Cancelling,) diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexSwapTransaction.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexSwapTransaction.java index a55302f87d7..ff4424fae71 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexSwapTransaction.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexSwapTransaction.java @@ -16,8 +16,10 @@ public class OkexSwapTransaction { @JsonProperty("instrument_id") /** trading pair */ private String instrumentId; + /** price */ private BigDecimal price; + /** Quantity */ @JsonProperty("order_qty") private BigDecimal orderQty; @@ -36,6 +38,7 @@ public class OkexSwapTransaction { private String execType; private BigDecimal fee; + /** bills side (buy, sell or points_fee) */ private SwapSide side; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexTransaction.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexTransaction.java index eef6d32be21..4d63626c32c 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexTransaction.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/OkexTransaction.java @@ -24,21 +24,26 @@ public class OkexTransaction { @JsonProperty("ledger_id") /** bill ID */ private String ledgerId; + /** liquidity side (T or M) */ private String liquidity; @JsonProperty("order_id") /** order ID */ private String orderId; + /** price */ private BigDecimal price; @JsonProperty("product_id") private String productId; + /** bills side (buy, sell or points_fee) */ private Side side; + /** quantity */ private BigDecimal size; + /** create date */ private String timestamp; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapAccountsResponse.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapAccountsResponse.java index 6b029f4e7a2..2e1c5842534 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapAccountsResponse.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapAccountsResponse.java @@ -18,34 +18,45 @@ public static class SwapAccountInfo { /** Equity of the account, ie 5.0327 */ private BigDecimal equity; + /** Balance of fixed margin account, ie 0.0000 */ @JsonProperty("fixed_balance") private BigDecimal fixedBalance; + /** Contract ID, ie BTC-USD-SWAP */ @JsonProperty("instrument_id") private String instrumentId; + /** Margin for open positions, ie 0.0059 */ private BigDecimal margin; + /** Initial margin on hold, ie 0.0000 */ @JsonProperty("margin_frozen") private BigDecimal marginFrozen; + /** Margin Mode: crossed / fixed */ @JsonProperty("margin_mode") private MarginMode marginMode; + /** Margin Ratio, ie 284.2374 */ @JsonProperty("margin_ratio") private BigDecimal marginRatio; + /** Realized profits and losses, ie 0.0000 */ @JsonProperty("realized_pnl") private BigDecimal realizedPnl; + /** Balance of the account, ie 5.0327 */ @JsonProperty("total_avail_balance") private BigDecimal totalAvailBalance; + /** Creation time, ie 2019-06-25T10:43:37.728Z */ private String timestamp; + /** Unrealized profits and losses, ie 0.0000 */ @JsonProperty("unrealized_pnl") private BigDecimal unrealizedPnl; + /** Maintenance Margin Ratio, ie 0.01 */ @JsonProperty("maint_margin_ratio") private BigDecimal maintMarginRatio; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapFuturesMultipleOrderPlacementResponse.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapFuturesMultipleOrderPlacementResponse.java index 4985145e3f9..567593ca8c9 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapFuturesMultipleOrderPlacementResponse.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapFuturesMultipleOrderPlacementResponse.java @@ -20,6 +20,7 @@ public static class FuturesMultipleOrderPlacementEntry { /** Order ID. When failing to place an order, the value is -1 */ @JsonProperty("order_id") private String orderId; + /** To identify your order with the order ID set by you */ @JsonProperty("client_oid") private String clientOid; diff --git a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapMultipleOrderPlacementRequest.java b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapMultipleOrderPlacementRequest.java index d65f09ae3b3..7e27353367f 100644 --- a/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapMultipleOrderPlacementRequest.java +++ b/xchange-okcoin/src/main/java/org/knowm/xchange/okcoin/v3/dto/trade/SwapMultipleOrderPlacementRequest.java @@ -46,6 +46,7 @@ public static class MultipleOrderPlacement { /** required, The buying or selling quantityd */ private BigDecimal size; + /** * optional, Order at best counter party price? (0:no 1:yes) the parameter is defaulted as 0. If * it is set as 1, the price parameter will be ignored,When posting orders at best bid price, diff --git a/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/MetaDataFileTest.java b/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/MetaDataFileTest.java index 4e6cb9670dd..43744e531cd 100644 --- a/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/MetaDataFileTest.java +++ b/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/MetaDataFileTest.java @@ -24,14 +24,14 @@ public void metaDataFileNameTest() { Assert.isTrue( "okcoin_china".equals(metaDataFileName), "the meta data file name not equal \"okcoin_china\" ???"); -// System.out.println("metaDataFileName=" + metaDataFileName); + // System.out.println("metaDataFileName=" + metaDataFileName); exSpec.setExchangeSpecificParametersItem("Use_Intl", true); metaDataFileName = ((BaseExchange) exchange).getMetaDataFileName(exSpec); Assert.isTrue( "okcoin_intl".equals(metaDataFileName), "the meta data file name not equal \"okcoin_intl\" ???"); -// System.out.println("metaDataFileName=" + metaDataFileName); + // System.out.println("metaDataFileName=" + metaDataFileName); exSpec.setExchangeSpecificParametersItem("Use_Intl", true); exSpec.setExchangeSpecificParametersItem("Use_Futures", true); @@ -39,7 +39,7 @@ public void metaDataFileNameTest() { Assert.isTrue( "okcoin_futures".equals(metaDataFileName), "the meta data file name not equal \"okcoin_futures\" ???"); -// System.out.println("metaDataFileName=" + metaDataFileName); + // System.out.println("metaDataFileName=" + metaDataFileName); } @Test @@ -69,6 +69,6 @@ private void loadMetaDataFileContents(String metaDataFileName) { .lines() .collect(Collectors.joining("\n")); -// System.out.println(strContents); + // System.out.println(strContents); } } diff --git a/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/account/LeverageJsonTest.java b/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/account/LeverageJsonTest.java index f966a19a4d6..2f2f3ff04a2 100644 --- a/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/account/LeverageJsonTest.java +++ b/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/account/LeverageJsonTest.java @@ -14,7 +14,9 @@ import org.knowm.xchange.okcoin.v3.dto.account.FuturesLeverageResponse; import org.knowm.xchange.okcoin.v3.dto.account.FuturesLeverageResponse.FixedLeverage; -/** @author timmolter */ +/** + * @author timmolter + */ public class LeverageJsonTest { @Test diff --git a/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/account/MaringJsonTest.java b/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/account/MaringJsonTest.java index 10fc550572a..e0ef31abd20 100644 --- a/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/account/MaringJsonTest.java +++ b/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/account/MaringJsonTest.java @@ -11,7 +11,9 @@ import org.knowm.xchange.okcoin.v3.dto.account.MarginAccountResponse; import org.knowm.xchange.okcoin.v3.dto.account.MarginAccountSettingsRecord; -/** @author timmolter */ +/** + * @author timmolter + */ public class MaringJsonTest { @Test diff --git a/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/marketdata/TickerIntegration.java b/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/marketdata/TickerIntegration.java index d3c35a5e738..ed3f940a132 100644 --- a/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/marketdata/TickerIntegration.java +++ b/xchange-okcoin/src/test/java/org/knowm/xchange/okcoin/service/marketdata/TickerIntegration.java @@ -11,7 +11,9 @@ import org.knowm.xchange.okcoin.OkCoinExchange; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerIntegration { @Test diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/Okex.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/Okex.java index c9fb3875da7..4b0b5bdf563 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/Okex.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/Okex.java @@ -2,11 +2,6 @@ import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON; -import java.io.IOException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -14,6 +9,11 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import org.knowm.xchange.okex.dto.OkexException; import org.knowm.xchange.okex.dto.OkexResponse; import org.knowm.xchange.okex.dto.marketdata.*; @@ -53,9 +53,9 @@ OkexResponse> getTrades( @Path("/market/ticker") @Consumes(MediaType.APPLICATION_JSON) OkexResponse> getTicker( - @QueryParam("instId") String instrument, - @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) - throws IOException, OkexException; + @QueryParam("instId") String instrument, + @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) + throws IOException, OkexException; @GET @Path("/market/books") @@ -79,8 +79,7 @@ OkexResponse> getHistoryCandles( @GET @Path("/public/funding-rate") OkexResponse> getFundingRate( - @QueryParam("instId") String instrument, - @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) - throws IOException, OkexException; - -} \ No newline at end of file + @QueryParam("instId") String instrument, + @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) + throws IOException, OkexException; +} diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexAdapters.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexAdapters.java index c7ec07deeaf..d7e9fe31d6e 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexAdapters.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexAdapters.java @@ -1,5 +1,10 @@ package org.knowm.xchange.okex; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.Instant; +import java.util.*; +import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.knowm.xchange.currency.Currency; import org.knowm.xchange.currency.CurrencyPair; @@ -19,17 +24,11 @@ import org.knowm.xchange.dto.trade.*; import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.okex.dto.OkexInstType; +import org.knowm.xchange.okex.dto.OkexResponse; import org.knowm.xchange.okex.dto.account.*; import org.knowm.xchange.okex.dto.marketdata.*; -import org.knowm.xchange.okex.dto.OkexResponse; import org.knowm.xchange.okex.dto.trade.*; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.time.Instant; -import java.util.*; -import java.util.stream.Collectors; - /** Author: Max Gao (gaamox@tutanota.com) Created: 08-06-2021 */ public class OkexAdapters { @@ -41,27 +40,32 @@ public class OkexAdapters { private static final String FOUNDING_WALLET_ID = "founding"; private static final String FUTURES_WALLET_ID = "futures"; - public static UserTrades adaptUserTrades(List okexTradeHistory, ExchangeMetaData exchangeMetaData) { + public static UserTrades adaptUserTrades( + List okexTradeHistory, ExchangeMetaData exchangeMetaData) { List userTradeList = new ArrayList<>(); okexTradeHistory.forEach( okexOrderDetails -> { Instrument instrument = adaptOkexInstrumentId(okexOrderDetails.getInstrumentId()); userTradeList.add( - UserTrade.builder() - .originalAmount(convertContractSizeToVolume(okexOrderDetails.getAmount(), instrument, exchangeMetaData.getInstruments().get(instrument).getContractValue())) - .instrument(instrument) - .price(new BigDecimal(okexOrderDetails.getAverageFilledPrice())) - .type(adaptOkexOrderSideToOrderType(okexOrderDetails.getSide())) - .id(okexOrderDetails.getOrderId()) - .orderId(okexOrderDetails.getOrderId()) - .timestamp( - Date.from( - Instant.ofEpochMilli(Long.parseLong(okexOrderDetails.getUpdateTime())))) - .feeAmount(new BigDecimal(okexOrderDetails.getFee())) - .feeCurrency(new Currency(okexOrderDetails.getFeeCurrency())) - .orderUserReference(okexOrderDetails.getClientOrderId()) - .build()); + UserTrade.builder() + .originalAmount( + convertContractSizeToVolume( + okexOrderDetails.getAmount(), + instrument, + exchangeMetaData.getInstruments().get(instrument).getContractValue())) + .instrument(instrument) + .price(new BigDecimal(okexOrderDetails.getAverageFilledPrice())) + .type(adaptOkexOrderSideToOrderType(okexOrderDetails.getSide())) + .id(okexOrderDetails.getOrderId()) + .orderId(okexOrderDetails.getOrderId()) + .timestamp( + Date.from( + Instant.ofEpochMilli(Long.parseLong(okexOrderDetails.getUpdateTime())))) + .feeAmount(new BigDecimal(okexOrderDetails.getFee())) + .feeCurrency(new Currency(okexOrderDetails.getFeeCurrency())) + .orderUserReference(okexOrderDetails.getClientOrderId()) + .build()); }); return new UserTrades(userTradeList, Trades.TradeSortType.SortByTimestamp); @@ -71,7 +75,10 @@ public static LimitOrder adaptOrder(OkexOrderDetails order, ExchangeMetaData exc Instrument instrument = adaptOkexInstrumentId(order.getInstrumentId()); return new LimitOrder( "buy".equals(order.getSide()) ? Order.OrderType.BID : Order.OrderType.ASK, - convertContractSizeToVolume(order.getAmount(), instrument, exchangeMetaData.getInstruments().get(instrument).getContractValue()), + convertContractSizeToVolume( + order.getAmount(), + instrument, + exchangeMetaData.getInstruments().get(instrument).getContractValue()), instrument, order.getOrderId(), new Date(Long.parseLong(order.getCreationTime())), @@ -87,15 +94,17 @@ public static LimitOrder adaptOrder(OkexOrderDetails order, ExchangeMetaData exc order.getClientOrderId()); } - public static OpenOrders adaptOpenOrders(List orders, ExchangeMetaData exchangeMetaData) { + public static OpenOrders adaptOpenOrders( + List orders, ExchangeMetaData exchangeMetaData) { List openOrders = orders.stream() - .map(order-> OkexAdapters.adaptOrder(order, exchangeMetaData)) - .collect(Collectors.toList()); + .map(order -> OkexAdapters.adaptOrder(order, exchangeMetaData)) + .collect(Collectors.toList()); return new OpenOrders(openOrders); } - public static OkexAmendOrderRequest adaptAmendOrder(LimitOrder order, ExchangeMetaData exchangeMetaData) { + public static OkexAmendOrderRequest adaptAmendOrder( + LimitOrder order, ExchangeMetaData exchangeMetaData) { return OkexAmendOrderRequest.builder() .instrumentId(adaptInstrument(order.getInstrument())) .orderId(order.getId()) @@ -104,52 +113,61 @@ public static OkexAmendOrderRequest adaptAmendOrder(LimitOrder order, ExchangeMe .build(); } - public static OkexOrderRequest adaptOrder(MarketOrder order, ExchangeMetaData exchangeMetaData, String accountLevel) { + public static OkexOrderRequest adaptOrder( + MarketOrder order, ExchangeMetaData exchangeMetaData, String accountLevel) { return OkexOrderRequest.builder() - .instrumentId(adaptInstrument(order.getInstrument())) - .tradeMode(adaptTradeMode(order.getInstrument(), accountLevel)) - .side(order.getType() == Order.OrderType.BID ? "buy" : "sell") - .posSide(null) // PosSide should come as a input from an extended LimitOrder class to - // support Futures/Swap capabilities of Okex, till then it should be null to - // perform "net" orders - .reducePosition(order.hasFlag(OkexOrderFlags.REDUCE_ONLY)) - .clientOrderId(order.getUserReference()) - .orderType(OkexOrderType.market.name()) - .amount(convertVolumeToContractSize(order, exchangeMetaData)) - .build(); + .instrumentId(adaptInstrument(order.getInstrument())) + .tradeMode(adaptTradeMode(order.getInstrument(), accountLevel)) + .side(order.getType() == Order.OrderType.BID ? "buy" : "sell") + .posSide(null) // PosSide should come as a input from an extended LimitOrder class to + // support Futures/Swap capabilities of Okex, till then it should be null to + // perform "net" orders + .reducePosition(order.hasFlag(OkexOrderFlags.REDUCE_ONLY)) + .clientOrderId(order.getUserReference()) + .orderType(OkexOrderType.market.name()) + .amount(convertVolumeToContractSize(order, exchangeMetaData)) + .build(); } /** - * contract_size to volume: - * crypto-margined contracts:contract_size,volume(contract_size to volume:volume = sz*ctVal/price) - * USDT-margined contracts:sz,volume,USDT(contract_size to volume:volume = contract_size*ctVal;contract_size to USDT:volume = contract_size*ctVal*price) - * OPTION:volume = sz*ctMult - * volume to contract_size: - * crypto-margined contracts:contract_size,volume(coin to contract_size:contract_size = volume*price/ctVal) - * USDT-margined contracts:contract_size,volume,USDT(coin to contract_size:contract_size = volume/ctVal;USDT to contract_size:contract_size = volume/ctVal/price) - * */ - - private static String convertVolumeToContractSize(Order order, ExchangeMetaData exchangeMetaData){ + * contract_size to volume: crypto-margined contracts:contract_size,volume(contract_size to + * volume:volume = sz*ctVal/price) USDT-margined contracts:sz,volume,USDT(contract_size to + * volume:volume = contract_size*ctVal;contract_size to USDT:volume = contract_size*ctVal*price) + * OPTION:volume = sz*ctMult volume to contract_size: crypto-margined + * contracts:contract_size,volume(coin to contract_size:contract_size = volume*price/ctVal) + * USDT-margined contracts:contract_size,volume,USDT(coin to contract_size:contract_size = + * volume/ctVal;USDT to contract_size:contract_size = volume/ctVal/price) + */ + private static String convertVolumeToContractSize( + Order order, ExchangeMetaData exchangeMetaData) { return (order.getInstrument() instanceof FuturesContract) - ? order.getOriginalAmount().divide(exchangeMetaData.getInstruments().get(order.getInstrument()).getContractValue(), 0, RoundingMode.HALF_DOWN).toPlainString() - : order.getOriginalAmount().toString(); + ? order + .getOriginalAmount() + .divide( + exchangeMetaData.getInstruments().get(order.getInstrument()).getContractValue(), + 0, + RoundingMode.HALF_DOWN) + .toPlainString() + : order.getOriginalAmount().toString(); } - private static BigDecimal convertContractSizeToVolume(String okexSize, Instrument instrument, BigDecimal contractValue){ + private static BigDecimal convertContractSizeToVolume( + String okexSize, Instrument instrument, BigDecimal contractValue) { return (instrument instanceof FuturesContract) - ? new BigDecimal(okexSize).multiply(contractValue).stripTrailingZeros() - : new BigDecimal(okexSize).stripTrailingZeros(); + ? new BigDecimal(okexSize).multiply(contractValue).stripTrailingZeros() + : new BigDecimal(okexSize).stripTrailingZeros(); } - private static String adaptTradeMode(Instrument instrument, String accountLevel){ - if(accountLevel.equals("3") || accountLevel.equals("4")){ + private static String adaptTradeMode(Instrument instrument, String accountLevel) { + if (accountLevel.equals("3") || accountLevel.equals("4")) { return "cross"; } else { return (instrument instanceof CurrencyPair) ? "cash" : "cross"; } } - public static OkexOrderRequest adaptOrder(LimitOrder order, ExchangeMetaData exchangeMetaData, String accountLevel) { + public static OkexOrderRequest adaptOrder( + LimitOrder order, ExchangeMetaData exchangeMetaData, String accountLevel) { return OkexOrderRequest.builder() .instrumentId(adaptInstrument(order.getInstrument())) .tradeMode(adaptTradeMode(order.getInstrument(), accountLevel)) @@ -159,37 +177,38 @@ public static OkexOrderRequest adaptOrder(LimitOrder order, ExchangeMetaData exc // perform "net" orders .clientOrderId(order.getUserReference()) .reducePosition(order.hasFlag(OkexOrderFlags.REDUCE_ONLY)) - .orderType((order.hasFlag(OkexOrderFlags.POST_ONLY)) - ? OkexOrderType.post_only.name() - : (order.hasFlag(OkexOrderFlags.OPTIMAL_LIMIT_IOC) && order.getInstrument() instanceof FuturesContract) - ? OkexOrderType.optimal_limit_ioc.name() - : OkexOrderType.limit.name()) + .orderType( + (order.hasFlag(OkexOrderFlags.POST_ONLY)) + ? OkexOrderType.post_only.name() + : (order.hasFlag(OkexOrderFlags.OPTIMAL_LIMIT_IOC) + && order.getInstrument() instanceof FuturesContract) + ? OkexOrderType.optimal_limit_ioc.name() + : OkexOrderType.limit.name()) .amount(convertVolumeToContractSize(order, exchangeMetaData)) .price(order.getLimitPrice().toString()) .build(); } - public static LimitOrder adaptLimitOrder(OkexPublicOrder okexPublicOrder, Instrument instrument, OrderType orderType) { - return adaptOrderbookOrder(okexPublicOrder.getVolume(), okexPublicOrder.getPrice(), instrument, orderType); + public static LimitOrder adaptLimitOrder( + OkexPublicOrder okexPublicOrder, Instrument instrument, OrderType orderType) { + return adaptOrderbookOrder( + okexPublicOrder.getVolume(), okexPublicOrder.getPrice(), instrument, orderType); } - public static OrderBook adaptOrderBook(List okexOrderbooks, Instrument instrument) { + public static OrderBook adaptOrderBook( + List okexOrderbooks, Instrument instrument) { List asks = new ArrayList<>(); List bids = new ArrayList<>(); okexOrderbooks .get(0) .getAsks() - .forEach( - okexAsk -> - asks.add(adaptLimitOrder(okexAsk, instrument, OrderType.ASK))); + .forEach(okexAsk -> asks.add(adaptLimitOrder(okexAsk, instrument, OrderType.ASK))); okexOrderbooks .get(0) .getBids() - .forEach( - okexBid -> - bids.add(adaptLimitOrder(okexBid, instrument, OrderType.BID))); + .forEach(okexBid -> bids.add(adaptLimitOrder(okexBid, instrument, OrderType.BID))); return new OrderBook(Date.from(Instant.now()), asks, bids); } @@ -207,21 +226,21 @@ public static LimitOrder adaptOrderbookOrder( public static Ticker adaptTicker(OkexTicker okexTicker) { return new Ticker.Builder() - .instrument(adaptOkexInstrumentId(okexTicker.getInstrumentId())) - .open(okexTicker.getOpen24h()) - .last(okexTicker.getLast()) - .bid(okexTicker.getBidPrice()) - .ask(okexTicker.getAskPrice()) - .high(okexTicker.getHigh24h()) - .low(okexTicker.getLow24h()) - // .vwap(null) - .volume(okexTicker.getVolume24h()) - .quoteVolume(okexTicker.getVolumeCurrency24h()) - .timestamp(okexTicker.getTimestamp()) - .bidSize(okexTicker.getBidSize()) - .askSize(okexTicker.getAskSize()) - .percentageChange(null) - .build(); + .instrument(adaptOkexInstrumentId(okexTicker.getInstrumentId())) + .open(okexTicker.getOpen24h()) + .last(okexTicker.getLast()) + .bid(okexTicker.getBidPrice()) + .ask(okexTicker.getAskPrice()) + .high(okexTicker.getHigh24h()) + .low(okexTicker.getLow24h()) + // .vwap(null) + .volume(okexTicker.getVolume24h()) + .quoteVolume(okexTicker.getVolumeCurrency24h()) + .timestamp(okexTicker.getTimestamp()) + .bidSize(okexTicker.getBidSize()) + .askSize(okexTicker.getAskSize()) + .percentageChange(null) + .build(); } public static Instrument adaptOkexInstrumentId(String instrumentId) { @@ -276,9 +295,7 @@ private static int numberOfDecimals(BigDecimal value) { } public static ExchangeMetaData adaptToExchangeMetaData( - List instruments, - List currs, - List tradeFee) { + List instruments, List currs, List tradeFee) { Map instrumentMetaData = new HashMap<>(); Map currencies = new HashMap<>(); @@ -295,55 +312,61 @@ public static ExchangeMetaData adaptToExchangeMetaData( Instrument pair = adaptOkexInstrumentId(instrument.getInstrumentId()); /* - TODO The Okex swap contracts with USD or USDC as counter currency - have issue with the volume conversion (from contractSize to volumeInBaseCurrency and reverse) - In order to fix the issue we need to change the convertContractSizeToVolume and convertVolumeToContractSize - functions. Probably we need to add price on the function but it is not possible when we place a MarketOrder - Because of that i think is best to leave this implementation in the future. (Critical) - */ - if(pair instanceof FuturesContract - && ((FuturesContract) pair).isPerpetual() - && !pair.getCounter().equals(Currency.USDT)){ + TODO The Okex swap contracts with USD or USDC as counter currency + have issue with the volume conversion (from contractSize to volumeInBaseCurrency and reverse) + In order to fix the issue we need to change the convertContractSizeToVolume and convertVolumeToContractSize + functions. Probably we need to add price on the function but it is not possible when we place a MarketOrder + Because of that i think is best to leave this implementation in the future. (Critical) + */ + if (pair instanceof FuturesContract + && ((FuturesContract) pair).isPerpetual() + && !pair.getCounter().equals(Currency.USDT)) { continue; } instrumentMetaData.put( pair, new InstrumentMetaData.Builder() - .tradingFee(new BigDecimal(makerFee).negate()) - .minimumAmount((instrument.getInstrumentType().equals(OkexInstType.SWAP.name())) - ? convertContractSizeToVolume(instrument.getMinSize(), pair, new BigDecimal(instrument.getContractValue())) - : new BigDecimal(instrument.getMinSize())) - .volumeScale((instrument.getInstrumentType().equals(OkexInstType.SWAP.name())) - ? convertContractSizeToVolume(instrument.getMinSize(), pair, new BigDecimal(instrument.getContractValue())).scale() - : Math.max(numberOfDecimals(new BigDecimal(instrument.getMinSize())),0)) - .contractValue((instrument.getInstrumentType().equals(OkexInstType.SWAP.name())) ? new BigDecimal(instrument.getContractValue()): null) - .priceScale(numberOfDecimals(new BigDecimal(instrument.getTickSize()))) - .tradingFeeCurrency(Objects.requireNonNull(pair).getCounter()) - .marketOrderEnabled(true) - .build()); + .tradingFee(new BigDecimal(makerFee).negate()) + .minimumAmount( + (instrument.getInstrumentType().equals(OkexInstType.SWAP.name())) + ? convertContractSizeToVolume( + instrument.getMinSize(), + pair, + new BigDecimal(instrument.getContractValue())) + : new BigDecimal(instrument.getMinSize())) + .volumeScale( + (instrument.getInstrumentType().equals(OkexInstType.SWAP.name())) + ? convertContractSizeToVolume( + instrument.getMinSize(), + pair, + new BigDecimal(instrument.getContractValue())) + .scale() + : Math.max(numberOfDecimals(new BigDecimal(instrument.getMinSize())), 0)) + .contractValue( + (instrument.getInstrumentType().equals(OkexInstType.SWAP.name())) + ? new BigDecimal(instrument.getContractValue()) + : null) + .priceScale(numberOfDecimals(new BigDecimal(instrument.getTickSize()))) + .tradingFeeCurrency(Objects.requireNonNull(pair).getCounter()) + .marketOrderEnabled(true) + .build()); } if (currs != null) { - currs - .forEach( - currency -> - currencies.put( - adaptCurrency(currency), - new CurrencyMetaData( - null, - new BigDecimal(currency.getMaxFee()), - new BigDecimal(currency.getMinWd()), - currency.isCanWd() && currency.isCanDep() - ? WalletHealth.ONLINE - : WalletHealth.OFFLINE))); + currs.forEach( + currency -> + currencies.put( + adaptCurrency(currency), + new CurrencyMetaData( + null, + new BigDecimal(currency.getMaxFee()), + new BigDecimal(currency.getMinWd()), + currency.isCanWd() && currency.isCanDep() + ? WalletHealth.ONLINE + : WalletHealth.OFFLINE))); } - return new ExchangeMetaData( - instrumentMetaData, - currencies, - null, - null, - true); + return new ExchangeMetaData(instrumentMetaData, currencies, null, null, true); } public static Wallet adaptOkexBalances(List okexWalletBalanceList) { @@ -393,12 +416,14 @@ private static BigDecimal checkForEmpty(String value) { return StringUtils.isEmpty(value) ? null : new BigDecimal(value); } - public static CandleStickData adaptCandleStickData(List okexCandleStickList, CurrencyPair currencyPair) { + public static CandleStickData adaptCandleStickData( + List okexCandleStickList, CurrencyPair currencyPair) { CandleStickData candleStickData = null; if (!okexCandleStickList.isEmpty()) { List candleStickList = new ArrayList<>(); for (OkexCandleStick okexCandleStick : okexCandleStickList) { - candleStickList.add(new CandleStick.Builder() + candleStickList.add( + new CandleStick.Builder() .timestamp(new Date(okexCandleStick.getTimestamp())) .open(new BigDecimal(okexCandleStick.getOpenPrice())) .high(new BigDecimal(okexCandleStick.getHighPrice())) @@ -413,55 +438,88 @@ public static CandleStickData adaptCandleStickData(List okexCan return candleStickData; } - public static OpenPositions adaptOpenPositions(OkexResponse> positions, ExchangeMetaData exchangeMetaData) { + public static OpenPositions adaptOpenPositions( + OkexResponse> positions, ExchangeMetaData exchangeMetaData) { List openPositions = new ArrayList<>(); - positions.getData().forEach(okexPosition -> openPositions.add(new OpenPosition.Builder() - .instrument(adaptOkexInstrumentId(okexPosition.getInstrumentId())) - .liquidationPrice(okexPosition.getLiquidationPrice()) - .price(okexPosition.getAverageOpenPrice()) - .type(adaptOpenPositionType(okexPosition)) - .size(okexPosition.getPosition().abs().multiply(exchangeMetaData.getInstruments().get(adaptOkexInstrumentId(okexPosition.getInstrumentId())).getContractValue())) - .unRealisedPnl(okexPosition.getUnrealizedPnL()) - .build())); + positions + .getData() + .forEach( + okexPosition -> + openPositions.add( + new OpenPosition.Builder() + .instrument(adaptOkexInstrumentId(okexPosition.getInstrumentId())) + .liquidationPrice(okexPosition.getLiquidationPrice()) + .price(okexPosition.getAverageOpenPrice()) + .type(adaptOpenPositionType(okexPosition)) + .size( + okexPosition + .getPosition() + .abs() + .multiply( + exchangeMetaData + .getInstruments() + .get(adaptOkexInstrumentId(okexPosition.getInstrumentId())) + .getContractValue())) + .unRealisedPnl(okexPosition.getUnrealizedPnL()) + .build())); return new OpenPositions(openPositions); } - public static OpenPosition.Type adaptOpenPositionType(OkexPosition okexPosition){ - switch(okexPosition.getPositionSide()){ - case "long": return OpenPosition.Type.LONG; - case "short": return OpenPosition.Type.SHORT; - case "net": return (okexPosition.getPosition().compareTo(BigDecimal.ZERO) >= 0) ? OpenPosition.Type.LONG : OpenPosition.Type.SHORT; - default: throw new UnsupportedOperationException(); + public static OpenPosition.Type adaptOpenPositionType(OkexPosition okexPosition) { + switch (okexPosition.getPositionSide()) { + case "long": + return OpenPosition.Type.LONG; + case "short": + return OpenPosition.Type.SHORT; + case "net": + return (okexPosition.getPosition().compareTo(BigDecimal.ZERO) >= 0) + ? OpenPosition.Type.LONG + : OpenPosition.Type.SHORT; + default: + throw new UnsupportedOperationException(); } } public static FundingRate adaptFundingRate(List okexFundingRate) { return new FundingRate.Builder() - .instrument(adaptOkexInstrumentId(okexFundingRate.get(0).getInstId())) - .fundingRate8h(okexFundingRate.get(0).getFundingRate()) - .fundingRate1h(okexFundingRate.get(0).getFundingRate().divide(BigDecimal.valueOf(8),okexFundingRate.get(0).getFundingRate().scale(), RoundingMode.HALF_EVEN)) - .fundingRateDate(okexFundingRate.get(0).getFundingTime()) - .build(); + .instrument(adaptOkexInstrumentId(okexFundingRate.get(0).getInstId())) + .fundingRate8h(okexFundingRate.get(0).getFundingRate()) + .fundingRate1h( + okexFundingRate + .get(0) + .getFundingRate() + .divide( + BigDecimal.valueOf(8), + okexFundingRate.get(0).getFundingRate().scale(), + RoundingMode.HALF_EVEN)) + .fundingRateDate(okexFundingRate.get(0).getFundingTime()) + .build(); } - public static Wallet adaptOkexAccountPositionRisk(List accountPositionRiskData) { + public static Wallet adaptOkexAccountPositionRisk( + List accountPositionRiskData) { BigDecimal totalPositionValueInUsd = BigDecimal.ZERO; - for (OkexAccountPositionRisk.PositionData positionData : accountPositionRiskData.get(0).getPositionData()) { - totalPositionValueInUsd = totalPositionValueInUsd.add(positionData.getNotionalUsdValue()); + for (OkexAccountPositionRisk.PositionData positionData : + accountPositionRiskData.get(0).getPositionData()) { + totalPositionValueInUsd = totalPositionValueInUsd.add(positionData.getNotionalUsdValue()); } return new Wallet.Builder() - .balances(Collections.singletonList(new Balance.Builder() - .currency(Currency.USD) - .total(accountPositionRiskData.get(0).getAdjustEquity()) + .balances( + Collections.singletonList( + new Balance.Builder() + .currency(Currency.USD) + .total(accountPositionRiskData.get(0).getAdjustEquity()) .build())) - .id(FUTURES_WALLET_ID) - .currentLeverage((totalPositionValueInUsd.compareTo(BigDecimal.ZERO) != 0) - ? totalPositionValueInUsd.divide(accountPositionRiskData.get(0).getAdjustEquity(),3,RoundingMode.HALF_EVEN) - : BigDecimal.ZERO) - .features(new HashSet<>(Collections.singletonList(Wallet.WalletFeature.FUTURES_TRADING))) - .build(); + .id(FUTURES_WALLET_ID) + .currentLeverage( + (totalPositionValueInUsd.compareTo(BigDecimal.ZERO) != 0) + ? totalPositionValueInUsd.divide( + accountPositionRiskData.get(0).getAdjustEquity(), 3, RoundingMode.HALF_EVEN) + : BigDecimal.ZERO) + .features(new HashSet<>(Collections.singletonList(Wallet.WalletFeature.FUTURES_TRADING))) + .build(); } } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexAuthenticated.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexAuthenticated.java index 33a5c2bf101..81be2ad0c3d 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexAuthenticated.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexAuthenticated.java @@ -1,10 +1,5 @@ package org.knowm.xchange.okex; -import java.io.IOException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -13,6 +8,11 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import org.knowm.xchange.currency.Currency; import org.knowm.xchange.okex.dto.OkexException; import org.knowm.xchange.okex.dto.OkexResponse; @@ -99,45 +99,45 @@ OkexResponse> getTradeFee( @GET @Path(configPath) OkexResponse> getAccountConfiguration( - @HeaderParam("OK-ACCESS-KEY") String apiKey, - @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, - @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, - @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, - @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) - throws OkexException, IOException; + @HeaderParam("OK-ACCESS-KEY") String apiKey, + @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, + @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, + @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, + @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) + throws OkexException, IOException; @GET @Path(getBillsPath) OkexResponse> getBills( - @QueryParam("instType") String instrumentType, - @QueryParam("ccy") String currency, - @QueryParam("mgnMode") String marginMode, - @QueryParam("ctType") String contractType, - @QueryParam("type") String billType, - @QueryParam("subType") String billSubType, - @QueryParam("after") String afterBillId, - @QueryParam("before") String beforeBillId, - @QueryParam("begin") String beginTimestamp, - @QueryParam("end") String endTimestamp, - @QueryParam("limit") String maxNumberOfResults, - @HeaderParam("OK-ACCESS-KEY") String apiKey, - @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, - @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, - @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, - @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) - throws OkexException, IOException; + @QueryParam("instType") String instrumentType, + @QueryParam("ccy") String currency, + @QueryParam("mgnMode") String marginMode, + @QueryParam("ctType") String contractType, + @QueryParam("type") String billType, + @QueryParam("subType") String billSubType, + @QueryParam("after") String afterBillId, + @QueryParam("before") String beforeBillId, + @QueryParam("begin") String beginTimestamp, + @QueryParam("end") String endTimestamp, + @QueryParam("limit") String maxNumberOfResults, + @HeaderParam("OK-ACCESS-KEY") String apiKey, + @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, + @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, + @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, + @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) + throws OkexException, IOException; @POST @Path(changeMarginPath) @Consumes(MediaType.APPLICATION_JSON) OkexResponse> changeMargin( - @HeaderParam("OK-ACCESS-KEY") String apiKey, - @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, - @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, - @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, - @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading, - OkexChangeMarginRequest requestPayload) - throws OkexException, IOException; + @HeaderParam("OK-ACCESS-KEY") String apiKey, + @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, + @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, + @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, + @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading, + OkexChangeMarginRequest requestPayload) + throws OkexException, IOException; @GET @Path(ordersHistoryPath) @@ -213,37 +213,37 @@ OkexResponse> assetWithdrawal( @GET @Path(positionsPath) OkexResponse> getPositions( - @QueryParam("instType") String instrumentType, - @QueryParam("instId") String instrumentId, - @QueryParam("posId") String positionId, - @HeaderParam("OK-ACCESS-KEY") String apiKey, - @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, - @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, - @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, - @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) - throws IOException, OkexException; + @QueryParam("instType") String instrumentType, + @QueryParam("instId") String instrumentId, + @QueryParam("posId") String positionId, + @HeaderParam("OK-ACCESS-KEY") String apiKey, + @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, + @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, + @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, + @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) + throws IOException, OkexException; @GET @Path(accountPositionAtRiskPath) OkexResponse> getAccountPositionRisk( - @HeaderParam("OK-ACCESS-KEY") String apiKey, - @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, - @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, - @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, - @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) - throws IOException, OkexException; + @HeaderParam("OK-ACCESS-KEY") String apiKey, + @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, + @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, + @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, + @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading) + throws IOException, OkexException; @POST @Path(setLeveragePath) @Consumes(MediaType.APPLICATION_JSON) OkexResponse> setLeverage( - @HeaderParam("OK-ACCESS-KEY") String apiKey, - @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, - @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, - @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, - @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading, - OkexSetLeverageRequest requestPayload) - throws IOException, OkexException; + @HeaderParam("OK-ACCESS-KEY") String apiKey, + @HeaderParam("OK-ACCESS-SIGN") ParamsDigest signature, + @HeaderParam("OK-ACCESS-TIMESTAMP") String timestamp, + @HeaderParam("OK-ACCESS-PASSPHRASE") String passphrase, + @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading, + OkexSetLeverageRequest requestPayload) + throws IOException, OkexException; @GET @Path(pendingOrdersPath) @@ -381,4 +381,4 @@ OkexResponse> amendBatchOrder( @HeaderParam("X-SIMULATED-TRADING") String simulatedTrading, List requestPayload) throws OkexException, IOException; -} \ No newline at end of file +} diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexExchange.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexExchange.java index b1a78cbe8bd..e354cc119b4 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexExchange.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexExchange.java @@ -1,5 +1,10 @@ package org.knowm.xchange.okex; +import static org.knowm.xchange.okex.OkexAdapters.SPOT; +import static org.knowm.xchange.okex.OkexAdapters.SWAP; + +import java.io.IOException; +import java.util.List; import org.knowm.xchange.BaseExchange; import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.client.ResilienceRegistries; @@ -12,12 +17,6 @@ import org.knowm.xchange.okex.service.OkexTradeService; import si.mazi.rescu.SynchronizedValueFactory; -import java.io.IOException; -import java.util.List; - -import static org.knowm.xchange.okex.OkexAdapters.SPOT; -import static org.knowm.xchange.okex.OkexAdapters.SWAP; - /** Author: Max Gao (gaamox@tutanota.com) Created: 08-06-2021 */ public class OkexExchange extends BaseExchange { @@ -38,12 +37,9 @@ private static void concludeHostParams(ExchangeSpecification exchangeSpecificati exchangeSpecification.getExchangeSpecificParametersItem(PARAM_USE_AWS)); if (useAWS) { exchangeSpecification.setSslUri( - (String) - exchangeSpecification.getExchangeSpecificParametersItem( - PARAM_AWS_SSL_URI)); + (String) exchangeSpecification.getExchangeSpecificParametersItem(PARAM_AWS_SSL_URI)); exchangeSpecification.setHost( - (String) - exchangeSpecification.getExchangeSpecificParametersItem(PARAM_AWS_HOST)); + (String) exchangeSpecification.getExchangeSpecificParametersItem(PARAM_AWS_HOST)); } } } @@ -66,7 +62,6 @@ protected void initServices() { /** * For Demo Trading add the following param to exchangeSpecification: * exchangeSpecification.setExchangeSpecificParametersItem(PARAM_SIMULATED_TRADING, "1"); - * */ @Override public ExchangeSpecification getDefaultExchangeSpecification() { @@ -81,8 +76,7 @@ public ExchangeSpecification getDefaultExchangeSpecification() { exchangeSpecification.setExchangeSpecificParametersItem(PARAM_USE_AWS, false); exchangeSpecification.setExchangeSpecificParametersItem( PARAM_AWS_SSL_URI, "https://aws.okx.com"); - exchangeSpecification.setExchangeSpecificParametersItem( - PARAM_AWS_HOST, "aws.okx.com"); + exchangeSpecification.setExchangeSpecificParametersItem(PARAM_AWS_HOST, "aws.okx.com"); return exchangeSpecification; } @@ -109,9 +103,9 @@ public void remoteInit() throws IOException { .getData(); List swap_instruments = - ((OkexMarketDataServiceRaw) marketDataService) - .getOkexInstruments(SWAP, null, null) - .getData(); + ((OkexMarketDataServiceRaw) marketDataService) + .getOkexInstruments(SWAP, null, null) + .getData(); instruments.addAll(swap_instruments); @@ -123,17 +117,22 @@ public void remoteInit() throws IOException { && exchangeSpecification.getExchangeSpecificParametersItem("passphrase") != null) { currencies = ((OkexMarketDataServiceRaw) marketDataService).getOkexCurrencies().getData(); accountLevel = - ((OkexAccountService) accountService).getOkexAccountConfiguration().getData().get(0).getAccountLevel(); - tradeFee = ((OkexAccountService) accountService).getTradeFee( - SPOT, null, null, accountLevel).getData(); + ((OkexAccountService) accountService) + .getOkexAccountConfiguration() + .getData() + .get(0) + .getAccountLevel(); + tradeFee = + ((OkexAccountService) accountService) + .getTradeFee(SPOT, null, null, accountLevel) + .getData(); } exchangeMetaData = OkexAdapters.adaptToExchangeMetaData(instruments, currencies, tradeFee); } - protected boolean useSandbox(){ + protected boolean useSandbox() { return Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(USE_SANDBOX) - ); + exchangeSpecification.getExchangeSpecificParametersItem(USE_SANDBOX)); } } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexResilience.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexResilience.java index 0a0781666f6..1336dbb3896 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexResilience.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/OkexResilience.java @@ -42,4 +42,4 @@ public static ResilienceRegistries createRegistries() { return registries; } -} \ No newline at end of file +} diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/OkexInstType.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/OkexInstType.java index b9b98072c61..5adc3f2ac47 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/OkexInstType.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/OkexInstType.java @@ -1,6 +1,10 @@ package org.knowm.xchange.okex.dto; public enum OkexInstType { - - SPOT, MARGIN, SWAP, FUTURES, OPTION, ANY + SPOT, + MARGIN, + SWAP, + FUTURES, + OPTION, + ANY } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexAccountPositionRisk.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexAccountPositionRisk.java index 10d1ff0dbde..b3f17569665 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexAccountPositionRisk.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexAccountPositionRisk.java @@ -2,69 +2,68 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.ToString; -import org.knowm.xchange.currency.Currency; - import java.math.BigDecimal; import java.util.Date; import java.util.List; +import lombok.Getter; +import lombok.ToString; +import org.knowm.xchange.currency.Currency; @Getter @ToString @JsonInclude(JsonInclude.Include.NON_NULL) public class OkexAccountPositionRisk { - private final BigDecimal adjustEquity; - private final List balanceData; - private final List positionData; - private final Date timestamp; + private final BigDecimal adjustEquity; + private final List balanceData; + private final List positionData; + private final Date timestamp; - public OkexAccountPositionRisk( - @JsonProperty("adjEq") BigDecimal adjustEquity, - @JsonProperty("balData") List balanceData, - @JsonProperty("posData") List positionData, - @JsonProperty("ts") Date timestamp) { - this.adjustEquity = adjustEquity; - this.balanceData = balanceData; - this.positionData = positionData; - this.timestamp = timestamp; - } + public OkexAccountPositionRisk( + @JsonProperty("adjEq") BigDecimal adjustEquity, + @JsonProperty("balData") List balanceData, + @JsonProperty("posData") List positionData, + @JsonProperty("ts") Date timestamp) { + this.adjustEquity = adjustEquity; + this.balanceData = balanceData; + this.positionData = positionData; + this.timestamp = timestamp; + } - @Getter - @ToString - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class BalanceData{ - private final Currency currency; - private final BigDecimal equityOfCurrency; - private final BigDecimal discountEquityOfCurrency; + @Getter + @ToString + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class BalanceData { + private final Currency currency; + private final BigDecimal equityOfCurrency; + private final BigDecimal discountEquityOfCurrency; - public BalanceData( - @JsonProperty("ccy") Currency currency, - @JsonProperty("eq") BigDecimal equityOfCurrency, - @JsonProperty("disEq") BigDecimal discountEquityOfCurrency) { - this.currency = currency; - this.equityOfCurrency = equityOfCurrency; - this.discountEquityOfCurrency = discountEquityOfCurrency; - } + public BalanceData( + @JsonProperty("ccy") Currency currency, + @JsonProperty("eq") BigDecimal equityOfCurrency, + @JsonProperty("disEq") BigDecimal discountEquityOfCurrency) { + this.currency = currency; + this.equityOfCurrency = equityOfCurrency; + this.discountEquityOfCurrency = discountEquityOfCurrency; } + } - @Getter - @ToString - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class PositionData{ + @Getter + @ToString + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class PositionData { - private final String instrumentId; - private final BigDecimal positionSize; - private final BigDecimal notionalUsdValue; + private final String instrumentId; + private final BigDecimal positionSize; + private final BigDecimal notionalUsdValue; - public PositionData( - @JsonProperty("instId") String instrumentId, - @JsonProperty("pos") BigDecimal positionSize, - @JsonProperty("notionalUsd") BigDecimal notionalUsdValue) { - this.instrumentId = instrumentId; - this.positionSize = positionSize; - this.notionalUsdValue = notionalUsdValue; - } + public PositionData( + @JsonProperty("instId") String instrumentId, + @JsonProperty("pos") BigDecimal positionSize, + @JsonProperty("notionalUsd") BigDecimal notionalUsdValue) { + this.instrumentId = instrumentId; + this.positionSize = positionSize; + this.notionalUsdValue = notionalUsdValue; } + } } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexPosition.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexPosition.java index 92e77a0cf26..7df4dfd6066 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexPosition.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexPosition.java @@ -1,12 +1,11 @@ package org.knowm.xchange.okex.dto.account; import com.fasterxml.jackson.annotation.JsonProperty; +import java.math.BigDecimal; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.ToString; -import java.math.BigDecimal; - /** https://www.okx.com/docs-v5/en/#rest-api-account-get-positions */ @Getter @NoArgsConstructor diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexWithdrawalRequest.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexWithdrawalRequest.java index 9b19c157f04..fefa18bad05 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexWithdrawalRequest.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexWithdrawalRequest.java @@ -8,25 +8,25 @@ @Builder @ToString public class OkexWithdrawalRequest { - @JsonProperty("ccy") - private String currency; + @JsonProperty("ccy") + private String currency; - @JsonProperty("amt") - private String amount; + @JsonProperty("amt") + private String amount; - // 3: internal, 4: on chain - @JsonProperty("dest") - private String method; + // 3: internal, 4: on chain + @JsonProperty("dest") + private String method; - @JsonProperty("toAddr") - private String address; + @JsonProperty("toAddr") + private String address; - @JsonProperty("fee") - private String fee; + @JsonProperty("fee") + private String fee; - @JsonProperty("chain") - private String chain; + @JsonProperty("chain") + private String chain; - @JsonProperty("clientId") - private String clientId; + @JsonProperty("clientId") + private String clientId; } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexWithdrawalResponse.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexWithdrawalResponse.java index 7a207b9e992..80b958f544e 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexWithdrawalResponse.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/account/OkexWithdrawalResponse.java @@ -10,18 +10,18 @@ @NoArgsConstructor @ToString public class OkexWithdrawalResponse { - @JsonProperty("ccy") - private String currency; + @JsonProperty("ccy") + private String currency; - @JsonProperty("amt") - private String amount; + @JsonProperty("amt") + private String amount; - @JsonProperty("chain") - private String chain; + @JsonProperty("chain") + private String chain; - @JsonProperty("clientId") - private String clientId; + @JsonProperty("clientId") + private String clientId; - @JsonProperty("wdId") - private String withdrawalId; + @JsonProperty("wdId") + private String withdrawalId; } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/marketdata/OkexFundingRate.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/marketdata/OkexFundingRate.java index 124eb1ca991..984985a784d 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/marketdata/OkexFundingRate.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/marketdata/OkexFundingRate.java @@ -2,36 +2,35 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.ToString; - import java.math.BigDecimal; import java.util.Date; +import lombok.Getter; +import lombok.ToString; @Getter @ToString @JsonInclude(JsonInclude.Include.NON_NULL) public class OkexFundingRate { - private final String instType; - private final String instId; - private final BigDecimal fundingRate; - private final BigDecimal nextFundingRate; - private final Date fundingTime; - private final Date nextFundingTime; + private final String instType; + private final String instId; + private final BigDecimal fundingRate; + private final BigDecimal nextFundingRate; + private final Date fundingTime; + private final Date nextFundingTime; - public OkexFundingRate( - @JsonProperty("instType") String instType, - @JsonProperty("instId") String instId, - @JsonProperty("fundingRate") BigDecimal fundingRate, - @JsonProperty("nextFundingRate") BigDecimal nextFundingRate, - @JsonProperty("fundingTime") Date fundingTime, - @JsonProperty("nextFundingTime") Date nextFundingTime) { - this.instType = instType; - this.instId = instId; - this.fundingRate = fundingRate; - this.nextFundingRate = nextFundingRate; - this.fundingTime = fundingTime; - this.nextFundingTime = nextFundingTime; - } + public OkexFundingRate( + @JsonProperty("instType") String instType, + @JsonProperty("instId") String instId, + @JsonProperty("fundingRate") BigDecimal fundingRate, + @JsonProperty("nextFundingRate") BigDecimal nextFundingRate, + @JsonProperty("fundingTime") Date fundingTime, + @JsonProperty("nextFundingTime") Date nextFundingTime) { + this.instType = instType; + this.instId = instId; + this.fundingRate = fundingRate; + this.nextFundingRate = nextFundingRate; + this.fundingTime = fundingTime; + this.nextFundingTime = nextFundingTime; + } } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/marketdata/OkexTicker.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/marketdata/OkexTicker.java index 4f3a923e009..3b14c76c213 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/marketdata/OkexTicker.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/marketdata/OkexTicker.java @@ -1,70 +1,67 @@ package org.knowm.xchange.okex.dto.marketdata; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.NoArgsConstructor; - import java.math.BigDecimal; import java.util.Date; +import lombok.Getter; +import lombok.NoArgsConstructor; @Getter @NoArgsConstructor public class OkexTicker { - @JsonProperty("instType") - private String instrumentType; + @JsonProperty("instType") + private String instrumentType; - @JsonProperty("instId") - private String instrumentId; + @JsonProperty("instId") + private String instrumentId; - @JsonProperty("last") - private BigDecimal last; + @JsonProperty("last") + private BigDecimal last; - @JsonProperty("lastSz") - private BigDecimal lastSize; + @JsonProperty("lastSz") + private BigDecimal lastSize; - @JsonProperty("askPx") - private BigDecimal askPrice; + @JsonProperty("askPx") + private BigDecimal askPrice; - @JsonProperty("askSz") - private BigDecimal askSize; + @JsonProperty("askSz") + private BigDecimal askSize; - @JsonProperty("bidPx") - private BigDecimal bidPrice; + @JsonProperty("bidPx") + private BigDecimal bidPrice; - @JsonProperty("bidSz") - private BigDecimal bidSize; + @JsonProperty("bidSz") + private BigDecimal bidSize; - @JsonProperty("open24h") - private BigDecimal open24h; + @JsonProperty("open24h") + private BigDecimal open24h; - @JsonProperty("high24h") - private BigDecimal high24h; + @JsonProperty("high24h") + private BigDecimal high24h; - @JsonProperty("low24h") - private BigDecimal low24h; + @JsonProperty("low24h") + private BigDecimal low24h; - /** - * 24h trading volume, with a unit of currency. - * If it is a derivatives contract, the value is the number of base currency. - * If it is SPOT/MARGIN, the value is the number of quote currency. - */ - @JsonProperty("volCcy24h") - private BigDecimal volumeCurrency24h; + /** + * 24h trading volume, with a unit of currency. If it is a derivatives contract, the value is the + * number of base currency. If it is SPOT/MARGIN, the value is the number of quote currency. + */ + @JsonProperty("volCcy24h") + private BigDecimal volumeCurrency24h; - /** - * 24h trading volume, with a unit of contact. - * If it is a derivatives contract, the value is the number of contracts. - * If it is SPOT/MARGIN, the value is the amount of base currency. - */ - @JsonProperty("vol24h") - private BigDecimal volume24h; + /** + * 24h trading volume, with a unit of contact. If it is a derivatives contract, the value is the + * number of contracts. If it is SPOT/MARGIN, the value is the amount of base currency. + */ + @JsonProperty("vol24h") + private BigDecimal volume24h; - @JsonProperty("sodUtc0") - private String sodUtc0; + @JsonProperty("sodUtc0") + private String sodUtc0; - @JsonProperty("sodUtc8") - private String sodUtc8; + @JsonProperty("sodUtc8") + private String sodUtc8; - @JsonProperty("ts") - private Date timestamp; + @JsonProperty("ts") + private Date timestamp; } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/trade/OkexOrderFlags.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/trade/OkexOrderFlags.java index cd4efaed002..bcf6f8f0e56 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/trade/OkexOrderFlags.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/trade/OkexOrderFlags.java @@ -3,7 +3,7 @@ import org.knowm.xchange.dto.Order; public enum OkexOrderFlags implements Order.IOrderFlags { - POST_ONLY, - REDUCE_ONLY, - OPTIMAL_LIMIT_IOC + POST_ONLY, + REDUCE_ONLY, + OPTIMAL_LIMIT_IOC } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/trade/OkexOrderType.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/trade/OkexOrderType.java index 35d175b8058..3ef1e4d0577 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/trade/OkexOrderType.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/dto/trade/OkexOrderType.java @@ -1,10 +1,10 @@ package org.knowm.xchange.okex.dto.trade; public enum OkexOrderType { - market, - limit, - post_only, - fok, - iok, - optimal_limit_ioc + market, + limit, + post_only, + fok, + iok, + optimal_limit_ioc } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexAccountService.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexAccountService.java index 6371d574ecf..c074d8d5671 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexAccountService.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexAccountService.java @@ -1,5 +1,7 @@ package org.knowm.xchange.okex.service; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.client.ResilienceRegistries; import org.knowm.xchange.dto.account.AccountInfo; import org.knowm.xchange.okex.OkexAdapters; @@ -14,9 +16,6 @@ import org.knowm.xchange.service.trade.params.DefaultWithdrawFundsParams; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -import java.io.IOException; -import java.util.List; - /** Author: Max Gao (gaamox@tutanota.com) Created: 08-06-2021 */ public class OkexAccountService extends OkexAccountServiceRaw implements AccountService { @@ -33,24 +32,28 @@ public AccountInfo getAccountInfo() throws IOException { return new AccountInfo( OkexAdapters.adaptOkexBalances(tradingBalances.getData()), OkexAdapters.adaptOkexAssetBalances(assetBalances.getData()), - OkexAdapters.adaptOkexAccountPositionRisk(positionRis.getData()) - ); + OkexAdapters.adaptOkexAccountPositionRisk(positionRis.getData())); } @Override public String withdrawFunds(WithdrawFundsParams params) throws IOException { if (params instanceof DefaultWithdrawFundsParams) { DefaultWithdrawFundsParams defaultParams = (DefaultWithdrawFundsParams) params; - String address = defaultParams.getAddressTag() != null ? defaultParams.getAddress() + ":" + defaultParams.getAddressTag() : defaultParams.getAddress(); - OkexResponse> okexResponse = assetWithdrawal( + String address = + defaultParams.getAddressTag() != null + ? defaultParams.getAddress() + ":" + defaultParams.getAddressTag() + : defaultParams.getAddress(); + OkexResponse> okexResponse = + assetWithdrawal( defaultParams.getCurrency().getCurrencyCode(), defaultParams.getAmount().toPlainString(), ON_CHAIN_METHOD, address, - defaultParams.getCommission() != null ? defaultParams.getCommission().toPlainString() : null, + defaultParams.getCommission() != null + ? defaultParams.getCommission().toPlainString() + : null, null, - null - ); + null); if (!okexResponse.isSuccess()) throw new OkexException(okexResponse.getMsg(), Integer.parseInt(okexResponse.getCode())); diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexAccountServiceRaw.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexAccountServiceRaw.java index 995b63b4061..fbfe51f2e39 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexAccountServiceRaw.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexAccountServiceRaw.java @@ -1,5 +1,8 @@ package org.knowm.xchange.okex.service; +import static org.knowm.xchange.okex.OkexExchange.PARAM_PASSPHRASE; +import static org.knowm.xchange.okex.OkexExchange.PARAM_SIMULATED; + import java.io.IOException; import java.util.Date; import java.util.List; @@ -7,9 +10,9 @@ import org.knowm.xchange.currency.Currency; import org.knowm.xchange.okex.OkexAuthenticated; import org.knowm.xchange.okex.OkexExchange; -import org.knowm.xchange.okex.dto.account.*; import org.knowm.xchange.okex.dto.OkexException; import org.knowm.xchange.okex.dto.OkexResponse; +import org.knowm.xchange.okex.dto.account.*; import org.knowm.xchange.okex.dto.account.OkexAssetBalance; import org.knowm.xchange.okex.dto.account.OkexDepositAddress; import org.knowm.xchange.okex.dto.account.OkexTradeFee; @@ -18,9 +21,6 @@ import org.knowm.xchange.okex.dto.subaccount.OkexSubAccountDetails; import org.knowm.xchange.utils.DateUtils; -import static org.knowm.xchange.okex.OkexExchange.PARAM_PASSPHRASE; -import static org.knowm.xchange.okex.OkexExchange.PARAM_SIMULATED; - /** Author: Max Gao (gaamox@tutanota.com) Created: 08-06-2021 */ public class OkexAccountServiceRaw extends OkexBaseService { @@ -82,33 +82,41 @@ public OkexResponse> getWalletBalances(List cu } public OkexResponse> getAccountPositionRisk() - throws OkexException, IOException { + throws OkexException, IOException { try { return decorateApiCall( () -> - okexAuthenticated.getAccountPositionRisk( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - DateUtils.toUTCISODateString(new Date()), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_SIMULATED))) - .withRateLimiter(rateLimiter(OkexAuthenticated.balancePath)) - .call(); + okexAuthenticated.getAccountPositionRisk( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + DateUtils.toUTCISODateString(new Date()), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_SIMULATED))) + .withRateLimiter(rateLimiter(OkexAuthenticated.balancePath)) + .call(); } catch (OkexException e) { throw handleError(e); } } - public OkexResponse> assetWithdrawal(String currency, String amount, String method, String address, String fee, String chain, String clientId) - throws OkexException, IOException { + public OkexResponse> assetWithdrawal( + String currency, + String amount, + String method, + String address, + String fee, + String chain, + String clientId) + throws OkexException, IOException { try { - OkexWithdrawalRequest requestPayload = OkexWithdrawalRequest.builder() + OkexWithdrawalRequest requestPayload = + OkexWithdrawalRequest.builder() .currency(currency) .amount(amount) .method(method) @@ -119,32 +127,32 @@ public OkexResponse> assetWithdrawal(String currenc .build(); return decorateApiCall( () -> - okexAuthenticated.assetWithdrawal( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - DateUtils.toUTCISODateString(new Date()), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem("passphrase"), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem("simulated"), - requestPayload) - - ) - .withRateLimiter(rateLimiter(OkexAuthenticated.assetWithdrawalPath)) - .call(); + okexAuthenticated.assetWithdrawal( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + DateUtils.toUTCISODateString(new Date()), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem("passphrase"), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem("simulated"), + requestPayload)) + .withRateLimiter(rateLimiter(OkexAuthenticated.assetWithdrawalPath)) + .call(); } catch (OkexException e) { throw handleError(e); } } - public OkexResponse> setLeverage(String instrumentId, String currency, String leverage, String marginMode, String positionSide) + public OkexResponse> setLeverage( + String instrumentId, String currency, String leverage, String marginMode, String positionSide) throws OkexException, IOException { try { - OkexSetLeverageRequest requestPayload = OkexSetLeverageRequest.builder() + OkexSetLeverageRequest requestPayload = + OkexSetLeverageRequest.builder() .instrumentId(instrumentId) .currency(currency) .leverage(leverage) @@ -165,9 +173,7 @@ public OkexResponse> setLeverage(String instrument exchange .getExchangeSpecification() .getExchangeSpecificParametersItem(PARAM_SIMULATED), - requestPayload) - - ) + requestPayload)) .withRateLimiter(rateLimiter(OkexAuthenticated.positionsPath)) .call(); } catch (OkexException e) { @@ -229,86 +235,88 @@ public OkexResponse> getTradeFee( } } - public OkexResponse> getOkexAccountConfiguration() throws OkexException, IOException { + public OkexResponse> getOkexAccountConfiguration() + throws OkexException, IOException { try { return decorateApiCall( () -> - okexAuthenticated.getAccountConfiguration( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - DateUtils.toUTCISODateString(new Date()), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_SIMULATED))) - .withRateLimiter(rateLimiter(okexAuthenticated.currenciesPath)) - .call(); + okexAuthenticated.getAccountConfiguration( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + DateUtils.toUTCISODateString(new Date()), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_SIMULATED))) + .withRateLimiter(rateLimiter(okexAuthenticated.currenciesPath)) + .call(); } catch (OkexException e) { throw handleError(e); } } public OkexResponse> getBills( - String instrumentType, - String currency, - String marginMode, - String contractType, - String billType, - String billSubType, - String afterBillId, - String beforeBillId, - String beginTimestamp, - String endTimestamp, - String maxNumberOfResults) - throws OkexException, IOException { + String instrumentType, + String currency, + String marginMode, + String contractType, + String billType, + String billSubType, + String afterBillId, + String beforeBillId, + String beginTimestamp, + String endTimestamp, + String maxNumberOfResults) + throws OkexException, IOException { try { return decorateApiCall( () -> - okexAuthenticated.getBills( - instrumentType, - currency, - marginMode, - contractType, - billType, - billSubType, - afterBillId, - beforeBillId, - beginTimestamp, - endTimestamp, - maxNumberOfResults, - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - DateUtils.toUTCISODateString(new Date()), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_SIMULATED))) - .withRateLimiter(rateLimiter(okexAuthenticated.currenciesPath)) - .call(); + okexAuthenticated.getBills( + instrumentType, + currency, + marginMode, + contractType, + billType, + billSubType, + afterBillId, + beforeBillId, + beginTimestamp, + endTimestamp, + maxNumberOfResults, + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + DateUtils.toUTCISODateString(new Date()), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_SIMULATED))) + .withRateLimiter(rateLimiter(okexAuthenticated.currenciesPath)) + .call(); } catch (OkexException e) { throw handleError(e); } } public OkexResponse> changeMargin( - String instrumentId, - String positionSide, - String type, - String amount, - String currency, - boolean auto, - boolean loadTrans) - throws OkexException, IOException { + String instrumentId, + String positionSide, + String type, + String amount, + String currency, + boolean auto, + boolean loadTrans) + throws OkexException, IOException { try { - OkexChangeMarginRequest requestPayload = OkexChangeMarginRequest.builder() + OkexChangeMarginRequest requestPayload = + OkexChangeMarginRequest.builder() .instrumentId(instrumentId) .posSide(positionSide) .type(type) @@ -319,21 +327,21 @@ public OkexResponse> changeMargin( .build(); return decorateApiCall( () -> - okexAuthenticated.changeMargin( - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - DateUtils.toUTCISODateString(new Date()), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_SIMULATED), - requestPayload)) - .withRateLimiter(rateLimiter(okexAuthenticated.currenciesPath)) - .call(); + okexAuthenticated.changeMargin( + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + DateUtils.toUTCISODateString(new Date()), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_SIMULATED), + requestPayload)) + .withRateLimiter(rateLimiter(okexAuthenticated.currenciesPath)) + .call(); } catch (OkexException e) { throw handleError(e); } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexCandleStickPeriodType.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexCandleStickPeriodType.java index 3e7496ce955..2a071a5a6ff 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexCandleStickPeriodType.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexCandleStickPeriodType.java @@ -11,20 +11,23 @@ public enum OkexCandleStickPeriodType { CANDLE_STICK_4H(4 * 60, "4H"); private final long periodInSecs; private final String fieldValue; + OkexCandleStickPeriodType(long periodInMinutes, String fieldValue) { this.periodInSecs = periodInMinutes * 1000; this.fieldValue = fieldValue; } + static OkexCandleStickPeriodType getPeriodTypeFromSecs(long periodInSecs) { OkexCandleStickPeriodType result = null; for (OkexCandleStickPeriodType period : OkexCandleStickPeriodType.values()) { if (period.periodInSecs == periodInSecs) { - result = period; - break; + result = period; + break; } } return result; } + public static long[] getSupportedPeriodsInSecs() { long[] result = new long[OkexCandleStickPeriodType.values().length]; int index = 0; @@ -33,6 +36,7 @@ public static long[] getSupportedPeriodsInSecs() { } return result; } + public String getFieldValue() { return fieldValue; } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexMarketDataService.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexMarketDataService.java index 94a4a8415e1..510c2244eca 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexMarketDataService.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexMarketDataService.java @@ -1,5 +1,8 @@ package org.knowm.xchange.okex.service; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; import org.knowm.xchange.client.ResilienceRegistries; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.marketdata.*; @@ -14,10 +17,6 @@ import org.knowm.xchange.service.trade.params.DefaultCandleStickParam; import org.knowm.xchange.service.trade.params.DefaultCandleStickParamWithLimit; -import java.io.IOException; -import java.util.Arrays; -import java.util.List; - /** Author: Max Gao (gaamox@tutanota.com) Created: 08-06-2021 */ public class OkexMarketDataService extends OkexMarketDataServiceRaw implements MarketDataService { @@ -39,23 +38,24 @@ public Trades getTrades(Instrument instrument, Object... args) throws IOExceptio @Override public Ticker getTicker(Instrument instrument, Object... args) throws IOException { - return OkexAdapters.adaptTicker(getOkexTicker(OkexAdapters.adaptInstrument(instrument)).getData().get(0)); + return OkexAdapters.adaptTicker( + getOkexTicker(OkexAdapters.adaptInstrument(instrument)).getData().get(0)); } - @Override public CandleStickData getCandleStickData(CurrencyPair currencyPair, CandleStickDataParams params) - throws IOException { + throws IOException { if (!(params instanceof DefaultCandleStickParam)) { throw new NotYetImplementedForExchangeException("Only DefaultCandleStickParam is supported"); } DefaultCandleStickParam defaultCandleStickParam = (DefaultCandleStickParam) params; OkexCandleStickPeriodType periodType = - OkexCandleStickPeriodType.getPeriodTypeFromSecs(defaultCandleStickParam.getPeriodInSecs()); + OkexCandleStickPeriodType.getPeriodTypeFromSecs(defaultCandleStickParam.getPeriodInSecs()); if (periodType == null) { - throw new NotYetImplementedForExchangeException("Only discrete period values are supported;" + - Arrays.toString(OkexCandleStickPeriodType.getSupportedPeriodsInSecs())); + throw new NotYetImplementedForExchangeException( + "Only discrete period values are supported;" + + Arrays.toString(OkexCandleStickPeriodType.getSupportedPeriodsInSecs())); } String limit = null; @@ -63,16 +63,19 @@ public CandleStickData getCandleStickData(CurrencyPair currencyPair, CandleStick limit = String.valueOf(((DefaultCandleStickParamWithLimit) params).getLimit()); } - OkexResponse> historyCandle = getHistoryCandle( + OkexResponse> historyCandle = + getHistoryCandle( OkexAdapters.adaptInstrument(currencyPair), String.valueOf(defaultCandleStickParam.getEndDate().getTime()), String.valueOf(defaultCandleStickParam.getStartDate().getTime()), - periodType.getFieldValue(), limit); + periodType.getFieldValue(), + limit); return OkexAdapters.adaptCandleStickData(historyCandle.getData(), currencyPair); } @Override public FundingRate getFundingRate(Instrument instrument) throws IOException { - return OkexAdapters.adaptFundingRate(getOkexFundingRate(OkexAdapters.adaptInstrument(instrument)).getData()); + return OkexAdapters.adaptFundingRate( + getOkexFundingRate(OkexAdapters.adaptInstrument(instrument)).getData()); } } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexMarketDataServiceRaw.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexMarketDataServiceRaw.java index cd8af9f7cb5..768ed348e35 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexMarketDataServiceRaw.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexMarketDataServiceRaw.java @@ -1,5 +1,8 @@ package org.knowm.xchange.okex.service; +import static org.knowm.xchange.okex.OkexExchange.PARAM_PASSPHRASE; +import static org.knowm.xchange.okex.OkexExchange.PARAM_SIMULATED; + import java.io.IOException; import java.util.Date; import java.util.List; @@ -7,18 +10,15 @@ import org.knowm.xchange.okex.Okex; import org.knowm.xchange.okex.OkexAuthenticated; import org.knowm.xchange.okex.OkexExchange; -import org.knowm.xchange.okex.dto.marketdata.*; import org.knowm.xchange.okex.dto.OkexException; import org.knowm.xchange.okex.dto.OkexResponse; +import org.knowm.xchange.okex.dto.marketdata.*; import org.knowm.xchange.utils.DateUtils; -import static org.knowm.xchange.okex.OkexExchange.PARAM_PASSPHRASE; -import static org.knowm.xchange.okex.OkexExchange.PARAM_SIMULATED; - /** Author: Max Gao (gaamox@tutanota.com) Created: 08-06-2021 */ public class OkexMarketDataServiceRaw extends OkexBaseService { public OkexMarketDataServiceRaw( - OkexExchange exchange, ResilienceRegistries resilienceRegistries) { + OkexExchange exchange, ResilienceRegistries resilienceRegistries) { super(exchange, resilienceRegistries); } @@ -44,36 +44,36 @@ public OkexResponse> getOkexInstruments( } public OkexResponse> getOkexTicker(String instrumentId) - throws OkexException, IOException { + throws OkexException, IOException { try { return decorateApiCall( () -> - okex.getTicker( - instrumentId, - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_SIMULATED))) - .withRateLimiter(rateLimiter(Okex.instrumentsPath)) - .call(); + okex.getTicker( + instrumentId, + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_SIMULATED))) + .withRateLimiter(rateLimiter(Okex.instrumentsPath)) + .call(); } catch (OkexException e) { throw handleError(e); } } public OkexResponse> getOkexFundingRate(String instrumentId) - throws OkexException, IOException { + throws OkexException, IOException { try { return decorateApiCall( () -> - okex.getFundingRate( - instrumentId, - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_SIMULATED))) - .withRateLimiter(rateLimiter(Okex.instrumentsPath)) - .call(); + okex.getFundingRate( + instrumentId, + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_SIMULATED))) + .withRateLimiter(rateLimiter(Okex.instrumentsPath)) + .call(); } catch (OkexException e) { throw handleError(e); } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexTradeService.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexTradeService.java index bef3b10fced..84af2913544 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexTradeService.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexTradeService.java @@ -1,5 +1,8 @@ package org.knowm.xchange.okex.service; +import static org.knowm.xchange.okex.OkexAdapters.*; + +import jakarta.ws.rs.NotSupportedException; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; @@ -18,11 +21,11 @@ import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.okex.OkexAdapters; import org.knowm.xchange.okex.OkexExchange; -import org.knowm.xchange.okex.dto.trade.OkexOrderResponse; import org.knowm.xchange.okex.dto.OkexException; import org.knowm.xchange.okex.dto.OkexResponse; import org.knowm.xchange.okex.dto.trade.OkexCancelOrderRequest; import org.knowm.xchange.okex.dto.trade.OkexOrderDetails; +import org.knowm.xchange.okex.dto.trade.OkexOrderResponse; import org.knowm.xchange.service.trade.TradeService; import org.knowm.xchange.service.trade.params.CancelOrderByIdParams; import org.knowm.xchange.service.trade.params.CancelOrderByInstrument; @@ -34,10 +37,6 @@ import org.knowm.xchange.service.trade.params.orders.OrderQueryParamInstrument; import org.knowm.xchange.service.trade.params.orders.OrderQueryParams; -import jakarta.ws.rs.NotSupportedException; - -import static org.knowm.xchange.okex.OkexAdapters.*; - /** Author: Max Gao (gaamox@tutanota.com) Created: 08-06-2021 */ public class OkexTradeService extends OkexTradeServiceRaw implements TradeService { public OkexTradeService(OkexExchange exchange, ResilienceRegistries resilienceRegistries) { @@ -46,7 +45,8 @@ public OkexTradeService(OkexExchange exchange, ResilienceRegistries resilienceRe @Override public OpenPositions getOpenPositions() throws IOException { - return OkexAdapters.adaptOpenPositions(getPositions(null,null,null), exchange.getExchangeMetaData()); + return OkexAdapters.adaptOpenPositions( + getPositions(null, null, null), exchange.getExchangeMetaData()); } @Override @@ -55,24 +55,26 @@ public UserTrades getTradeHistory(TradeHistoryParams params) throws IOException Instrument instrument = ((TradeHistoryParamInstrument) params).getInstrument(); String instrumentType = SPOT; - if(instrument instanceof FuturesContract){ + if (instrument instanceof FuturesContract) { instrumentType = SWAP; - } else if(instrument instanceof OptionsContract){ + } else if (instrument instanceof OptionsContract) { instrumentType = OPTION; } return OkexAdapters.adaptUserTrades( - getOrderHistory( - instrumentType, - OkexAdapters.adaptInstrument( - ((TradeHistoryParamInstrument) params).getInstrument()), - null, - null, - null, - null) - .getData(), exchange.getExchangeMetaData()); + getOrderHistory( + instrumentType, + OkexAdapters.adaptInstrument( + ((TradeHistoryParamInstrument) params).getInstrument()), + null, + null, + null, + null) + .getData(), + exchange.getExchangeMetaData()); } else { - throw new NotSupportedException("TradeHistoryParams must implement "+TradeHistoryParamInstrument.class.getSimpleName()); + throw new NotSupportedException( + "TradeHistoryParams must implement " + TradeHistoryParamInstrument.class.getSimpleName()); } } @@ -80,7 +82,7 @@ public UserTrades getTradeHistory(TradeHistoryParams params) throws IOException public OpenOrders getOpenOrders() throws IOException { return OkexAdapters.adaptOpenOrders( getOkexPendingOrder(null, null, null, null, null, null, null, null).getData(), - exchange.getExchangeMetaData()); + exchange.getExchangeMetaData()); } @Override @@ -97,9 +99,11 @@ public OpenOrders getOpenOrders(OpenOrdersParams params) throws IOException { null, null, null) - .getData(), exchange.getExchangeMetaData()); + .getData(), + exchange.getExchangeMetaData()); } else { - throw new NotSupportedException("OpenOrdersParam must implement "+OpenOrdersParamInstrument.class.getSimpleName()); + throw new NotSupportedException( + "OpenOrdersParam must implement " + OpenOrdersParamInstrument.class.getSimpleName()); } } @@ -141,19 +145,23 @@ public Collection getOrder(OrderQueryParams... orderQueryParams) throws I @Override public String placeMarketOrder(MarketOrder marketOrder) throws IOException { OkexResponse> okexResponse = - placeOkexOrder(OkexAdapters.adaptOrder(marketOrder, exchange.getExchangeMetaData(), exchange.accountLevel)); + placeOkexOrder( + OkexAdapters.adaptOrder( + marketOrder, exchange.getExchangeMetaData(), exchange.accountLevel)); if (okexResponse.isSuccess()) return okexResponse.getData().get(0).getOrderId(); else throw new OkexException( - okexResponse.getData().get(0).getMessage(), - Integer.parseInt(okexResponse.getData().get(0).getCode())); + okexResponse.getData().get(0).getMessage(), + Integer.parseInt(okexResponse.getData().get(0).getCode())); } @Override public String placeLimitOrder(LimitOrder limitOrder) throws IOException, FundsExceededException { OkexResponse> okexResponse = - placeOkexOrder(OkexAdapters.adaptOrder(limitOrder, exchange.getExchangeMetaData(), exchange.accountLevel)); + placeOkexOrder( + OkexAdapters.adaptOrder( + limitOrder, exchange.getExchangeMetaData(), exchange.accountLevel)); if (okexResponse.isSuccess()) return okexResponse.getData().get(0).getOrderId(); else @@ -165,7 +173,12 @@ public String placeLimitOrder(LimitOrder limitOrder) throws IOException, FundsEx public List placeLimitOrder(List limitOrders) throws IOException, FundsExceededException { return placeOkexOrder( - limitOrders.stream().map(order-> OkexAdapters.adaptOrder(order, exchange.getExchangeMetaData(), exchange.accountLevel)).collect(Collectors.toList())) + limitOrders.stream() + .map( + order -> + OkexAdapters.adaptOrder( + order, exchange.getExchangeMetaData(), exchange.accountLevel)) + .collect(Collectors.toList())) .getData() .stream() .map(OkexOrderResponse::getOrderId) @@ -174,13 +187,18 @@ public List placeLimitOrder(List limitOrders) @Override public String changeOrder(LimitOrder limitOrder) throws IOException, FundsExceededException { - return amendOkexOrder(OkexAdapters.adaptAmendOrder(limitOrder, exchange.getExchangeMetaData())).getData().get(0).getOrderId(); + return amendOkexOrder(OkexAdapters.adaptAmendOrder(limitOrder, exchange.getExchangeMetaData())) + .getData() + .get(0) + .getOrderId(); } public List changeOrder(List limitOrders) throws IOException, FundsExceededException { return amendOkexOrder( - limitOrders.stream().map(order-> OkexAdapters.adaptAmendOrder(order, exchange.getExchangeMetaData())).collect(Collectors.toList())) + limitOrders.stream() + .map(order -> OkexAdapters.adaptAmendOrder(order, exchange.getExchangeMetaData())) + .collect(Collectors.toList())) .getData() .stream() .map(OkexOrderResponse::getOrderId) @@ -227,4 +245,4 @@ public List cancelOrder(List params) throws IOExcept .map(result -> "0".equals(result.getCode())) .collect(Collectors.toList()); } -} \ No newline at end of file +} diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexTradeServiceRaw.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexTradeServiceRaw.java index 307e2d1e11f..08a2747a299 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexTradeServiceRaw.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/OkexTradeServiceRaw.java @@ -1,5 +1,8 @@ package org.knowm.xchange.okex.service; +import static org.knowm.xchange.okex.OkexExchange.PARAM_PASSPHRASE; +import static org.knowm.xchange.okex.OkexExchange.PARAM_SIMULATED; + import java.io.IOException; import java.util.Date; import java.util.List; @@ -16,9 +19,6 @@ import org.knowm.xchange.okex.dto.trade.OkexOrderResponse; import org.knowm.xchange.utils.DateUtils; -import static org.knowm.xchange.okex.OkexExchange.PARAM_PASSPHRASE; -import static org.knowm.xchange.okex.OkexExchange.PARAM_SIMULATED; - /** Author: Max Gao (gaamox@tutanota.com) Created: 08-06-2021 */ public class OkexTradeServiceRaw extends OkexBaseService { public OkexTradeServiceRaw(OkexExchange exchange, ResilienceRegistries resilienceRegistries) { @@ -64,28 +64,29 @@ public OkexResponse> getOkexPendingOrder( } } - public OkexResponse> getPositions(String instrumentType, String instrumentId, String positionId) - throws OkexException, IOException { + public OkexResponse> getPositions( + String instrumentType, String instrumentId, String positionId) + throws OkexException, IOException { try { return decorateApiCall( () -> - okexAuthenticated.getPositions( - instrumentType, - instrumentId, - positionId, - exchange.getExchangeSpecification().getApiKey(), - signatureCreator, - DateUtils.toUTCISODateString(new Date()), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), - (String) - exchange - .getExchangeSpecification() - .getExchangeSpecificParametersItem(PARAM_SIMULATED))) - .withRateLimiter(rateLimiter(OkexAuthenticated.positionsPath)) - .call(); + okexAuthenticated.getPositions( + instrumentType, + instrumentId, + positionId, + exchange.getExchangeSpecification().getApiKey(), + signatureCreator, + DateUtils.toUTCISODateString(new Date()), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_PASSPHRASE), + (String) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(PARAM_SIMULATED))) + .withRateLimiter(rateLimiter(OkexAuthenticated.positionsPath)) + .call(); } catch (OkexException e) { throw handleError(e); } diff --git a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/params/OkexTickerParams.java b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/params/OkexTickerParams.java index 46a86d98da9..d39d05a727e 100644 --- a/xchange-okex/src/main/java/org/knowm/xchange/okex/service/params/OkexTickerParams.java +++ b/xchange-okex/src/main/java/org/knowm/xchange/okex/service/params/OkexTickerParams.java @@ -3,7 +3,9 @@ import org.knowm.xchange.service.marketdata.params.Params; -/** @author leeyazhou */ +/** + * @author leeyazhou + */ public class OkexTickerParams implements Params { private String instType; private String uly; diff --git a/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexExchangeIntegration.java b/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexExchangeIntegration.java index e2f141cabad..9aee9c9c380 100644 --- a/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexExchangeIntegration.java +++ b/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexExchangeIntegration.java @@ -27,6 +27,7 @@ public class OkexExchangeIntegration { private static final String API_KEY = System.getenv("okx_apikey"); private static final String SECRET_KEY = System.getenv("okx_secretkey"); private static final String PASSPHRASE = System.getenv("okx_passphrase"); + @Test public void testCreateExchangeShouldApplyDefaultSpecification() { ExchangeSpecification spec = new OkexExchange().getDefaultExchangeSpecification(); @@ -59,18 +60,18 @@ public void testCreateExchangeShouldApplyResilience() { @Test public void testMetaData() { - final Exchange exchange = ExchangeFactory.INSTANCE.createExchange(OkexExchange.class); + final Exchange exchange = ExchangeFactory.INSTANCE.createExchange(OkexExchange.class); - exchange.getExchangeMetaData().getInstruments().entrySet().forEach(System.out::println); + exchange.getExchangeMetaData().getInstruments().entrySet().forEach(System.out::println); } @Test public void testOpenPosition() throws Exception { if (API_KEY != null && SECRET_KEY != null && PASSPHRASE != null) { ExchangeSpecification spec = - ExchangeFactory.INSTANCE - .createExchange(OkexExchange.class) - .getDefaultExchangeSpecification(); + ExchangeFactory.INSTANCE + .createExchange(OkexExchange.class) + .getDefaultExchangeSpecification(); spec.setApiKey(API_KEY); spec.setSecretKey(SECRET_KEY); spec.setExchangeSpecificParametersItem(OkexExchange.PARAM_PASSPHRASE, PASSPHRASE); diff --git a/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexPrivateDataTest.java b/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexPrivateDataTest.java index 3e2219e0c37..f8a4228e433 100644 --- a/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexPrivateDataTest.java +++ b/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexPrivateDataTest.java @@ -1,5 +1,12 @@ package org.knowm.xchange.okex; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; +import java.util.Properties; +import java.util.concurrent.TimeUnit; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -21,102 +28,123 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; -import java.util.Properties; -import java.util.concurrent.TimeUnit; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - @Ignore public class OkexPrivateDataTest { - private final Logger LOG = LoggerFactory.getLogger(OkexPrivateDataTest.class); - Instrument instrument = new FuturesContract("BTC/USDT/SWAP"); - Exchange exchange; - - @Before - public void setUp(){ - Properties properties = new Properties(); - - try { - properties.load(this.getClass().getResourceAsStream("/secret.keys")); - } catch (IOException e) { - throw new RuntimeException(e); - } - - ExchangeSpecification spec = new OkexExchange().getDefaultExchangeSpecification(); + private final Logger LOG = LoggerFactory.getLogger(OkexPrivateDataTest.class); + Instrument instrument = new FuturesContract("BTC/USDT/SWAP"); + Exchange exchange; - spec.setApiKey(properties.getProperty("apikey")); - spec.setSecretKey(properties.getProperty("secret")); - spec.setExchangeSpecificParametersItem(OkexExchange.PARAM_PASSPHRASE, properties.getProperty("passphrase")); - spec.setExchangeSpecificParametersItem(OkexExchange.PARAM_SIMULATED, "1"); + @Before + public void setUp() { + Properties properties = new Properties(); - exchange = ExchangeFactory.INSTANCE.createExchange(spec); + try { + properties.load(this.getClass().getResourceAsStream("/secret.keys")); + } catch (IOException e) { + throw new RuntimeException(e); } - @Test - public void placeLimitOrderGetOpenOrderAndCancelOrder() throws IOException { - BigDecimal size = BigDecimal.ONE; - BigDecimal price = BigDecimal.valueOf(1000); - - String orderId = exchange.getTradeService().placeLimitOrder(new LimitOrder.Builder(Order.OrderType.BID, instrument) - .originalAmount(size) - .limitPrice(price) - .build()); - List openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); - LOG.info(openOrders.toString()); - assertThat(openOrders.get(0).getId()).isEqualTo(orderId); - assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); - assertThat(openOrders.get(0).getOriginalAmount()).isEqualTo(size); - assertThat(openOrders.get(0).getLimitPrice()).isEqualTo(price); - List openOrdersWithParams = exchange.getTradeService().getOpenOrders(new DefaultOpenOrdersParamInstrument(instrument)).getOpenOrders(); - LOG.info(openOrdersWithParams.toString()); - assertThat(openOrdersWithParams.get(0).getId()).isEqualTo(orderId); - assertThat(openOrdersWithParams.get(0).getInstrument()).isEqualTo(instrument); - assertThat(openOrdersWithParams.get(0).getOriginalAmount()).isEqualTo(size); - assertThat(openOrdersWithParams.get(0).getLimitPrice()).isEqualTo(price); - exchange.getTradeService().cancelOrder(new DefaultCancelOrderByInstrumentAndIdParams(instrument, orderId)); + ExchangeSpecification spec = new OkexExchange().getDefaultExchangeSpecification(); + + spec.setApiKey(properties.getProperty("apikey")); + spec.setSecretKey(properties.getProperty("secret")); + spec.setExchangeSpecificParametersItem( + OkexExchange.PARAM_PASSPHRASE, properties.getProperty("passphrase")); + spec.setExchangeSpecificParametersItem(OkexExchange.PARAM_SIMULATED, "1"); + + exchange = ExchangeFactory.INSTANCE.createExchange(spec); + } + + @Test + public void placeLimitOrderGetOpenOrderAndCancelOrder() throws IOException { + BigDecimal size = BigDecimal.ONE; + BigDecimal price = BigDecimal.valueOf(1000); + + String orderId = + exchange + .getTradeService() + .placeLimitOrder( + new LimitOrder.Builder(Order.OrderType.BID, instrument) + .originalAmount(size) + .limitPrice(price) + .build()); + List openOrders = exchange.getTradeService().getOpenOrders().getOpenOrders(); + LOG.info(openOrders.toString()); + assertThat(openOrders.get(0).getId()).isEqualTo(orderId); + assertThat(openOrders.get(0).getInstrument()).isEqualTo(instrument); + assertThat(openOrders.get(0).getOriginalAmount()).isEqualTo(size); + assertThat(openOrders.get(0).getLimitPrice()).isEqualTo(price); + List openOrdersWithParams = + exchange + .getTradeService() + .getOpenOrders(new DefaultOpenOrdersParamInstrument(instrument)) + .getOpenOrders(); + LOG.info(openOrdersWithParams.toString()); + assertThat(openOrdersWithParams.get(0).getId()).isEqualTo(orderId); + assertThat(openOrdersWithParams.get(0).getInstrument()).isEqualTo(instrument); + assertThat(openOrdersWithParams.get(0).getOriginalAmount()).isEqualTo(size); + assertThat(openOrdersWithParams.get(0).getLimitPrice()).isEqualTo(price); + exchange + .getTradeService() + .cancelOrder(new DefaultCancelOrderByInstrumentAndIdParams(instrument, orderId)); + } + + @Test + public void placeOrderAndGetTradeHistory() throws IOException, InterruptedException { + BigDecimal size = BigDecimal.valueOf(0.1); + String bidOrderId = + exchange + .getTradeService() + .placeMarketOrder( + new MarketOrder.Builder(Order.OrderType.BID, instrument) + .originalAmount(size) + .build()); + String askOrderId = + exchange + .getTradeService() + .placeMarketOrder( + new MarketOrder.Builder(Order.OrderType.ASK, instrument) + .originalAmount(size) + .build()); + TimeUnit.SECONDS.sleep(2); + List userTrades = + exchange + .getTradeService() + .getTradeHistory(new DefaultTradeHistoryParamInstrument(instrument)) + .getUserTrades(); + UserTrade bid = null; + UserTrade ask = null; + + for (UserTrade userTrade : userTrades) { + if (userTrade.getId().equals(bidOrderId)) { + bid = userTrade; + } else if (userTrade.getId().equals(askOrderId)) { + ask = userTrade; + } } - @Test - public void placeOrderAndGetTradeHistory() throws IOException, InterruptedException { - BigDecimal size = BigDecimal.valueOf(0.1); - String bidOrderId = exchange.getTradeService().placeMarketOrder(new MarketOrder.Builder(Order.OrderType.BID,instrument).originalAmount(size).build()); - String askOrderId = exchange.getTradeService().placeMarketOrder(new MarketOrder.Builder(Order.OrderType.ASK,instrument).originalAmount(size).build()); - TimeUnit.SECONDS.sleep(2); - List userTrades = exchange.getTradeService().getTradeHistory(new DefaultTradeHistoryParamInstrument(instrument)).getUserTrades(); - UserTrade bid = null; - UserTrade ask = null; - - for (UserTrade userTrade : userTrades) { - if(userTrade.getId().equals(bidOrderId)){ - bid = userTrade; - } else if(userTrade.getId().equals(askOrderId)){ - ask = userTrade; - } - } - - assert ask != null; - assert bid != null; - assertThat(ask.getOriginalAmount()).isEqualTo(size); - assertThat(bid.getOriginalAmount()).isEqualTo(size); - } - - @Test - public void checkOpenPositions() throws IOException { - List openPositions = exchange.getTradeService().getOpenPositions().getOpenPositions(); - LOG.info(openPositions.toString()); - openPositions.forEach(openPosition -> assertThat(openPosition.getSize()).isGreaterThan(BigDecimal.ZERO)); - } - - @Test - public void checkWallet() throws IOException { - AccountInfo accountInfo = exchange.getAccountService().getAccountInfo(); - LOG.info(accountInfo.toString()); - assertThat(accountInfo.getWallet(Wallet.WalletFeature.TRADING)).isNotNull(); - assertThat(accountInfo.getWallet(Wallet.WalletFeature.FUNDING)).isNotNull(); - assertThat(accountInfo.getWallet(Wallet.WalletFeature.FUTURES_TRADING)).isNotNull(); - } + assert ask != null; + assert bid != null; + assertThat(ask.getOriginalAmount()).isEqualTo(size); + assertThat(bid.getOriginalAmount()).isEqualTo(size); + } + + @Test + public void checkOpenPositions() throws IOException { + List openPositions = + exchange.getTradeService().getOpenPositions().getOpenPositions(); + LOG.info(openPositions.toString()); + openPositions.forEach( + openPosition -> assertThat(openPosition.getSize()).isGreaterThan(BigDecimal.ZERO)); + } + + @Test + public void checkWallet() throws IOException { + AccountInfo accountInfo = exchange.getAccountService().getAccountInfo(); + LOG.info(accountInfo.toString()); + assertThat(accountInfo.getWallet(Wallet.WalletFeature.TRADING)).isNotNull(); + assertThat(accountInfo.getWallet(Wallet.WalletFeature.FUNDING)).isNotNull(); + assertThat(accountInfo.getWallet(Wallet.WalletFeature.FUTURES_TRADING)).isNotNull(); + } } diff --git a/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexPublicDataTest.java b/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexPublicDataTest.java index b1d64bd1c0c..924990d653c 100644 --- a/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexPublicDataTest.java +++ b/xchange-okex/src/test/java/org/knowm/xchange/okex/OkexPublicDataTest.java @@ -6,7 +6,6 @@ import java.math.BigDecimal; import java.util.List; import java.util.Objects; - import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; @@ -30,28 +29,35 @@ public class OkexPublicDataTest { Exchange exchange; private final Instrument currencyPair = new CurrencyPair("BTC/USDT"); private final Instrument instrument = new FuturesContract("BTC/USDT/SWAP"); + @Before - public void setUp(){ + public void setUp() { exchange = ExchangeFactory.INSTANCE.createExchange(OkexExchange.class); } @Test - public void checkInstrumentMetaData(){ - exchange.getExchangeMetaData().getInstruments().forEach((instrument1, instrumentMetaData) -> { - System.out.println(instrument1+"||"+instrumentMetaData); - assertThat(instrumentMetaData.getMinimumAmount()).isGreaterThan(BigDecimal.ZERO); - assertThat(instrumentMetaData.getPriceScale()).isGreaterThanOrEqualTo(0); - assertThat(instrumentMetaData.getVolumeScale()).isNotNull(); - if(instrument1 instanceof FuturesContract){ - assertThat(instrument1.getCounter()).isEqualTo(Currency.USDT); - } - }); + public void checkInstrumentMetaData() { + exchange + .getExchangeMetaData() + .getInstruments() + .forEach( + (instrument1, instrumentMetaData) -> { + System.out.println(instrument1 + "||" + instrumentMetaData); + assertThat(instrumentMetaData.getMinimumAmount()).isGreaterThan(BigDecimal.ZERO); + assertThat(instrumentMetaData.getPriceScale()).isGreaterThanOrEqualTo(0); + assertThat(instrumentMetaData.getVolumeScale()).isNotNull(); + if (instrument1 instanceof FuturesContract) { + assertThat(instrument1.getCounter()).isEqualTo(Currency.USDT); + } + }); } @Test public void checkOrderBook() throws IOException { - LimitOrder spotOrder = exchange.getMarketDataService().getOrderBook(currencyPair).getBids().get(0); - LimitOrder swapOrder = exchange.getMarketDataService().getOrderBook(instrument).getBids().get(0); + LimitOrder spotOrder = + exchange.getMarketDataService().getOrderBook(currencyPair).getBids().get(0); + LimitOrder swapOrder = + exchange.getMarketDataService().getOrderBook(instrument).getBids().get(0); assertThat(spotOrder.getInstrument()).isEqualTo(currencyPair); assertThat(swapOrder.getInstrument()).isEqualTo(instrument); @@ -73,7 +79,8 @@ public void checkTrades() throws IOException { assertThat(spotTrades.getTrades().get(0).getInstrument()).isEqualTo(currencyPair); assertThat(swapTrades.getTrades().get(0).getInstrument()).isEqualTo(instrument); - assertThat(swapTrades.getTrades().get(0).getTimestamp()).isBeforeOrEqualTo(swapTrades.getTrades().get(5).getTimestamp()); + assertThat(swapTrades.getTrades().get(0).getTimestamp()) + .isBeforeOrEqualTo(swapTrades.getTrades().get(5).getTimestamp()); } @Test @@ -93,10 +100,13 @@ public void checkFundingRate() throws IOException { } @Test - public void testInstrumentOkexConvertions(){ - assertThat(OkexAdapters.adaptOkexInstrumentId("BTC-USDT-SWAP")).isEqualTo(new FuturesContract("BTC/USDT/SWAP")); - assertThat(OkexAdapters.adaptInstrument(new FuturesContract("BTC/USDT/SWAP"))).isEqualTo("BTC-USDT-SWAP"); - assertThat(OkexAdapters.adaptOkexInstrumentId("BTC-USDT")).isEqualTo(new CurrencyPair("BTC/USDT")); + public void testInstrumentOkexConvertions() { + assertThat(OkexAdapters.adaptOkexInstrumentId("BTC-USDT-SWAP")) + .isEqualTo(new FuturesContract("BTC/USDT/SWAP")); + assertThat(OkexAdapters.adaptInstrument(new FuturesContract("BTC/USDT/SWAP"))) + .isEqualTo("BTC-USDT-SWAP"); + assertThat(OkexAdapters.adaptOkexInstrumentId("BTC-USDT")) + .isEqualTo(new CurrencyPair("BTC/USDT")); assertThat(OkexAdapters.adaptInstrument(new CurrencyPair("BTC/USDT"))).isEqualTo("BTC-USDT"); } } diff --git a/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/OER.java b/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/OER.java index 5bbd70728d0..2687b438f73 100644 --- a/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/OER.java +++ b/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/OER.java @@ -1,14 +1,16 @@ package org.knowm.xchange.oer; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.oer.dto.marketdata.OERTickers; -/** @author timmolter */ +/** + * @author timmolter + */ @Path("api") @Produces(MediaType.APPLICATION_JSON) public interface OER { @@ -20,4 +22,4 @@ OERTickers getTickers( @QueryParam("base") String base, @QueryParam("symbols") String symbols) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERBaseService.java b/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERBaseService.java index f978ab67067..5f33fe6effc 100644 --- a/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERBaseService.java +++ b/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERBaseService.java @@ -4,7 +4,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author timmolter */ +/** + * @author timmolter + */ public class OERBaseService extends BaseExchangeService implements BaseService { public OERBaseService(Exchange exchange) { diff --git a/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERMarketDataService.java b/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERMarketDataService.java index c2f01727627..82d7aa60b38 100644 --- a/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERMarketDataService.java +++ b/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERMarketDataService.java @@ -14,7 +14,9 @@ import org.knowm.xchange.oer.dto.marketdata.OERRates; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class OERMarketDataService extends OERMarketDataServiceRaw implements MarketDataService { /** diff --git a/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERMarketDataServiceRaw.java b/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERMarketDataServiceRaw.java index 719d3b36e85..27d51ed6d18 100644 --- a/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERMarketDataServiceRaw.java +++ b/xchange-openexchangerates/src/main/java/org/knowm/xchange/oer/service/OERMarketDataServiceRaw.java @@ -9,7 +9,9 @@ import org.knowm.xchange.oer.dto.marketdata.OERRates; import org.knowm.xchange.oer.dto.marketdata.OERTickers; -/** @author timmolter */ +/** + * @author timmolter + */ public class OERMarketDataServiceRaw extends OERBaseService { private final OER openExchangeRates; diff --git a/xchange-openexchangerates/src/test/java/org/knowm/xchange/oer/dto/marketdata/OERTickersTest.java b/xchange-openexchangerates/src/test/java/org/knowm/xchange/oer/dto/marketdata/OERTickersTest.java index 20cd0267e68..c06109a3f16 100644 --- a/xchange-openexchangerates/src/test/java/org/knowm/xchange/oer/dto/marketdata/OERTickersTest.java +++ b/xchange-openexchangerates/src/test/java/org/knowm/xchange/oer/dto/marketdata/OERTickersTest.java @@ -2,15 +2,15 @@ import static org.assertj.core.api.Assertions.assertThat; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.io.InputStream; - import org.junit.Test; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; - -/** @author timmolter */ +/** + * @author timmolter + */ public class OERTickersTest { @Test @@ -27,10 +27,10 @@ public void testUnmarshal() throws IOException { OERTickers oERTickers = mapper.readValue(is, OERTickers.class); // Verify that the example data was unmarshalled correctly -// System.out.println(oERTickers.getTimestamp().toString()); + // System.out.println(oERTickers.getTimestamp().toString()); assertThat(oERTickers.getTimestamp()).isEqualTo(1354687208L); -// System.out.println(oERTickers.getRates().getAED()); + // System.out.println(oERTickers.getRates().getAED()); assertThat(oERTickers.getRates().getAED()).isEqualTo(3.672989); } } diff --git a/xchange-openexchangerates/src/test/java/org/knowm/xchange/oer/service/OERMarketDataServiceRawTest.java b/xchange-openexchangerates/src/test/java/org/knowm/xchange/oer/service/OERMarketDataServiceRawTest.java index f31883311d4..0789d94e69e 100644 --- a/xchange-openexchangerates/src/test/java/org/knowm/xchange/oer/service/OERMarketDataServiceRawTest.java +++ b/xchange-openexchangerates/src/test/java/org/knowm/xchange/oer/service/OERMarketDataServiceRawTest.java @@ -2,6 +2,7 @@ import java.io.IOException; import org.junit.Test; + // import org.mockito.Mockito; // import org.powermock.reflect.Whitebox; diff --git a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/Paribu.java b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/Paribu.java index e9a254d85a3..eaac7b2d1b0 100644 --- a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/Paribu.java +++ b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/Paribu.java @@ -1,13 +1,15 @@ package org.knowm.xchange.paribu; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.paribu.dto.marketdata.ParibuTicker; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ @Path("/") @Produces(MediaType.APPLICATION_JSON) public interface Paribu { @@ -15,4 +17,4 @@ public interface Paribu { @GET @Path("ticker") ParibuTicker getTicker() throws IOException; -} \ No newline at end of file +} diff --git a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/ParibuAdapters.java b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/ParibuAdapters.java index 7e180ccba7e..85a10d5a66c 100644 --- a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/ParibuAdapters.java +++ b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/ParibuAdapters.java @@ -11,7 +11,9 @@ import org.knowm.xchange.paribu.dto.marketdata.BTC_TL; import org.knowm.xchange.paribu.dto.marketdata.ParibuTicker; -/** @author semihunaldi Various adapters for converting from Paribu DTOs to XChange DTOs */ +/** + * @author semihunaldi Various adapters for converting from Paribu DTOs to XChange DTOs + */ public final class ParibuAdapters { private ParibuAdapters() {} diff --git a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/ParibuExchange.java b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/ParibuExchange.java index 63a93c6ee1a..85d69e472cc 100644 --- a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/ParibuExchange.java +++ b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/ParibuExchange.java @@ -5,7 +5,9 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.paribu.service.ParibuMarketDataService; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class ParibuExchange extends BaseExchange implements Exchange { @Override diff --git a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/dto/marketdata/BTC_TL.java b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/dto/marketdata/BTC_TL.java index 761fc442de4..ca8880e4218 100644 --- a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/dto/marketdata/BTC_TL.java +++ b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/dto/marketdata/BTC_TL.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public final class BTC_TL { private final BigDecimal last; diff --git a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/service/ParibuBaseService.java b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/service/ParibuBaseService.java index 22a0b44408e..6cbadfbf9a3 100644 --- a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/service/ParibuBaseService.java +++ b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/service/ParibuBaseService.java @@ -4,7 +4,9 @@ import org.knowm.xchange.service.BaseExchangeService; import org.knowm.xchange.service.BaseService; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class ParibuBaseService extends BaseExchangeService implements BaseService { /** diff --git a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/service/ParibuMarketDataService.java b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/service/ParibuMarketDataService.java index 5b92185670a..2b5a08594ac 100644 --- a/xchange-paribu/src/main/java/org/knowm/xchange/paribu/service/ParibuMarketDataService.java +++ b/xchange-paribu/src/main/java/org/knowm/xchange/paribu/service/ParibuMarketDataService.java @@ -10,7 +10,9 @@ import org.knowm.xchange.paribu.ParibuAdapters; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class ParibuMarketDataService extends ParibuMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-paribu/src/test/java/org/knowm/xchange/paribu/ParibuAdapterTest.java b/xchange-paribu/src/test/java/org/knowm/xchange/paribu/ParibuAdapterTest.java index 7cbd9e913ad..ecb1d026f1b 100644 --- a/xchange-paribu/src/test/java/org/knowm/xchange/paribu/ParibuAdapterTest.java +++ b/xchange-paribu/src/test/java/org/knowm/xchange/paribu/ParibuAdapterTest.java @@ -11,7 +11,9 @@ import org.knowm.xchange.dto.marketdata.Ticker; import org.knowm.xchange.paribu.dto.marketdata.ParibuTicker; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class ParibuAdapterTest { @Test diff --git a/xchange-paribu/src/test/java/org/knowm/xchange/paribu/dto/marketdata/ParibuTickerTest.java b/xchange-paribu/src/test/java/org/knowm/xchange/paribu/dto/marketdata/ParibuTickerTest.java index b60e387d1e4..c3c090627be 100644 --- a/xchange-paribu/src/test/java/org/knowm/xchange/paribu/dto/marketdata/ParibuTickerTest.java +++ b/xchange-paribu/src/test/java/org/knowm/xchange/paribu/dto/marketdata/ParibuTickerTest.java @@ -8,7 +8,9 @@ import java.math.BigDecimal; import org.junit.Test; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class ParibuTickerTest { @Test diff --git a/xchange-paribu/src/test/java/org/knowm/xchange/paribu/service/marketdata/TickerFetchIntegration.java b/xchange-paribu/src/test/java/org/knowm/xchange/paribu/service/marketdata/TickerFetchIntegration.java index c574512bfbe..54051b39f26 100644 --- a/xchange-paribu/src/test/java/org/knowm/xchange/paribu/service/marketdata/TickerFetchIntegration.java +++ b/xchange-paribu/src/test/java/org/knowm/xchange/paribu/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.paribu.ParibuExchange; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author semihunaldi */ +/** + * @author semihunaldi + */ public class TickerFetchIntegration { @Test diff --git a/xchange-paymium/src/main/java/org/knowm/xchange/paymium/Paymium.java b/xchange-paymium/src/main/java/org/knowm/xchange/paymium/Paymium.java index 656ae883464..0ee31eeba9e 100644 --- a/xchange-paymium/src/main/java/org/knowm/xchange/paymium/Paymium.java +++ b/xchange-paymium/src/main/java/org/knowm/xchange/paymium/Paymium.java @@ -1,10 +1,10 @@ package org.knowm.xchange.paymium; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.paymium.dto.marketdata.PaymiumMarketDepth; import org.knowm.xchange.paymium.dto.marketdata.PaymiumTicker; import org.knowm.xchange.paymium.dto.marketdata.PaymiumTrade; @@ -28,4 +28,4 @@ public interface Paymium { @GET @Path("trades/") PaymiumTrade[] getTrades() throws IOException; -} \ No newline at end of file +} diff --git a/xchange-paymium/src/main/java/org/knowm/xchange/paymium/PaymiumAuthenticated.java b/xchange-paymium/src/main/java/org/knowm/xchange/paymium/PaymiumAuthenticated.java index 14ad61f1501..69c9d83ab13 100644 --- a/xchange-paymium/src/main/java/org/knowm/xchange/paymium/PaymiumAuthenticated.java +++ b/xchange-paymium/src/main/java/org/knowm/xchange/paymium/PaymiumAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.paymium; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -9,6 +7,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.paymium.dto.account.PaymiumBalance; import org.knowm.xchange.paymium.dto.account.PaymiumOrder; import si.mazi.rescu.ParamsDigest; @@ -38,4 +38,4 @@ List getOrders( @QueryParam("types[]") List types, @QueryParam("active") Boolean active) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-paymium/src/main/java/org/knowm/xchange/paymium/service/PaymiumDigest.java b/xchange-paymium/src/main/java/org/knowm/xchange/paymium/service/PaymiumDigest.java index 6ec9d4c095c..0dc6fb2cb77 100644 --- a/xchange-paymium/src/main/java/org/knowm/xchange/paymium/service/PaymiumDigest.java +++ b/xchange-paymium/src/main/java/org/knowm/xchange/paymium/service/PaymiumDigest.java @@ -1,8 +1,8 @@ package org.knowm.xchange.paymium.service; +import jakarta.ws.rs.HeaderParam; import java.math.BigInteger; import javax.crypto.Mac; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.RestInvocation; @@ -32,4 +32,4 @@ public String digestParams(RestInvocation restInvocation) { mac.update(invocationUrl.getBytes()); return String.format("%064x", new BigInteger(1, mac.doFinal())); } -} \ No newline at end of file +} diff --git a/xchange-paymium/src/test/java/org/knowm/xchange/paymium/service/marketdata/TickerFetchIntegration.java b/xchange-paymium/src/test/java/org/knowm/xchange/paymium/service/marketdata/TickerFetchIntegration.java index 067f767d563..72711bafecc 100644 --- a/xchange-paymium/src/test/java/org/knowm/xchange/paymium/service/marketdata/TickerFetchIntegration.java +++ b/xchange-paymium/src/test/java/org/knowm/xchange/paymium/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.paymium.PaymiumExchange; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/Poloniex.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/Poloniex.java index 7be460f4af1..ef45840b2c9 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/Poloniex.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/Poloniex.java @@ -1,13 +1,13 @@ package org.knowm.xchange.poloniex; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import org.knowm.xchange.poloniex.dto.PoloniexException; import org.knowm.xchange.poloniex.dto.marketdata.PoloniexChartData; import org.knowm.xchange.poloniex.dto.marketdata.PoloniexCurrencyInfo; @@ -62,4 +62,4 @@ PoloniexChartData[] getChartData( @QueryParam("end") Long endTime, @QueryParam("period") long period) throws PoloniexException, IOException; -} \ No newline at end of file +} diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexAdapters.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexAdapters.java index 6106d90c31b..9e7a9b8b49e 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexAdapters.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexAdapters.java @@ -404,13 +404,14 @@ public static LimitOrder adaptUserTradesToOrderStatus( } public static CandleStickData adaptPoloniexCandleStickData( - PoloniexChartData[] poloniexChartData, CurrencyPair currencyPair) { + PoloniexChartData[] poloniexChartData, CurrencyPair currencyPair) { CandleStickData candleStickData = null; if (poloniexChartData.length != 0) { List candleSticks = new ArrayList<>(); for (PoloniexChartData chartData : poloniexChartData) { - candleSticks.add(new CandleStick.Builder() + candleSticks.add( + new CandleStick.Builder() .timestamp(chartData.getDate()) .open(chartData.getOpen()) .high(chartData.getHigh()) @@ -418,8 +419,7 @@ public static CandleStickData adaptPoloniexCandleStickData( .close(chartData.getClose()) .volume(chartData.getVolume()) .quotaVolume(chartData.getQuoteVolume()) - .build() - ); + .build()); } candleStickData = new CandleStickData(currencyPair, candleSticks); } diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexAuthenticated.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexAuthenticated.java index 1cda01463b8..16a29358b86 100755 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexAuthenticated.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexAuthenticated.java @@ -1,10 +1,5 @@ package org.knowm.xchange.poloniex; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.HashMap; -import java.util.Map; -import javax.annotation.Nullable; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.HeaderParam; @@ -12,6 +7,11 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Nullable; import org.knowm.xchange.poloniex.dto.PoloniexException; import org.knowm.xchange.poloniex.dto.account.PoloniexBalance; import org.knowm.xchange.poloniex.dto.account.PoloniexLoan; @@ -29,7 +29,9 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ @Path("tradingApi") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @@ -291,4 +293,4 @@ PoloniexDepositsWithdrawalsResponse returnDepositsWithdrawals( enum AllPairs { all } -} \ No newline at end of file +} diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexErrorAdapter.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexErrorAdapter.java index 9166145ed3b..7745a342e6d 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexErrorAdapter.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexErrorAdapter.java @@ -6,7 +6,9 @@ import org.knowm.xchange.exceptions.ExchangeSecurityException; import org.knowm.xchange.poloniex.dto.PoloniexException; -/** @author walec51 */ +/** + * @author walec51 + */ public class PoloniexErrorAdapter { private static final String INVALID_CURRENCY_MESSAGE_START = "Invalid currency pair"; diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexExchange.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexExchange.java index f5480014fd7..1399ca77e3b 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexExchange.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexExchange.java @@ -14,7 +14,9 @@ import org.knowm.xchange.utils.nonce.TimestampIncrementingNonceFactory; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexExchange extends BaseExchange implements Exchange { private final SynchronizedValueFactory nonceFactory = diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexUtils.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexUtils.java index 96b1fe9681b..734fe11d5d5 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexUtils.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/PoloniexUtils.java @@ -11,7 +11,9 @@ import java.util.TimeZone; import org.knowm.xchange.currency.CurrencyPair; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexUtils { public static String toPairString(CurrencyPair currencyPair) { diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/dto/account/PoloniexLoan.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/dto/account/PoloniexLoan.java index c71ae71f3ab..f07529cd435 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/dto/account/PoloniexLoan.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/dto/account/PoloniexLoan.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author anw */ +/** + * @author anw + */ public class PoloniexLoan { private String id; diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/dto/marketdata/PoloniexTicker.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/dto/marketdata/PoloniexTicker.java index fa22822ef17..a808be88874 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/dto/marketdata/PoloniexTicker.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/dto/marketdata/PoloniexTicker.java @@ -2,7 +2,9 @@ import org.knowm.xchange.currency.CurrencyPair; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexTicker { private PoloniexMarketData poloniexMarketData; diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexAccountService.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexAccountService.java index a4e7c8a8a9b..fde9482a5df 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexAccountService.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexAccountService.java @@ -23,7 +23,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParamsTimeSpan; import org.knowm.xchange.service.trade.params.WithdrawFundsParams; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexAccountService extends PoloniexAccountServiceRaw implements AccountService { private static final String TRADING_WALLET_ID = "trading"; diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexAccountServiceRaw.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexAccountServiceRaw.java index 581cb13b567..2830eecacdb 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexAccountServiceRaw.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexAccountServiceRaw.java @@ -15,7 +15,9 @@ import org.knowm.xchange.poloniex.dto.trade.PoloniexGenerateNewAddressResponse; import org.knowm.xchange.utils.DateUtils; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexAccountServiceRaw extends PoloniexBaseService { /** @@ -78,7 +80,9 @@ public String getDepositAddress(String currency) throws IOException { } } - /** @param paymentId For XMR withdrawals, you may optionally specify "paymentId". */ + /** + * @param paymentId For XMR withdrawals, you may optionally specify "paymentId". + */ public String withdraw( Currency currency, BigDecimal amount, String address, @Nullable String paymentId) throws IOException { diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexBaseService.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexBaseService.java index 377ec465b56..c860da45ce8 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexBaseService.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexBaseService.java @@ -12,7 +12,9 @@ import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.serialization.jackson.DefaultJacksonObjectMapperFactory; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexBaseService extends BaseExchangeService implements BaseService { protected final String apiKey; diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexChartDataPeriodType.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexChartDataPeriodType.java index 6330aeea320..db81132696c 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexChartDataPeriodType.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexChartDataPeriodType.java @@ -18,8 +18,8 @@ static PoloniexChartDataPeriodType getPeriodTypeFromSecs(long periodInSecs) { PoloniexChartDataPeriodType result = null; for (PoloniexChartDataPeriodType period : PoloniexChartDataPeriodType.values()) { if (period.periodInSecs == periodInSecs) { - result = period; - break; + result = period; + break; } } return result; @@ -29,7 +29,7 @@ public static long[] getSupportedPeriodsInSecs() { long[] result = new long[PoloniexChartDataPeriodType.values().length]; int index = 0; for (PoloniexChartDataPeriodType period : PoloniexChartDataPeriodType.values()) { - result[index++] = period.getPeriodInSecs(); + result[index++] = period.getPeriodInSecs(); } return result; } diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexMarketDataService.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexMarketDataService.java index 2663b83c274..773c7d54fae 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexMarketDataService.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexMarketDataService.java @@ -1,5 +1,10 @@ package org.knowm.xchange.poloniex.service; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import org.knowm.xchange.Exchange; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.marketdata.CandleStickData; @@ -22,13 +27,9 @@ import org.knowm.xchange.service.trade.params.CandleStickDataParams; import org.knowm.xchange.service.trade.params.DefaultCandleStickParam; -import java.io.IOException; -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexMarketDataService extends PoloniexMarketDataServiceRaw implements MarketDataService { @@ -128,20 +129,25 @@ public Trades getTrades(CurrencyPair currencyPair, Object... args) @Override public CandleStickData getCandleStickData(CurrencyPair currencyPair, CandleStickDataParams params) - throws IOException { + throws IOException { if (!(params instanceof DefaultCandleStickParam)) { throw new NotYetImplementedForExchangeException("Only DefaultCandleStickParam is supported"); } try { DefaultCandleStickParam defaultCandleStickParam = (DefaultCandleStickParam) params; PoloniexChartDataPeriodType periodType = - PoloniexChartDataPeriodType.getPeriodTypeFromSecs(defaultCandleStickParam.getPeriodInSecs()); + PoloniexChartDataPeriodType.getPeriodTypeFromSecs( + defaultCandleStickParam.getPeriodInSecs()); if (periodType == null) { - throw new NotYetImplementedForExchangeException("Only discrete period values are " + - "supported;" + Arrays.toString(PoloniexChartDataPeriodType.getSupportedPeriodsInSecs())); + throw new NotYetImplementedForExchangeException( + "Only discrete period values are " + + "supported;" + + Arrays.toString(PoloniexChartDataPeriodType.getSupportedPeriodsInSecs())); } - PoloniexChartData[] poloniexChartData = getPoloniexChartData(currencyPair, + PoloniexChartData[] poloniexChartData = + getPoloniexChartData( + currencyPair, TimeUnit.MILLISECONDS.toSeconds(defaultCandleStickParam.getStartDate().getTime()), TimeUnit.MILLISECONDS.toSeconds(defaultCandleStickParam.getEndDate().getTime()), periodType); diff --git a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexTradeServiceRaw.java b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexTradeServiceRaw.java index 0e04a4b20b4..633aca2e996 100644 --- a/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexTradeServiceRaw.java +++ b/xchange-poloniex/src/main/java/org/knowm/xchange/poloniex/service/PoloniexTradeServiceRaw.java @@ -19,7 +19,9 @@ import org.knowm.xchange.poloniex.dto.trade.PoloniexTradeResponse; import org.knowm.xchange.poloniex.dto.trade.PoloniexUserTrade; -/** @author Zach Holmes */ +/** + * @author Zach Holmes + */ public class PoloniexTradeServiceRaw extends PoloniexBaseService { public PoloniexTradeServiceRaw(Exchange exchange) { diff --git a/xchange-poloniex/src/test/java/org/knowm/xchange/poloniex/PoloniexErrorAdapterTest.java b/xchange-poloniex/src/test/java/org/knowm/xchange/poloniex/PoloniexErrorAdapterTest.java index 969df2325e9..c4e0e23a73e 100644 --- a/xchange-poloniex/src/test/java/org/knowm/xchange/poloniex/PoloniexErrorAdapterTest.java +++ b/xchange-poloniex/src/test/java/org/knowm/xchange/poloniex/PoloniexErrorAdapterTest.java @@ -8,7 +8,9 @@ import org.knowm.xchange.exceptions.ExchangeSecurityException; import org.knowm.xchange.poloniex.dto.PoloniexException; -/** @author walec51 */ +/** + * @author walec51 + */ public class PoloniexErrorAdapterTest { @Test diff --git a/xchange-poloniex/src/test/java/org/knowm/xchange/poloniex/service/marketdata/TickerFetchIntegration.java b/xchange-poloniex/src/test/java/org/knowm/xchange/poloniex/service/marketdata/TickerFetchIntegration.java index 5764c6dca6c..ca6929661c0 100644 --- a/xchange-poloniex/src/test/java/org/knowm/xchange/poloniex/service/marketdata/TickerFetchIntegration.java +++ b/xchange-poloniex/src/test/java/org/knowm/xchange/poloniex/service/marketdata/TickerFetchIntegration.java @@ -10,7 +10,9 @@ import org.knowm.xchange.poloniex.PoloniexExchange; import org.knowm.xchange.service.marketdata.MarketDataService; -/** @author timmolter */ +/** + * @author timmolter + */ public class TickerFetchIntegration { @Test diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/Quoine.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/Quoine.java index 882dd015b9d..c4f39101760 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/Quoine.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/Quoine.java @@ -1,11 +1,11 @@ package org.knowm.xchange.quoine; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.quoine.dto.marketdata.QuoineOrderBook; import org.knowm.xchange.quoine.dto.marketdata.QuoineProduct; @@ -25,4 +25,4 @@ QuoineProduct getQuoineProduct(@PathParam("currency_pair_code") String currencyP @GET @Path("products/{product_id}/price_levels?full=1") QuoineOrderBook getOrderBook(@PathParam("product_id") int currencyPairCode) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/QuoineAuthenticated.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/QuoineAuthenticated.java index 7bfd70f546a..8fe7c664a26 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/QuoineAuthenticated.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/QuoineAuthenticated.java @@ -1,6 +1,5 @@ package org.knowm.xchange.quoine; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -11,6 +10,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.quoine.dto.account.BitcoinAccount; import org.knowm.xchange.quoine.dto.account.FiatAccount; import org.knowm.xchange.quoine.dto.account.QuoineAccountBalance; @@ -132,4 +132,4 @@ QuoineTransactionsResponse transactions( @QueryParam("limit") Integer limit, @QueryParam("page") Integer page) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/Bank.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/Bank.java index 9cf994c8188..3dd3a32f8ea 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/Bank.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/Bank.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Arrays; -/** @author timmolter */ +/** + * @author timmolter + */ public final class Bank { private final String name; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/BankAccountNumber.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/BankAccountNumber.java index aa6798175c7..f7e6021d140 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/BankAccountNumber.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/BankAccountNumber.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; -/** @author timmolter */ +/** + * @author timmolter + */ public final class BankAccountNumber { private final String accountNumber; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/BitcoinAccount.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/BitcoinAccount.java index 5eb2ff8b582..b1cfe2fd4b0 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/BitcoinAccount.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/BitcoinAccount.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author timmolter */ +/** + * @author timmolter + */ public final class BitcoinAccount { private final Integer id; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/FiatAccount.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/FiatAccount.java index ebee1945043..b371f2413d0 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/FiatAccount.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/FiatAccount.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author timmolter */ +/** + * @author timmolter + */ public final class FiatAccount { private final Integer id; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/QuoineAccountInfo.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/QuoineAccountInfo.java index c18d5fc881c..f22b77de776 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/QuoineAccountInfo.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/account/QuoineAccountInfo.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Arrays; -/** @author timmolter */ +/** + * @author timmolter + */ public final class QuoineAccountInfo { private final BitcoinAccount bitcoinAccount; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/marketdata/QuoineOrderBook.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/marketdata/QuoineOrderBook.java index 16b3709e021..dd2417a3811 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/marketdata/QuoineOrderBook.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/marketdata/QuoineOrderBook.java @@ -4,7 +4,9 @@ import java.math.BigDecimal; import java.util.List; -/** @author timmolter */ +/** + * @author timmolter + */ public final class QuoineOrderBook { private final List buyPriceLevels; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/marketdata/QuoineProduct.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/marketdata/QuoineProduct.java index a915a86b662..e1ccae938e2 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/marketdata/QuoineProduct.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/marketdata/QuoineProduct.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author timmolter */ +/** + * @author timmolter + */ public final class QuoineProduct { @JsonProperty("id") diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/Execution.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/Execution.java index ac5ffc91263..d046813e73d 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/Execution.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/Execution.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author timmolter */ +/** + * @author timmolter + */ public final class Execution { private final BigDecimal quantity; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/Model.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/Model.java index f7a581f6d74..3fd24ac7316 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/Model.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/Model.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author timmolter */ +/** + * @author timmolter + */ public final class Model { private final String id; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrderDetailsResponse.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrderDetailsResponse.java index f2076aa4b0a..18eaaa4df3c 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrderDetailsResponse.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrderDetailsResponse.java @@ -4,7 +4,9 @@ import java.math.BigDecimal; import java.util.Arrays; -/** @author timmolter */ +/** + * @author timmolter + */ public final class QuoineOrderDetailsResponse { private final String id; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrderResponse.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrderResponse.java index 0901bf2f320..2f84c5a9f04 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrderResponse.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrderResponse.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author timmolter */ +/** + * @author timmolter + */ public final class QuoineOrderResponse { private final String id; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrdersList.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrdersList.java index 83a72ed6b43..f2ba85eb991 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrdersList.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/dto/trade/QuoineOrdersList.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Arrays; -/** @author timmolter */ +/** + * @author timmolter + */ public final class QuoineOrdersList { private final Model[] models; diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/service/QuoineTradeService.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/service/QuoineTradeService.java index 9bc79a98b0e..e7fccefd173 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/service/QuoineTradeService.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/service/QuoineTradeService.java @@ -23,7 +23,9 @@ import org.knowm.xchange.service.trade.params.TradeHistoryParams; import org.knowm.xchange.service.trade.params.orders.OpenOrdersParams; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class QuoineTradeService extends QuoineTradeServiceRaw implements TradeService { /** diff --git a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/service/QuoineTradeServiceRaw.java b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/service/QuoineTradeServiceRaw.java index 3d1a28b7e88..e5d2c55ca92 100644 --- a/xchange-quoine/src/main/java/org/knowm/xchange/quoine/service/QuoineTradeServiceRaw.java +++ b/xchange-quoine/src/main/java/org/knowm/xchange/quoine/service/QuoineTradeServiceRaw.java @@ -19,13 +19,17 @@ import org.knowm.xchange.quoine.dto.trade.QuoineTransactionsResponse; import si.mazi.rescu.HttpStatusIOException; -/** @author gnandiga */ +/** + * @author gnandiga + */ public class QuoineTradeServiceRaw extends QuoineBaseService { private boolean useMargin; private int leverageLevel; - /** @param exchange */ + /** + * @param exchange + */ public QuoineTradeServiceRaw(Exchange exchange, boolean useMargin) { super(exchange); diff --git a/xchange-ripple/src/main/java/org/knowm/xchange/ripple/RippleAuthenticated.java b/xchange-ripple/src/main/java/org/knowm/xchange/ripple/RippleAuthenticated.java index dbf03b98bde..e9d6ae21872 100644 --- a/xchange-ripple/src/main/java/org/knowm/xchange/ripple/RippleAuthenticated.java +++ b/xchange-ripple/src/main/java/org/knowm/xchange/ripple/RippleAuthenticated.java @@ -1,6 +1,5 @@ package org.knowm.xchange.ripple; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.POST; @@ -9,6 +8,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.ripple.dto.RippleException; import org.knowm.xchange.ripple.dto.trade.RippleOrderCancelRequest; import org.knowm.xchange.ripple.dto.trade.RippleOrderCancelResponse; @@ -40,4 +40,4 @@ RippleOrderCancelResponse orderCancel( @QueryParam("validated") final boolean validated, final RippleOrderCancelRequest request) throws IOException, RippleException; -} \ No newline at end of file +} diff --git a/xchange-ripple/src/main/java/org/knowm/xchange/ripple/RipplePublic.java b/xchange-ripple/src/main/java/org/knowm/xchange/ripple/RipplePublic.java index 2b3fe8ec9e1..968fd80a0f6 100644 --- a/xchange-ripple/src/main/java/org/knowm/xchange/ripple/RipplePublic.java +++ b/xchange-ripple/src/main/java/org/knowm/xchange/ripple/RipplePublic.java @@ -1,12 +1,12 @@ package org.knowm.xchange.ripple; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.ripple.dto.RippleException; import org.knowm.xchange.ripple.dto.account.RippleAccountBalances; import org.knowm.xchange.ripple.dto.account.RippleAccountSettings; @@ -90,4 +90,4 @@ RippleNotifications notifications( @GET @Path("transaction-fee") RippleTransactionFee getTransactionFee(); -} \ No newline at end of file +} diff --git a/xchange-ripple/src/main/java/org/knowm/xchange/ripple/service/RippleTradeServiceRaw.java b/xchange-ripple/src/main/java/org/knowm/xchange/ripple/service/RippleTradeServiceRaw.java index 8cc47bd2e5e..50635c6aba0 100644 --- a/xchange-ripple/src/main/java/org/knowm/xchange/ripple/service/RippleTradeServiceRaw.java +++ b/xchange-ripple/src/main/java/org/knowm/xchange/ripple/service/RippleTradeServiceRaw.java @@ -377,7 +377,9 @@ public BigDecimal getTransactionFee() { return ripplePublic.getTransactionFee().getFee().stripTrailingZeros(); } - /** @return transfer fee for the base leg of the order in the base currency */ + /** + * @return transfer fee for the base leg of the order in the base currency + */ public BigDecimal getExpectedBaseTransferFee(final RippleLimitOrder order) throws IOException { final ITransferFeeSource transferFeeSource = (ITransferFeeSource) exchange.getAccountService(); final String counterparty = order.getBaseCounterparty(); @@ -387,7 +389,9 @@ public BigDecimal getExpectedBaseTransferFee(final RippleLimitOrder order) throw return getExpectedTransferFee(transferFeeSource, counterparty, currency, quantity, type); } - /** @return transfer fee for the counter leg of the order in the counter currency */ + /** + * @return transfer fee for the counter leg of the order in the counter currency + */ public BigDecimal getExpectedCounterTransferFee(final RippleLimitOrder order) throws IOException { final ITransferFeeSource transferFeeSource = (ITransferFeeSource) exchange.getAccountService(); final String counterparty = order.getCounterCounterparty(); diff --git a/xchange-serum/src/main/java/com/knowm/xchange/serum/Serum.java b/xchange-serum/src/main/java/com/knowm/xchange/serum/Serum.java index 2e5bafa03b1..4217f0e0cf8 100644 --- a/xchange-serum/src/main/java/com/knowm/xchange/serum/Serum.java +++ b/xchange-serum/src/main/java/com/knowm/xchange/serum/Serum.java @@ -2,12 +2,12 @@ import com.fasterxml.jackson.databind.JsonNode; import com.knowm.xchange.serum.dto.SolanaResponse; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; @Path("/") @Produces(MediaType.APPLICATION_JSON) @@ -16,4 +16,4 @@ public interface Serum { @POST @Consumes(MediaType.APPLICATION_JSON) SolanaResponse getAccountInfo(final JsonNode body) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-simulated/src/test/java/org/knowm/xchange/simulated/SimulatedExchangeExample.java b/xchange-simulated/src/test/java/org/knowm/xchange/simulated/SimulatedExchangeExample.java index 2ddc5cecb13..f1b7ba5aeb0 100644 --- a/xchange-simulated/src/test/java/org/knowm/xchange/simulated/SimulatedExchangeExample.java +++ b/xchange-simulated/src/test/java/org/knowm/xchange/simulated/SimulatedExchangeExample.java @@ -8,9 +8,9 @@ import static org.knowm.xchange.simulated.SimulatedExchange.ENGINE_FACTORY_PARAM; import static org.knowm.xchange.simulated.SimulatedExchange.ON_OPERATION_PARAM; +import com.google.common.util.concurrent.RateLimiter; import java.io.IOException; import java.math.BigDecimal; - import org.junit.Test; import org.knowm.xchange.ExchangeFactory; import org.knowm.xchange.ExchangeSpecification; @@ -25,8 +25,6 @@ import org.knowm.xchange.service.trade.params.CancelOrderByOrderTypeParams; import org.knowm.xchange.service.trade.params.orders.DefaultQueryOrderParamCurrencyPair; -import com.google.common.util.concurrent.RateLimiter; - public class SimulatedExchangeExample { /** Demonstrates the simplest case. */ @@ -47,7 +45,7 @@ public void simple() throws IOException { MockMarket.mockMarket(exchange); // Accounts -// System.out.println("Account: " + exchange.getAccountService().getAccountInfo()); + // System.out.println("Account: " + exchange.getAccountService().getAccountInfo()); // Trades exchange @@ -56,9 +54,10 @@ public void simple() throws IOException { new MarketOrder.Builder(BID, BTC_USD).originalAmount(new BigDecimal("0.1")).build()); // Market data -// System.out.println("Ticker: " + exchange.getMarketDataService().getTicker(BTC_USD)); -// System.out.println("Order book: " + exchange.getMarketDataService().getOrderBook(BTC_USD)); -// System.out.println("Trades: " + exchange.getMarketDataService().getTrades(BTC_USD)); + // System.out.println("Ticker: " + exchange.getMarketDataService().getTicker(BTC_USD)); + // System.out.println("Order book: " + + // exchange.getMarketDataService().getOrderBook(BTC_USD)); + // System.out.println("Trades: " + exchange.getMarketDataService().getTrades(BTC_USD)); } /** Demonstrates cancelling an order. */ @@ -79,7 +78,7 @@ public void cancel() throws IOException { MockMarket.mockMarket(exchange); // Accounts -// System.out.println("Account: " + exchange.getAccountService().getAccountInfo()); + // System.out.println("Account: " + exchange.getAccountService().getAccountInfo()); // Trades String orderId = @@ -92,7 +91,8 @@ public void cancel() throws IOException { .build()); // Market data -// System.out.println("Order book: " + exchange.getMarketDataService().getOrderBook(BTC_USD)); + // System.out.println("Order book: " + + // exchange.getMarketDataService().getOrderBook(BTC_USD)); exchange .getTradeService() // this tests both getOrder and cancelOrder @@ -111,7 +111,8 @@ public void cancel() throws IOException { } }); -// System.out.println("Order book: " + exchange.getMarketDataService().getOrderBook(BTC_USD)); + // System.out.println("Order book: " + + // exchange.getMarketDataService().getOrderBook(BTC_USD)); } static class CancelOrderAllParams diff --git a/xchange-simulated/src/test/java/org/knowm/xchange/simulated/TestMatchingEngine.java b/xchange-simulated/src/test/java/org/knowm/xchange/simulated/TestMatchingEngine.java index fbee2215873..41a59a8d5d9 100644 --- a/xchange-simulated/src/test/java/org/knowm/xchange/simulated/TestMatchingEngine.java +++ b/xchange-simulated/src/test/java/org/knowm/xchange/simulated/TestMatchingEngine.java @@ -585,8 +585,8 @@ public void testGetLevel2OrderBook() { assertThat(bids.get(1).getLimitPrice()).isEqualTo("98"); assertThat(bids.get(1).getOriginalAmount()).isEqualTo("2"); assertThat(bids.get(1).getType()).isEqualTo(BID); -// System.out.println("Asks:" + asks); -// System.out.println("Bids:" + bids); + // System.out.println("Asks:" + asks); + // System.out.println("Bids:" + bids); } @SuppressWarnings("unchecked") diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingAccountService.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingAccountService.java index d6a655a97e1..ca30c1773b4 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingAccountService.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingAccountService.java @@ -17,8 +17,8 @@ public class BinanceStreamingAccountService implements StreamingAccountService { - private final BehaviorSubject accountInfoLast = - BehaviorSubject.create(); + private final BehaviorSubject + accountInfoLast = BehaviorSubject.create(); private final Subject accountInfoPublisher = accountInfoLast.toSerialized(); diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingAdapters.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingAdapters.java index 6aea33bec1d..6b8bcd17148 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingAdapters.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingAdapters.java @@ -2,6 +2,10 @@ import info.bitrich.xchangestream.binance.dto.BinanceRawTrade; import info.bitrich.xchangestream.binance.dto.DepthBinanceWebSocketTransaction; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; import org.knowm.xchange.binance.BinanceAdapters; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.marketdata.OrderBook; @@ -9,50 +13,57 @@ import org.knowm.xchange.dto.trade.LimitOrder; import org.knowm.xchange.instrument.Instrument; -import java.time.Instant; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - public class BinanceStreamingAdapters { - public static Trade adaptRawTrade(BinanceRawTrade rawTrade, Instrument instrument){ - return new Trade.Builder() - .type(BinanceAdapters.convertType(rawTrade.isBuyerMarketMaker())) - .originalAmount(rawTrade.getQuantity()) - .instrument(instrument) - .price(rawTrade.getPrice()) - .makerOrderId(getMakerOrderId(rawTrade)) - .takerOrderId(getTakerOrderId(rawTrade)) - .timestamp(new Date(rawTrade.getTimestamp())) - .id(String.valueOf(rawTrade.getTradeId())) - .build(); - } - - private static String getMakerOrderId(BinanceRawTrade trade) { - return String.valueOf( - trade.isBuyerMarketMaker() ? trade.getBuyerOrderId() : trade.getSellerOrderId()); - } - - private static String getTakerOrderId(BinanceRawTrade trade) { - return String.valueOf( - trade.isBuyerMarketMaker() ? trade.getSellerOrderId() : trade.getBuyerOrderId()); - } - - public static OrderBook adaptFuturesOrderbook(DepthBinanceWebSocketTransaction binanceOrderBook) { - List bids = new ArrayList<>(); - List asks = new ArrayList<>(); - Instrument instrument = BinanceAdapters.adaptSymbol(binanceOrderBook.getSymbol(), true); - - binanceOrderBook.getOrderBook().asks.forEach((key, value) -> asks.add(new LimitOrder.Builder(Order.OrderType.ASK, instrument) - .limitPrice(key) - .originalAmount(value) - .build())); - binanceOrderBook.getOrderBook().bids.forEach((key, value) -> bids.add(new LimitOrder.Builder(Order.OrderType.BID, instrument) - .limitPrice(key) - .originalAmount(value) - .build())); - - return new OrderBook(Date.from(Instant.now()),asks,bids); - } + public static Trade adaptRawTrade(BinanceRawTrade rawTrade, Instrument instrument) { + return new Trade.Builder() + .type(BinanceAdapters.convertType(rawTrade.isBuyerMarketMaker())) + .originalAmount(rawTrade.getQuantity()) + .instrument(instrument) + .price(rawTrade.getPrice()) + .makerOrderId(getMakerOrderId(rawTrade)) + .takerOrderId(getTakerOrderId(rawTrade)) + .timestamp(new Date(rawTrade.getTimestamp())) + .id(String.valueOf(rawTrade.getTradeId())) + .build(); + } + + private static String getMakerOrderId(BinanceRawTrade trade) { + return String.valueOf( + trade.isBuyerMarketMaker() ? trade.getBuyerOrderId() : trade.getSellerOrderId()); + } + + private static String getTakerOrderId(BinanceRawTrade trade) { + return String.valueOf( + trade.isBuyerMarketMaker() ? trade.getSellerOrderId() : trade.getBuyerOrderId()); + } + + public static OrderBook adaptFuturesOrderbook(DepthBinanceWebSocketTransaction binanceOrderBook) { + List bids = new ArrayList<>(); + List asks = new ArrayList<>(); + Instrument instrument = BinanceAdapters.adaptSymbol(binanceOrderBook.getSymbol(), true); + + binanceOrderBook + .getOrderBook() + .asks + .forEach( + (key, value) -> + asks.add( + new LimitOrder.Builder(Order.OrderType.ASK, instrument) + .limitPrice(key) + .originalAmount(value) + .build())); + binanceOrderBook + .getOrderBook() + .bids + .forEach( + (key, value) -> + bids.add( + new LimitOrder.Builder(Order.OrderType.BID, instrument) + .limitPrice(key) + .originalAmount(value) + .build())); + + return new OrderBook(Date.from(Instant.now()), asks, bids); + } } diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingMarketDataService.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingMarketDataService.java index 72994362002..ac3d1c8a759 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingMarketDataService.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingMarketDataService.java @@ -125,21 +125,21 @@ public Observable getOrderBook(CurrencyPair currencyPair, Object... a @Override public Observable getTicker(CurrencyPair currencyPair, Object... args) { if (realtimeOrderBookTicker) { - return getRawBookTicker(currencyPair).map(raw-> raw.toTicker(false)); + return getRawBookTicker(currencyPair).map(raw -> raw.toTicker(false)); } - return getRawTicker(currencyPair).map(raw-> raw.toTicker(false)); + return getRawTicker(currencyPair).map(raw -> raw.toTicker(false)); } @Override public Observable getTrades(CurrencyPair currencyPair, Object... args) { return getRawTrades(currencyPair) - .map(rawTrade -> BinanceStreamingAdapters.adaptRawTrade(rawTrade, currencyPair)); + .map(rawTrade -> BinanceStreamingAdapters.adaptRawTrade(rawTrade, currencyPair)); } @Override public Observable getOrderBook(Instrument instrument, Object... args) { if (!service.isLiveSubscriptionEnabled() - && !service.getProductSubscription().getOrderBook().contains(instrument)) { + && !service.getProductSubscription().getOrderBook().contains(instrument)) { throw new UpFrontSubscriptionRequiredException(); } return orderbookSubscriptions.computeIfAbsent(instrument, this::initOrderBookIfAbsent); @@ -148,25 +148,30 @@ public Observable getOrderBook(Instrument instrument, Object... args) @Override public Observable getTicker(Instrument instrument, Object... args) { if (realtimeOrderBookTicker) { - return getRawBookTicker(instrument).map(raw-> raw.toTicker(instrument instanceof FuturesContract)); + return getRawBookTicker(instrument) + .map(raw -> raw.toTicker(instrument instanceof FuturesContract)); } - return getRawTicker(instrument).map(raw-> raw.toTicker(instrument instanceof FuturesContract)); + return getRawTicker(instrument).map(raw -> raw.toTicker(instrument instanceof FuturesContract)); } @Override public Observable getTrades(Instrument instrument, Object... args) { return getRawTrades(instrument) - .map(rawTrade -> BinanceStreamingAdapters.adaptRawTrade(rawTrade, instrument)); + .map(rawTrade -> BinanceStreamingAdapters.adaptRawTrade(rawTrade, instrument)); } @Override public Observable getFundingRate(Instrument instrument, Object... args) { - return service.subscribeChannel(channelFromCurrency(instrument, BinanceSubscriptionType.FUNDING_RATES.getType())) - .map(it -> this.readTransaction( + return service + .subscribeChannel( + channelFromCurrency(instrument, BinanceSubscriptionType.FUNDING_RATES.getType())) + .map( + it -> + this.readTransaction( it, FUNDING_RATE_TYPE, "funding rate")) - .map(BinanceWebsocketTransaction::getData) - .filter(data -> BinanceAdapters.adaptSymbol(data.getSymbol(), true).equals(instrument)) - .map(FundingRateWebsocketTransaction::toFundingRate); + .map(BinanceWebsocketTransaction::getData) + .filter(data -> BinanceAdapters.adaptSymbol(data.getSymbol(), true).equals(instrument)) + .map(FundingRateWebsocketTransaction::toFundingRate); } private Observable initOrderBookIfAbsent(Instrument instrument) { @@ -208,15 +213,18 @@ public Observable getKlines(Instrument instrument, KlineInterval i && !service.getKlineSubscription().contains(instrument, interval)) { throw new UpFrontSubscriptionRequiredException(); } - return klineSubscriptions.compute( - instrument, (c, v) -> { - Map> intervalMap = createMapIfNull(v); + return klineSubscriptions + .compute( + instrument, + (c, v) -> { + Map> intervalMap = createMapIfNull(v); - intervalMap.computeIfAbsent(interval, i -> triggerObservableBody(klinesStream(instrument, interval)).share()); - - return intervalMap; - }).get(interval); + intervalMap.computeIfAbsent( + interval, i -> triggerObservableBody(klinesStream(instrument, interval)).share()); + return intervalMap; + }) + .get(interval); } private static Map createMapIfNull(Map map) { @@ -227,9 +235,15 @@ private Observable klinesStream(Instrument instrument, KlineInterv return service .subscribeChannel( getChannelPrefix(instrument) + "@" + KLINE.getType() + "_" + interval.code()) - .map(it -> this.readTransaction(it, KLINE_TYPE, "kline").getData().toBinanceKline(instrument instanceof FuturesContract)) - .filter(binanceKline -> binanceKline.getInstrument().equals(instrument) - && binanceKline.getInterval().equals(interval)); + .map( + it -> + this.readTransaction(it, KLINE_TYPE, "kline") + .getData() + .toBinanceKline(instrument instanceof FuturesContract)) + .filter( + binanceKline -> + binanceKline.getInstrument().equals(instrument) + && binanceKline.getInterval().equals(interval)); } /** @@ -239,8 +253,7 @@ private Observable klinesStream(Instrument instrument, KlineInterv * This api provides the ability to start receiving updates immediately. It is allowed to * subscribe to this api and {@link #getOrderBook(Instrument, Object...)} at the same time. */ - public Observable> getOrderBookUpdates( - Instrument instrument) { + public Observable> getOrderBookUpdates(Instrument instrument) { if (!service.isLiveSubscriptionEnabled() && !service.getProductSubscription().getOrderBook().contains(instrument)) { throw new UpFrontSubscriptionRequiredException(); @@ -255,12 +268,16 @@ private Observable> initOrderBookUpdateIfAbsent(Instrument return createOrderBookUpdatesObservable(instrument); } - private Observable> createOrderBookUpdatesObservable(Instrument instrument) { + private Observable> createOrderBookUpdatesObservable( + Instrument instrument) { return orderBookRawUpdatesSubscriptions .get(instrument) .flatMap( depthTransaction -> - Observable.create(emitter -> emitter.onNext(extractOrderBookUpdatesToArray(instrument, depthTransaction)))); + Observable.create( + emitter -> + emitter.onNext( + extractOrderBookUpdatesToArray(instrument, depthTransaction)))); } private String channelFromCurrency(Instrument instrument, String subscriptionType) { @@ -276,8 +293,8 @@ private String channelFromCurrency(Instrument instrument, String subscriptionTyp private String getChannelPrefix(Instrument instrument) { return (instrument instanceof FuturesContract) - ? ((FuturesContract) instrument).getCurrencyPair().toString().replace("/","").toLowerCase() - : instrument.toString().replace("/","").toLowerCase(); + ? ((FuturesContract) instrument).getCurrencyPair().toString().replace("/", "").toLowerCase() + : instrument.toString().replace("/", "").toLowerCase(); } /** @@ -286,7 +303,8 @@ private String getChannelPrefix(Instrument instrument) { *

As we receive messages as soon as the connection is open, we need to register subscribers to * handle these before the first messages arrive. */ - public void openSubscriptions(ProductSubscription productSubscription, KlineSubscription klineSubscription) { + public void openSubscriptions( + ProductSubscription productSubscription, KlineSubscription klineSubscription) { klineSubscription.getKlines().forEach((this::initKlineSubscription)); productSubscription.getTicker().forEach(this::initTickerSubscription); productSubscription.getOrderBook().forEach(this::initRawOrderBookUpdatesSubscription); @@ -294,11 +312,16 @@ public void openSubscriptions(ProductSubscription productSubscription, KlineSubs } private void initKlineSubscription(Instrument instrument, Set klineIntervals) { - klineSubscriptions.compute(instrument, (c, v) -> { - Map> intervalMap = createMapIfNull(v); - klineIntervals.forEach(interval -> intervalMap.put(interval, triggerObservableBody(klinesStream(instrument, interval)))); - return intervalMap; - }); + klineSubscriptions.compute( + instrument, + (c, v) -> { + Map> intervalMap = createMapIfNull(v); + klineIntervals.forEach( + interval -> + intervalMap.put( + interval, triggerObservableBody(klinesStream(instrument, interval)))); + return intervalMap; + }); } /** @@ -308,11 +331,14 @@ private void initKlineSubscription(Instrument instrument, Set kli */ public void unsubscribe(Instrument instrument, BinanceSubscriptionType subscriptionType) { if (subscriptionType == KLINE) { - klineSubscriptions.computeIfPresent(instrument, (k, intervalMap) -> { - intervalMap.keySet() - .forEach(klineInterval -> unsubscribeKline(instrument, klineInterval)); - return null; - }); + klineSubscriptions.computeIfPresent( + instrument, + (k, intervalMap) -> { + intervalMap + .keySet() + .forEach(klineInterval -> unsubscribeKline(instrument, klineInterval)); + return null; + }); } else { unsubscribe(instrument, subscriptionType, null); } @@ -322,15 +348,17 @@ public void unsubscribeKline(Instrument instrument, KlineInterval klineInterval) unsubscribe(instrument, KLINE, klineInterval); } - private void unsubscribe(Instrument instrument, BinanceSubscriptionType subscriptionType, KlineInterval klineInterval) { + private void unsubscribe( + Instrument instrument, + BinanceSubscriptionType subscriptionType, + KlineInterval klineInterval) { if (!service.isLiveSubscriptionEnabled()) { throw new UnsupportedOperationException( "Unsubscribe not supported for Binance when live Subscription/Unsubscription is disabled. " + "Call BinanceStreamingExchange.enableLiveSubscription() to active it"); } - String channelId = - getChannelId(instrument, subscriptionType, klineInterval); + String channelId = getChannelId(instrument, subscriptionType, klineInterval); this.service.unsubscribeChannel(channelId); switch (subscriptionType) { @@ -349,16 +377,22 @@ private void unsubscribe(Instrument instrument, BinanceSubscriptionType subscrip bookTickerSubscriptions.remove(instrument); break; case KLINE: - klineSubscriptions.computeIfPresent(instrument, (k, intervalMap) -> { - intervalMap.remove(klineInterval); - return intervalMap; - }); + klineSubscriptions.computeIfPresent( + instrument, + (k, intervalMap) -> { + intervalMap.remove(klineInterval); + return intervalMap; + }); default: - throw new IllegalArgumentException("Subscription type not supported to unsubscribe from stream"); + throw new IllegalArgumentException( + "Subscription type not supported to unsubscribe from stream"); } } - private String getChannelId(Instrument instrument, BinanceSubscriptionType subscriptionType, KlineInterval klineInterval) { + private String getChannelId( + Instrument instrument, + BinanceSubscriptionType subscriptionType, + KlineInterval klineInterval) { return getChannelPrefix(instrument) + "@" + subscriptionType.getType() @@ -366,8 +400,7 @@ private String getChannelId(Instrument instrument, BinanceSubscriptionType subsc } private void initTradeSubscription(Instrument instrument) { - tradeSubscriptions.put( - instrument, triggerObservableBody(rawTradeStream(instrument)).share()); + tradeSubscriptions.put(instrument, triggerObservableBody(rawTradeStream(instrument)).share()); } private void initTickerSubscription(Instrument instrument) { @@ -387,12 +420,15 @@ private void initRawOrderBookUpdatesSubscription(Instrument instrument) { private Observable rawTickerStream(Instrument instrument) { return service - .subscribeChannel( - channelFromCurrency(instrument, BinanceSubscriptionType.TICKER.getType())) + .subscribeChannel(channelFromCurrency(instrument, BinanceSubscriptionType.TICKER.getType())) .map( it -> this.readTransaction(it, TICKER_TYPE, "ticker")) - .filter(transaction -> BinanceAdapters.adaptSymbol(transaction.getData().getSymbol(), instrument instanceof FuturesContract).equals(instrument)) + .filter( + transaction -> + BinanceAdapters.adaptSymbol( + transaction.getData().getSymbol(), instrument instanceof FuturesContract) + .equals(instrument)) .map(transaction -> transaction.getData().getTicker()); } @@ -404,7 +440,12 @@ private Observable rawBookTickerStream(Instrument instrument) it -> this.readTransaction( it, BOOK_TICKER_TYPE, "book ticker")) - .filter(transaction -> BinanceAdapters.adaptSymbol(transaction.getData().getTicker().getSymbol(), instrument instanceof FuturesContract).equals(instrument)) + .filter( + transaction -> + BinanceAdapters.adaptSymbol( + transaction.getData().getTicker().getSymbol(), + instrument instanceof FuturesContract) + .equals(instrument)) .map(transaction -> transaction.getData().getTicker()); } @@ -441,17 +482,18 @@ void initSnapshotIfInvalid(Instrument instrument) { } } - private Observable rawOrderBookUpdates( - Instrument instrument) { + private Observable rawOrderBookUpdates(Instrument instrument) { return service - .subscribeChannel( - channelFromCurrency(instrument, BinanceSubscriptionType.DEPTH.getType())) + .subscribeChannel(channelFromCurrency(instrument, BinanceSubscriptionType.DEPTH.getType())) .map( it -> this.readTransaction( it, DEPTH_TYPE, "order book")) .map(BinanceWebsocketTransaction::getData) - .filter(data -> BinanceAdapters.adaptSymbol(data.getSymbol(), instrument instanceof FuturesContract).equals(instrument)); + .filter( + data -> + BinanceAdapters.adaptSymbol(data.getSymbol(), instrument instanceof FuturesContract) + .equals(instrument)); } private Observable createOrderBookObservable(Instrument instrument) { @@ -525,10 +567,13 @@ private Observable createOrderBookObservable(Instrument instrument) { private Observable rawTradeStream(Instrument instrument) { return service - .subscribeChannel( - channelFromCurrency(instrument, BinanceSubscriptionType.TRADE.getType())) + .subscribeChannel(channelFromCurrency(instrument, BinanceSubscriptionType.TRADE.getType())) .map(it -> this.readTransaction(it, TRADE_TYPE, "trade")) - .filter(transaction -> BinanceAdapters.adaptSymbol(transaction.getData().getSymbol(), instrument instanceof FuturesContract).equals(instrument)) + .filter( + transaction -> + BinanceAdapters.adaptSymbol( + transaction.getData().getSymbol(), instrument instanceof FuturesContract) + .equals(instrument)) .map(transaction -> transaction.getData().getRawTrade()); } @@ -553,7 +598,7 @@ private BinanceWebsocketTransaction readTransaction( } private Stream extractOrderBookUpdates( - Instrument instrument, DepthBinanceWebSocketTransaction depthTransaction) { + Instrument instrument, DepthBinanceWebSocketTransaction depthTransaction) { BinanceOrderbook orderBookDiff = depthTransaction.getOrderBook(); Stream bidStream = @@ -584,7 +629,7 @@ private Stream extractOrderBookUpdates( } private List extractOrderBookUpdatesToArray( - Instrument instrument, DepthBinanceWebSocketTransaction depthTransaction) { + Instrument instrument, DepthBinanceWebSocketTransaction depthTransaction) { BinanceOrderbook orderBookDiff = depthTransaction.getOrderBook(); List orderBookUpdates = new ArrayList<>(); orderBookDiff.bids.forEach( @@ -650,9 +695,9 @@ private static JavaType getDepthType() { private static JavaType getFundingRateType() { return getObjectMapper() - .getTypeFactory() - .constructType( - new TypeReference>() {}); + .getTypeFactory() + .constructType( + new TypeReference>() {}); } private static JavaType getKlineType() { diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingService.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingService.java index af1bf3f3f9f..ec9b0bc1eda 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingService.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingService.java @@ -40,7 +40,10 @@ public class BinanceStreamingService extends JsonNettyStreamingService { private final Map liveSubscriptionMessage = new ConcurrentHashMap<>(); - public BinanceStreamingService(String baseUri, ProductSubscription productSubscription, KlineSubscription klineSubscription) { + public BinanceStreamingService( + String baseUri, + ProductSubscription productSubscription, + KlineSubscription klineSubscription) { super(baseUri, Integer.MAX_VALUE); this.productSubscription = productSubscription; this.klineSubscription = klineSubscription; @@ -103,8 +106,8 @@ protected void handleMessage(JsonNode message) { /** * We override this method because we must not use Live Subscription in case of reconnection. The * reason is that Binance has a Websocket limits to 5 incoming messages per second. If we pass - * this limit the socket is closed automatically by Binance. See - * ... + * this limit the socket is closed automatically by Binance. See ... * for more details. All the channels will be resubscribed at connection time. */ @Override @@ -221,8 +224,8 @@ public boolean isLiveSubscriptionEnabled() { /** * Live Unsubscription from stream. This send a message through the websocket to Binance with - * method UNSUBSCRIBE. (see - * ... + * method UNSUBSCRIBE. (see ... * for more details) This is the only way to really stop receiving data from the stream * (Disposable.dispose() dispose the resource but don't stop the data to be received from * Binance). @@ -244,13 +247,13 @@ public void unsubscribeChannel(final String channelId) { @Override protected WebSocketClientHandler getWebSocketClientHandler( - WebSocketClientHandshaker handshake, WebSocketClientHandler.WebSocketMessageHandler handler) { + WebSocketClientHandshaker handshake, WebSocketClientHandler.WebSocketMessageHandler handler) { LOGGER.info("Registering BinanceWebSocketClientHandler"); return new BinanceWebSocketClientHandler(handshake, handler); } public void setChannelInactiveHandler( - WebSocketClientHandler.WebSocketMessageHandler channelInactiveHandler) { + WebSocketClientHandler.WebSocketMessageHandler channelInactiveHandler) { this.channelInactiveHandler = channelInactiveHandler; } @@ -260,7 +263,7 @@ public void setChannelInactiveHandler( class BinanceWebSocketClientHandler extends NettyWebSocketClientHandler { public BinanceWebSocketClientHandler( - WebSocketClientHandshaker handshake, WebSocketMessageHandler handler) { + WebSocketClientHandshaker handshake, WebSocketMessageHandler handler) { super(handshake, handler); } diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingTradeService.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingTradeService.java index c35e7c97cd7..e21f8eb6418 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingTradeService.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceStreamingTradeService.java @@ -44,7 +44,7 @@ public Observable getRawExecutionReports( public Observable getOrderChanges(boolean isFuture) { return getRawExecutionReports() .filter(r -> !r.getExecutionType().equals(ExecutionType.REJECTED)) - .map(binanceExec-> binanceExec.toOrder(isFuture)); + .map(binanceExec -> binanceExec.toOrder(isFuture)); } @Override @@ -59,18 +59,20 @@ public Observable getUserTrades(CurrencyPair currencyPair, Object... @Override public Observable getOrderChanges(Instrument instrument, Object... args) { - return getOrderChanges(instrument instanceof FuturesContract).filter(oc -> instrument.equals(oc.getInstrument())); + return getOrderChanges(instrument instanceof FuturesContract) + .filter(oc -> instrument.equals(oc.getInstrument())); } @Override public Observable getUserTrades(Instrument instrument, Object... args) { - return getUserTrades(instrument instanceof FuturesContract).filter(t -> t.getInstrument().equals(instrument)); + return getUserTrades(instrument instanceof FuturesContract) + .filter(t -> t.getInstrument().equals(instrument)); } public Observable getUserTrades(boolean isFuture) { return getRawExecutionReports() .filter(r -> r.getExecutionType().equals(ExecutionType.TRADE)) - .map(binanceExec-> binanceExec.toUserTrade(isFuture)); + .map(binanceExec -> binanceExec.toUserTrade(isFuture)); } /** Registers subsriptions with the streaming service for the given products. */ diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceUserDataStreamingService.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceUserDataStreamingService.java index d143e08c245..38bcae2de42 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceUserDataStreamingService.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/BinanceUserDataStreamingService.java @@ -6,7 +6,6 @@ import info.bitrich.xchangestream.service.netty.WebSocketClientCompressionAllowClientNoContextAndServerNoContextHandler; import io.netty.handler.codec.http.websocketx.extensions.WebSocketClientExtensionHandler; import io.reactivex.Observable; -import java.io.IOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/KlineSubscription.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/KlineSubscription.java index cbb37bbe74d..546d24092ef 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/KlineSubscription.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/KlineSubscription.java @@ -1,16 +1,17 @@ package info.bitrich.xchangestream.binance; -import org.knowm.xchange.binance.dto.marketdata.KlineInterval; -import org.knowm.xchange.instrument.Instrument; - import java.util.Map; import java.util.Optional; import java.util.Set; +import org.knowm.xchange.binance.dto.marketdata.KlineInterval; +import org.knowm.xchange.instrument.Instrument; public class KlineSubscription { private final Map> klines; - public KlineSubscription(Map> klines) {this.klines = klines;} + public KlineSubscription(Map> klines) { + this.klines = klines; + } public Map> getKlines() { return klines; diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/DepthBinanceWebSocketTransaction.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/DepthBinanceWebSocketTransaction.java index 31d18692492..7c0bd58f148 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/DepthBinanceWebSocketTransaction.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/DepthBinanceWebSocketTransaction.java @@ -3,7 +3,6 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; - import lombok.Getter; import org.knowm.xchange.binance.dto.marketdata.BinanceOrderbook; diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/ExecutionReportBinanceUserTransaction.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/ExecutionReportBinanceUserTransaction.java index cd789d27700..cae4cfb13c8 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/ExecutionReportBinanceUserTransaction.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/ExecutionReportBinanceUserTransaction.java @@ -2,7 +2,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; - import lombok.Getter; import org.knowm.xchange.binance.BinanceAdapters; import org.knowm.xchange.binance.dto.trade.BinanceOrder; @@ -131,7 +130,8 @@ public Order toOrder(boolean isFuture) { side, stopPrice, BigDecimal.ZERO, - timestamp), isFuture); + timestamp), + isFuture); } @Override diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/FundingRateWebsocketTransaction.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/FundingRateWebsocketTransaction.java index c9a8cd425dd..6c07defeec8 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/FundingRateWebsocketTransaction.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/FundingRateWebsocketTransaction.java @@ -2,47 +2,47 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import org.knowm.xchange.binance.BinanceAdapters; -import org.knowm.xchange.dto.marketdata.FundingRate; - import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Date; +import lombok.Getter; +import org.knowm.xchange.binance.BinanceAdapters; +import org.knowm.xchange.dto.marketdata.FundingRate; @JsonInclude(JsonInclude.Include.NON_NULL) @Getter -public class FundingRateWebsocketTransaction extends ProductBinanceWebSocketTransaction{ +public class FundingRateWebsocketTransaction extends ProductBinanceWebSocketTransaction { - private final BigDecimal markPrice; - private final BigDecimal indexPrice; - private final BigDecimal estimatedSettlePrice; - private final BigDecimal fundingRate; - private final Date nextFundingTime; + private final BigDecimal markPrice; + private final BigDecimal indexPrice; + private final BigDecimal estimatedSettlePrice; + private final BigDecimal fundingRate; + private final Date nextFundingTime; - public FundingRateWebsocketTransaction( - @JsonProperty("e") String eventType, - @JsonProperty("E") String eventTime, - @JsonProperty("s") String symbol, - @JsonProperty("p") BigDecimal markPrice, - @JsonProperty("i") BigDecimal indexPrice, - @JsonProperty("P") BigDecimal estimatedSettlePrice, - @JsonProperty("r") BigDecimal fundingRate, - @JsonProperty("T") Date nextFundingTime) { - super(eventType, eventTime, symbol); - this.markPrice = markPrice; - this.indexPrice = indexPrice; - this.estimatedSettlePrice = estimatedSettlePrice; - this.fundingRate = fundingRate; - this.nextFundingTime = nextFundingTime; - } + public FundingRateWebsocketTransaction( + @JsonProperty("e") String eventType, + @JsonProperty("E") String eventTime, + @JsonProperty("s") String symbol, + @JsonProperty("p") BigDecimal markPrice, + @JsonProperty("i") BigDecimal indexPrice, + @JsonProperty("P") BigDecimal estimatedSettlePrice, + @JsonProperty("r") BigDecimal fundingRate, + @JsonProperty("T") Date nextFundingTime) { + super(eventType, eventTime, symbol); + this.markPrice = markPrice; + this.indexPrice = indexPrice; + this.estimatedSettlePrice = estimatedSettlePrice; + this.fundingRate = fundingRate; + this.nextFundingTime = nextFundingTime; + } - public FundingRate toFundingRate() { - return new FundingRate.Builder() - .fundingRate8h(fundingRate) - .fundingRate1h(fundingRate.divide(BigDecimal.valueOf(8), fundingRate.scale(), RoundingMode.HALF_EVEN)) - .fundingRateDate(nextFundingTime) - .instrument(BinanceAdapters.adaptSymbol(symbol,true)) - .build(); - } + public FundingRate toFundingRate() { + return new FundingRate.Builder() + .fundingRate8h(fundingRate) + .fundingRate1h( + fundingRate.divide(BigDecimal.valueOf(8), fundingRate.scale(), RoundingMode.HALF_EVEN)) + .fundingRateDate(nextFundingTime) + .instrument(BinanceAdapters.adaptSymbol(symbol, true)) + .build(); + } } diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/KlineBinanceWebSocketTransaction.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/KlineBinanceWebSocketTransaction.java index 747b470f613..bca117b995d 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/KlineBinanceWebSocketTransaction.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/KlineBinanceWebSocketTransaction.java @@ -13,41 +13,43 @@ @Getter public class KlineBinanceWebSocketTransaction extends BaseBinanceWebSocketTransaction { - private final String symbol; - private final Map kline; - private final KlineInterval klineInterval; + private final String symbol; + private final Map kline; + private final KlineInterval klineInterval; - public KlineBinanceWebSocketTransaction( - @JsonProperty("e") String eventType, - @JsonProperty("E") String eventTime, - @JsonProperty("s") String symbol, - @JsonProperty("k") Map kline) { - super(eventType, eventTime); - this.symbol = symbol; - this.kline = kline; - this.klineInterval = Arrays.stream(KlineInterval.values()) - .filter(i -> i.code().equals(kline.get("i"))) - .collect(singletonCollector()); - } + public KlineBinanceWebSocketTransaction( + @JsonProperty("e") String eventType, + @JsonProperty("E") String eventTime, + @JsonProperty("s") String symbol, + @JsonProperty("k") Map kline) { + super(eventType, eventTime); + this.symbol = symbol; + this.kline = kline; + this.klineInterval = + Arrays.stream(KlineInterval.values()) + .filter(i -> i.code().equals(kline.get("i"))) + .collect(singletonCollector()); + } - private static Object[] getParameters(Map kline) { - Object[] parameters = new Object[12]; - parameters[0] = kline.get("t"); - parameters[1] = kline.get("o"); - parameters[2] = kline.get("h"); - parameters[3] = kline.get("l"); - parameters[4] = kline.get("c"); - parameters[5] = kline.get("v"); - parameters[6] = kline.get("T"); - parameters[7] = kline.get("q"); - parameters[8] = kline.get("n"); - parameters[9] = kline.get("V"); - parameters[10] = kline.get("Q"); - parameters[11] = kline.get("x"); - return parameters; - } + private static Object[] getParameters(Map kline) { + Object[] parameters = new Object[12]; + parameters[0] = kline.get("t"); + parameters[1] = kline.get("o"); + parameters[2] = kline.get("h"); + parameters[3] = kline.get("l"); + parameters[4] = kline.get("c"); + parameters[5] = kline.get("v"); + parameters[6] = kline.get("T"); + parameters[7] = kline.get("q"); + parameters[8] = kline.get("n"); + parameters[9] = kline.get("V"); + parameters[10] = kline.get("Q"); + parameters[11] = kline.get("x"); + return parameters; + } - public BinanceKline toBinanceKline(boolean isFuture) { - return new BinanceKline(BinanceAdapters.adaptSymbol(symbol, isFuture), klineInterval, getParameters(kline)); - } + public BinanceKline toBinanceKline(boolean isFuture) { + return new BinanceKline( + BinanceAdapters.adaptSymbol(symbol, isFuture), klineInterval, getParameters(kline)); + } } diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/OutboundAccountPositionBinanceWebsocketTransaction.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/OutboundAccountPositionBinanceWebsocketTransaction.java index 7cb87c2fd95..6265e62d2e9 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/OutboundAccountPositionBinanceWebsocketTransaction.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/OutboundAccountPositionBinanceWebsocketTransaction.java @@ -1,12 +1,11 @@ package info.bitrich.xchangestream.binance.dto; import com.fasterxml.jackson.annotation.JsonProperty; -import org.knowm.xchange.dto.account.Balance; - import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.stream.Collectors; +import org.knowm.xchange.dto.account.Balance; public class OutboundAccountPositionBinanceWebsocketTransaction extends BaseBinanceWebSocketTransaction { @@ -14,19 +13,16 @@ public class OutboundAccountPositionBinanceWebsocketTransaction private final long lastUpdateTimestamp; private final List balances; - public OutboundAccountPositionBinanceWebsocketTransaction( @JsonProperty("e") String eventType, @JsonProperty("E") String eventTime, @JsonProperty("u") long lastUpdateTimestamp, - @JsonProperty("B") List balances - ) { + @JsonProperty("B") List balances) { super(eventType, eventTime); this.lastUpdateTimestamp = lastUpdateTimestamp; this.balances = balances; } - public long getLastUpdateTimestamp() { return lastUpdateTimestamp; } @@ -37,22 +33,21 @@ public List getBalances() { public List toBalanceList() { return balances.stream() - .map( - b -> - new Balance( - b.getCurrency(), - b.getTotal(), - b.getAvailable(), - b.getLocked(), - BigDecimal.ZERO, - BigDecimal.ZERO, - BigDecimal.ZERO, - BigDecimal.ZERO, - new Date(lastUpdateTimestamp))) - .collect(Collectors.toList()); + .map( + b -> + new Balance( + b.getCurrency(), + b.getTotal(), + b.getAvailable(), + b.getLocked(), + BigDecimal.ZERO, + BigDecimal.ZERO, + BigDecimal.ZERO, + BigDecimal.ZERO, + new Date(lastUpdateTimestamp))) + .collect(Collectors.toList()); } - @Override public String toString() { return "OutboundAccountInfoBinanceWebsocketTransaction [ lastUpdateTimestamp=" diff --git a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/TickerBinanceWebsocketTransaction.java b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/TickerBinanceWebsocketTransaction.java index 1e9055d49d8..08c68600ff1 100644 --- a/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/TickerBinanceWebsocketTransaction.java +++ b/xchange-stream-binance/src/main/java/info/bitrich/xchangestream/binance/dto/TickerBinanceWebsocketTransaction.java @@ -2,7 +2,6 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; - import org.knowm.xchange.binance.dto.marketdata.BinanceTicker24h; public class TickerBinanceWebsocketTransaction extends ProductBinanceWebSocketTransaction { diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceBookTickerRealtimeExample.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceBookTickerRealtimeExample.java index e422afff545..b64b6cb33d4 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceBookTickerRealtimeExample.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceBookTickerRealtimeExample.java @@ -1,13 +1,13 @@ package info.bitrich.xchangestream.binance; +import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_REALTIME_BOOK_TICKER; + import info.bitrich.xchangestream.core.ProductSubscription; import info.bitrich.xchangestream.core.StreamingExchange; import info.bitrich.xchangestream.core.StreamingExchangeFactory; import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.currency.CurrencyPair; -import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_REALTIME_BOOK_TICKER; - /** * This is a useful test for profiling behaviour of the realtime book ticker stream under load. Run * this with a profiler to ensure that processing is efficient and free of memory leaks diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceFuturesPublicStreamsTest.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceFuturesPublicStreamsTest.java index aae74bdfdea..89518cf41a2 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceFuturesPublicStreamsTest.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceFuturesPublicStreamsTest.java @@ -1,10 +1,13 @@ package info.bitrich.xchangestream.binance; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + import info.bitrich.xchangestream.binancefuture.BinanceFutureStreamingExchange; import info.bitrich.xchangestream.core.ProductSubscription; import info.bitrich.xchangestream.core.StreamingExchange; import info.bitrich.xchangestream.core.StreamingExchangeFactory; import io.reactivex.disposables.Disposable; +import java.util.concurrent.TimeUnit; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -12,18 +15,14 @@ import org.knowm.xchange.dto.meta.InstrumentMetaData; import org.knowm.xchange.instrument.Instrument; -import java.util.concurrent.TimeUnit; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - @Ignore public class BinanceFuturesPublicStreamsTest { - StreamingExchange exchange; - Instrument instrument = new FuturesContract("BTC/USDT/PERP"); + StreamingExchange exchange; + Instrument instrument = new FuturesContract("BTC/USDT/PERP"); - @Before - public void setup(){ + @Before + public void setup() { exchange = StreamingExchangeFactory.INSTANCE.createExchange(BinanceFutureStreamingExchange.class); exchange @@ -35,53 +34,71 @@ public void setup(){ .addTrades(instrument) .build()) .blockingAwait(); - InstrumentMetaData instrumentMetaData = exchange.getExchangeMetaData().getInstruments().get(instrument); - assertThat(instrumentMetaData.getVolumeScale()).isNotNull(); - assertThat(instrumentMetaData.getPriceScale()).isNotNull(); - assertThat(instrumentMetaData.getMinimumAmount()).isNotNull(); - } - @Test - public void checkOrderBookStream() throws InterruptedException { - - Disposable dis = exchange.getStreamingMarketDataService().getOrderBook(instrument).subscribe(orderBook -> { - assertThat(orderBook.getBids().get(0).getLimitPrice()).isLessThan(orderBook.getAsks().get(0).getLimitPrice()); - assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); - }); - - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - } - - @Test - public void checkTickerStream() throws InterruptedException { - - Disposable dis = exchange.getStreamingMarketDataService().getTicker(instrument) - .subscribe(ticker -> assertThat(ticker.getInstrument()).isEqualTo(instrument)); - - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - } - - @Test - public void checkTradesStream() throws InterruptedException { - - Disposable dis = exchange.getStreamingMarketDataService().getTrades(instrument) - .subscribe(trade -> assertThat(trade.getInstrument()).isEqualTo(instrument)); - - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - } - - @Test - public void checkFundingRateStream() throws InterruptedException { - - Disposable dis = exchange.getStreamingMarketDataService().getFundingRate(instrument) - .subscribe(fundingRate -> { - assertThat(fundingRate.getInstrument()).isEqualTo(instrument); -// System.out.println(fundingRate); + InstrumentMetaData instrumentMetaData = + exchange.getExchangeMetaData().getInstruments().get(instrument); + assertThat(instrumentMetaData.getVolumeScale()).isNotNull(); + assertThat(instrumentMetaData.getPriceScale()).isNotNull(); + assertThat(instrumentMetaData.getMinimumAmount()).isNotNull(); + } + + @Test + public void checkOrderBookStream() throws InterruptedException { + + Disposable dis = + exchange + .getStreamingMarketDataService() + .getOrderBook(instrument) + .subscribe( + orderBook -> { + assertThat(orderBook.getBids().get(0).getLimitPrice()) + .isLessThan(orderBook.getAsks().get(0).getLimitPrice()); + assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); + }); + + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + } + + @Test + public void checkTickerStream() throws InterruptedException { + + Disposable dis = + exchange + .getStreamingMarketDataService() + .getTicker(instrument) + .subscribe(ticker -> assertThat(ticker.getInstrument()).isEqualTo(instrument)); + + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + } + + @Test + public void checkTradesStream() throws InterruptedException { + + Disposable dis = + exchange + .getStreamingMarketDataService() + .getTrades(instrument) + .subscribe(trade -> assertThat(trade.getInstrument()).isEqualTo(instrument)); + + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + } + + @Test + public void checkFundingRateStream() throws InterruptedException { + + Disposable dis = + exchange + .getStreamingMarketDataService() + .getFundingRate(instrument) + .subscribe( + fundingRate -> { + assertThat(fundingRate.getInstrument()).isEqualTo(instrument); + // System.out.println(fundingRate); }); - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - } + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + } } diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceIntegration.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceIntegration.java index 85f9db49c8a..819842f8f09 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceIntegration.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceIntegration.java @@ -1,5 +1,8 @@ package info.bitrich.xchangestream.binance; +import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_HIGHER_UPDATE_FREQUENCY; +import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_REALTIME_BOOK_TICKER; + import info.bitrich.xchangestream.core.ProductSubscription; import info.bitrich.xchangestream.core.StreamingExchangeFactory; import org.junit.Assert; @@ -7,9 +10,6 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.currency.CurrencyPair; -import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_HIGHER_UPDATE_FREQUENCY; -import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_REALTIME_BOOK_TICKER; - public class BinanceIntegration { @Test diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceKlineExample.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceKlineExample.java index bb2ec646aa8..18c3ec3f1c1 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceKlineExample.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceKlineExample.java @@ -2,15 +2,14 @@ import info.bitrich.xchangestream.core.ProductSubscription; import info.bitrich.xchangestream.core.StreamingExchangeFactory; -import org.knowm.xchange.ExchangeSpecification; -import org.knowm.xchange.binance.dto.marketdata.KlineInterval; -import org.knowm.xchange.instrument.Instrument; - import java.util.Arrays; import java.util.Map; import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; +import org.knowm.xchange.ExchangeSpecification; +import org.knowm.xchange.binance.dto.marketdata.KlineInterval; +import org.knowm.xchange.instrument.Instrument; public class BinanceKlineExample { @@ -19,17 +18,22 @@ public static void main(String[] args) throws InterruptedException { new ExchangeSpecification(BinanceStreamingExchange.class); exchangeSpecification.setShouldLoadRemoteMetaData(true); BinanceStreamingExchange exchange = - (BinanceStreamingExchange) StreamingExchangeFactory.INSTANCE.createExchange(exchangeSpecification); + (BinanceStreamingExchange) + StreamingExchangeFactory.INSTANCE.createExchange(exchangeSpecification); - exchange.connect(getKlineSubscription(exchange), getProductSubscription(exchange)).blockingAwait(); + exchange + .connect(getKlineSubscription(exchange), getProductSubscription(exchange)) + .blockingAwait(); Thread.sleep(Long.MAX_VALUE); } private static KlineSubscription getKlineSubscription(BinanceStreamingExchange exchange) { - Set klineIntervals = Arrays.stream(KlineInterval.values()).collect(Collectors.toSet()); - Map> klineSubscriptionMap = exchange.getExchangeInstruments().stream() - .limit(50) - .collect(Collectors.toMap(Function.identity(), c-> klineIntervals)); + Set klineIntervals = + Arrays.stream(KlineInterval.values()).collect(Collectors.toSet()); + Map> klineSubscriptionMap = + exchange.getExchangeInstruments().stream() + .limit(50) + .collect(Collectors.toMap(Function.identity(), c -> klineIntervals)); return new KlineSubscription(klineSubscriptionMap); } diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceLiveFutureSubscriptionExample.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceLiveFutureSubscriptionExample.java index 0d95aca25c2..fa189f1635d 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceLiveFutureSubscriptionExample.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceLiveFutureSubscriptionExample.java @@ -4,16 +4,15 @@ import info.bitrich.xchangestream.core.ProductSubscription; import info.bitrich.xchangestream.core.StreamingExchangeFactory; import io.reactivex.disposables.Disposable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.derivative.FuturesContract; import org.knowm.xchange.instrument.Instrument; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - /** * Copied from BinanceLiveSubscriptionExample and replaced with BinanceFutureStreamingExchange from * BinanceStreamingExchange. diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceLiveSubscriptionExample.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceLiveSubscriptionExample.java index 45fbe03c75e..b302e32de64 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceLiveSubscriptionExample.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceLiveSubscriptionExample.java @@ -3,19 +3,18 @@ import info.bitrich.xchangestream.core.ProductSubscription; import info.bitrich.xchangestream.core.StreamingExchangeFactory; import io.reactivex.disposables.Disposable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.instrument.Instrument; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - /** - * This class test the Live Subscription/Unsubscription feature of the Binance Api. See - * ... + * This class test the Live Subscription/Unsubscription feature of the Binance Api. See ... * *

Before this addon, the subscription of the currency pairs required to be at the connection * time, so if we wanted to add new currencies to the stream, it was required to disconnect from the diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceManualExample.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceManualExample.java index bccf2388399..79b590b2475 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceManualExample.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceManualExample.java @@ -51,8 +51,7 @@ public static void main(String[] args) throws InterruptedException { exchange .getStreamingMarketDataService() .getTrades(CurrencyPair.BTC_USDT) - .subscribe( - trade -> LOG.info("Trade: {}", trade)); + .subscribe(trade -> LOG.info("Trade: {}", trade)); Disposable orderChanges = null; Disposable userTrades = null; @@ -130,15 +129,16 @@ private static Disposable orderbooks(StreamingExchange exchange, String identifi .getStreamingMarketDataService() .getOrderBook(CurrencyPair.LTC_BTC) .subscribe( - orderBook -> LOG.info( - "Order Book ({}): askDepth={} ask={} askSize={} bidDepth={}. bid={}, bidSize={}", - identifier, - orderBook.getAsks().size(), - orderBook.getAsks().get(0).getLimitPrice(), - orderBook.getAsks().get(0).getRemainingAmount(), - orderBook.getBids().size(), - orderBook.getBids().get(0).getLimitPrice(), - orderBook.getBids().get(0).getRemainingAmount()), + orderBook -> + LOG.info( + "Order Book ({}): askDepth={} ask={} askSize={} bidDepth={}. bid={}, bidSize={}", + identifier, + orderBook.getAsks().size(), + orderBook.getAsks().get(0).getLimitPrice(), + orderBook.getAsks().get(0).getRemainingAmount(), + orderBook.getBids().size(), + orderBook.getBids().get(0).getLimitPrice(), + orderBook.getBids().get(0).getRemainingAmount()), throwable -> LOG.error("ERROR in getting order book: ", throwable)); } diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinancePublicStreamsTest.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinancePublicStreamsTest.java index 5f1cca95b24..f64223416c4 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinancePublicStreamsTest.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinancePublicStreamsTest.java @@ -1,9 +1,12 @@ package info.bitrich.xchangestream.binance; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + import info.bitrich.xchangestream.core.ProductSubscription; import info.bitrich.xchangestream.core.StreamingExchange; import info.bitrich.xchangestream.core.StreamingExchangeFactory; import io.reactivex.disposables.Disposable; +import java.util.concurrent.TimeUnit; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -13,62 +16,81 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.concurrent.TimeUnit; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - @Ignore public class BinancePublicStreamsTest { - private static final Logger LOGGER = LoggerFactory.getLogger(BinancePublicStreamsTest.class); - StreamingExchange exchange; - Instrument instrument = new CurrencyPair("BTC/USDT"); + private static final Logger LOGGER = LoggerFactory.getLogger(BinancePublicStreamsTest.class); + StreamingExchange exchange; + Instrument instrument = new CurrencyPair("BTC/USDT"); - @Before - public void setup(){ - exchange = StreamingExchangeFactory.INSTANCE.createExchange(BinanceStreamingExchange.class); - exchange.connect(ProductSubscription.create().addOrderbook(instrument).addTicker(instrument).addTrades(instrument).build()).blockingAwait(); - InstrumentMetaData instrumentMetaData = exchange.getExchangeMetaData().getInstruments().get(instrument); - assertThat(instrumentMetaData.getVolumeScale()).isNotNull(); - assertThat(instrumentMetaData.getPriceScale()).isNotNull(); - assertThat(instrumentMetaData.getMinimumAmount()).isNotNull(); - } - @Test - public void checkOrderBookStream() throws InterruptedException { + @Before + public void setup() { + exchange = StreamingExchangeFactory.INSTANCE.createExchange(BinanceStreamingExchange.class); + exchange + .connect( + ProductSubscription.create() + .addOrderbook(instrument) + .addTicker(instrument) + .addTrades(instrument) + .build()) + .blockingAwait(); + InstrumentMetaData instrumentMetaData = + exchange.getExchangeMetaData().getInstruments().get(instrument); + assertThat(instrumentMetaData.getVolumeScale()).isNotNull(); + assertThat(instrumentMetaData.getPriceScale()).isNotNull(); + assertThat(instrumentMetaData.getMinimumAmount()).isNotNull(); + } - Disposable dis = exchange.getStreamingMarketDataService().getOrderBook(instrument).subscribe(orderBook -> { - assertThat(orderBook.getBids().get(0).getLimitPrice()).isLessThan(orderBook.getAsks().get(0).getLimitPrice()); - assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); - LOGGER.info(orderBook.toString()); - }); + @Test + public void checkOrderBookStream() throws InterruptedException { - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - } + Disposable dis = + exchange + .getStreamingMarketDataService() + .getOrderBook(instrument) + .subscribe( + orderBook -> { + assertThat(orderBook.getBids().get(0).getLimitPrice()) + .isLessThan(orderBook.getAsks().get(0).getLimitPrice()); + assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); + LOGGER.info(orderBook.toString()); + }); - @Test - public void checkTickerStream() throws InterruptedException { + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + } - Disposable dis = exchange.getStreamingMarketDataService().getTicker(instrument) - .subscribe(ticker -> { - assertThat(ticker.getInstrument()).isEqualTo(instrument); - LOGGER.info(ticker.toString()); - }); + @Test + public void checkTickerStream() throws InterruptedException { - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - } + Disposable dis = + exchange + .getStreamingMarketDataService() + .getTicker(instrument) + .subscribe( + ticker -> { + assertThat(ticker.getInstrument()).isEqualTo(instrument); + LOGGER.info(ticker.toString()); + }); - @Test - public void checkTradesStream() throws InterruptedException { + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + } - Disposable dis = exchange.getStreamingMarketDataService().getTrades(instrument).subscribe(trade -> { - LOGGER.info(trade.toString()); - assertThat(trade.getInstrument()).isEqualTo(instrument); - }); + @Test + public void checkTradesStream() throws InterruptedException { - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - } -} + Disposable dis = + exchange + .getStreamingMarketDataService() + .getTrades(instrument) + .subscribe( + trade -> { + LOGGER.info(trade.toString()); + assertThat(trade.getInstrument()).isEqualTo(instrument); + }); + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + } +} diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceUsIntegration.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceUsIntegration.java index 02a5cff2d53..2e059a6c3e3 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceUsIntegration.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/BinanceUsIntegration.java @@ -1,5 +1,8 @@ package info.bitrich.xchangestream.binance; +import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_HIGHER_UPDATE_FREQUENCY; +import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_REALTIME_BOOK_TICKER; + import info.bitrich.xchangestream.core.ProductSubscription; import info.bitrich.xchangestream.core.StreamingExchangeFactory; import org.junit.Assert; @@ -7,9 +10,6 @@ import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.currency.CurrencyPair; -import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_HIGHER_UPDATE_FREQUENCY; -import static info.bitrich.xchangestream.binance.BinanceStreamingExchange.USE_REALTIME_BOOK_TICKER; - public class BinanceUsIntegration { @Test diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/dto/KlineBinanceWebSocketTransactionTest.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/dto/KlineBinanceWebSocketTransactionTest.java index 24140ab6c0d..21e2e3fdc03 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/dto/KlineBinanceWebSocketTransactionTest.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/dto/KlineBinanceWebSocketTransactionTest.java @@ -1,33 +1,31 @@ package info.bitrich.xchangestream.binance.dto; +import static com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_COMMENTS; +import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; +import static info.bitrich.xchangestream.binance.dto.BaseBinanceWebSocketTransaction.BinanceWebSocketTypes.KLINE; +import static org.assertj.core.api.Assertions.assertThat; + import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import java.io.InputStream; +import java.math.BigDecimal; import junit.framework.TestCase; import org.junit.Test; import org.knowm.xchange.binance.dto.marketdata.BinanceKline; import org.knowm.xchange.binance.dto.marketdata.KlineInterval; import org.knowm.xchange.currency.CurrencyPair; -import java.io.IOException; -import java.io.InputStream; -import java.math.BigDecimal; - -import static com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_COMMENTS; -import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; -import static info.bitrich.xchangestream.binance.dto.BaseBinanceWebSocketTransaction.BinanceWebSocketTypes.KLINE; -import static org.assertj.core.api.Assertions.assertThat; - - public class KlineBinanceWebSocketTransactionTest extends TestCase { - private final ObjectMapper mapper = new ObjectMapper() - .enable(ALLOW_COMMENTS) - .disable(FAIL_ON_UNKNOWN_PROPERTIES); + private final ObjectMapper mapper = + new ObjectMapper().enable(ALLOW_COMMENTS).disable(FAIL_ON_UNKNOWN_PROPERTIES); @Test public void testMapping() throws IOException { InputStream stream = this.getClass().getResourceAsStream("testKlineEvent.json"); - KlineBinanceWebSocketTransaction klineBinanceWebSocketTransaction = mapper.readValue(stream, KlineBinanceWebSocketTransaction.class); + KlineBinanceWebSocketTransaction klineBinanceWebSocketTransaction = + mapper.readValue(stream, KlineBinanceWebSocketTransaction.class); assertThat(klineBinanceWebSocketTransaction).isNotNull(); assertThat(klineBinanceWebSocketTransaction.eventType).isEqualTo(KLINE); diff --git a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/dto/TickerBinanceWebsocketTransactionTest.java b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/dto/TickerBinanceWebsocketTransactionTest.java index fdca4f0d88a..ec34a77f017 100644 --- a/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/dto/TickerBinanceWebsocketTransactionTest.java +++ b/xchange-stream-binance/src/test/java/info/bitrich/xchangestream/binance/dto/TickerBinanceWebsocketTransactionTest.java @@ -37,7 +37,8 @@ public void test_deserialization_of_transaction_message() throws IOException { assertThat(tickerTransaction).isNotNull(); assertThat(tickerTransaction.eventType).isEqualTo(TICKER_24_HR); assertThat(tickerTransaction.getEventTime().getTime()).isEqualTo(1516135684559L); - assertThat(BinanceAdapters.adaptSymbol(tickerTransaction.getSymbol(), false)).isEqualTo(CurrencyPair.ETH_BTC); + assertThat(BinanceAdapters.adaptSymbol(tickerTransaction.getSymbol(), false)) + .isEqualTo(CurrencyPair.ETH_BTC); BinanceTicker24h ticker = tickerTransaction.getTicker(); assertThat(ticker.getPriceChange()).isEqualByComparingTo(BigDecimal.valueOf(-0.00271700)); diff --git a/xchange-stream-bitmex/src/main/java/info/bitrich/xchangestream/bitmex/BitmexStreamingService.java b/xchange-stream-bitmex/src/main/java/info/bitrich/xchangestream/bitmex/BitmexStreamingService.java index 17fedb32221..96fde48e9f6 100644 --- a/xchange-stream-bitmex/src/main/java/info/bitrich/xchangestream/bitmex/BitmexStreamingService.java +++ b/xchange-stream-bitmex/src/main/java/info/bitrich/xchangestream/bitmex/BitmexStreamingService.java @@ -50,6 +50,7 @@ public class BitmexStreamingService extends JsonNettyStreamingService { public static final int DMS_CANCEL_ALL_IN = 60000; public static final int DMS_RESUBSCRIBE = 15000; + /** deadman's cancel time */ private volatile long dmsCancelTime; diff --git a/xchange-stream-bitmex/src/main/java/info/bitrich/xchangestream/bitmex/dto/BitmexExecution.java b/xchange-stream-bitmex/src/main/java/info/bitrich/xchangestream/bitmex/dto/BitmexExecution.java index 8fb8830473f..23360c6a358 100644 --- a/xchange-stream-bitmex/src/main/java/info/bitrich/xchangestream/bitmex/dto/BitmexExecution.java +++ b/xchange-stream-bitmex/src/main/java/info/bitrich/xchangestream/bitmex/dto/BitmexExecution.java @@ -7,7 +7,9 @@ import org.knowm.xchange.bitmex.dto.marketdata.BitmexPrivateOrder; import org.knowm.xchange.bitmex.dto.trade.BitmexSide; -/** @author Nikita Belenkiy on 05/06/2018. */ +/** + * @author Nikita Belenkiy on 05/06/2018. + */ public class BitmexExecution { protected String execID; diff --git a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexDeadManSwitchTest.java b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexDeadManSwitchTest.java index 83622cc340e..b7d507f1a0d 100644 --- a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexDeadManSwitchTest.java +++ b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexDeadManSwitchTest.java @@ -2,8 +2,8 @@ import static org.knowm.xchange.bitmex.BitmexPrompt.PERPETUAL; +import info.bitrich.xchangestream.core.StreamingExchange; import java.math.BigDecimal; - import org.junit.Ignore; import org.junit.Test; import org.knowm.xchange.Exchange; @@ -19,9 +19,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.bitrich.xchangestream.core.StreamingExchange; - -/** @author Nikita Belenkiy on 18/05/2018. */ +/** + * @author Nikita Belenkiy on 18/05/2018. + */ public class BitmexDeadManSwitchTest { private static final Logger logger = LoggerFactory.getLogger(BitmexDeadManSwitchTest.class); @@ -84,7 +84,7 @@ public void testDeadmanSwitch() throws Exception { // OrderBook orderBook = marketDataService.getOrderBook(new CurrencyPair(Currency.BTC, // Currency.USD), BitmexPrompt.BIQUARTERLY); -// System.out.println("orderBook = " + orderBook); + // System.out.println("orderBook = " + orderBook); streamingMarketDataService.enableDeadManSwitch(10000, 30000); @@ -101,8 +101,8 @@ public void testDeadmanSwitch() throws Exception { String xbtusd = tradeService.placeLimitOrder(limitOrder); logger.info("!!!!!PRIVATE_ORDER!!!! {}", xbtusd); Thread.sleep(100000); -// System.out.println(); -// System.out.println(); + // System.out.println(); + // System.out.println(); exchange.disconnect(); } diff --git a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexOrderIT.java b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexOrderIT.java index 39de835fcc6..2c1e29b232d 100644 --- a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexOrderIT.java +++ b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexOrderIT.java @@ -31,7 +31,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author Nikita Belenkiy on 18/05/2018. */ +/** + * @author Nikita Belenkiy on 18/05/2018. + */ public class BitmexOrderIT { private CurrencyPair xbtUsd = CurrencyPair.XBT_USD; private static final Logger LOG = LoggerFactory.getLogger(BitmexOrderIT.class); diff --git a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexOrderReplaceTest.java b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexOrderReplaceTest.java index 73acc028986..e4b7cb9f8d0 100644 --- a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexOrderReplaceTest.java +++ b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexOrderReplaceTest.java @@ -2,9 +2,9 @@ import static org.knowm.xchange.bitmex.BitmexPrompt.PERPETUAL; +import info.bitrich.xchangestream.core.StreamingExchange; import java.math.BigDecimal; import java.util.List; - import org.junit.Ignore; import org.junit.Test; import org.knowm.xchange.Exchange; @@ -22,9 +22,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.bitrich.xchangestream.core.StreamingExchange; - -/** @author Nikita Belenkiy on 18/05/2018. */ +/** + * @author Nikita Belenkiy on 18/05/2018. + */ public class BitmexOrderReplaceTest { private static final Logger logger = LoggerFactory.getLogger(BitmexOrderReplaceTest.class); @@ -86,7 +86,7 @@ public void testOrderReplace() throws Exception { // OrderBook orderBook = marketDataService.getOrderBook(new CurrencyPair(Currency.BTC, // Currency.USD), BitmexPrompt.BIQUARTERLY); -// System.out.println("orderBook = " + orderBook); + // System.out.println("orderBook = " + orderBook); String nosOrdId = System.currentTimeMillis() + ""; BigDecimal originalOrderSize = new BigDecimal("300"); @@ -101,9 +101,9 @@ public void testOrderReplace() throws Exception { String xbtusd = tradeService.placeLimitOrder(limitOrder); logger.info("!!!!!PRIVATE_ORDER!!!! {}", xbtusd); Thread.sleep(5000); -// System.out.println(); -// System.out.println(); -// System.out.println(); + // System.out.println(); + // System.out.println(); + // System.out.println(); logger.info("Replacing"); String replacedOrderId = nosOrdId + "replace"; @@ -117,9 +117,9 @@ public void testOrderReplace() throws Exception { BitmexPrivateOrder replaceBPO = tradeService.replaceOrder(params); // logger.info("!!!!!PRIVATE_ORDER_REPLACE!!!! {}",xbtusd); Thread.sleep(10000); -// System.out.println(); -// System.out.println(); -// System.out.println(); + // System.out.println(); + // System.out.println(); + // System.out.println(); List bitmexPrivateOrders = tradeService.cancelBitmexOrder(null, replacedOrderId); for (BitmexPrivateOrder bitmexPrivateOrder : bitmexPrivateOrders) { diff --git a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexStreamingTest.java b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexStreamingTest.java index 98f59d40b7a..33856fd1a40 100644 --- a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexStreamingTest.java +++ b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexStreamingTest.java @@ -4,7 +4,9 @@ import org.junit.Assert; import org.junit.Test; -/** @author Foat Akhmadeev 13/06/2018 */ +/** + * @author Foat Akhmadeev 13/06/2018 + */ public class BitmexStreamingTest { @Test public void shouldGetCorrectSubscribeMessage() throws IOException { diff --git a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexTest.java b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexTest.java index 84069ae553c..ec1b7ad0118 100644 --- a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexTest.java +++ b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexTest.java @@ -18,7 +18,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author Foat Akhmadeev 31/05/2018 */ +/** + * @author Foat Akhmadeev 31/05/2018 + */ @Ignore // Requires Bitmex to be up and contactable or the build fails. public class BitmexTest { private static final Logger LOG = LoggerFactory.getLogger(BitmexTest.class); diff --git a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexTestsCommons.java b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexTestsCommons.java index 1ebd0f72a57..d4af40feb16 100644 --- a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexTestsCommons.java +++ b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexTestsCommons.java @@ -4,7 +4,9 @@ import info.bitrich.xchangestream.util.LocalExchangeConfig; import org.knowm.xchange.ExchangeSpecification; -/** @author Foat Akhmadeev 19/06/2018 */ +/** + * @author Foat Akhmadeev 19/06/2018 + */ public class BitmexTestsCommons { public static ExchangeSpecification getExchangeSpecification( LocalExchangeConfig localConfig, ExchangeSpecification defaultExchangeSpecification) { diff --git a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexWithProxyIT.java b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexWithProxyIT.java index 2333a42ec98..541749301cf 100644 --- a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexWithProxyIT.java +++ b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/BitmexWithProxyIT.java @@ -13,7 +13,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author Foat Akhmadeev 18/06/2018 */ +/** + * @author Foat Akhmadeev 18/06/2018 + */ public class BitmexWithProxyIT { private static final Logger LOG = LoggerFactory.getLogger(BitmexWithProxyIT.class); diff --git a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/dto/BitmexExecutionTest.java b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/dto/BitmexExecutionTest.java index 2d11b8f60ba..28fc7a845a5 100644 --- a/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/dto/BitmexExecutionTest.java +++ b/xchange-stream-bitmex/src/test/java/info/bitrich/xchangestream/bitmex/dto/BitmexExecutionTest.java @@ -12,7 +12,9 @@ import org.knowm.xchange.bitmex.dto.marketdata.BitmexPrivateOrder; import org.knowm.xchange.bitmex.dto.trade.BitmexSide; -/** @author Nikita Belenkiy on 05/06/2018. */ +/** + * @author Nikita Belenkiy on 05/06/2018. + */ public class BitmexExecutionTest { @Test diff --git a/xchange-stream-cexio/src/main/java/info/bitrich/xchangestream/cexio/CexioStreamingMarketDataService.java b/xchange-stream-cexio/src/main/java/info/bitrich/xchangestream/cexio/CexioStreamingMarketDataService.java index 47c714c86da..e24d2ccc524 100644 --- a/xchange-stream-cexio/src/main/java/info/bitrich/xchangestream/cexio/CexioStreamingMarketDataService.java +++ b/xchange-stream-cexio/src/main/java/info/bitrich/xchangestream/cexio/CexioStreamingMarketDataService.java @@ -76,8 +76,7 @@ public Observable getOrderBook(CurrencyPair currencyPair, Object... a .map( s -> { JsonNode dataNode = s.get("data"); - return mapper.treeToValue( - dataNode, CexioWebSocketOrderBookSubscribeResponse.class); + return mapper.treeToValue(dataNode, CexioWebSocketOrderBookSubscribeResponse.class); }) .map(orderBookConsumer); } diff --git a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingExchange.java b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingExchange.java index c084a224d48..ecda42c04d6 100644 --- a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingExchange.java +++ b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingExchange.java @@ -8,14 +8,13 @@ import info.bitrich.xchangestream.service.netty.WebSocketClientHandler; import io.reactivex.Completable; import io.reactivex.Observable; +import java.util.*; import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.coinbasepro.CoinbaseProExchange; import org.knowm.xchange.coinbasepro.dto.account.CoinbaseProWebsocketAuthData; import org.knowm.xchange.coinbasepro.service.CoinbaseProAccountServiceRaw; import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException; -import java.util.*; - /** CoinbasePro Streaming Exchange. Connects to live WebSocket feed. */ public class CoinbaseProStreamingExchange extends CoinbaseProExchange implements StreamingExchange { private static final String API_URI = "wss://ws-feed.pro.coinbase.com"; @@ -45,25 +44,32 @@ public Completable connect(ProductSubscription... args) { String apiUri = getApiUri(); CoinbaseProOrderBookMode orderBookMode = CoinbaseProOrderBookMode.Default; - Object orderBookModeParameter = exchangeSpecification.getExchangeSpecificParametersItem(PARAM_ORDER_BOOK_MODE); + Object orderBookModeParameter = + exchangeSpecification.getExchangeSpecificParametersItem(PARAM_ORDER_BOOK_MODE); if (orderBookModeParameter != null) { try { orderBookMode = CoinbaseProOrderBookMode.valueOf(orderBookModeParameter.toString()); } catch (IllegalArgumentException e) { - throw new RuntimeException("Order book mode '" + orderBookModeParameter + "' is not supported, use one of " + Arrays.toString(CoinbaseProOrderBookMode.values())); + throw new RuntimeException( + "Order book mode '" + + orderBookModeParameter + + "' is not supported, use one of " + + Arrays.toString(CoinbaseProOrderBookMode.values())); } } if (Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem( - StreamingExchange.L3_ORDERBOOK))) { + exchangeSpecification.getExchangeSpecificParametersItem(StreamingExchange.L3_ORDERBOOK))) { if (orderBookMode != CoinbaseProOrderBookMode.Default) - throw new RuntimeException("Parameter " + StreamingExchange.L3_ORDERBOOK + " cannot be specified along with " + PARAM_ORDER_BOOK_MODE); + throw new RuntimeException( + "Parameter " + + StreamingExchange.L3_ORDERBOOK + + " cannot be specified along with " + + PARAM_ORDER_BOOK_MODE); orderBookMode = CoinbaseProOrderBookMode.Full; } this.streamingService = - new CoinbaseProStreamingService( - apiUri, () -> authData(exchangeSpec), orderBookMode); + new CoinbaseProStreamingService(apiUri, () -> authData(exchangeSpec), orderBookMode); applyStreamingSpecification(exchangeSpecification, this.streamingService); this.streamingMarketDataService = new CoinbaseProStreamingMarketDataService(streamingService); @@ -77,8 +83,7 @@ public String getApiUri() { ExchangeSpecification exchangeSpec = getExchangeSpecification(); boolean useSandbox = - Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(USE_SANDBOX)); + Boolean.TRUE.equals(exchangeSpecification.getExchangeSpecificParametersItem(USE_SANDBOX)); boolean usePrime = Boolean.TRUE.equals( exchangeSpecification.getExchangeSpecificParametersItem(Parameters.PARAM_USE_PRIME)); @@ -116,9 +121,7 @@ public Completable disconnect() { CoinbaseProStreamingService service = streamingService; streamingService = null; streamingMarketDataService = null; - return service != null - ? service.disconnect() - : Completable.complete(); + return service != null ? service.disconnect() : Completable.complete(); } @Override diff --git a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingService.java b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingService.java index a1cf2d7541e..03f65944390 100644 --- a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingService.java +++ b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingService.java @@ -21,7 +21,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.function.Supplier; import java.util.stream.Stream; - import org.knowm.xchange.coinbasepro.dto.account.CoinbaseProWebsocketAuthData; import org.knowm.xchange.currency.CurrencyPair; import org.slf4j.Logger; @@ -32,10 +31,12 @@ public class CoinbaseProStreamingService extends JsonNettyStreamingService { private static final String SUBSCRIBE = "subscribe"; private static final String UNSUBSCRIBE = "unsubscribe"; private static final String SHARE_CHANNEL_NAME = "ALL"; - private static final String[] ALL_CHANNEL_NAMES = Stream.concat( - Stream.of("matches", "ticker"), - Arrays.stream(CoinbaseProOrderBookMode.values()).map(CoinbaseProOrderBookMode::getName) - ).toArray(String[]::new); + private static final String[] ALL_CHANNEL_NAMES = + Stream.concat( + Stream.of("matches", "ticker"), + Arrays.stream(CoinbaseProOrderBookMode.values()) + .map(CoinbaseProOrderBookMode::getName)) + .toArray(String[]::new); private final Map> subscriptions = new ConcurrentHashMap<>(); private ProductSubscription product = null; private final Supplier authData; @@ -128,8 +129,7 @@ public String getSubscribeMessage(String channelName, Object... args) throws IOE @Override public String getUnsubscribeMessage(String channelName, Object... args) throws IOException { CoinbaseProWebSocketSubscriptionMessage subscribeMessage = - new CoinbaseProWebSocketSubscriptionMessage( - UNSUBSCRIBE, ALL_CHANNEL_NAMES, authData.get()); + new CoinbaseProWebSocketSubscriptionMessage(UNSUBSCRIBE, ALL_CHANNEL_NAMES, authData.get()); return objectMapper.writeValueAsString(subscribeMessage); } @@ -165,21 +165,41 @@ protected void handleChannelMessage(String channel, JsonNode message) { } } - private static CoinbaseProWebSocketTransaction mapToTransaction(ObjectMapper mapper, JsonNode node) throws JsonProcessingException { + private static CoinbaseProWebSocketTransaction mapToTransaction( + ObjectMapper mapper, JsonNode node) throws JsonProcessingException { String type = getText(node.get("type")); // use manual JSON to object conversion for the heaviest transaction types if (type != null && (type.equals("l2update") || type.equals("snapshot"))) { - return new CoinbaseProWebSocketTransaction(type, - null, null, null, null, null, null, null, null, null, null, null, null, null, - getL2Array(node.get("bids")), - getL2Array(node.get("asks")), - getL2Array(node.get("changes")), - null, - getText(node.get("product_id")), - 0, - getText(node.get("time")), - null, 0, null, null, null, null, null, null - ); + return new CoinbaseProWebSocketTransaction( + type, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + getL2Array(node.get("bids")), + getL2Array(node.get("asks")), + getL2Array(node.get("changes")), + null, + getText(node.get("product_id")), + 0, + getText(node.get("time")), + null, + 0, + null, + null, + null, + null, + null, + null); } return mapper.treeToValue(node, CoinbaseProWebSocketTransaction.class); } @@ -189,19 +209,16 @@ private static String getText(JsonNode node) { } private static String[][] getL2Array(JsonNode node) { - if (node == null) - return null; + if (node == null) return null; String[][] result = new String[node.size()][]; - for (int i = 0; i < result.length; i++) - result[i] = getArray(node.get(i)); + for (int i = 0; i < result.length; i++) result[i] = getArray(node.get(i)); return result; } private static String[] getArray(JsonNode node) { String[] result = new String[node.size()]; - for (int i = 0; i < result.length; i++) - result[i] = node.get(i).asText(); + for (int i = 0; i < result.length; i++) result[i] = node.get(i).asText(); return result; } diff --git a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingTradeService.java b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingTradeService.java index bb3fc91fbd4..1c939e1dc02 100644 --- a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingTradeService.java +++ b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/CoinbaseProStreamingTradeService.java @@ -57,6 +57,7 @@ public Observable getUserTrades(CurrencyPair currencyPair, Object... } private boolean orderChangesWarningLogged; + /** * Warning: the order change stream is not yet fully implemented for Coinbase * Pro. Orders are not fully populated, containing only the values changed since the last update. diff --git a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProOrderBookMode.java b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProOrderBookMode.java index 453d0c1e854..d366a30bb97 100644 --- a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProOrderBookMode.java +++ b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProOrderBookMode.java @@ -1,15 +1,17 @@ package info.bitrich.xchangestream.coinbasepro.dto; public enum CoinbaseProOrderBookMode { - Default("level2"), Full("full"), Batch("level2_batch"); + Default("level2"), + Full("full"), + Batch("level2_batch"); - private final String name; + private final String name; - CoinbaseProOrderBookMode(String name) { - this.name = name; - } + CoinbaseProOrderBookMode(String name) { + this.name = name; + } - public String getName() { - return name; - } + public String getName() { + return name; + } } diff --git a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProWebSocketTransaction.java b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProWebSocketTransaction.java index 4d01ed44bc9..6a8b7c5d938 100644 --- a/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProWebSocketTransaction.java +++ b/xchange-stream-coinbasepro/src/main/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProWebSocketTransaction.java @@ -307,7 +307,9 @@ public String getMakerOrderId() { return makerOrderId; } - /** @deprecated Use {@link #getTakerOrderId()} */ + /** + * @deprecated Use {@link #getTakerOrderId()} + */ @Deprecated public String getTakenOrderId() { return takerOrderId; diff --git a/xchange-stream-coinbasepro/src/test/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProWebSocketSubscriptionMessageTest.java b/xchange-stream-coinbasepro/src/test/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProWebSocketSubscriptionMessageTest.java index 34714910a39..c9ff12a3775 100644 --- a/xchange-stream-coinbasepro/src/test/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProWebSocketSubscriptionMessageTest.java +++ b/xchange-stream-coinbasepro/src/test/java/info/bitrich/xchangestream/coinbasepro/dto/CoinbaseProWebSocketSubscriptionMessageTest.java @@ -21,7 +21,8 @@ public void testWebSocketMessageSerialization() throws JsonProcessingException { .addTicker(CurrencyPair.BTC_USD) .build(); CoinbaseProWebSocketSubscriptionMessage message = - new CoinbaseProWebSocketSubscriptionMessage("subscribe", productSubscription, CoinbaseProOrderBookMode.Default, null); + new CoinbaseProWebSocketSubscriptionMessage( + "subscribe", productSubscription, CoinbaseProOrderBookMode.Default, null); final ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true); @@ -43,7 +44,8 @@ public void testWebSocketMessageSerializationL3Orderbook() throws JsonProcessing .addTicker(CurrencyPair.BTC_USD) .build(); CoinbaseProWebSocketSubscriptionMessage message = - new CoinbaseProWebSocketSubscriptionMessage("subscribe", productSubscription, CoinbaseProOrderBookMode.Full, null); + new CoinbaseProWebSocketSubscriptionMessage( + "subscribe", productSubscription, CoinbaseProOrderBookMode.Full, null); final ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true); @@ -59,13 +61,14 @@ public void testWebSocketMessageSerializationL3Orderbook() throws JsonProcessing public void testWebSocketMessageSerializationBatch() throws JsonProcessingException { ProductSubscription productSubscription = - ProductSubscription.create() - .addOrderbook(CurrencyPair.BTC_USD) - .addTrades(CurrencyPair.BTC_USD) - .addTicker(CurrencyPair.BTC_USD) - .build(); + ProductSubscription.create() + .addOrderbook(CurrencyPair.BTC_USD) + .addTrades(CurrencyPair.BTC_USD) + .addTicker(CurrencyPair.BTC_USD) + .build(); CoinbaseProWebSocketSubscriptionMessage message = - new CoinbaseProWebSocketSubscriptionMessage("subscribe", productSubscription, CoinbaseProOrderBookMode.Batch, null); + new CoinbaseProWebSocketSubscriptionMessage( + "subscribe", productSubscription, CoinbaseProOrderBookMode.Batch, null); final ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true); @@ -73,7 +76,7 @@ public void testWebSocketMessageSerializationBatch() throws JsonProcessingExcept String serialized = mapper.writeValueAsString(message); Assert.assertEquals( - "{\"type\":\"subscribe\",\"channels\":[{\"name\":\"matches\",\"product_ids\":[\"BTC-USD\"]},{\"name\":\"level2_batch\",\"product_ids\":[\"BTC-USD\"]},{\"name\":\"ticker\",\"product_ids\":[\"BTC-USD\"]}]}", - serialized); + "{\"type\":\"subscribe\",\"channels\":[{\"name\":\"matches\",\"product_ids\":[\"BTC-USD\"]},{\"name\":\"level2_batch\",\"product_ids\":[\"BTC-USD\"]},{\"name\":\"ticker\",\"product_ids\":[\"BTC-USD\"]}]}", + serialized); } } diff --git a/xchange-stream-coincheck/src/main/java/info/bitrich/xchangestream/coincheck/CoincheckStreamingAdapter.java b/xchange-stream-coincheck/src/main/java/info/bitrich/xchangestream/coincheck/CoincheckStreamingAdapter.java index d6f721f3d66..4b1d8c99372 100644 --- a/xchange-stream-coincheck/src/main/java/info/bitrich/xchangestream/coincheck/CoincheckStreamingAdapter.java +++ b/xchange-stream-coincheck/src/main/java/info/bitrich/xchangestream/coincheck/CoincheckStreamingAdapter.java @@ -7,6 +7,10 @@ import info.bitrich.xchangestream.coincheck.dto.CoincheckStreamingTrade; import info.bitrich.xchangestream.coincheck.dto.CoincheckSubscriptionNames; import info.bitrich.xchangestream.service.netty.StreamingObjectMapperHelper; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; import lombok.SneakyThrows; import org.knowm.xchange.coincheck.CoincheckAdapter; import org.knowm.xchange.coincheck.dto.marketdata.CoincheckPair; @@ -15,11 +19,6 @@ import org.knowm.xchange.dto.marketdata.OrderBookUpdate; import org.knowm.xchange.dto.marketdata.Trade; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; -import java.util.stream.Stream; - public class CoincheckStreamingAdapter { private static final JavaType orderBookUpdateListType = StreamingObjectMapperHelper.getObjectMapper() diff --git a/xchange-stream-coinmate/src/main/java/info/bitrich/xchangestream/coinmate/v2/CoinmateStreamingService.java b/xchange-stream-coinmate/src/main/java/info/bitrich/xchangestream/coinmate/v2/CoinmateStreamingService.java index 6153f9035c2..9139744216b 100644 --- a/xchange-stream-coinmate/src/main/java/info/bitrich/xchangestream/coinmate/v2/CoinmateStreamingService.java +++ b/xchange-stream-coinmate/src/main/java/info/bitrich/xchangestream/coinmate/v2/CoinmateStreamingService.java @@ -72,7 +72,9 @@ private CoinmateUnsubscribeMessage generateUnsubscribeMessage(String channelName return new CoinmateUnsubscribeMessage(channelName); } - /** @return Client ID needed for private channel */ + /** + * @return Client ID needed for private channel + */ String getUserId() { return authParams.getUserId(); } diff --git a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/core/ProductSubscription.java b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/core/ProductSubscription.java index 8f70095bfe6..08023b54705 100644 --- a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/core/ProductSubscription.java +++ b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/core/ProductSubscription.java @@ -74,7 +74,10 @@ public boolean hasAuthenticated() { } public boolean hasUnauthenticated() { - return !ticker.isEmpty() || !trades.isEmpty() || !orderBook.isEmpty() || !fundingRates.isEmpty(); + return !ticker.isEmpty() + || !trades.isEmpty() + || !orderBook.isEmpty() + || !fundingRates.isEmpty(); } public static ProductSubscriptionBuilder create() { @@ -124,6 +127,7 @@ public ProductSubscriptionBuilder addFundingRates(Instrument pair) { fundingRates.add(pair); return this; } + public ProductSubscriptionBuilder addUserTrades(Instrument pair) { userTrades.add(pair); return this; diff --git a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/core/StreamingMarketDataService.java b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/core/StreamingMarketDataService.java index 94055ac6507..c801d102f70 100644 --- a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/core/StreamingMarketDataService.java +++ b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/core/StreamingMarketDataService.java @@ -29,6 +29,7 @@ default Observable getOrderBook(Instrument instrument, Object... args } throw new NotYetImplementedForExchangeException("getOrderBook"); } + /** * Get a ticker representing the current exchange rate. Emits {@link * info.bitrich.xchangestream.service.exception.NotConnectedException} When not connected to the @@ -75,19 +76,19 @@ default Observable getTrades(Instrument instrument, Object... args) { /** * Get funding rate of specific instrument. + * * @param instrument Instrument to get the funding rate for * @return {@link Observable} that emits {@link FundingRate} when exchange sends the update. - * */ - + */ default Observable getFundingRate(Instrument instrument, Object... args) { throw new NotYetImplementedForExchangeException("getFundingRate"); } /** * Get funding rates for all instruments of the platform. + * * @return {@link Observable} that emits {@link FundingRates} when exchange sends the update. - * */ - + */ default Observable getFundingRates() { throw new NotYetImplementedForExchangeException("getFundingRates"); } diff --git a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/BookSanityChecker.java b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/BookSanityChecker.java index bb2a07b0b1f..6bee36b100a 100644 --- a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/BookSanityChecker.java +++ b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/BookSanityChecker.java @@ -10,7 +10,9 @@ import org.knowm.xchange.dto.marketdata.OrderBook; import org.knowm.xchange.dto.trade.LimitOrder; -/** @author Foat Akhmadeev 05/06/2018 */ +/** + * @author Foat Akhmadeev 05/06/2018 + */ public class BookSanityChecker { public static String hasErrors(OrderBook book) { diff --git a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/CollectionUtils.java b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/CollectionUtils.java index 4f89fa27f87..d88ad21239c 100644 --- a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/CollectionUtils.java +++ b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/CollectionUtils.java @@ -4,7 +4,9 @@ import java.util.List; import java.util.ListIterator; -/** @author Foat Akhmadeev 05/06/2018 */ +/** + * @author Foat Akhmadeev 05/06/2018 + */ public class CollectionUtils { static Iterable descendingIterable(List list) { return () -> { diff --git a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/LocalExchangeConfig.java b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/LocalExchangeConfig.java index 79447160c7b..37f7521a86e 100644 --- a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/LocalExchangeConfig.java +++ b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/LocalExchangeConfig.java @@ -1,6 +1,8 @@ package info.bitrich.xchangestream.util; -/** @author Foat Akhmadeev 08/06/2018 */ +/** + * @author Foat Akhmadeev 08/06/2018 + */ public class LocalExchangeConfig { private String apiKey; private String secretKey; diff --git a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/PropsLoader.java b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/PropsLoader.java index 7ff0376bf51..ee29bc1ff83 100644 --- a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/PropsLoader.java +++ b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/PropsLoader.java @@ -7,7 +7,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author Foat Akhmadeev 08/06/2018 */ +/** + * @author Foat Akhmadeev 08/06/2018 + */ public class PropsLoader { private static final Logger LOG = LoggerFactory.getLogger(PropsLoader.class); diff --git a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/ProxyUtil.java b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/ProxyUtil.java index dfaa4b165c8..6bfd76f463c 100644 --- a/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/ProxyUtil.java +++ b/xchange-stream-core/src/main/java/info/bitrich/xchangestream/util/ProxyUtil.java @@ -8,7 +8,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author Foat Akhmadeev 18/06/2018 */ +/** + * @author Foat Akhmadeev 18/06/2018 + */ public class ProxyUtil { private static final Logger LOG = LoggerFactory.getLogger(ProxyUtil.class); diff --git a/xchange-stream-dydx/src/main/java/info/bitrich/xchangestream/dydx/dydxStreamingService.java b/xchange-stream-dydx/src/main/java/info/bitrich/xchangestream/dydx/dydxStreamingService.java index e5fc3ea26ca..f4f99348dbb 100644 --- a/xchange-stream-dydx/src/main/java/info/bitrich/xchangestream/dydx/dydxStreamingService.java +++ b/xchange-stream-dydx/src/main/java/info/bitrich/xchangestream/dydx/dydxStreamingService.java @@ -110,12 +110,10 @@ private dydxWebSocketTransaction handleOrderbookMessage( switch (msg.get("type").asText()) { case SUBSCRIBED: return mapper.treeToValue( - msg, - info.bitrich.xchangestream.dydx.dto.v1.dydxInitialOrderBookMessage.class); + msg, info.bitrich.xchangestream.dydx.dto.v1.dydxInitialOrderBookMessage.class); case CHANNEL_DATA: return mapper.treeToValue( - msg, - info.bitrich.xchangestream.dydx.dto.v1.dydxUpdateOrderBookMessage.class); + msg, info.bitrich.xchangestream.dydx.dto.v1.dydxUpdateOrderBookMessage.class); } } return mapper.treeToValue(msg, dydxWebSocketTransaction.class); diff --git a/xchange-stream-ftx/src/main/java/info/bitrich/xchangestream/ftx/FtxStreamingAdapters.java b/xchange-stream-ftx/src/main/java/info/bitrich/xchangestream/ftx/FtxStreamingAdapters.java index 5f2d8b7267b..1a4dda0fbdb 100644 --- a/xchange-stream-ftx/src/main/java/info/bitrich/xchangestream/ftx/FtxStreamingAdapters.java +++ b/xchange-stream-ftx/src/main/java/info/bitrich/xchangestream/ftx/FtxStreamingAdapters.java @@ -38,6 +38,7 @@ public class FtxStreamingAdapters { private static final ObjectMapper mapper = StreamingObjectMapperHelper.getObjectMapper(); + /** Incoming values always has 1 trailing 0 after the decimal, and start with 1 zero */ private static final ThreadLocal dfp = ThreadLocal.withInitial( diff --git a/xchange-stream-ftx/src/main/java/info/bitrich/xchangestream/ftx/FtxStreamingExchange.java b/xchange-stream-ftx/src/main/java/info/bitrich/xchangestream/ftx/FtxStreamingExchange.java index c28c82d0d3c..0530a420172 100644 --- a/xchange-stream-ftx/src/main/java/info/bitrich/xchangestream/ftx/FtxStreamingExchange.java +++ b/xchange-stream-ftx/src/main/java/info/bitrich/xchangestream/ftx/FtxStreamingExchange.java @@ -13,7 +13,7 @@ public class FtxStreamingExchange extends FtxExchange implements StreamingExchange { - private final static String API_URI = "wss://ftx.com/ws/"; + private static final String API_URI = "wss://ftx.com/ws/"; private FtxStreamingService ftxStreamingService; private FtxStreamingMarketDataService ftxStreamingMarketDataService; @@ -23,12 +23,15 @@ public class FtxStreamingExchange extends FtxExchange implements StreamingExchan protected void initServices() { super.initServices(); - String apiUri = exchangeSpecification.getOverrideWebsocketApiUri() != null ? exchangeSpecification.getOverrideWebsocketApiUri() : API_URI; + String apiUri = + exchangeSpecification.getOverrideWebsocketApiUri() != null + ? exchangeSpecification.getOverrideWebsocketApiUri() + : API_URI; if (exchangeSpecification.getApiKey() != null) { this.ftxStreamingService = new FtxStreamingService( - apiUri, + apiUri, () -> new FtxWebsocketCredential( exchangeSpecification.getApiKey(), diff --git a/xchange-stream-ftx/src/test/java/info/bitrich/xchangestream/ftx/FtxStreamingAdaptersTest.java b/xchange-stream-ftx/src/test/java/info/bitrich/xchangestream/ftx/FtxStreamingAdaptersTest.java index 6d71c9a2e0c..032ce4e6f0e 100644 --- a/xchange-stream-ftx/src/test/java/info/bitrich/xchangestream/ftx/FtxStreamingAdaptersTest.java +++ b/xchange-stream-ftx/src/test/java/info/bitrich/xchangestream/ftx/FtxStreamingAdaptersTest.java @@ -65,4 +65,4 @@ public void testAdaptUserTrade() throws IOException { assertThat(userTrade.getOrderUserReference()).isEqualTo("381ba32f-deff-4791-851f-30efd8c858a9"); } -} \ No newline at end of file +} diff --git a/xchange-stream-gateio/src/main/java/dto/GateioWebSocketSubscriptionMessage.java b/xchange-stream-gateio/src/main/java/dto/GateioWebSocketSubscriptionMessage.java index 6b55c31305e..9d3b9b29106 100644 --- a/xchange-stream-gateio/src/main/java/dto/GateioWebSocketSubscriptionMessage.java +++ b/xchange-stream-gateio/src/main/java/dto/GateioWebSocketSubscriptionMessage.java @@ -40,8 +40,10 @@ public GateioWebSocketSubscriptionMessage( this.payload = Arrays.asList( currencyPair.toString().replace('/', '_'), - (depth != null && channelName.contains("order_book")) ? Integer.toString(depth) : null, - (interval != null && channelName.contains("order_book")) ? interval + "ms" : null) + (depth != null && channelName.contains("order_book")) + ? Integer.toString(depth) + : null, + (interval != null && channelName.contains("order_book")) ? interval + "ms" : null) .stream() .filter(Objects::nonNull) .collect(Collectors.toList()) diff --git a/xchange-stream-gemini-v2/src/test/java/info/bitrich/xchangestream/gemini/GeminiStreamingMarketDataServiceTest.java b/xchange-stream-gemini-v2/src/test/java/info/bitrich/xchangestream/gemini/GeminiStreamingMarketDataServiceTest.java index 236d7460b09..38494d68cd9 100644 --- a/xchange-stream-gemini-v2/src/test/java/info/bitrich/xchangestream/gemini/GeminiStreamingMarketDataServiceTest.java +++ b/xchange-stream-gemini-v2/src/test/java/info/bitrich/xchangestream/gemini/GeminiStreamingMarketDataServiceTest.java @@ -4,8 +4,8 @@ import static org.knowm.xchange.currency.CurrencyPair.LTC_USD; import static org.mockito.Mockito.when; +import info.bitrich.xchangestream.core.ProductSubscription; import java.util.Arrays; - import org.junit.Before; import org.junit.Test; import org.knowm.xchange.currency.CurrencyPair; @@ -13,8 +13,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import info.bitrich.xchangestream.core.ProductSubscription; - public class GeminiStreamingMarketDataServiceTest { @InjectMocks GeminiStreamingMarketDataService geminiStreamingMarketDataService; @@ -41,7 +39,7 @@ public void getOrderBook_InvalidPair() { try { geminiStreamingMarketDataService.getOrderBook(LTC_USD).subscribe(orderBook -> {}); } catch (Exception e) { -// System.out.println(e.getMessage()); + // System.out.println(e.getMessage()); assertEquals( String.format("The currency pair %s is not subscribed for orderbook", LTC_USD), e.getMessage()); diff --git a/xchange-stream-huobi/src/test/java/info/bitrich/xchangestream/huobi/HuobiManualIntegration.java b/xchange-stream-huobi/src/test/java/info/bitrich/xchangestream/huobi/HuobiManualIntegration.java index c93ff5b29d6..2a56d5e4ade 100644 --- a/xchange-stream-huobi/src/test/java/info/bitrich/xchangestream/huobi/HuobiManualIntegration.java +++ b/xchange-stream-huobi/src/test/java/info/bitrich/xchangestream/huobi/HuobiManualIntegration.java @@ -1,17 +1,15 @@ package info.bitrich.xchangestream.huobi; +import info.bitrich.xchangestream.core.StreamingExchange; +import info.bitrich.xchangestream.core.StreamingExchangeFactory; +import info.bitrich.xchangestream.huobi.dto.HuobiKlineType; +import info.bitrich.xchangestream.huobi.dto.HuobiStepType; import java.util.List; - import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.trade.LimitOrder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.bitrich.xchangestream.core.StreamingExchange; -import info.bitrich.xchangestream.core.StreamingExchangeFactory; -import info.bitrich.xchangestream.huobi.dto.HuobiKlineType; -import info.bitrich.xchangestream.huobi.dto.HuobiStepType; - public class HuobiManualIntegration { private static final Logger LOG = LoggerFactory.getLogger(HuobiManualIntegration.class); diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingAdapters.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingAdapters.java index b4b8d4ac347..83903c7bcb7 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingAdapters.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingAdapters.java @@ -1,9 +1,15 @@ package info.bitrich.xchangestream.kraken; +import static info.bitrich.xchangestream.kraken.KrakenStreamingChecksum.*; + import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.node.*; -import com.google.common.collect.Streams; import com.google.common.collect.*; +import com.google.common.collect.Streams; +import java.math.*; +import java.util.*; +import java.util.concurrent.atomic.*; +import java.util.stream.*; import org.knowm.xchange.dto.*; import org.knowm.xchange.dto.marketdata.*; import org.knowm.xchange.dto.trade.*; @@ -13,13 +19,6 @@ import org.knowm.xchange.utils.*; import org.slf4j.*; -import java.math.*; -import java.util.*; -import java.util.concurrent.atomic.*; -import java.util.stream.*; - -import static info.bitrich.xchangestream.kraken.KrakenStreamingChecksum.*; - /** Kraken streaming adapters */ public class KrakenStreamingAdapters { private static final Logger LOG = LoggerFactory.getLogger(KrakenStreamingAdapters.class); @@ -188,13 +187,14 @@ public static Ticker adaptSpreadMessage(Instrument instrument, ArrayNode arrayNo ArrayNode data = (ArrayNode) arrayNode.get(1); return new Ticker.Builder() - .ask(arrayNodeItemAsDecimal(data, 1)) - .bid(arrayNodeItemAsDecimal(data, 0)) - .askSize(arrayNodeItemAsDecimal(data, 4)) - .bidSize(arrayNodeItemAsDecimal(data, 3)) - .timestamp(DateUtils.fromMillisUtc((long) (Double.parseDouble(data.get(2).textValue()) * 1000))) - .instrument(instrument) - .build(); + .ask(arrayNodeItemAsDecimal(data, 1)) + .bid(arrayNodeItemAsDecimal(data, 0)) + .askSize(arrayNodeItemAsDecimal(data, 4)) + .bidSize(arrayNodeItemAsDecimal(data, 3)) + .timestamp( + DateUtils.fromMillisUtc((long) (Double.parseDouble(data.get(2).textValue()) * 1000))) + .instrument(instrument) + .build(); } /** Adapt an JsonNode into a list of Trade */ @@ -257,8 +257,7 @@ private static Date nextNodeAsDate(Iterator iterator) { if (iterator == null || !iterator.hasNext()) { return null; } - return DateUtils.fromMillisUtc( - (long) (Double.parseDouble(iterator.next().textValue()) * 1000)); + return DateUtils.fromMillisUtc((long) (Double.parseDouble(iterator.next().textValue()) * 1000)); } /** diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingExchange.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingExchange.java index 5a635e5dbcd..afdea5ff10e 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingExchange.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingExchange.java @@ -12,7 +12,6 @@ import io.reactivex.Completable; import io.reactivex.Observable; import java.io.IOException; - import org.apache.commons.lang3.StringUtils; import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.kraken.KrakenExchange; @@ -21,7 +20,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author makarid */ +/** + * @author makarid + */ public class KrakenStreamingExchange extends KrakenExchange implements StreamingExchange { private static final Logger LOG = LoggerFactory.getLogger(KrakenStreamingExchange.class); @@ -49,20 +50,24 @@ protected void initServices() { (Boolean) exchangeSpecification.getExchangeSpecificParametersItem(USE_BETA), Boolean.FALSE); Boolean spreadForTicker = - MoreObjects.firstNonNull( - (Boolean) exchangeSpecification.getExchangeSpecificParametersItem(USE_SPREAD_FOR_TICKER), - Boolean.FALSE); + MoreObjects.firstNonNull( + (Boolean) + exchangeSpecification.getExchangeSpecificParametersItem(USE_SPREAD_FOR_TICKER), + Boolean.FALSE); KrakenAccountServiceRaw accountService = (KrakenAccountServiceRaw) getAccountService(); this.streamingService = - new KrakenStreamingService(this, false, pickUri(false, useBeta), () -> authData(accountService)); + new KrakenStreamingService( + this, false, pickUri(false, useBeta), () -> authData(accountService)); applyStreamingSpecification(getExchangeSpecification(), streamingService); - this.streamingMarketDataService = new KrakenStreamingMarketDataService(streamingService, spreadForTicker); + this.streamingMarketDataService = + new KrakenStreamingMarketDataService(streamingService, spreadForTicker); if (StringUtils.isNotEmpty(exchangeSpecification.getApiKey())) { this.privateStreamingService = - new KrakenStreamingService(this, true, pickUri(true, useBeta), () -> authData(accountService)); + new KrakenStreamingService( + this, true, pickUri(true, useBeta), () -> authData(accountService)); applyStreamingSpecification(getExchangeSpecification(), privateStreamingService); } @@ -189,25 +194,25 @@ public void resubscribeChannels() { public Observable getSystemStatusChanges() { return streamingService - .subscribeSystemChannel(KrakenEventType.systemStatus) - .filter(e -> e instanceof KrakenSystemStatus) - .map(e -> ((KrakenSystemStatus) e)) - .share(); + .subscribeSystemChannel(KrakenEventType.systemStatus) + .filter(e -> e instanceof KrakenSystemStatus) + .map(e -> ((KrakenSystemStatus) e)) + .share(); } public Observable getPublicSubscriptionStatusChanges() { return streamingService - .subscribeSystemChannel(KrakenEventType.subscriptionStatus) - .filter(e -> e instanceof KrakenSubscriptionStatusMessage) - .map(e -> ((KrakenSubscriptionStatusMessage) e)) - .share(); + .subscribeSystemChannel(KrakenEventType.subscriptionStatus) + .filter(e -> e instanceof KrakenSubscriptionStatusMessage) + .map(e -> ((KrakenSubscriptionStatusMessage) e)) + .share(); } public Observable getPrivateSubscriptionStatusChanges() { return privateStreamingService - .subscribeSystemChannel(KrakenEventType.subscriptionStatus) - .filter(e -> e instanceof KrakenSubscriptionStatusMessage) - .map(e -> ((KrakenSubscriptionStatusMessage) e)) - .share(); + .subscribeSystemChannel(KrakenEventType.subscriptionStatus) + .filter(e -> e instanceof KrakenSubscriptionStatusMessage) + .map(e -> ((KrakenSubscriptionStatusMessage) e)) + .share(); } } diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingMarketDataService.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingMarketDataService.java index 7e24ba8e768..612f8869843 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingMarketDataService.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingMarketDataService.java @@ -16,7 +16,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author makarid, pchertalev */ +/** + * @author makarid, pchertalev + */ public class KrakenStreamingMarketDataService implements StreamingMarketDataService { private static final Logger LOG = LoggerFactory.getLogger(KrakenStreamingMarketDataService.class); @@ -69,11 +71,11 @@ public Observable getTicker(CurrencyPair currencyPair, Object... args) { if (spreadForTicker) { String channelName = getChannelName(KrakenSubscriptionName.spread, currencyPair); return subscribe(channelName, MIN_DATA_ARRAY_SIZE, null) - .map(arrayNode -> KrakenStreamingAdapters.adaptSpreadMessage(currencyPair, arrayNode)); + .map(arrayNode -> KrakenStreamingAdapters.adaptSpreadMessage(currencyPair, arrayNode)); } else { String channelName = getChannelName(KrakenSubscriptionName.ticker, currencyPair); return subscribe(channelName, MIN_DATA_ARRAY_SIZE, null) - .map(arrayNode -> KrakenStreamingAdapters.adaptTickerMessage(currencyPair, arrayNode)); + .map(arrayNode -> KrakenStreamingAdapters.adaptTickerMessage(currencyPair, arrayNode)); } } diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingService.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingService.java index e6dbff1a9e4..01758e6893b 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingService.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingService.java @@ -17,6 +17,9 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker; import io.netty.handler.codec.http.websocketx.extensions.WebSocketClientExtensionHandler; +import io.reactivex.Completable; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; import java.io.IOException; import java.time.Duration; import java.util.Collections; @@ -24,10 +27,6 @@ import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Supplier; - -import io.reactivex.Completable; -import io.reactivex.Observable; -import io.reactivex.ObservableEmitter; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.knowm.xchange.exceptions.ExchangeException; @@ -35,17 +34,21 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** @author makarid, pchertalev */ +/** + * @author makarid, pchertalev + */ public class KrakenStreamingService extends JsonNettyStreamingService { private static final Logger LOG = LoggerFactory.getLogger(KrakenStreamingService.class); private static final String EVENT = "event"; - private static final String WEBSOCKET_REQUESTS_PER_SECOND = "Kraken_Websocket_Requests_Per_Second"; + private static final String WEBSOCKET_REQUESTS_PER_SECOND = + "Kraken_Websocket_Requests_Per_Second"; private final Map channels = new ConcurrentHashMap<>(); private final ObjectMapper mapper = StreamingObjectMapperHelper.getObjectMapper(); private final boolean isPrivate; private final Supplier authData; private final Map subscriptionRequestMap = new ConcurrentHashMap<>(); - private final Map> systemChannels = new ConcurrentHashMap<>(); + private final Map> systemChannels = + new ConcurrentHashMap<>(); private final RateLimiter rateLimiter; static final int ORDER_BOOK_SIZE_DEFAULT = 10; private static final int[] KRAKEN_VALID_ORDER_BOOK_SIZES = {10, 25, 100, 500, 1000}; @@ -78,13 +81,20 @@ public KrakenStreamingService( private static RateLimiter initRateLimiter(KrakenStreamingExchange exchange) { RateLimiter rateLimiter = null; - Integer requestsPerSecond = (Integer) exchange.getExchangeSpecification().getExchangeSpecificParametersItem(WEBSOCKET_REQUESTS_PER_SECOND); + Integer requestsPerSecond = + (Integer) + exchange + .getExchangeSpecification() + .getExchangeSpecificParametersItem(WEBSOCKET_REQUESTS_PER_SECOND); if (requestsPerSecond != null) { // N messages per second - rateLimiter = RateLimiter.of("websocket rate limiter", RateLimiterConfig.custom() - .limitForPeriod(requestsPerSecond) - .limitRefreshPeriod(Duration.ofSeconds(1)) - .build()); + rateLimiter = + RateLimiter.of( + "websocket rate limiter", + RateLimiterConfig.custom() + .limitForPeriod(requestsPerSecond) + .limitRefreshPeriod(Duration.ofSeconds(1)) + .build()); } return rateLimiter; } @@ -101,9 +111,10 @@ protected WebSocketClientExtensionHandler getWebSocketClientExtensionHandler() { public Observable subscribeSystemChannel(KrakenEventType eventType) { String channelName = eventType.name(); - return Observable.create(e -> systemChannels.computeIfAbsent(channelName, cid -> e)) - .doOnDispose(() -> systemChannels.remove(channelName)) - .share(); + return Observable.create( + e -> systemChannels.computeIfAbsent(channelName, cid -> e)) + .doOnDispose(() -> systemChannels.remove(channelName)) + .share(); } @Override @@ -135,8 +146,7 @@ protected void handleMessage(JsonNode message) { LOG.info("System status: {}", systemStatus); // send to subscribers if any ObservableEmitter emitter = systemChannels.get(krakenEvent.name()); - if (emitter != null) - emitter.onNext(systemStatus); + if (emitter != null) emitter.onNext(systemStatus); break; case subscriptionStatus: LOG.debug("Received subscriptionStatus message {}", message); @@ -167,8 +177,7 @@ protected void handleMessage(JsonNode message) { } // send to subscribers if any emitter = systemChannels.get(krakenEvent.name()); - if (emitter != null) - emitter.onNext(statusMessage); + if (emitter != null) emitter.onNext(statusMessage); break; case error: LOG.error( @@ -280,10 +289,9 @@ public String getUnsubscribeMessage(String channelName, Object... args) throws I @Override public void sendMessage(String message) { - if (rateLimiter != null) - RateLimiter.waitForPermission(rateLimiter); + if (rateLimiter != null) RateLimiter.waitForPermission(rateLimiter); - super.sendMessage(message); + super.sendMessage(message); } @Override diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingTradeService.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingTradeService.java index 2f51909d01e..e9d81d8e6d1 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingTradeService.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/KrakenStreamingTradeService.java @@ -41,12 +41,15 @@ public class KrakenStreamingTradeService implements StreamingTradeService { this.streamingService = streamingService; if (streamingService != null) { - streamingService.subscribeDisconnect().subscribe(o -> { - synchronized (this) { - ownTradesObservableSet = false; - userTradeObservableSet = false; - } - }); + streamingService + .subscribeDisconnect() + .subscribe( + o -> { + synchronized (this) { + ownTradesObservableSet = false; + userTradeObservableSet = false; + } + }); } } diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenEvent.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenEvent.java index a6362693ba0..39bac98febd 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenEvent.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenEvent.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import info.bitrich.xchangestream.kraken.dto.enums.KrakenEventType; -/** @author pchertalev */ +/** + * @author pchertalev + */ public class KrakenEvent { @JsonProperty("event") diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenOpenOrder.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenOpenOrder.java index 21c656c73fd..de63305d00c 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenOpenOrder.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenOpenOrder.java @@ -6,14 +6,19 @@ public class KrakenOpenOrder { /** Referral order transaction id that created this order */ public String refid; + /** user reference id */ public Integer userref; + /** status of order: */ public String status; + /** unix timestamp of when order was placed */ public Double opentm; + /** unix timestamp of order start time (if set) */ public Double starttm; + /** unix timestamp of order end time (if set) */ public Double expiretm; @@ -21,23 +26,31 @@ public class KrakenOpenOrder { /** volume of order (base currency unless viqc set in oflags) */ public BigDecimal vol; + /** volume executed (base currency unless viqc set in oflags) */ public BigDecimal vol_exec; + /** total cost (quote currency unless unless viqc set in oflags) */ public BigDecimal cost; + /** total fee (quote currency) */ public BigDecimal fee; + /** average price (quote currency unless viqc set in oflags) */ public BigDecimal avg_price; + /** stop price (quote currency, for trailing stops) */ public BigDecimal stopprice; + /** triggered limit price (quote currency, when limit based order type triggered) */ public BigDecimal limitprice; + /** * comma delimited list of miscellaneous info: stopped=triggered by stop price, touched=triggered * by touch price, liquidation=liquidation, partial=partial fill */ public String misc; + /** * Comma delimited list of order flags (optional). viqc = volume in quote currency (not available * for leveraged orders), fcib = prefer fee in base currency, fciq = prefer fee in quote currency, @@ -47,18 +60,25 @@ public class KrakenOpenOrder { public static class KrakenDtoDescr { public String pair; + /** type of order (buy/sell) */ public String type; + /** order type */ public String ordertype; + /** primary price */ public BigDecimal price; + /** secondary price */ public BigDecimal price2; + /** amount of leverage, could be string like "5:1" */ public String leverage; + /** order description */ public String order; + /** conditional close order description (if conditional close set) */ public String close; } diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenOwnTrade.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenOwnTrade.java index cd038634443..d03eec38175 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenOwnTrade.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenOwnTrade.java @@ -5,24 +5,32 @@ public class KrakenOwnTrade { /** order responsible for execution of trade */ public String ordertxid; + /** Position trade id */ public String postxid; public String pair; + /** unix timestamp of trade */ public Double time; + /** type of order (buy/sell) */ public String type; public String ordertype; + /** average price order was executed at (quote currency) */ public BigDecimal price; + /** total cost of order (quote currency) */ public BigDecimal cost; + /** total fee (quote currency) */ public BigDecimal fee; + /** volume (base currency) */ public BigDecimal vol; + /** initial margin (quote currency) */ public BigDecimal margin; } diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionConfig.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionConfig.java index 8cebce255dc..226b60def64 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionConfig.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionConfig.java @@ -5,7 +5,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import info.bitrich.xchangestream.kraken.dto.enums.KrakenSubscriptionName; -/** @author makarid, pchertalev */ +/** + * @author makarid, pchertalev + */ @JsonInclude(JsonInclude.Include.NON_NULL) public class KrakenSubscriptionConfig { diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionMessage.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionMessage.java index b920019270b..bdcc38cbf79 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionMessage.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionMessage.java @@ -6,7 +6,9 @@ import info.bitrich.xchangestream.kraken.dto.enums.KrakenEventType; import java.util.List; -/** @author pchertalev */ +/** + * @author pchertalev + */ @JsonInclude(JsonInclude.Include.NON_NULL) public class KrakenSubscriptionMessage extends KrakenEvent { diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionStatusMessage.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionStatusMessage.java index 71534a742e7..c0e058b787b 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionStatusMessage.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSubscriptionStatusMessage.java @@ -5,7 +5,9 @@ import info.bitrich.xchangestream.kraken.dto.enums.KrakenEventType; import info.bitrich.xchangestream.kraken.dto.enums.KrakenSubscriptionStatus; -/** @author pchertalev */ +/** + * @author pchertalev + */ public class KrakenSubscriptionStatusMessage extends KrakenEvent { private final Integer channelID; diff --git a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSystemStatus.java b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSystemStatus.java index f3b8ed68cc8..eaacc350c0c 100644 --- a/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSystemStatus.java +++ b/xchange-stream-kraken/src/main/java/info/bitrich/xchangestream/kraken/dto/KrakenSystemStatus.java @@ -4,10 +4,13 @@ import com.fasterxml.jackson.annotation.JsonProperty; import info.bitrich.xchangestream.kraken.dto.enums.KrakenEventType; -/** @author pchertalev */ +/** + * @author pchertalev + */ public class KrakenSystemStatus extends KrakenEvent { private final String connectionID; + /** online|maintenance|(custom status tbd) */ private final String status; diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingAdapters.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingAdapters.java index df0839a771d..e56951d8449 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingAdapters.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingAdapters.java @@ -1,6 +1,9 @@ package info.bitrich.xchangestream.krakenfutures; import info.bitrich.xchangestream.krakenfutures.dto.*; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; import org.knowm.xchange.currency.Currency; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.marketdata.FundingRate; @@ -11,69 +14,93 @@ import org.knowm.xchange.dto.trade.UserTrade; import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - public class KrakenFuturesStreamingAdapters { - public static OrderBook adaptKrakenFuturesSnapshot(KrakenFuturesStreamingOrderBookSnapshotResponse snapshot){ - List asks = new ArrayList<>(); - List bids = new ArrayList<>(); + public static OrderBook adaptKrakenFuturesSnapshot( + KrakenFuturesStreamingOrderBookSnapshotResponse snapshot) { + List asks = new ArrayList<>(); + List bids = new ArrayList<>(); - snapshot.getBids().forEach(krakenFuturesSnapShotOrder -> bids.add(new LimitOrder.Builder(Order.OrderType.BID, KrakenFuturesAdapters.adaptInstrument(snapshot.getProduct_id())) + snapshot + .getBids() + .forEach( + krakenFuturesSnapShotOrder -> + bids.add( + new LimitOrder.Builder( + Order.OrderType.BID, + KrakenFuturesAdapters.adaptInstrument(snapshot.getProduct_id())) + .limitPrice(krakenFuturesSnapShotOrder.getPrice()) + .originalAmount(krakenFuturesSnapShotOrder.getQuantity()) + .build())); + snapshot + .getAsks() + .forEach( + krakenFuturesSnapShotOrder -> + asks.add( + new LimitOrder.Builder( + Order.OrderType.ASK, + KrakenFuturesAdapters.adaptInstrument(snapshot.getProduct_id())) .limitPrice(krakenFuturesSnapShotOrder.getPrice()) .originalAmount(krakenFuturesSnapShotOrder.getQuantity()) - .build())); - snapshot.getAsks().forEach(krakenFuturesSnapShotOrder -> asks.add(new LimitOrder.Builder(Order.OrderType.ASK, KrakenFuturesAdapters.adaptInstrument(snapshot.getProduct_id())) - .limitPrice(krakenFuturesSnapShotOrder.getPrice()) - .originalAmount(krakenFuturesSnapShotOrder.getQuantity()) - .build())); + .build())); - return new OrderBook(snapshot.getTimestamp(), asks, bids); - } + return new OrderBook(snapshot.getTimestamp(), asks, bids); + } - public static Ticker adaptTicker(KrakenFuturesStreamingTickerResponse tickerResponse) { - return new Ticker.Builder() - .instrument(KrakenFuturesAdapters.adaptInstrument(tickerResponse.getProduct_id())) - .ask(tickerResponse.getAsk()) - .bid(tickerResponse.getBid()) - .last(tickerResponse.getLast()) - .volume(tickerResponse.getVolume()) - .timestamp(tickerResponse.getTime()) - .quoteVolume(tickerResponse.getVolumeQuote()) - .percentageChange(tickerResponse.getChange()) - .askSize(tickerResponse.getAsk_size()) - .bidSize(tickerResponse.getBid_size()) - .build(); - } + public static Ticker adaptTicker(KrakenFuturesStreamingTickerResponse tickerResponse) { + return new Ticker.Builder() + .instrument(KrakenFuturesAdapters.adaptInstrument(tickerResponse.getProduct_id())) + .ask(tickerResponse.getAsk()) + .bid(tickerResponse.getBid()) + .last(tickerResponse.getLast()) + .volume(tickerResponse.getVolume()) + .timestamp(tickerResponse.getTime()) + .quoteVolume(tickerResponse.getVolumeQuote()) + .percentageChange(tickerResponse.getChange()) + .askSize(tickerResponse.getAsk_size()) + .bidSize(tickerResponse.getBid_size()) + .build(); + } - public static FundingRate adaptFundingRate(KrakenFuturesStreamingTickerResponse tickerResponse) { - return new FundingRate.Builder() - .instrument(KrakenFuturesAdapters.adaptInstrument(tickerResponse.getProduct_id())) - .fundingRate1h(tickerResponse.getRelative_funding_rate()) - .fundingRate8h((tickerResponse.getRelative_funding_rate() == null) - ? null - : tickerResponse.getRelative_funding_rate().multiply(BigDecimal.valueOf(8))) - .fundingRateDate(tickerResponse.getNextFundingRateTime()) - .build(); - } + public static FundingRate adaptFundingRate(KrakenFuturesStreamingTickerResponse tickerResponse) { + return new FundingRate.Builder() + .instrument(KrakenFuturesAdapters.adaptInstrument(tickerResponse.getProduct_id())) + .fundingRate1h(tickerResponse.getRelative_funding_rate()) + .fundingRate8h( + (tickerResponse.getRelative_funding_rate() == null) + ? null + : tickerResponse.getRelative_funding_rate().multiply(BigDecimal.valueOf(8))) + .fundingRateDate(tickerResponse.getNextFundingRateTime()) + .build(); + } - public static Trade adaptTrade(KrakenFuturesStreamingTradeResponse trade) { - return new Trade.Builder() - .price(trade.getPrice()) - .instrument(KrakenFuturesAdapters.adaptInstrument(trade.getProduct_id())) - .timestamp(trade.getTime()) - .type((trade.getSide().equals(KrakenFuturesStreamingOrderBookDeltaResponse.KrakenFuturesStreamingSide.sell) ? Order.OrderType.ASK : Order.OrderType.BID)) - .id(trade.getUid()) - .originalAmount(trade.getQty()) - .build(); - } + public static Trade adaptTrade(KrakenFuturesStreamingTradeResponse trade) { + return new Trade.Builder() + .price(trade.getPrice()) + .instrument(KrakenFuturesAdapters.adaptInstrument(trade.getProduct_id())) + .timestamp(trade.getTime()) + .type( + (trade + .getSide() + .equals( + KrakenFuturesStreamingOrderBookDeltaResponse.KrakenFuturesStreamingSide + .sell) + ? Order.OrderType.ASK + : Order.OrderType.BID)) + .id(trade.getUid()) + .originalAmount(trade.getQty()) + .build(); + } - public static List adaptUserTrades(KrakenFuturesStreamingFillsDeltaResponse fills) { - List userTrades = new ArrayList<>(); + public static List adaptUserTrades(KrakenFuturesStreamingFillsDeltaResponse fills) { + List userTrades = new ArrayList<>(); - fills.getFills().forEach(krakenFuturesStreamingFill -> userTrades.add(UserTrade.builder() + fills + .getFills() + .forEach( + krakenFuturesStreamingFill -> + userTrades.add( + UserTrade.builder() .price(krakenFuturesStreamingFill.getPrice()) .originalAmount(krakenFuturesStreamingFill.getQty()) .id(krakenFuturesStreamingFill.getFill_id()) @@ -81,11 +108,16 @@ public static List adaptUserTrades(KrakenFuturesStreamingFillsDeltaRe .orderUserReference(krakenFuturesStreamingFill.getCli_ord_id()) .feeCurrency(new Currency(krakenFuturesStreamingFill.getFee_currency())) .feeAmount(krakenFuturesStreamingFill.getFee_paid()) - .type((krakenFuturesStreamingFill.isBuy()) ? Order.OrderType.BID : Order.OrderType.ASK) - .instrument(KrakenFuturesAdapters.adaptInstrument(krakenFuturesStreamingFill.getInstrument())) + .type( + (krakenFuturesStreamingFill.isBuy()) + ? Order.OrderType.BID + : Order.OrderType.ASK) + .instrument( + KrakenFuturesAdapters.adaptInstrument( + krakenFuturesStreamingFill.getInstrument())) .timestamp(krakenFuturesStreamingFill.getTime()) - .build())); + .build())); - return userTrades; - } + return userTrades; + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingExchange.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingExchange.java index aec931eb4d9..0dfb8492036 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingExchange.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingExchange.java @@ -11,77 +11,84 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class KrakenFuturesStreamingExchange extends KrakenFuturesExchange implements StreamingExchange { - - private static final Logger LOG = LoggerFactory.getLogger(KrakenFuturesStreamingExchange.class); - private final String API_URI = "wss://futures.kraken.com/ws/v1"; - private final String DEMO_API_URI = "wss://demo-futures.kraken.com/ws/v1"; - - private KrakenFuturesStreamingService streamingService; - private KrakenFuturesStreamingMarketDataService streamingMarketDataService; - private KrakenFuturesStreamingTradeService streamingTradeService; - - @Override - protected void initServices() { - super.initServices(); - } - - @Override - public Completable connect(ProductSubscription... args) { - this.streamingService = new KrakenFuturesStreamingService((Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(USE_SANDBOX))) ? DEMO_API_URI : API_URI, exchangeSpecification); - this.streamingMarketDataService = new KrakenFuturesStreamingMarketDataService(streamingService); - this.streamingTradeService = new KrakenFuturesStreamingTradeService(streamingService); - return streamingService.connect(); - } - - @Override - public Completable disconnect() { - return streamingService.disconnect(); - } - - @Override - public boolean isAlive() { - return streamingService.isSocketOpen(); - } - - @Override - public StreamingMarketDataService getStreamingMarketDataService() { - return streamingMarketDataService; - } - @Override - public StreamingTradeService getStreamingTradeService() { - return streamingTradeService; - } - - @Override - public Observable connectionSuccess() { - return streamingService.subscribeConnectionSuccess(); - } - - @Override - public Observable disconnectObservable() { - return streamingService.subscribeDisconnect(); - } - - @Override - public Observable reconnectFailure() { - return streamingService.subscribeReconnectFailure(); - } - - @Override - public Observable connectionStateObservable() { - return streamingService.subscribeConnectionState(); - } - - @Override - public void useCompressedMessages(boolean compressedMessages) { - streamingService.useCompressedMessages(compressedMessages); - } - - @Override - public void resubscribeChannels() { - LOG.debug("Resubscribing channels"); - streamingService.resubscribeChannels(); - } +public class KrakenFuturesStreamingExchange extends KrakenFuturesExchange + implements StreamingExchange { + + private static final Logger LOG = LoggerFactory.getLogger(KrakenFuturesStreamingExchange.class); + private final String API_URI = "wss://futures.kraken.com/ws/v1"; + private final String DEMO_API_URI = "wss://demo-futures.kraken.com/ws/v1"; + + private KrakenFuturesStreamingService streamingService; + private KrakenFuturesStreamingMarketDataService streamingMarketDataService; + private KrakenFuturesStreamingTradeService streamingTradeService; + + @Override + protected void initServices() { + super.initServices(); + } + + @Override + public Completable connect(ProductSubscription... args) { + this.streamingService = + new KrakenFuturesStreamingService( + (Boolean.TRUE.equals( + exchangeSpecification.getExchangeSpecificParametersItem(USE_SANDBOX))) + ? DEMO_API_URI + : API_URI, + exchangeSpecification); + this.streamingMarketDataService = new KrakenFuturesStreamingMarketDataService(streamingService); + this.streamingTradeService = new KrakenFuturesStreamingTradeService(streamingService); + return streamingService.connect(); + } + + @Override + public Completable disconnect() { + return streamingService.disconnect(); + } + + @Override + public boolean isAlive() { + return streamingService.isSocketOpen(); + } + + @Override + public StreamingMarketDataService getStreamingMarketDataService() { + return streamingMarketDataService; + } + + @Override + public StreamingTradeService getStreamingTradeService() { + return streamingTradeService; + } + + @Override + public Observable connectionSuccess() { + return streamingService.subscribeConnectionSuccess(); + } + + @Override + public Observable disconnectObservable() { + return streamingService.subscribeDisconnect(); + } + + @Override + public Observable reconnectFailure() { + return streamingService.subscribeReconnectFailure(); + } + + @Override + public Observable connectionStateObservable() { + return streamingService.subscribeConnectionState(); + } + + @Override + public void useCompressedMessages(boolean compressedMessages) { + streamingService.useCompressedMessages(compressedMessages); + } + + @Override + public void resubscribeChannels() { + LOG.debug("Resubscribing channels"); + streamingService.resubscribeChannels(); + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingMarketDataService.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingMarketDataService.java index b8bc4ca9772..0afbc22d378 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingMarketDataService.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingMarketDataService.java @@ -8,82 +8,130 @@ import info.bitrich.xchangestream.krakenfutures.dto.KrakenFuturesStreamingTradeResponse; import info.bitrich.xchangestream.service.netty.StreamingObjectMapperHelper; import io.reactivex.Observable; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.marketdata.*; import org.knowm.xchange.dto.trade.LimitOrder; import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.krakenfutures.KrakenFuturesAdapters; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - public class KrakenFuturesStreamingMarketDataService implements StreamingMarketDataService { - private final ObjectMapper objectMapper = StreamingObjectMapperHelper.getObjectMapper(); - private final KrakenFuturesStreamingService service; - private final Map orderBookMap = new HashMap<>(); + private final ObjectMapper objectMapper = StreamingObjectMapperHelper.getObjectMapper(); + private final KrakenFuturesStreamingService service; + private final Map orderBookMap = new HashMap<>(); - public KrakenFuturesStreamingMarketDataService(KrakenFuturesStreamingService service) { - this.service = service; - } + public KrakenFuturesStreamingMarketDataService(KrakenFuturesStreamingService service) { + this.service = service; + } - @Override - public Observable getOrderBook(Instrument instrument, Object... args) { - String channelName = service.ORDERBOOK + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument); - return service.subscribeChannel(channelName) - .filter(message-> message.has("feed")) - .map(message-> { - try{ - if(message.get("feed").asText().contains("book_snapshot")){ - orderBookMap.put(instrument, KrakenFuturesStreamingAdapters.adaptKrakenFuturesSnapshot(objectMapper.treeToValue(message, KrakenFuturesStreamingOrderBookSnapshotResponse.class))); - } else if(message.get("feed").asText().equals(service.ORDERBOOK)){ - KrakenFuturesStreamingOrderBookDeltaResponse delta = objectMapper.treeToValue(message, KrakenFuturesStreamingOrderBookDeltaResponse.class); - orderBookMap.get(instrument).update(new LimitOrder.Builder((delta.getSide().equals(KrakenFuturesStreamingOrderBookDeltaResponse.KrakenFuturesStreamingSide.sell)) - ? Order.OrderType.ASK - : Order.OrderType.BID,instrument) - .limitPrice(delta.getPrice()) - .originalAmount(delta.getQty()) - .timestamp(delta.getTimestamp()) - .build()); - } - if(orderBookMap.get(instrument).getBids().get(0).getLimitPrice().compareTo(orderBookMap.get(instrument).getAsks().get(0).getLimitPrice()) > 0){ - throw new IOException("OrderBook crossed!!!"); - } - return orderBookMap.get(instrument); - } catch (Exception e){ - throw new IOException(e); - } - }); - } + @Override + public Observable getOrderBook(Instrument instrument, Object... args) { + String channelName = + service.ORDERBOOK + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument); + return service + .subscribeChannel(channelName) + .filter(message -> message.has("feed")) + .map( + message -> { + try { + if (message.get("feed").asText().contains("book_snapshot")) { + orderBookMap.put( + instrument, + KrakenFuturesStreamingAdapters.adaptKrakenFuturesSnapshot( + objectMapper.treeToValue( + message, KrakenFuturesStreamingOrderBookSnapshotResponse.class))); + } else if (message.get("feed").asText().equals(service.ORDERBOOK)) { + KrakenFuturesStreamingOrderBookDeltaResponse delta = + objectMapper.treeToValue( + message, KrakenFuturesStreamingOrderBookDeltaResponse.class); + orderBookMap + .get(instrument) + .update( + new LimitOrder.Builder( + (delta + .getSide() + .equals( + KrakenFuturesStreamingOrderBookDeltaResponse + .KrakenFuturesStreamingSide.sell)) + ? Order.OrderType.ASK + : Order.OrderType.BID, + instrument) + .limitPrice(delta.getPrice()) + .originalAmount(delta.getQty()) + .timestamp(delta.getTimestamp()) + .build()); + } + if (orderBookMap + .get(instrument) + .getBids() + .get(0) + .getLimitPrice() + .compareTo(orderBookMap.get(instrument).getAsks().get(0).getLimitPrice()) + > 0) { + throw new IOException("OrderBook crossed!!!"); + } + return orderBookMap.get(instrument); + } catch (Exception e) { + throw new IOException(e); + } + }); + } - @Override - public Observable getTicker(Instrument instrument, Object... args) { - String channelName = service.TICKER+KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument); + @Override + public Observable getTicker(Instrument instrument, Object... args) { + String channelName = + service.TICKER + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument); - return service.subscribeChannel(channelName) - .filter(message-> message.has("feed") && message.has("product_id")) - .filter(message-> message.get("product_id").asText().equals(KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument))) - .map(message-> KrakenFuturesStreamingAdapters.adaptTicker(objectMapper.treeToValue(message, KrakenFuturesStreamingTickerResponse.class))); - } + return service + .subscribeChannel(channelName) + .filter(message -> message.has("feed") && message.has("product_id")) + .filter( + message -> + message + .get("product_id") + .asText() + .equals(KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument))) + .map( + message -> + KrakenFuturesStreamingAdapters.adaptTicker( + objectMapper.treeToValue(message, KrakenFuturesStreamingTickerResponse.class))); + } - @Override - public Observable getTrades(Instrument instrument, Object... args) { - String channelName = service.TRADES+KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument); + @Override + public Observable getTrades(Instrument instrument, Object... args) { + String channelName = + service.TRADES + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument); - return service.subscribeChannel(channelName) - .filter(message-> message.has("feed") && message.has("product_id")) - .filter(message -> message.get("feed").asText().equals("trade")) - .map(message-> KrakenFuturesStreamingAdapters.adaptTrade(objectMapper.treeToValue(message, KrakenFuturesStreamingTradeResponse.class))); - } + return service + .subscribeChannel(channelName) + .filter(message -> message.has("feed") && message.has("product_id")) + .filter(message -> message.get("feed").asText().equals("trade")) + .map( + message -> + KrakenFuturesStreamingAdapters.adaptTrade( + objectMapper.treeToValue(message, KrakenFuturesStreamingTradeResponse.class))); + } - @Override - public Observable getFundingRate(Instrument instrument, Object... args) { - String channelName = service.TICKER+KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument); + @Override + public Observable getFundingRate(Instrument instrument, Object... args) { + String channelName = + service.TICKER + KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument); - return service.subscribeChannel(channelName) - .filter(message-> message.has("feed") && message.has("product_id")) - .filter(message-> message.get("product_id").asText().equals(KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument))) - .map(message-> KrakenFuturesStreamingAdapters.adaptFundingRate(objectMapper.treeToValue(message, KrakenFuturesStreamingTickerResponse.class))); - } + return service + .subscribeChannel(channelName) + .filter(message -> message.has("feed") && message.has("product_id")) + .filter( + message -> + message + .get("product_id") + .asText() + .equals(KrakenFuturesAdapters.adaptKrakenFuturesSymbol(instrument))) + .map( + message -> + KrakenFuturesStreamingAdapters.adaptFundingRate( + objectMapper.treeToValue(message, KrakenFuturesStreamingTickerResponse.class))); + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingService.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingService.java index 78fa109c2de..eb572cb82b3 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingService.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingService.java @@ -8,120 +8,131 @@ import info.bitrich.xchangestream.service.netty.JsonNettyStreamingService; import info.bitrich.xchangestream.service.netty.StreamingObjectMapperHelper; import io.reactivex.Completable; +import java.io.IOException; +import java.util.concurrent.TimeUnit; import org.apache.commons.lang3.NotImplementedException; import org.knowm.xchange.ExchangeSpecification; import org.knowm.xchange.krakenfutures.service.KrakenFuturesDigest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.util.concurrent.TimeUnit; - public class KrakenFuturesStreamingService extends JsonNettyStreamingService { - private static final Logger LOG = LoggerFactory.getLogger(KrakenFuturesStreamingService.class); - protected final String ORDERBOOK = "book"; - protected final String TICKER = "ticker"; - protected final String TRADES = "trade"; - protected final String FILLS = "fills"; - - private String CHALLENGE = ""; - private final ExchangeSpecification exchangeSpecification; - public KrakenFuturesStreamingService(String apiUrl, ExchangeSpecification exchangeSpecification) { - super(apiUrl); - this.exchangeSpecification = exchangeSpecification; + private static final Logger LOG = LoggerFactory.getLogger(KrakenFuturesStreamingService.class); + protected final String ORDERBOOK = "book"; + protected final String TICKER = "ticker"; + protected final String TRADES = "trade"; + protected final String FILLS = "fills"; + + private String CHALLENGE = ""; + private final ExchangeSpecification exchangeSpecification; + + public KrakenFuturesStreamingService(String apiUrl, ExchangeSpecification exchangeSpecification) { + super(apiUrl); + this.exchangeSpecification = exchangeSpecification; + } + + @Override + protected String getChannelNameFromMessage(JsonNode message) { + String channelName = ""; + + if (message.has("feed") && message.has("product_id")) { + if (message.get("feed").asText().contains(ORDERBOOK)) { + channelName = ORDERBOOK + message.get("product_id").asText(); + } else if (message.get("feed").asText().contains(TICKER)) { + channelName = TICKER + message.get("product_id").asText(); + } else if (message.get("feed").asText().contains(TRADES)) { + channelName = TRADES + message.get("product_id").asText(); + } } - - @Override - protected String getChannelNameFromMessage(JsonNode message) { - String channelName = ""; - - if(message.has("feed") && message.has("product_id")){ - if(message.get("feed").asText().contains(ORDERBOOK)){ - channelName = ORDERBOOK+message.get("product_id").asText(); - } else if(message.get("feed").asText().contains(TICKER)){ - channelName = TICKER+message.get("product_id").asText(); - } else if(message.get("feed").asText().contains(TRADES)){ - channelName = TRADES+message.get("product_id").asText(); - } - } - // Fills - if(message.has("feed")){ - if(message.get("feed").asText().equals(FILLS)){ - channelName = FILLS; - } - } - - LOG.debug("ChannelName: "+channelName); - return channelName; + // Fills + if (message.has("feed")) { + if (message.get("feed").asText().equals(FILLS)) { + channelName = FILLS; + } } - @Override - protected void handleMessage(JsonNode message) { - super.handleMessage(message); + LOG.debug("ChannelName: " + channelName); + return channelName; + } + + @Override + protected void handleMessage(JsonNode message) { + super.handleMessage(message); - if (message.has("event") && message.get("event").asText().equals("alert") && message.has("message") && message.get("message").asText().equals("Failed to subscribe to authenticated feed")){ - new Thread(() -> { + if (message.has("event") + && message.get("event").asText().equals("alert") + && message.has("message") + && message.get("message").asText().equals("Failed to subscribe to authenticated feed")) { + new Thread( + () -> { try { - sendMessage(objectMapper.writeValueAsString(getWebSocketMessage("subscribe", FILLS))); + sendMessage( + objectMapper.writeValueAsString(getWebSocketMessage("subscribe", FILLS))); } catch (JsonProcessingException e) { - throw new RuntimeException(e); + throw new RuntimeException(e); } - }).start(); - } - - if(message.has("event") && message.has("message")){ - if(message.get("event").asText().equals("challenge")){ - CHALLENGE = message.get("message").asText(); - LOG.debug("New CHALLENGE has been saved."); - } - } + }) + .start(); } - @Override - public String getSubscribeMessage(String channelName, Object... args) throws IOException { - return objectMapper.writeValueAsString(getWebSocketMessage("subscribe", channelName)); + if (message.has("event") && message.has("message")) { + if (message.get("event").asText().equals("challenge")) { + CHALLENGE = message.get("message").asText(); + LOG.debug("New CHALLENGE has been saved."); + } } - - @Override - public String getUnsubscribeMessage(String channelName, Object... args) throws IOException { - return objectMapper.writeValueAsString(getWebSocketMessage("unsubscribe", channelName)); - } - - @Override - protected Completable openConnection() { - return super.openConnection() - .doOnComplete(() -> { - LOG.debug("Open connection, reset CHALLENGE..."); - CHALLENGE = ""; - sendMessage(StreamingObjectMapperHelper.getObjectMapper().writeValueAsString(new KrakenFuturesStreamingChallengeRequest(exchangeSpecification.getApiKey()))); - }) - .delay(3, TimeUnit.SECONDS); + } + + @Override + public String getSubscribeMessage(String channelName, Object... args) throws IOException { + return objectMapper.writeValueAsString(getWebSocketMessage("subscribe", channelName)); + } + + @Override + public String getUnsubscribeMessage(String channelName, Object... args) throws IOException { + return objectMapper.writeValueAsString(getWebSocketMessage("unsubscribe", channelName)); + } + + @Override + protected Completable openConnection() { + return super.openConnection() + .doOnComplete( + () -> { + LOG.debug("Open connection, reset CHALLENGE..."); + CHALLENGE = ""; + sendMessage( + StreamingObjectMapperHelper.getObjectMapper() + .writeValueAsString( + new KrakenFuturesStreamingChallengeRequest( + exchangeSpecification.getApiKey()))); + }) + .delay(3, TimeUnit.SECONDS); + } + + private KrakenFuturesStreamingWebsocketMessage getWebSocketMessage( + String event, String channelName) { + if (channelName.contains(ORDERBOOK)) { + return new KrakenFuturesStreamingWebsocketMessage( + event, ORDERBOOK, new String[] {channelName.replace(ORDERBOOK, "")}); + } else if (channelName.contains(TICKER)) { + return new KrakenFuturesStreamingWebsocketMessage( + event, TICKER, new String[] {channelName.replace(TICKER, "")}); + } else if (channelName.contains(TRADES)) { + return new KrakenFuturesStreamingWebsocketMessage( + event, TRADES, new String[] {channelName.replace(TRADES, "")}); + } else if (channelName.contains(FILLS)) { + return new KrakenFuturesStreamingAuthenticatedWebsocketMessage( + event, FILLS, null, exchangeSpecification.getApiKey(), CHALLENGE, signChallenge()); + + } else { + throw new NotImplementedException( + "ChangeName " + channelName + " has not been implemented yet."); } + } - private KrakenFuturesStreamingWebsocketMessage getWebSocketMessage(String event, String channelName){ - if(channelName.contains(ORDERBOOK)){ - return new KrakenFuturesStreamingWebsocketMessage(event, ORDERBOOK, new String[]{channelName.replace(ORDERBOOK, "")}); - } else if(channelName.contains(TICKER)){ - return new KrakenFuturesStreamingWebsocketMessage(event, TICKER, new String[]{channelName.replace(TICKER, "")}); - } else if(channelName.contains(TRADES)){ - return new KrakenFuturesStreamingWebsocketMessage(event, TRADES, new String[]{channelName.replace(TRADES, "")}); - } else if(channelName.contains(FILLS)){ - return new KrakenFuturesStreamingAuthenticatedWebsocketMessage( - event, - FILLS, - null, - exchangeSpecification.getApiKey(), - CHALLENGE, - signChallenge() - ); - - } else { - throw new NotImplementedException("ChangeName "+channelName+" has not been implemented yet."); - } - } - - private String signChallenge(){ - return KrakenFuturesDigest.createInstance(exchangeSpecification.getSecretKey()).signMessage(CHALLENGE); - } + private String signChallenge() { + return KrakenFuturesDigest.createInstance(exchangeSpecification.getSecretKey()) + .signMessage(CHALLENGE); + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingTradeService.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingTradeService.java index 338962d9571..c5be78363d7 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingTradeService.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingTradeService.java @@ -5,32 +5,36 @@ import info.bitrich.xchangestream.krakenfutures.dto.KrakenFuturesStreamingFillsDeltaResponse; import info.bitrich.xchangestream.service.netty.StreamingObjectMapperHelper; import io.reactivex.Observable; +import java.util.List; import org.knowm.xchange.dto.trade.UserTrade; import org.knowm.xchange.instrument.Instrument; -import java.util.List; - public class KrakenFuturesStreamingTradeService implements StreamingTradeService { - private final ObjectMapper objectMapper = StreamingObjectMapperHelper.getObjectMapper(); - private final Observable> fills; + private final ObjectMapper objectMapper = StreamingObjectMapperHelper.getObjectMapper(); + private final Observable> fills; - public KrakenFuturesStreamingTradeService(KrakenFuturesStreamingService streamingService) { - fills = streamingService.subscribeChannel(streamingService.FILLS) - .filter(message-> message.has("feed") && message.has("fills")) - .filter(message-> message.get("feed").asText().equals("fills")) - .map(message-> KrakenFuturesStreamingAdapters.adaptUserTrades(objectMapper.treeToValue(message, KrakenFuturesStreamingFillsDeltaResponse.class))); - } + public KrakenFuturesStreamingTradeService(KrakenFuturesStreamingService streamingService) { + fills = + streamingService + .subscribeChannel(streamingService.FILLS) + .filter(message -> message.has("feed") && message.has("fills")) + .filter(message -> message.get("feed").asText().equals("fills")) + .map( + message -> + KrakenFuturesStreamingAdapters.adaptUserTrades( + objectMapper.treeToValue( + message, KrakenFuturesStreamingFillsDeltaResponse.class))); + } - @Override - public Observable getUserTrades(Instrument instrument, Object... args) { - return fills - .flatMapIterable(userTrades -> userTrades) - .filter(userTrade -> userTrade.getInstrument().equals(instrument)); - } + @Override + public Observable getUserTrades(Instrument instrument, Object... args) { + return fills + .flatMapIterable(userTrades -> userTrades) + .filter(userTrade -> userTrade.getInstrument().equals(instrument)); + } - @Override - public Observable getUserTrades() { - return fills - .flatMapIterable(userTrades -> userTrades); - } + @Override + public Observable getUserTrades() { + return fills.flatMapIterable(userTrades -> userTrades); + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingAuthenticatedWebsocketMessage.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingAuthenticatedWebsocketMessage.java index 2760f7ce3ce..f10ce235539 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingAuthenticatedWebsocketMessage.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingAuthenticatedWebsocketMessage.java @@ -6,22 +6,23 @@ @Getter @JsonInclude(JsonInclude.Include.NON_NULL) -public class KrakenFuturesStreamingAuthenticatedWebsocketMessage extends KrakenFuturesStreamingWebsocketMessage { +public class KrakenFuturesStreamingAuthenticatedWebsocketMessage + extends KrakenFuturesStreamingWebsocketMessage { - private final String api_key; - private final String original_challenge; - private final String signed_challenge; + private final String api_key; + private final String original_challenge; + private final String signed_challenge; - public KrakenFuturesStreamingAuthenticatedWebsocketMessage( - @JsonProperty("event") String event, - @JsonProperty("feed") String feed, - @JsonProperty("product_ids") String[] product_ids, - @JsonProperty("api_key") String api_key, - @JsonProperty("original_challenge") String original_challenge, - @JsonProperty("signed_challenge") String signed_challenge) { - super(event, feed, product_ids); - this.api_key = api_key; - this.original_challenge = original_challenge; - this.signed_challenge = signed_challenge; - } + public KrakenFuturesStreamingAuthenticatedWebsocketMessage( + @JsonProperty("event") String event, + @JsonProperty("feed") String feed, + @JsonProperty("product_ids") String[] product_ids, + @JsonProperty("api_key") String api_key, + @JsonProperty("original_challenge") String original_challenge, + @JsonProperty("signed_challenge") String signed_challenge) { + super(event, feed, product_ids); + this.api_key = api_key; + this.original_challenge = original_challenge; + this.signed_challenge = signed_challenge; + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingChallengeRequest.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingChallengeRequest.java index e0a7d76f3a3..4ec1eb98fcb 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingChallengeRequest.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingChallengeRequest.java @@ -6,13 +6,12 @@ @Getter public class KrakenFuturesStreamingChallengeRequest { - @JsonProperty("event") - private final String event = "challenge"; - private final String api_key; + @JsonProperty("event") + private final String event = "challenge"; - public KrakenFuturesStreamingChallengeRequest( - @JsonProperty("api_key") String api_key - ) { - this.api_key = api_key; - } + private final String api_key; + + public KrakenFuturesStreamingChallengeRequest(@JsonProperty("api_key") String api_key) { + this.api_key = api_key; + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingChallengeResponse.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingChallengeResponse.java index dba387e6d48..ca703950a83 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingChallengeResponse.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingChallengeResponse.java @@ -6,13 +6,12 @@ @Getter public class KrakenFuturesStreamingChallengeResponse { - private final String event; - private final String message; + private final String event; + private final String message; - public KrakenFuturesStreamingChallengeResponse( - @JsonProperty("event") String event, - @JsonProperty("message") String message) { - this.event = event; - this.message = message; - } + public KrakenFuturesStreamingChallengeResponse( + @JsonProperty("event") String event, @JsonProperty("message") String message) { + this.event = event; + this.message = message; + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingFillsDeltaResponse.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingFillsDeltaResponse.java index 15196b92080..81d8e6ef177 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingFillsDeltaResponse.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingFillsDeltaResponse.java @@ -2,70 +2,69 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; - import java.math.BigDecimal; import java.util.Date; import java.util.List; +import lombok.Getter; @Getter public class KrakenFuturesStreamingFillsDeltaResponse { - private final String feed; - private final String username; - private final List fills; + private final String feed; + private final String username; + private final List fills; - public KrakenFuturesStreamingFillsDeltaResponse( - @JsonProperty("feed") String feed, - @JsonProperty("username") String username, - @JsonProperty("fills") List fills) { - this.feed = feed; - this.username = username; - this.fills = fills; - } + public KrakenFuturesStreamingFillsDeltaResponse( + @JsonProperty("feed") String feed, + @JsonProperty("username") String username, + @JsonProperty("fills") List fills) { + this.feed = feed; + this.username = username; + this.fills = fills; + } - @Getter - @JsonInclude(JsonInclude.Include.NON_NULL) - public static class KrakenFuturesStreamingFill { + @Getter + @JsonInclude(JsonInclude.Include.NON_NULL) + public static class KrakenFuturesStreamingFill { - private final String instrument; - private final Date time; - private final BigDecimal price; - private final Long seq; - private final boolean buy; - private final BigDecimal qty; - private final String order_id; - private final String cli_ord_id; - private final String fill_id; - private final String fill_type; - private final BigDecimal fee_paid; - private final String fee_currency; + private final String instrument; + private final Date time; + private final BigDecimal price; + private final Long seq; + private final boolean buy; + private final BigDecimal qty; + private final String order_id; + private final String cli_ord_id; + private final String fill_id; + private final String fill_type; + private final BigDecimal fee_paid; + private final String fee_currency; - public KrakenFuturesStreamingFill( - @JsonProperty("instrument") String instrument, - @JsonProperty("time") Date time, - @JsonProperty("price") BigDecimal price, - @JsonProperty("seq") Long seq, - @JsonProperty("buy") boolean buy, - @JsonProperty("qty") BigDecimal qty, - @JsonProperty("order_id") String order_id, - @JsonProperty("cli_ord_id") String cli_ord_id, - @JsonProperty("fill_id") String fill_id, - @JsonProperty("fill_type") String fill_type, - @JsonProperty("fee_paid") BigDecimal fee_paid, - @JsonProperty("fee_currency") String fee_currency) { - this.instrument = instrument; - this.time = time; - this.price = price; - this.seq = seq; - this.buy = buy; - this.qty = qty; - this.order_id = order_id; - this.cli_ord_id = cli_ord_id; - this.fill_id = fill_id; - this.fill_type = fill_type; - this.fee_paid = fee_paid; - this.fee_currency = fee_currency; - } + public KrakenFuturesStreamingFill( + @JsonProperty("instrument") String instrument, + @JsonProperty("time") Date time, + @JsonProperty("price") BigDecimal price, + @JsonProperty("seq") Long seq, + @JsonProperty("buy") boolean buy, + @JsonProperty("qty") BigDecimal qty, + @JsonProperty("order_id") String order_id, + @JsonProperty("cli_ord_id") String cli_ord_id, + @JsonProperty("fill_id") String fill_id, + @JsonProperty("fill_type") String fill_type, + @JsonProperty("fee_paid") BigDecimal fee_paid, + @JsonProperty("fee_currency") String fee_currency) { + this.instrument = instrument; + this.time = time; + this.price = price; + this.seq = seq; + this.buy = buy; + this.qty = qty; + this.order_id = order_id; + this.cli_ord_id = cli_ord_id; + this.fill_id = fill_id; + this.fill_type = fill_type; + this.fee_paid = fee_paid; + this.fee_currency = fee_currency; } + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingOrderBookDeltaResponse.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingOrderBookDeltaResponse.java index 000e6cc90cb..798614e8e4c 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingOrderBookDeltaResponse.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingOrderBookDeltaResponse.java @@ -1,41 +1,40 @@ package info.bitrich.xchangestream.krakenfutures.dto; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; - import java.math.BigDecimal; import java.util.Date; +import lombok.Getter; @Getter public class KrakenFuturesStreamingOrderBookDeltaResponse { - private final String feed; - private final String product_id; - private final KrakenFuturesStreamingSide side; - private final Long seq; - private final BigDecimal price; - private final BigDecimal qty; - private final Date timestamp; + private final String feed; + private final String product_id; + private final KrakenFuturesStreamingSide side; + private final Long seq; + private final BigDecimal price; + private final BigDecimal qty; + private final Date timestamp; - public KrakenFuturesStreamingOrderBookDeltaResponse( - @JsonProperty("feed") String feed, - @JsonProperty("product_id") String product_id, - @JsonProperty("side") KrakenFuturesStreamingSide side, - @JsonProperty("seq") Long seq, - @JsonProperty("price") BigDecimal price, - @JsonProperty("qty") BigDecimal qty, - @JsonProperty("timestamp") Date timestamp) { - this.feed = feed; - this.product_id = product_id; - this.side = side; - this.seq = seq; - this.price = price; - this.qty = qty; - this.timestamp = timestamp; - } + public KrakenFuturesStreamingOrderBookDeltaResponse( + @JsonProperty("feed") String feed, + @JsonProperty("product_id") String product_id, + @JsonProperty("side") KrakenFuturesStreamingSide side, + @JsonProperty("seq") Long seq, + @JsonProperty("price") BigDecimal price, + @JsonProperty("qty") BigDecimal qty, + @JsonProperty("timestamp") Date timestamp) { + this.feed = feed; + this.product_id = product_id; + this.side = side; + this.seq = seq; + this.price = price; + this.qty = qty; + this.timestamp = timestamp; + } - public enum KrakenFuturesStreamingSide{ - sell, - buy - } + public enum KrakenFuturesStreamingSide { + sell, + buy + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingOrderBookSnapshotResponse.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingOrderBookSnapshotResponse.java index c6e12212890..0102f89c88d 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingOrderBookSnapshotResponse.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingOrderBookSnapshotResponse.java @@ -2,51 +2,49 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; - import java.math.BigDecimal; import java.util.Date; import java.util.List; +import lombok.Getter; @Getter @JsonInclude(JsonInclude.Include.NON_NULL) public class KrakenFuturesStreamingOrderBookSnapshotResponse { - private final String feed; - private final String product_id; - private final Date timestamp; - private final Long seq; - private final String tickSize; - private final List bids; - private final List asks; + private final String feed; + private final String product_id; + private final Date timestamp; + private final Long seq; + private final String tickSize; + private final List bids; + private final List asks; - public KrakenFuturesStreamingOrderBookSnapshotResponse( - @JsonProperty("feed") String feed, - @JsonProperty("product_id") String product_id, - @JsonProperty("timestamp") Date timestamp, - @JsonProperty("seq") Long seq, - @JsonProperty("tickSize") String tickSize, - @JsonProperty("bids") List bids, - @JsonProperty("asks") List asks) { - this.feed = feed; - this.product_id = product_id; - this.timestamp = timestamp; - this.seq = seq; - this.tickSize = tickSize; - this.bids = bids; - this.asks = asks; - } + public KrakenFuturesStreamingOrderBookSnapshotResponse( + @JsonProperty("feed") String feed, + @JsonProperty("product_id") String product_id, + @JsonProperty("timestamp") Date timestamp, + @JsonProperty("seq") Long seq, + @JsonProperty("tickSize") String tickSize, + @JsonProperty("bids") List bids, + @JsonProperty("asks") List asks) { + this.feed = feed; + this.product_id = product_id; + this.timestamp = timestamp; + this.seq = seq; + this.tickSize = tickSize; + this.bids = bids; + this.asks = asks; + } - @Getter - public static class KrakenFuturesSnapShotOrder { - private final BigDecimal price; - private final BigDecimal quantity; + @Getter + public static class KrakenFuturesSnapShotOrder { + private final BigDecimal price; + private final BigDecimal quantity; - public KrakenFuturesSnapShotOrder( - @JsonProperty("price") BigDecimal price, - @JsonProperty("qty") BigDecimal quantity) { - this.price = price; - this.quantity = quantity; - } + public KrakenFuturesSnapShotOrder( + @JsonProperty("price") BigDecimal price, @JsonProperty("qty") BigDecimal quantity) { + this.price = price; + this.quantity = quantity; } + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingTickerResponse.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingTickerResponse.java index f9a3df42a63..2924dd71378 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingTickerResponse.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingTickerResponse.java @@ -2,67 +2,66 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; - import java.math.BigDecimal; import java.util.Date; +import lombok.Getter; @Getter @JsonInclude(JsonInclude.Include.NON_NULL) public class KrakenFuturesStreamingTickerResponse { - private final Date time; - private final String feed; - private final String product_id; - private final BigDecimal bid; - private final BigDecimal ask; - private final BigDecimal bid_size; - private final BigDecimal ask_size; - private final BigDecimal volume; - private final BigDecimal last; - private final BigDecimal change; - private final BigDecimal funding_rate; - private final BigDecimal relative_funding_rate; - private final BigDecimal funding_rate_prediction; - private final BigDecimal openInterest; - private final Date nextFundingRateTime; - private final BigDecimal volumeQuote; - private final BigDecimal markPrice; + private final Date time; + private final String feed; + private final String product_id; + private final BigDecimal bid; + private final BigDecimal ask; + private final BigDecimal bid_size; + private final BigDecimal ask_size; + private final BigDecimal volume; + private final BigDecimal last; + private final BigDecimal change; + private final BigDecimal funding_rate; + private final BigDecimal relative_funding_rate; + private final BigDecimal funding_rate_prediction; + private final BigDecimal openInterest; + private final Date nextFundingRateTime; + private final BigDecimal volumeQuote; + private final BigDecimal markPrice; - public KrakenFuturesStreamingTickerResponse( - @JsonProperty("time") Date time, - @JsonProperty("feed") String feed, - @JsonProperty("product_id") String product_id, - @JsonProperty("bid") BigDecimal bid, - @JsonProperty("ask") BigDecimal ask, - @JsonProperty("bid_size") BigDecimal bid_size, - @JsonProperty("ask_size") BigDecimal ask_size, - @JsonProperty("volume") BigDecimal volume, - @JsonProperty("last") BigDecimal last, - @JsonProperty("change") BigDecimal change, - @JsonProperty("funding_rate") BigDecimal funding_rate, - @JsonProperty("relative_funding_rate") BigDecimal relative_funding_rate, - @JsonProperty("funding_rate_prediction") BigDecimal funding_rate_prediction, - @JsonProperty("openInterest") BigDecimal openInterest, - @JsonProperty("next_funding_rate_time") Date nextFundingRateTime, - @JsonProperty("volumeQuote") BigDecimal volumeQuote, - @JsonProperty("markPrice") BigDecimal markPrice){ - this.time = time; - this.feed = feed; - this.product_id = product_id; - this.bid = bid; - this.ask = ask; - this.bid_size = bid_size; - this.ask_size = ask_size; - this.volume = volume; - this.last = last; - this.change = change; - this.funding_rate = funding_rate; - this.relative_funding_rate = relative_funding_rate; - this.funding_rate_prediction = funding_rate_prediction; - this.openInterest = openInterest; - this.nextFundingRateTime = nextFundingRateTime; - this.volumeQuote = volumeQuote; - this.markPrice = markPrice; - } + public KrakenFuturesStreamingTickerResponse( + @JsonProperty("time") Date time, + @JsonProperty("feed") String feed, + @JsonProperty("product_id") String product_id, + @JsonProperty("bid") BigDecimal bid, + @JsonProperty("ask") BigDecimal ask, + @JsonProperty("bid_size") BigDecimal bid_size, + @JsonProperty("ask_size") BigDecimal ask_size, + @JsonProperty("volume") BigDecimal volume, + @JsonProperty("last") BigDecimal last, + @JsonProperty("change") BigDecimal change, + @JsonProperty("funding_rate") BigDecimal funding_rate, + @JsonProperty("relative_funding_rate") BigDecimal relative_funding_rate, + @JsonProperty("funding_rate_prediction") BigDecimal funding_rate_prediction, + @JsonProperty("openInterest") BigDecimal openInterest, + @JsonProperty("next_funding_rate_time") Date nextFundingRateTime, + @JsonProperty("volumeQuote") BigDecimal volumeQuote, + @JsonProperty("markPrice") BigDecimal markPrice) { + this.time = time; + this.feed = feed; + this.product_id = product_id; + this.bid = bid; + this.ask = ask; + this.bid_size = bid_size; + this.ask_size = ask_size; + this.volume = volume; + this.last = last; + this.change = change; + this.funding_rate = funding_rate; + this.relative_funding_rate = relative_funding_rate; + this.funding_rate_prediction = funding_rate_prediction; + this.openInterest = openInterest; + this.nextFundingRateTime = nextFundingRateTime; + this.volumeQuote = volumeQuote; + this.markPrice = markPrice; + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingTradeResponse.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingTradeResponse.java index 40e1ea80a73..c082bff748a 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingTradeResponse.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingTradeResponse.java @@ -1,49 +1,48 @@ package info.bitrich.xchangestream.krakenfutures.dto; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; - import java.math.BigDecimal; import java.util.Date; +import lombok.Getter; @Getter public class KrakenFuturesStreamingTradeResponse { - private final String feed; - private final String product_id; - private final String uid; - private final KrakenFuturesStreamingOrderBookDeltaResponse.KrakenFuturesStreamingSide side; - private final KrakenFuturesStreamingType type; - private final Long seq; - private final Date time; - private final BigDecimal price; - private final BigDecimal qty; + private final String feed; + private final String product_id; + private final String uid; + private final KrakenFuturesStreamingOrderBookDeltaResponse.KrakenFuturesStreamingSide side; + private final KrakenFuturesStreamingType type; + private final Long seq; + private final Date time; + private final BigDecimal price; + private final BigDecimal qty; - public KrakenFuturesStreamingTradeResponse( - @JsonProperty("feed") String feed, - @JsonProperty("product_id") String product_id, - @JsonProperty("uid") String uid, - @JsonProperty("side") KrakenFuturesStreamingOrderBookDeltaResponse.KrakenFuturesStreamingSide side, - @JsonProperty("type") KrakenFuturesStreamingType type, - @JsonProperty("seq") Long seq, - @JsonProperty("time") Date time, - @JsonProperty("price") BigDecimal price, - @JsonProperty("qyt") BigDecimal qty - ) { - this.feed = feed; - this.product_id = product_id; - this.uid = uid; - this.side = side; - this.type = type; - this.seq = seq; - this.time = time; - this.price = price; - this.qty = qty; - } + public KrakenFuturesStreamingTradeResponse( + @JsonProperty("feed") String feed, + @JsonProperty("product_id") String product_id, + @JsonProperty("uid") String uid, + @JsonProperty("side") + KrakenFuturesStreamingOrderBookDeltaResponse.KrakenFuturesStreamingSide side, + @JsonProperty("type") KrakenFuturesStreamingType type, + @JsonProperty("seq") Long seq, + @JsonProperty("time") Date time, + @JsonProperty("price") BigDecimal price, + @JsonProperty("qyt") BigDecimal qty) { + this.feed = feed; + this.product_id = product_id; + this.uid = uid; + this.side = side; + this.type = type; + this.seq = seq; + this.time = time; + this.price = price; + this.qty = qty; + } - public enum KrakenFuturesStreamingType { - fill, - liquidation, - termination - } + public enum KrakenFuturesStreamingType { + fill, + liquidation, + termination + } } diff --git a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingWebsocketMessage.java b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingWebsocketMessage.java index 01423638eca..adc21d52c19 100644 --- a/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingWebsocketMessage.java +++ b/xchange-stream-krakenfutures/src/main/java/info/bitrich/xchangestream/krakenfutures/dto/KrakenFuturesStreamingWebsocketMessage.java @@ -8,16 +8,16 @@ @ToString public class KrakenFuturesStreamingWebsocketMessage { - private final String event; - private final String feed; - private final String[] product_ids; + private final String event; + private final String feed; + private final String[] product_ids; - public KrakenFuturesStreamingWebsocketMessage( - @JsonProperty("event") String event, - @JsonProperty("feed") String feed, - @JsonProperty("product_ids") String[] product_ids) { - this.event = event; - this.feed = feed; - this.product_ids = product_ids; - } + public KrakenFuturesStreamingWebsocketMessage( + @JsonProperty("event") String event, + @JsonProperty("feed") String feed, + @JsonProperty("product_ids") String[] product_ids) { + this.event = event; + this.feed = feed; + this.product_ids = product_ids; + } } diff --git a/xchange-stream-krakenfutures/src/test/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingPrivateDataTest.java b/xchange-stream-krakenfutures/src/test/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingPrivateDataTest.java index d83bd3ca0b9..ac9b27a6519 100644 --- a/xchange-stream-krakenfutures/src/test/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingPrivateDataTest.java +++ b/xchange-stream-krakenfutures/src/test/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingPrivateDataTest.java @@ -1,8 +1,14 @@ package info.bitrich.xchangestream.krakenfutures; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; + import info.bitrich.xchangestream.core.StreamingExchange; import info.bitrich.xchangestream.core.StreamingExchangeFactory; import io.reactivex.disposables.Disposable; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Properties; +import java.util.concurrent.TimeUnit; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -16,121 +22,152 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Properties; -import java.util.concurrent.TimeUnit; - -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; - @Ignore public class KrakenFuturesStreamingPrivateDataTest { - private static final Logger LOG = LoggerFactory.getLogger(KrakenFuturesStreamingPrivateDataTest.class); - StreamingExchange exchange; - Instrument instrument = new FuturesContract("BTC/USD/PERP"); - - @Before - public void setUp(){ - Properties properties = new Properties(); + private static final Logger LOG = + LoggerFactory.getLogger(KrakenFuturesStreamingPrivateDataTest.class); + StreamingExchange exchange; + Instrument instrument = new FuturesContract("BTC/USD/PERP"); - try { - properties.load(this.getClass().getResourceAsStream("/secret.keys")); - } catch (IOException e) { - throw new RuntimeException(e); - } - // Enter your authentication details here to run private endpoint tests - final String API_KEY = (properties.getProperty("apiKey") == null) ? System.getenv("krakenfutures_apikey"): properties.getProperty("apiKey"); - final String SECRET_KEY = (properties.getProperty("secret") == null) ? System.getenv("krakenfutures_secretkey"): properties.getProperty("secret"); + @Before + public void setUp() { + Properties properties = new Properties(); - ExchangeSpecification spec = new KrakenFuturesExchange().getDefaultExchangeSpecification(); - spec.setApiKey(API_KEY); - spec.setSecretKey(SECRET_KEY); - spec.setExchangeSpecificParametersItem(KrakenFuturesStreamingExchange.USE_SANDBOX, true); - - exchange = StreamingExchangeFactory.INSTANCE.createExchange(KrakenFuturesStreamingExchange.class); - exchange.applySpecification(spec); - exchange.connect().blockingAwait(); - - InstrumentMetaData metaData = exchange.getExchangeMetaData().getInstruments().get(instrument); - assertThat(metaData.getPriceScale()).isNotNull(); - assertThat(metaData.getVolumeScale()).isNotNull(); - assertThat(metaData.getMinimumAmount()).isNotNull(); + try { + properties.load(this.getClass().getResourceAsStream("/secret.keys")); + } catch (IOException e) { + throw new RuntimeException(e); } - - @Test - public void checkUserTrades() throws InterruptedException, IOException { - int counter = 0; - - Disposable dis = exchange.getStreamingTradeService().getUserTrades(instrument) - .retry() - .subscribe(fill -> { - LOG.info(fill.toString()); - assertThat(fill).isNotNull(); - assertThat(fill.getInstrument()).isEqualTo(instrument); + // Enter your authentication details here to run private endpoint tests + final String API_KEY = + (properties.getProperty("apiKey") == null) + ? System.getenv("krakenfutures_apikey") + : properties.getProperty("apiKey"); + final String SECRET_KEY = + (properties.getProperty("secret") == null) + ? System.getenv("krakenfutures_secretkey") + : properties.getProperty("secret"); + + ExchangeSpecification spec = new KrakenFuturesExchange().getDefaultExchangeSpecification(); + spec.setApiKey(API_KEY); + spec.setSecretKey(SECRET_KEY); + spec.setExchangeSpecificParametersItem(KrakenFuturesStreamingExchange.USE_SANDBOX, true); + + exchange = + StreamingExchangeFactory.INSTANCE.createExchange(KrakenFuturesStreamingExchange.class); + exchange.applySpecification(spec); + exchange.connect().blockingAwait(); + + InstrumentMetaData metaData = exchange.getExchangeMetaData().getInstruments().get(instrument); + assertThat(metaData.getPriceScale()).isNotNull(); + assertThat(metaData.getVolumeScale()).isNotNull(); + assertThat(metaData.getMinimumAmount()).isNotNull(); + } + + @Test + public void checkUserTrades() throws InterruptedException, IOException { + int counter = 0; + + Disposable dis = + exchange + .getStreamingTradeService() + .getUserTrades(instrument) + .retry() + .subscribe( + fill -> { + LOG.info(fill.toString()); + assertThat(fill).isNotNull(); + assertThat(fill.getInstrument()).isEqualTo(instrument); }); - Disposable dis2 = exchange.getStreamingTradeService().getUserTrades(new FuturesContract("ETH/USD/PERP")) - .retry() - .subscribe(fill -> { - LOG.info(fill.toString()); - assertThat(fill).isNotNull(); - assertThat(fill.getInstrument()).isEqualTo(new FuturesContract("ETH/USD/PERP")); + Disposable dis2 = + exchange + .getStreamingTradeService() + .getUserTrades(new FuturesContract("ETH/USD/PERP")) + .retry() + .subscribe( + fill -> { + LOG.info(fill.toString()); + assertThat(fill).isNotNull(); + assertThat(fill.getInstrument()).isEqualTo(new FuturesContract("ETH/USD/PERP")); }); - while (counter < 4){ - String orderId; - if(counter == 3){ - orderId = exchange.getTradeService().placeMarketOrder(new MarketOrder.Builder(Order.OrderType.ASK, new FuturesContract("ETH/USD/PERP")) + while (counter < 4) { + String orderId; + if (counter == 3) { + orderId = + exchange + .getTradeService() + .placeMarketOrder( + new MarketOrder.Builder( + Order.OrderType.ASK, new FuturesContract("ETH/USD/PERP")) .originalAmount(BigDecimal.ONE) .build()); - } else { - orderId = exchange.getTradeService().placeMarketOrder(new MarketOrder.Builder(Order.OrderType.BID, instrument) + } else { + orderId = + exchange + .getTradeService() + .placeMarketOrder( + new MarketOrder.Builder(Order.OrderType.BID, instrument) .originalAmount(BigDecimal.ONE) .build()); - } - LOG.info("OrderId: "+orderId); - counter++; - TimeUnit.SECONDS.sleep(1); - } - dis.dispose(); - dis2.dispose(); + } + LOG.info("OrderId: " + orderId); + counter++; + TimeUnit.SECONDS.sleep(1); } - - @Test - public void checkAllUserTrades() throws InterruptedException, IOException { - int counter = 0; - - Disposable dis = exchange.getStreamingTradeService().getUserTrades() - .map(fill->{ - if(fill.getOrderUserReference().equals("2")){ - throw new IOException("Error"); - } else { - LOG.info(fill.toString()); - assertThat(fill).isNotNull(); - } - return fill; + dis.dispose(); + dis2.dispose(); + } + + @Test + public void checkAllUserTrades() throws InterruptedException, IOException { + int counter = 0; + + Disposable dis = + exchange + .getStreamingTradeService() + .getUserTrades() + .map( + fill -> { + if (fill.getOrderUserReference().equals("2")) { + throw new IOException("Error"); + } else { + LOG.info(fill.toString()); + assertThat(fill).isNotNull(); + } + return fill; }) - .retry() - .subscribe(); - - while (counter < 5){ - String orderId; - if(counter == 3){ - orderId = exchange.getTradeService().placeMarketOrder(new MarketOrder.Builder(Order.OrderType.ASK, new FuturesContract("ETH/USD/PERP")) + .retry() + .subscribe(); + + while (counter < 5) { + String orderId; + if (counter == 3) { + orderId = + exchange + .getTradeService() + .placeMarketOrder( + new MarketOrder.Builder( + Order.OrderType.ASK, new FuturesContract("ETH/USD/PERP")) .originalAmount(BigDecimal.valueOf(0.1)) - .userReference(Integer.toString(counter)) + .userReference(Integer.toString(counter)) .build()); - } else { - orderId = exchange.getTradeService().placeMarketOrder(new MarketOrder.Builder(Order.OrderType.BID, instrument) + } else { + orderId = + exchange + .getTradeService() + .placeMarketOrder( + new MarketOrder.Builder(Order.OrderType.BID, instrument) .originalAmount(BigDecimal.valueOf(0.1)) .userReference(Integer.toString(counter)) .build()); - } - LOG.info("OrderId: "+orderId); - counter++; - TimeUnit.SECONDS.sleep(1); - } - TimeUnit.SECONDS.sleep(2); - dis.dispose(); + } + LOG.info("OrderId: " + orderId); + counter++; + TimeUnit.SECONDS.sleep(1); } + TimeUnit.SECONDS.sleep(2); + dis.dispose(); + } } diff --git a/xchange-stream-krakenfutures/src/test/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingPublicDataTest.java b/xchange-stream-krakenfutures/src/test/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingPublicDataTest.java index fb32654bd44..a10d90644eb 100644 --- a/xchange-stream-krakenfutures/src/test/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingPublicDataTest.java +++ b/xchange-stream-krakenfutures/src/test/java/info/bitrich/xchangestream/krakenfutures/KrakenFuturesStreamingPublicDataTest.java @@ -19,65 +19,82 @@ @Ignore public class KrakenFuturesStreamingPublicDataTest { - StreamingExchange exchange = StreamingExchangeFactory.INSTANCE.createExchange(KrakenFuturesStreamingExchange.class); - Instrument instrument = new FuturesContract("BTC/USD/PERP"); + StreamingExchange exchange = + StreamingExchangeFactory.INSTANCE.createExchange(KrakenFuturesStreamingExchange.class); + Instrument instrument = new FuturesContract("BTC/USD/PERP"); - @Before - public void setUp(){ - InstrumentMetaData metaData = exchange.getExchangeMetaData().getInstruments().get(instrument); - assertThat(metaData.getPriceScale()).isNotNull(); - assertThat(metaData.getVolumeScale()).isNotNull(); - assertThat(metaData.getMinimumAmount()).isNotNull(); - exchange.connect(ProductSubscription.create().build()).blockingAwait(); - } - @Test - public void checkStreamingOrderBook() { - OrderBook orderBook = exchange.getStreamingMarketDataService().getOrderBook(instrument).blockingFirst(); - assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); - assertThat(orderBook.getBids().get(0).getLimitPrice()).isLessThan(orderBook.getAsks().get(0).getLimitPrice()); - assertThat(orderBook.getBids().get(0).getLimitPrice()).isGreaterThan(BigDecimal.ZERO); - assertThat(orderBook.getBids().get(0).getOriginalAmount()).isGreaterThan(BigDecimal.ZERO); - } + @Before + public void setUp() { + InstrumentMetaData metaData = exchange.getExchangeMetaData().getInstruments().get(instrument); + assertThat(metaData.getPriceScale()).isNotNull(); + assertThat(metaData.getVolumeScale()).isNotNull(); + assertThat(metaData.getMinimumAmount()).isNotNull(); + exchange.connect(ProductSubscription.create().build()).blockingAwait(); + } - @Test - public void checkStreamingTicker() { - exchange.getStreamingMarketDataService().getTicker(instrument) - .map(ticker -> { - System.out.println(ticker); - assertThat(ticker).isNotNull(); - return ticker; - }) - .test() - .assertSubscribed() - .awaitCount(1) - .assertValue(ticker -> ticker.getInstrument().equals(instrument)) - .dispose(); - } + @Test + public void checkStreamingOrderBook() { + OrderBook orderBook = + exchange.getStreamingMarketDataService().getOrderBook(instrument).blockingFirst(); + assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); + assertThat(orderBook.getBids().get(0).getLimitPrice()) + .isLessThan(orderBook.getAsks().get(0).getLimitPrice()); + assertThat(orderBook.getBids().get(0).getLimitPrice()).isGreaterThan(BigDecimal.ZERO); + assertThat(orderBook.getBids().get(0).getOriginalAmount()).isGreaterThan(BigDecimal.ZERO); + } - @Test - public void checkStreamingFundingRate() { - exchange.getStreamingMarketDataService().getFundingRate(instrument) - .map(fundingRate -> { - System.out.println(fundingRate); - assertThat(fundingRate).isNotNull(); - return fundingRate; - }) - .test() - .assertSubscribed() - .awaitCount(1) - .assertValue(fundingRate -> fundingRate.getFundingRateEffectiveInMinutes() < 61 && fundingRate.getFundingRate1h() != null) - .dispose(); - } + @Test + public void checkStreamingTicker() { + exchange + .getStreamingMarketDataService() + .getTicker(instrument) + .map( + ticker -> { + System.out.println(ticker); + assertThat(ticker).isNotNull(); + return ticker; + }) + .test() + .assertSubscribed() + .awaitCount(1) + .assertValue(ticker -> ticker.getInstrument().equals(instrument)) + .dispose(); + } - @Test - public void checkStreamingTrades() throws InterruptedException { - Disposable dis = exchange.getStreamingMarketDataService().getTrades(instrument) - .subscribe(trade -> { - System.out.println(trade.toString()); - assertThat(trade).isNotNull(); - assertThat(trade.getInstrument()).isEqualTo(instrument); + @Test + public void checkStreamingFundingRate() { + exchange + .getStreamingMarketDataService() + .getFundingRate(instrument) + .map( + fundingRate -> { + System.out.println(fundingRate); + assertThat(fundingRate).isNotNull(); + return fundingRate; + }) + .test() + .assertSubscribed() + .awaitCount(1) + .assertValue( + fundingRate -> + fundingRate.getFundingRateEffectiveInMinutes() < 61 + && fundingRate.getFundingRate1h() != null) + .dispose(); + } + + @Test + public void checkStreamingTrades() throws InterruptedException { + Disposable dis = + exchange + .getStreamingMarketDataService() + .getTrades(instrument) + .subscribe( + trade -> { + System.out.println(trade.toString()); + assertThat(trade).isNotNull(); + assertThat(trade.getInstrument()).isEqualTo(instrument); }); - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - } + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + } } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingAdapters.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingAdapters.java index e6c9e64c9f8..b1439e5c6b8 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingAdapters.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingAdapters.java @@ -2,44 +2,41 @@ import info.bitrich.xchangestream.kucoin.dto.KucoinOrderEventData; import info.bitrich.xchangestream.kucoin.dto.KucoinWebSocketOrderEvent; +import java.math.BigDecimal; +import java.util.Date; +import java.util.concurrent.TimeUnit; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.trade.LimitOrder; import org.knowm.xchange.dto.trade.MarketOrder; -import java.math.BigDecimal; -import java.util.Date; -import java.util.concurrent.TimeUnit; - public class KucoinStreamingAdapters { - public static Order adaptOrder(KucoinWebSocketOrderEvent orderEvent) { - KucoinOrderEventData data = orderEvent.data; - - Order.OrderType orderType = "buy".equals(data.side) ? Order.OrderType.BID : Order.OrderType.ASK; - CurrencyPair currencyPair = data.getCurrencyPair(); - - Order.Builder orderBuilder = - "market".equals(data.orderType) ? new MarketOrder.Builder(orderType, currencyPair) : - new LimitOrder.Builder(orderType, currencyPair).limitPrice(new BigDecimal(data.price)); - - orderBuilder - .id(data.orderId) - .originalAmount(new BigDecimal(data.size)) - .timestamp(new Date(TimeUnit.NANOSECONDS.toMillis(data.orderTime))) - .cumulativeAmount(new BigDecimal(data.filledSize)) - .orderStatus(adaptStatus(data.status)) - ; - - return orderBuilder.build(); - } - - private static Order.OrderStatus adaptStatus(String status) { - if ("open".equals(status)) - return Order.OrderStatus.NEW; - if ("match".equals(status)) - return Order.OrderStatus.PARTIALLY_FILLED; - if ("done".equals(status)) - return Order.OrderStatus.FILLED; - return null; - } + public static Order adaptOrder(KucoinWebSocketOrderEvent orderEvent) { + KucoinOrderEventData data = orderEvent.data; + + Order.OrderType orderType = "buy".equals(data.side) ? Order.OrderType.BID : Order.OrderType.ASK; + CurrencyPair currencyPair = data.getCurrencyPair(); + + Order.Builder orderBuilder = + "market".equals(data.orderType) + ? new MarketOrder.Builder(orderType, currencyPair) + : new LimitOrder.Builder(orderType, currencyPair) + .limitPrice(new BigDecimal(data.price)); + + orderBuilder + .id(data.orderId) + .originalAmount(new BigDecimal(data.size)) + .timestamp(new Date(TimeUnit.NANOSECONDS.toMillis(data.orderTime))) + .cumulativeAmount(new BigDecimal(data.filledSize)) + .orderStatus(adaptStatus(data.status)); + + return orderBuilder.build(); + } + + private static Order.OrderStatus adaptStatus(String status) { + if ("open".equals(status)) return Order.OrderStatus.NEW; + if ("match".equals(status)) return Order.OrderStatus.PARTIALLY_FILLED; + if ("done".equals(status)) return Order.OrderStatus.FILLED; + return null; + } } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingExchange.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingExchange.java index 24c6afebaea..414ef039d52 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingExchange.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingExchange.java @@ -7,12 +7,11 @@ import info.bitrich.xchangestream.util.Events; import io.reactivex.Completable; import io.reactivex.Observable; -import org.knowm.xchange.kucoin.KucoinExchange; -import org.knowm.xchange.kucoin.dto.response.WebsocketResponse; - import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import org.knowm.xchange.kucoin.KucoinExchange; +import org.knowm.xchange.kucoin.dto.response.WebsocketResponse; public class KucoinStreamingExchange extends KucoinExchange implements StreamingExchange { @@ -38,18 +37,31 @@ public Completable connect(ProductSubscription... args) { services.clear(); if (subscriptions.hasUnauthenticated()) { - complete = complete.doOnComplete(() -> { - WebsocketResponse connectionDetails = getPublicWebsocketConnectionDetails(); - WebsocketResponse.InstanceServer instanceServer = connectionDetails.getInstanceServers().get(0); - String url = instanceServer.getEndpoint() + "?token=" + connectionDetails.getToken(); - - publicStreamingService = new KucoinStreamingService(url, instanceServer.getPingInterval(), false); - applyStreamingSpecification(getExchangeSpecification(), publicStreamingService); - publicStreamingService.connect().doOnError(ex -> logger.warn("encountered error while subscribing to public websocket", ex)).blockingAwait(); - - services.add(publicStreamingService); - streamingMarketDataService = new KucoinStreamingMarketDataService(publicStreamingService, getMarketDataService(), onApiCall); - }); + complete = + complete.doOnComplete( + () -> { + WebsocketResponse connectionDetails = getPublicWebsocketConnectionDetails(); + WebsocketResponse.InstanceServer instanceServer = + connectionDetails.getInstanceServers().get(0); + String url = + instanceServer.getEndpoint() + "?token=" + connectionDetails.getToken(); + + publicStreamingService = + new KucoinStreamingService(url, instanceServer.getPingInterval(), false); + applyStreamingSpecification(getExchangeSpecification(), publicStreamingService); + publicStreamingService + .connect() + .doOnError( + ex -> + logger.warn( + "encountered error while subscribing to public websocket", ex)) + .blockingAwait(); + + services.add(publicStreamingService); + streamingMarketDataService = + new KucoinStreamingMarketDataService( + publicStreamingService, getMarketDataService(), onApiCall); + }); } if (subscriptions.hasAuthenticated()) { @@ -57,18 +69,29 @@ public Completable connect(ProductSubscription... args) { throw new IllegalArgumentException("API key required for authenticated streams"); } - complete = complete.doOnComplete(() -> { - WebsocketResponse connectionDetails = getPrivateWebsocketConnectionDetails(); - WebsocketResponse.InstanceServer instanceServer = connectionDetails.getInstanceServers().get(0); - String url = instanceServer.getEndpoint() + "?token=" + connectionDetails.getToken(); - - privateStreamingService = new KucoinStreamingService(url, instanceServer.getPingInterval(), true); - applyStreamingSpecification(getExchangeSpecification(), privateStreamingService); - privateStreamingService.connect().doOnError(ex -> logger.warn("encountered error while subscribing to private websocket", ex)).blockingAwait(); - - services.add(privateStreamingService); - streamingTradeService = new KucoinStreamingTradeService(privateStreamingService); - }); + complete = + complete.doOnComplete( + () -> { + WebsocketResponse connectionDetails = getPrivateWebsocketConnectionDetails(); + WebsocketResponse.InstanceServer instanceServer = + connectionDetails.getInstanceServers().get(0); + String url = + instanceServer.getEndpoint() + "?token=" + connectionDetails.getToken(); + + privateStreamingService = + new KucoinStreamingService(url, instanceServer.getPingInterval(), true); + applyStreamingSpecification(getExchangeSpecification(), privateStreamingService); + privateStreamingService + .connect() + .doOnError( + ex -> + logger.warn( + "encountered error while subscribing to private websocket", ex)) + .blockingAwait(); + + services.add(privateStreamingService); + streamingTradeService = new KucoinStreamingTradeService(privateStreamingService); + }); } return complete; @@ -86,7 +109,8 @@ public Completable disconnect() { privateStreamingService = null; } - List completables = services.stream().map(NettyStreamingService::disconnect).collect(Collectors.toList()); + List completables = + services.stream().map(NettyStreamingService::disconnect).collect(Collectors.toList()); services.clear(); return Completable.concat(completables); } @@ -98,12 +122,18 @@ public boolean isAlive() { @Override public Observable reconnectFailure() { - return Observable.concat(services.stream().map(NettyStreamingService::subscribeReconnectFailure).collect(Collectors.toList())); + return Observable.concat( + services.stream() + .map(NettyStreamingService::subscribeReconnectFailure) + .collect(Collectors.toList())); } @Override public Observable connectionSuccess() { - return Observable.concat(services.stream().map(NettyStreamingService::subscribeConnectionSuccess).collect(Collectors.toList())); + return Observable.concat( + services.stream() + .map(NettyStreamingService::subscribeConnectionSuccess) + .collect(Collectors.toList())); } @Override diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingMarketDataService.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingMarketDataService.java index 8f7113bc7be..cd26529aff9 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingMarketDataService.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingMarketDataService.java @@ -2,12 +2,15 @@ import com.fasterxml.jackson.databind.ObjectMapper; import info.bitrich.xchangestream.core.StreamingMarketDataService; -import info.bitrich.xchangestream.kucoin.dto.KucoinOrderBookEventData; import info.bitrich.xchangestream.kucoin.dto.KucoinOrderBookEvent; +import info.bitrich.xchangestream.kucoin.dto.KucoinOrderBookEventData; import info.bitrich.xchangestream.kucoin.dto.KucoinTickerEvent; import info.bitrich.xchangestream.service.netty.StreamingObjectMapperHelper; import io.reactivex.Observable; import io.reactivex.functions.Consumer; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicLong; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.marketdata.OrderBook; import org.knowm.xchange.dto.marketdata.Ticker; @@ -19,28 +22,25 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicLong; - public class KucoinStreamingMarketDataService implements StreamingMarketDataService { private static final Logger logger = LoggerFactory.getLogger(KucoinStreamingMarketDataService.class); private final ObjectMapper mapper = StreamingObjectMapperHelper.getObjectMapper(); - private final Map> orderbookSubscriptions = new ConcurrentHashMap<>(); - private final Map> orderBookRawUpdatesSubscriptions = new ConcurrentHashMap<>(); + private final Map> orderbookSubscriptions = + new ConcurrentHashMap<>(); + private final Map> + orderBookRawUpdatesSubscriptions = new ConcurrentHashMap<>(); private final KucoinStreamingService service; private final KucoinMarketDataService marketDataService; private final Runnable onApiCall; public KucoinStreamingMarketDataService( - KucoinStreamingService service, - KucoinMarketDataService marketDataService, - Runnable onApiCall - ) { + KucoinStreamingService service, + KucoinMarketDataService marketDataService, + Runnable onApiCall) { this.service = service; this.marketDataService = marketDataService; this.onApiCall = onApiCall; @@ -51,7 +51,8 @@ public Observable getTicker(CurrencyPair currencyPair, Object... args) { String channelName = "/market/ticker:" + KucoinAdapters.adaptCurrencyPair(currencyPair); return service .subscribeChannel(channelName) - .doOnError(ex -> logger.warn("encountered error while subscribing to channel " + channelName, ex)) + .doOnError( + ex -> logger.warn("encountered error while subscribing to channel " + channelName, ex)) .map(node -> mapper.treeToValue(node, KucoinTickerEvent.class)) .map(KucoinTickerEvent::getTicker); } @@ -62,8 +63,8 @@ public Observable getOrderBook(CurrencyPair currencyPair, Object... a } private Observable initOrderBookIfAbsent(CurrencyPair currencyPair) { - orderBookRawUpdatesSubscriptions.computeIfAbsent(currencyPair, - s -> triggerObservableBody(rawOrderBookUpdates(s))); + orderBookRawUpdatesSubscriptions.computeIfAbsent( + currencyPair, s -> triggerObservableBody(rawOrderBookUpdates(s))); return createOrderBookObservable(currencyPair); } @@ -71,71 +72,71 @@ private Observable rawOrderBookUpdates(CurrencyPair cu String channelName = "/market/level2:" + KucoinAdapters.adaptCurrencyPair(currencyPair); return service - .subscribeChannel(channelName) - .doOnError(ex -> logger.warn("encountered error while subscribing to channel " + channelName, ex)) - .map(it -> mapper.treeToValue(it, KucoinOrderBookEvent.class)) - .map(e -> e.data); + .subscribeChannel(channelName) + .doOnError( + ex -> logger.warn("encountered error while subscribing to channel " + channelName, ex)) + .map(it -> mapper.treeToValue(it, KucoinOrderBookEvent.class)) + .map(e -> e.data); } - private Observable createOrderBookObservable(CurrencyPair currencyPair) { // 1. Open a stream // 2. Buffer the events you receive from the stream. OrderbookSubscription subscription = - new OrderbookSubscription(orderBookRawUpdatesSubscriptions.get(currencyPair)); + new OrderbookSubscription(orderBookRawUpdatesSubscriptions.get(currencyPair)); return subscription - .stream - // 3. Get a depth snapshot - // (we do this if we don't already have one or we've invalidated a previous one) - .doOnNext(transaction -> subscription.initSnapshotIfInvalid(currencyPair)) - - .doOnError(ex -> logger.warn("encountered error while processing order book event", ex)) - - // If we failed, don't return anything. Just keep trying until it works - .filter(transaction -> subscription.snapshotLastUpdateId.get() > 0L) - - // 4. Drop any event where u is <= lastUpdateId in the snapshot - .filter(depth -> depth.sequenceEnd > subscription.snapshotLastUpdateId.get()) - - // 5. The first processed should have U <= lastUpdateId+1 AND u >= lastUpdateId+1, and - // subsequent events would - // normally have u == lastUpdateId + 1 which is stricter version of the above - let's be - // more relaxed - // each update has absolute numbers so even if there's an overlap it does no harm - .filter( - depth -> { - long lastUpdateId = subscription.lastUpdateId.get(); - boolean result = lastUpdateId == 0L || - (depth.sequenceStart <= lastUpdateId + 1 && depth.sequenceEnd >= lastUpdateId + 1); - if (result) { - subscription.lastUpdateId.set(depth.sequenceEnd); - } else { - // If not, we re-sync - logger.info( - "Orderbook snapshot for {} out of date (last={}, U={}, u={}). This is normal. Re-syncing.", - currencyPair, - lastUpdateId, - depth.sequenceStart, - depth.sequenceEnd); - subscription.invalidateSnapshot(); - } - return result; - }) - - // 7. The data in each event is the absolute quantity for a price level - // 8. If the quantity is 0, remove the price level - // 9. Receiving an event that removes a price level that is not in your local order book can - // happen and is normal. - .map( - depth -> { - depth.update(currencyPair, subscription.orderBook); - return subscription.orderBook; - }) - .share(); + .stream + // 3. Get a depth snapshot + // (we do this if we don't already have one or we've invalidated a previous one) + .doOnNext(transaction -> subscription.initSnapshotIfInvalid(currencyPair)) + .doOnError(ex -> logger.warn("encountered error while processing order book event", ex)) + + // If we failed, don't return anything. Just keep trying until it works + .filter(transaction -> subscription.snapshotLastUpdateId.get() > 0L) + + // 4. Drop any event where u is <= lastUpdateId in the snapshot + .filter(depth -> depth.sequenceEnd > subscription.snapshotLastUpdateId.get()) + + // 5. The first processed should have U <= lastUpdateId+1 AND u >= lastUpdateId+1, and + // subsequent events would + // normally have u == lastUpdateId + 1 which is stricter version of the above - let's be + // more relaxed + // each update has absolute numbers so even if there's an overlap it does no harm + .filter( + depth -> { + long lastUpdateId = subscription.lastUpdateId.get(); + boolean result = + lastUpdateId == 0L + || (depth.sequenceStart <= lastUpdateId + 1 + && depth.sequenceEnd >= lastUpdateId + 1); + if (result) { + subscription.lastUpdateId.set(depth.sequenceEnd); + } else { + // If not, we re-sync + logger.info( + "Orderbook snapshot for {} out of date (last={}, U={}, u={}). This is normal. Re-syncing.", + currencyPair, + lastUpdateId, + depth.sequenceStart, + depth.sequenceEnd); + subscription.invalidateSnapshot(); + } + return result; + }) + + // 7. The data in each event is the absolute quantity for a price level + // 8. If the quantity is 0, remove the price level + // 9. Receiving an event that removes a price level that is not in your local order book can + // happen and is normal. + .map( + depth -> { + depth.update(currencyPair, subscription.orderBook); + return subscription.orderBook; + }) + .share(); } - private Observable triggerObservableBody(Observable observable) { Consumer NOOP = whatever -> {}; observable.subscribe(NOOP); diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingService.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingService.java index dfcf8007bea..82744b7868f 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingService.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingService.java @@ -1,8 +1,8 @@ package info.bitrich.xchangestream.kucoin; import com.fasterxml.jackson.databind.JsonNode; -import info.bitrich.xchangestream.kucoin.dto.KucoinWebSocketUnsubscribeMessage; import info.bitrich.xchangestream.kucoin.dto.KucoinWebSocketSubscribeMessage; +import info.bitrich.xchangestream.kucoin.dto.KucoinWebSocketUnsubscribeMessage; import info.bitrich.xchangestream.service.netty.JsonNettyStreamingService; import info.bitrich.xchangestream.service.netty.WebSocketClientHandler; import io.netty.channel.ChannelHandlerContext; @@ -11,7 +11,6 @@ import io.reactivex.CompletableSource; import io.reactivex.Observable; import io.reactivex.disposables.Disposable; - import java.io.IOException; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; @@ -35,18 +34,24 @@ public Completable connect() { Completable conn = super.connect(); return conn.andThen( - (CompletableSource) - (completable) -> { - try { - if (pingPongSubscription != null && !pingPongSubscription.isDisposed()) { - pingPongSubscription.dispose(); - } - pingPongSubscription = pingPongSrc.subscribe(o -> this.sendMessage("{\"type\":\"ping\", \"id\": \"" + refCount.incrementAndGet() + "\"}")); - completable.onComplete(); - } catch (Exception e) { - completable.onError(e); - } - }); + (CompletableSource) + (completable) -> { + try { + if (pingPongSubscription != null && !pingPongSubscription.isDisposed()) { + pingPongSubscription.dispose(); + } + pingPongSubscription = + pingPongSrc.subscribe( + o -> + this.sendMessage( + "{\"type\":\"ping\", \"id\": \"" + + refCount.incrementAndGet() + + "\"}")); + completable.onComplete(); + } catch (Exception e) { + completable.onError(e); + } + }); } @Override @@ -57,13 +62,16 @@ protected String getChannelNameFromMessage(JsonNode message) { @Override public String getSubscribeMessage(String channelName, Object... args) throws IOException { - KucoinWebSocketSubscribeMessage message = new KucoinWebSocketSubscribeMessage(channelName, refCount.incrementAndGet(), privateChannel); + KucoinWebSocketSubscribeMessage message = + new KucoinWebSocketSubscribeMessage( + channelName, refCount.incrementAndGet(), privateChannel); return objectMapper.writeValueAsString(message); } @Override public String getUnsubscribeMessage(String channelName, Object... args) throws IOException { - KucoinWebSocketUnsubscribeMessage message = new KucoinWebSocketUnsubscribeMessage(channelName, refCount.incrementAndGet()); + KucoinWebSocketUnsubscribeMessage message = + new KucoinWebSocketUnsubscribeMessage(channelName, refCount.incrementAndGet()); return objectMapper.writeValueAsString(message); } @@ -72,20 +80,22 @@ protected void handleMessage(JsonNode message) { JsonNode typeNode = message.get("type"); if (typeNode != null) { String type = typeNode.asText(); - if ("message".equals(type)) - super.handleMessage(message); + if ("message".equals(type)) super.handleMessage(message); else if ("error".equals(type)) super.handleError(message, new Exception(message.get("data").asText())); } } @Override - protected WebSocketClientHandler getWebSocketClientHandler(WebSocketClientHandshaker handshaker, WebSocketClientHandler.WebSocketMessageHandler handler) { + protected WebSocketClientHandler getWebSocketClientHandler( + WebSocketClientHandshaker handshaker, + WebSocketClientHandler.WebSocketMessageHandler handler) { return new KucoinNettyWebSocketClientHandler(handshaker, handler); } private class KucoinNettyWebSocketClientHandler extends NettyWebSocketClientHandler { - public KucoinNettyWebSocketClientHandler(WebSocketClientHandshaker handshaker, WebSocketMessageHandler handler) { + public KucoinNettyWebSocketClientHandler( + WebSocketClientHandshaker handshaker, WebSocketMessageHandler handler) { super(handshaker, handler); } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingTradeService.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingTradeService.java index 34a1e656ab7..4a7ea7a2c67 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingTradeService.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/KucoinStreamingTradeService.java @@ -24,8 +24,7 @@ public KucoinStreamingTradeService(KucoinStreamingService service) { @Override public Observable getOrderChanges(CurrencyPair currencyPair, Object... args) { - return getRawOrderChanges(currencyPair) - .map(KucoinStreamingAdapters::adaptOrder); + return getRawOrderChanges(currencyPair).map(KucoinStreamingAdapters::adaptOrder); } public Observable getRawOrderChanges(CurrencyPair currencyPair) { diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookChanges.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookChanges.java index a465ee887a3..043f3306c55 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookChanges.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookChanges.java @@ -1,16 +1,15 @@ package info.bitrich.xchangestream.kucoin.dto; import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.ToString; - import java.util.List; +import lombok.ToString; @ToString public class KucoinOrderBookChanges { - @JsonProperty("asks") - public List> asks; + @JsonProperty("asks") + public List> asks; - @JsonProperty("bids") - public List> bids; + @JsonProperty("bids") + public List> bids; } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookEvent.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookEvent.java index bc1feb4b788..7d8d0583a05 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookEvent.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookEvent.java @@ -5,6 +5,6 @@ @ToString public class KucoinOrderBookEvent extends KucoinWebSocketEvent { - @JsonProperty("data") - public KucoinOrderBookEventData data; + @JsonProperty("data") + public KucoinOrderBookEventData data; } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookEventData.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookEventData.java index d7de8a085da..c2c6166d1a1 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookEventData.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderBookEventData.java @@ -1,43 +1,48 @@ package info.bitrich.xchangestream.kucoin.dto; import com.fasterxml.jackson.annotation.JsonProperty; +import java.math.BigDecimal; +import java.util.List; import lombok.ToString; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.marketdata.OrderBook; import org.knowm.xchange.dto.trade.LimitOrder; -import java.math.BigDecimal; -import java.util.List; - @ToString public class KucoinOrderBookEventData { - @JsonProperty("sequenceStart") - public long sequenceStart; - - @JsonProperty("sequenceEnd") - public long sequenceEnd; - - @JsonProperty("symbol") - public String symbol; - - @JsonProperty("changes") - public KucoinOrderBookChanges changes; - - public void update(CurrencyPair currencyPair, OrderBook orderBook) { - update(currencyPair, orderBook, Order.OrderType.BID, changes.bids); - update(currencyPair, orderBook, Order.OrderType.ASK, changes.asks); - } - - private void update(CurrencyPair currencyPair, OrderBook orderBook, Order.OrderType orderType, List> changes) { - for (List change : changes) { - String price = change.get(0); - if (!"0".equals(price)) { - String size = change.get(1); - LimitOrder limitOrder = new LimitOrder(orderType, new BigDecimal(size), currencyPair, null, null, new BigDecimal(price)); - orderBook.update(limitOrder); - } - } + @JsonProperty("sequenceStart") + public long sequenceStart; + + @JsonProperty("sequenceEnd") + public long sequenceEnd; + + @JsonProperty("symbol") + public String symbol; + + @JsonProperty("changes") + public KucoinOrderBookChanges changes; + + public void update(CurrencyPair currencyPair, OrderBook orderBook) { + update(currencyPair, orderBook, Order.OrderType.BID, changes.bids); + update(currencyPair, orderBook, Order.OrderType.ASK, changes.asks); + } + + private void update( + CurrencyPair currencyPair, + OrderBook orderBook, + Order.OrderType orderType, + List> changes) { + for (List change : changes) { + String price = change.get(0); + if (!"0".equals(price)) { + String size = change.get(1); + LimitOrder limitOrder = + new LimitOrder( + orderType, new BigDecimal(size), currencyPair, null, null, new BigDecimal(price)); + orderBook.update(limitOrder); + } } + } } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderEventData.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderEventData.java index 55e5b0b80f8..b5b337b7dcc 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderEventData.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinOrderEventData.java @@ -8,52 +8,52 @@ @ToString public class KucoinOrderEventData { - @JsonProperty("symbol") - public String symbol; + @JsonProperty("symbol") + public String symbol; - @JsonProperty("orderType") - public String orderType; + @JsonProperty("orderType") + public String orderType; - @JsonProperty("side") - public String side; + @JsonProperty("side") + public String side; - @JsonProperty("orderId") - public String orderId; + @JsonProperty("orderId") + public String orderId; - @JsonProperty("type") - public String type; + @JsonProperty("type") + public String type; - @JsonProperty("orderTime") - public long orderTime; + @JsonProperty("orderTime") + public long orderTime; - @JsonProperty("size") - public String size; + @JsonProperty("size") + public String size; - @JsonProperty("filledSize") - public String filledSize; + @JsonProperty("filledSize") + public String filledSize; - @JsonProperty("price") - public String price; + @JsonProperty("price") + public String price; - @JsonProperty("clientOid") - public String clientOid; + @JsonProperty("clientOid") + public String clientOid; - @JsonProperty("remainSize") - public String remainSize; + @JsonProperty("remainSize") + public String remainSize; - @JsonProperty("matchPrice") - public String matchPrice; + @JsonProperty("matchPrice") + public String matchPrice; - @JsonProperty("matchSize") - public String matchSize; + @JsonProperty("matchSize") + public String matchSize; - @JsonProperty("status") - public String status; + @JsonProperty("status") + public String status; - @JsonProperty("ts") - public long timestamp; + @JsonProperty("ts") + public long timestamp; - public CurrencyPair getCurrencyPair() { - return KucoinAdapters.adaptCurrencyPair(symbol); - } + public CurrencyPair getCurrencyPair() { + return KucoinAdapters.adaptCurrencyPair(symbol); + } } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinTickerConverter.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinTickerConverter.java index 0c66c2c63e2..359b5a596cd 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinTickerConverter.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinTickerConverter.java @@ -4,32 +4,31 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.type.TypeFactory; import com.fasterxml.jackson.databind.util.Converter; -import org.knowm.xchange.dto.marketdata.Ticker; - import java.math.BigDecimal; import java.util.Date; +import org.knowm.xchange.dto.marketdata.Ticker; public class KucoinTickerConverter implements Converter { - @Override - public Ticker convert(JsonNode jsonNode) { - return new Ticker.Builder() - .timestamp(new Date(jsonNode.get("time").longValue())) - .ask(new BigDecimal(jsonNode.get("bestAsk").asText())) - .askSize(new BigDecimal(jsonNode.get("bestAskSize").asText())) - .bid(new BigDecimal(jsonNode.get("bestBid").asText())) - .bidSize(new BigDecimal(jsonNode.get("bestBidSize").asText())) - .last(new BigDecimal(jsonNode.get("price").asText())) - .volume(new BigDecimal(jsonNode.get("size").asText())) - .build(); - } + @Override + public Ticker convert(JsonNode jsonNode) { + return new Ticker.Builder() + .timestamp(new Date(jsonNode.get("time").longValue())) + .ask(new BigDecimal(jsonNode.get("bestAsk").asText())) + .askSize(new BigDecimal(jsonNode.get("bestAskSize").asText())) + .bid(new BigDecimal(jsonNode.get("bestBid").asText())) + .bidSize(new BigDecimal(jsonNode.get("bestBidSize").asText())) + .last(new BigDecimal(jsonNode.get("price").asText())) + .volume(new BigDecimal(jsonNode.get("size").asText())) + .build(); + } - @Override - public JavaType getInputType(TypeFactory typeFactory) { - return typeFactory.constructType(JsonNode.class); - } + @Override + public JavaType getInputType(TypeFactory typeFactory) { + return typeFactory.constructType(JsonNode.class); + } - @Override - public JavaType getOutputType(TypeFactory typeFactory) { - return typeFactory.constructType(Ticker.class); - } + @Override + public JavaType getOutputType(TypeFactory typeFactory) { + return typeFactory.constructType(Ticker.class); + } } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinTickerEvent.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinTickerEvent.java index 23861f680fb..f98a04b8bc4 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinTickerEvent.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinTickerEvent.java @@ -7,10 +7,11 @@ @ToString public class KucoinTickerEvent { - @JsonProperty("data") @JsonDeserialize(converter = KucoinTickerConverter.class) - public Ticker ticker; + @JsonProperty("data") + @JsonDeserialize(converter = KucoinTickerConverter.class) + public Ticker ticker; - public Ticker getTicker() { - return ticker; - } + public Ticker getTicker() { + return ticker; + } } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinWebSocketEvent.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinWebSocketEvent.java index 1fe1acabc2b..f10b449d97f 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinWebSocketEvent.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinWebSocketEvent.java @@ -3,12 +3,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; public class KucoinWebSocketEvent { - @JsonProperty("type") - public String type; + @JsonProperty("type") + public String type; - @JsonProperty("topic") - public String topic; + @JsonProperty("topic") + public String topic; - @JsonProperty("subject") - public String subject; + @JsonProperty("subject") + public String subject; } diff --git a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinWebSocketOrderEvent.java b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinWebSocketOrderEvent.java index eb76323a2d3..7f3a70177c3 100644 --- a/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinWebSocketOrderEvent.java +++ b/xchange-stream-kucoin/src/main/java/info/bitrich/xchangestream/kucoin/dto/KucoinWebSocketOrderEvent.java @@ -5,6 +5,6 @@ @ToString public class KucoinWebSocketOrderEvent extends KucoinWebSocketEvent { - @JsonProperty("data") - public KucoinOrderEventData data; + @JsonProperty("data") + public KucoinOrderEventData data; } diff --git a/xchange-stream-lgo/src/main/java/info/bitrich/xchangestream/lgo/LgoStreamingExchange.java b/xchange-stream-lgo/src/main/java/info/bitrich/xchangestream/lgo/LgoStreamingExchange.java index fc5d837d0fc..ebc4b687cff 100644 --- a/xchange-stream-lgo/src/main/java/info/bitrich/xchangestream/lgo/LgoStreamingExchange.java +++ b/xchange-stream-lgo/src/main/java/info/bitrich/xchangestream/lgo/LgoStreamingExchange.java @@ -36,7 +36,8 @@ protected void initServices() { private LgoStreamingService createStreamingService() { String apiUrl = getExchangeSpecification().getExchangeSpecificParameters().get(LgoEnv.WS_URL).toString(); - LgoStreamingService streamingService = new LgoStreamingService(this.getSignatureService(), apiUrl); + LgoStreamingService streamingService = + new LgoStreamingService(this.getSignatureService(), apiUrl); applyStreamingSpecification(getExchangeSpecification(), streamingService); return streamingService; } diff --git a/xchange-stream-lgo/src/test/java/info/bitrich/xchangestream/lgo/LgoStreamingExchangeExample.java b/xchange-stream-lgo/src/test/java/info/bitrich/xchangestream/lgo/LgoStreamingExchangeExample.java index 03be353a2ae..79a5b4afed0 100644 --- a/xchange-stream-lgo/src/test/java/info/bitrich/xchangestream/lgo/LgoStreamingExchangeExample.java +++ b/xchange-stream-lgo/src/test/java/info/bitrich/xchangestream/lgo/LgoStreamingExchangeExample.java @@ -130,7 +130,7 @@ public void placeLimitOrder() throws IOException { null, new Date(), new BigDecimal("12000"))); -// System.out.println("Order was placed with reference: " + ref); + // System.out.println("Order was placed with reference: " + ref); } @Test @@ -145,7 +145,7 @@ public void placeMarketOrder() throws IOException { CurrencyPair.BTC_USD, null, new Date())); -// System.out.println("Order was placed with reference: " + ref); + // System.out.println("Order was placed with reference: " + ref); } @Test diff --git a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingExchange.java b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingExchange.java index 330a251b89f..8156ddaf9fa 100644 --- a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingExchange.java +++ b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingExchange.java @@ -11,78 +11,84 @@ import org.knowm.xchange.okex.OkexExchange; public class OkexStreamingExchange extends OkexExchange implements StreamingExchange { - // Production URIs - public static final String WS_PUBLIC_CHANNEL_URI = "wss://ws.okx.com:8443/ws/v5/public"; - public static final String WS_PRIVATE_CHANNEL_URI = "wss://ws.okx.com:8443/ws/v5/private"; + // Production URIs + public static final String WS_PUBLIC_CHANNEL_URI = "wss://ws.okx.com:8443/ws/v5/public"; + public static final String WS_PRIVATE_CHANNEL_URI = "wss://ws.okx.com:8443/ws/v5/private"; - public static final String AWS_WS_PUBLIC_CHANNEL_URI = "wss://wsaws.okx.com:8443/ws/v5/public"; - public static final String AWS_WS_PRIVATE_CHANNEL_URI = "wss://wsaws.okx.com:8443/ws/v5/private"; + public static final String AWS_WS_PUBLIC_CHANNEL_URI = "wss://wsaws.okx.com:8443/ws/v5/public"; + public static final String AWS_WS_PRIVATE_CHANNEL_URI = "wss://wsaws.okx.com:8443/ws/v5/private"; - // Demo(Sandbox) URIs - public static final String SANDBOX_WS_PUBLIC_CHANNEL_URI = "wss://wspap.okx.com:8443/ws/v5/public?brokerId=9999"; - public static final String SANDBOX_WS_PRIVATE_CHANNEL_URI = "wss://wspap.okx.com:8443/ws/v5/private?brokerId=9999"; + // Demo(Sandbox) URIs + public static final String SANDBOX_WS_PUBLIC_CHANNEL_URI = + "wss://wspap.okx.com:8443/ws/v5/public?brokerId=9999"; + public static final String SANDBOX_WS_PRIVATE_CHANNEL_URI = + "wss://wspap.okx.com:8443/ws/v5/private?brokerId=9999"; - private OkexStreamingService streamingService; + private OkexStreamingService streamingService; - private OkexStreamingMarketDataService streamingMarketDataService; + private OkexStreamingMarketDataService streamingMarketDataService; - private OkexStreamingTradeService streamingTradeService; - public OkexStreamingExchange() {} + private OkexStreamingTradeService streamingTradeService; + public OkexStreamingExchange() {} - @Override - public Completable connect(ProductSubscription... args) { - this.streamingService = new OkexStreamingService(getApiUrl(), this.exchangeSpecification); - this.streamingMarketDataService = new OkexStreamingMarketDataService(streamingService); - this.streamingTradeService = new OkexStreamingTradeService(streamingService, exchangeMetaData); + @Override + public Completable connect(ProductSubscription... args) { + this.streamingService = new OkexStreamingService(getApiUrl(), this.exchangeSpecification); + this.streamingMarketDataService = new OkexStreamingMarketDataService(streamingService); + this.streamingTradeService = new OkexStreamingTradeService(streamingService, exchangeMetaData); - return streamingService.connect(); - } - - private String getApiUrl() { - String apiUrl; - ExchangeSpecification exchangeSpec = getExchangeSpecification(); - if (exchangeSpec.getOverrideWebsocketApiUri() != null) { - return exchangeSpec.getOverrideWebsocketApiUri(); - } - - boolean userAws = - Boolean.TRUE.equals( - exchangeSpecification.getExchangeSpecificParametersItem(PARAM_USE_AWS) - ); - if (useSandbox()) { - apiUrl = (this.exchangeSpecification.getApiKey() == null) ? SANDBOX_WS_PUBLIC_CHANNEL_URI : SANDBOX_WS_PRIVATE_CHANNEL_URI; - } else { - apiUrl = (this.exchangeSpecification.getApiKey() == null) ? userAws ? AWS_WS_PUBLIC_CHANNEL_URI : WS_PUBLIC_CHANNEL_URI : userAws ? AWS_WS_PRIVATE_CHANNEL_URI : WS_PRIVATE_CHANNEL_URI; - } - return apiUrl; - } - - @Override - public Completable disconnect() { - streamingService.pingPongDisconnectIfConnected(); - return streamingService.disconnect(); - } + return streamingService.connect(); + } - @Override - public boolean isAlive() { - return streamingService != null && streamingService.isSocketOpen(); + private String getApiUrl() { + String apiUrl; + ExchangeSpecification exchangeSpec = getExchangeSpecification(); + if (exchangeSpec.getOverrideWebsocketApiUri() != null) { + return exchangeSpec.getOverrideWebsocketApiUri(); } - @Override - public StreamingMarketDataService getStreamingMarketDataService() { - return streamingMarketDataService; - } - - @Override - public StreamingTradeService getStreamingTradeService() { - return streamingTradeService; - } - - @Override - public void useCompressedMessages(boolean compressedMessages) { - throw new NotYetImplementedForExchangeException("useCompressedMessage"); + boolean userAws = + Boolean.TRUE.equals(exchangeSpecification.getExchangeSpecificParametersItem(PARAM_USE_AWS)); + if (useSandbox()) { + apiUrl = + (this.exchangeSpecification.getApiKey() == null) + ? SANDBOX_WS_PUBLIC_CHANNEL_URI + : SANDBOX_WS_PRIVATE_CHANNEL_URI; + } else { + apiUrl = + (this.exchangeSpecification.getApiKey() == null) + ? userAws ? AWS_WS_PUBLIC_CHANNEL_URI : WS_PUBLIC_CHANNEL_URI + : userAws ? AWS_WS_PRIVATE_CHANNEL_URI : WS_PRIVATE_CHANNEL_URI; } + return apiUrl; + } + + @Override + public Completable disconnect() { + streamingService.pingPongDisconnectIfConnected(); + return streamingService.disconnect(); + } + + @Override + public boolean isAlive() { + return streamingService != null && streamingService.isSocketOpen(); + } + + @Override + public StreamingMarketDataService getStreamingMarketDataService() { + return streamingMarketDataService; + } + + @Override + public StreamingTradeService getStreamingTradeService() { + return streamingTradeService; + } + + @Override + public void useCompressedMessages(boolean compressedMessages) { + throw new NotYetImplementedForExchangeException("useCompressedMessage"); + } /** * Enables the user to listen on channel inactive events and react appropriately. @@ -91,6 +97,6 @@ public void useCompressedMessages(boolean compressedMessages) { */ public void setChannelInactiveHandler( WebSocketClientHandler.WebSocketMessageHandler channelInactiveHandler) { - streamingService.setChannelInactiveHandler(channelInactiveHandler); - } + streamingService.setChannelInactiveHandler(channelInactiveHandler); + } } diff --git a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingMarketDataService.java b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingMarketDataService.java index 0ad5a08b423..089d019aa61 100644 --- a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingMarketDataService.java +++ b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingMarketDataService.java @@ -25,7 +25,8 @@ public class OkexStreamingMarketDataService implements StreamingMarketDataServic private final OkexStreamingService service; private final ObjectMapper mapper = StreamingObjectMapperHelper.getObjectMapper(); - private final Map>> orderBookUpdatesSubscriptions; + private final Map>> + orderBookUpdatesSubscriptions; public OkexStreamingMarketDataService(OkexStreamingService service) { this.service = service; @@ -191,6 +192,5 @@ private void orderBookUpdatesSubscriptions( orderBookUpdates.add(o); } orderBookUpdatesSubscriptions.get(instrument).onNext(orderBookUpdates); - } - + } } diff --git a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingService.java b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingService.java index 18129af8475..91420b0f70b 100644 --- a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingService.java +++ b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingService.java @@ -12,17 +12,6 @@ import io.reactivex.CompletableSource; import io.reactivex.Observable; import io.reactivex.disposables.Disposable; -import org.knowm.xchange.ExchangeSpecification; -import org.knowm.xchange.exceptions.ExchangeException; -import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException; -import org.knowm.xchange.okex.dto.OkexInstType; -import org.knowm.xchange.service.BaseParamsDigest; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.crypto.Mac; -import javax.crypto.SecretKey; -import javax.crypto.spec.SecretKeySpec; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.security.InvalidKeyException; @@ -30,186 +19,212 @@ import java.util.Base64; import java.util.Collections; import java.util.concurrent.TimeUnit; +import javax.crypto.Mac; +import javax.crypto.SecretKey; +import javax.crypto.spec.SecretKeySpec; +import org.knowm.xchange.ExchangeSpecification; +import org.knowm.xchange.exceptions.ExchangeException; +import org.knowm.xchange.exceptions.NotYetImplementedForExchangeException; +import org.knowm.xchange.okex.dto.OkexInstType; +import org.knowm.xchange.service.BaseParamsDigest; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class OkexStreamingService extends JsonNettyStreamingService { - private static final Logger LOG = LoggerFactory.getLogger(OkexStreamingService.class); - private static final String LOGIN_SIGN_METHOD = "GET"; - private static final String LOGIN_SIGN_REQUEST_PATH = "/users/self/verify"; + private static final Logger LOG = LoggerFactory.getLogger(OkexStreamingService.class); + private static final String LOGIN_SIGN_METHOD = "GET"; + private static final String LOGIN_SIGN_REQUEST_PATH = "/users/self/verify"; - private static final String SUBSCRIBE = "subscribe"; - private static final String UNSUBSCRIBE = "unsubscribe"; + private static final String SUBSCRIBE = "subscribe"; + private static final String UNSUBSCRIBE = "unsubscribe"; - public static final String TRADES = "trades"; - public static final String ORDERBOOK = "books"; - public static final String ORDERBOOK5 = "books5"; - public static final String FUNDING_RATE = "funding-rate"; - public static final String TICKERS = "tickers"; - public static final String USERTRADES = "orders"; + public static final String TRADES = "trades"; + public static final String ORDERBOOK = "books"; + public static final String ORDERBOOK5 = "books5"; + public static final String FUNDING_RATE = "funding-rate"; + public static final String TICKERS = "tickers"; + public static final String USERTRADES = "orders"; - private final Observable pingPongSrc = Observable.interval(15, 15, TimeUnit.SECONDS); + private final Observable pingPongSrc = Observable.interval(15, 15, TimeUnit.SECONDS); private WebSocketClientHandler.WebSocketMessageHandler channelInactiveHandler = null; - private Disposable pingPongSubscription; + private Disposable pingPongSubscription; - private final ExchangeSpecification xSpec; + private final ExchangeSpecification xSpec; - public OkexStreamingService(String apiUrl, ExchangeSpecification exchangeSpecification) { - super(apiUrl); - this.xSpec = exchangeSpecification; - } + public OkexStreamingService(String apiUrl, ExchangeSpecification exchangeSpecification) { + super(apiUrl); + this.xSpec = exchangeSpecification; + } - @Override - public Completable connect() { - Completable conn = super.connect(); - return conn.andThen( - (CompletableSource) - (completable) -> { - try { - if(xSpec.getApiKey() != null){ - login(); - } - - if (pingPongSubscription != null && !pingPongSubscription.isDisposed()) { - pingPongSubscription.dispose(); - } - - pingPongSubscription = pingPongSrc.subscribe(o ->this.sendMessage("ping")); - completable.onComplete(); - } catch (Exception e) { - completable.onError(e); + @Override + public Completable connect() { + Completable conn = super.connect(); + return conn.andThen( + (CompletableSource) + (completable) -> { + try { + if (xSpec.getApiKey() != null) { + login(); } - }); - } - public void login() throws JsonProcessingException { - Mac mac; - try { - mac = Mac.getInstance(BaseParamsDigest.HMAC_SHA_256); - final SecretKey secretKey = - new SecretKeySpec(xSpec.getSecretKey().getBytes(StandardCharsets.UTF_8), BaseParamsDigest.HMAC_SHA_256); - mac.init(secretKey); - } catch (NoSuchAlgorithmException | InvalidKeyException e) { - throw new ExchangeException("Invalid API secret", e); - } - String timestamp = String.valueOf(System.currentTimeMillis() / 1000); - String toSign = timestamp + LOGIN_SIGN_METHOD + LOGIN_SIGN_REQUEST_PATH; - String sign = Base64.getEncoder().encodeToString(mac.doFinal(toSign.getBytes(StandardCharsets.UTF_8))); - - OkexLoginMessage message = new OkexLoginMessage(); - String passphrase = xSpec.getExchangeSpecificParametersItem("passphrase").toString(); - OkexLoginMessage.LoginArg loginArg = new OkexLoginMessage.LoginArg(xSpec.getApiKey(), passphrase, timestamp, sign); - message.getArgs().add(loginArg); - - this.sendMessage(objectMapper.writeValueAsString(message)); - } + if (pingPongSubscription != null && !pingPongSubscription.isDisposed()) { + pingPongSubscription.dispose(); + } - @Override - public void messageHandler(String message) { - LOG.debug("Received message: {}", message); - JsonNode jsonNode; - - // Parse incoming message to JSON - try { - jsonNode = objectMapper.readTree(message); - } catch (IOException e) { - if ("pong".equals(message)) { - // ping pong message - return; - } - LOG.error("Error parsing incoming message to JSON: {}", message); - return; - } - - if (processArrayMessageSeparately() && jsonNode.isArray()) { - // In case of array - handle every message separately. - for (JsonNode node : jsonNode) { - handleMessage(node); - } - } else { - handleMessage(jsonNode); - } + pingPongSubscription = pingPongSrc.subscribe(o -> this.sendMessage("ping")); + completable.onComplete(); + } catch (Exception e) { + completable.onError(e); + } + }); + } + + public void login() throws JsonProcessingException { + Mac mac; + try { + mac = Mac.getInstance(BaseParamsDigest.HMAC_SHA_256); + final SecretKey secretKey = + new SecretKeySpec( + xSpec.getSecretKey().getBytes(StandardCharsets.UTF_8), BaseParamsDigest.HMAC_SHA_256); + mac.init(secretKey); + } catch (NoSuchAlgorithmException | InvalidKeyException e) { + throw new ExchangeException("Invalid API secret", e); } - - @Override - protected String getChannelNameFromMessage(JsonNode message) { - String channelName = ""; - if(message.has("arg")){ - if(message.get("arg").has("channel") && message.get("arg").has("instId")){ - channelName = message.get("arg").get("channel").asText()+message.get("arg").get("instId").asText(); - } - } - return channelName; + String timestamp = String.valueOf(System.currentTimeMillis() / 1000); + String toSign = timestamp + LOGIN_SIGN_METHOD + LOGIN_SIGN_REQUEST_PATH; + String sign = + Base64.getEncoder().encodeToString(mac.doFinal(toSign.getBytes(StandardCharsets.UTF_8))); + + OkexLoginMessage message = new OkexLoginMessage(); + String passphrase = xSpec.getExchangeSpecificParametersItem("passphrase").toString(); + OkexLoginMessage.LoginArg loginArg = + new OkexLoginMessage.LoginArg(xSpec.getApiKey(), passphrase, timestamp, sign); + message.getArgs().add(loginArg); + + this.sendMessage(objectMapper.writeValueAsString(message)); + } + + @Override + public void messageHandler(String message) { + LOG.debug("Received message: {}", message); + JsonNode jsonNode; + + // Parse incoming message to JSON + try { + jsonNode = objectMapper.readTree(message); + } catch (IOException e) { + if ("pong".equals(message)) { + // ping pong message + return; + } + LOG.error("Error parsing incoming message to JSON: {}", message); + return; } - @Override - public String getSubscribeMessage(String channelName, Object... args) throws IOException { - return objectMapper.writeValueAsString(new OkexSubscribeMessage(SUBSCRIBE, Collections.singletonList(getTopic(channelName)))); + if (processArrayMessageSeparately() && jsonNode.isArray()) { + // In case of array - handle every message separately. + for (JsonNode node : jsonNode) { + handleMessage(node); + } + } else { + handleMessage(jsonNode); } - - @Override - public String getUnsubscribeMessage(String channelName, Object... args) throws IOException { - return objectMapper.writeValueAsString(new OkexSubscribeMessage(UNSUBSCRIBE, Collections.singletonList(getTopic(channelName)))); + } + + @Override + protected String getChannelNameFromMessage(JsonNode message) { + String channelName = ""; + if (message.has("arg")) { + if (message.get("arg").has("channel") && message.get("arg").has("instId")) { + channelName = + message.get("arg").get("channel").asText() + message.get("arg").get("instId").asText(); + } } - - private OkexSubscribeMessage.SubscriptionTopic getTopic(String channelName){ - if(channelName.contains(ORDERBOOK5)){ - return new OkexSubscribeMessage.SubscriptionTopic(ORDERBOOK5,null,null,channelName.replace(ORDERBOOK5,"")); - } else if(channelName.contains(ORDERBOOK)){ - return new OkexSubscribeMessage.SubscriptionTopic(ORDERBOOK,null,null,channelName.replace(ORDERBOOK,"")); - } else if(channelName.contains(TRADES)){ - return new OkexSubscribeMessage.SubscriptionTopic(TRADES,null,null,channelName.replace(TRADES,"")); - } else if(channelName.contains(TICKERS)){ - return new OkexSubscribeMessage.SubscriptionTopic(TICKERS,null,null,channelName.replace(TICKERS,"")); - } else if (channelName.contains(USERTRADES)){ - return new OkexSubscribeMessage.SubscriptionTopic(USERTRADES, OkexInstType.ANY,null,channelName.replace(USERTRADES,"")); - } else if(channelName.contains(FUNDING_RATE)){ - return new OkexSubscribeMessage.SubscriptionTopic(FUNDING_RATE, null,null,channelName.replace(FUNDING_RATE,"")); - } else { - throw new NotYetImplementedForExchangeException("ChannelName: "+channelName+" has not implemented yet on "+this.getClass().getSimpleName()); - } + return channelName; + } + + @Override + public String getSubscribeMessage(String channelName, Object... args) throws IOException { + return objectMapper.writeValueAsString( + new OkexSubscribeMessage(SUBSCRIBE, Collections.singletonList(getTopic(channelName)))); + } + + @Override + public String getUnsubscribeMessage(String channelName, Object... args) throws IOException { + return objectMapper.writeValueAsString( + new OkexSubscribeMessage(UNSUBSCRIBE, Collections.singletonList(getTopic(channelName)))); + } + + private OkexSubscribeMessage.SubscriptionTopic getTopic(String channelName) { + if (channelName.contains(ORDERBOOK5)) { + return new OkexSubscribeMessage.SubscriptionTopic( + ORDERBOOK5, null, null, channelName.replace(ORDERBOOK5, "")); + } else if (channelName.contains(ORDERBOOK)) { + return new OkexSubscribeMessage.SubscriptionTopic( + ORDERBOOK, null, null, channelName.replace(ORDERBOOK, "")); + } else if (channelName.contains(TRADES)) { + return new OkexSubscribeMessage.SubscriptionTopic( + TRADES, null, null, channelName.replace(TRADES, "")); + } else if (channelName.contains(TICKERS)) { + return new OkexSubscribeMessage.SubscriptionTopic( + TICKERS, null, null, channelName.replace(TICKERS, "")); + } else if (channelName.contains(USERTRADES)) { + return new OkexSubscribeMessage.SubscriptionTopic( + USERTRADES, OkexInstType.ANY, null, channelName.replace(USERTRADES, "")); + } else if (channelName.contains(FUNDING_RATE)) { + return new OkexSubscribeMessage.SubscriptionTopic( + FUNDING_RATE, null, null, channelName.replace(FUNDING_RATE, "")); + } else { + throw new NotYetImplementedForExchangeException( + "ChannelName: " + + channelName + + " has not implemented yet on " + + this.getClass().getSimpleName()); } - - @Override - protected WebSocketClientHandler getWebSocketClientHandler( - WebSocketClientHandshaker handshake, WebSocketClientHandler.WebSocketMessageHandler handler) { - LOG.info("Registering OkxWebSocketClientHandler"); - return new OkxWebSocketClientHandler(handshake, handler); + } + + @Override + protected WebSocketClientHandler getWebSocketClientHandler( + WebSocketClientHandshaker handshake, WebSocketClientHandler.WebSocketMessageHandler handler) { + LOG.info("Registering OkxWebSocketClientHandler"); + return new OkxWebSocketClientHandler(handshake, handler); + } + + public void setChannelInactiveHandler( + WebSocketClientHandler.WebSocketMessageHandler channelInactiveHandler) { + this.channelInactiveHandler = channelInactiveHandler; + } + + /** + * Custom client handler in order to execute an external, user-provided handler on channel events. + */ + class OkxWebSocketClientHandler extends NettyWebSocketClientHandler { + + public OkxWebSocketClientHandler( + WebSocketClientHandshaker handshake, WebSocketMessageHandler handler) { + super(handshake, handler); } - public void setChannelInactiveHandler( - WebSocketClientHandler.WebSocketMessageHandler channelInactiveHandler) { - this.channelInactiveHandler = channelInactiveHandler; + @Override + public void channelActive(ChannelHandlerContext ctx) { + super.channelActive(ctx); } - /** - * Custom client handler in order to execute an external, user-provided handler on channel events. - */ - class OkxWebSocketClientHandler extends NettyWebSocketClientHandler { - - public OkxWebSocketClientHandler( - WebSocketClientHandshaker handshake, WebSocketMessageHandler handler) { - super(handshake, handler); - } - @Override - public void channelActive(ChannelHandlerContext ctx) { - super.channelActive(ctx); - } - - @Override - public void channelInactive(ChannelHandlerContext ctx) { - super.channelInactive(ctx); - if (channelInactiveHandler != null) { - channelInactiveHandler.onMessage("WebSocket Client disconnected!"); - } - } + public void channelInactive(ChannelHandlerContext ctx) { + super.channelInactive(ctx); + if (channelInactiveHandler != null) { + channelInactiveHandler.onMessage("WebSocket Client disconnected!"); + } } + } - public void pingPongDisconnectIfConnected() { - if (pingPongSubscription != null && !pingPongSubscription.isDisposed()) { - pingPongSubscription.dispose(); - } + public void pingPongDisconnectIfConnected() { + if (pingPongSubscription != null && !pingPongSubscription.isDisposed()) { + pingPongSubscription.dispose(); } + } } diff --git a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingTradeService.java b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingTradeService.java index 30bdde92d1e..2699738dcd3 100644 --- a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingTradeService.java +++ b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/OkexStreamingTradeService.java @@ -1,40 +1,47 @@ package info.bitrich.xchangestream.okex; +import static info.bitrich.xchangestream.okex.OkexStreamingService.USERTRADES; + import com.fasterxml.jackson.databind.ObjectMapper; import info.bitrich.xchangestream.core.StreamingTradeService; import info.bitrich.xchangestream.service.netty.StreamingObjectMapperHelper; import io.reactivex.Observable; +import java.util.List; import org.knowm.xchange.dto.meta.ExchangeMetaData; import org.knowm.xchange.dto.trade.UserTrade; import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.okex.OkexAdapters; import org.knowm.xchange.okex.dto.trade.OkexOrderDetails; -import java.util.List; - -import static info.bitrich.xchangestream.okex.OkexStreamingService.USERTRADES; - public class OkexStreamingTradeService implements StreamingTradeService { - private final OkexStreamingService service; - private final ExchangeMetaData exchangeMetaData; - private final ObjectMapper mapper = StreamingObjectMapperHelper.getObjectMapper(); - - public OkexStreamingTradeService(OkexStreamingService service, ExchangeMetaData exchangeMetaData) { - this.service = service; - this.exchangeMetaData = exchangeMetaData; - } - - @Override - public Observable getUserTrades(Instrument instrument, Object... args) { - String channelUniqueId = USERTRADES+OkexAdapters.adaptInstrument(instrument); - - return service.subscribeChannel(channelUniqueId) - .filter(message-> message.has("data")) - .flatMap(jsonNode -> { - List okexOrderDetails = mapper.treeToValue(jsonNode.get("data"), mapper.getTypeFactory().constructCollectionType(List.class, OkexOrderDetails.class)); - return Observable.fromIterable(OkexAdapters.adaptUserTrades(okexOrderDetails, exchangeMetaData).getUserTrades()); - } - ); - } + private final OkexStreamingService service; + private final ExchangeMetaData exchangeMetaData; + private final ObjectMapper mapper = StreamingObjectMapperHelper.getObjectMapper(); + + public OkexStreamingTradeService( + OkexStreamingService service, ExchangeMetaData exchangeMetaData) { + this.service = service; + this.exchangeMetaData = exchangeMetaData; + } + + @Override + public Observable getUserTrades(Instrument instrument, Object... args) { + String channelUniqueId = USERTRADES + OkexAdapters.adaptInstrument(instrument); + + return service + .subscribeChannel(channelUniqueId) + .filter(message -> message.has("data")) + .flatMap( + jsonNode -> { + List okexOrderDetails = + mapper.treeToValue( + jsonNode.get("data"), + mapper + .getTypeFactory() + .constructCollectionType(List.class, OkexOrderDetails.class)); + return Observable.fromIterable( + OkexAdapters.adaptUserTrades(okexOrderDetails, exchangeMetaData).getUserTrades()); + }); + } } diff --git a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/dto/OkexLoginMessage.java b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/dto/OkexLoginMessage.java index f88f5a10590..91282ac6fb5 100644 --- a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/dto/OkexLoginMessage.java +++ b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/dto/OkexLoginMessage.java @@ -1,25 +1,24 @@ package info.bitrich.xchangestream.okex.dto; -import lombok.AllArgsConstructor; -import lombok.Data; - import java.util.LinkedList; import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Data; @Data public class OkexLoginMessage { - private String op = "login"; + private String op = "login"; - List args = new LinkedList<>(); + List args = new LinkedList<>(); - @Data - @AllArgsConstructor - public static class LoginArg { - private String apiKey; - private String passphrase; - // Unix Epoch time, the unit is seconds - private String timestamp; - // https://www.okx.com/docs-v5/en/#websocket-api-login - private String sign; - } + @Data + @AllArgsConstructor + public static class LoginArg { + private String apiKey; + private String passphrase; + // Unix Epoch time, the unit is seconds + private String timestamp; + // https://www.okx.com/docs-v5/en/#websocket-api-login + private String sign; + } } diff --git a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/dto/OkexSubscribeMessage.java b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/dto/OkexSubscribeMessage.java index cb4703e9431..3e3dd3aa4fd 100644 --- a/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/dto/OkexSubscribeMessage.java +++ b/xchange-stream-okex/src/main/java/info/bitrich/xchangestream/okex/dto/OkexSubscribeMessage.java @@ -1,25 +1,24 @@ package info.bitrich.xchangestream.okex.dto; +import java.util.List; import lombok.*; import org.knowm.xchange.okex.dto.OkexInstType; -import java.util.List; - @Data @AllArgsConstructor public class OkexSubscribeMessage { - private final String op; - private final List args; + private final String op; + private final List args; - @Data - @AllArgsConstructor - public static class SubscriptionTopic { - private final String channel; + @Data + @AllArgsConstructor + public static class SubscriptionTopic { + private final String channel; - private final OkexInstType instType; + private final OkexInstType instType; - private final String uly; + private final String uly; - private final String instId; - } + private final String instId; + } } diff --git a/xchange-stream-okex/src/test/java/info/bitrich/xchangestream/okex/OkexStreamingPrivateDataIntegtration.java b/xchange-stream-okex/src/test/java/info/bitrich/xchangestream/okex/OkexStreamingPrivateDataIntegtration.java index 4a030eaf6e7..3618e5721cd 100644 --- a/xchange-stream-okex/src/test/java/info/bitrich/xchangestream/okex/OkexStreamingPrivateDataIntegtration.java +++ b/xchange-stream-okex/src/test/java/info/bitrich/xchangestream/okex/OkexStreamingPrivateDataIntegtration.java @@ -1,9 +1,11 @@ package info.bitrich.xchangestream.okex; +import info.bitrich.xchangestream.core.StreamingExchange; +import info.bitrich.xchangestream.core.StreamingExchangeFactory; +import io.reactivex.disposables.Disposable; import java.io.IOException; import java.util.Properties; import java.util.concurrent.TimeUnit; - import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -12,48 +14,57 @@ import org.knowm.xchange.instrument.Instrument; import org.knowm.xchange.okex.OkexExchange; -import info.bitrich.xchangestream.core.StreamingExchange; -import info.bitrich.xchangestream.core.StreamingExchangeFactory; -import io.reactivex.disposables.Disposable; - @Ignore public class OkexStreamingPrivateDataIntegtration { - StreamingExchange exchange; - private final Instrument instrument = new FuturesContract("BTC/USDT/SWAP"); - - @Before - public void setUp() { - Properties properties = new Properties(); - - try { - properties.load(this.getClass().getResourceAsStream("/secret.keys")); - } catch (IOException e) { - throw new RuntimeException(e); - } - // Enter your authentication details here to run private endpoint tests - final String API_KEY = (properties.getProperty("apikey") == null) ? System.getenv("okx_apikey"): properties.getProperty("apikey"); - final String SECRET_KEY = (properties.getProperty("secret") == null) ? System.getenv("okx_secretkey"): properties.getProperty("secret"); - final String PASSPHRASE = (properties.getProperty("passphrase") == null) ? System.getenv("okx_passphrase"): properties.getProperty("passphrase"); - - ExchangeSpecification spec = new OkexStreamingExchange().getDefaultExchangeSpecification(); - spec.setApiKey(API_KEY); - spec.setSecretKey(SECRET_KEY); - spec.setExchangeSpecificParametersItem(OkexExchange.PARAM_PASSPHRASE, PASSPHRASE); - spec.setExchangeSpecificParametersItem(OkexExchange.USE_SANDBOX, true); - spec.setExchangeSpecificParametersItem(OkexExchange.PARAM_SIMULATED,"1"); - - exchange = StreamingExchangeFactory.INSTANCE.createExchange(OkexStreamingExchange.class); - exchange.applySpecification(spec); - - exchange.connect().blockingAwait(); - } + StreamingExchange exchange; + private final Instrument instrument = new FuturesContract("BTC/USDT/SWAP"); - @Test - public void checkUserTradesStream() throws InterruptedException { - Disposable dis = exchange.getStreamingTradeService().getUserTrades(instrument).subscribe(System.out::println); - TimeUnit.SECONDS.sleep(3); + @Before + public void setUp() { + Properties properties = new Properties(); - dis.dispose(); + try { + properties.load(this.getClass().getResourceAsStream("/secret.keys")); + } catch (IOException e) { + throw new RuntimeException(e); } + // Enter your authentication details here to run private endpoint tests + final String API_KEY = + (properties.getProperty("apikey") == null) + ? System.getenv("okx_apikey") + : properties.getProperty("apikey"); + final String SECRET_KEY = + (properties.getProperty("secret") == null) + ? System.getenv("okx_secretkey") + : properties.getProperty("secret"); + final String PASSPHRASE = + (properties.getProperty("passphrase") == null) + ? System.getenv("okx_passphrase") + : properties.getProperty("passphrase"); + + ExchangeSpecification spec = new OkexStreamingExchange().getDefaultExchangeSpecification(); + spec.setApiKey(API_KEY); + spec.setSecretKey(SECRET_KEY); + spec.setExchangeSpecificParametersItem(OkexExchange.PARAM_PASSPHRASE, PASSPHRASE); + spec.setExchangeSpecificParametersItem(OkexExchange.USE_SANDBOX, true); + spec.setExchangeSpecificParametersItem(OkexExchange.PARAM_SIMULATED, "1"); + + exchange = StreamingExchangeFactory.INSTANCE.createExchange(OkexStreamingExchange.class); + exchange.applySpecification(spec); + + exchange.connect().blockingAwait(); + } + + @Test + public void checkUserTradesStream() throws InterruptedException { + Disposable dis = + exchange + .getStreamingTradeService() + .getUserTrades(instrument) + .subscribe(System.out::println); + TimeUnit.SECONDS.sleep(3); + + dis.dispose(); + } } diff --git a/xchange-stream-okex/src/test/java/info/bitrich/xchangestream/okex/OkexStreamingPublicDataIntegration.java b/xchange-stream-okex/src/test/java/info/bitrich/xchangestream/okex/OkexStreamingPublicDataIntegration.java index b67deeed398..d3846efde13 100644 --- a/xchange-stream-okex/src/test/java/info/bitrich/xchangestream/okex/OkexStreamingPublicDataIntegration.java +++ b/xchange-stream-okex/src/test/java/info/bitrich/xchangestream/okex/OkexStreamingPublicDataIntegration.java @@ -2,83 +2,107 @@ import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import info.bitrich.xchangestream.core.StreamingExchange; +import info.bitrich.xchangestream.core.StreamingExchangeFactory; +import io.reactivex.disposables.Disposable; import java.util.concurrent.TimeUnit; - import org.junit.Before; import org.junit.Test; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.derivative.FuturesContract; import org.knowm.xchange.instrument.Instrument; -import info.bitrich.xchangestream.core.StreamingExchange; -import info.bitrich.xchangestream.core.StreamingExchangeFactory; -import io.reactivex.disposables.Disposable; - public class OkexStreamingPublicDataIntegration { - private StreamingExchange exchange; - private final Instrument currencyPair = CurrencyPair.BTC_USDT; - private final Instrument instrument = new FuturesContract("BTC/USDT/SWAP"); + private StreamingExchange exchange; + private final Instrument currencyPair = CurrencyPair.BTC_USDT; + private final Instrument instrument = new FuturesContract("BTC/USDT/SWAP"); - @Before - public void setUp() { - exchange = StreamingExchangeFactory.INSTANCE.createExchange(OkexStreamingExchange.class); - exchange.connect().blockingAwait(); - } + @Before + public void setUp() { + exchange = StreamingExchangeFactory.INSTANCE.createExchange(OkexStreamingExchange.class); + exchange.connect().blockingAwait(); + } - @Test - public void testTrades() throws InterruptedException { - Disposable dis = exchange.getStreamingMarketDataService().getTrades(currencyPair) - .subscribe(trade -> { - System.out.println(trade); - assertThat(trade.getInstrument()).isEqualTo(currencyPair); + @Test + public void testTrades() throws InterruptedException { + Disposable dis = + exchange + .getStreamingMarketDataService() + .getTrades(currencyPair) + .subscribe( + trade -> { + System.out.println(trade); + assertThat(trade.getInstrument()).isEqualTo(currencyPair); }); - Disposable dis2 = exchange.getStreamingMarketDataService().getTrades(instrument) - .subscribe(trade -> { - System.out.println(trade); - assertThat(trade.getInstrument()).isEqualTo(instrument); + Disposable dis2 = + exchange + .getStreamingMarketDataService() + .getTrades(instrument) + .subscribe( + trade -> { + System.out.println(trade); + assertThat(trade.getInstrument()).isEqualTo(instrument); }); - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - dis2.dispose(); - } + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + dis2.dispose(); + } - @Test - public void testTicker() throws InterruptedException { - Disposable dis = exchange.getStreamingMarketDataService().getTicker(currencyPair) - .subscribe(System.out::println); - Disposable dis2 = exchange.getStreamingMarketDataService().getTicker(instrument) - .subscribe(System.out::println); - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - dis2.dispose(); - } + @Test + public void testTicker() throws InterruptedException { + Disposable dis = + exchange + .getStreamingMarketDataService() + .getTicker(currencyPair) + .subscribe(System.out::println); + Disposable dis2 = + exchange + .getStreamingMarketDataService() + .getTicker(instrument) + .subscribe(System.out::println); + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + dis2.dispose(); + } - @Test - public void testFundingRateStream() throws InterruptedException { - Disposable dis = exchange.getStreamingMarketDataService().getFundingRate(instrument) - .subscribe(System.out::println); - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - } + @Test + public void testFundingRateStream() throws InterruptedException { + Disposable dis = + exchange + .getStreamingMarketDataService() + .getFundingRate(instrument) + .subscribe(System.out::println); + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + } - @Test - public void testOrderBook() throws InterruptedException { - Disposable dis = exchange.getStreamingMarketDataService().getOrderBook(currencyPair) - .subscribe(orderBook -> { - System.out.println(orderBook); - assertThat(orderBook.getBids().get(0).getLimitPrice()).isLessThan(orderBook.getAsks().get(0).getLimitPrice()); - assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(currencyPair); + @Test + public void testOrderBook() throws InterruptedException { + Disposable dis = + exchange + .getStreamingMarketDataService() + .getOrderBook(currencyPair) + .subscribe( + orderBook -> { + System.out.println(orderBook); + assertThat(orderBook.getBids().get(0).getLimitPrice()) + .isLessThan(orderBook.getAsks().get(0).getLimitPrice()); + assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(currencyPair); }); - Disposable dis2 = exchange.getStreamingMarketDataService().getOrderBook(instrument) - .subscribe(orderBook -> { - System.out.println(orderBook); - assertThat(orderBook.getBids().get(0).getLimitPrice()).isLessThan(orderBook.getAsks().get(0).getLimitPrice()); - assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); + Disposable dis2 = + exchange + .getStreamingMarketDataService() + .getOrderBook(instrument) + .subscribe( + orderBook -> { + System.out.println(orderBook); + assertThat(orderBook.getBids().get(0).getLimitPrice()) + .isLessThan(orderBook.getAsks().get(0).getLimitPrice()); + assertThat(orderBook.getBids().get(0).getInstrument()).isEqualTo(instrument); }); - TimeUnit.SECONDS.sleep(3); - dis.dispose(); - dis2.dispose(); - } - + TimeUnit.SECONDS.sleep(3); + dis.dispose(); + dis2.dispose(); + } } diff --git a/xchange-stream-poloniex2/src/main/java/info/bitrich/xchangestream/poloniex2/dto/PoloniexWebSocketAdapter.java b/xchange-stream-poloniex2/src/main/java/info/bitrich/xchangestream/poloniex2/dto/PoloniexWebSocketAdapter.java index 83f52fa3ec2..f607388287a 100644 --- a/xchange-stream-poloniex2/src/main/java/info/bitrich/xchangestream/poloniex2/dto/PoloniexWebSocketAdapter.java +++ b/xchange-stream-poloniex2/src/main/java/info/bitrich/xchangestream/poloniex2/dto/PoloniexWebSocketAdapter.java @@ -4,7 +4,9 @@ import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.marketdata.Trade; -/** @author Nikita Belenkiy on 04/11/2019. */ +/** + * @author Nikita Belenkiy on 04/11/2019. + */ public class PoloniexWebSocketAdapter { private PoloniexWebSocketAdapter() {} diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRock.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRock.java index 63129cbdad6..617ace23c34 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRock.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRock.java @@ -1,14 +1,14 @@ package org.knowm.xchange.therock; -import java.io.IOException; -import java.util.Date; -import java.util.Objects; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Date; +import java.util.Objects; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.therock.dto.TheRockException; import org.knowm.xchange.therock.dto.marketdata.TheRockOrderBook; @@ -67,4 +67,4 @@ public String toString() { return String.format("%s%s", pair.base.getCurrencyCode(), pair.counter.getCurrencyCode()); } } -} \ No newline at end of file +} diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockAuthenticated.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockAuthenticated.java index 48f006af15e..e85e24b223b 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockAuthenticated.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.therock; -import java.io.IOException; -import java.util.Date; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -12,6 +10,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.Date; import org.knowm.xchange.therock.dto.TheRockException; import org.knowm.xchange.therock.dto.account.TheRockBalance; import org.knowm.xchange.therock.dto.account.TheRockBalances; @@ -144,4 +144,4 @@ TheRockTransactions transactions( @QueryParam("currency") String currency, @QueryParam("page") Integer page) throws TheRockException, IOException; -} \ No newline at end of file +} diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockAuthenticatedV0.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockAuthenticatedV0.java index 0b957334e5f..fe7ccd654bb 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockAuthenticatedV0.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockAuthenticatedV0.java @@ -1,12 +1,12 @@ package org.knowm.xchange.therock; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.therock.dto.TheRockException; import org.knowm.xchange.therock.dto.trade.TheRockOrder; import org.knowm.xchange.therock.service.TheRockDigest; @@ -30,4 +30,4 @@ TheRockOrder placeOrder( @HeaderParam(X_TRT_NONCE) SynchronizedValueFactory nonceFactory, TheRockOrder order) throws TheRockException, IOException; -} \ No newline at end of file +} diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockExchange.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockExchange.java index 34112cdb2be..35d513af530 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockExchange.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/TheRockExchange.java @@ -9,9 +9,13 @@ import org.knowm.xchange.utils.nonce.TimestampIncrementingNonceFactory; import si.mazi.rescu.SynchronizedValueFactory; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class TheRockExchange extends BaseExchange implements Exchange { - /** @deprecated use TheRockCancelOrderParams instead */ + /** + * @deprecated use TheRockCancelOrderParams instead + */ public static final String CURRENCY_PAIR = "CURRENCY_PAIR"; private SynchronizedValueFactory nonceFactory = new TimestampIncrementingNonceFactory(); diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/marketdata/TheRockTicker.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/marketdata/TheRockTicker.java index 3f19746c3be..795c7dce37d 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/marketdata/TheRockTicker.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/marketdata/TheRockTicker.java @@ -8,7 +8,9 @@ import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.utils.jackson.CurrencyPairDeserializer; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) public class TheRockTicker { diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockMeta.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockMeta.java index 74824780272..3721b4c7dd7 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockMeta.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockMeta.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; -/** @author Pnk */ +/** + * @author Pnk + */ @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) public class TheRockMeta { diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockMetaItem.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockMetaItem.java index a9a64ef04ee..cfeb30219cd 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockMetaItem.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockMetaItem.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; -/** @author Pnk */ +/** + * @author Pnk + */ @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) public class TheRockMetaItem { diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockOrders.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockOrders.java index 742386caa30..e448b9e9c60 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockOrders.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/dto/trade/TheRockOrders.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.databind.annotation.JsonNaming; -/** @author Pnk */ +/** + * @author Pnk + */ @JsonNaming(PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy.class) public class TheRockOrders { diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockAccountService.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockAccountService.java index f0832ad7462..84b989121e6 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockAccountService.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockAccountService.java @@ -22,7 +22,9 @@ import org.knowm.xchange.therock.dto.trade.TheRockTransaction; import org.knowm.xchange.therock.dto.trade.TheRockTransactions; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class TheRockAccountService extends TheRockAccountServiceRaw implements AccountService { public TheRockAccountService(Exchange exchange) { diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockDigest.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockDigest.java index 3c848372759..7fa0bd7cf38 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockDigest.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockDigest.java @@ -1,10 +1,10 @@ package org.knowm.xchange.therock.service; +import jakarta.ws.rs.HeaderParam; import java.math.BigInteger; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; -import jakarta.ws.rs.HeaderParam; import org.knowm.xchange.therock.TheRockAuthenticated; import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.RestInvocation; @@ -36,4 +36,4 @@ public String digestParams(RestInvocation restInvocation) { return String.format("%0128x", new BigInteger(1, mac.doFinal())); } -} \ No newline at end of file +} diff --git a/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockMarketDataService.java b/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockMarketDataService.java index 1dbfb20f680..e81de26d487 100644 --- a/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockMarketDataService.java +++ b/xchange-therock/src/main/java/org/knowm/xchange/therock/service/TheRockMarketDataService.java @@ -13,7 +13,9 @@ import org.knowm.xchange.therock.dto.marketdata.TheRockOrderBook; import org.knowm.xchange.therock.dto.marketdata.TheRockTicker; -/** @author Matija Mazi */ +/** + * @author Matija Mazi + */ public class TheRockMarketDataService extends TheRockMarketDataServiceRaw implements MarketDataService { diff --git a/xchange-tradeogre/src/main/java/org/knowm/xchange/tradeogre/TradeOgre.java b/xchange-tradeogre/src/main/java/org/knowm/xchange/tradeogre/TradeOgre.java index fce59fa70f6..c798e2d8217 100644 --- a/xchange-tradeogre/src/main/java/org/knowm/xchange/tradeogre/TradeOgre.java +++ b/xchange-tradeogre/src/main/java/org/knowm/xchange/tradeogre/TradeOgre.java @@ -1,11 +1,11 @@ package org.knowm.xchange.tradeogre; -import java.io.IOException; -import java.util.List; -import java.util.Map; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; +import java.io.IOException; +import java.util.List; +import java.util.Map; import org.knowm.xchange.tradeogre.dto.marketdata.TradeOgreOrderBook; import org.knowm.xchange.tradeogre.dto.marketdata.TradeOgreTicker; @@ -23,4 +23,4 @@ public interface TradeOgre { @GET @Path("orders/{market}") TradeOgreOrderBook getOrderBook(@PathParam("market") String market) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-tradeogre/src/main/java/org/knowm/xchange/tradeogre/TradeOgreAuthenticated.java b/xchange-tradeogre/src/main/java/org/knowm/xchange/tradeogre/TradeOgreAuthenticated.java index 8009d90d138..7e5f9471e88 100644 --- a/xchange-tradeogre/src/main/java/org/knowm/xchange/tradeogre/TradeOgreAuthenticated.java +++ b/xchange-tradeogre/src/main/java/org/knowm/xchange/tradeogre/TradeOgreAuthenticated.java @@ -1,12 +1,12 @@ package org.knowm.xchange.tradeogre; -import java.io.IOException; -import java.util.Collection; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; import jakarta.ws.rs.Path; +import java.io.IOException; +import java.util.Collection; import org.knowm.xchange.tradeogre.dto.account.TradeOgreBalance; import org.knowm.xchange.tradeogre.dto.account.TradeOgreBalances; import org.knowm.xchange.tradeogre.dto.trade.TradeOgreOrder; @@ -55,4 +55,4 @@ TradeOgreTradeResponse cancel( Collection getOrders( @HeaderParam("Authorization") String base64UserPwd, @FormParam("market") String market) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-truefx/src/main/java/org/knowm/xchange/truefx/TrueFxPublic.java b/xchange-truefx/src/main/java/org/knowm/xchange/truefx/TrueFxPublic.java index 81c02417c2c..a94dad9e3fa 100644 --- a/xchange-truefx/src/main/java/org/knowm/xchange/truefx/TrueFxPublic.java +++ b/xchange-truefx/src/main/java/org/knowm/xchange/truefx/TrueFxPublic.java @@ -1,9 +1,9 @@ package org.knowm.xchange.truefx; -import java.io.IOException; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; +import java.io.IOException; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.truefx.dto.marketdata.TrueFxTicker; @@ -12,4 +12,4 @@ public interface TrueFxPublic { @GET @Path("rates/connect.html?f=csv&c={pair}") TrueFxTicker getTicker(@PathParam("pair") CurrencyPair pair) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/Upbit.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/Upbit.java index 190035a86b4..8384b4b5eb0 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/Upbit.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/Upbit.java @@ -1,10 +1,10 @@ package org.knowm.xchange.upbit; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.QueryParam; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.upbit.dto.UpbitException; import org.knowm.xchange.upbit.dto.marketdata.UpbitMarket; import org.knowm.xchange.upbit.dto.marketdata.UpbitOrderBooks; @@ -31,4 +31,4 @@ UpbitOrderBooks getOrderBook(@QueryParam("markets") String markets) @Path("trades/ticks") UpbitTrades getTrades(@QueryParam("market") String market, @QueryParam("count") int count) throws IOException, UpbitException; -} \ No newline at end of file +} diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/UpbitAdapters.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/UpbitAdapters.java index dfa38c97304..da22b31e6fc 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/UpbitAdapters.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/UpbitAdapters.java @@ -129,11 +129,12 @@ public static Wallet adaptWallet(UpbitBalances wallets) { List balances = new ArrayList<>(); Arrays.stream(wallets.getBalances()) .forEach( - balance -> balances.add( - new Balance( - Currency.getInstance(balance.getCurrency()), - balance.getBalance().add(balance.getLocked()), - balance.getBalance()))); + balance -> + balances.add( + new Balance( + Currency.getInstance(balance.getCurrency()), + balance.getBalance().add(balance.getLocked()), + balance.getBalance()))); return Wallet.Builder.from(balances).build(); } diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/UpbitAuthenticated.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/UpbitAuthenticated.java index 3855f0a6ee4..d65215aba61 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/UpbitAuthenticated.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/UpbitAuthenticated.java @@ -1,6 +1,5 @@ package org.knowm.xchange.upbit; -import java.io.IOException; import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -10,6 +9,7 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; import org.knowm.xchange.upbit.dto.UpbitException; import org.knowm.xchange.upbit.dto.account.UpbitBalances; import org.knowm.xchange.upbit.dto.trade.UpbitOrderRequest; @@ -44,4 +44,4 @@ UpbitOrderResponse cancelOrder( UpbitOrderResponse getOrder( @HeaderParam("Authorization") ParamsDigest signatureCreator, @QueryParam("uuid") String uuid) throws IOException, UpbitException; -} \ No newline at end of file +} diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/account/UpbitBalances.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/account/UpbitBalances.java index 7ef5939e499..1207e23de4f 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/account/UpbitBalances.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/account/UpbitBalances.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import org.knowm.xchange.upbit.service.UpbitArrayOrMessageDeserializer; -/** @author interwater */ +/** + * @author interwater + */ @JsonDeserialize(using = UpbitBalances.UpbitBalancesDeserializer.class) public class UpbitBalances { private final UpbitBalance[] balances; diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBook.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBook.java index 11e7373edd3..0a4ba09d49c 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBook.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBook.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author interwater */ +/** + * @author interwater + */ public class UpbitOrderBook { private final String market; diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBookData.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBookData.java index 721f8935905..2f63fdb24c8 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBookData.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBookData.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author interwater */ +/** + * @author interwater + */ public class UpbitOrderBookData { private final BigDecimal askPrice; diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBooks.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBooks.java index 0151d2c3204..9366306ecd1 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBooks.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitOrderBooks.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import org.knowm.xchange.upbit.service.UpbitArrayOrMessageDeserializer; -/** @author interwater */ +/** + * @author interwater + */ @JsonDeserialize(using = UpbitOrderBooks.UpbitOrderbooksDeserializer.class) public class UpbitOrderBooks { diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTickers.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTickers.java index dc199f64534..631050abe3a 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTickers.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTickers.java @@ -4,7 +4,9 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import org.knowm.xchange.upbit.service.UpbitArrayOrMessageDeserializer; -/** @author interwater */ +/** + * @author interwater + */ @JsonDeserialize(using = UpbitTickers.UpbitTickersDeserializer.class) public class UpbitTickers { private final UpbitTicker[] tickers; diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTrade.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTrade.java index 907a5b1808f..e2538383213 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTrade.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTrade.java @@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.math.BigDecimal; -/** @author interwater */ +/** + * @author interwater + */ public class UpbitTrade { private final String market; diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTrades.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTrades.java index da0309638b9..266d0418da2 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTrades.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/dto/marketdata/UpbitTrades.java @@ -4,13 +4,17 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import org.knowm.xchange.upbit.service.UpbitArrayOrMessageDeserializer; -/** @author interwater */ +/** + * @author interwater + */ @JsonDeserialize(using = UpbitTrades.UpbitTradesDeserializer.class) public class UpbitTrades { private final UpbitTrade[] upbitTrades; - /** @param upbitTrades */ + /** + * @param upbitTrades + */ public UpbitTrades(@JsonProperty() UpbitTrade[] upbitTrades) { this.upbitTrades = upbitTrades; } diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitJWTDigest.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitJWTDigest.java index 33172c4b192..04ac2740934 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitJWTDigest.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitJWTDigest.java @@ -4,11 +4,11 @@ import com.auth0.jwt.JWTCreator; import com.auth0.jwt.algorithms.Algorithm; import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.ws.rs.QueryParam; import java.io.IOException; import java.util.Iterator; import java.util.Map; import java.util.UUID; -import jakarta.ws.rs.QueryParam; import si.mazi.rescu.ParamsDigest; import si.mazi.rescu.RestInvocation; @@ -54,4 +54,4 @@ public String digestParams(RestInvocation restInvocation) { String jwtToken = builder.sign(algorithm); return "Bearer " + jwtToken; } -} \ No newline at end of file +} diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitMarketDataService.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitMarketDataService.java index 1d6c925ffd9..2aad69f7c9f 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitMarketDataService.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitMarketDataService.java @@ -14,7 +14,9 @@ import org.knowm.xchange.service.marketdata.params.Params; import org.knowm.xchange.upbit.UpbitAdapters; -/** @author interwater */ +/** + * @author interwater + */ public class UpbitMarketDataService extends UpbitMarketDataServiceRaw implements MarketDataService { /** diff --git a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitTradeService.java b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitTradeService.java index 0e548c69b82..bcb9267025b 100644 --- a/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitTradeService.java +++ b/xchange-upbit/src/main/java/org/knowm/xchange/upbit/service/UpbitTradeService.java @@ -15,7 +15,9 @@ public class UpbitTradeService extends UpbitTradeServiceRaw implements TradeService { - /** @param exchange */ + /** + * @param exchange + */ public UpbitTradeService(Exchange exchange) { super(exchange); } diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/Vaultoro.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/Vaultoro.java index 1479dea1593..9d05652b572 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/Vaultoro.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/Vaultoro.java @@ -1,12 +1,12 @@ package org.knowm.xchange.vaultoro; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.List; import org.knowm.xchange.vaultoro.dto.marketdata.VaultoroOrderBookResponse; import org.knowm.xchange.vaultoro.dto.marketdata.VaultoroTrade; @@ -25,4 +25,4 @@ public interface Vaultoro { @GET @Path("transactions/month") List getVaultoroTrades(String time) throws IOException, VaultoroException; -} \ No newline at end of file +} diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroAuthenticated.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroAuthenticated.java index ad023331bf3..894f6c8d495 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroAuthenticated.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroAuthenticated.java @@ -1,7 +1,5 @@ package org.knowm.xchange.vaultoro; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; import jakarta.ws.rs.POST; @@ -10,6 +8,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.vaultoro.dto.account.VaultoroBalancesResponse; import org.knowm.xchange.vaultoro.dto.trade.VaultoroCancelOrderResponse; import org.knowm.xchange.vaultoro.dto.trade.VaultoroNewOrderResponse; @@ -69,4 +69,4 @@ VaultoroCancelOrderResponse cancel( @QueryParam("apikey") String apiKey, @HeaderParam("X-Signature") ParamsDigest signature) throws IOException, VaultoroException; -} \ No newline at end of file +} diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroException.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroException.java index 9211159da23..30e2d19afe0 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroException.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroException.java @@ -23,28 +23,36 @@ public class VaultoroException extends RuntimeException { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The status */ + /** + * @return The status + */ @JsonProperty("status") public String getStatus() { return status; } - /** @param status The status */ + /** + * @param status The status + */ @JsonProperty("status") public void setStatus(String status) { this.status = status; } - /** @return The data */ + /** + * @return The data + */ @JsonProperty("data") public VaultoroExceptionData getData() { return data; } - /** @param data The data */ + /** + * @param data The data + */ @JsonProperty("data") public void setData(VaultoroExceptionData data) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroExceptionData.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroExceptionData.java index da38471f706..9a1b8dc6138 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroExceptionData.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/VaultoroExceptionData.java @@ -20,14 +20,18 @@ public class VaultoroExceptionData { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The message */ + /** + * @return The message + */ @JsonProperty("message") public String getMessage() { return message; } - /** @param message The message */ + /** + * @param message The message + */ @JsonProperty("message") public void setMessage(String message) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/account/VaultoroBalance.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/account/VaultoroBalance.java index 74958a1a331..b354cce3c9b 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/account/VaultoroBalance.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/account/VaultoroBalance.java @@ -27,42 +27,54 @@ public class VaultoroBalance { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The currencyCode */ + /** + * @return The currencyCode + */ @JsonProperty("currency_code") public String getCurrencyCode() { return currencyCode; } - /** @param currencyCode The currency_code */ + /** + * @param currencyCode The currency_code + */ @JsonProperty("currency_code") public void setCurrencyCode(String currencyCode) { this.currencyCode = currencyCode; } - /** @return The cash */ + /** + * @return The cash + */ @JsonProperty("cash") public BigDecimal getCash() { return cash; } - /** @param cash The cash */ + /** + * @param cash The cash + */ @JsonProperty("cash") public void setCash(BigDecimal cash) { this.cash = cash; } - /** @return The reserved */ + /** + * @return The reserved + */ @JsonProperty("reserved") public BigDecimal getReserved() { return reserved; } - /** @param reserved The reserved */ + /** + * @param reserved The reserved + */ @JsonProperty("reserved") public void setReserved(BigDecimal reserved) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/account/VaultoroBalancesResponse.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/account/VaultoroBalancesResponse.java index ba4c93b543a..f401485e947 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/account/VaultoroBalancesResponse.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/account/VaultoroBalancesResponse.java @@ -25,28 +25,36 @@ public class VaultoroBalancesResponse { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The status */ + /** + * @return The status + */ @JsonProperty("status") public String getStatus() { return status; } - /** @param status The status */ + /** + * @param status The status + */ @JsonProperty("status") public void setStatus(String status) { this.status = status; } - /** @return The data */ + /** + * @return The data + */ @JsonProperty("data") public List getData() { return data; } - /** @param data The data */ + /** + * @param data The data + */ @JsonProperty("data") public void setData(List data) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrder.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrder.java index 57c5d7f1917..a8599334c48 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrder.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrder.java @@ -24,28 +24,36 @@ public class VaultoroOrder { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The GoldPrice */ + /** + * @return The GoldPrice + */ @JsonProperty("Gold_Price") public BigDecimal getGoldPrice() { return GoldPrice; } - /** @param GoldPrice The Gold_Price */ + /** + * @param GoldPrice The Gold_Price + */ @JsonProperty("Gold_Price") public void setGoldPrice(BigDecimal GoldPrice) { this.GoldPrice = GoldPrice; } - /** @return The GoldAmount */ + /** + * @return The GoldAmount + */ @JsonProperty("Gold_Amount") public BigDecimal getGoldAmount() { return GoldAmount; } - /** @param GoldAmount The Gold_Amount */ + /** + * @param GoldAmount The Gold_Amount + */ @JsonProperty("Gold_Amount") public void setGoldAmount(BigDecimal GoldAmount) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrderBook.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrderBook.java index 6aac1fc31b4..990440e364d 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrderBook.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrderBook.java @@ -25,28 +25,36 @@ public class VaultoroOrderBook { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The b */ + /** + * @return The b + */ @JsonProperty("b") public List getBuys() { return b; } - /** @param b The b */ + /** + * @param b The b + */ @JsonProperty("b") public void setB(List b) { this.b = b; } - /** @return The s */ + /** + * @return The s + */ @JsonProperty("s") public List getSells() { return s; } - /** @param s The s */ + /** + * @param s The s + */ @JsonProperty("s") public void setS(List s) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrderBookResponse.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrderBookResponse.java index 2a66c2fe4c4..04e9e0a81f7 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrderBookResponse.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroOrderBookResponse.java @@ -25,28 +25,36 @@ public class VaultoroOrderBookResponse { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The status */ + /** + * @return The status + */ @JsonProperty("status") public String getStatus() { return status; } - /** @param status The status */ + /** + * @param status The status + */ @JsonProperty("status") public void setStatus(String status) { this.status = status; } - /** @return The data */ + /** + * @return The data + */ @JsonProperty("data") public List getData() { return data; } - /** @param data The data */ + /** + * @param data The data + */ @JsonProperty("data") public void setData(List data) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroTrade.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroTrade.java index a2c0f62fb3b..ce9d1d5fa4c 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroTrade.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/marketdata/VaultoroTrade.java @@ -27,42 +27,54 @@ public class VaultoroTrade { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The Time */ + /** + * @return The Time + */ @JsonProperty("Time") public String getTime() { return Time; } - /** @param Time The Time */ + /** + * @param Time The Time + */ @JsonProperty("Time") public void setTime(String Time) { this.Time = Time; } - /** @return The GoldPrice */ + /** + * @return The GoldPrice + */ @JsonProperty("Gold_Price") public BigDecimal getGoldPrice() { return GoldPrice; } - /** @param GoldPrice The Gold_Price */ + /** + * @param GoldPrice The Gold_Price + */ @JsonProperty("Gold_Price") public void setGoldPrice(BigDecimal GoldPrice) { this.GoldPrice = GoldPrice; } - /** @return The GoldAmount */ + /** + * @return The GoldAmount + */ @JsonProperty("Gold_Amount") public BigDecimal getGoldAmount() { return GoldAmount; } - /** @param GoldAmount The Gold_Amount */ + /** + * @param GoldAmount The Gold_Amount + */ @JsonProperty("Gold_Amount") public void setGoldAmount(BigDecimal GoldAmount) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroCancelOrderData.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroCancelOrderData.java index 077c9bedf82..98bb26b48c0 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroCancelOrderData.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroCancelOrderData.java @@ -23,28 +23,36 @@ public class VaultoroCancelOrderData { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The OrderID */ + /** + * @return The OrderID + */ @JsonProperty("Order_ID") public String getOrderID() { return OrderID; } - /** @param OrderID The Order_ID */ + /** + * @param OrderID The Order_ID + */ @JsonProperty("Order_ID") public void setOrderID(String OrderID) { this.OrderID = OrderID; } - /** @return The status */ + /** + * @return The status + */ @JsonProperty("status") public String getStatus() { return status; } - /** @param status The status */ + /** + * @param status The status + */ @JsonProperty("status") public void setStatus(String status) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroCancelOrderResponse.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroCancelOrderResponse.java index 8a07819c144..b0cdd32d5a3 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroCancelOrderResponse.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroCancelOrderResponse.java @@ -23,28 +23,36 @@ public class VaultoroCancelOrderResponse { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The status */ + /** + * @return The status + */ @JsonProperty("status") public String getStatus() { return status; } - /** @param status The status */ + /** + * @param status The status + */ @JsonProperty("status") public void setStatus(String status) { this.status = status; } - /** @return The data */ + /** + * @return The data + */ @JsonProperty("data") public VaultoroCancelOrderData getData() { return data; } - /** @param data The data */ + /** + * @param data The data + */ @JsonProperty("data") public void setData(VaultoroCancelOrderData data) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroNewOrderData.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroNewOrderData.java index 277536cfebd..d5255f4ce2e 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroNewOrderData.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroNewOrderData.java @@ -39,98 +39,126 @@ public class VaultoroNewOrderData { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The action */ + /** + * @return The action + */ @JsonProperty("action") public String getAction() { return action; } - /** @param action The action */ + /** + * @param action The action + */ @JsonProperty("action") public void setAction(String action) { this.action = action; } - /** @return The OrderID */ + /** + * @return The OrderID + */ @JsonProperty("Order_ID") public String getOrderID() { return OrderID; } - /** @param OrderID The Order_ID */ + /** + * @param OrderID The Order_ID + */ @JsonProperty("Order_ID") public void setOrderID(String OrderID) { this.OrderID = OrderID; } - /** @return The type */ + /** + * @return The type + */ @JsonProperty("type") public String getType() { return type; } - /** @param type The type */ + /** + * @param type The type + */ @JsonProperty("type") public void setType(String type) { this.type = type; } - /** @return The time */ + /** + * @return The time + */ @JsonProperty("time") public String getTime() { return time; } - /** @param time The time */ + /** + * @param time The time + */ @JsonProperty("time") public void setTime(String time) { this.time = time; } - /** @return The price */ + /** + * @return The price + */ @JsonProperty("price") public BigDecimal getPrice() { return price; } - /** @param price The price */ + /** + * @param price The price + */ @JsonProperty("price") public void setPrice(BigDecimal price) { this.price = price; } - /** @return The btc */ + /** + * @return The btc + */ @JsonProperty("btc") public BigDecimal getBtc() { return btc; } - /** @param btc The btc */ + /** + * @param btc The btc + */ @JsonProperty("btc") public void setBtc(BigDecimal btc) { this.btc = btc; } - /** @return The gld */ + /** + * @return The gld + */ @JsonProperty("gld") public BigDecimal getGld() { return gld; } - /** @param gld The gld */ + /** + * @param gld The gld + */ @JsonProperty("gld") public void setGld(BigDecimal gld) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroNewOrderResponse.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroNewOrderResponse.java index 6e6f0546240..c1384e9766f 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroNewOrderResponse.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroNewOrderResponse.java @@ -23,28 +23,36 @@ public class VaultoroNewOrderResponse { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The status */ + /** + * @return The status + */ @JsonProperty("status") public String getStatus() { return status; } - /** @param status The status */ + /** + * @param status The status + */ @JsonProperty("status") public void setStatus(String status) { this.status = status; } - /** @return The data */ + /** + * @return The data + */ @JsonProperty("data") public VaultoroNewOrderData getData() { return data; } - /** @param data The data */ + /** + * @param data The data + */ @JsonProperty("data") public void setData(VaultoroNewOrderData data) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroOpenOrder.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroOpenOrder.java index 6ffe01a4860..087c06e6a05 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroOpenOrder.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroOpenOrder.java @@ -30,56 +30,72 @@ public class VaultoroOpenOrder { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The OrderID */ + /** + * @return The OrderID + */ @JsonProperty("Order_ID") public String getOrderID() { return OrderID; } - /** @param OrderID The Order_ID */ + /** + * @param OrderID The Order_ID + */ @JsonProperty("Order_ID") public void setOrderID(String OrderID) { this.OrderID = OrderID; } - /** @return The BTCAmount */ + /** + * @return The BTCAmount + */ @JsonProperty("BTC_Amount") public BigDecimal getBTCAmount() { return BTCAmount; } - /** @param BTCAmount The BTC_Amount */ + /** + * @param BTCAmount The BTC_Amount + */ @JsonProperty("BTC_Amount") public void setBTCAmount(BigDecimal BTCAmount) { this.BTCAmount = BTCAmount; } - /** @return The GoldPrice */ + /** + * @return The GoldPrice + */ @JsonProperty("Gold_Price") public BigDecimal getGoldPrice() { return GoldPrice; } - /** @param GoldPrice The Gold_Price */ + /** + * @param GoldPrice The Gold_Price + */ @JsonProperty("Gold_Price") public void setGoldPrice(BigDecimal GoldPrice) { this.GoldPrice = GoldPrice; } - /** @return The GoldAmount */ + /** + * @return The GoldAmount + */ @JsonProperty("Gold_Amount") public BigDecimal getGoldAmount() { return GoldAmount; } - /** @param GoldAmount The Gold_Amount */ + /** + * @param GoldAmount The Gold_Amount + */ @JsonProperty("Gold_Amount") public void setGoldAmount(BigDecimal GoldAmount) { diff --git a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroOrdersResponse.java b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroOrdersResponse.java index ba971c2d3c6..39c0a16e75a 100644 --- a/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroOrdersResponse.java +++ b/xchange-vaultoro/src/main/java/org/knowm/xchange/vaultoro/dto/trade/VaultoroOrdersResponse.java @@ -26,28 +26,36 @@ public class VaultoroOrdersResponse { @JsonIgnore private Map additionalProperties = new HashMap(); - /** @return The status */ + /** + * @return The status + */ @JsonProperty("status") public String getStatus() { return status; } - /** @param status The status */ + /** + * @param status The status + */ @JsonProperty("status") public void setStatus(String status) { this.status = status; } - /** @return The data */ + /** + * @return The data + */ @JsonProperty("data") public List>> getData() { return data; } - /** @param data The data */ + /** + * @param data The data + */ @JsonProperty("data") public void setData(List>> data) { diff --git a/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBit.java b/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBit.java index e9846478e7c..1102ce01281 100644 --- a/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBit.java +++ b/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBit.java @@ -1,7 +1,5 @@ package org.knowm.xchange.yobit; -import java.io.IOException; -import java.math.BigDecimal; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.GET; import jakarta.ws.rs.HeaderParam; @@ -11,6 +9,8 @@ import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.math.BigDecimal; import org.knowm.xchange.yobit.dto.BaseYoBitResponse; import org.knowm.xchange.yobit.dto.marketdata.YoBitInfo; import org.knowm.xchange.yobit.dto.marketdata.YoBitOrderBooksReturn; @@ -132,4 +132,4 @@ BaseYoBitResponse trade( @FormParam("rate") BigDecimal price, @FormParam("amount") BigDecimal amount) throws IOException; -} \ No newline at end of file +} diff --git a/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBitAdapters.java b/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBitAdapters.java index 313c75702df..94cca2bc9ef 100644 --- a/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBitAdapters.java +++ b/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBitAdapters.java @@ -72,13 +72,15 @@ public static ExchangeMetaData adaptToExchangeMetaData( currencyPairs.put( pair, new InstrumentMetaData.Builder() - .tradingFee(value.getFee()) - .minimumAmount(minSize) - .priceScale(priceScale) - .feeTiers(new FeeTier[] { - new FeeTier(BigDecimal.ZERO, new Fee(value.getFee_seller(), value.getFee_buyer())) + .tradingFee(value.getFee()) + .minimumAmount(minSize) + .priceScale(priceScale) + .feeTiers( + new FeeTier[] { + new FeeTier( + BigDecimal.ZERO, new Fee(value.getFee_seller(), value.getFee_buyer())) }) - .build()); + .build()); if (!currencies.containsKey(pair.base)) { CurrencyMetaData currencyMetaData = exchangeMetaData.getCurrencies().get(pair.base); diff --git a/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBitDigest.java b/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBitDigest.java index a5d6d0dbf79..9ab3f76838d 100644 --- a/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBitDigest.java +++ b/xchange-yobit/src/main/java/org/knowm/xchange/yobit/YoBitDigest.java @@ -1,11 +1,11 @@ package org.knowm.xchange.yobit; +import jakarta.ws.rs.FormParam; import java.io.IOException; import java.math.BigInteger; import java.nio.charset.Charset; import java.util.Random; import javax.crypto.Mac; -import jakarta.ws.rs.FormParam; import org.knowm.xchange.service.BaseParamsDigest; import si.mazi.rescu.Params; import si.mazi.rescu.RestInvocation; @@ -44,4 +44,4 @@ private static String getRandomSecretKey() { new Random().nextBytes(array); return new String(array, Charset.forName("UTF-8")); } -} \ No newline at end of file +} diff --git a/xchange-yobit/src/main/java/org/knowm/xchange/yobit/dto/marketdata/YoBitAsksBidsData.java b/xchange-yobit/src/main/java/org/knowm/xchange/yobit/dto/marketdata/YoBitAsksBidsData.java index 6335b3c2261..01b7f5b27a7 100644 --- a/xchange-yobit/src/main/java/org/knowm/xchange/yobit/dto/marketdata/YoBitAsksBidsData.java +++ b/xchange-yobit/src/main/java/org/knowm/xchange/yobit/dto/marketdata/YoBitAsksBidsData.java @@ -15,12 +15,16 @@ public YoBitAsksBidsData(BigDecimal quantity, BigDecimal rate) { this.rate = rate; } - /** @return The quantity */ + /** + * @return The quantity + */ public BigDecimal getQuantity() { return quantity; } - /** @return The rate */ + /** + * @return The rate + */ public BigDecimal getRate() { return rate; } diff --git a/xchange-zaif/src/main/java/org/knowm/xchange/zaif/Zaif.java b/xchange-zaif/src/main/java/org/knowm/xchange/zaif/Zaif.java index 16d0ec1e82b..6197a37615b 100644 --- a/xchange-zaif/src/main/java/org/knowm/xchange/zaif/Zaif.java +++ b/xchange-zaif/src/main/java/org/knowm/xchange/zaif/Zaif.java @@ -1,12 +1,12 @@ package org.knowm.xchange.zaif; -import java.io.IOException; -import java.util.List; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.PathParam; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType; +import java.io.IOException; +import java.util.List; import org.knowm.xchange.zaif.dto.ZaifException; import org.knowm.xchange.zaif.dto.marketdata.ZaifFullBook; import org.knowm.xchange.zaif.dto.marketdata.ZaifMarket; @@ -25,4 +25,4 @@ ZaifFullBook getDepth( @GET @Path("api/1/currency_pairs/all") List getCurrencyPairs(); -} \ No newline at end of file +} diff --git a/xchange-zaif/src/main/java/org/knowm/xchange/zaif/ZaifAdapters.java b/xchange-zaif/src/main/java/org/knowm/xchange/zaif/ZaifAdapters.java index 9a33c5d3e4b..72d720c0fca 100644 --- a/xchange-zaif/src/main/java/org/knowm/xchange/zaif/ZaifAdapters.java +++ b/xchange-zaif/src/main/java/org/knowm/xchange/zaif/ZaifAdapters.java @@ -4,7 +4,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; - import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.dto.Order; import org.knowm.xchange.dto.marketdata.OrderBook; diff --git a/xchange-zaif/src/main/java/org/knowm/xchange/zaif/service/ZaifMarketDataServiceRaw.java b/xchange-zaif/src/main/java/org/knowm/xchange/zaif/service/ZaifMarketDataServiceRaw.java index 8e1ab70ba0b..3c9c42d5717 100644 --- a/xchange-zaif/src/main/java/org/knowm/xchange/zaif/service/ZaifMarketDataServiceRaw.java +++ b/xchange-zaif/src/main/java/org/knowm/xchange/zaif/service/ZaifMarketDataServiceRaw.java @@ -38,13 +38,13 @@ public boolean checkProductExists(CurrencyPair currencyPair) { boolean currencyPairSupported = false; for (Instrument cp : exchange.getExchangeInstruments()) { - if (cp.getBase().getCurrencyCode().equalsIgnoreCase(currencyPair.getBase().getCurrencyCode()) - && cp.getCounter() - .getCurrencyCode() - .equalsIgnoreCase(currencyPair.getCounter().getCurrencyCode())) { - currencyPairSupported = true; - break; - } + if (cp.getBase().getCurrencyCode().equalsIgnoreCase(currencyPair.getBase().getCurrencyCode()) + && cp.getCounter() + .getCurrencyCode() + .equalsIgnoreCase(currencyPair.getCounter().getCurrencyCode())) { + currencyPairSupported = true; + break; + } } return currencyPairSupported;