Skip to content

Commit 9b5db6a

Browse files
[Kucoin] Enforce fields as string as per api docs
1 parent 87b157b commit 9b5db6a

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

xchange-examples/src/main/java/org/knowm/xchange/examples/kucoin/trade/KucoinTradeRawDemo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,8 @@ private static void raw(KucoinTradeServiceRaw tradeService) throws Exception {
209209

210210
OrderCreateApiRequest limitOrder =
211211
OrderCreateApiRequest.builder()
212-
.size(AMOUNT)
213-
.price(PRICE)
212+
.size(AMOUNT.toPlainString())
213+
.price(PRICE.toPlainString())
214214
.side("sell")
215215
.symbol(SYMBOL)
216216
.type("limit")

xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/KucoinAdapters.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ public static UserTrade adaptHistOrder(HistOrdersResponse histOrder) {
292292
public static OrderCreateApiRequest adaptLimitOrder(LimitOrder limitOrder) {
293293
return ((OrderCreateApiRequest.OrderCreateApiRequestBuilder) adaptOrder(limitOrder))
294294
.type("limit")
295-
.price(limitOrder.getLimitPrice())
295+
.price(limitOrder.getLimitPrice().toPlainString())
296296
.postOnly(limitOrder.hasFlag(POST_ONLY))
297297
.hidden(limitOrder.hasFlag(HIDDEN))
298298
.iceberg(limitOrder.hasFlag(ICEBERG))
@@ -302,8 +302,8 @@ public static OrderCreateApiRequest adaptLimitOrder(LimitOrder limitOrder) {
302302
public static OrderCreateApiRequest adaptStopOrder(StopOrder stopOrder) {
303303
return ((OrderCreateApiRequest.OrderCreateApiRequestBuilder) adaptOrder(stopOrder))
304304
.type(stopOrder.getLimitPrice() == null ? "market" : "limit")
305-
.price(stopOrder.getLimitPrice())
306-
.stopPrice(stopOrder.getStopPrice())
305+
.price(stopOrder.getLimitPrice().toPlainString())
306+
.stopPrice(stopOrder.getStopPrice().toPlainString())
307307
.build();
308308
}
309309

@@ -315,11 +315,11 @@ public static OrderCreateApiRequest adaptMarketOrder(MarketOrder marketOrder) {
315315
// on buy order amount corresponds to counter currency
316316
if (marketOrder.getType() == BID) {
317317
builder.size(null);
318-
builder.funds(marketOrder.getOriginalAmount());
318+
builder.funds(marketOrder.getOriginalAmount().toPlainString());
319319
}
320320
// on sell order amount corresponds to base currency
321321
else if (marketOrder.getType() == ASK) {
322-
builder.size(marketOrder.getOriginalAmount());
322+
builder.size(marketOrder.getOriginalAmount().toPlainString());
323323
builder.funds(null);
324324
}
325325

@@ -352,7 +352,7 @@ private static Object adaptOrder(Order order) {
352352
}
353353
return request
354354
.symbol(adaptCurrencyPair((CurrencyPair) order.getInstrument()))
355-
.size(order.getOriginalAmount())
355+
.size(order.getOriginalAmount().toPlainString())
356356
.side(adaptSide(order.getType()));
357357
}
358358

xchange-kucoin/src/main/java/org/knowm/xchange/kucoin/dto/request/OrderCreateApiRequest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ public class OrderCreateApiRequest {
3838
private final String stop;
3939

4040
/** Trigger price for the stop order. Null for regular orders. */
41-
private final BigDecimal stopPrice;
41+
private final String stopPrice;
4242

4343
// Common fields
4444

4545
/** [limit order] Price per base currency. */
46-
private final BigDecimal price;
46+
private final String price;
4747

4848
/** [limit order] Amount of base currency to buy or sell. */
49-
private final BigDecimal size;
49+
private final String size;
5050

5151
/** [limit order] Time in force strategy: GTC, GTT, IOC, or FOK (default is GTC). */
5252
@Builder.Default private final String timeInForce = "GTC";
@@ -64,11 +64,11 @@ public class OrderCreateApiRequest {
6464
private final boolean iceberg;
6565

6666
/** [limit order] The maximum visible size of an iceberg order. */
67-
private final BigDecimal visibleSize;
67+
private final String visibleSize;
6868

6969
/**
7070
* [market order] The amount of quote currency to spend.
7171
* size and funds are mutually exclusive.
7272
*/
73-
private final BigDecimal funds;
73+
private final String funds;
7474
}

xchange-kucoin/src/test/java/org/knowm/xchange/kucoin/KucoinAdaptersTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class KucoinAdaptersTest {
1515
void adapt_market_buy_order() {
1616
OrderCreateApiRequest expected =
1717
OrderCreateApiRequest.builder()
18-
.funds(new BigDecimal("15"))
18+
.funds(new BigDecimal("15").toPlainString())
1919
.clientOid("abc")
2020
.side("buy")
2121
.symbol("BTC-USDT")
@@ -37,7 +37,7 @@ void adapt_market_buy_order() {
3737
void adapt_market_sell_order() {
3838
OrderCreateApiRequest expected =
3939
OrderCreateApiRequest.builder()
40-
.size(new BigDecimal("0.002"))
40+
.size(new BigDecimal("0.002").toPlainString())
4141
.clientOid("abc")
4242
.side("sell")
4343
.symbol("BTC-USDT")

0 commit comments

Comments
 (0)