ccxt 4.2.81 → 4.2.83
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/CHANGELOG.md +90 -0
- package/README.md +4 -4
- package/dist/ccxt.browser.js +1085 -188
- package/dist/ccxt.browser.min.js +2 -2
- package/dist/cjs/ccxt.js +3 -1
- package/dist/cjs/src/bitget.js +1 -0
- package/dist/cjs/src/bithumb.js +1 -0
- package/dist/cjs/src/bitstamp.js +42 -15
- package/dist/cjs/src/delta.js +147 -0
- package/dist/cjs/src/deribit.js +20 -2
- package/dist/cjs/src/gemini.js +2 -1
- package/dist/cjs/src/hyperliquid.js +9 -8
- package/dist/cjs/src/kucoinfutures.js +147 -8
- package/dist/cjs/src/okx.js +139 -0
- package/dist/cjs/src/pro/bithumb.js +388 -0
- package/dist/cjs/src/pro/bitmart.js +1 -1
- package/dist/cjs/src/pro/bybit.js +1 -1
- package/dist/cjs/src/pro/cex.js +18 -5
- package/dist/cjs/src/pro/okx.js +2 -1
- package/dist/cjs/src/pro/p2b.js +14 -4
- package/dist/cjs/src/pro/woo.js +1 -1
- package/js/ccxt.d.ts +4 -1
- package/js/ccxt.js +3 -1
- package/js/src/abstract/bitstamp.d.ts +1 -1
- package/js/src/ace.d.ts +1 -1
- package/js/src/alpaca.d.ts +1 -1
- package/js/src/ascendex.d.ts +1 -1
- package/js/src/bigone.d.ts +1 -1
- package/js/src/binance.d.ts +1 -1
- package/js/src/bingx.d.ts +1 -1
- package/js/src/bitbank.d.ts +1 -1
- package/js/src/bitbns.d.ts +1 -1
- package/js/src/bitfinex.d.ts +1 -1
- package/js/src/bitfinex2.d.ts +1 -1
- package/js/src/bitflyer.d.ts +1 -1
- package/js/src/bitget.d.ts +1 -1
- package/js/src/bitget.js +1 -0
- package/js/src/bithumb.d.ts +1 -1
- package/js/src/bithumb.js +1 -0
- package/js/src/bitmart.d.ts +1 -1
- package/js/src/bitmex.d.ts +1 -1
- package/js/src/bitopro.d.ts +1 -1
- package/js/src/bitrue.d.ts +1 -1
- package/js/src/bitso.d.ts +1 -1
- package/js/src/bitstamp.d.ts +1 -1
- package/js/src/bitstamp.js +42 -15
- package/js/src/bitteam.d.ts +1 -1
- package/js/src/bitvavo.d.ts +1 -1
- package/js/src/blockchaincom.d.ts +1 -1
- package/js/src/blofin.d.ts +1 -1
- package/js/src/btcalpha.d.ts +1 -1
- package/js/src/btcmarkets.d.ts +1 -1
- package/js/src/btcturk.d.ts +1 -1
- package/js/src/bybit.d.ts +1 -1
- package/js/src/cex.d.ts +1 -1
- package/js/src/coinbase.d.ts +1 -1
- package/js/src/coinbaseinternational.d.ts +1 -1
- package/js/src/coinbasepro.d.ts +1 -1
- package/js/src/coinex.d.ts +1 -1
- package/js/src/coinlist.d.ts +1 -1
- package/js/src/coinmate.d.ts +1 -1
- package/js/src/coinmetro.d.ts +1 -1
- package/js/src/coinone.d.ts +1 -1
- package/js/src/coinsph.d.ts +1 -1
- package/js/src/cryptocom.d.ts +1 -1
- package/js/src/currencycom.d.ts +1 -1
- package/js/src/delta.d.ts +22 -2
- package/js/src/delta.js +147 -0
- package/js/src/deribit.d.ts +2 -2
- package/js/src/deribit.js +20 -2
- package/js/src/digifinex.d.ts +1 -1
- package/js/src/exmo.d.ts +1 -1
- package/js/src/gate.d.ts +1 -1
- package/js/src/gemini.d.ts +1 -1
- package/js/src/gemini.js +2 -1
- package/js/src/hitbtc.d.ts +1 -1
- package/js/src/hollaex.d.ts +1 -1
- package/js/src/htx.d.ts +1 -1
- package/js/src/huobijp.d.ts +1 -1
- package/js/src/hyperliquid.d.ts +1 -1
- package/js/src/hyperliquid.js +9 -8
- package/js/src/idex.d.ts +1 -1
- package/js/src/independentreserve.d.ts +1 -1
- package/js/src/indodax.d.ts +1 -1
- package/js/src/kraken.d.ts +1 -1
- package/js/src/krakenfutures.d.ts +1 -1
- package/js/src/kucoin.d.ts +1 -1
- package/js/src/kucoinfutures.d.ts +3 -2
- package/js/src/kucoinfutures.js +147 -8
- package/js/src/kuna.d.ts +1 -1
- package/js/src/latoken.d.ts +1 -1
- package/js/src/lbank.d.ts +1 -1
- package/js/src/luno.d.ts +1 -1
- package/js/src/lykke.d.ts +1 -1
- package/js/src/mercado.d.ts +1 -1
- package/js/src/mexc.d.ts +1 -1
- package/js/src/ndax.d.ts +1 -1
- package/js/src/novadax.d.ts +1 -1
- package/js/src/oceanex.d.ts +1 -1
- package/js/src/okcoin.d.ts +1 -1
- package/js/src/okx.d.ts +23 -2
- package/js/src/okx.js +139 -0
- package/js/src/onetrading.d.ts +1 -1
- package/js/src/p2b.d.ts +1 -1
- package/js/src/phemex.d.ts +1 -1
- package/js/src/poloniex.d.ts +1 -1
- package/js/src/poloniexfutures.d.ts +1 -1
- package/js/src/pro/bithumb.d.ts +19 -0
- package/js/src/pro/bithumb.js +389 -0
- package/js/src/pro/bitmart.js +1 -1
- package/js/src/pro/bybit.js +1 -1
- package/js/src/pro/cex.js +18 -5
- package/js/src/pro/okx.js +2 -1
- package/js/src/pro/p2b.d.ts +2 -0
- package/js/src/pro/p2b.js +14 -4
- package/js/src/pro/woo.js +1 -1
- package/js/src/probit.d.ts +1 -1
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
- package/js/src/timex.d.ts +1 -1
- package/js/src/tokocrypto.d.ts +1 -1
- package/js/src/tradeogre.d.ts +1 -1
- package/js/src/upbit.d.ts +1 -1
- package/js/src/wavesexchange.d.ts +1 -1
- package/js/src/wazirx.d.ts +1 -1
- package/js/src/whitebit.d.ts +1 -1
- package/js/src/woo.d.ts +1 -1
- package/js/src/yobit.d.ts +1 -1
- package/js/src/zaif.d.ts +1 -1
- package/js/src/zonda.d.ts +1 -1
- package/package.json +1 -1
- package/skip-tests.json +17 -4
package/js/src/cryptocom.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory
|
|
|
6
6
|
*/
|
|
7
7
|
export default class cryptocom extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
|
-
fetchMarkets(params?: {}): Promise<
|
|
9
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
10
10
|
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
11
11
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
12
12
|
fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
package/js/src/currencycom.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export default class currencycom extends Exchange {
|
|
|
9
9
|
nonce(): number;
|
|
10
10
|
fetchTime(params?: {}): Promise<number>;
|
|
11
11
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
12
|
-
fetchMarkets(params?: {}): Promise<
|
|
12
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
13
13
|
fetchAccounts(params?: {}): Promise<Account[]>;
|
|
14
14
|
fetchTradingFees(params?: {}): Promise<{}>;
|
|
15
15
|
parseBalance(response: any, type?: any): Balances;
|
package/js/src/delta.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/delta.js';
|
|
2
|
-
import type { Balances, Currency, Greeks, Int, Market, MarketInterface, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Position, Leverage, MarginMode, Num } from './base/types.js';
|
|
2
|
+
import type { Balances, Currency, Greeks, Int, Market, MarketInterface, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Position, Leverage, MarginMode, Num, Option } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class delta
|
|
5
5
|
* @augments Exchange
|
|
@@ -20,7 +20,7 @@ export default class delta extends Exchange {
|
|
|
20
20
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
21
21
|
loadMarkets(reload?: boolean, params?: {}): Promise<import("./base/types.js").Dictionary<MarketInterface>>;
|
|
22
22
|
indexByStringifiedNumericId(input: any): {};
|
|
23
|
-
fetchMarkets(params?: {}): Promise<
|
|
23
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
24
24
|
parseTicker(ticker: any, market?: Market): Ticker;
|
|
25
25
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
26
26
|
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
@@ -191,6 +191,26 @@ export default class delta extends Exchange {
|
|
|
191
191
|
closeAllPositions(params?: {}): Promise<Position[]>;
|
|
192
192
|
fetchMarginMode(symbol: string, params?: {}): Promise<MarginMode>;
|
|
193
193
|
parseMarginMode(marginMode: any, market?: any): MarginMode;
|
|
194
|
+
fetchOption(symbol: string, params?: {}): Promise<Option>;
|
|
195
|
+
parseOption(chain: any, currency?: Currency, market?: Market): {
|
|
196
|
+
info: any;
|
|
197
|
+
currency: any;
|
|
198
|
+
symbol: string;
|
|
199
|
+
timestamp: number;
|
|
200
|
+
datetime: string;
|
|
201
|
+
impliedVolatility: number;
|
|
202
|
+
openInterest: number;
|
|
203
|
+
bidPrice: number;
|
|
204
|
+
askPrice: number;
|
|
205
|
+
midPrice: number;
|
|
206
|
+
markPrice: number;
|
|
207
|
+
lastPrice: any;
|
|
208
|
+
underlyingPrice: number;
|
|
209
|
+
change: any;
|
|
210
|
+
percentage: any;
|
|
211
|
+
baseVolume: number;
|
|
212
|
+
quoteVolume: any;
|
|
213
|
+
};
|
|
194
214
|
sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
|
|
195
215
|
url: string;
|
|
196
216
|
method: string;
|
package/js/src/delta.js
CHANGED
|
@@ -64,6 +64,8 @@ export default class delta extends Exchange {
|
|
|
64
64
|
'fetchOHLCV': true,
|
|
65
65
|
'fetchOpenInterest': true,
|
|
66
66
|
'fetchOpenOrders': true,
|
|
67
|
+
'fetchOption': true,
|
|
68
|
+
'fetchOptionChain': false,
|
|
67
69
|
'fetchOrderBook': true,
|
|
68
70
|
'fetchPosition': true,
|
|
69
71
|
'fetchPositionMode': false,
|
|
@@ -3315,6 +3317,151 @@ export default class delta extends Exchange {
|
|
|
3315
3317
|
'marginMode': this.safeString(marginMode, 'margin_mode'),
|
|
3316
3318
|
};
|
|
3317
3319
|
}
|
|
3320
|
+
async fetchOption(symbol, params = {}) {
|
|
3321
|
+
/**
|
|
3322
|
+
* @method
|
|
3323
|
+
* @name delta#fetchOption
|
|
3324
|
+
* @description fetches option data that is commonly found in an option chain
|
|
3325
|
+
* @see https://docs.delta.exchange/#get-ticker-for-a-product-by-symbol
|
|
3326
|
+
* @param {string} symbol unified market symbol
|
|
3327
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
3328
|
+
* @returns {object} an [option chain structure]{@link https://docs.ccxt.com/#/?id=option-chain-structure}
|
|
3329
|
+
*/
|
|
3330
|
+
await this.loadMarkets();
|
|
3331
|
+
const market = this.market(symbol);
|
|
3332
|
+
const request = {
|
|
3333
|
+
'symbol': market['id'],
|
|
3334
|
+
};
|
|
3335
|
+
const response = await this.publicGetTickersSymbol(this.extend(request, params));
|
|
3336
|
+
//
|
|
3337
|
+
// {
|
|
3338
|
+
// "result": {
|
|
3339
|
+
// "close": 6793.0,
|
|
3340
|
+
// "contract_type": "call_options",
|
|
3341
|
+
// "greeks": {
|
|
3342
|
+
// "delta": "0.94739174",
|
|
3343
|
+
// "gamma": "0.00002206",
|
|
3344
|
+
// "rho": "11.00890725",
|
|
3345
|
+
// "spot": "36839.58124652",
|
|
3346
|
+
// "theta": "-18.18365310",
|
|
3347
|
+
// "vega": "7.85209698"
|
|
3348
|
+
// },
|
|
3349
|
+
// "high": 7556.0,
|
|
3350
|
+
// "low": 6793.0,
|
|
3351
|
+
// "mark_price": "6955.70698909",
|
|
3352
|
+
// "mark_vol": "0.66916863",
|
|
3353
|
+
// "oi": "1.8980",
|
|
3354
|
+
// "oi_change_usd_6h": "110.4600",
|
|
3355
|
+
// "oi_contracts": "1898",
|
|
3356
|
+
// "oi_value": "1.8980",
|
|
3357
|
+
// "oi_value_symbol": "BTC",
|
|
3358
|
+
// "oi_value_usd": "69940.7319",
|
|
3359
|
+
// "open": 7.2e3,
|
|
3360
|
+
// "price_band": {
|
|
3361
|
+
// "lower_limit": "5533.89814767",
|
|
3362
|
+
// "upper_limit": "11691.37688371"
|
|
3363
|
+
// },
|
|
3364
|
+
// "product_id": 129508,
|
|
3365
|
+
// "quotes": {
|
|
3366
|
+
// "ask_iv": "0.90180438",
|
|
3367
|
+
// "ask_size": "1898",
|
|
3368
|
+
// "best_ask": "7210",
|
|
3369
|
+
// "best_bid": "6913",
|
|
3370
|
+
// "bid_iv": "0.60881706",
|
|
3371
|
+
// "bid_size": "3163",
|
|
3372
|
+
// "impact_mid_price": null,
|
|
3373
|
+
// "mark_iv": "0.66973549"
|
|
3374
|
+
// },
|
|
3375
|
+
// "size": 5,
|
|
3376
|
+
// "spot_price": "36839.58153868",
|
|
3377
|
+
// "strike_price": "30000",
|
|
3378
|
+
// "symbol": "C-BTC-30000-241123",
|
|
3379
|
+
// "timestamp": 1699584998504530,
|
|
3380
|
+
// "turnover": 184.41206804,
|
|
3381
|
+
// "turnover_symbol": "USDT",
|
|
3382
|
+
// "turnover_usd": 184.41206804,
|
|
3383
|
+
// "volume": 0.005
|
|
3384
|
+
// },
|
|
3385
|
+
// "success": true
|
|
3386
|
+
// }
|
|
3387
|
+
//
|
|
3388
|
+
const result = this.safeDict(response, 'result', {});
|
|
3389
|
+
return this.parseOption(result, undefined, market);
|
|
3390
|
+
}
|
|
3391
|
+
parseOption(chain, currency = undefined, market = undefined) {
|
|
3392
|
+
//
|
|
3393
|
+
// {
|
|
3394
|
+
// "close": 6793.0,
|
|
3395
|
+
// "contract_type": "call_options",
|
|
3396
|
+
// "greeks": {
|
|
3397
|
+
// "delta": "0.94739174",
|
|
3398
|
+
// "gamma": "0.00002206",
|
|
3399
|
+
// "rho": "11.00890725",
|
|
3400
|
+
// "spot": "36839.58124652",
|
|
3401
|
+
// "theta": "-18.18365310",
|
|
3402
|
+
// "vega": "7.85209698"
|
|
3403
|
+
// },
|
|
3404
|
+
// "high": 7556.0,
|
|
3405
|
+
// "low": 6793.0,
|
|
3406
|
+
// "mark_price": "6955.70698909",
|
|
3407
|
+
// "mark_vol": "0.66916863",
|
|
3408
|
+
// "oi": "1.8980",
|
|
3409
|
+
// "oi_change_usd_6h": "110.4600",
|
|
3410
|
+
// "oi_contracts": "1898",
|
|
3411
|
+
// "oi_value": "1.8980",
|
|
3412
|
+
// "oi_value_symbol": "BTC",
|
|
3413
|
+
// "oi_value_usd": "69940.7319",
|
|
3414
|
+
// "open": 7.2e3,
|
|
3415
|
+
// "price_band": {
|
|
3416
|
+
// "lower_limit": "5533.89814767",
|
|
3417
|
+
// "upper_limit": "11691.37688371"
|
|
3418
|
+
// },
|
|
3419
|
+
// "product_id": 129508,
|
|
3420
|
+
// "quotes": {
|
|
3421
|
+
// "ask_iv": "0.90180438",
|
|
3422
|
+
// "ask_size": "1898",
|
|
3423
|
+
// "best_ask": "7210",
|
|
3424
|
+
// "best_bid": "6913",
|
|
3425
|
+
// "bid_iv": "0.60881706",
|
|
3426
|
+
// "bid_size": "3163",
|
|
3427
|
+
// "impact_mid_price": null,
|
|
3428
|
+
// "mark_iv": "0.66973549"
|
|
3429
|
+
// },
|
|
3430
|
+
// "size": 5,
|
|
3431
|
+
// "spot_price": "36839.58153868",
|
|
3432
|
+
// "strike_price": "30000",
|
|
3433
|
+
// "symbol": "C-BTC-30000-241123",
|
|
3434
|
+
// "timestamp": 1699584998504530,
|
|
3435
|
+
// "turnover": 184.41206804,
|
|
3436
|
+
// "turnover_symbol": "USDT",
|
|
3437
|
+
// "turnover_usd": 184.41206804,
|
|
3438
|
+
// "volume": 0.005
|
|
3439
|
+
// }
|
|
3440
|
+
//
|
|
3441
|
+
const marketId = this.safeString(chain, 'symbol');
|
|
3442
|
+
market = this.safeMarket(marketId, market);
|
|
3443
|
+
const quotes = this.safeDict(chain, 'quotes', {});
|
|
3444
|
+
const timestamp = this.safeIntegerProduct(chain, 'timestamp', 0.001);
|
|
3445
|
+
return {
|
|
3446
|
+
'info': chain,
|
|
3447
|
+
'currency': undefined,
|
|
3448
|
+
'symbol': market['symbol'],
|
|
3449
|
+
'timestamp': timestamp,
|
|
3450
|
+
'datetime': this.iso8601(timestamp),
|
|
3451
|
+
'impliedVolatility': this.safeNumber(quotes, 'mark_iv'),
|
|
3452
|
+
'openInterest': this.safeNumber(chain, 'oi'),
|
|
3453
|
+
'bidPrice': this.safeNumber(quotes, 'best_bid'),
|
|
3454
|
+
'askPrice': this.safeNumber(quotes, 'best_ask'),
|
|
3455
|
+
'midPrice': this.safeNumber(quotes, 'impact_mid_price'),
|
|
3456
|
+
'markPrice': this.safeNumber(chain, 'mark_price'),
|
|
3457
|
+
'lastPrice': undefined,
|
|
3458
|
+
'underlyingPrice': this.safeNumber(chain, 'spot_price'),
|
|
3459
|
+
'change': undefined,
|
|
3460
|
+
'percentage': undefined,
|
|
3461
|
+
'baseVolume': this.safeNumber(chain, 'volume'),
|
|
3462
|
+
'quoteVolume': undefined,
|
|
3463
|
+
};
|
|
3464
|
+
}
|
|
3318
3465
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
3319
3466
|
const requestPath = '/' + this.version + '/' + this.implodeParams(path, params);
|
|
3320
3467
|
let url = this.urls['api'][api] + requestPath;
|
package/js/src/deribit.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export default class deribit extends Exchange {
|
|
|
28
28
|
type: string;
|
|
29
29
|
code: string;
|
|
30
30
|
};
|
|
31
|
-
fetchMarkets(params?: {}): Promise<
|
|
31
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
32
32
|
parseBalance(balance: any): Balances;
|
|
33
33
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
34
34
|
createDepositAddress(code: string, params?: {}): Promise<{
|
|
@@ -171,7 +171,7 @@ export default class deribit extends Exchange {
|
|
|
171
171
|
fetchOptionChain(code: string, params?: {}): Promise<OptionChain>;
|
|
172
172
|
parseOption(chain: any, currency?: Currency, market?: Market): {
|
|
173
173
|
info: any;
|
|
174
|
-
currency:
|
|
174
|
+
currency: string;
|
|
175
175
|
symbol: string;
|
|
176
176
|
timestamp: number;
|
|
177
177
|
datetime: string;
|
package/js/src/deribit.js
CHANGED
|
@@ -1340,9 +1340,16 @@ export default class deribit extends Exchange {
|
|
|
1340
1340
|
* @param {int} [since] timestamp in ms of the earliest candle to fetch
|
|
1341
1341
|
* @param {int} [limit] the maximum amount of candles to fetch
|
|
1342
1342
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1343
|
+
* @param {boolean} [params.paginate] whether to paginate the results, set to false by default
|
|
1344
|
+
* @param {int} [params.until] the latest time in ms to fetch ohlcv for
|
|
1343
1345
|
* @returns {int[][]} A list of candles ordered as timestamp, open, high, low, close, volume
|
|
1344
1346
|
*/
|
|
1345
1347
|
await this.loadMarkets();
|
|
1348
|
+
let paginate = false;
|
|
1349
|
+
[paginate, params] = this.handleOptionAndParams(params, 'fetchOHLCV', 'paginate');
|
|
1350
|
+
if (paginate) {
|
|
1351
|
+
return await this.fetchPaginatedCallDeterministic('fetchOHLCV', symbol, since, limit, timeframe, params, 5000);
|
|
1352
|
+
}
|
|
1346
1353
|
const market = this.market(symbol);
|
|
1347
1354
|
const request = {
|
|
1348
1355
|
'instrument_name': market['id'],
|
|
@@ -1367,6 +1374,11 @@ export default class deribit extends Exchange {
|
|
|
1367
1374
|
request['end_timestamp'] = this.sum(since, limit * duration * 1000);
|
|
1368
1375
|
}
|
|
1369
1376
|
}
|
|
1377
|
+
const until = this.safeInteger(params, 'until');
|
|
1378
|
+
if (until !== undefined) {
|
|
1379
|
+
params = this.omit(params, 'until');
|
|
1380
|
+
request['end_timestamp'] = until;
|
|
1381
|
+
}
|
|
1370
1382
|
const response = await this.publicGetGetTradingviewChartData(this.extend(request, params));
|
|
1371
1383
|
//
|
|
1372
1384
|
// {
|
|
@@ -1491,6 +1503,7 @@ export default class deribit extends Exchange {
|
|
|
1491
1503
|
* @param {int} [since] timestamp in ms of the earliest trade to fetch
|
|
1492
1504
|
* @param {int} [limit] the maximum amount of trades to fetch
|
|
1493
1505
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1506
|
+
* @param {int} [params.until] the latest time in ms to fetch trades for
|
|
1494
1507
|
* @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
|
|
1495
1508
|
*/
|
|
1496
1509
|
await this.loadMarkets();
|
|
@@ -1505,8 +1518,13 @@ export default class deribit extends Exchange {
|
|
|
1505
1518
|
if (limit !== undefined) {
|
|
1506
1519
|
request['count'] = Math.min(limit, 1000); // default 10
|
|
1507
1520
|
}
|
|
1521
|
+
const until = this.safeInteger2(params, 'until', 'end_timestamp');
|
|
1522
|
+
if (until !== undefined) {
|
|
1523
|
+
params = this.omit(params, ['until']);
|
|
1524
|
+
request['end_timestamp'] = until;
|
|
1525
|
+
}
|
|
1508
1526
|
let response = undefined;
|
|
1509
|
-
if (since === undefined) {
|
|
1527
|
+
if ((since === undefined) && !('end_timestamp' in request)) {
|
|
1510
1528
|
response = await this.publicGetGetLastTradesByInstrument(this.extend(request, params));
|
|
1511
1529
|
}
|
|
1512
1530
|
else {
|
|
@@ -3596,7 +3614,7 @@ export default class deribit extends Exchange {
|
|
|
3596
3614
|
const timestamp = this.safeInteger(chain, 'timestamp');
|
|
3597
3615
|
return {
|
|
3598
3616
|
'info': chain,
|
|
3599
|
-
'currency': code
|
|
3617
|
+
'currency': code,
|
|
3600
3618
|
'symbol': market['symbol'],
|
|
3601
3619
|
'timestamp': timestamp,
|
|
3602
3620
|
'datetime': this.iso8601(timestamp),
|
package/js/src/digifinex.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { FundingRateHistory, Int, OHLCV, Order, OrderSide, OrderType, Order
|
|
|
7
7
|
export default class digifinex extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
9
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
10
|
-
fetchMarkets(params?: {}): Promise<
|
|
10
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
11
11
|
fetchMarketsV2(params?: {}): Promise<any[]>;
|
|
12
12
|
fetchMarketsV1(params?: {}): Promise<any[]>;
|
|
13
13
|
parseBalance(response: any): Balances;
|
package/js/src/exmo.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ export default class exmo extends Exchange {
|
|
|
50
50
|
fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
|
|
51
51
|
parseDepositWithdrawFee(fee: any, currency?: Currency): any;
|
|
52
52
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
53
|
-
fetchMarkets(params?: {}): Promise<
|
|
53
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
54
54
|
fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
55
55
|
parseOHLCV(ohlcv: any, market?: Market): OHLCV;
|
|
56
56
|
parseBalance(response: any): Balances;
|
package/js/src/gate.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export default class gate extends Exchange {
|
|
|
10
10
|
convertExpireDate(date: any): string;
|
|
11
11
|
createExpiredOptionMarket(symbol: string): MarketInterface;
|
|
12
12
|
safeMarket(marketId?: Str, market?: Market, delimiter?: Str, marketType?: Str): MarketInterface;
|
|
13
|
-
fetchMarkets(params?: {}): Promise<
|
|
13
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
14
14
|
fetchSpotMarkets(params?: {}): Promise<any[]>;
|
|
15
15
|
fetchContractMarkets(params?: {}): Promise<any[]>;
|
|
16
16
|
parseContractMarket(market: any, settleId: any): {
|
package/js/src/gemini.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export default class gemini extends Exchange {
|
|
|
8
8
|
describe(): any;
|
|
9
9
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
10
10
|
fetchCurrenciesFromWeb(params?: {}): Promise<{}>;
|
|
11
|
-
fetchMarkets(params?: {}): Promise<
|
|
11
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
12
12
|
fetchMarketsFromWeb(params?: {}): Promise<any[]>;
|
|
13
13
|
parseMarketActive(status: any): boolean;
|
|
14
14
|
fetchUSDTMarkets(params?: {}): Promise<any[]>;
|
package/js/src/gemini.js
CHANGED
|
@@ -251,7 +251,8 @@ export default class gemini extends Exchange {
|
|
|
251
251
|
},
|
|
252
252
|
'broad': {
|
|
253
253
|
'The Gemini Exchange is currently undergoing maintenance.': OnMaintenance,
|
|
254
|
-
'We are investigating technical issues with the Gemini Exchange.': ExchangeNotAvailable,
|
|
254
|
+
'We are investigating technical issues with the Gemini Exchange.': ExchangeNotAvailable,
|
|
255
|
+
'Internal Server Error': ExchangeNotAvailable,
|
|
255
256
|
},
|
|
256
257
|
},
|
|
257
258
|
'options': {
|
package/js/src/hitbtc.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { TransferEntry, Int, OrderSide, OrderType, FundingRateHistory, OHLC
|
|
|
7
7
|
export default class hitbtc extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
9
|
nonce(): number;
|
|
10
|
-
fetchMarkets(params?: {}): Promise<
|
|
10
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
11
11
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
12
12
|
safeNetwork(networkId: any): any;
|
|
13
13
|
createDepositAddress(code: string, params?: {}): Promise<{
|
package/js/src/hollaex.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { Balances, Currency, Dictionary, Int, Market, Num, OHLCV, Order, Or
|
|
|
6
6
|
*/
|
|
7
7
|
export default class hollaex extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
|
-
fetchMarkets(params?: {}): Promise<
|
|
9
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
10
10
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
11
11
|
fetchOrderBooks(symbols?: Strings, limit?: Int, params?: {}): Promise<Dictionary<OrderBook>>;
|
|
12
12
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
package/js/src/htx.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export default class htx extends Exchange {
|
|
|
46
46
|
};
|
|
47
47
|
};
|
|
48
48
|
costToPrecision(symbol: any, cost: any): any;
|
|
49
|
-
fetchMarkets(params?: {}): Promise<
|
|
49
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
50
50
|
fetchMarketsByTypeAndSubType(type: any, subType: any, params?: {}): Promise<any[]>;
|
|
51
51
|
parseTicker(ticker: any, market?: Market): Ticker;
|
|
52
52
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
package/js/src/huobijp.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export default class huobijp extends Exchange {
|
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
costToPrecision(symbol: any, cost: any): any;
|
|
30
|
-
fetchMarkets(params?: {}): Promise<
|
|
30
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
31
31
|
parseTicker(ticker: any, market?: Market): Ticker;
|
|
32
32
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
33
33
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
package/js/src/hyperliquid.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export default class hyperliquid extends Exchange {
|
|
|
8
8
|
describe(): any;
|
|
9
9
|
setSandboxMode(enabled: any): void;
|
|
10
10
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
11
|
-
fetchMarkets(params?: {}): Promise<
|
|
11
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
12
12
|
parseMarket(market: any): Market;
|
|
13
13
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
14
14
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
package/js/src/hyperliquid.js
CHANGED
|
@@ -47,7 +47,7 @@ export default class hyperliquid extends Exchange {
|
|
|
47
47
|
'createMarketSellOrderWithCost': false,
|
|
48
48
|
'createOrder': true,
|
|
49
49
|
'createOrders': true,
|
|
50
|
-
'createReduceOnlyOrder':
|
|
50
|
+
'createReduceOnlyOrder': true,
|
|
51
51
|
'editOrder': true,
|
|
52
52
|
'fetchAccounts': false,
|
|
53
53
|
'fetchBalance': true,
|
|
@@ -884,7 +884,7 @@ export default class hyperliquid extends Exchange {
|
|
|
884
884
|
'tif': timeInForce,
|
|
885
885
|
};
|
|
886
886
|
}
|
|
887
|
-
orderParams = this.omit(orderParams, ['clientOrderId', 'slippage', 'triggerPrice', 'stopPrice', 'stopLossPrice', 'takeProfitPrice', 'timeInForce', 'client_id']);
|
|
887
|
+
orderParams = this.omit(orderParams, ['clientOrderId', 'slippage', 'triggerPrice', 'stopPrice', 'stopLossPrice', 'takeProfitPrice', 'timeInForce', 'client_id', 'reduceOnly', 'postOnly']);
|
|
888
888
|
const orderObj = {
|
|
889
889
|
'a': this.parseToInt(market['baseId']),
|
|
890
890
|
'b': isBuy,
|
|
@@ -1785,7 +1785,7 @@ export default class hyperliquid extends Exchange {
|
|
|
1785
1785
|
throw new ArgumentsRequired(this.id + ' setMarginMode() requires a leverage parameter');
|
|
1786
1786
|
}
|
|
1787
1787
|
const asset = this.parseToInt(market['baseId']);
|
|
1788
|
-
const isCross = (marginMode === '
|
|
1788
|
+
const isCross = (marginMode === 'cross');
|
|
1789
1789
|
const nonce = this.milliseconds();
|
|
1790
1790
|
params = this.omit(params, ['leverage']);
|
|
1791
1791
|
const updateAction = {
|
|
@@ -1801,9 +1801,10 @@ export default class hyperliquid extends Exchange {
|
|
|
1801
1801
|
vaultAddress = vaultAddress.replace('0x', '');
|
|
1802
1802
|
}
|
|
1803
1803
|
}
|
|
1804
|
-
const
|
|
1804
|
+
const extendedAction = this.extend(updateAction, params);
|
|
1805
|
+
const signature = this.signL1Action(extendedAction, nonce, vaultAddress);
|
|
1805
1806
|
const request = {
|
|
1806
|
-
'action':
|
|
1807
|
+
'action': extendedAction,
|
|
1807
1808
|
'nonce': nonce,
|
|
1808
1809
|
'signature': signature,
|
|
1809
1810
|
// 'vaultAddress': vaultAddress,
|
|
@@ -1811,7 +1812,7 @@ export default class hyperliquid extends Exchange {
|
|
|
1811
1812
|
if (vaultAddress !== undefined) {
|
|
1812
1813
|
request['vaultAddress'] = vaultAddress;
|
|
1813
1814
|
}
|
|
1814
|
-
const response = await this.privatePostExchange(
|
|
1815
|
+
const response = await this.privatePostExchange(request);
|
|
1815
1816
|
//
|
|
1816
1817
|
// {
|
|
1817
1818
|
// 'response': {
|
|
@@ -2037,10 +2038,10 @@ export default class hyperliquid extends Exchange {
|
|
|
2037
2038
|
[userAux, params] = this.handleOptionAndParams(params, methodName, 'user');
|
|
2038
2039
|
let user = userAux;
|
|
2039
2040
|
[user, params] = this.handleOptionAndParams(params, methodName, 'address', userAux);
|
|
2040
|
-
if (user !== undefined) {
|
|
2041
|
+
if ((user !== undefined) && (user !== '')) {
|
|
2041
2042
|
return [user, params];
|
|
2042
2043
|
}
|
|
2043
|
-
if (this.walletAddress !== undefined) {
|
|
2044
|
+
if ((this.walletAddress !== undefined) && (this.walletAddress !== '')) {
|
|
2044
2045
|
return [this.walletAddress, params];
|
|
2045
2046
|
}
|
|
2046
2047
|
throw new ArgumentsRequired(this.id + ' ' + methodName + '() requires a user parameter inside \'params\' or the wallet address set');
|
package/js/src/idex.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, Ord
|
|
|
7
7
|
export default class idex extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
9
|
priceToPrecision(symbol: any, price: any): any;
|
|
10
|
-
fetchMarkets(params?: {}): Promise<
|
|
10
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
11
11
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
12
12
|
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
13
13
|
parseTicker(ticker: any, market?: Market): Ticker;
|
|
@@ -6,7 +6,7 @@ import type { Balances, Currency, Int, Market, Num, Order, OrderBook, OrderSide,
|
|
|
6
6
|
*/
|
|
7
7
|
export default class independentreserve extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
|
-
fetchMarkets(params?: {}): Promise<
|
|
9
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
10
10
|
parseBalance(response: any): Balances;
|
|
11
11
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
12
12
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
package/js/src/indodax.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export default class indodax extends Exchange {
|
|
|
8
8
|
describe(): any;
|
|
9
9
|
nonce(): number;
|
|
10
10
|
fetchTime(params?: {}): Promise<number>;
|
|
11
|
-
fetchMarkets(params?: {}): Promise<
|
|
11
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
12
12
|
parseBalance(response: any): Balances;
|
|
13
13
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
14
14
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
package/js/src/kraken.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { IndexType, Int, OrderSide, OrderType, OHLCV, Trade, Order, Balance
|
|
|
8
8
|
export default class kraken extends Exchange {
|
|
9
9
|
describe(): any;
|
|
10
10
|
feeToPrecision(symbol: any, fee: any): any;
|
|
11
|
-
fetchMarkets(params?: {}): Promise<
|
|
11
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
12
12
|
safeCurrency(currencyId: any, currency?: Currency): import("./base/types.js").CurrencyInterface;
|
|
13
13
|
appendInactiveMarkets(result: any): any;
|
|
14
14
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
@@ -6,7 +6,7 @@ import type { TransferEntry, Int, OrderSide, OrderType, OHLCV, Trade, FundingRat
|
|
|
6
6
|
*/
|
|
7
7
|
export default class krakenfutures extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
|
-
fetchMarkets(params?: {}): Promise<
|
|
9
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
10
10
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
11
11
|
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
12
12
|
parseTicker(ticker: any, market?: Market): Ticker;
|
package/js/src/kucoin.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export default class kucoin extends Exchange {
|
|
|
15
15
|
url: any;
|
|
16
16
|
info: any;
|
|
17
17
|
}>;
|
|
18
|
-
fetchMarkets(params?: {}): Promise<
|
|
18
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
19
19
|
fetchCurrencies(params?: {}): Promise<{}>;
|
|
20
20
|
fetchAccounts(params?: {}): Promise<Account[]>;
|
|
21
21
|
fetchTransactionFee(code: string, params?: {}): Promise<{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import kucoin from './abstract/kucoinfutures.js';
|
|
2
|
-
import type { TransferEntry, Int, OrderSide, OrderType, OHLCV, Order, Trade, OrderRequest, FundingHistory, Balances, Str, Ticker, OrderBook, Transaction, Strings, Market, Currency, Num } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Int, OrderSide, OrderType, OHLCV, Order, Trade, OrderRequest, FundingHistory, Balances, Str, Ticker, Tickers, OrderBook, Transaction, Strings, Market, Currency, Num } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class kucoinfutures
|
|
5
5
|
* @augments Exchange
|
|
@@ -13,7 +13,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
13
13
|
url: any;
|
|
14
14
|
info: any;
|
|
15
15
|
}>;
|
|
16
|
-
fetchMarkets(params?: {}): Promise<
|
|
16
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
17
17
|
fetchTime(params?: {}): Promise<number>;
|
|
18
18
|
fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
19
19
|
parseOHLCV(ohlcv: any, market?: Market): OHLCV;
|
|
@@ -26,6 +26,7 @@ export default class kucoinfutures extends kucoin {
|
|
|
26
26
|
}>;
|
|
27
27
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
28
28
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
29
|
+
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
29
30
|
parseTicker(ticker: any, market?: Market): Ticker;
|
|
30
31
|
fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
|
|
31
32
|
fetchPosition(symbol: string, params?: {}): Promise<import("./base/types.js").Position>;
|