ccxt-ir 4.14.4 → 4.15.0
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 +4 -4
- package/dist/ccxt.browser.min.js +7 -7
- package/dist/cjs/ccxt.js +4 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/talasea.js +260 -0
- package/js/ccxt.d.ts +5 -2
- package/js/ccxt.js +4 -2
- package/js/src/abstract/talasea.d.ts +8 -0
- package/js/src/abstract/talasea.js +11 -0
- package/js/src/base/Exchange.d.ts +2 -2
- package/js/src/coinbaseexchange.d.ts +1 -1
- package/js/src/static_dependencies/fflake/browser.d.ts +5 -5
- package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
- package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
- package/js/src/talasea.d.ts +20 -0
- package/js/src/talasea.js +253 -0
- package/js/test.js +25 -15
- package/package.json +1 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -146,6 +146,7 @@ var saraf = require('./src/saraf.js');
|
|
|
146
146
|
var sarmayex = require('./src/sarmayex.js');
|
|
147
147
|
var sarrafex = require('./src/sarrafex.js');
|
|
148
148
|
var tabdeal = require('./src/tabdeal.js');
|
|
149
|
+
var talasea = require('./src/talasea.js');
|
|
149
150
|
var tehran_exchange = require('./src/tehran_exchange.js');
|
|
150
151
|
var tetherland = require('./src/tetherland.js');
|
|
151
152
|
var timex = require('./src/timex.js');
|
|
@@ -241,7 +242,7 @@ var xt$1 = require('./src/pro/xt.js');
|
|
|
241
242
|
|
|
242
243
|
//-----------------------------------------------------------------------------
|
|
243
244
|
// this is updated by vss.js when building
|
|
244
|
-
const version = '4.
|
|
245
|
+
const version = '4.15.0';
|
|
245
246
|
Exchange["default"].ccxtVersion = version;
|
|
246
247
|
const exchanges = {
|
|
247
248
|
'abantether': abantether["default"],
|
|
@@ -378,6 +379,7 @@ const exchanges = {
|
|
|
378
379
|
'sarmayex': sarmayex["default"],
|
|
379
380
|
'sarrafex': sarrafex["default"],
|
|
380
381
|
'tabdeal': tabdeal["default"],
|
|
382
|
+
'talasea': talasea["default"],
|
|
381
383
|
'tehran_exchange': tehran_exchange["default"],
|
|
382
384
|
'tetherland': tetherland["default"],
|
|
383
385
|
'timex': timex["default"],
|
|
@@ -658,6 +660,7 @@ exports.saraf = saraf["default"];
|
|
|
658
660
|
exports.sarmayex = sarmayex["default"];
|
|
659
661
|
exports.sarrafex = sarrafex["default"];
|
|
660
662
|
exports.tabdeal = tabdeal["default"];
|
|
663
|
+
exports.talasea = talasea["default"];
|
|
661
664
|
exports.tehran_exchange = tehran_exchange["default"];
|
|
662
665
|
exports.tetherland = tetherland["default"];
|
|
663
666
|
exports.timex = timex["default"];
|
package/dist/cjs/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "type": "commonjs" }
|
|
1
|
+
{ "type": "commonjs" }
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var Exchange = require('./base/Exchange.js');
|
|
6
|
+
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
/**
|
|
10
|
+
* @class talasea
|
|
11
|
+
* @augments Exchange
|
|
12
|
+
*/
|
|
13
|
+
class talasea extends Exchange["default"] {
|
|
14
|
+
describe() {
|
|
15
|
+
return this.deepExtend(super.describe(), {
|
|
16
|
+
'id': 'talasea',
|
|
17
|
+
'name': 'Talasea',
|
|
18
|
+
'countries': ['IR'],
|
|
19
|
+
'rateLimit': 1000,
|
|
20
|
+
'version': 'api',
|
|
21
|
+
'certified': false,
|
|
22
|
+
'pro': false,
|
|
23
|
+
'has': {
|
|
24
|
+
'CORS': undefined,
|
|
25
|
+
'spot': false,
|
|
26
|
+
'margin': false,
|
|
27
|
+
'swap': false,
|
|
28
|
+
'future': false,
|
|
29
|
+
'option': false,
|
|
30
|
+
'addMargin': false,
|
|
31
|
+
'cancelAllOrders': false,
|
|
32
|
+
'cancelOrder': false,
|
|
33
|
+
'cancelOrders': false,
|
|
34
|
+
'createDepositAddress': false,
|
|
35
|
+
'createOrder': false,
|
|
36
|
+
'createStopLimitOrder': false,
|
|
37
|
+
'createStopMarketOrder': false,
|
|
38
|
+
'createStopOrder': false,
|
|
39
|
+
'editOrder': false,
|
|
40
|
+
'fetchBalance': false,
|
|
41
|
+
'fetchBorrowInterest': false,
|
|
42
|
+
'fetchBorrowRateHistories': false,
|
|
43
|
+
'fetchBorrowRateHistory': false,
|
|
44
|
+
'fetchClosedOrders': false,
|
|
45
|
+
'fetchCrossBorrowRate': false,
|
|
46
|
+
'fetchCrossBorrowRates': false,
|
|
47
|
+
'fetchCurrencies': false,
|
|
48
|
+
'fetchDepositAddress': false,
|
|
49
|
+
'fetchDeposits': false,
|
|
50
|
+
'fetchFundingHistory': false,
|
|
51
|
+
'fetchFundingRate': false,
|
|
52
|
+
'fetchFundingRateHistory': false,
|
|
53
|
+
'fetchFundingRates': false,
|
|
54
|
+
'fetchIndexOHLCV': false,
|
|
55
|
+
'fetchIsolatedBorrowRate': false,
|
|
56
|
+
'fetchIsolatedBorrowRates': false,
|
|
57
|
+
'fetchL2OrderBook': false,
|
|
58
|
+
'fetchL3OrderBook': false,
|
|
59
|
+
'fetchLedger': false,
|
|
60
|
+
'fetchLedgerEntry': false,
|
|
61
|
+
'fetchLeverageTiers': false,
|
|
62
|
+
'fetchMarkets': true,
|
|
63
|
+
'fetchMarkOHLCV': false,
|
|
64
|
+
'fetchMyTrades': false,
|
|
65
|
+
'fetchOHLCV': false,
|
|
66
|
+
'fetchOpenInterestHistory': false,
|
|
67
|
+
'fetchOpenOrders': false,
|
|
68
|
+
'fetchOrder': false,
|
|
69
|
+
'fetchOrderBook': false,
|
|
70
|
+
'fetchOrders': false,
|
|
71
|
+
'fetchOrderTrades': 'emulated',
|
|
72
|
+
'fetchPositions': false,
|
|
73
|
+
'fetchPremiumIndexOHLCV': false,
|
|
74
|
+
'fetchTicker': true,
|
|
75
|
+
'fetchTickers': true,
|
|
76
|
+
'fetchTime': false,
|
|
77
|
+
'fetchTrades': false,
|
|
78
|
+
'fetchTradingFee': false,
|
|
79
|
+
'fetchTradingFees': false,
|
|
80
|
+
'fetchWithdrawals': false,
|
|
81
|
+
'otc': true,
|
|
82
|
+
'setLeverage': false,
|
|
83
|
+
'setMarginMode': false,
|
|
84
|
+
'transfer': false,
|
|
85
|
+
'withdraw': false,
|
|
86
|
+
},
|
|
87
|
+
'options': {
|
|
88
|
+
'defaultType': 'otc',
|
|
89
|
+
},
|
|
90
|
+
'urls': {
|
|
91
|
+
'api': {
|
|
92
|
+
'public': 'https://api.talasea.ir/api',
|
|
93
|
+
},
|
|
94
|
+
'www': 'https://talasea.ir',
|
|
95
|
+
'doc': 'https://talasea.ir',
|
|
96
|
+
},
|
|
97
|
+
'api': {
|
|
98
|
+
'public': {
|
|
99
|
+
'get': {
|
|
100
|
+
'market/getGoldPrice': 1,
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
'fees': {
|
|
105
|
+
'trading': {
|
|
106
|
+
'tierBased': false,
|
|
107
|
+
'percentage': true,
|
|
108
|
+
'maker': this.parseNumber('0.01'),
|
|
109
|
+
'taker': this.parseNumber('0.01'),
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
async fetchMarkets(params = {}) {
|
|
115
|
+
/**
|
|
116
|
+
* @method
|
|
117
|
+
* @name talasea#fetchMarkets
|
|
118
|
+
* @description retrieves the available market from talasea
|
|
119
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
120
|
+
* @returns {object[]} an array of objects representing market data
|
|
121
|
+
*/
|
|
122
|
+
const response = await this.publicGetMarketGetGoldPrice(params);
|
|
123
|
+
const market = this.parseMarket(response);
|
|
124
|
+
const result = [market];
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
parseMarket(market) {
|
|
128
|
+
const disableBuy = this.safeBool(market, 'disableBuy', false);
|
|
129
|
+
const disableSell = this.safeBool(market, 'disableSell', false);
|
|
130
|
+
let active = true;
|
|
131
|
+
if (disableBuy || disableSell) {
|
|
132
|
+
active = false;
|
|
133
|
+
}
|
|
134
|
+
const result = {
|
|
135
|
+
'id': 'XAU18IRT',
|
|
136
|
+
'symbol': 'XAU18/IRT',
|
|
137
|
+
'base': 'XAU18',
|
|
138
|
+
'quote': 'IRT',
|
|
139
|
+
'settle': undefined,
|
|
140
|
+
'baseId': 'XAU18',
|
|
141
|
+
'quoteId': 'IRT',
|
|
142
|
+
'settleId': undefined,
|
|
143
|
+
'type': 'otc',
|
|
144
|
+
'spot': false,
|
|
145
|
+
'margin': false,
|
|
146
|
+
'swap': false,
|
|
147
|
+
'future': false,
|
|
148
|
+
'option': false,
|
|
149
|
+
'active': active,
|
|
150
|
+
'contract': false,
|
|
151
|
+
'linear': undefined,
|
|
152
|
+
'inverse': undefined,
|
|
153
|
+
'contractSize': undefined,
|
|
154
|
+
'expiry': undefined,
|
|
155
|
+
'expiryDatetime': undefined,
|
|
156
|
+
'strike': undefined,
|
|
157
|
+
'optionType': undefined,
|
|
158
|
+
'precision': {
|
|
159
|
+
'amount': undefined,
|
|
160
|
+
'price': undefined,
|
|
161
|
+
},
|
|
162
|
+
'limits': {
|
|
163
|
+
'leverage': {
|
|
164
|
+
'min': undefined,
|
|
165
|
+
'max': undefined,
|
|
166
|
+
},
|
|
167
|
+
'amount': {
|
|
168
|
+
'min': undefined,
|
|
169
|
+
'max': undefined,
|
|
170
|
+
},
|
|
171
|
+
'price': {
|
|
172
|
+
'min': undefined,
|
|
173
|
+
'max': undefined,
|
|
174
|
+
},
|
|
175
|
+
'cost': {
|
|
176
|
+
'min': this.safeNumber(market, 'minOrderValue'),
|
|
177
|
+
'max': this.safeNumber(market, 'maxOrderValue'),
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
'created': undefined,
|
|
181
|
+
'info': market,
|
|
182
|
+
};
|
|
183
|
+
return result;
|
|
184
|
+
}
|
|
185
|
+
async fetchTicker(symbol, params = {}) {
|
|
186
|
+
/**
|
|
187
|
+
* @method
|
|
188
|
+
* @name talasea#fetchTicker
|
|
189
|
+
* @description fetches a price ticker, a statistical calculation for a specific market
|
|
190
|
+
* @see https://api.talasea.ir/api/market/getGoldPrice
|
|
191
|
+
* @param {string} symbol unified symbol of the market to fetch the ticker for
|
|
192
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
193
|
+
* @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
194
|
+
*/
|
|
195
|
+
await this.loadMarkets();
|
|
196
|
+
const market = this.market(symbol);
|
|
197
|
+
const response = await this.publicGetMarketGetGoldPrice(params);
|
|
198
|
+
const ticker = this.parseTicker(response, market);
|
|
199
|
+
return ticker;
|
|
200
|
+
}
|
|
201
|
+
async fetchTickers(symbols = undefined, params = {}) {
|
|
202
|
+
/**
|
|
203
|
+
* @method
|
|
204
|
+
* @name talasea#fetchTickers
|
|
205
|
+
* @description fetches price tickers for all markets
|
|
206
|
+
* @see https://api.talasea.ir/api/market/getGoldPrice
|
|
207
|
+
* @param {string[]|undefined} symbols unified symbols of the markets to fetch the tickers for, all market tickers are returned if not assigned
|
|
208
|
+
* @param {object} [params] extra parameters specific to the exchange API endpoint
|
|
209
|
+
* @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
|
|
210
|
+
*/
|
|
211
|
+
await this.loadMarkets();
|
|
212
|
+
if (symbols !== undefined) {
|
|
213
|
+
symbols = this.marketSymbols(symbols);
|
|
214
|
+
}
|
|
215
|
+
const response = await this.publicGetMarketGetGoldPrice(params);
|
|
216
|
+
const market = this.market('XAU18/IRT');
|
|
217
|
+
const ticker = this.parseTicker(response, market);
|
|
218
|
+
const result = {};
|
|
219
|
+
result[ticker['symbol']] = ticker;
|
|
220
|
+
return this.filterByArrayTickers(result, 'symbol', symbols);
|
|
221
|
+
}
|
|
222
|
+
parseTicker(ticker, market = undefined) {
|
|
223
|
+
const result = this.safeTicker({
|
|
224
|
+
'symbol': market['symbol'],
|
|
225
|
+
'timestamp': undefined,
|
|
226
|
+
'datetime': undefined,
|
|
227
|
+
'high': undefined,
|
|
228
|
+
'low': undefined,
|
|
229
|
+
'bid': undefined,
|
|
230
|
+
'bidVolume': undefined,
|
|
231
|
+
'ask': undefined,
|
|
232
|
+
'askVolume': undefined,
|
|
233
|
+
'vwap': undefined,
|
|
234
|
+
'open': undefined,
|
|
235
|
+
'close': this.safeNumber(ticker, 'price') * 1000,
|
|
236
|
+
'last': this.safeNumber(ticker, 'price') * 1000,
|
|
237
|
+
'previousClose': undefined,
|
|
238
|
+
'change': undefined,
|
|
239
|
+
'percentage': this.safeNumber(ticker, 'change24h'),
|
|
240
|
+
'average': undefined,
|
|
241
|
+
'baseVolume': undefined,
|
|
242
|
+
'quoteVolume': undefined,
|
|
243
|
+
'info': ticker,
|
|
244
|
+
}, market);
|
|
245
|
+
return result;
|
|
246
|
+
}
|
|
247
|
+
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
248
|
+
const query = this.omit(params, this.extractParams(path));
|
|
249
|
+
let url = this.urls['api'][api] + '/' + this.implodeParams(path, params);
|
|
250
|
+
if (Object.keys(query).length) {
|
|
251
|
+
url += '?' + this.urlencode(query);
|
|
252
|
+
}
|
|
253
|
+
headers = {
|
|
254
|
+
'Content-Type': 'application/json',
|
|
255
|
+
};
|
|
256
|
+
return { 'url': url, 'method': method, 'body': body, 'headers': headers };
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
exports["default"] = talasea;
|
package/js/ccxt.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
|
|
|
4
4
|
import * as errors from './src/base/errors.js';
|
|
5
5
|
import type { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketMarginModes, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, LongShortRatio, OrderBooks, OpenInterests, ConstructorArgs } from './src/base/types.js';
|
|
6
6
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
|
|
7
|
-
declare const version = "4.
|
|
7
|
+
declare const version = "4.15.0";
|
|
8
8
|
import abantether from './src/abantether.js';
|
|
9
9
|
import afratether from './src/afratether.js';
|
|
10
10
|
import alpaca from './src/alpaca.js';
|
|
@@ -139,6 +139,7 @@ import saraf from './src/saraf.js';
|
|
|
139
139
|
import sarmayex from './src/sarmayex.js';
|
|
140
140
|
import sarrafex from './src/sarrafex.js';
|
|
141
141
|
import tabdeal from './src/tabdeal.js';
|
|
142
|
+
import talasea from './src/talasea.js';
|
|
142
143
|
import tehran_exchange from './src/tehran_exchange.js';
|
|
143
144
|
import tetherland from './src/tetherland.js';
|
|
144
145
|
import timex from './src/timex.js';
|
|
@@ -366,6 +367,7 @@ declare const exchanges: {
|
|
|
366
367
|
sarmayex: typeof sarmayex;
|
|
367
368
|
sarrafex: typeof sarrafex;
|
|
368
369
|
tabdeal: typeof tabdeal;
|
|
370
|
+
talasea: typeof talasea;
|
|
369
371
|
tehran_exchange: typeof tehran_exchange;
|
|
370
372
|
tetherland: typeof tetherland;
|
|
371
373
|
timex: typeof timex;
|
|
@@ -676,6 +678,7 @@ declare const ccxt: {
|
|
|
676
678
|
sarmayex: typeof sarmayex;
|
|
677
679
|
sarrafex: typeof sarrafex;
|
|
678
680
|
tabdeal: typeof tabdeal;
|
|
681
|
+
talasea: typeof talasea;
|
|
679
682
|
tehran_exchange: typeof tehran_exchange;
|
|
680
683
|
tetherland: typeof tetherland;
|
|
681
684
|
timex: typeof timex;
|
|
@@ -696,5 +699,5 @@ declare const ccxt: {
|
|
|
696
699
|
zaif: typeof zaif;
|
|
697
700
|
zonda: typeof zonda;
|
|
698
701
|
} & typeof functions & typeof errors;
|
|
699
|
-
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, ConstructorArgs, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketMarginModes, MarketInterface, Trade, Order, OrderBook, OrderBooks, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, OpenInterests, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, LongShortRatio, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, abantether, afratether, alpaca, apex, arzinja, arzplus, ascendex, asretether, bequant, bidarz, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit24, bit2c, bitbank, bitbarg, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitunix, bitvavo, bitwana, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, cex, changefa, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, defx, delta, deribit, derive, digifinex, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, ourbit, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, raastin, ramzinex, saraf, sarmayex, sarrafex, tabdeal, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
702
|
+
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, ConstructorArgs, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketMarginModes, MarketInterface, Trade, Order, OrderBook, OrderBooks, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, OpenInterests, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, LongShortRatio, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, abantether, afratether, alpaca, apex, arzinja, arzplus, ascendex, asretether, bequant, bidarz, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit24, bit2c, bitbank, bitbarg, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitunix, bitvavo, bitwana, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, cex, changefa, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, defx, delta, deribit, derive, digifinex, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, ourbit, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, raastin, ramzinex, saraf, sarmayex, sarrafex, tabdeal, talasea, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
700
703
|
export default ccxt;
|
package/js/ccxt.js
CHANGED
|
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
|
|
|
38
38
|
import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
|
|
39
39
|
//-----------------------------------------------------------------------------
|
|
40
40
|
// this is updated by vss.js when building
|
|
41
|
-
const version = '4.
|
|
41
|
+
const version = '4.15.0';
|
|
42
42
|
Exchange.ccxtVersion = version;
|
|
43
43
|
//-----------------------------------------------------------------------------
|
|
44
44
|
import abantether from './src/abantether.js';
|
|
@@ -175,6 +175,7 @@ import saraf from './src/saraf.js';
|
|
|
175
175
|
import sarmayex from './src/sarmayex.js';
|
|
176
176
|
import sarrafex from './src/sarrafex.js';
|
|
177
177
|
import tabdeal from './src/tabdeal.js';
|
|
178
|
+
import talasea from './src/talasea.js';
|
|
178
179
|
import tehran_exchange from './src/tehran_exchange.js';
|
|
179
180
|
import tetherland from './src/tetherland.js';
|
|
180
181
|
import timex from './src/timex.js';
|
|
@@ -403,6 +404,7 @@ const exchanges = {
|
|
|
403
404
|
'sarmayex': sarmayex,
|
|
404
405
|
'sarrafex': sarrafex,
|
|
405
406
|
'tabdeal': tabdeal,
|
|
407
|
+
'talasea': talasea,
|
|
406
408
|
'tehran_exchange': tehran_exchange,
|
|
407
409
|
'tetherland': tetherland,
|
|
408
410
|
'timex': timex,
|
|
@@ -510,6 +512,6 @@ pro.exchanges = Object.keys(pro);
|
|
|
510
512
|
pro['Exchange'] = Exchange; // now the same for rest and ts
|
|
511
513
|
//-----------------------------------------------------------------------------
|
|
512
514
|
const ccxt = Object.assign({ version, Exchange, Precise, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, functions, errors);
|
|
513
|
-
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, abantether, afratether, alpaca, apex, arzinja, arzplus, ascendex, asretether, bequant, bidarz, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit24, bit2c, bitbank, bitbarg, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitunix, bitvavo, bitwana, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, cex, changefa, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, defx, delta, deribit, derive, digifinex, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, ourbit, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, raastin, ramzinex, saraf, sarmayex, sarrafex, tabdeal, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
515
|
+
export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, abantether, afratether, alpaca, apex, arzinja, arzplus, ascendex, asretether, bequant, bidarz, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit24, bit2c, bitbank, bitbarg, bitbns, bitfinex, bitflyer, bitget, bithumb, bitimen, bitir, bitmart, bitmex, bitopro, bitpin, bitrue, bitso, bitstamp, bitteam, bittrade, bitunix, bitvavo, bitwana, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bybit, bydfi, cafearz, cex, changefa, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, defx, delta, deribit, derive, digifinex, ellipx, eterex, excoino, exir, exmo, exnovin, farhadexchange, fmfwio, foxbit, gate, gateio, gemini, hamtapay, hashkey, hibachi, hitbtc, hitobit, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, iranexchange, jibitex, kcex, kifpoolme, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mazdax, mercado, mexc, modetrade, myokx, ndax, nobitex, novadax, oceanex, okcoin, okexchange, okx, okxus, ompfinex, onetrading, ourbit, oxfun, p2b, paradex, paymium, phemex, pingi, poloniex, pooleno, probit, raastin, ramzinex, saraf, sarmayex, sarrafex, tabdeal, talasea, tehran_exchange, tetherland, timex, tokocrypto, toobit, tradeogre, twox, ubitex, upbit, vertex, wallex, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zonda, };
|
|
514
516
|
export default ccxt;
|
|
515
517
|
//-----------------------------------------------------------------------------
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { implicitReturnType } from '../base/types.js';
|
|
2
|
+
import { Exchange as _Exchange } from '../base/Exchange.js';
|
|
3
|
+
interface Exchange {
|
|
4
|
+
publicGetMarketGetGoldPrice(params?: {}): Promise<implicitReturnType>;
|
|
5
|
+
}
|
|
6
|
+
declare abstract class Exchange extends _Exchange {
|
|
7
|
+
}
|
|
8
|
+
export default Exchange;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// ----------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
|
|
4
|
+
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
|
|
5
|
+
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
|
+
|
|
7
|
+
// -------------------------------------------------------------------------------
|
|
8
|
+
import { Exchange as _Exchange } from '../base/Exchange.js';
|
|
9
|
+
class Exchange extends _Exchange {
|
|
10
|
+
}
|
|
11
|
+
export default Exchange;
|
|
@@ -252,7 +252,7 @@ export default class Exchange {
|
|
|
252
252
|
outputLen: number;
|
|
253
253
|
blockLen: number;
|
|
254
254
|
create(): import("../static_dependencies/noble-hashes/utils.js").Hash<import("../static_dependencies/noble-hashes/utils.js").Hash<any>>;
|
|
255
|
-
}, digest?: "
|
|
255
|
+
}, digest?: "hex" | "base64" | "binary") => any;
|
|
256
256
|
arrayConcat: (a: any[], b: any[]) => any[];
|
|
257
257
|
encode: (str: string) => Uint8Array;
|
|
258
258
|
urlencode: (object: object, sort?: boolean) => string;
|
|
@@ -261,7 +261,7 @@ export default class Exchange {
|
|
|
261
261
|
outputLen: number;
|
|
262
262
|
blockLen: number;
|
|
263
263
|
create(): import("../static_dependencies/noble-hashes/utils.js").Hash<import("../static_dependencies/noble-hashes/utils.js").Hash<any>>;
|
|
264
|
-
}, digest?: "
|
|
264
|
+
}, digest?: "hex" | "base64" | "binary") => any;
|
|
265
265
|
numberToString: typeof functions.numberToString;
|
|
266
266
|
parseTimeframe: (timeframe: string) => number;
|
|
267
267
|
safeInteger2: (o: any, k1: IndexType, k2: IndexType, $default?: number) => number;
|
|
@@ -311,7 +311,7 @@ export default class coinbaseexchange extends Exchange {
|
|
|
311
311
|
* @returns {object[]} a list of [transaction structures]{@link https://docs.ccxt.com/#/?id=transaction-structure}
|
|
312
312
|
*/
|
|
313
313
|
fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
|
|
314
|
-
parseTransactionStatus(transaction: any): "
|
|
314
|
+
parseTransactionStatus(transaction: any): "canceled" | "pending" | "ok" | "failed";
|
|
315
315
|
parseTransaction(transaction: Dict, currency?: Currency): Transaction;
|
|
316
316
|
/**
|
|
317
317
|
* @method
|
|
@@ -5,7 +5,7 @@ export function deflate(data: any, opts: any, cb: any): () => void;
|
|
|
5
5
|
* @param opts The compression options
|
|
6
6
|
* @returns The deflated version of the data
|
|
7
7
|
*/
|
|
8
|
-
export function deflateSync(data: any, opts: any): Uint8Array |
|
|
8
|
+
export function deflateSync(data: any, opts: any): Uint8Array | Uint16Array | Uint32Array;
|
|
9
9
|
export function inflate(data: any, opts: any, cb: any): () => void;
|
|
10
10
|
/**
|
|
11
11
|
* Expands DEFLATE data with no wrapper
|
|
@@ -21,7 +21,7 @@ export function gzip(data: any, opts: any, cb: any): () => void;
|
|
|
21
21
|
* @param opts The compression options
|
|
22
22
|
* @returns The gzipped version of the data
|
|
23
23
|
*/
|
|
24
|
-
export function gzipSync(data: any, opts: any): Uint8Array |
|
|
24
|
+
export function gzipSync(data: any, opts: any): Uint8Array | Uint16Array | Uint32Array;
|
|
25
25
|
export function gunzip(data: any, opts: any, cb: any): () => void;
|
|
26
26
|
/**
|
|
27
27
|
* Expands GZIP data
|
|
@@ -37,7 +37,7 @@ export function zlib(data: any, opts: any, cb: any): () => void;
|
|
|
37
37
|
* @param opts The compression options
|
|
38
38
|
* @returns The zlib-compressed version of the data
|
|
39
39
|
*/
|
|
40
|
-
export function zlibSync(data: any, opts: any): Uint8Array |
|
|
40
|
+
export function zlibSync(data: any, opts: any): Uint8Array | Uint16Array | Uint32Array;
|
|
41
41
|
export function unzlib(data: any, opts: any, cb: any): () => void;
|
|
42
42
|
/**
|
|
43
43
|
* Expands Zlib data
|
|
@@ -61,7 +61,7 @@ export function decompressSync(data: any, out: any): any;
|
|
|
61
61
|
* not need to be true unless decoding a binary string.
|
|
62
62
|
* @returns The string encoded in UTF-8/Latin-1 binary
|
|
63
63
|
*/
|
|
64
|
-
export function strToU8(str: any, latin1: any): Uint8Array |
|
|
64
|
+
export function strToU8(str: any, latin1: any): Uint8Array | Uint16Array | Uint32Array;
|
|
65
65
|
/**
|
|
66
66
|
* Converts a Uint8Array to a string
|
|
67
67
|
* @param dat The data to decode to string
|
|
@@ -69,7 +69,7 @@ export function strToU8(str: any, latin1: any): Uint8Array | Uint32Array | Uint1
|
|
|
69
69
|
* not need to be true unless encoding to binary string.
|
|
70
70
|
* @returns The original UTF-8/Latin-1 string
|
|
71
71
|
*/
|
|
72
|
-
export function strFromU8(dat: any, latin1: any): string | Uint8Array |
|
|
72
|
+
export function strFromU8(dat: any, latin1: any): string | Uint8Array | Uint16Array | Uint32Array;
|
|
73
73
|
export function zip(data: any, opts: any, cb: any): () => void;
|
|
74
74
|
/**
|
|
75
75
|
* Synchronously creates a ZIP file. Prefer using `zip` for better performance
|
|
@@ -15,7 +15,7 @@ export declare class BigInteger {
|
|
|
15
15
|
protected intValue(): number;
|
|
16
16
|
protected byteValue(): number;
|
|
17
17
|
protected shortValue(): number;
|
|
18
|
-
protected signum():
|
|
18
|
+
protected signum(): 0 | 1 | -1;
|
|
19
19
|
toByteArray(): number[];
|
|
20
20
|
protected equals(a: BigInteger): boolean;
|
|
21
21
|
protected min(a: BigInteger): BigInteger;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Abi, FunctionAbi, RawArgs } from '../../../types/index.js';
|
|
2
2
|
import { AbiParserInterface } from './interface.js';
|
|
3
3
|
export declare function createAbiParser(abi: Abi): AbiParserInterface;
|
|
4
|
-
export declare function getAbiVersion(abi: Abi):
|
|
4
|
+
export declare function getAbiVersion(abi: Abi): 0 | 1 | 2;
|
|
5
5
|
export declare function isNoConstructorValid(method: string, argsCalldata: RawArgs, abiMethod?: FunctionAbi): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Exchange from './base/Exchange.js';
|
|
2
|
+
import { Market, Strings, Ticker, Tickers } from './base/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* @class talasea
|
|
5
|
+
* @augments Exchange
|
|
6
|
+
*/
|
|
7
|
+
export default class talasea extends Exchange {
|
|
8
|
+
describe(): any;
|
|
9
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
10
|
+
parseMarket(market: any): Market;
|
|
11
|
+
fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
|
|
12
|
+
fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
|
|
13
|
+
parseTicker(ticker: any, market?: Market): Ticker;
|
|
14
|
+
sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
|
|
15
|
+
url: string;
|
|
16
|
+
method: string;
|
|
17
|
+
body: any;
|
|
18
|
+
headers: any;
|
|
19
|
+
};
|
|
20
|
+
}
|