|
4 | 4 | import com.binance.api.client.domain.OrderSide; |
5 | 5 | import com.binance.api.client.domain.OrderType; |
6 | 6 | 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.*; |
17 | 8 | import com.binance.api.client.domain.account.request.CancelOrderResponse; |
18 | 9 | import com.binance.api.client.domain.event.ListenKey; |
19 | 10 | import com.binance.api.client.domain.general.Asset; |
@@ -177,4 +168,62 @@ Call<WithdrawResult> withdraw(@Query("asset") String asset, @Query("address") St |
177 | 168 | @Headers(BinanceApiConstants.ENDPOINT_SECURITY_TYPE_APIKEY_HEADER) |
178 | 169 | @DELETE("/api/v1/userDataStream") |
179 | 170 | 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); |
180 | 229 | } |
0 commit comments