@@ -336,61 +336,48 @@ export default opts => {
336
336
const kCall = keyCall ( { ...opts , pubCall } )
337
337
338
338
return {
339
+ // Generic endpoints
339
340
getInfo : ( ) => info ,
340
341
ping : ( ) => pubCall ( '/api/v3/ping' ) . then ( ( ) => true ) ,
341
342
time : ( ) => pubCall ( '/api/v3/time' ) . then ( r => r . serverTime ) ,
342
343
exchangeInfo : payload => pubCall ( '/api/v3/exchangeInfo' , payload ) ,
343
344
345
+ // Market Data endpoints
344
346
book : payload => book ( pubCall , payload ) ,
345
347
aggTrades : payload => aggTrades ( pubCall , payload ) ,
346
348
candles : payload => candles ( pubCall , payload ) ,
347
-
348
349
trades : payload =>
349
350
checkParams ( 'trades' , payload , [ 'symbol' ] ) && pubCall ( '/api/v3/trades' , payload ) ,
350
351
tradesHistory : payload =>
351
352
checkParams ( 'tradesHitory' , payload , [ 'symbol' ] ) &&
352
353
kCall ( '/api/v3/historicalTrades' , payload ) ,
353
-
354
354
dailyStats : payload => pubCall ( '/api/v3/ticker/24hr' , payload ) ,
355
355
prices : payload =>
356
356
pubCall ( '/api/v3/ticker/price' , payload ) . then ( r =>
357
357
( Array . isArray ( r ) ? r : [ r ] ) . reduce ( ( out , cur ) => ( ( out [ cur . symbol ] = cur . price ) , out ) , { } ) ,
358
358
) ,
359
-
360
359
avgPrice : payload => pubCall ( '/api/v3/avgPrice' , payload ) ,
361
-
362
360
allBookTickers : ( ) =>
363
361
pubCall ( '/api/v3/ticker/bookTicker' ) . then ( r =>
364
362
( Array . isArray ( r ) ? r : [ r ] ) . reduce ( ( out , cur ) => ( ( out [ cur . symbol ] = cur ) , out ) , { } ) ,
365
363
) ,
366
364
367
- /**
368
- * Call unmanaged private call to Binance api; you need a key and secret
369
- */
370
- privateRequest : ( method , url , payload ) => privCall ( url , payload , method ) ,
371
-
372
- /**
373
- * Call unmanaged public call to Binance api
374
- */
375
- publicRequest : ( method , url , payload ) => pubCall ( url , payload , method ) ,
376
-
365
+ // Order endpoints
377
366
order : payload => order ( privCall , payload , '/api/v3/order' ) ,
378
367
orderOco : payload => orderOco ( privCall , payload , '/api/v3/order/oco' ) ,
379
368
orderTest : payload => order ( privCall , payload , '/api/v3/order/test' ) ,
380
369
getOrder : payload => privCall ( '/api/v3/order' , payload ) ,
381
370
getOrderOco : payload => privCall ( '/api/v3/orderList' , payload ) ,
382
371
cancelOrder : payload => privCall ( '/api/v3/order' , payload , 'DELETE' ) ,
383
372
cancelOrderOco : payload => privCall ( '/api/v3/orderList' , payload , 'DELETE' ) ,
384
-
385
373
cancelOpenOrders : payload => privCall ( '/api/v3/openOrders' , payload , 'DELETE' ) ,
386
374
openOrders : payload => privCall ( '/api/v3/openOrders' , payload ) ,
387
375
allOrders : payload => privCall ( '/api/v3/allOrders' , payload ) ,
388
-
389
376
allOrdersOCO : payload => privCall ( '/api/v3/allOrderList' , payload ) ,
390
377
378
+ // Account endpoints
391
379
accountInfo : payload => privCall ( '/api/v3/account' , payload ) ,
392
380
myTrades : payload => privCall ( '/api/v3/myTrades' , payload ) ,
393
-
394
381
withdraw : payload => privCall ( '/sapi/v1/capital/withdraw/apply' , payload , 'POST' ) ,
395
382
withdrawHistory : payload => privCall ( '/sapi/v1/capital/withdraw/history' , payload ) ,
396
383
depositHistory : payload => privCall ( '/sapi/v1/capital/deposit/hisrec' , payload ) ,
@@ -400,65 +387,33 @@ export default opts => {
400
387
accountSnapshot : payload => privCall ( '/sapi/v1/accountSnapshot' , payload ) ,
401
388
universalTransfer : payload => privCall ( '/sapi/v1/asset/transfer' , payload , 'POST' ) ,
402
389
universalTransferHistory : payload => privCall ( '/sapi/v1/asset/transfer' , payload ) ,
403
-
404
390
dustLog : payload => privCall ( '/sapi/v1/asset/dribblet' , payload ) ,
405
391
dustTransfer : payload => privCall ( '/sapi/v1/asset/dust' , payload , 'POST' ) ,
406
392
accountCoins : payload => privCall ( '/sapi/v1/capital/config/getall' , payload ) ,
407
-
408
393
getBnbBurn : payload => privCall ( '/sapi/v1/bnbBurn' , payload ) ,
409
394
setBnbBurn : payload => privCall ( '/sapi/v1/bnbBurn' , payload , 'POST' ) ,
410
-
411
395
capitalConfigs : ( ) => privCall ( '/sapi/v1/capital/config/getall' ) ,
412
396
397
+ // User Data Stream endpoints
413
398
getDataStream : ( ) => privCall ( '/api/v3/userDataStream' , null , 'POST' , true ) ,
414
399
keepDataStream : payload => privCall ( '/api/v3/userDataStream' , payload , 'PUT' , false , true ) ,
415
400
closeDataStream : payload => privCall ( '/api/v3/userDataStream' , payload , 'DELETE' , false , true ) ,
416
-
417
401
marginGetDataStream : ( ) => privCall ( '/sapi/v1/userDataStream' , null , 'POST' , true ) ,
418
402
marginKeepDataStream : payload =>
419
403
privCall ( '/sapi/v1/userDataStream' , payload , 'PUT' , false , true ) ,
420
404
marginCloseDataStream : payload =>
421
405
privCall ( '/sapi/v1/userDataStream' , payload , 'DELETE' , false , true ) ,
422
-
423
406
futuresGetDataStream : ( ) => privCall ( '/fapi/v1/listenKey' , null , 'POST' , true ) ,
424
407
futuresKeepDataStream : payload => privCall ( '/fapi/v1/listenKey' , payload , 'PUT' , false , true ) ,
425
408
futuresCloseDataStream : payload =>
426
409
privCall ( '/fapi/v1/listenKey' , payload , 'DELETE' , false , true ) ,
427
-
428
410
deliveryGetDataStream : ( ) => privCall ( '/dapi/v1/listenKey' , null , 'POST' , true ) ,
429
411
deliveryKeepDataStream : payload => privCall ( '/dapi/v1/listenKey' , payload , 'PUT' , false , true ) ,
430
412
deliveryCloseDataStream : payload =>
431
413
privCall ( '/dapi/v1/listenKey' , payload , 'DELETE' , false , true ) ,
432
414
433
- marginAllOrders : payload => privCall ( '/sapi/v1/margin/allOrders' , payload ) ,
434
- marginOrder : payload => order ( privCall , payload , '/sapi/v1/margin/order' ) ,
435
- marginOrderOco : payload => orderOco ( privCall , payload , '/sapi/v1/margin/order/oco' ) ,
436
- marginGetOrder : payload => privCall ( '/sapi/v1/margin/order' , payload ) ,
437
- marginGetOrderOco : payload => privCall ( '/sapi/v1/margin/orderList' , payload ) ,
438
- marginCancelOrder : payload => privCall ( '/sapi/v1/margin/order' , payload , 'DELETE' ) ,
439
- marginOpenOrders : payload => privCall ( '/sapi/v1/margin/openOrders' , payload ) ,
440
- marginCancelOpenOrders : payload => privCall ( '/sapi/v1/margin/openOrders' , payload , 'DELETE' ) ,
441
- marginAccountInfo : payload => privCall ( '/sapi/v1/margin/account' , payload ) ,
442
- marginMyTrades : payload => privCall ( '/sapi/v1/margin/myTrades' , payload ) ,
443
- marginRepay : payload => privCall ( '/sapi/v1/margin/repay' , payload , 'POST' ) ,
444
- marginLoan : payload => privCall ( '/sapi/v1/margin/loan' , payload , 'POST' ) ,
445
- marginIsolatedAccount : payload => privCall ( '/sapi/v1/margin/isolated/account' , payload ) ,
446
- marginMaxBorrow : payload => privCall ( '/sapi/v1/margin/maxBorrowable' , payload ) ,
447
- marginCreateIsolated : payload => privCall ( '/sapi/v1/margin/isolated/create' , payload , 'POST' ) ,
448
- marginIsolatedTransfer : payload =>
449
- privCall ( '/sapi/v1/margin/isolated/transfer' , payload , 'POST' ) ,
450
- marginIsolatedTransferHistory : payload =>
451
- privCall ( '/sapi/v1/margin/isolated/transfer' , payload ) ,
452
- disableMarginAccount : payload =>
453
- privCall ( '/sapi/v1/margin/isolated/account' , payload , 'DELETE' ) ,
454
- enableMarginAccount : payload => privCall ( '/sapi/v1/margin/isolated/account' , payload , 'POST' ) ,
455
- portfolioMarginAccountInfo : ( ) => privCall ( '/sapi/v1/portfolio/account' ) ,
456
- portfolioMarginCollateralRate : ( ) => privCall ( '/sapi/v1/portfolio/collateralRate' ) ,
457
- portfolioMarginLoan : payload => privCall ( '/sapi/v1/portfolio/pmLoan' , payload ) ,
458
- portfolioMarginLoanRepay : payload => privCall ( '/sapi/v1/portfolio/repay' , payload , 'POST' ) ,
459
- portfolioMarginInterestHistory : payload =>
460
- privCall ( '/sapi/v1/portfolio/interest-history' , payload ) ,
461
415
416
+ // Futures endpoints
462
417
futuresPing : ( ) => pubCall ( '/fapi/v1/ping' ) . then ( ( ) => true ) ,
463
418
futuresTime : ( ) => pubCall ( '/fapi/v1/time' ) . then ( r => r . serverTime ) ,
464
419
futuresExchangeInfo : ( ) => pubCall ( '/fapi/v1/exchangeInfo' ) ,
@@ -483,7 +438,6 @@ export default opts => {
483
438
) ,
484
439
futuresFundingRate : payload =>
485
440
checkParams ( 'fundingRate' , payload , [ 'symbol' ] ) && pubCall ( '/fapi/v1/fundingRate' , payload ) ,
486
-
487
441
futuresOrder : payload => order ( privCall , payload , '/fapi/v1/order' ) ,
488
442
futuresBatchOrders : payload => privCall ( '/fapi/v1/batchOrders' , payload , 'POST' ) ,
489
443
futuresGetOrder : payload => privCall ( '/fapi/v1/order' , payload ) ,
@@ -504,7 +458,10 @@ export default opts => {
504
458
futuresPositionMargin : payload => privCall ( '/fapi/v1/positionMargin' , payload , 'POST' ) ,
505
459
futuresMarginHistory : payload => privCall ( '/fapi/v1/positionMargin/history' , payload ) ,
506
460
futuresIncome : payload => privCall ( '/fapi/v1/income' , payload ) ,
461
+ getMultiAssetsMargin : payload => privCall ( '/fapi/v1/multiAssetsMargin' , payload ) ,
462
+ setMultiAssetsMargin : payload => privCall ( '/fapi/v1/multiAssetsMargin' , payload , 'POST' ) ,
507
463
464
+ // Delivery endpoints
508
465
deliveryPing : ( ) => pubCall ( '/dapi/v1/ping' ) . then ( ( ) => true ) ,
509
466
deliveryTime : ( ) => pubCall ( '/dapi/v1/time' ) . then ( r => r . serverTime ) ,
510
467
deliveryExchangeInfo : ( ) => pubCall ( '/dapi/v1/exchangeInfo' ) ,
@@ -530,7 +487,6 @@ export default opts => {
530
487
) ,
531
488
deliveryFundingRate : payload =>
532
489
checkParams ( 'fundingRate' , payload , [ 'symbol' ] ) && pubCall ( '/dapi/v1/fundingRate' , payload ) ,
533
-
534
490
deliveryOrder : payload => order ( privCall , payload , '/dapi/v1/order' ) ,
535
491
deliveryBatchOrders : payload => privCall ( '/dapi/v1/batchOrders' , payload , 'POST' ) ,
536
492
deliveryGetOrder : payload => privCall ( '/dapi/v1/order' , payload ) ,
@@ -552,15 +508,11 @@ export default opts => {
552
508
deliveryMarginHistory : payload => privCall ( '/dapi/v1/positionMargin/history' , payload ) ,
553
509
deliveryIncome : payload => privCall ( '/dapi/v1/income' , payload ) ,
554
510
555
- getMultiAssetsMargin : payload => privCall ( '/fapi/v1/multiAssetsMargin' , payload ) ,
556
- setMultiAssetsMargin : payload => privCall ( '/fapi/v1/multiAssetsMargin' , payload , 'POST' ) ,
557
- lendingAccount : payload => privCall ( '/sapi/v1/lending/union/account' , payload ) ,
558
- fundingWallet : payload => privCall ( '/sapi/v1/asset/get-funding-asset' , payload , 'POST' ) ,
559
- apiPermission : payload => privCall ( '/sapi/v1/account/apiRestrictions' , payload ) ,
560
-
561
511
// PAPI endpoints
562
- papiPing : ( ) => pubCall ( '/papi/v1/ping' ) . then ( ( ) => true ) ,
563
- papiUmOrder : payload => privCall ( '/papi/v1/um/order' , payload , 'POST' ) ,
512
+ papiPing : ( ) => privCall ( '/papi/v1/ping' ) ,
513
+ papiAccount : ( ) => privCall ( '/papi/v1/account' ) ,
514
+ papiBalance : ( payload ) => privCall ( '/papi/v1/balance' , payload ) ,
515
+ papiUmOrder : ( payload ) => privCall ( '/papi/v1/um/order' , payload ) ,
564
516
papiUmConditionalOrder : payload => privCall ( '/papi/v1/um/conditional/order' , payload , 'POST' ) ,
565
517
papiCmOrder : payload => privCall ( '/papi/v1/cm/order' , payload , 'POST' ) ,
566
518
papiCmConditionalOrder : payload => privCall ( '/papi/v1/cm/conditional/order' , payload , 'POST' ) ,
@@ -629,5 +581,64 @@ export default opts => {
629
581
papiMarginGetOpenOrderList : payload => privCall ( '/papi/v1/margin/openOrderList' , payload ) ,
630
582
papiMarginGetMyTrades : payload => privCall ( '/papi/v1/margin/myTrades' , payload ) ,
631
583
papiMarginRepayDebt : payload => privCall ( '/papi/v1/margin/repay-debt' , payload , 'POST' ) ,
584
+
585
+ // Margin endpoints
586
+ marginAllOrders : payload => privCall ( '/sapi/v1/margin/allOrders' , payload ) ,
587
+ marginOrder : payload => order ( privCall , payload , '/sapi/v1/margin/order' ) ,
588
+ marginOrderOco : payload => orderOco ( privCall , payload , '/sapi/v1/margin/order/oco' ) ,
589
+ marginGetOrder : payload => privCall ( '/sapi/v1/margin/order' , payload ) ,
590
+ marginGetOrderOco : payload => privCall ( '/sapi/v1/margin/orderList' , payload ) ,
591
+ marginCancelOrder : payload => privCall ( '/sapi/v1/margin/order' , payload , 'DELETE' ) ,
592
+ marginOpenOrders : payload => privCall ( '/sapi/v1/margin/openOrders' , payload ) ,
593
+ marginCancelOpenOrders : payload => privCall ( '/sapi/v1/margin/openOrders' , payload , 'DELETE' ) ,
594
+ marginAccountInfo : payload => privCall ( '/sapi/v1/margin/account' , payload ) ,
595
+ marginMyTrades : payload => privCall ( '/sapi/v1/margin/myTrades' , payload ) ,
596
+ marginRepay : payload => privCall ( '/sapi/v1/margin/repay' , payload , 'POST' ) ,
597
+ marginLoan : payload => privCall ( '/sapi/v1/margin/loan' , payload , 'POST' ) ,
598
+ marginIsolatedAccount : payload => privCall ( '/sapi/v1/margin/isolated/account' , payload ) ,
599
+ marginMaxBorrow : payload => privCall ( '/sapi/v1/margin/maxBorrowable' , payload ) ,
600
+ marginCreateIsolated : payload => privCall ( '/sapi/v1/margin/isolated/create' , payload , 'POST' ) ,
601
+ marginIsolatedTransfer : payload =>
602
+ privCall ( '/sapi/v1/margin/isolated/transfer' , payload , 'POST' ) ,
603
+ marginIsolatedTransferHistory : payload =>
604
+ privCall ( '/sapi/v1/margin/isolated/transfer' , payload ) ,
605
+ disableMarginAccount : payload =>
606
+ privCall ( '/sapi/v1/margin/isolated/account' , payload , 'DELETE' ) ,
607
+ enableMarginAccount : payload => privCall ( '/sapi/v1/margin/isolated/account' , payload , 'POST' ) ,
608
+ marginAccount : ( ) => privCall ( '/sapi/v1/margin/account' ) ,
609
+
610
+ // Portfolio Margin endpoints
611
+ portfolioMarginAccountInfo : ( ) => privCall ( '/sapi/v1/portfolio/account' ) ,
612
+ portfolioMarginCollateralRate : ( ) => privCall ( '/sapi/v1/portfolio/collateralRate' ) ,
613
+ portfolioMarginLoan : payload => privCall ( '/sapi/v1/portfolio/pmLoan' , payload ) ,
614
+ portfolioMarginLoanRepay : payload => privCall ( '/sapi/v1/portfolio/repay' , payload , 'POST' ) ,
615
+ portfolioMarginInterestHistory : payload =>
616
+ privCall ( '/sapi/v1/portfolio/interest-history' , payload ) ,
617
+
618
+ // Savings endpoints
619
+ savingsAccount : ( payload ) => privCall ( '/sapi/v1/lending/union/account' ) ,
620
+ savingsPurchase : ( payload ) =>
621
+ privCall ( '/sapi/v1/lending/union/purchase' , payload , 'POST' ) ,
622
+ savingsRedeem : ( payload ) =>
623
+ privCall ( '/sapi/v1/lending/union/redeem' , payload , 'POST' ) ,
624
+ fundingWallet : payload => privCall ( '/sapi/v1/asset/get-funding-asset' , payload , 'POST' ) ,
625
+ convertTradeFlow : ( payload ) =>
626
+ privCall ( '/sapi/v1/convert/tradeFlow' , payload ) ,
627
+ rebateTaxQuery : ( ) => privCall ( '/sapi/v1/rebate/taxQuery' ) ,
628
+ payTradeHistory : ( payload ) =>
629
+ privCall ( '/sapi/v1/pay/transactions' , payload ) ,
630
+ apiRestrictions : payload => privCall ( '/sapi/v1/account/apiRestrictions' , payload ) ,
631
+
632
+ // Mining endpoints
633
+ miningHashrateResaleRequest : ( payload ) =>
634
+ privCall ( '/sapi/v1/mining/hash-transfer/config' , payload , 'POST' ) ,
635
+ miningHashrateResaleCancel : ( payload ) =>
636
+ privCall ( '/sapi/v1/mining/hash-transfer/config/cancel' , payload , 'POST' ) ,
637
+ miningStatistics : ( payload ) =>
638
+ privCall ( '/sapi/v1/mining/statistics/user/status' , payload ) ,
639
+
640
+ // Utility endpoints
641
+ privateRequest : ( method , url , payload ) => privCall ( url , payload , method ) ,
642
+ publicRequest : ( method , url , payload ) => pubCall ( url , payload , method ) ,
632
643
}
633
644
}
0 commit comments