ccxt 4.4.9 → 4.4.10
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 +131 -131
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ascendex.js +2 -1
- package/dist/cjs/src/binance.js +4 -8
- package/dist/cjs/src/bingx.js +19 -20
- package/dist/cjs/src/bitfinex2.js +5 -16
- package/dist/cjs/src/bitget.js +5 -4
- package/dist/cjs/src/bitmart.js +1 -0
- package/dist/cjs/src/bitmex.js +4 -3
- package/dist/cjs/src/blofin.js +4 -13
- package/dist/cjs/src/bybit.js +16 -14
- package/dist/cjs/src/coinex.js +15 -1
- package/dist/cjs/src/delta.js +2 -1
- package/dist/cjs/src/deribit.js +1 -0
- package/dist/cjs/src/digifinex.js +15 -1
- package/dist/cjs/src/gate.js +30 -9
- package/dist/cjs/src/hashkey.js +2 -2
- package/dist/cjs/src/hitbtc.js +2 -1
- package/dist/cjs/src/htx.js +19 -2
- package/dist/cjs/src/hyperliquid.js +6 -1
- package/dist/cjs/src/krakenfutures.js +3 -2
- package/dist/cjs/src/kucoinfutures.js +11 -0
- package/dist/cjs/src/mexc.js +1 -0
- package/dist/cjs/src/oceanex.js +83 -3
- package/dist/cjs/src/okx.js +14 -0
- package/dist/cjs/src/oxfun.js +4 -4
- package/dist/cjs/src/phemex.js +1 -0
- package/dist/cjs/src/poloniexfutures.js +11 -0
- package/dist/cjs/src/pro/deribit.js +43 -1
- package/dist/cjs/src/pro/gate.js +1 -1
- package/dist/cjs/src/vertex.js +2 -1
- package/dist/cjs/src/whitebit.js +10 -9
- package/dist/cjs/src/woo.js +42 -17
- package/dist/cjs/src/woofipro.js +15 -2
- package/dist/cjs/src/xt.js +2 -0
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/oceanex.d.ts +5 -0
- package/js/src/ascendex.d.ts +3 -21
- package/js/src/ascendex.js +2 -1
- package/js/src/base/Exchange.d.ts +3 -3
- package/js/src/base/types.d.ts +1 -0
- package/js/src/binance.d.ts +4 -40
- package/js/src/binance.js +4 -8
- package/js/src/bingx.d.ts +4 -40
- package/js/src/bingx.js +19 -20
- package/js/src/bitfinex2.d.ts +3 -22
- package/js/src/bitfinex2.js +5 -16
- package/js/src/bitget.d.ts +3 -39
- package/js/src/bitget.js +5 -4
- package/js/src/bitmart.d.ts +3 -39
- package/js/src/bitmart.js +1 -0
- package/js/src/bitmex.d.ts +3 -21
- package/js/src/bitmex.js +4 -3
- package/js/src/blofin.d.ts +3 -39
- package/js/src/blofin.js +4 -13
- package/js/src/bybit.d.ts +3 -21
- package/js/src/bybit.js +16 -14
- package/js/src/coinex.d.ts +5 -40
- package/js/src/coinex.js +15 -1
- package/js/src/delta.d.ts +4 -40
- package/js/src/delta.js +2 -1
- package/js/src/deribit.d.ts +3 -39
- package/js/src/deribit.js +1 -0
- package/js/src/digifinex.d.ts +4 -21
- package/js/src/digifinex.js +15 -1
- package/js/src/gate.d.ts +6 -41
- package/js/src/gate.js +30 -9
- package/js/src/hashkey.d.ts +4 -40
- package/js/src/hashkey.js +2 -2
- package/js/src/hitbtc.d.ts +4 -40
- package/js/src/hitbtc.js +2 -1
- package/js/src/htx.d.ts +5 -40
- package/js/src/htx.js +19 -2
- package/js/src/hyperliquid.js +6 -1
- package/js/src/krakenfutures.d.ts +3 -21
- package/js/src/krakenfutures.js +3 -2
- package/js/src/kucoinfutures.d.ts +3 -20
- package/js/src/kucoinfutures.js +11 -0
- package/js/src/mexc.d.ts +3 -39
- package/js/src/mexc.js +1 -0
- package/js/src/oceanex.d.ts +9 -1
- package/js/src/oceanex.js +83 -3
- package/js/src/okx.d.ts +4 -39
- package/js/src/okx.js +14 -0
- package/js/src/oxfun.d.ts +3 -21
- package/js/src/oxfun.js +4 -4
- package/js/src/phemex.d.ts +3 -39
- package/js/src/phemex.js +1 -0
- package/js/src/poloniexfutures.d.ts +3 -20
- package/js/src/poloniexfutures.js +11 -0
- package/js/src/pro/deribit.d.ts +2 -1
- package/js/src/pro/deribit.js +43 -1
- package/js/src/pro/gate.js +1 -1
- package/js/src/vertex.d.ts +4 -40
- package/js/src/vertex.js +2 -1
- package/js/src/whitebit.d.ts +4 -21
- package/js/src/whitebit.js +10 -9
- package/js/src/woo.d.ts +4 -40
- package/js/src/woo.js +42 -17
- package/js/src/woofipro.d.ts +5 -40
- package/js/src/woofipro.js +15 -2
- package/js/src/xt.d.ts +3 -39
- package/js/src/xt.js +2 -0
- package/package.json +1 -1
package/js/src/mexc.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/mexc.js';
|
|
2
|
-
import type { TransferEntry, IndexType, Int, OrderSide, Balances, OrderType, OHLCV, FundingRateHistory, Position, OrderBook, OrderRequest, FundingHistory, Order, Str, Trade, Transaction, Ticker, Tickers, Strings, Market, Currency, Leverage, Num, Account, MarginModification, Currencies, TradingFees, Dict, LeverageTier, LeverageTiers, int } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, IndexType, Int, OrderSide, Balances, OrderType, OHLCV, FundingRateHistory, Position, OrderBook, OrderRequest, FundingHistory, Order, Str, Trade, Transaction, Ticker, Tickers, Strings, Market, Currency, Leverage, Num, Account, MarginModification, Currencies, TradingFees, Dict, LeverageTier, LeverageTiers, int, FundingRate } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class mexc
|
|
5
5
|
* @augments Exchange
|
|
@@ -64,44 +64,8 @@ export default class mexc extends Exchange {
|
|
|
64
64
|
addMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
|
|
65
65
|
setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
|
|
66
66
|
fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
|
|
67
|
-
parseFundingRate(contract: any, market?: Market):
|
|
68
|
-
|
|
69
|
-
symbol: string;
|
|
70
|
-
markPrice: any;
|
|
71
|
-
indexPrice: any;
|
|
72
|
-
interestRate: any;
|
|
73
|
-
estimatedSettlePrice: any;
|
|
74
|
-
timestamp: number;
|
|
75
|
-
datetime: string;
|
|
76
|
-
fundingRate: number;
|
|
77
|
-
fundingTimestamp: number;
|
|
78
|
-
fundingDatetime: string;
|
|
79
|
-
nextFundingRate: any;
|
|
80
|
-
nextFundingTimestamp: any;
|
|
81
|
-
nextFundingDatetime: any;
|
|
82
|
-
previousFundingRate: any;
|
|
83
|
-
previousFundingTimestamp: any;
|
|
84
|
-
previousFundingDatetime: any;
|
|
85
|
-
};
|
|
86
|
-
fetchFundingRate(symbol: string, params?: {}): Promise<{
|
|
87
|
-
info: any;
|
|
88
|
-
symbol: string;
|
|
89
|
-
markPrice: any;
|
|
90
|
-
indexPrice: any;
|
|
91
|
-
interestRate: any;
|
|
92
|
-
estimatedSettlePrice: any;
|
|
93
|
-
timestamp: number;
|
|
94
|
-
datetime: string;
|
|
95
|
-
fundingRate: number;
|
|
96
|
-
fundingTimestamp: number;
|
|
97
|
-
fundingDatetime: string;
|
|
98
|
-
nextFundingRate: any;
|
|
99
|
-
nextFundingTimestamp: any;
|
|
100
|
-
nextFundingDatetime: any;
|
|
101
|
-
previousFundingRate: any;
|
|
102
|
-
previousFundingTimestamp: any;
|
|
103
|
-
previousFundingDatetime: any;
|
|
104
|
-
}>;
|
|
67
|
+
parseFundingRate(contract: any, market?: Market): FundingRate;
|
|
68
|
+
fetchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;
|
|
105
69
|
fetchFundingRateHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
|
|
106
70
|
fetchLeverageTiers(symbols?: Strings, params?: {}): Promise<LeverageTiers>;
|
|
107
71
|
parseMarketLeverageTiers(info: any, market?: Market): LeverageTier[];
|
package/js/src/mexc.js
CHANGED
|
@@ -4217,6 +4217,7 @@ export default class mexc extends Exchange {
|
|
|
4217
4217
|
'previousFundingRate': undefined,
|
|
4218
4218
|
'previousFundingTimestamp': undefined,
|
|
4219
4219
|
'previousFundingDatetime': undefined,
|
|
4220
|
+
'interval': undefined,
|
|
4220
4221
|
};
|
|
4221
4222
|
}
|
|
4222
4223
|
async fetchFundingRate(symbol, params = {}) {
|
package/js/src/oceanex.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/oceanex.js';
|
|
2
|
-
import type { Balances, Dict, Dictionary, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, int } from './base/types.js';
|
|
2
|
+
import type { Balances, Currency, Dict, Dictionary, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFees, int } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class oceanex
|
|
5
5
|
* @augments Exchange
|
|
@@ -32,6 +32,14 @@ export default class oceanex extends Exchange {
|
|
|
32
32
|
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
33
33
|
cancelOrders(ids: any, symbol?: Str, params?: {}): Promise<Order[]>;
|
|
34
34
|
cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
|
|
35
|
+
fetchDepositAddressesByNetwork(code: string, params?: {}): Promise<{}>;
|
|
36
|
+
parseDepositAddress(depositAddress: any, currency?: Currency): {
|
|
37
|
+
info: any;
|
|
38
|
+
currency: string;
|
|
39
|
+
address: string;
|
|
40
|
+
tag: string;
|
|
41
|
+
network: string;
|
|
42
|
+
};
|
|
35
43
|
sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
|
|
36
44
|
url: string;
|
|
37
45
|
method: string;
|
package/js/src/oceanex.js
CHANGED
|
@@ -50,9 +50,9 @@ export default class oceanex extends Exchange {
|
|
|
50
50
|
'fetchClosedOrders': true,
|
|
51
51
|
'fetchCrossBorrowRate': false,
|
|
52
52
|
'fetchCrossBorrowRates': false,
|
|
53
|
-
'fetchDepositAddress':
|
|
54
|
-
'fetchDepositAddresses':
|
|
55
|
-
'fetchDepositAddressesByNetwork':
|
|
53
|
+
'fetchDepositAddress': 'emulated',
|
|
54
|
+
'fetchDepositAddresses': undefined,
|
|
55
|
+
'fetchDepositAddressesByNetwork': true,
|
|
56
56
|
'fetchIsolatedBorrowRate': false,
|
|
57
57
|
'fetchIsolatedBorrowRates': false,
|
|
58
58
|
'fetchMarkets': true,
|
|
@@ -113,6 +113,11 @@ export default class oceanex extends Exchange {
|
|
|
113
113
|
'order/delete',
|
|
114
114
|
'order/delete/multi',
|
|
115
115
|
'orders/clear',
|
|
116
|
+
'/withdraws/special/new',
|
|
117
|
+
'/deposit_address',
|
|
118
|
+
'/deposit_addresses',
|
|
119
|
+
'/deposit_history',
|
|
120
|
+
'/withdraw_history',
|
|
116
121
|
],
|
|
117
122
|
},
|
|
118
123
|
},
|
|
@@ -913,6 +918,81 @@ export default class oceanex extends Exchange {
|
|
|
913
918
|
const data = this.safeList(response, 'data');
|
|
914
919
|
return this.parseOrders(data);
|
|
915
920
|
}
|
|
921
|
+
async fetchDepositAddressesByNetwork(code, params = {}) {
|
|
922
|
+
/**
|
|
923
|
+
* @method
|
|
924
|
+
* @name oceanex#fetchDepositAddressesByNetwork
|
|
925
|
+
* @description fetch the deposit addresses for a currency associated with this account
|
|
926
|
+
* @see https://api.oceanex.pro/doc/v1/#deposit-addresses-post
|
|
927
|
+
* @param {string} code unified currency code
|
|
928
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
929
|
+
* @returns {object} a dictionary [address structures]{@link https://docs.ccxt.com/#/?id=address-structure}, indexed by the network
|
|
930
|
+
*/
|
|
931
|
+
await this.loadMarkets();
|
|
932
|
+
const currency = this.currency(code);
|
|
933
|
+
const request = {
|
|
934
|
+
'currency': currency['id'],
|
|
935
|
+
};
|
|
936
|
+
const response = await this.privatePostDepositAddresses(this.extend(request, params));
|
|
937
|
+
//
|
|
938
|
+
// {
|
|
939
|
+
// code: '0',
|
|
940
|
+
// message: 'Operation successful',
|
|
941
|
+
// data: {
|
|
942
|
+
// data: {
|
|
943
|
+
// currency_id: 'usdt',
|
|
944
|
+
// display_name: 'USDT',
|
|
945
|
+
// num_of_resources: '3',
|
|
946
|
+
// resources: [
|
|
947
|
+
// {
|
|
948
|
+
// chain_name: 'TRC20',
|
|
949
|
+
// currency_id: 'usdt',
|
|
950
|
+
// address: 'TPcS7VgKMFmpRrWY82GbJzDeMnemWxEbpg',
|
|
951
|
+
// memo: '',
|
|
952
|
+
// deposit_status: 'enabled'
|
|
953
|
+
// },
|
|
954
|
+
// ...
|
|
955
|
+
// ]
|
|
956
|
+
// }
|
|
957
|
+
// }
|
|
958
|
+
// }
|
|
959
|
+
//
|
|
960
|
+
const data = this.safeDict(response, 'data', {});
|
|
961
|
+
const data2 = this.safeDict(data, 'data', {});
|
|
962
|
+
const resources = this.safeList(data2, 'resources', []);
|
|
963
|
+
const result = {};
|
|
964
|
+
for (let i = 0; i < resources.length; i++) {
|
|
965
|
+
const resource = resources[i];
|
|
966
|
+
const enabled = this.safeString(resource, 'deposit_status');
|
|
967
|
+
if (enabled === 'enabled') {
|
|
968
|
+
const parsedAddress = this.parseDepositAddress(resource, currency);
|
|
969
|
+
result[parsedAddress['currency']] = parsedAddress;
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
return result;
|
|
973
|
+
}
|
|
974
|
+
parseDepositAddress(depositAddress, currency = undefined) {
|
|
975
|
+
//
|
|
976
|
+
// {
|
|
977
|
+
// chain_name: 'TRC20',
|
|
978
|
+
// currency_id: 'usdt',
|
|
979
|
+
// address: 'TPcS7VgKMFmpRrWY82GbJzDeMnemWxEbpg',
|
|
980
|
+
// memo: '',
|
|
981
|
+
// deposit_status: 'enabled'
|
|
982
|
+
// }
|
|
983
|
+
//
|
|
984
|
+
const address = this.safeString(depositAddress, 'address');
|
|
985
|
+
this.checkAddress(address);
|
|
986
|
+
const currencyId = this.safeString(depositAddress, 'currency_id');
|
|
987
|
+
const networkId = this.safeString(depositAddress, 'chain_name');
|
|
988
|
+
return {
|
|
989
|
+
'info': depositAddress,
|
|
990
|
+
'currency': this.safeCurrencyCode(currencyId, currency),
|
|
991
|
+
'address': address,
|
|
992
|
+
'tag': this.safeString(depositAddress, 'memo'),
|
|
993
|
+
'network': this.networkIdToCode(networkId),
|
|
994
|
+
};
|
|
995
|
+
}
|
|
916
996
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
917
997
|
let url = this.urls['api']['rest'] + '/' + this.version + '/' + this.implodeParams(path, params);
|
|
918
998
|
const query = this.omit(params, this.extractParams(path));
|
package/js/src/okx.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/okx.js';
|
|
2
|
-
import type { TransferEntry, Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Str, Transaction, Ticker, OrderBook, Balances, Tickers, Market, Greeks, Strings, MarketInterface, Currency, Leverage, Num, Account, OptionChain, Option, MarginModification, TradingFeeInterface, Currencies, Conversion, CancellationRequest, Dict, Position, CrossBorrowRate, CrossBorrowRates, LeverageTier, int, LedgerEntry } from './base/types.js';
|
|
2
|
+
import type { TransferEntry, Int, OrderSide, OrderType, Trade, OHLCV, Order, FundingRateHistory, OrderRequest, FundingHistory, Str, Transaction, Ticker, OrderBook, Balances, Tickers, Market, Greeks, Strings, MarketInterface, Currency, Leverage, Num, Account, OptionChain, Option, MarginModification, TradingFeeInterface, Currencies, Conversion, CancellationRequest, Dict, Position, CrossBorrowRate, CrossBorrowRates, LeverageTier, int, LedgerEntry, FundingRate } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class okx
|
|
5
5
|
* @augments Exchange
|
|
@@ -88,44 +88,9 @@ export default class okx extends Exchange {
|
|
|
88
88
|
body: any;
|
|
89
89
|
headers: any;
|
|
90
90
|
};
|
|
91
|
-
parseFundingRate(contract: any, market?: Market):
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
markPrice: any;
|
|
95
|
-
indexPrice: any;
|
|
96
|
-
interestRate: number;
|
|
97
|
-
estimatedSettlePrice: any;
|
|
98
|
-
timestamp: any;
|
|
99
|
-
datetime: any;
|
|
100
|
-
fundingRate: number;
|
|
101
|
-
fundingTimestamp: number;
|
|
102
|
-
fundingDatetime: string;
|
|
103
|
-
nextFundingRate: number;
|
|
104
|
-
nextFundingTimestamp: number;
|
|
105
|
-
nextFundingDatetime: string;
|
|
106
|
-
previousFundingRate: any;
|
|
107
|
-
previousFundingTimestamp: any;
|
|
108
|
-
previousFundingDatetime: any;
|
|
109
|
-
};
|
|
110
|
-
fetchFundingRate(symbol: string, params?: {}): Promise<{
|
|
111
|
-
info: any;
|
|
112
|
-
symbol: string;
|
|
113
|
-
markPrice: any;
|
|
114
|
-
indexPrice: any;
|
|
115
|
-
interestRate: number;
|
|
116
|
-
estimatedSettlePrice: any;
|
|
117
|
-
timestamp: any;
|
|
118
|
-
datetime: any;
|
|
119
|
-
fundingRate: number;
|
|
120
|
-
fundingTimestamp: number;
|
|
121
|
-
fundingDatetime: string;
|
|
122
|
-
nextFundingRate: number;
|
|
123
|
-
nextFundingTimestamp: number;
|
|
124
|
-
nextFundingDatetime: string;
|
|
125
|
-
previousFundingRate: any;
|
|
126
|
-
previousFundingTimestamp: any;
|
|
127
|
-
previousFundingDatetime: any;
|
|
128
|
-
}>;
|
|
91
|
+
parseFundingRate(contract: any, market?: Market): FundingRate;
|
|
92
|
+
parseFundingInterval(interval: any): string;
|
|
93
|
+
fetchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;
|
|
129
94
|
fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
|
|
130
95
|
setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
|
|
131
96
|
fetchPositionMode(symbol?: Str, params?: {}): Promise<{
|
package/js/src/okx.js
CHANGED
|
@@ -6052,6 +6052,9 @@ export default class okx extends Exchange {
|
|
|
6052
6052
|
const symbol = this.safeSymbol(marketId, market);
|
|
6053
6053
|
const nextFundingRate = this.safeNumber(contract, 'nextFundingRate');
|
|
6054
6054
|
const fundingTime = this.safeInteger(contract, 'fundingTime');
|
|
6055
|
+
const fundingTimeString = this.safeString(contract, 'fundingTime');
|
|
6056
|
+
const nextFundingTimeString = this.safeString(contract, 'nextFundingRate');
|
|
6057
|
+
const millisecondsInterval = Precise.stringSub(nextFundingTimeString, fundingTimeString);
|
|
6055
6058
|
// https://www.okx.com/support/hc/en-us/articles/360053909272-Ⅸ-Introduction-to-perpetual-swap-funding-fee
|
|
6056
6059
|
// > The current interest is 0.
|
|
6057
6060
|
return {
|
|
@@ -6072,8 +6075,19 @@ export default class okx extends Exchange {
|
|
|
6072
6075
|
'previousFundingRate': undefined,
|
|
6073
6076
|
'previousFundingTimestamp': undefined,
|
|
6074
6077
|
'previousFundingDatetime': undefined,
|
|
6078
|
+
'interval': this.parseFundingInterval(millisecondsInterval),
|
|
6075
6079
|
};
|
|
6076
6080
|
}
|
|
6081
|
+
parseFundingInterval(interval) {
|
|
6082
|
+
const intervals = {
|
|
6083
|
+
'3600000': '1h',
|
|
6084
|
+
'14400000': '4h',
|
|
6085
|
+
'28800000': '8h',
|
|
6086
|
+
'57600000': '16h',
|
|
6087
|
+
'86400000': '24h',
|
|
6088
|
+
};
|
|
6089
|
+
return this.safeString(intervals, interval, interval);
|
|
6090
|
+
}
|
|
6077
6091
|
async fetchFundingRate(symbol, params = {}) {
|
|
6078
6092
|
/**
|
|
6079
6093
|
* @method
|
package/js/src/oxfun.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/oxfun.js';
|
|
2
|
-
import type { Account, Balances, Currencies, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderType, OrderSide, OrderRequest, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry } from './base/types.js';
|
|
2
|
+
import type { Account, Balances, Currencies, Currency, Int, Market, Num, OHLCV, Order, OrderBook, OrderType, OrderSide, OrderRequest, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry, FundingRate, FundingRates } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class oxfun
|
|
5
5
|
* @augments Exchange
|
|
@@ -16,26 +16,8 @@ export default class oxfun extends Exchange {
|
|
|
16
16
|
fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
17
17
|
parseOHLCV(ohlcv: any, market?: Market): OHLCV;
|
|
18
18
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
19
|
-
fetchFundingRates(symbols?: Strings, params?: {}): Promise<
|
|
20
|
-
parseFundingRate(fundingRate: any, market?: Market):
|
|
21
|
-
info: any;
|
|
22
|
-
symbol: string;
|
|
23
|
-
markPrice: any;
|
|
24
|
-
indexPrice: any;
|
|
25
|
-
interestRate: number;
|
|
26
|
-
estimatedSettlePrice: any;
|
|
27
|
-
timestamp: number;
|
|
28
|
-
datetime: string;
|
|
29
|
-
fundingRate: number;
|
|
30
|
-
fundingTimestamp: any;
|
|
31
|
-
fundingDatetime: any;
|
|
32
|
-
nextFundingRate: any;
|
|
33
|
-
nextFundingTimestamp: any;
|
|
34
|
-
nextFundingDatetime: any;
|
|
35
|
-
previousFundingRate: any;
|
|
36
|
-
previousFundingTimestamp: any;
|
|
37
|
-
previousFundingDatetime: any;
|
|
38
|
-
};
|
|
19
|
+
fetchFundingRates(symbols?: Strings, params?: {}): Promise<FundingRates>;
|
|
20
|
+
parseFundingRate(fundingRate: any, market?: Market): FundingRate;
|
|
39
21
|
fetchFundingRateHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").FundingRateHistory[]>;
|
|
40
22
|
parseFundingRateHistory(info: any, market?: Market): {
|
|
41
23
|
info: any;
|
package/js/src/oxfun.js
CHANGED
|
@@ -70,7 +70,7 @@ export default class oxfun extends Exchange {
|
|
|
70
70
|
'fetchDepositWithdrawFee': false,
|
|
71
71
|
'fetchDepositWithdrawFees': false,
|
|
72
72
|
'fetchFundingHistory': true,
|
|
73
|
-
'fetchFundingRate':
|
|
73
|
+
'fetchFundingRate': 'emulated',
|
|
74
74
|
'fetchFundingRateHistory': true,
|
|
75
75
|
'fetchFundingRates': true,
|
|
76
76
|
'fetchIndexOHLCV': false,
|
|
@@ -1004,8 +1004,8 @@ export default class oxfun extends Exchange {
|
|
|
1004
1004
|
/**
|
|
1005
1005
|
* @method
|
|
1006
1006
|
* @name oxfun#fetchFundingRates
|
|
1007
|
+
* @description fetch the current funding rates for multiple markets
|
|
1007
1008
|
* @see https://docs.ox.fun/?json#get-v3-funding-estimates
|
|
1008
|
-
* @description fetch the current funding rates
|
|
1009
1009
|
* @param {string[]} symbols unified market symbols
|
|
1010
1010
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1011
1011
|
* @returns {Order[]} an array of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
|
|
@@ -1041,8 +1041,7 @@ export default class oxfun extends Exchange {
|
|
|
1041
1041
|
// "marketCode": "OX-USD-SWAP-LIN",
|
|
1042
1042
|
// "fundingAt": "1715515200000",
|
|
1043
1043
|
// "estFundingRate": "0.000200000"
|
|
1044
|
-
// }
|
|
1045
|
-
//
|
|
1044
|
+
// }
|
|
1046
1045
|
//
|
|
1047
1046
|
const symbol = this.safeString(fundingRate, 'marketCode');
|
|
1048
1047
|
market = this.market(symbol);
|
|
@@ -1065,6 +1064,7 @@ export default class oxfun extends Exchange {
|
|
|
1065
1064
|
'previousFundingRate': undefined,
|
|
1066
1065
|
'previousFundingTimestamp': undefined,
|
|
1067
1066
|
'previousFundingDatetime': undefined,
|
|
1067
|
+
'interval': undefined,
|
|
1068
1068
|
};
|
|
1069
1069
|
}
|
|
1070
1070
|
async fetchFundingRateHistory(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
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, Currencies, Dict, LeverageTier, LeverageTiers, int } 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, Dict, LeverageTier, LeverageTiers, int, FundingRate } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class phemex
|
|
5
5
|
* @augments Exchange
|
|
@@ -62,44 +62,8 @@ export default class phemex extends Exchange {
|
|
|
62
62
|
parsePosition(position: Dict, market?: Market): import("./base/types.js").Position;
|
|
63
63
|
fetchFundingHistory(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
|
|
64
64
|
parseFundingFeeToPrecision(value: any, market?: Market, currencyCode?: Str): any;
|
|
65
|
-
fetchFundingRate(symbol: string, params?: {}): Promise<
|
|
66
|
-
|
|
67
|
-
symbol: string;
|
|
68
|
-
markPrice: any;
|
|
69
|
-
indexPrice: any;
|
|
70
|
-
interestRate: any;
|
|
71
|
-
estimatedSettlePrice: any;
|
|
72
|
-
timestamp: number;
|
|
73
|
-
datetime: string;
|
|
74
|
-
fundingRate: any;
|
|
75
|
-
fundingTimestamp: any;
|
|
76
|
-
fundingDatetime: any;
|
|
77
|
-
nextFundingRate: any;
|
|
78
|
-
nextFundingTimestamp: any;
|
|
79
|
-
nextFundingDatetime: any;
|
|
80
|
-
previousFundingRate: any;
|
|
81
|
-
previousFundingTimestamp: any;
|
|
82
|
-
previousFundingDatetime: any;
|
|
83
|
-
}>;
|
|
84
|
-
parseFundingRate(contract: any, market?: Market): {
|
|
85
|
-
info: any;
|
|
86
|
-
symbol: string;
|
|
87
|
-
markPrice: any;
|
|
88
|
-
indexPrice: any;
|
|
89
|
-
interestRate: any;
|
|
90
|
-
estimatedSettlePrice: any;
|
|
91
|
-
timestamp: number;
|
|
92
|
-
datetime: string;
|
|
93
|
-
fundingRate: any;
|
|
94
|
-
fundingTimestamp: any;
|
|
95
|
-
fundingDatetime: any;
|
|
96
|
-
nextFundingRate: any;
|
|
97
|
-
nextFundingTimestamp: any;
|
|
98
|
-
nextFundingDatetime: any;
|
|
99
|
-
previousFundingRate: any;
|
|
100
|
-
previousFundingTimestamp: any;
|
|
101
|
-
previousFundingDatetime: any;
|
|
102
|
-
};
|
|
65
|
+
fetchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;
|
|
66
|
+
parseFundingRate(contract: any, market?: Market): FundingRate;
|
|
103
67
|
setMargin(symbol: string, amount: number, params?: {}): Promise<MarginModification>;
|
|
104
68
|
parseMarginStatus(status: any): string;
|
|
105
69
|
parseMarginModification(data: Dict, market?: Market): MarginModification;
|
package/js/src/phemex.js
CHANGED
|
@@ -4131,6 +4131,7 @@ export default class phemex extends Exchange {
|
|
|
4131
4131
|
'previousFundingRate': undefined,
|
|
4132
4132
|
'previousFundingTimestamp': undefined,
|
|
4133
4133
|
'previousFundingDatetime': undefined,
|
|
4134
|
+
'interval': undefined,
|
|
4134
4135
|
};
|
|
4135
4136
|
}
|
|
4136
4137
|
async setMargin(symbol, amount, params = {}) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/poloniexfutures.js';
|
|
2
|
-
import type { Balances, Dict, FundingHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, int } from './base/types.js';
|
|
2
|
+
import type { Balances, Dict, FundingHistory, Int, Market, Num, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, int, FundingRate } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class poloniexfutures
|
|
5
5
|
* @augments Exchange
|
|
@@ -55,25 +55,8 @@ export default class poloniexfutures extends Exchange {
|
|
|
55
55
|
fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
56
56
|
fetchOrder(id?: Str, symbol?: Str, params?: {}): Promise<Order>;
|
|
57
57
|
parseOrder(order: Dict, market?: Market): Order;
|
|
58
|
-
fetchFundingRate(symbol: string, params?: {}): Promise<
|
|
59
|
-
|
|
60
|
-
symbol: string;
|
|
61
|
-
markPrice: any;
|
|
62
|
-
indexPrice: any;
|
|
63
|
-
interestRate: any;
|
|
64
|
-
estimatedSettlePrice: any;
|
|
65
|
-
timestamp: any;
|
|
66
|
-
datetime: any;
|
|
67
|
-
fundingRate: number;
|
|
68
|
-
fundingTimestamp: any;
|
|
69
|
-
fundingDatetime: any;
|
|
70
|
-
nextFundingRate: any;
|
|
71
|
-
nextFundingTimestamp: any;
|
|
72
|
-
nextFundingDatetime: any;
|
|
73
|
-
previousFundingRate: number;
|
|
74
|
-
previousFundingTimestamp: number;
|
|
75
|
-
previousFundingDatetime: string;
|
|
76
|
-
}>;
|
|
58
|
+
fetchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;
|
|
59
|
+
parseFundingInterval(interval: any): string;
|
|
77
60
|
fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
78
61
|
setMarginMode(marginMode: string, symbol?: Str, params?: {}): Promise<any>;
|
|
79
62
|
sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
|
|
@@ -1658,8 +1658,19 @@ export default class poloniexfutures extends Exchange {
|
|
|
1658
1658
|
'previousFundingRate': this.safeNumber(data, 'value'),
|
|
1659
1659
|
'previousFundingTimestamp': fundingTimestamp,
|
|
1660
1660
|
'previousFundingDatetime': this.iso8601(fundingTimestamp),
|
|
1661
|
+
'interval': this.parseFundingInterval(this.safeString(data, 'interval')),
|
|
1661
1662
|
};
|
|
1662
1663
|
}
|
|
1664
|
+
parseFundingInterval(interval) {
|
|
1665
|
+
const intervals = {
|
|
1666
|
+
'3600000': '1h',
|
|
1667
|
+
'14400000': '4h',
|
|
1668
|
+
'28800000': '8h',
|
|
1669
|
+
'57600000': '16h',
|
|
1670
|
+
'86400000': '24h',
|
|
1671
|
+
};
|
|
1672
|
+
return this.safeString(intervals, interval, interval);
|
|
1673
|
+
}
|
|
1663
1674
|
async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
1664
1675
|
/**
|
|
1665
1676
|
* @method
|
package/js/src/pro/deribit.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import deribitRest from '../deribit.js';
|
|
2
|
-
import type { Int, Str, OrderBook, Order, Trade, Ticker, OHLCV, Balances } from '../base/types.js';
|
|
2
|
+
import type { Int, Str, OrderBook, Order, Trade, Ticker, OHLCV, Balances, Strings, Tickers } from '../base/types.js';
|
|
3
3
|
import Client from '../base/ws/Client.js';
|
|
4
4
|
export default class deribit extends deribitRest {
|
|
5
5
|
describe(): any;
|
|
@@ -7,6 +7,7 @@ export default class deribit extends deribitRest {
|
|
|
7
7
|
watchBalance(params?: {}): Promise<Balances>;
|
|
8
8
|
handleBalance(client: Client, message: any): void;
|
|
9
9
|
watchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
10
|
+
watchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
10
11
|
handleTicker(client: Client, message: any): void;
|
|
11
12
|
watchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
12
13
|
watchTradesForSymbols(symbols: string[], since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
package/js/src/pro/deribit.js
CHANGED
|
@@ -17,7 +17,7 @@ export default class deribit extends deribitRest {
|
|
|
17
17
|
'ws': true,
|
|
18
18
|
'watchBalance': true,
|
|
19
19
|
'watchTicker': true,
|
|
20
|
-
'watchTickers':
|
|
20
|
+
'watchTickers': true,
|
|
21
21
|
'watchTrades': true,
|
|
22
22
|
'watchTradesForSymbols': true,
|
|
23
23
|
'watchMyTrades': true,
|
|
@@ -188,6 +188,48 @@ export default class deribit extends deribitRest {
|
|
|
188
188
|
const request = this.deepExtend(message, params);
|
|
189
189
|
return await this.watch(url, channel, request, channel, request);
|
|
190
190
|
}
|
|
191
|
+
async watchTickers(symbols = undefined, params = {}) {
|
|
192
|
+
/**
|
|
193
|
+
* @method
|
|
194
|
+
* @name deribit#watchTickers
|
|
195
|
+
* @see https://docs.deribit.com/#ticker-instrument_name-interval
|
|
196
|
+
* @description watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for all markets of a specific list
|
|
197
|
+
* @param {string[]} [symbols] unified symbol of the market to fetch the ticker for
|
|
198
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
199
|
+
* @param {str} [params.interval] specify aggregation and frequency of notifications. Possible values: 100ms, raw
|
|
200
|
+
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
201
|
+
*/
|
|
202
|
+
await this.loadMarkets();
|
|
203
|
+
symbols = this.marketSymbols(symbols, undefined, false);
|
|
204
|
+
const url = this.urls['api']['ws'];
|
|
205
|
+
const interval = this.safeString(params, 'interval', '100ms');
|
|
206
|
+
params = this.omit(params, 'interval');
|
|
207
|
+
await this.loadMarkets();
|
|
208
|
+
if (interval === 'raw') {
|
|
209
|
+
await this.authenticate();
|
|
210
|
+
}
|
|
211
|
+
const channels = [];
|
|
212
|
+
for (let i = 0; i < symbols.length; i++) {
|
|
213
|
+
const market = this.market(symbols[i]);
|
|
214
|
+
channels.push('ticker.' + market['id'] + '.' + interval);
|
|
215
|
+
}
|
|
216
|
+
const message = {
|
|
217
|
+
'jsonrpc': '2.0',
|
|
218
|
+
'method': 'public/subscribe',
|
|
219
|
+
'params': {
|
|
220
|
+
'channels': channels,
|
|
221
|
+
},
|
|
222
|
+
'id': this.requestId(),
|
|
223
|
+
};
|
|
224
|
+
const request = this.deepExtend(message, params);
|
|
225
|
+
const newTickers = await this.watchMultiple(url, channels, request, channels, request);
|
|
226
|
+
if (this.newUpdates) {
|
|
227
|
+
const tickers = {};
|
|
228
|
+
tickers[newTickers['symbol']] = newTickers;
|
|
229
|
+
return tickers;
|
|
230
|
+
}
|
|
231
|
+
return this.filterByArray(this.tickers, 'symbol', symbols);
|
|
232
|
+
}
|
|
191
233
|
handleTicker(client, message) {
|
|
192
234
|
//
|
|
193
235
|
// {
|
package/js/src/pro/gate.js
CHANGED
|
@@ -344,7 +344,7 @@ export default class gate extends gateRest {
|
|
|
344
344
|
throw new NotSupported(this.id + ' fetchOrdersByStatusWs is only supported by swap markets. Use rest API for other markets');
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
|
-
const [request, requestParams] = this.
|
|
347
|
+
const [request, requestParams] = this.prepareOrdersByStatusRequest(status, symbol, since, limit, params);
|
|
348
348
|
const newRequest = this.omit(request, ['settle']);
|
|
349
349
|
const messageType = this.getTypeByMarket(market);
|
|
350
350
|
const channel = messageType + '.order_list';
|
package/js/src/vertex.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/vertex.js';
|
|
2
|
-
import type { Market, Ticker, Tickers, TradingFees, Balances, Int, OrderBook, OHLCV, Str, Order, OrderType, OrderSide, Trade, Strings, Dict, Num, Currencies } from './base/types.js';
|
|
2
|
+
import type { Market, Ticker, Tickers, TradingFees, Balances, Int, OrderBook, OHLCV, Str, Order, OrderType, OrderSide, Trade, Strings, Dict, Num, Currencies, FundingRate, FundingRates } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class vertex
|
|
5
5
|
* @augments Exchange
|
|
@@ -27,45 +27,9 @@ export default class vertex extends Exchange {
|
|
|
27
27
|
fetchTradingFees(params?: {}): Promise<TradingFees>;
|
|
28
28
|
parseOHLCV(ohlcv: any, market?: Market): OHLCV;
|
|
29
29
|
fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
|
|
30
|
-
parseFundingRate(ticker: any, market?: Market):
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
markPrice: number;
|
|
34
|
-
indexPrice: number;
|
|
35
|
-
interestRate: any;
|
|
36
|
-
estimatedSettlePrice: any;
|
|
37
|
-
timestamp: any;
|
|
38
|
-
datetime: any;
|
|
39
|
-
fundingRate: number;
|
|
40
|
-
fundingTimestamp: number;
|
|
41
|
-
fundingDatetime: string;
|
|
42
|
-
nextFundingRate: any;
|
|
43
|
-
nextFundingTimestamp: any;
|
|
44
|
-
nextFundingDatetime: any;
|
|
45
|
-
previousFundingRate: any;
|
|
46
|
-
previousFundingTimestamp: any;
|
|
47
|
-
previousFundingDatetime: any;
|
|
48
|
-
};
|
|
49
|
-
fetchFundingRate(symbol: string, params?: {}): Promise<{
|
|
50
|
-
info: any;
|
|
51
|
-
symbol: string;
|
|
52
|
-
markPrice: number;
|
|
53
|
-
indexPrice: number;
|
|
54
|
-
interestRate: any;
|
|
55
|
-
estimatedSettlePrice: any;
|
|
56
|
-
timestamp: any;
|
|
57
|
-
datetime: any;
|
|
58
|
-
fundingRate: number;
|
|
59
|
-
fundingTimestamp: number;
|
|
60
|
-
fundingDatetime: string;
|
|
61
|
-
nextFundingRate: any;
|
|
62
|
-
nextFundingTimestamp: any;
|
|
63
|
-
nextFundingDatetime: any;
|
|
64
|
-
previousFundingRate: any;
|
|
65
|
-
previousFundingTimestamp: any;
|
|
66
|
-
previousFundingDatetime: any;
|
|
67
|
-
}>;
|
|
68
|
-
fetchFundingRates(symbols?: Strings, params?: {}): Promise<any>;
|
|
30
|
+
parseFundingRate(ticker: any, market?: Market): FundingRate;
|
|
31
|
+
fetchFundingRate(symbol: string, params?: {}): Promise<FundingRate>;
|
|
32
|
+
fetchFundingRates(symbols?: Strings, params?: {}): Promise<FundingRates>;
|
|
69
33
|
parseOpenInterest(interest: any, market?: Market): import("./base/types.js").OpenInterest;
|
|
70
34
|
fetchOpenInterest(symbol: string, params?: {}): Promise<import("./base/types.js").OpenInterest>;
|
|
71
35
|
parseTicker(ticker: Dict, market?: Market): Ticker;
|
package/js/src/vertex.js
CHANGED
|
@@ -1245,6 +1245,7 @@ export default class vertex extends Exchange {
|
|
|
1245
1245
|
'previousFundingRate': undefined,
|
|
1246
1246
|
'previousFundingTimestamp': undefined,
|
|
1247
1247
|
'previousFundingDatetime': undefined,
|
|
1248
|
+
'interval': undefined,
|
|
1248
1249
|
};
|
|
1249
1250
|
}
|
|
1250
1251
|
async fetchFundingRate(symbol, params = {}) {
|
|
@@ -1282,7 +1283,7 @@ export default class vertex extends Exchange {
|
|
|
1282
1283
|
* @see https://docs.vertexprotocol.com/developer-resources/api/v2/contracts
|
|
1283
1284
|
* @param {string[]} symbols unified symbols of the markets to fetch the funding rates for, all market funding rates are returned if not assigned
|
|
1284
1285
|
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
1285
|
-
* @returns {object} an array of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
|
|
1286
|
+
* @returns {object[]} an array of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-structure}
|
|
1286
1287
|
*/
|
|
1287
1288
|
await this.loadMarkets();
|
|
1288
1289
|
const request = {};
|