ccxt-ir 4.13.0 → 4.14.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 +2 -2
- package/dist/cjs/ccxt.js +4 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/src/changefa.js +1 -1
- package/dist/cjs/src/hamtapay.js +48 -59
- package/dist/cjs/src/kifpoolme.js +2 -2
- package/dist/cjs/src/saraf.js +310 -0
- package/js/ccxt.d.ts +5 -2
- package/js/ccxt.js +4 -2
- package/js/src/abstract/hamtapay.d.ts +0 -1
- package/js/src/abstract/saraf.d.ts +8 -0
- package/js/src/abstract/saraf.js +11 -0
- package/js/src/changefa.js +1 -1
- package/js/src/hamtapay.js +48 -59
- package/js/src/kifpoolme.js +2 -2
- package/js/src/saraf.d.ts +21 -0
- package/js/src/saraf.js +309 -0
- package/js/test.js +67 -71
- package/package.json +1 -1
package/js/test.js
CHANGED
|
@@ -5,84 +5,80 @@
|
|
|
5
5
|
// EDIT THE CORRESPONDENT .ts FILE INSTEAD
|
|
6
6
|
|
|
7
7
|
import ccxt from './ccxt';
|
|
8
|
-
async function
|
|
9
|
-
const exchange = new ccxt.
|
|
8
|
+
async function testsaraf() {
|
|
9
|
+
const exchange = new ccxt.saraf({
|
|
10
10
|
enableRateLimit: true,
|
|
11
11
|
timeout: 20000,
|
|
12
12
|
});
|
|
13
13
|
try {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
type: market.type,
|
|
69
|
-
message: error instanceof Error ? error.message : String(error),
|
|
70
|
-
});
|
|
71
|
-
}
|
|
14
|
+
const params = { 'type': 'otc' };
|
|
15
|
+
const markets = await exchange.fetchMarkets(params);
|
|
16
|
+
console.log('saraf markets count:', markets.length);
|
|
17
|
+
console.log('saraf first markets:', markets.slice(0, 10).map((market) => ({
|
|
18
|
+
symbol: market.symbol,
|
|
19
|
+
id: market.id,
|
|
20
|
+
type: market.type,
|
|
21
|
+
active: market.active,
|
|
22
|
+
amountPrecision: market.precision && market.precision.amount,
|
|
23
|
+
pricePrecision: market.precision && market.precision.price,
|
|
24
|
+
})));
|
|
25
|
+
const tickers = await exchange.fetchTickers(undefined, params);
|
|
26
|
+
const tickerSymbols = Object.keys(tickers);
|
|
27
|
+
console.log('saraf tickers count:', tickerSymbols.length);
|
|
28
|
+
const missingFromFetchTickers = [];
|
|
29
|
+
const fetchTickerFailures = [];
|
|
30
|
+
const sampleTickers = [];
|
|
31
|
+
for (let j = 0; j < markets.length; j++) {
|
|
32
|
+
const market = markets[j];
|
|
33
|
+
const symbol = market.symbol;
|
|
34
|
+
const tickerFromBulk = tickers[symbol];
|
|
35
|
+
if (tickerFromBulk === undefined) {
|
|
36
|
+
missingFromFetchTickers.push(symbol);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (sampleTickers.length < 10) {
|
|
40
|
+
sampleTickers.push({
|
|
41
|
+
symbol: tickerFromBulk.symbol,
|
|
42
|
+
type: market.type,
|
|
43
|
+
last: tickerFromBulk.last,
|
|
44
|
+
bid: tickerFromBulk.bid,
|
|
45
|
+
ask: tickerFromBulk.ask,
|
|
46
|
+
high: tickerFromBulk.high,
|
|
47
|
+
low: tickerFromBulk.low,
|
|
48
|
+
baseVolume: tickerFromBulk.baseVolume,
|
|
49
|
+
quoteVolume: tickerFromBulk.quoteVolume,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
const singleTicker = await exchange.fetchTicker(symbol, params);
|
|
54
|
+
console.log('checked saraf ticker:', {
|
|
55
|
+
symbol: singleTicker.symbol,
|
|
56
|
+
type: market.type,
|
|
57
|
+
last: singleTicker.last,
|
|
58
|
+
bid: singleTicker.bid,
|
|
59
|
+
ask: singleTicker.ask,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
fetchTickerFailures.push({
|
|
64
|
+
symbol,
|
|
65
|
+
type: market.type,
|
|
66
|
+
message: error instanceof Error ? error.message : String(error),
|
|
67
|
+
});
|
|
72
68
|
}
|
|
73
|
-
console.log(marketType + ' sample bulk tickers:', sampleTickers);
|
|
74
|
-
console.log(marketType + ' missing from fetchTickers:', missingFromFetchTickers);
|
|
75
|
-
console.log(marketType + ' fetchTicker failures:', fetchTickerFailures);
|
|
76
|
-
console.log(marketType + ' summary:', {
|
|
77
|
-
marketsCount: markets.length,
|
|
78
|
-
tickersCount: tickerSymbols.length,
|
|
79
|
-
missingFromFetchTickersCount: missingFromFetchTickers.length,
|
|
80
|
-
fetchTickerFailuresCount: fetchTickerFailures.length,
|
|
81
|
-
});
|
|
82
69
|
}
|
|
70
|
+
console.log('saraf sample bulk tickers:', sampleTickers);
|
|
71
|
+
console.log('saraf missing from fetchTickers:', missingFromFetchTickers);
|
|
72
|
+
console.log('saraf fetchTicker failures:', fetchTickerFailures);
|
|
73
|
+
console.log('saraf summary:', {
|
|
74
|
+
marketsCount: markets.length,
|
|
75
|
+
tickersCount: tickerSymbols.length,
|
|
76
|
+
missingFromFetchTickersCount: missingFromFetchTickers.length,
|
|
77
|
+
fetchTickerFailuresCount: fetchTickerFailures.length,
|
|
78
|
+
});
|
|
83
79
|
}
|
|
84
80
|
catch (error) {
|
|
85
|
-
console.error('Error during testing
|
|
81
|
+
console.error('Error during testing saraf:', error);
|
|
86
82
|
}
|
|
87
83
|
finally {
|
|
88
84
|
if (exchange.close) {
|
|
@@ -90,4 +86,4 @@ async function testBitwana() {
|
|
|
90
86
|
}
|
|
91
87
|
}
|
|
92
88
|
}
|
|
93
|
-
|
|
89
|
+
testsaraf();
|
package/package.json
CHANGED