ccxt 4.2.88 → 4.2.90
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/build.sh +2 -2
- package/dist/ccxt.browser.js +1062 -241
- package/dist/ccxt.browser.min.js +6 -4
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ascendex.js +3 -0
- package/dist/cjs/src/base/Exchange.js +53 -7
- package/dist/cjs/src/base/functions/crypto.js +37 -0
- package/dist/cjs/src/base/functions/rsa.js +19 -4
- package/dist/cjs/src/binance.js +92 -9
- package/dist/cjs/src/bingx.js +101 -1
- package/dist/cjs/src/bitfinex2.js +1 -0
- package/dist/cjs/src/bitflyer.js +2 -0
- package/dist/cjs/src/bitget.js +9 -1
- package/dist/cjs/src/bitmart.js +2 -0
- package/dist/cjs/src/bitmex.js +1 -0
- package/dist/cjs/src/bitrue.js +1 -0
- package/dist/cjs/src/bitstamp.js +83 -99
- package/dist/cjs/src/blofin.js +2 -0
- package/dist/cjs/src/bybit.js +63 -0
- package/dist/cjs/src/coinbase.js +48 -24
- package/dist/cjs/src/coinbaseinternational.js +1 -0
- package/dist/cjs/src/coinex.js +102 -8
- package/dist/cjs/src/coinsph.js +2 -0
- package/dist/cjs/src/cryptocom.js +1 -0
- package/dist/cjs/src/delta.js +1 -0
- package/dist/cjs/src/digifinex.js +3 -0
- package/dist/cjs/src/exmo.js +1 -0
- package/dist/cjs/src/gate.js +4 -0
- package/dist/cjs/src/gemini.js +10 -9
- package/dist/cjs/src/hitbtc.js +3 -0
- package/dist/cjs/src/htx.js +3 -0
- package/dist/cjs/src/hyperliquid.js +1 -0
- package/dist/cjs/src/kucoin.js +40 -15
- package/dist/cjs/src/kucoinfutures.js +34 -3
- package/dist/cjs/src/latoken.js +4 -0
- package/dist/cjs/src/lbank.js +3 -1
- package/dist/cjs/src/luno.js +2 -0
- package/dist/cjs/src/mexc.js +55 -6
- package/dist/cjs/src/okx.js +159 -8
- package/dist/cjs/src/phemex.js +1 -0
- package/dist/cjs/src/pro/bitget.js +2 -0
- package/dist/cjs/src/static_dependencies/noble-curves/p256.js +48 -0
- package/dist/cjs/src/timex.js +2 -0
- package/dist/cjs/src/woo.js +1 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/bingx.d.ts +2 -0
- package/js/src/abstract/bybit.d.ts +2 -0
- package/js/src/ascendex.d.ts +3 -3
- package/js/src/ascendex.js +3 -0
- package/js/src/base/Exchange.d.ts +13 -8
- package/js/src/base/Exchange.js +53 -7
- package/js/src/base/functions/crypto.js +37 -0
- package/js/src/base/functions/rsa.d.ts +1 -1
- package/js/src/base/functions/rsa.js +21 -5
- package/js/src/base/types.d.ts +35 -1
- package/js/src/bigone.d.ts +2 -2
- package/js/src/binance.d.ts +6 -15
- package/js/src/binance.js +92 -9
- package/js/src/bingx.d.ts +3 -2
- package/js/src/bingx.js +101 -1
- package/js/src/bit2c.d.ts +2 -2
- package/js/src/bitbank.d.ts +2 -2
- package/js/src/bitfinex.d.ts +2 -2
- package/js/src/bitfinex2.d.ts +3 -3
- package/js/src/bitfinex2.js +1 -0
- package/js/src/bitflyer.d.ts +2 -7
- package/js/src/bitflyer.js +2 -0
- package/js/src/bitget.d.ts +6 -9
- package/js/src/bitget.js +9 -1
- package/js/src/bitmart.d.ts +4 -14
- package/js/src/bitmart.js +2 -0
- package/js/src/bitmex.d.ts +2 -2
- package/js/src/bitmex.js +1 -0
- package/js/src/bitopro.d.ts +3 -3
- package/js/src/bitrue.d.ts +2 -2
- package/js/src/bitrue.js +1 -0
- package/js/src/bitso.d.ts +2 -2
- package/js/src/bitstamp.d.ts +7 -19
- package/js/src/bitstamp.js +83 -99
- package/js/src/bitteam.d.ts +2 -2
- package/js/src/bitvavo.d.ts +3 -3
- package/js/src/bl3p.d.ts +2 -2
- package/js/src/blockchaincom.d.ts +2 -2
- package/js/src/blofin.d.ts +2 -7
- package/js/src/blofin.js +2 -0
- package/js/src/bybit.d.ts +7 -15
- package/js/src/bybit.js +63 -0
- package/js/src/cex.d.ts +3 -3
- package/js/src/coinbase.d.ts +2 -2
- package/js/src/coinbase.js +48 -24
- package/js/src/coinbaseinternational.d.ts +2 -2
- package/js/src/coinbaseinternational.js +1 -0
- package/js/src/coinbasepro.d.ts +3 -3
- package/js/src/coincheck.d.ts +2 -2
- package/js/src/coinex.d.ts +7 -19
- package/js/src/coinex.js +102 -8
- package/js/src/coinlist.d.ts +3 -3
- package/js/src/coinmate.d.ts +2 -9
- package/js/src/coinmetro.d.ts +2 -2
- package/js/src/coinone.d.ts +2 -2
- package/js/src/coinsph.d.ts +4 -14
- package/js/src/coinsph.js +2 -0
- package/js/src/cryptocom.js +1 -0
- package/js/src/currencycom.d.ts +3 -3
- package/js/src/delta.d.ts +2 -2
- package/js/src/delta.js +1 -0
- package/js/src/deribit.d.ts +3 -3
- package/js/src/digifinex.d.ts +4 -14
- package/js/src/digifinex.js +3 -0
- package/js/src/exmo.d.ts +3 -3
- package/js/src/exmo.js +1 -0
- package/js/src/gate.d.ts +6 -9
- package/js/src/gate.js +4 -0
- package/js/src/gemini.d.ts +3 -3
- package/js/src/gemini.js +10 -9
- package/js/src/hitbtc.d.ts +5 -15
- package/js/src/hitbtc.js +3 -0
- package/js/src/hollaex.d.ts +3 -3
- package/js/src/htx.d.ts +4 -14
- package/js/src/htx.js +3 -0
- package/js/src/huobijp.d.ts +2 -2
- package/js/src/hyperliquid.d.ts +2 -2
- package/js/src/hyperliquid.js +1 -0
- package/js/src/idex.d.ts +3 -3
- package/js/src/independentreserve.d.ts +2 -2
- package/js/src/kraken.d.ts +3 -10
- package/js/src/kucoin.d.ts +3 -10
- package/js/src/kucoin.js +40 -15
- package/js/src/kucoinfutures.d.ts +2 -9
- package/js/src/kucoinfutures.js +34 -3
- package/js/src/kuna.d.ts +2 -2
- package/js/src/latoken.d.ts +7 -8
- package/js/src/latoken.js +4 -0
- package/js/src/lbank.d.ts +4 -9
- package/js/src/lbank.js +3 -1
- package/js/src/luno.d.ts +2 -7
- package/js/src/luno.js +2 -0
- package/js/src/lykke.d.ts +2 -2
- package/js/src/mexc.d.ts +3 -3
- package/js/src/mexc.js +55 -6
- package/js/src/ndax.d.ts +2 -2
- package/js/src/oceanex.d.ts +2 -2
- package/js/src/okcoin.d.ts +2 -2
- package/js/src/okx.d.ts +5 -14
- package/js/src/okx.js +159 -8
- package/js/src/onetrading.d.ts +3 -3
- package/js/src/phemex.d.ts +2 -2
- package/js/src/phemex.js +1 -0
- package/js/src/poloniex.d.ts +3 -3
- package/js/src/pro/bitget.js +2 -0
- package/js/src/pro/bitvavo.d.ts +2 -2
- package/js/src/probit.d.ts +2 -2
- package/js/src/timex.d.ts +4 -14
- package/js/src/timex.js +2 -0
- package/js/src/upbit.d.ts +2 -9
- package/js/src/wazirx.d.ts +2 -2
- package/js/src/whitebit.d.ts +3 -3
- package/js/src/woo.d.ts +3 -3
- package/js/src/woo.js +1 -0
- package/js/src/yobit.d.ts +2 -2
- package/package.json +1 -1
- package/skip-tests.json +6 -1
package/js/src/okx.js
CHANGED
|
@@ -87,6 +87,7 @@ export default class okx extends Exchange {
|
|
|
87
87
|
'fetchLedgerEntry': undefined,
|
|
88
88
|
'fetchLeverage': true,
|
|
89
89
|
'fetchLeverageTiers': false,
|
|
90
|
+
'fetchMarginAdjustmentHistory': true,
|
|
90
91
|
'fetchMarketLeverageTiers': true,
|
|
91
92
|
'fetchMarkets': true,
|
|
92
93
|
'fetchMarkOHLCV': true,
|
|
@@ -2357,6 +2358,8 @@ export default class okx extends Exchange {
|
|
|
2357
2358
|
// OKX returns the fees as negative values opposed to other exchanges, so the sign needs to be flipped
|
|
2358
2359
|
'maker': this.parseNumber(Precise.stringNeg(this.safeString2(fee, 'maker', 'makerU'))),
|
|
2359
2360
|
'taker': this.parseNumber(Precise.stringNeg(this.safeString2(fee, 'taker', 'takerU'))),
|
|
2361
|
+
'percentage': undefined,
|
|
2362
|
+
'tierBased': undefined,
|
|
2360
2363
|
};
|
|
2361
2364
|
}
|
|
2362
2365
|
async fetchTradingFee(symbol, params = {}) {
|
|
@@ -6464,9 +6467,9 @@ export default class okx extends Exchange {
|
|
|
6464
6467
|
// }
|
|
6465
6468
|
//
|
|
6466
6469
|
const data = this.safeList(response, 'data', []);
|
|
6470
|
+
const entry = this.safeDict(data, 0, {});
|
|
6467
6471
|
const errorCode = this.safeString(response, 'code');
|
|
6468
|
-
|
|
6469
|
-
return this.extend(this.parseMarginModification(item, market), {
|
|
6472
|
+
return this.extend(this.parseMarginModification(entry, market), {
|
|
6470
6473
|
'status': (errorCode === '0') ? 'ok' : 'failed',
|
|
6471
6474
|
});
|
|
6472
6475
|
}
|
|
@@ -6481,22 +6484,68 @@ export default class okx extends Exchange {
|
|
|
6481
6484
|
// "type": "reduce"
|
|
6482
6485
|
// }
|
|
6483
6486
|
//
|
|
6484
|
-
|
|
6487
|
+
// fetchMarginAdjustmentHistory
|
|
6488
|
+
//
|
|
6489
|
+
// {
|
|
6490
|
+
// bal: '67621.4325135010619812',
|
|
6491
|
+
// balChg: '-10.0000000000000000',
|
|
6492
|
+
// billId: '691293628710342659',
|
|
6493
|
+
// ccy: 'USDT',
|
|
6494
|
+
// clOrdId: '',
|
|
6495
|
+
// execType: '',
|
|
6496
|
+
// fee: '0',
|
|
6497
|
+
// fillFwdPx: '',
|
|
6498
|
+
// fillIdxPx: '',
|
|
6499
|
+
// fillMarkPx: '',
|
|
6500
|
+
// fillMarkVol: '',
|
|
6501
|
+
// fillPxUsd: '',
|
|
6502
|
+
// fillPxVol: '',
|
|
6503
|
+
// fillTime: '1711089244850',
|
|
6504
|
+
// from: '',
|
|
6505
|
+
// instId: 'XRP-USDT-SWAP',
|
|
6506
|
+
// instType: 'SWAP',
|
|
6507
|
+
// interest: '0',
|
|
6508
|
+
// mgnMode: 'isolated',
|
|
6509
|
+
// notes: '',
|
|
6510
|
+
// ordId: '',
|
|
6511
|
+
// pnl: '0',
|
|
6512
|
+
// posBal: '73.12',
|
|
6513
|
+
// posBalChg: '10.00',
|
|
6514
|
+
// px: '',
|
|
6515
|
+
// subType: '160',
|
|
6516
|
+
// sz: '10',
|
|
6517
|
+
// tag: '',
|
|
6518
|
+
// to: '',
|
|
6519
|
+
// tradeId: '0',
|
|
6520
|
+
// ts: '1711089244699',
|
|
6521
|
+
// type: '6'
|
|
6522
|
+
// }
|
|
6523
|
+
//
|
|
6524
|
+
const amountRaw = this.safeString2(data, 'amt', 'posBalChg');
|
|
6485
6525
|
const typeRaw = this.safeString(data, 'type');
|
|
6486
|
-
|
|
6526
|
+
let type = undefined;
|
|
6527
|
+
if (typeRaw === '6') {
|
|
6528
|
+
type = Precise.stringGt(amountRaw, '0') ? 'add' : 'reduce';
|
|
6529
|
+
}
|
|
6530
|
+
else {
|
|
6531
|
+
type = typeRaw;
|
|
6532
|
+
}
|
|
6533
|
+
const amount = Precise.stringAbs(amountRaw);
|
|
6487
6534
|
const marketId = this.safeString(data, 'instId');
|
|
6488
6535
|
const responseMarket = this.safeMarket(marketId, market);
|
|
6489
6536
|
const code = responseMarket['inverse'] ? responseMarket['base'] : responseMarket['quote'];
|
|
6537
|
+
const timestamp = this.safeInteger(data, 'ts');
|
|
6490
6538
|
return {
|
|
6491
6539
|
'info': data,
|
|
6492
6540
|
'symbol': responseMarket['symbol'],
|
|
6493
6541
|
'type': type,
|
|
6494
|
-
'
|
|
6495
|
-
'
|
|
6542
|
+
'marginMode': 'isolated',
|
|
6543
|
+
'amount': this.parseNumber(amount),
|
|
6496
6544
|
'code': code,
|
|
6545
|
+
'total': undefined,
|
|
6497
6546
|
'status': undefined,
|
|
6498
|
-
'timestamp':
|
|
6499
|
-
'datetime':
|
|
6547
|
+
'timestamp': timestamp,
|
|
6548
|
+
'datetime': this.iso8601(timestamp),
|
|
6500
6549
|
};
|
|
6501
6550
|
}
|
|
6502
6551
|
async reduceMargin(symbol, amount, params = {}) {
|
|
@@ -7598,4 +7647,106 @@ export default class okx extends Exchange {
|
|
|
7598
7647
|
}
|
|
7599
7648
|
return undefined;
|
|
7600
7649
|
}
|
|
7650
|
+
async fetchMarginAdjustmentHistory(symbol = undefined, type = undefined, since = undefined, limit = undefined, params = {}) {
|
|
7651
|
+
/**
|
|
7652
|
+
* @method
|
|
7653
|
+
* @name okx#fetchMarginAdjustmentHistory
|
|
7654
|
+
* @description fetches the history of margin added or reduced from contract isolated positions
|
|
7655
|
+
* @see https://www.okx.com/docs-v5/en/#trading-account-rest-api-get-bills-details-last-7-days
|
|
7656
|
+
* @see https://www.okx.com/docs-v5/en/#trading-account-rest-api-get-bills-details-last-3-months
|
|
7657
|
+
* @param {string} [symbol] not used by okx fetchMarginAdjustmentHistory
|
|
7658
|
+
* @param {string} [type] "add" or "reduce"
|
|
7659
|
+
* @param {object} params extra parameters specific to the exchange api endpoint
|
|
7660
|
+
* @param {boolean} [params.auto] true if fetching auto margin increases
|
|
7661
|
+
* @returns {object[]} a list of [margin structures]{@link https://docs.ccxt.com/#/?id=margin-loan-structure}
|
|
7662
|
+
*/
|
|
7663
|
+
await this.loadMarkets();
|
|
7664
|
+
const auto = this.safeBool(params, 'auto');
|
|
7665
|
+
if (type === undefined) {
|
|
7666
|
+
throw new ArgumentsRequired(this.id + ' fetchMarginAdjustmentHistory () requires a type argument');
|
|
7667
|
+
}
|
|
7668
|
+
const isAdd = type === 'add';
|
|
7669
|
+
let subType = isAdd ? '160' : '161';
|
|
7670
|
+
if (auto) {
|
|
7671
|
+
if (isAdd) {
|
|
7672
|
+
subType = '162';
|
|
7673
|
+
}
|
|
7674
|
+
else {
|
|
7675
|
+
throw new BadRequest(this.id + ' cannot fetch margin adjustments for type ' + type);
|
|
7676
|
+
}
|
|
7677
|
+
}
|
|
7678
|
+
const request = {
|
|
7679
|
+
'subType': subType,
|
|
7680
|
+
'mgnMode': 'isolated',
|
|
7681
|
+
};
|
|
7682
|
+
const until = this.safeInteger(params, 'until');
|
|
7683
|
+
params = this.omit(params, 'until');
|
|
7684
|
+
if (since !== undefined) {
|
|
7685
|
+
request['startTime'] = since;
|
|
7686
|
+
}
|
|
7687
|
+
if (limit !== undefined) {
|
|
7688
|
+
request['limit'] = limit;
|
|
7689
|
+
}
|
|
7690
|
+
if (until !== undefined) {
|
|
7691
|
+
request['endTime'] = until;
|
|
7692
|
+
}
|
|
7693
|
+
let response = undefined;
|
|
7694
|
+
const now = this.milliseconds();
|
|
7695
|
+
const oneWeekAgo = now - 604800000;
|
|
7696
|
+
const threeMonthsAgo = now - 7776000000;
|
|
7697
|
+
if ((since === undefined) || (since > oneWeekAgo)) {
|
|
7698
|
+
response = await this.privateGetAccountBills(this.extend(request, params));
|
|
7699
|
+
}
|
|
7700
|
+
else if (since > threeMonthsAgo) {
|
|
7701
|
+
response = await this.privateGetAccountBillsArchive(this.extend(request, params));
|
|
7702
|
+
}
|
|
7703
|
+
else {
|
|
7704
|
+
throw new BadRequest(this.id + ' fetchMarginAdjustmentHistory () cannot fetch margin adjustments older than 3 months');
|
|
7705
|
+
}
|
|
7706
|
+
//
|
|
7707
|
+
// {
|
|
7708
|
+
// code: '0',
|
|
7709
|
+
// data: [
|
|
7710
|
+
// {
|
|
7711
|
+
// bal: '67621.4325135010619812',
|
|
7712
|
+
// balChg: '-10.0000000000000000',
|
|
7713
|
+
// billId: '691293628710342659',
|
|
7714
|
+
// ccy: 'USDT',
|
|
7715
|
+
// clOrdId: '',
|
|
7716
|
+
// execType: '',
|
|
7717
|
+
// fee: '0',
|
|
7718
|
+
// fillFwdPx: '',
|
|
7719
|
+
// fillIdxPx: '',
|
|
7720
|
+
// fillMarkPx: '',
|
|
7721
|
+
// fillMarkVol: '',
|
|
7722
|
+
// fillPxUsd: '',
|
|
7723
|
+
// fillPxVol: '',
|
|
7724
|
+
// fillTime: '1711089244850',
|
|
7725
|
+
// from: '',
|
|
7726
|
+
// instId: 'XRP-USDT-SWAP',
|
|
7727
|
+
// instType: 'SWAP',
|
|
7728
|
+
// interest: '0',
|
|
7729
|
+
// mgnMode: 'isolated',
|
|
7730
|
+
// notes: '',
|
|
7731
|
+
// ordId: '',
|
|
7732
|
+
// pnl: '0',
|
|
7733
|
+
// posBal: '73.12',
|
|
7734
|
+
// posBalChg: '10.00',
|
|
7735
|
+
// px: '',
|
|
7736
|
+
// subType: '160',
|
|
7737
|
+
// sz: '10',
|
|
7738
|
+
// tag: '',
|
|
7739
|
+
// to: '',
|
|
7740
|
+
// tradeId: '0',
|
|
7741
|
+
// ts: '1711089244699',
|
|
7742
|
+
// type: '6'
|
|
7743
|
+
// }
|
|
7744
|
+
// ],
|
|
7745
|
+
// msg: ''
|
|
7746
|
+
// }
|
|
7747
|
+
//
|
|
7748
|
+
const data = this.safeList(response, 'data');
|
|
7749
|
+
const modifications = this.parseMarginModifications(data);
|
|
7750
|
+
return this.filterBySymbolSinceLimit(modifications, symbol, since, limit);
|
|
7751
|
+
}
|
|
7601
7752
|
}
|
package/js/src/onetrading.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/onetrading.js';
|
|
2
|
-
import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
|
|
2
|
+
import type { Balances, Currencies, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, Transaction } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class onetrading
|
|
5
5
|
* @augments Exchange
|
|
@@ -7,10 +7,10 @@ import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, Ord
|
|
|
7
7
|
export default class onetrading extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
9
|
fetchTime(params?: {}): Promise<number>;
|
|
10
|
-
fetchCurrencies(params?: {}): Promise<
|
|
10
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
11
11
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
12
12
|
parseMarket(market: any): Market;
|
|
13
|
-
fetchTradingFees(params?: {}): Promise<
|
|
13
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
14
14
|
fetchPublicTradingFees(params?: {}): Promise<{}>;
|
|
15
15
|
fetchPrivateTradingFees(params?: {}): Promise<{}>;
|
|
16
16
|
parseFeeTiers(feeTiers: any, market?: Market): {
|
package/js/src/phemex.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/phemex.js';
|
|
2
|
-
import type { TransferEntry, Balances, Currency, FundingHistory, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, MarginModification } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Balances, Currency, FundingHistory, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, MarginModification, Currencies } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class phemex
|
|
5
5
|
* @augments Exchange
|
|
@@ -10,7 +10,7 @@ export default class phemex extends Exchange {
|
|
|
10
10
|
parseSwapMarket(market: any): import("./base/types.js").MarketInterface;
|
|
11
11
|
parseSpotMarket(market: any): import("./base/types.js").MarketInterface;
|
|
12
12
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
13
|
-
fetchCurrencies(params?: {}): Promise<
|
|
13
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
14
14
|
customParseBidAsk(bidask: any, priceKey?: number, amountKey?: number, market?: Market): number[];
|
|
15
15
|
customParseOrderBook(orderbook: any, symbol: any, timestamp?: any, bidsKey?: string, asksKey?: string, priceKey?: number, amountKey?: number, market?: Market): any;
|
|
16
16
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
package/js/src/phemex.js
CHANGED
|
@@ -4065,6 +4065,7 @@ export default class phemex extends Exchange {
|
|
|
4065
4065
|
'info': data,
|
|
4066
4066
|
'symbol': this.safeSymbol(undefined, market),
|
|
4067
4067
|
'type': 'set',
|
|
4068
|
+
'marginMode': 'isolated',
|
|
4068
4069
|
'amount': undefined,
|
|
4069
4070
|
'total': undefined,
|
|
4070
4071
|
'code': market[codeCurrency],
|
package/js/src/poloniex.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/poloniex.js';
|
|
2
|
-
import type { TransferEntry, Int, OrderSide, OrderType, OHLCV, Trade, OrderBook, Order, Balances, Str, Transaction, Ticker, Tickers, Market, Strings, Currency, Num } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Int, OrderSide, OrderType, OHLCV, Trade, OrderBook, Order, Balances, Str, Transaction, Ticker, Tickers, Market, Strings, Currency, Num, Currencies, TradingFees } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class poloniex
|
|
5
5
|
* @augments Exchange
|
|
@@ -14,7 +14,7 @@ export default class poloniex extends Exchange {
|
|
|
14
14
|
fetchTime(params?: {}): Promise<number>;
|
|
15
15
|
parseTicker(ticker: any, market?: Market): Ticker;
|
|
16
16
|
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
17
|
-
fetchCurrencies(params?: {}): Promise<
|
|
17
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
18
18
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
19
19
|
parseTrade(trade: any, market?: Market): Trade;
|
|
20
20
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
@@ -34,7 +34,7 @@ export default class poloniex extends Exchange {
|
|
|
34
34
|
fetchOrderTrades(id: string, symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
35
35
|
parseBalance(response: any): Balances;
|
|
36
36
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
37
|
-
fetchTradingFees(params?: {}): Promise<
|
|
37
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
38
38
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
39
39
|
createDepositAddress(code: string, params?: {}): Promise<{
|
|
40
40
|
currency: string;
|
package/js/src/pro/bitget.js
CHANGED
|
@@ -1725,6 +1725,8 @@ export default class bitget extends bitgetRest {
|
|
|
1725
1725
|
'ordersAlgo': this.handleOrder,
|
|
1726
1726
|
'account': this.handleBalance,
|
|
1727
1727
|
'positions': this.handlePositions,
|
|
1728
|
+
'account-isolated': this.handleBalance,
|
|
1729
|
+
'account-crossed': this.handleBalance,
|
|
1728
1730
|
};
|
|
1729
1731
|
const arg = this.safeValue(message, 'arg', {});
|
|
1730
1732
|
const topic = this.safeValue(arg, 'channel', '');
|
package/js/src/pro/bitvavo.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import bitvavoRest from '../bitvavo.js';
|
|
2
|
-
import { Int, Str, OrderSide, OrderType, OrderBook, Ticker, Trade, Order, OHLCV, Balances, Num } from '../base/types.js';
|
|
2
|
+
import { Int, Str, OrderSide, OrderType, OrderBook, Ticker, Trade, Order, OHLCV, Balances, Num, TradingFees } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class bitvavo extends bitvavoRest {
|
|
5
5
|
describe(): any;
|
|
@@ -40,7 +40,7 @@ export default class bitvavo extends bitvavoRest {
|
|
|
40
40
|
fetchOHLCVWs(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
41
41
|
fetchDepositsWs(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
|
|
42
42
|
handleDeposits(client: Client, message: any): void;
|
|
43
|
-
fetchTradingFeesWs(params?: {}): Promise<
|
|
43
|
+
fetchTradingFeesWs(params?: {}): Promise<TradingFees>;
|
|
44
44
|
fetchMarketsWs(params?: {}): Promise<any>;
|
|
45
45
|
fetchCurrenciesWs(params?: {}): Promise<any>;
|
|
46
46
|
handleFetchCurrencies(client: Client, message: any): void;
|
package/js/src/probit.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/probit.js';
|
|
2
|
-
import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
|
|
2
|
+
import type { Balances, Currencies, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class probit
|
|
5
5
|
* @augments Exchange
|
|
@@ -8,7 +8,7 @@ export default class probit extends Exchange {
|
|
|
8
8
|
describe(): any;
|
|
9
9
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
10
10
|
parseMarket(market: any): Market;
|
|
11
|
-
fetchCurrencies(params?: {}): Promise<
|
|
11
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
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/timex.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/timex.js';
|
|
2
|
-
import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
|
|
2
|
+
import type { Balances, Currencies, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class timex
|
|
5
5
|
* @augments Exchange
|
|
@@ -8,7 +8,7 @@ export default class timex extends Exchange {
|
|
|
8
8
|
describe(): any;
|
|
9
9
|
fetchTime(params?: {}): Promise<number>;
|
|
10
10
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
11
|
-
fetchCurrencies(params?: {}): Promise<
|
|
11
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
12
12
|
fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
13
13
|
fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
14
14
|
getCurrencyByAddress(address: any): any;
|
|
@@ -28,18 +28,8 @@ export default class timex extends Exchange {
|
|
|
28
28
|
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
29
29
|
fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
30
30
|
fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
31
|
-
parseTradingFee(fee: any, market?: Market):
|
|
32
|
-
|
|
33
|
-
symbol: string;
|
|
34
|
-
maker: number;
|
|
35
|
-
taker: number;
|
|
36
|
-
};
|
|
37
|
-
fetchTradingFee(symbol: string, params?: {}): Promise<{
|
|
38
|
-
info: any;
|
|
39
|
-
symbol: string;
|
|
40
|
-
maker: number;
|
|
41
|
-
taker: number;
|
|
42
|
-
}>;
|
|
31
|
+
parseTradingFee(fee: any, market?: Market): TradingFeeInterface;
|
|
32
|
+
fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
|
|
43
33
|
parseMarket(market: any): Market;
|
|
44
34
|
parseCurrency(currency: any): {
|
|
45
35
|
id: string;
|
package/js/src/timex.js
CHANGED
|
@@ -1164,6 +1164,8 @@ export default class timex extends Exchange {
|
|
|
1164
1164
|
'symbol': this.safeSymbol(marketId, market),
|
|
1165
1165
|
'maker': rate,
|
|
1166
1166
|
'taker': rate,
|
|
1167
|
+
'percentage': undefined,
|
|
1168
|
+
'tierBased': undefined,
|
|
1167
1169
|
};
|
|
1168
1170
|
}
|
|
1169
1171
|
async fetchTradingFee(symbol, params = {}) {
|
package/js/src/upbit.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/upbit.js';
|
|
2
|
-
import type { Balances, Currency, Dictionary, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
|
|
2
|
+
import type { Balances, Currency, Dictionary, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class upbit
|
|
5
5
|
* @augments Exchange
|
|
@@ -49,14 +49,7 @@ export default class upbit extends Exchange {
|
|
|
49
49
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
50
50
|
parseTrade(trade: any, market?: Market): Trade;
|
|
51
51
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
52
|
-
fetchTradingFee(symbol: string, params?: {}): Promise<
|
|
53
|
-
info: any;
|
|
54
|
-
symbol: string;
|
|
55
|
-
maker: number;
|
|
56
|
-
taker: number;
|
|
57
|
-
percentage: boolean;
|
|
58
|
-
tierBased: boolean;
|
|
59
|
-
}>;
|
|
52
|
+
fetchTradingFee(symbol: string, params?: {}): Promise<TradingFeeInterface>;
|
|
60
53
|
parseOHLCV(ohlcv: any, market?: Market): OHLCV;
|
|
61
54
|
fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
62
55
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
package/js/src/wazirx.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/wazirx.js';
|
|
2
|
-
import type { Balances, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
|
|
2
|
+
import type { Balances, Currencies, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class wazirx
|
|
5
5
|
* @augments Exchange
|
|
@@ -33,7 +33,7 @@ export default class wazirx extends Exchange {
|
|
|
33
33
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
|
34
34
|
parseOrder(order: any, market?: Market): Order;
|
|
35
35
|
parseOrderStatus(status: any): string;
|
|
36
|
-
fetchCurrencies(params?: {}): Promise<
|
|
36
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
37
37
|
fetchDepositAddress(code: string, params?: {}): Promise<{
|
|
38
38
|
currency: string;
|
|
39
39
|
address: string;
|
package/js/src/whitebit.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/whitebit.js';
|
|
2
|
-
import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Balances, Currency, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, Num, Currencies, TradingFees } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class whitebit
|
|
5
5
|
* @augments Exchange
|
|
@@ -8,7 +8,7 @@ export default class whitebit extends Exchange {
|
|
|
8
8
|
describe(): any;
|
|
9
9
|
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
10
10
|
parseMarket(market: any): Market;
|
|
11
|
-
fetchCurrencies(params?: {}): Promise<
|
|
11
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
12
12
|
fetchTransactionFees(codes?: string[], params?: {}): Promise<{
|
|
13
13
|
withdraw: {};
|
|
14
14
|
deposit: {};
|
|
@@ -16,7 +16,7 @@ export default class whitebit extends Exchange {
|
|
|
16
16
|
}>;
|
|
17
17
|
fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<{}>;
|
|
18
18
|
parseDepositWithdrawFees(response: any, codes?: any, currencyIdKey?: any): {};
|
|
19
|
-
fetchTradingFees(params?: {}): Promise<
|
|
19
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
20
20
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
21
21
|
parseTicker(ticker: any, market?: Market): Ticker;
|
|
22
22
|
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
package/js/src/woo.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/woo.js';
|
|
2
|
-
import type { TransferEntry, Balances, Currency, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, Transaction, Leverage, Account } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Balances, Currency, FundingRateHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Trade, Transaction, Leverage, Account, Currencies, TradingFees } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class woo
|
|
5
5
|
* @augments Exchange
|
|
@@ -19,8 +19,8 @@ export default class woo extends Exchange {
|
|
|
19
19
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
20
20
|
parseTrade(trade: any, market?: Market): Trade;
|
|
21
21
|
parseTokenAndFeeTemp(item: any, feeTokenKey: any, feeAmountKey: any): any;
|
|
22
|
-
fetchTradingFees(params?: {}): Promise<
|
|
23
|
-
fetchCurrencies(params?: {}): Promise<
|
|
22
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
23
|
+
fetchCurrencies(params?: {}): Promise<Currencies>;
|
|
24
24
|
createMarketBuyOrderWithCost(symbol: string, cost: number, params?: {}): Promise<Order>;
|
|
25
25
|
createTrailingAmountOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingAmount?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
|
|
26
26
|
createTrailingPercentOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, trailingPercent?: any, trailingTriggerPrice?: any, params?: {}): Promise<Order>;
|
package/js/src/woo.js
CHANGED
package/js/src/yobit.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/yobit.js';
|
|
2
|
-
import type { Transaction, Balances, Dictionary, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Num } from './base/types.js';
|
|
2
|
+
import type { Transaction, Balances, Dictionary, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Num, TradingFees } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class yobit
|
|
5
5
|
* @augments Exchange
|
|
@@ -16,7 +16,7 @@ export default class yobit extends Exchange {
|
|
|
16
16
|
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
17
17
|
parseTrade(trade: any, market?: Market): Trade;
|
|
18
18
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
19
|
-
fetchTradingFees(params?: {}): Promise<
|
|
19
|
+
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
20
20
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: number, price?: Num, params?: {}): Promise<Order>;
|
|
21
21
|
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
22
22
|
parseOrderStatus(status: any): string;
|
package/package.json
CHANGED
package/skip-tests.json
CHANGED
|
@@ -1264,7 +1264,12 @@
|
|
|
1264
1264
|
}
|
|
1265
1265
|
},
|
|
1266
1266
|
"poloniexfutures": {
|
|
1267
|
-
"skipCSharp": "too flaky, check the reason later"
|
|
1267
|
+
"skipCSharp": "too flaky, check the reason later",
|
|
1268
|
+
"skipMethods": {
|
|
1269
|
+
"watchOrderBook": {
|
|
1270
|
+
"spread": "https://app.travis-ci.com/github/ccxt/ccxt/builds/269769010#L3644"
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1268
1273
|
},
|
|
1269
1274
|
"okx": {
|
|
1270
1275
|
"skipCSharp": true,
|