ccxt 4.4.27 → 4.4.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/alpaca.js +44 -40
- package/dist/cjs/src/base/Exchange.js +3 -0
- package/dist/cjs/src/binance.js +7 -0
- package/dist/cjs/src/bitget.js +99 -6
- package/dist/cjs/src/bitopro.js +21 -21
- package/dist/cjs/src/bitrue.js +28 -28
- package/dist/cjs/src/bitvavo.js +4 -0
- package/dist/cjs/src/bybit.js +51 -646
- package/dist/cjs/src/coincatch.js +24 -4
- package/dist/cjs/src/kraken.js +48 -35
- package/dist/cjs/src/lbank.js +7 -1
- package/dist/cjs/src/pro/binance.js +4 -6
- package/dist/cjs/src/pro/bitvavo.js +2 -1
- package/dist/cjs/src/pro/mexc.js +198 -30
- package/dist/cjs/src/vertex.js +51 -6
- package/dist/cjs/src/wavesexchange.js +1 -0
- package/examples/README.md +0 -2
- package/examples/js/cli.js +7 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/binance.d.ts +7 -0
- package/js/src/abstract/binancecoinm.d.ts +7 -0
- package/js/src/abstract/binanceus.d.ts +7 -0
- package/js/src/abstract/binanceusdm.d.ts +7 -0
- package/js/src/abstract/bybit.d.ts +0 -13
- package/js/src/alpaca.js +44 -40
- package/js/src/base/Exchange.d.ts +1 -0
- package/js/src/base/Exchange.js +3 -0
- package/js/src/binance.js +7 -0
- package/js/src/bitfinex2.d.ts +1 -1
- package/js/src/bitget.d.ts +2 -1
- package/js/src/bitget.js +99 -6
- package/js/src/bitmart.d.ts +1 -1
- package/js/src/bitopro.js +21 -21
- package/js/src/bitrue.js +28 -28
- package/js/src/bitvavo.js +4 -0
- package/js/src/bybit.d.ts +0 -8
- package/js/src/bybit.js +51 -646
- package/js/src/coincatch.d.ts +1 -1
- package/js/src/coincatch.js +24 -4
- package/js/src/kraken.js +48 -35
- package/js/src/lbank.js +7 -1
- package/js/src/pro/binance.js +4 -6
- package/js/src/pro/bitvavo.js +2 -1
- package/js/src/pro/mexc.js +198 -30
- package/js/src/vertex.d.ts +4 -2
- package/js/src/vertex.js +51 -6
- package/js/src/wavesexchange.js +1 -0
- package/js/src/whitebit.d.ts +1 -1
- package/package.json +1 -1
package/examples/README.md
CHANGED
|
@@ -106,8 +106,6 @@ python path/to/example.py # substitute for actual filename here
|
|
|
106
106
|
|
|
107
107
|
[CC Power Analytics Part 1: How to get the data of the exchanges](https://www.linkedin.com/pulse/part-1-cc-power-analytics-how-get-data-exchanges-steve-rein/) – The first part of a series of articles on cryptocurrency analytics.
|
|
108
108
|
|
|
109
|
-
[tv2bt: Kraken Example, without leverage](https://backtest-rookies.com/2020/04/18/tv2bt-kraken-example-without-leverage/) – an article on using CCXT for backtesting.
|
|
110
|
-
|
|
111
109
|
[Looking for arbitrage opportunies with ccxt](https://steemit.com/steemdev/@codewithcheese/looking-for-arbitrage-opportunies-with-javascript-library-cctx-supporting-70-exchanges) – An article @steemit on getting arbitrage started with ccxt for crypto-arbitrage.
|
|
112
110
|
|
|
113
111
|
[Use CCXT to calculate Cryptocurrency trade indicators](https://itnext.io/use-ccxt-to-calculate-cryptocurrency-trade-indicators-102a3ac1428e) – an article @ Medium on building basic indicators using CCXT.
|
package/examples/js/cli.js
CHANGED
|
@@ -48,6 +48,13 @@ let foundDescription = undefined;
|
|
|
48
48
|
for (let i = 0; i < process.argv.length; i++) {
|
|
49
49
|
if (process.argv[i] === '--name') {
|
|
50
50
|
foundDescription = process.argv[i + 1];
|
|
51
|
+
// search that string in `params` and remove it
|
|
52
|
+
for (let j = 0; j < params.length; j++) {
|
|
53
|
+
if (params[j] === foundDescription) {
|
|
54
|
+
params.splice(j, 1);
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
51
58
|
break;
|
|
52
59
|
}
|
|
53
60
|
}
|
package/js/ccxt.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
|
|
|
4
4
|
import * as errors from './src/base/errors.js';
|
|
5
5
|
import type { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, DepositAddressResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarketMarginModes, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, LongShortRatio } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.4.
|
|
7
|
+
declare const version = "4.4.28";
|
|
8
8
|
import ace from './src/ace.js';
|
|
9
9
|
import alpaca from './src/alpaca.js';
|
|
10
10
|
import ascendex from './src/ascendex.js';
|
package/js/ccxt.js
CHANGED
|
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
|
|
|
38
38
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
|
|
39
39
|
//-----------------------------------------------------------------------------
|
|
40
40
|
// this is updated by vss.js when building
|
|
41
|
-
const version = '4.4.
|
|
41
|
+
const version = '4.4.29';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import ace from './src/ace.js';
|
|
@@ -586,6 +586,9 @@ interface Exchange {
|
|
|
586
586
|
eapiPrivateGetMmp(params?: {}): Promise<implicitReturnType>;
|
|
587
587
|
eapiPrivateGetCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
|
|
588
588
|
eapiPrivateGetOrder(params?: {}): Promise<implicitReturnType>;
|
|
589
|
+
eapiPrivateGetBlockOrderOrders(params?: {}): Promise<implicitReturnType>;
|
|
590
|
+
eapiPrivateGetBlockOrderExecute(params?: {}): Promise<implicitReturnType>;
|
|
591
|
+
eapiPrivateGetBlockUserTrades(params?: {}): Promise<implicitReturnType>;
|
|
589
592
|
eapiPrivatePostOrder(params?: {}): Promise<implicitReturnType>;
|
|
590
593
|
eapiPrivatePostBatchOrders(params?: {}): Promise<implicitReturnType>;
|
|
591
594
|
eapiPrivatePostListenKey(params?: {}): Promise<implicitReturnType>;
|
|
@@ -593,12 +596,16 @@ interface Exchange {
|
|
|
593
596
|
eapiPrivatePostMmpReset(params?: {}): Promise<implicitReturnType>;
|
|
594
597
|
eapiPrivatePostCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
|
|
595
598
|
eapiPrivatePostCountdownCancelAllHeartBeat(params?: {}): Promise<implicitReturnType>;
|
|
599
|
+
eapiPrivatePostBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
600
|
+
eapiPrivatePostBlockOrderExecute(params?: {}): Promise<implicitReturnType>;
|
|
596
601
|
eapiPrivatePutListenKey(params?: {}): Promise<implicitReturnType>;
|
|
602
|
+
eapiPrivatePutBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
597
603
|
eapiPrivateDeleteOrder(params?: {}): Promise<implicitReturnType>;
|
|
598
604
|
eapiPrivateDeleteBatchOrders(params?: {}): Promise<implicitReturnType>;
|
|
599
605
|
eapiPrivateDeleteAllOpenOrders(params?: {}): Promise<implicitReturnType>;
|
|
600
606
|
eapiPrivateDeleteAllOpenOrdersByUnderlying(params?: {}): Promise<implicitReturnType>;
|
|
601
607
|
eapiPrivateDeleteListenKey(params?: {}): Promise<implicitReturnType>;
|
|
608
|
+
eapiPrivateDeleteBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
602
609
|
publicGetPing(params?: {}): Promise<implicitReturnType>;
|
|
603
610
|
publicGetTime(params?: {}): Promise<implicitReturnType>;
|
|
604
611
|
publicGetDepth(params?: {}): Promise<implicitReturnType>;
|
|
@@ -586,6 +586,9 @@ interface binance {
|
|
|
586
586
|
eapiPrivateGetMmp(params?: {}): Promise<implicitReturnType>;
|
|
587
587
|
eapiPrivateGetCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
|
|
588
588
|
eapiPrivateGetOrder(params?: {}): Promise<implicitReturnType>;
|
|
589
|
+
eapiPrivateGetBlockOrderOrders(params?: {}): Promise<implicitReturnType>;
|
|
590
|
+
eapiPrivateGetBlockOrderExecute(params?: {}): Promise<implicitReturnType>;
|
|
591
|
+
eapiPrivateGetBlockUserTrades(params?: {}): Promise<implicitReturnType>;
|
|
589
592
|
eapiPrivatePostOrder(params?: {}): Promise<implicitReturnType>;
|
|
590
593
|
eapiPrivatePostBatchOrders(params?: {}): Promise<implicitReturnType>;
|
|
591
594
|
eapiPrivatePostListenKey(params?: {}): Promise<implicitReturnType>;
|
|
@@ -593,12 +596,16 @@ interface binance {
|
|
|
593
596
|
eapiPrivatePostMmpReset(params?: {}): Promise<implicitReturnType>;
|
|
594
597
|
eapiPrivatePostCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
|
|
595
598
|
eapiPrivatePostCountdownCancelAllHeartBeat(params?: {}): Promise<implicitReturnType>;
|
|
599
|
+
eapiPrivatePostBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
600
|
+
eapiPrivatePostBlockOrderExecute(params?: {}): Promise<implicitReturnType>;
|
|
596
601
|
eapiPrivatePutListenKey(params?: {}): Promise<implicitReturnType>;
|
|
602
|
+
eapiPrivatePutBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
597
603
|
eapiPrivateDeleteOrder(params?: {}): Promise<implicitReturnType>;
|
|
598
604
|
eapiPrivateDeleteBatchOrders(params?: {}): Promise<implicitReturnType>;
|
|
599
605
|
eapiPrivateDeleteAllOpenOrders(params?: {}): Promise<implicitReturnType>;
|
|
600
606
|
eapiPrivateDeleteAllOpenOrdersByUnderlying(params?: {}): Promise<implicitReturnType>;
|
|
601
607
|
eapiPrivateDeleteListenKey(params?: {}): Promise<implicitReturnType>;
|
|
608
|
+
eapiPrivateDeleteBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
602
609
|
publicGetPing(params?: {}): Promise<implicitReturnType>;
|
|
603
610
|
publicGetTime(params?: {}): Promise<implicitReturnType>;
|
|
604
611
|
publicGetDepth(params?: {}): Promise<implicitReturnType>;
|
|
@@ -638,6 +638,9 @@ interface binance {
|
|
|
638
638
|
eapiPrivateGetMmp(params?: {}): Promise<implicitReturnType>;
|
|
639
639
|
eapiPrivateGetCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
|
|
640
640
|
eapiPrivateGetOrder(params?: {}): Promise<implicitReturnType>;
|
|
641
|
+
eapiPrivateGetBlockOrderOrders(params?: {}): Promise<implicitReturnType>;
|
|
642
|
+
eapiPrivateGetBlockOrderExecute(params?: {}): Promise<implicitReturnType>;
|
|
643
|
+
eapiPrivateGetBlockUserTrades(params?: {}): Promise<implicitReturnType>;
|
|
641
644
|
eapiPrivatePostOrder(params?: {}): Promise<implicitReturnType>;
|
|
642
645
|
eapiPrivatePostBatchOrders(params?: {}): Promise<implicitReturnType>;
|
|
643
646
|
eapiPrivatePostListenKey(params?: {}): Promise<implicitReturnType>;
|
|
@@ -645,12 +648,16 @@ interface binance {
|
|
|
645
648
|
eapiPrivatePostMmpReset(params?: {}): Promise<implicitReturnType>;
|
|
646
649
|
eapiPrivatePostCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
|
|
647
650
|
eapiPrivatePostCountdownCancelAllHeartBeat(params?: {}): Promise<implicitReturnType>;
|
|
651
|
+
eapiPrivatePostBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
652
|
+
eapiPrivatePostBlockOrderExecute(params?: {}): Promise<implicitReturnType>;
|
|
648
653
|
eapiPrivatePutListenKey(params?: {}): Promise<implicitReturnType>;
|
|
654
|
+
eapiPrivatePutBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
649
655
|
eapiPrivateDeleteOrder(params?: {}): Promise<implicitReturnType>;
|
|
650
656
|
eapiPrivateDeleteBatchOrders(params?: {}): Promise<implicitReturnType>;
|
|
651
657
|
eapiPrivateDeleteAllOpenOrders(params?: {}): Promise<implicitReturnType>;
|
|
652
658
|
eapiPrivateDeleteAllOpenOrdersByUnderlying(params?: {}): Promise<implicitReturnType>;
|
|
653
659
|
eapiPrivateDeleteListenKey(params?: {}): Promise<implicitReturnType>;
|
|
660
|
+
eapiPrivateDeleteBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
654
661
|
publicGetPing(params?: {}): Promise<implicitReturnType>;
|
|
655
662
|
publicGetTime(params?: {}): Promise<implicitReturnType>;
|
|
656
663
|
publicGetDepth(params?: {}): Promise<implicitReturnType>;
|
|
@@ -586,6 +586,9 @@ interface binance {
|
|
|
586
586
|
eapiPrivateGetMmp(params?: {}): Promise<implicitReturnType>;
|
|
587
587
|
eapiPrivateGetCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
|
|
588
588
|
eapiPrivateGetOrder(params?: {}): Promise<implicitReturnType>;
|
|
589
|
+
eapiPrivateGetBlockOrderOrders(params?: {}): Promise<implicitReturnType>;
|
|
590
|
+
eapiPrivateGetBlockOrderExecute(params?: {}): Promise<implicitReturnType>;
|
|
591
|
+
eapiPrivateGetBlockUserTrades(params?: {}): Promise<implicitReturnType>;
|
|
589
592
|
eapiPrivatePostOrder(params?: {}): Promise<implicitReturnType>;
|
|
590
593
|
eapiPrivatePostBatchOrders(params?: {}): Promise<implicitReturnType>;
|
|
591
594
|
eapiPrivatePostListenKey(params?: {}): Promise<implicitReturnType>;
|
|
@@ -593,12 +596,16 @@ interface binance {
|
|
|
593
596
|
eapiPrivatePostMmpReset(params?: {}): Promise<implicitReturnType>;
|
|
594
597
|
eapiPrivatePostCountdownCancelAll(params?: {}): Promise<implicitReturnType>;
|
|
595
598
|
eapiPrivatePostCountdownCancelAllHeartBeat(params?: {}): Promise<implicitReturnType>;
|
|
599
|
+
eapiPrivatePostBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
600
|
+
eapiPrivatePostBlockOrderExecute(params?: {}): Promise<implicitReturnType>;
|
|
596
601
|
eapiPrivatePutListenKey(params?: {}): Promise<implicitReturnType>;
|
|
602
|
+
eapiPrivatePutBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
597
603
|
eapiPrivateDeleteOrder(params?: {}): Promise<implicitReturnType>;
|
|
598
604
|
eapiPrivateDeleteBatchOrders(params?: {}): Promise<implicitReturnType>;
|
|
599
605
|
eapiPrivateDeleteAllOpenOrders(params?: {}): Promise<implicitReturnType>;
|
|
600
606
|
eapiPrivateDeleteAllOpenOrdersByUnderlying(params?: {}): Promise<implicitReturnType>;
|
|
601
607
|
eapiPrivateDeleteListenKey(params?: {}): Promise<implicitReturnType>;
|
|
608
|
+
eapiPrivateDeleteBlockOrderCreate(params?: {}): Promise<implicitReturnType>;
|
|
602
609
|
publicGetPing(params?: {}): Promise<implicitReturnType>;
|
|
603
610
|
publicGetTime(params?: {}): Promise<implicitReturnType>;
|
|
604
611
|
publicGetDepth(params?: {}): Promise<implicitReturnType>;
|
|
@@ -180,19 +180,6 @@ interface Exchange {
|
|
|
180
180
|
privateGetV5BrokerEarningsInfo(params?: {}): Promise<implicitReturnType>;
|
|
181
181
|
privateGetV5BrokerAccountInfo(params?: {}): Promise<implicitReturnType>;
|
|
182
182
|
privateGetV5BrokerAssetQuerySubMemberDepositRecord(params?: {}): Promise<implicitReturnType>;
|
|
183
|
-
privatePostOptionUsdcOpenapiPrivateV1PlaceOrder(params?: {}): Promise<implicitReturnType>;
|
|
184
|
-
privatePostOptionUsdcOpenapiPrivateV1ReplaceOrder(params?: {}): Promise<implicitReturnType>;
|
|
185
|
-
privatePostOptionUsdcOpenapiPrivateV1CancelOrder(params?: {}): Promise<implicitReturnType>;
|
|
186
|
-
privatePostOptionUsdcOpenapiPrivateV1CancelAll(params?: {}): Promise<implicitReturnType>;
|
|
187
|
-
privatePostOptionUsdcOpenapiPrivateV1QueryActiveOrders(params?: {}): Promise<implicitReturnType>;
|
|
188
|
-
privatePostOptionUsdcOpenapiPrivateV1QueryOrderHistory(params?: {}): Promise<implicitReturnType>;
|
|
189
|
-
privatePostOptionUsdcOpenapiPrivateV1ExecutionList(params?: {}): Promise<implicitReturnType>;
|
|
190
|
-
privatePostOptionUsdcOpenapiPrivateV1QueryPosition(params?: {}): Promise<implicitReturnType>;
|
|
191
|
-
privatePostPerpetualUsdcOpenapiPrivateV1PlaceOrder(params?: {}): Promise<implicitReturnType>;
|
|
192
|
-
privatePostPerpetualUsdcOpenapiPrivateV1ReplaceOrder(params?: {}): Promise<implicitReturnType>;
|
|
193
|
-
privatePostPerpetualUsdcOpenapiPrivateV1CancelOrder(params?: {}): Promise<implicitReturnType>;
|
|
194
|
-
privatePostPerpetualUsdcOpenapiPrivateV1CancelAll(params?: {}): Promise<implicitReturnType>;
|
|
195
|
-
privatePostPerpetualUsdcOpenapiPrivateV1PositionLeverageSave(params?: {}): Promise<implicitReturnType>;
|
|
196
183
|
privatePostSpotV3PrivateOrder(params?: {}): Promise<implicitReturnType>;
|
|
197
184
|
privatePostSpotV3PrivateCancelOrder(params?: {}): Promise<implicitReturnType>;
|
|
198
185
|
privatePostSpotV3PrivateCancelOrders(params?: {}): Promise<implicitReturnType>;
|
package/js/src/alpaca.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
8
8
|
import Exchange from './abstract/alpaca.js';
|
|
9
|
+
import { Precise } from './base/Precise.js';
|
|
9
10
|
import { ExchangeError, BadRequest, PermissionDenied, BadSymbol, NotSupported, InsufficientFunds, InvalidOrder, RateLimitExceeded, ArgumentsRequired } from './base/errors.js';
|
|
10
11
|
import { TICK_SIZE } from './base/functions/number.js';
|
|
11
12
|
// ---------------------------------------------------------------------------xs
|
|
@@ -1372,19 +1373,19 @@ export default class alpaca extends Exchange {
|
|
|
1372
1373
|
const response = await this.traderPrivatePostV2WalletsTransfers(this.extend(request, params));
|
|
1373
1374
|
//
|
|
1374
1375
|
// {
|
|
1375
|
-
// "id": "
|
|
1376
|
-
// "tx_hash":
|
|
1377
|
-
// "direction": "
|
|
1376
|
+
// "id": "e27b70a6-5610-40d7-8468-a516a284b776",
|
|
1377
|
+
// "tx_hash": null,
|
|
1378
|
+
// "direction": "OUTGOING",
|
|
1379
|
+
// "amount": "20",
|
|
1380
|
+
// "usd_value": "19.99856",
|
|
1381
|
+
// "chain": "ETH",
|
|
1382
|
+
// "asset": "USDT",
|
|
1383
|
+
// "from_address": "0x123930E4dCA196E070d39B60c644C8Aae02f23",
|
|
1384
|
+
// "to_address": "0x1232c0925196e4dcf05945f67f690153190fbaab",
|
|
1378
1385
|
// "status": "PROCESSING",
|
|
1379
|
-
// "
|
|
1380
|
-
// "
|
|
1381
|
-
// "
|
|
1382
|
-
// "fees": "string",
|
|
1383
|
-
// "chain": "string",
|
|
1384
|
-
// "asset": "string",
|
|
1385
|
-
// "from_address": "string",
|
|
1386
|
-
// "to_address": "string",
|
|
1387
|
-
// "created_at": "2024-11-02T07:42:48.402Z"
|
|
1386
|
+
// "created_at": "2024-11-07T02:39:01.775495Z",
|
|
1387
|
+
// "network_fee": "4",
|
|
1388
|
+
// "fees": "0.1"
|
|
1388
1389
|
// }
|
|
1389
1390
|
//
|
|
1390
1391
|
return this.parseTransaction(response, currency);
|
|
@@ -1398,19 +1399,19 @@ export default class alpaca extends Exchange {
|
|
|
1398
1399
|
const response = await this.traderPrivateGetV2WalletsTransfers(params);
|
|
1399
1400
|
//
|
|
1400
1401
|
// {
|
|
1401
|
-
// "id": "
|
|
1402
|
-
// "tx_hash":
|
|
1403
|
-
// "direction": "
|
|
1402
|
+
// "id": "e27b70a6-5610-40d7-8468-a516a284b776",
|
|
1403
|
+
// "tx_hash": null,
|
|
1404
|
+
// "direction": "OUTGOING",
|
|
1405
|
+
// "amount": "20",
|
|
1406
|
+
// "usd_value": "19.99856",
|
|
1407
|
+
// "chain": "ETH",
|
|
1408
|
+
// "asset": "USDT",
|
|
1409
|
+
// "from_address": "0x123930E4dCA196E070d39B60c644C8Aae02f23",
|
|
1410
|
+
// "to_address": "0x1232c0925196e4dcf05945f67f690153190fbaab",
|
|
1404
1411
|
// "status": "PROCESSING",
|
|
1405
|
-
// "
|
|
1406
|
-
// "
|
|
1407
|
-
// "
|
|
1408
|
-
// "fees": "string",
|
|
1409
|
-
// "chain": "string",
|
|
1410
|
-
// "asset": "string",
|
|
1411
|
-
// "from_address": "string",
|
|
1412
|
-
// "to_address": "string",
|
|
1413
|
-
// "created_at": "2024-11-02T07:42:48.402Z"
|
|
1412
|
+
// "created_at": "2024-11-07T02:39:01.775495Z",
|
|
1413
|
+
// "network_fee": "4",
|
|
1414
|
+
// "fees": "0.1"
|
|
1414
1415
|
// }
|
|
1415
1416
|
//
|
|
1416
1417
|
const results = [];
|
|
@@ -1420,7 +1421,7 @@ export default class alpaca extends Exchange {
|
|
|
1420
1421
|
if (direction === type) {
|
|
1421
1422
|
results.push(entry);
|
|
1422
1423
|
}
|
|
1423
|
-
else if (
|
|
1424
|
+
else if (type === 'BOTH') {
|
|
1424
1425
|
results.push(entry);
|
|
1425
1426
|
}
|
|
1426
1427
|
}
|
|
@@ -1471,26 +1472,29 @@ export default class alpaca extends Exchange {
|
|
|
1471
1472
|
parseTransaction(transaction, currency = undefined) {
|
|
1472
1473
|
//
|
|
1473
1474
|
// {
|
|
1474
|
-
// "id": "
|
|
1475
|
-
// "tx_hash":
|
|
1476
|
-
// "direction": "
|
|
1475
|
+
// "id": "e27b70a6-5610-40d7-8468-a516a284b776",
|
|
1476
|
+
// "tx_hash": null,
|
|
1477
|
+
// "direction": "OUTGOING",
|
|
1478
|
+
// "amount": "20",
|
|
1479
|
+
// "usd_value": "19.99856",
|
|
1480
|
+
// "chain": "ETH",
|
|
1481
|
+
// "asset": "USDT",
|
|
1482
|
+
// "from_address": "0x123930E4dCA196E070d39B60c644C8Aae02f23",
|
|
1483
|
+
// "to_address": "0x1232c0925196e4dcf05945f67f690153190fbaab",
|
|
1477
1484
|
// "status": "PROCESSING",
|
|
1478
|
-
// "
|
|
1479
|
-
// "
|
|
1480
|
-
// "
|
|
1481
|
-
// "fees": "string",
|
|
1482
|
-
// "chain": "string",
|
|
1483
|
-
// "asset": "string",
|
|
1484
|
-
// "from_address": "string",
|
|
1485
|
-
// "to_address": "string",
|
|
1486
|
-
// "created_at": "2024-11-02T07:42:48.402Z"
|
|
1485
|
+
// "created_at": "2024-11-07T02:39:01.775495Z",
|
|
1486
|
+
// "network_fee": "4",
|
|
1487
|
+
// "fees": "0.1"
|
|
1487
1488
|
// }
|
|
1488
1489
|
//
|
|
1489
1490
|
const datetime = this.safeString(transaction, 'created_at');
|
|
1490
1491
|
const currencyId = this.safeString(transaction, 'asset');
|
|
1491
1492
|
const code = this.safeCurrencyCode(currencyId, currency);
|
|
1493
|
+
const fees = this.safeString(transaction, 'fees');
|
|
1494
|
+
const networkFee = this.safeString(transaction, 'network_fee');
|
|
1495
|
+
const totalFee = Precise.stringAdd(fees, networkFee);
|
|
1492
1496
|
const fee = {
|
|
1493
|
-
'cost': this.
|
|
1497
|
+
'cost': this.parseNumber(totalFee),
|
|
1494
1498
|
'currency': code,
|
|
1495
1499
|
};
|
|
1496
1500
|
return {
|
|
@@ -1519,8 +1523,8 @@ export default class alpaca extends Exchange {
|
|
|
1519
1523
|
parseTransactionStatus(status) {
|
|
1520
1524
|
const statuses = {
|
|
1521
1525
|
'PROCESSING': 'pending',
|
|
1522
|
-
|
|
1523
|
-
|
|
1526
|
+
'FAILED': 'failed',
|
|
1527
|
+
'COMPLETE': 'ok',
|
|
1524
1528
|
};
|
|
1525
1529
|
return this.safeString(statuses, status, status);
|
|
1526
1530
|
}
|
|
@@ -754,6 +754,7 @@ export default class Exchange {
|
|
|
754
754
|
unWatchOrderBookForSymbols(symbols: string[], params?: {}): Promise<any>;
|
|
755
755
|
fetchDepositAddresses(codes?: Strings, params?: {}): Promise<DepositAddress[]>;
|
|
756
756
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
757
|
+
fetchOrderBookWs(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
757
758
|
fetchMarginMode(symbol: string, params?: {}): Promise<MarginMode>;
|
|
758
759
|
fetchMarginModes(symbols?: Strings, params?: {}): Promise<MarginModes>;
|
|
759
760
|
fetchRestOrderBookSafe(symbol: any, limit?: any, params?: {}): Promise<OrderBook>;
|
package/js/src/base/Exchange.js
CHANGED
|
@@ -2052,6 +2052,9 @@ export default class Exchange {
|
|
|
2052
2052
|
async fetchOrderBook(symbol, limit = undefined, params = {}) {
|
|
2053
2053
|
throw new NotSupported(this.id + ' fetchOrderBook() is not supported yet');
|
|
2054
2054
|
}
|
|
2055
|
+
async fetchOrderBookWs(symbol, limit = undefined, params = {}) {
|
|
2056
|
+
throw new NotSupported(this.id + ' fetchOrderBookWs() is not supported yet');
|
|
2057
|
+
}
|
|
2055
2058
|
async fetchMarginMode(symbol, params = {}) {
|
|
2056
2059
|
if (this.has['fetchMarginModes']) {
|
|
2057
2060
|
const marginModes = await this.fetchMarginModes([symbol], params);
|
package/js/src/binance.js
CHANGED
|
@@ -953,6 +953,9 @@ export default class binance extends Exchange {
|
|
|
953
953
|
'mmp': 1,
|
|
954
954
|
'countdownCancelAll': 1,
|
|
955
955
|
'order': 1,
|
|
956
|
+
'block/order/orders': 5,
|
|
957
|
+
'block/order/execute': 5,
|
|
958
|
+
'block/user-trades': 5,
|
|
956
959
|
},
|
|
957
960
|
'post': {
|
|
958
961
|
'order': 1,
|
|
@@ -962,9 +965,12 @@ export default class binance extends Exchange {
|
|
|
962
965
|
'mmpReset': 1,
|
|
963
966
|
'countdownCancelAll': 1,
|
|
964
967
|
'countdownCancelAllHeartBeat': 10,
|
|
968
|
+
'block/order/create': 5,
|
|
969
|
+
'block/order/execute': 5,
|
|
965
970
|
},
|
|
966
971
|
'put': {
|
|
967
972
|
'listenKey': 1,
|
|
973
|
+
'block/order/create': 5,
|
|
968
974
|
},
|
|
969
975
|
'delete': {
|
|
970
976
|
'order': 1,
|
|
@@ -972,6 +978,7 @@ export default class binance extends Exchange {
|
|
|
972
978
|
'allOpenOrders': 1,
|
|
973
979
|
'allOpenOrdersByUnderlying': 1,
|
|
974
980
|
'listenKey': 1,
|
|
981
|
+
'block/order/create': 5,
|
|
975
982
|
},
|
|
976
983
|
},
|
|
977
984
|
'public': {
|
package/js/src/bitfinex2.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ export default class bitfinex2 extends Exchange {
|
|
|
55
55
|
parseTransaction(transaction: Dict, currency?: Currency): Transaction;
|
|
56
56
|
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
57
57
|
fetchDepositsWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
58
|
-
withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<
|
|
58
|
+
withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
|
|
59
59
|
fetchPositions(symbols?: Strings, params?: {}): Promise<import("./base/types.js").Position[]>;
|
|
60
60
|
parsePosition(position: Dict, market?: Market): import("./base/types.js").Position;
|
|
61
61
|
nonce(): number;
|
package/js/src/bitget.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/bitget.js';
|
|
2
|
-
import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Liquidation, TransferEntry, Leverage, MarginMode, Num, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CrossBorrowRate, IsolatedBorrowRate, Dict, LeverageTier, int, LedgerEntry, FundingRate, DepositAddress, LongShortRatio, BorrowInterest } from './base/types.js';
|
|
2
|
+
import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Balances, Str, Transaction, Ticker, OrderBook, Tickers, Market, Strings, Currency, Position, Liquidation, TransferEntry, Leverage, MarginMode, Num, MarginModification, TradingFeeInterface, Currencies, TradingFees, Conversion, CrossBorrowRate, IsolatedBorrowRate, Dict, LeverageTier, int, LedgerEntry, FundingRate, DepositAddress, LongShortRatio, BorrowInterest, FundingRates } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class bitget
|
|
5
5
|
* @augments Exchange
|
|
@@ -67,6 +67,7 @@ export default class bitget extends Exchange {
|
|
|
67
67
|
parsePosition(position: Dict, market?: Market): Position;
|
|
68
68
|
fetchFundingRateHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
|
|
69
69
|
fetchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;
|
|
70
|
+
fetchFundingRates(symbols?: Strings, params?: {}): Promise<FundingRates>;
|
|
70
71
|
parseFundingRate(contract: any, market?: Market): FundingRate;
|
|
71
72
|
fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
|
|
72
73
|
parseFundingHistory(contract: any, market?: Market): {
|
package/js/src/bitget.js
CHANGED
|
@@ -87,7 +87,7 @@ export default class bitget extends Exchange {
|
|
|
87
87
|
'fetchFundingIntervals': false,
|
|
88
88
|
'fetchFundingRate': true,
|
|
89
89
|
'fetchFundingRateHistory': true,
|
|
90
|
-
'fetchFundingRates':
|
|
90
|
+
'fetchFundingRates': true,
|
|
91
91
|
'fetchIndexOHLCV': true,
|
|
92
92
|
'fetchIsolatedBorrowRate': true,
|
|
93
93
|
'fetchIsolatedBorrowRates': false,
|
|
@@ -6849,6 +6849,71 @@ export default class bitget extends Exchange {
|
|
|
6849
6849
|
const data = this.safeValue(response, 'data', []);
|
|
6850
6850
|
return this.parseFundingRate(data[0], market);
|
|
6851
6851
|
}
|
|
6852
|
+
async fetchFundingRates(symbols = undefined, params = {}) {
|
|
6853
|
+
/**
|
|
6854
|
+
* @method
|
|
6855
|
+
* @name bitget#fetchFundingRates
|
|
6856
|
+
* @description fetch the current funding rates for all markets
|
|
6857
|
+
* @see https://www.bitget.com/api-doc/contract/market/Get-All-Symbol-Ticker
|
|
6858
|
+
* @param {string[]} [symbols] list of unified market symbols
|
|
6859
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
6860
|
+
* @param {string} [params.subType] *contract only* 'linear', 'inverse'
|
|
6861
|
+
* @param {string} [params.productType] *contract only* 'USDT-FUTURES', 'USDC-FUTURES', 'COIN-FUTURES', 'SUSDT-FUTURES', 'SUSDC-FUTURES' or 'SCOIN-FUTURES'
|
|
6862
|
+
* @returns {object} a dictionary of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rates-structure}, indexed by market symbols
|
|
6863
|
+
*/
|
|
6864
|
+
await this.loadMarkets();
|
|
6865
|
+
let market = undefined;
|
|
6866
|
+
if (symbols !== undefined) {
|
|
6867
|
+
const symbol = this.safeValue(symbols, 0);
|
|
6868
|
+
const sandboxMode = this.safeBool(this.options, 'sandboxMode', false);
|
|
6869
|
+
if (sandboxMode) {
|
|
6870
|
+
const sandboxSymbol = this.convertSymbolForSandbox(symbol);
|
|
6871
|
+
market = this.market(sandboxSymbol);
|
|
6872
|
+
}
|
|
6873
|
+
else {
|
|
6874
|
+
market = this.market(symbol);
|
|
6875
|
+
}
|
|
6876
|
+
}
|
|
6877
|
+
const request = {};
|
|
6878
|
+
let productType = undefined;
|
|
6879
|
+
[productType, params] = this.handleProductTypeAndParams(market, params);
|
|
6880
|
+
request['productType'] = productType;
|
|
6881
|
+
const response = await this.publicMixGetV2MixMarketTickers(this.extend(request, params));
|
|
6882
|
+
// {
|
|
6883
|
+
// "code": "00000",
|
|
6884
|
+
// "msg": "success",
|
|
6885
|
+
// "requestTime": 1700533773477,
|
|
6886
|
+
// "data": [
|
|
6887
|
+
// {
|
|
6888
|
+
// "symbol": "BTCUSD",
|
|
6889
|
+
// "lastPr": "29904.5",
|
|
6890
|
+
// "askPr": "29904.5",
|
|
6891
|
+
// "bidPr": "29903.5",
|
|
6892
|
+
// "bidSz": "0.5091",
|
|
6893
|
+
// "askSz": "2.2694",
|
|
6894
|
+
// "high24h": "0",
|
|
6895
|
+
// "low24h": "0",
|
|
6896
|
+
// "ts": "1695794271400",
|
|
6897
|
+
// "change24h": "0",
|
|
6898
|
+
// "baseVolume": "0",
|
|
6899
|
+
// "quoteVolume": "0",
|
|
6900
|
+
// "usdtVolume": "0",
|
|
6901
|
+
// "openUtc": "0",
|
|
6902
|
+
// "changeUtc24h": "0",
|
|
6903
|
+
// "indexPrice": "29132.353333",
|
|
6904
|
+
// "fundingRate": "-0.0007",
|
|
6905
|
+
// "holdingAmount": "125.6844",
|
|
6906
|
+
// "deliveryStartTime": null,
|
|
6907
|
+
// "deliveryTime": null,
|
|
6908
|
+
// "deliveryStatus": "delivery_normal",
|
|
6909
|
+
// "open24h": "0",
|
|
6910
|
+
// "markPrice": "12345"
|
|
6911
|
+
// },
|
|
6912
|
+
// ]
|
|
6913
|
+
// }
|
|
6914
|
+
const data = this.safeList(response, 'data', []);
|
|
6915
|
+
return this.parseFundingRates(data, market);
|
|
6916
|
+
}
|
|
6852
6917
|
parseFundingRate(contract, market = undefined) {
|
|
6853
6918
|
//
|
|
6854
6919
|
// fetchFundingRate
|
|
@@ -6865,11 +6930,39 @@ export default class bitget extends Exchange {
|
|
|
6865
6930
|
// "nextFundingTime": "1727942400000",
|
|
6866
6931
|
// "ratePeriod": "8"
|
|
6867
6932
|
// }
|
|
6868
|
-
//
|
|
6933
|
+
// fetchFundingRates
|
|
6934
|
+
// {
|
|
6935
|
+
// "symbol": "BTCUSD",
|
|
6936
|
+
// "lastPr": "29904.5",
|
|
6937
|
+
// "askPr": "29904.5",
|
|
6938
|
+
// "bidPr": "29903.5",
|
|
6939
|
+
// "bidSz": "0.5091",
|
|
6940
|
+
// "askSz": "2.2694",
|
|
6941
|
+
// "high24h": "0",
|
|
6942
|
+
// "low24h": "0",
|
|
6943
|
+
// "ts": "1695794271400",
|
|
6944
|
+
// "change24h": "0",
|
|
6945
|
+
// "baseVolume": "0",
|
|
6946
|
+
// "quoteVolume": "0",
|
|
6947
|
+
// "usdtVolume": "0",
|
|
6948
|
+
// "openUtc": "0",
|
|
6949
|
+
// "changeUtc24h": "0",
|
|
6950
|
+
// "indexPrice": "29132.353333",
|
|
6951
|
+
// "fundingRate": "-0.0007",
|
|
6952
|
+
// "holdingAmount": "125.6844",
|
|
6953
|
+
// "deliveryStartTime": null,
|
|
6954
|
+
// "deliveryTime": null,
|
|
6955
|
+
// "deliveryStatus": "delivery_normal",
|
|
6956
|
+
// "open24h": "0",
|
|
6957
|
+
// "markPrice": "12345"
|
|
6958
|
+
// }
|
|
6869
6959
|
const marketId = this.safeString(contract, 'symbol');
|
|
6870
6960
|
const symbol = this.safeSymbol(marketId, market, undefined, 'swap');
|
|
6871
6961
|
const fundingTimestamp = this.safeInteger(contract, 'nextFundingTime');
|
|
6872
6962
|
const interval = this.safeString(contract, 'ratePeriod');
|
|
6963
|
+
const timestamp = this.safeInteger(contract, 'ts');
|
|
6964
|
+
const markPrice = this.safeNumber(contract, 'markPrice');
|
|
6965
|
+
const indexPrice = this.safeNumber(contract, 'indexPrice');
|
|
6873
6966
|
let intervalString = undefined;
|
|
6874
6967
|
if (interval !== undefined) {
|
|
6875
6968
|
intervalString = interval + 'h';
|
|
@@ -6877,12 +6970,12 @@ export default class bitget extends Exchange {
|
|
|
6877
6970
|
return {
|
|
6878
6971
|
'info': contract,
|
|
6879
6972
|
'symbol': symbol,
|
|
6880
|
-
'markPrice':
|
|
6881
|
-
'indexPrice':
|
|
6973
|
+
'markPrice': markPrice,
|
|
6974
|
+
'indexPrice': indexPrice,
|
|
6882
6975
|
'interestRate': undefined,
|
|
6883
6976
|
'estimatedSettlePrice': undefined,
|
|
6884
|
-
'timestamp':
|
|
6885
|
-
'datetime':
|
|
6977
|
+
'timestamp': timestamp,
|
|
6978
|
+
'datetime': this.iso8601(timestamp),
|
|
6886
6979
|
'fundingRate': this.safeNumber(contract, 'fundingRate'),
|
|
6887
6980
|
'fundingTimestamp': fundingTimestamp,
|
|
6888
6981
|
'fundingDatetime': this.iso8601(fundingTimestamp),
|
package/js/src/bitmart.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ export default class bitmart extends Exchange {
|
|
|
69
69
|
fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
70
70
|
fetchDepositAddress(code: string, params?: {}): Promise<DepositAddress>;
|
|
71
71
|
parseDepositAddress(depositAddress: any, currency?: any): DepositAddress;
|
|
72
|
-
withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<
|
|
72
|
+
withdraw(code: string, amount: number, address: string, tag?: any, params?: {}): Promise<Transaction>;
|
|
73
73
|
fetchTransactionsByType(type: any, code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
74
74
|
fetchDeposit(id: string, code?: Str, params?: {}): Promise<Transaction>;
|
|
75
75
|
fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|