Skip to content
This repository was archived by the owner on Oct 30, 2023. It is now read-only.

Commit f3e35be

Browse files
committed
Updated constants and services for margin endpoints
1 parent 0992dae commit f3e35be

2 files changed

Lines changed: 64 additions & 10 deletions

File tree

src/main/java/com/binance/api/client/constant/BinanceApiConstants.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ public class BinanceApiConstants {
2929
*/
3030
public static final long DEFAULT_RECEIVING_WINDOW = 60_000L;
3131

32+
/**
33+
* Default margin receiving window.
34+
*/
35+
public static final long DEFAULT_MARGIN_RECEIVING_WINDOW = 5_000L;
36+
3237
/**
3338
* Default ToStringStyle used by toString methods.
3439
* Override this to change the output format of the overridden toString methods.

src/main/java/com/binance/api/client/impl/BinanceApiService.java

Lines changed: 59 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,7 @@
44
import com.binance.api.client.domain.OrderSide;
55
import com.binance.api.client.domain.OrderType;
66
import com.binance.api.client.domain.TimeInForce;
7-
import com.binance.api.client.domain.account.Account;
8-
import com.binance.api.client.domain.account.DepositAddress;
9-
import com.binance.api.client.domain.account.DepositHistory;
10-
import com.binance.api.client.domain.account.NewOrderResponse;
11-
import com.binance.api.client.domain.account.NewOrderResponseType;
12-
import com.binance.api.client.domain.account.Order;
13-
import com.binance.api.client.domain.account.Trade;
14-
import com.binance.api.client.domain.account.TradeHistoryItem;
15-
import com.binance.api.client.domain.account.WithdrawHistory;
16-
import com.binance.api.client.domain.account.WithdrawResult;
7+
import com.binance.api.client.domain.account.*;
178
import com.binance.api.client.domain.account.request.CancelOrderResponse;
189
import com.binance.api.client.domain.event.ListenKey;
1910
import com.binance.api.client.domain.general.Asset;
@@ -177,4 +168,62 @@ Call<WithdrawResult> withdraw(@Query("asset") String asset, @Query("address") St
177168
@Headers(BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER)
178169
@DELETE("/api/v1/userDataStream")
179170
Call<Void> closeAliveUserDataStream(@Query("listenKey") String listenKey);
171+
172+
// Margin Account endpoints
173+
@Headers({BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER, BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER})
174+
@POST("/sapi/v1/margin/transfer")
175+
Call<MarginTransaction> transfer(@Query("asset") String asset, @Query("amount") String amount, @Query("type") String type, @Query("recvWindow") Long recvWindow, @Query("timestamp") Long timestamp);
176+
177+
@Headers({BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER, BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER})
178+
@POST("/sapi/v1/margin/loan")
179+
Call<MarginTransaction> borrow(@Query("asset") String asset, @Query("amount") String amount, @Query("recvWindow") Long recvWindow, @Query("timestamp") Long timestamp);
180+
181+
@Headers({BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER, BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER})
182+
@GET("/sapi/v1/margin/loan")
183+
Call<LoanQueryResult> queryLoan(@Query("asset") String asset, @Query("txId") String txId, @Query("timestamp") Long timestamp);
184+
185+
@Headers({BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER, BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER})
186+
@POST("/sapi/v1/margin/repay")
187+
Call<MarginTransaction> repay(@Query("asset") String asset, @Query("amount") String amount, @Query("recvWindow") Long recvWindow, @Query("timestamp") Long timestamp);
188+
189+
@Headers({BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER, BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER})
190+
@GET("/sapi/v1/margin/account")
191+
Call<MarginAccount> getMarginAccount(@Query("recvWindow") Long recvWindow, @Query("timestamp") Long timestamp);
192+
193+
@Headers({BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER, BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER})
194+
@GET("/sapi/v1/margin/openOrders")
195+
Call<List<Order>> getOpenMarginOrders(@Query("symbol") String symbol, @Query("recvWindow") Long recvWindow, @Query("timestamp") Long timestamp);
196+
197+
@Headers(BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER)
198+
@POST("/sapi/v1/margin/order")
199+
Call<NewOrderResponse> newMarginOrder(@Query("symbol") String symbol, @Query("side") OrderSide side, @Query("type") OrderType type,
200+
@Query("timeInForce") TimeInForce timeInForce, @Query("quantity") String quantity, @Query("price") String price,
201+
@Query("newClientOrderId") String newClientOrderId, @Query("stopPrice") String stopPrice,
202+
@Query("icebergQty") String icebergQty, @Query("newOrderRespType") NewOrderResponseType newOrderRespType,
203+
@Query("recvWindow") Long recvWindow, @Query("timestamp") Long timestamp);
204+
205+
@Headers(BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER)
206+
@DELETE("/sapi/v1/margin/order")
207+
Call<CancelOrderResponse> cancelMarginOrder(@Query("symbol") String symbol, @Query("orderId") Long orderId,
208+
@Query("origClientOrderId") String origClientOrderId, @Query("newClientOrderId") String newClientOrderId,
209+
@Query("recvWindow") Long recvWindow, @Query("timestamp") Long timestamp);
210+
211+
@Headers(BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER)
212+
@GET("/sapi/v1/margin/order")
213+
Call<Order> getMarginOrderStatus(@Query("symbol") String symbol, @Query("orderId") Long orderId,
214+
@Query("origClientOrderId") String origClientOrderId, @Query("recvWindow") Long recvWindow,
215+
@Query("timestamp") Long timestamp);
216+
217+
@Headers(BinanceApiConstants.ENDPOINT_SECURITY_TYPE_SIGNED_HEADER)
218+
@GET("/sapi/v1/margin/myTrades")
219+
Call<List<Trade>> getMyMarginTrades(@Query("symbol") String symbol, @Query("limit") Integer limit, @Query("fromId") Long fromId,
220+
@Query("recvWindow") Long recvWindow, @Query("timestamp") Long timestamp);
221+
222+
@Headers(BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER)
223+
@POST("/sapi/v1/userDataStream")
224+
Call<ListenKey> startMarginUserDataStream();
225+
226+
@Headers(BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER)
227+
@PUT("/sapi/v1/userDataStream")
228+
Call<Void> keepAliveMarginUserDataStream(@Query("listenKey") String listenKey);
180229
}

0 commit comments

Comments
 (0)