ccxt 4.1.52 → 4.1.53
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 +6 -8
- package/dist/ccxt.browser.js +1311 -2712
- package/dist/ccxt.browser.min.js +7 -7
- package/dist/cjs/ccxt.js +1 -7
- package/dist/cjs/src/ace.js +56 -59
- package/dist/cjs/src/ascendex.js +1 -2
- package/dist/cjs/src/base/Exchange.js +1 -11
- package/dist/cjs/src/bingx.js +48 -8
- package/dist/cjs/src/bybit.js +2 -11
- package/dist/cjs/src/cryptocom.js +1 -0
- package/dist/cjs/src/digifinex.js +9 -6
- package/dist/cjs/src/lbank.js +2333 -443
- package/dist/cjs/src/ndax.js +59 -61
- package/dist/cjs/src/novadax.js +57 -59
- package/dist/cjs/src/oceanex.js +58 -60
- package/dist/cjs/src/okcoin.js +1 -9
- package/dist/cjs/src/okx.js +0 -7
- package/dist/cjs/src/poloniex.js +55 -57
- package/dist/cjs/src/poloniexfutures.js +67 -70
- package/dist/cjs/src/pro/bingx.js +18 -11
- package/dist/cjs/src/pro/poloniexfutures.js +9 -0
- package/dist/cjs/src/probit.js +62 -65
- package/dist/cjs/src/timex.js +1 -5
- package/dist/cjs/src/upbit.js +56 -58
- package/dist/cjs/src/wazirx.js +72 -74
- package/dist/cjs/src/whitebit.js +88 -91
- package/dist/cjs/src/woo.js +75 -77
- package/dist/cjs/src/zaif.js +57 -71
- package/dist/cjs/src/zonda.js +67 -70
- package/js/ccxt.d.ts +2 -8
- package/js/ccxt.js +2 -6
- package/js/src/abstract/bybit.d.ts +1 -0
- package/js/src/abstract/lbank.d.ts +57 -15
- package/js/src/ace.d.ts +8 -7
- package/js/src/ace.js +56 -59
- package/js/src/alpaca.d.ts +4 -4
- package/js/src/ascendex.d.ts +12 -12
- package/js/src/ascendex.js +1 -2
- package/js/src/base/Exchange.js +1 -11
- package/js/src/base/types.d.ts +73 -71
- package/js/src/bigone.d.ts +10 -10
- package/js/src/binance.d.ts +27 -27
- package/js/src/bingx.d.ts +15 -15
- package/js/src/bingx.js +48 -8
- package/js/src/bit2c.d.ts +5 -5
- package/js/src/bitbank.d.ts +5 -5
- package/js/src/bitbns.d.ts +7 -7
- package/js/src/bitfinex.d.ts +8 -8
- package/js/src/bitfinex2.d.ts +12 -12
- package/js/src/bitflyer.d.ts +9 -9
- package/js/src/bitforex.d.ts +6 -6
- package/js/src/bitget.d.ts +24 -24
- package/js/src/bithumb.d.ts +4 -4
- package/js/src/bitmart.d.ts +21 -21
- package/js/src/bitmex.d.ts +14 -14
- package/js/src/bitopro.d.ts +12 -12
- package/js/src/bitpanda.d.ts +11 -11
- package/js/src/bitrue.d.ts +8 -8
- package/js/src/bitso.d.ts +11 -11
- package/js/src/bitstamp.d.ts +10 -10
- package/js/src/bitstamp1.d.ts +4 -4
- package/js/src/bittrex.d.ts +14 -14
- package/js/src/bitvavo.d.ts +9 -9
- package/js/src/bl3p.d.ts +2 -2
- package/js/src/blockchaincom.d.ts +13 -13
- package/js/src/btcalpha.d.ts +9 -9
- package/js/src/btcbox.d.ts +6 -6
- package/js/src/btcmarkets.d.ts +12 -12
- package/js/src/btcturk.d.ts +5 -5
- package/js/src/bybit.d.ts +28 -28
- package/js/src/bybit.js +2 -11
- package/js/src/cex.d.ts +6 -6
- package/js/src/coinbase.d.ts +17 -17
- package/js/src/coinbasepro.d.ts +13 -13
- package/js/src/coincheck.d.ts +6 -6
- package/js/src/coinex.d.ts +18 -18
- package/js/src/coinlist.d.ts +14 -14
- package/js/src/coinmate.d.ts +7 -7
- package/js/src/coinone.d.ts +5 -5
- package/js/src/coinsph.d.ts +10 -10
- package/js/src/coinspot.d.ts +3 -3
- package/js/src/cryptocom.d.ts +16 -16
- package/js/src/cryptocom.js +1 -0
- package/js/src/currencycom.d.ts +10 -10
- package/js/src/delta.d.ts +10 -10
- package/js/src/deribit.d.ts +13 -13
- package/js/src/digifinex.d.ts +17 -17
- package/js/src/digifinex.js +9 -6
- package/js/src/exmo.d.ts +12 -12
- package/js/src/gate.d.ts +20 -20
- package/js/src/gemini.d.ts +6 -6
- package/js/src/hitbtc.d.ts +15 -15
- package/js/src/hollaex.d.ts +12 -12
- package/js/src/htx.d.ts +27 -27
- package/js/src/huobijp.d.ts +16 -16
- package/js/src/idex.d.ts +13 -13
- package/js/src/independentreserve.d.ts +6 -6
- package/js/src/indodax.d.ts +6 -6
- package/js/src/kraken.d.ts +16 -16
- package/js/src/krakenfutures.d.ts +9 -9
- package/js/src/kucoin.d.ts +15 -15
- package/js/src/kucoinfutures.d.ts +11 -11
- package/js/src/kuna.d.ts +12 -12
- package/js/src/latoken.d.ts +9 -9
- package/js/src/lbank.d.ts +65 -12
- package/js/src/lbank.js +2334 -444
- package/js/src/lbank2.d.ts +11 -11
- package/js/src/luno.d.ts +10 -10
- package/js/src/lykke.d.ts +8 -8
- package/js/src/mercado.d.ts +6 -6
- package/js/src/mexc.d.ts +23 -23
- package/js/src/ndax.d.ts +13 -12
- package/js/src/ndax.js +59 -61
- package/js/src/novadax.d.ts +13 -12
- package/js/src/novadax.js +57 -59
- package/js/src/oceanex.d.ts +10 -9
- package/js/src/oceanex.js +58 -60
- package/js/src/okcoin.d.ts +12 -13
- package/js/src/okcoin.js +1 -9
- package/js/src/okx.d.ts +26 -27
- package/js/src/okx.js +0 -7
- package/js/src/paymium.d.ts +2 -2
- package/js/src/phemex.d.ts +16 -16
- package/js/src/poloniex.d.ts +15 -14
- package/js/src/poloniex.js +55 -57
- package/js/src/poloniexfutures.d.ts +11 -10
- package/js/src/poloniexfutures.js +67 -70
- package/js/src/pro/alpaca.d.ts +3 -3
- package/js/src/pro/ascendex.d.ts +2 -2
- package/js/src/pro/binance.d.ts +9 -9
- package/js/src/pro/bingx.d.ts +3 -3
- package/js/src/pro/bingx.js +19 -12
- package/js/src/pro/bitfinex.d.ts +3 -3
- package/js/src/pro/bitfinex2.d.ts +3 -3
- package/js/src/pro/bitget.d.ts +3 -3
- package/js/src/pro/bitmart.d.ts +2 -2
- package/js/src/pro/bitmex.d.ts +3 -3
- package/js/src/pro/bitpanda.d.ts +3 -3
- package/js/src/pro/bitrue.d.ts +2 -2
- package/js/src/pro/bitstamp.d.ts +2 -2
- package/js/src/pro/bittrex.d.ts +3 -3
- package/js/src/pro/bitvavo.d.ts +3 -3
- package/js/src/pro/blockchaincom.d.ts +2 -2
- package/js/src/pro/bybit.d.ts +4 -4
- package/js/src/pro/cex.d.ts +3 -3
- package/js/src/pro/coinbasepro.d.ts +3 -3
- package/js/src/pro/coinex.d.ts +2 -2
- package/js/src/pro/cryptocom.d.ts +5 -5
- package/js/src/pro/deribit.d.ts +3 -3
- package/js/src/pro/exmo.d.ts +2 -2
- package/js/src/pro/gate.d.ts +3 -3
- package/js/src/pro/gemini.d.ts +2 -2
- package/js/src/pro/hitbtc.d.ts +3 -3
- package/js/src/pro/hollaex.d.ts +3 -3
- package/js/src/pro/htx.d.ts +3 -3
- package/js/src/pro/idex.d.ts +3 -3
- package/js/src/pro/kraken.d.ts +7 -7
- package/js/src/pro/krakenfutures.d.ts +4 -4
- package/js/src/pro/kucoin.d.ts +3 -3
- package/js/src/pro/kucoinfutures.d.ts +3 -3
- package/js/src/pro/mexc.d.ts +3 -3
- package/js/src/pro/okcoin.d.ts +2 -2
- package/js/src/pro/okx.d.ts +6 -6
- package/js/src/pro/phemex.d.ts +3 -3
- package/js/src/pro/poloniex.d.ts +3 -3
- package/js/src/pro/poloniexfutures.d.ts +3 -3
- package/js/src/pro/poloniexfutures.js +9 -0
- package/js/src/pro/probit.d.ts +3 -3
- package/js/src/pro/wazirx.d.ts +3 -3
- package/js/src/pro/whitebit.d.ts +3 -3
- package/js/src/pro/woo.d.ts +2 -2
- package/js/src/probit.d.ts +11 -10
- package/js/src/probit.js +62 -65
- package/js/src/tidex.d.ts +5 -5
- package/js/src/timex.d.ts +10 -10
- package/js/src/timex.js +1 -5
- package/js/src/tokocrypto.d.ts +9 -9
- package/js/src/upbit.d.ts +11 -10
- package/js/src/upbit.js +56 -58
- package/js/src/wavesexchange.d.ts +7 -7
- package/js/src/wazirx.d.ts +7 -6
- package/js/src/wazirx.js +72 -74
- package/js/src/whitebit.d.ts +12 -11
- package/js/src/whitebit.js +88 -91
- package/js/src/woo.d.ts +20 -19
- package/js/src/woo.js +75 -77
- package/js/src/yobit.d.ts +5 -5
- package/js/src/zaif.d.ts +6 -5
- package/js/src/zaif.js +57 -71
- package/js/src/zonda.d.ts +7 -6
- package/js/src/zonda.js +67 -70
- package/package.json +1 -1
- package/skip-tests.json +0 -15
- package/test.ts +0 -0
- package/js/src/abstract/bitstamp1.d.ts +0 -26
- package/js/src/abstract/bitstamp1.js +0 -11
- package/js/src/abstract/lbank2.d.ts +0 -64
- package/js/src/abstract/lbank2.js +0 -11
package/js/src/woo.js
CHANGED
|
@@ -332,86 +332,84 @@ export default class woo extends Exchange {
|
|
|
332
332
|
// "success": true
|
|
333
333
|
// }
|
|
334
334
|
//
|
|
335
|
-
const result = [];
|
|
336
335
|
const data = this.safeValue(response, 'rows', []);
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
336
|
+
return this.parseMarkets(data);
|
|
337
|
+
}
|
|
338
|
+
parseMarket(market) {
|
|
339
|
+
const marketId = this.safeString(market, 'symbol');
|
|
340
|
+
const parts = marketId.split('_');
|
|
341
|
+
let marketType = this.safeStringLower(parts, 0);
|
|
342
|
+
const isSpot = marketType === 'spot';
|
|
343
|
+
const isSwap = marketType === 'perp';
|
|
344
|
+
const baseId = this.safeString(parts, 1);
|
|
345
|
+
const quoteId = this.safeString(parts, 2);
|
|
346
|
+
const base = this.safeCurrencyCode(baseId);
|
|
347
|
+
const quote = this.safeCurrencyCode(quoteId);
|
|
348
|
+
let settleId = undefined;
|
|
349
|
+
let settle = undefined;
|
|
350
|
+
let symbol = base + '/' + quote;
|
|
351
|
+
let contractSize = undefined;
|
|
352
|
+
let linear = undefined;
|
|
353
|
+
let margin = true;
|
|
354
|
+
const contract = isSwap;
|
|
355
|
+
if (contract) {
|
|
356
|
+
margin = false;
|
|
357
|
+
settleId = this.safeString(parts, 2);
|
|
358
|
+
settle = this.safeCurrencyCode(settleId);
|
|
359
|
+
symbol = base + '/' + quote + ':' + settle;
|
|
360
|
+
contractSize = this.parseNumber('1');
|
|
361
|
+
marketType = 'swap';
|
|
362
|
+
linear = true;
|
|
363
|
+
}
|
|
364
|
+
return {
|
|
365
|
+
'id': marketId,
|
|
366
|
+
'symbol': symbol,
|
|
367
|
+
'base': base,
|
|
368
|
+
'quote': quote,
|
|
369
|
+
'settle': settle,
|
|
370
|
+
'baseId': baseId,
|
|
371
|
+
'quoteId': quoteId,
|
|
372
|
+
'settleId': settleId,
|
|
373
|
+
'type': marketType,
|
|
374
|
+
'spot': isSpot,
|
|
375
|
+
'margin': margin,
|
|
376
|
+
'swap': isSwap,
|
|
377
|
+
'future': false,
|
|
378
|
+
'option': false,
|
|
379
|
+
'active': undefined,
|
|
380
|
+
'contract': contract,
|
|
381
|
+
'linear': linear,
|
|
382
|
+
'inverse': undefined,
|
|
383
|
+
'contractSize': contractSize,
|
|
384
|
+
'expiry': undefined,
|
|
385
|
+
'expiryDatetime': undefined,
|
|
386
|
+
'strike': undefined,
|
|
387
|
+
'optionType': undefined,
|
|
388
|
+
'precision': {
|
|
389
|
+
'amount': this.safeNumber(market, 'base_tick'),
|
|
390
|
+
'price': this.safeNumber(market, 'quote_tick'),
|
|
391
|
+
},
|
|
392
|
+
'limits': {
|
|
393
|
+
'leverage': {
|
|
394
|
+
'min': undefined,
|
|
395
|
+
'max': undefined,
|
|
391
396
|
},
|
|
392
|
-
'
|
|
393
|
-
'
|
|
394
|
-
|
|
395
|
-
'max': undefined,
|
|
396
|
-
},
|
|
397
|
-
'amount': {
|
|
398
|
-
'min': this.safeNumber(market, 'base_min'),
|
|
399
|
-
'max': this.safeNumber(market, 'base_max'),
|
|
400
|
-
},
|
|
401
|
-
'price': {
|
|
402
|
-
'min': this.safeNumber(market, 'quote_min'),
|
|
403
|
-
'max': this.safeNumber(market, 'quote_max'),
|
|
404
|
-
},
|
|
405
|
-
'cost': {
|
|
406
|
-
'min': this.safeNumber(market, 'min_notional'),
|
|
407
|
-
'max': undefined,
|
|
408
|
-
},
|
|
397
|
+
'amount': {
|
|
398
|
+
'min': this.safeNumber(market, 'base_min'),
|
|
399
|
+
'max': this.safeNumber(market, 'base_max'),
|
|
409
400
|
},
|
|
410
|
-
'
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
401
|
+
'price': {
|
|
402
|
+
'min': this.safeNumber(market, 'quote_min'),
|
|
403
|
+
'max': this.safeNumber(market, 'quote_max'),
|
|
404
|
+
},
|
|
405
|
+
'cost': {
|
|
406
|
+
'min': this.safeNumber(market, 'min_notional'),
|
|
407
|
+
'max': undefined,
|
|
408
|
+
},
|
|
409
|
+
},
|
|
410
|
+
'created': this.safeTimestamp(market, 'created_time'),
|
|
411
|
+
'info': market,
|
|
412
|
+
};
|
|
415
413
|
}
|
|
416
414
|
async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
|
|
417
415
|
/**
|
package/js/src/yobit.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Exchange from './abstract/yobit.js';
|
|
2
|
-
import { Balances, Dictionary, Int, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade } from './base/types.js';
|
|
2
|
+
import { Balances, Dictionary, Int, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Tickers, Trade } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class yobit
|
|
5
5
|
* @extends Exchange
|
|
@@ -18,12 +18,12 @@ export default class yobit extends Exchange {
|
|
|
18
18
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
19
19
|
fetchTradingFees(params?: {}): Promise<{}>;
|
|
20
20
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
|
|
21
|
-
cancelOrder(id: string, symbol?:
|
|
21
|
+
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
22
22
|
parseOrderStatus(status: any): string;
|
|
23
23
|
parseOrder(order: any, market?: any): Order;
|
|
24
|
-
fetchOrder(id: string, symbol?:
|
|
25
|
-
fetchOpenOrders(symbol?:
|
|
26
|
-
fetchMyTrades(symbol?:
|
|
24
|
+
fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
|
|
25
|
+
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
26
|
+
fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
27
27
|
createDepositAddress(code: string, params?: {}): Promise<{
|
|
28
28
|
currency: string;
|
|
29
29
|
address: string;
|
package/js/src/zaif.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import Exchange from './abstract/zaif.js';
|
|
2
|
-
import { Balances, Int, Order, OrderBook, OrderSide, OrderType, Ticker, Trade, Transaction } from './base/types.js';
|
|
2
|
+
import { Balances, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class zaif
|
|
5
5
|
* @extends Exchange
|
|
6
6
|
*/
|
|
7
7
|
export default class zaif extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
|
-
fetchMarkets(params?: {}): Promise<
|
|
9
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
10
|
+
parseMarket(market: any): Market;
|
|
10
11
|
parseBalance(response: any): Balances;
|
|
11
12
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
12
13
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
@@ -15,10 +16,10 @@ export default class zaif extends Exchange {
|
|
|
15
16
|
parseTrade(trade: any, market?: any): Trade;
|
|
16
17
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
17
18
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
|
|
18
|
-
cancelOrder(id: string, symbol?:
|
|
19
|
+
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
|
|
19
20
|
parseOrder(order: any, market?: any): Order;
|
|
20
|
-
fetchOpenOrders(symbol?:
|
|
21
|
-
fetchClosedOrders(symbol?:
|
|
21
|
+
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
22
|
+
fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
22
23
|
withdraw(code: string, amount: any, address: any, tag?: any, params?: {}): Promise<Transaction>;
|
|
23
24
|
parseTransaction(transaction: any, currency?: any): Transaction;
|
|
24
25
|
customNonce(): string;
|
package/js/src/zaif.js
CHANGED
|
@@ -131,16 +131,7 @@ export default class zaif extends Exchange {
|
|
|
131
131
|
},
|
|
132
132
|
},
|
|
133
133
|
},
|
|
134
|
-
'options': {
|
|
135
|
-
// zaif schedule defines several market-specific fees
|
|
136
|
-
'fees': {
|
|
137
|
-
'BTC/JPY': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.001') },
|
|
138
|
-
'BCH/JPY': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.003') },
|
|
139
|
-
'BCH/BTC': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.003') },
|
|
140
|
-
'PEPECASH/JPY': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.0001') },
|
|
141
|
-
'PEPECASH/BT': { 'maker': this.parseNumber('0'), 'taker': this.parseNumber('0.0001') },
|
|
142
|
-
},
|
|
143
|
-
},
|
|
134
|
+
'options': {},
|
|
144
135
|
'precisionMode': TICK_SIZE,
|
|
145
136
|
'exceptions': {
|
|
146
137
|
'exact': {
|
|
@@ -181,69 +172,64 @@ export default class zaif extends Exchange {
|
|
|
181
172
|
// }
|
|
182
173
|
// ]
|
|
183
174
|
//
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
'
|
|
219
|
-
'
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
175
|
+
return this.parseMarkets(markets);
|
|
176
|
+
}
|
|
177
|
+
parseMarket(market) {
|
|
178
|
+
const id = this.safeString(market, 'currency_pair');
|
|
179
|
+
const name = this.safeString(market, 'name');
|
|
180
|
+
const [baseId, quoteId] = name.split('/');
|
|
181
|
+
const base = this.safeCurrencyCode(baseId);
|
|
182
|
+
const quote = this.safeCurrencyCode(quoteId);
|
|
183
|
+
const symbol = base + '/' + quote;
|
|
184
|
+
return {
|
|
185
|
+
'id': id,
|
|
186
|
+
'symbol': symbol,
|
|
187
|
+
'base': base,
|
|
188
|
+
'quote': quote,
|
|
189
|
+
'settle': undefined,
|
|
190
|
+
'baseId': baseId,
|
|
191
|
+
'quoteId': quoteId,
|
|
192
|
+
'settleId': undefined,
|
|
193
|
+
'type': 'spot',
|
|
194
|
+
'spot': true,
|
|
195
|
+
'margin': undefined,
|
|
196
|
+
'swap': false,
|
|
197
|
+
'future': false,
|
|
198
|
+
'option': false,
|
|
199
|
+
'active': undefined,
|
|
200
|
+
'contract': false,
|
|
201
|
+
'linear': undefined,
|
|
202
|
+
'inverse': undefined,
|
|
203
|
+
'contractSize': undefined,
|
|
204
|
+
'expiry': undefined,
|
|
205
|
+
'expiryDatetime': undefined,
|
|
206
|
+
'strike': undefined,
|
|
207
|
+
'optionType': undefined,
|
|
208
|
+
'precision': {
|
|
209
|
+
'amount': this.safeNumber(market, 'item_unit_step'),
|
|
210
|
+
'price': this.parseNumber(this.parsePrecision(this.safeString(market, 'aux_unit_point'))),
|
|
211
|
+
},
|
|
212
|
+
'limits': {
|
|
213
|
+
'leverage': {
|
|
214
|
+
'min': undefined,
|
|
215
|
+
'max': undefined,
|
|
223
216
|
},
|
|
224
|
-
'
|
|
225
|
-
'
|
|
226
|
-
|
|
227
|
-
'max': undefined,
|
|
228
|
-
},
|
|
229
|
-
'amount': {
|
|
230
|
-
'min': this.safeNumber(market, 'item_unit_min'),
|
|
231
|
-
'max': undefined,
|
|
232
|
-
},
|
|
233
|
-
'price': {
|
|
234
|
-
'min': this.safeNumber(market, 'aux_unit_min'),
|
|
235
|
-
'max': undefined,
|
|
236
|
-
},
|
|
237
|
-
'cost': {
|
|
238
|
-
'min': undefined,
|
|
239
|
-
'max': undefined,
|
|
240
|
-
},
|
|
217
|
+
'amount': {
|
|
218
|
+
'min': this.safeNumber(market, 'item_unit_min'),
|
|
219
|
+
'max': undefined,
|
|
241
220
|
},
|
|
242
|
-
'
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
221
|
+
'price': {
|
|
222
|
+
'min': this.safeNumber(market, 'aux_unit_min'),
|
|
223
|
+
'max': undefined,
|
|
224
|
+
},
|
|
225
|
+
'cost': {
|
|
226
|
+
'min': undefined,
|
|
227
|
+
'max': undefined,
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
'created': undefined,
|
|
231
|
+
'info': market,
|
|
232
|
+
};
|
|
247
233
|
}
|
|
248
234
|
parseBalance(response) {
|
|
249
235
|
const balances = this.safeValue(response, 'return', {});
|
package/js/src/zonda.d.ts
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import Exchange from './abstract/zonda.js';
|
|
2
|
-
import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Ticker, Tickers, Trade, Transaction } from './base/types.js';
|
|
2
|
+
import { Balances, Int, Market, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Tickers, Trade, Transaction } from './base/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @class zonda
|
|
5
5
|
* @extends Exchange
|
|
6
6
|
*/
|
|
7
7
|
export default class zonda extends Exchange {
|
|
8
8
|
describe(): any;
|
|
9
|
-
fetchMarkets(params?: {}): Promise<
|
|
10
|
-
|
|
9
|
+
fetchMarkets(params?: {}): Promise<Market[]>;
|
|
10
|
+
parseMarket(item: any): Market;
|
|
11
|
+
fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
|
|
11
12
|
parseOrder(order: any, market?: any): Order;
|
|
12
|
-
fetchMyTrades(symbol?:
|
|
13
|
+
fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
13
14
|
parseBalance(response: any): Balances;
|
|
14
15
|
fetchBalance(params?: {}): Promise<Balances>;
|
|
15
16
|
fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
|
|
16
17
|
parseTicker(ticker: any, market?: any): Ticker;
|
|
17
18
|
fetchTicker(symbol: any, params?: {}): Promise<Ticker>;
|
|
18
19
|
fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
|
|
19
|
-
fetchLedger(code?:
|
|
20
|
+
fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
|
|
20
21
|
parseLedgerEntry(item: any, currency?: any): {
|
|
21
22
|
info: any;
|
|
22
23
|
id: string;
|
|
@@ -40,7 +41,7 @@ export default class zonda extends Exchange {
|
|
|
40
41
|
parseTrade(trade: any, market?: any): Trade;
|
|
41
42
|
fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
|
|
42
43
|
createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
|
|
43
|
-
cancelOrder(id: string, symbol?:
|
|
44
|
+
cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
|
|
44
45
|
isFiat(currency: any): any;
|
|
45
46
|
parseDepositAddress(depositAddress: any, currency?: any): {
|
|
46
47
|
currency: any;
|
package/js/src/zonda.js
CHANGED
|
@@ -307,7 +307,6 @@ export default class zonda extends Exchange {
|
|
|
307
307
|
* @returns {object[]} an array of objects representing market data
|
|
308
308
|
*/
|
|
309
309
|
const response = await this.v1_01PublicGetTradingTicker(params);
|
|
310
|
-
const fiatCurrencies = this.safeValue(this.options, 'fiatCurrencies', []);
|
|
311
310
|
//
|
|
312
311
|
// {
|
|
313
312
|
// "status": "Ok",
|
|
@@ -327,78 +326,76 @@ export default class zonda extends Exchange {
|
|
|
327
326
|
// },
|
|
328
327
|
// }
|
|
329
328
|
//
|
|
330
|
-
const result = [];
|
|
331
329
|
const items = this.safeValue(response, 'items', {});
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
330
|
+
const markets = Object.values(items);
|
|
331
|
+
return this.parseMarkets(markets);
|
|
332
|
+
}
|
|
333
|
+
parseMarket(item) {
|
|
334
|
+
const market = this.safeValue(item, 'market', {});
|
|
335
|
+
const id = this.safeString(market, 'code');
|
|
336
|
+
const first = this.safeValue(market, 'first', {});
|
|
337
|
+
const second = this.safeValue(market, 'second', {});
|
|
338
|
+
const baseId = this.safeString(first, 'currency');
|
|
339
|
+
const quoteId = this.safeString(second, 'currency');
|
|
340
|
+
const base = this.safeCurrencyCode(baseId);
|
|
341
|
+
const quote = this.safeCurrencyCode(quoteId);
|
|
342
|
+
let fees = this.safeValue(this.fees, 'trading', {});
|
|
343
|
+
const fiatCurrencies = this.safeValue(this.options, 'fiatCurrencies', []);
|
|
344
|
+
if (this.inArray(base, fiatCurrencies) || this.inArray(quote, fiatCurrencies)) {
|
|
345
|
+
fees = this.safeValue(this.fees, 'fiat', {});
|
|
346
|
+
}
|
|
347
|
+
// todo: check that the limits have ben interpreted correctly
|
|
348
|
+
return {
|
|
349
|
+
'id': id,
|
|
350
|
+
'symbol': base + '/' + quote,
|
|
351
|
+
'base': base,
|
|
352
|
+
'quote': quote,
|
|
353
|
+
'settle': undefined,
|
|
354
|
+
'baseId': baseId,
|
|
355
|
+
'quoteId': quoteId,
|
|
356
|
+
'settleId': undefined,
|
|
357
|
+
'type': 'spot',
|
|
358
|
+
'spot': true,
|
|
359
|
+
'margin': false,
|
|
360
|
+
'swap': false,
|
|
361
|
+
'future': false,
|
|
362
|
+
'option': false,
|
|
363
|
+
'active': undefined,
|
|
364
|
+
'contract': false,
|
|
365
|
+
'linear': undefined,
|
|
366
|
+
'inverse': undefined,
|
|
367
|
+
'taker': this.safeNumber(fees, 'taker'),
|
|
368
|
+
'maker': this.safeNumber(fees, 'maker'),
|
|
369
|
+
'contractSize': undefined,
|
|
370
|
+
'expiry': undefined,
|
|
371
|
+
'expiryDatetime': undefined,
|
|
372
|
+
'optionType': undefined,
|
|
373
|
+
'strike': undefined,
|
|
374
|
+
'precision': {
|
|
375
|
+
'amount': this.parseNumber(this.parsePrecision(this.safeString(first, 'scale'))),
|
|
376
|
+
'price': this.parseNumber(this.parsePrecision(this.safeString(second, 'scale'))),
|
|
377
|
+
},
|
|
378
|
+
'limits': {
|
|
379
|
+
'leverage': {
|
|
380
|
+
'min': undefined,
|
|
381
|
+
'max': undefined,
|
|
378
382
|
},
|
|
379
|
-
'
|
|
380
|
-
'
|
|
381
|
-
|
|
382
|
-
'max': undefined,
|
|
383
|
-
},
|
|
384
|
-
'amount': {
|
|
385
|
-
'min': this.safeNumber(first, 'minOffer'),
|
|
386
|
-
'max': undefined,
|
|
387
|
-
},
|
|
388
|
-
'price': {
|
|
389
|
-
'min': undefined,
|
|
390
|
-
'max': undefined,
|
|
391
|
-
},
|
|
392
|
-
'cost': {
|
|
393
|
-
'min': this.safeNumber(second, 'minOffer'),
|
|
394
|
-
'max': undefined,
|
|
395
|
-
},
|
|
383
|
+
'amount': {
|
|
384
|
+
'min': this.safeNumber(first, 'minOffer'),
|
|
385
|
+
'max': undefined,
|
|
396
386
|
},
|
|
397
|
-
'
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
387
|
+
'price': {
|
|
388
|
+
'min': undefined,
|
|
389
|
+
'max': undefined,
|
|
390
|
+
},
|
|
391
|
+
'cost': {
|
|
392
|
+
'min': undefined,
|
|
393
|
+
'max': undefined,
|
|
394
|
+
},
|
|
395
|
+
},
|
|
396
|
+
'created': undefined,
|
|
397
|
+
'info': item,
|
|
398
|
+
};
|
|
402
399
|
}
|
|
403
400
|
async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
|
|
404
401
|
/**
|
package/package.json
CHANGED
package/skip-tests.json
CHANGED
|
@@ -1137,21 +1137,6 @@
|
|
|
1137
1137
|
}
|
|
1138
1138
|
},
|
|
1139
1139
|
"lbank": {
|
|
1140
|
-
"skipMethods": {
|
|
1141
|
-
"fetchTickers": {
|
|
1142
|
-
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
|
|
1143
|
-
"baseVolume": "quoteVolume >= baseVolume * low is failing"
|
|
1144
|
-
},
|
|
1145
|
-
"fetchTicker":{
|
|
1146
|
-
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
|
|
1147
|
-
"baseVolume": "quoteVolume >= baseVolume * low is failing"
|
|
1148
|
-
},
|
|
1149
|
-
"fetchTrades":{
|
|
1150
|
-
"fees": "mising"
|
|
1151
|
-
}
|
|
1152
|
-
}
|
|
1153
|
-
},
|
|
1154
|
-
"lbank2": {
|
|
1155
1140
|
"skipMethods": {
|
|
1156
1141
|
"loadMarkets": "settle must be defined when contract is true",
|
|
1157
1142
|
"fetchTickers": {
|
package/test.ts
ADDED
|
File without changes
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { implicitReturnType } from '../base/types.js';
|
|
2
|
-
import { Exchange as _Exchange } from '../base/Exchange.js';
|
|
3
|
-
interface Exchange {
|
|
4
|
-
publicGetTicker(params?: {}): Promise<implicitReturnType>;
|
|
5
|
-
publicGetTickerHour(params?: {}): Promise<implicitReturnType>;
|
|
6
|
-
publicGetOrderBook(params?: {}): Promise<implicitReturnType>;
|
|
7
|
-
publicGetTransactions(params?: {}): Promise<implicitReturnType>;
|
|
8
|
-
publicGetEurUsd(params?: {}): Promise<implicitReturnType>;
|
|
9
|
-
privatePostBalance(params?: {}): Promise<implicitReturnType>;
|
|
10
|
-
privatePostUserTransactions(params?: {}): Promise<implicitReturnType>;
|
|
11
|
-
privatePostOpenOrders(params?: {}): Promise<implicitReturnType>;
|
|
12
|
-
privatePostOrderStatus(params?: {}): Promise<implicitReturnType>;
|
|
13
|
-
privatePostCancelOrder(params?: {}): Promise<implicitReturnType>;
|
|
14
|
-
privatePostCancelAllOrders(params?: {}): Promise<implicitReturnType>;
|
|
15
|
-
privatePostBuy(params?: {}): Promise<implicitReturnType>;
|
|
16
|
-
privatePostSell(params?: {}): Promise<implicitReturnType>;
|
|
17
|
-
privatePostBitcoinDepositAddress(params?: {}): Promise<implicitReturnType>;
|
|
18
|
-
privatePostUnconfirmedBtc(params?: {}): Promise<implicitReturnType>;
|
|
19
|
-
privatePostRippleWithdrawal(params?: {}): Promise<implicitReturnType>;
|
|
20
|
-
privatePostRippleAddress(params?: {}): Promise<implicitReturnType>;
|
|
21
|
-
privatePostWithdrawalRequests(params?: {}): Promise<implicitReturnType>;
|
|
22
|
-
privatePostBitcoinWithdrawal(params?: {}): Promise<implicitReturnType>;
|
|
23
|
-
}
|
|
24
|
-
declare abstract class Exchange extends _Exchange {
|
|
25
|
-
}
|
|
26
|
-
export default Exchange;
|
|
@@ -1,11 +0,0 @@
|
|
|
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;
|