IPC removed, replaced by WS
This commit is contained in:
1 parent
ba4217fb24
commit
656c193511
503 files changed
+28128
-34498
No files matched your search
-2
@@ -17,8 +17,6 @@ module.exports = async (exchange, symbol) => {
|
||||
'btcalpha', // issue with 404 on a documented endpoint https://travis-ci.org/ccxt/ccxt/builds/643930431#L2213
|
||||
'bitmex', // an issue with null values,to be resolved later
|
||||
'cex',
|
||||
'okex',
|
||||
'okcoinusd',
|
||||
'mandala',
|
||||
]
|
||||
|
||||
|
||||
+3
-3
@@ -21,7 +21,7 @@ module.exports = (exchange, ohlcv, symbol, now) => {
|
||||
assert (ohlcv[0] > 1230940800000) // 03 Jan 2009 - first block
|
||||
assert (ohlcv[0] < 2147483648000) // 19 Jan 2038 - int32 overflows
|
||||
|
||||
assert (ohlcv[1] === undefined || ohlcv[2] === undefined || ohlcv[1] <= ohlcv[2], 'open > high!') // open <= high
|
||||
assert (ohlcv[3] === undefined || ohlcv[2] === undefined || ohlcv[3] <= ohlcv[2], 'low > high!') // low <= high
|
||||
assert (ohlcv[3] === undefined || ohlcv[4] === undefined || ohlcv[3] <= ohlcv[4], 'low > close!') // low <= close
|
||||
assert (ohlcv[1] === undefined || ohlcv[2] === undefined || ohlcv[1] <= ohlcv[2], 'open > high! ' + (ohlcv[1].toString () + ' > ' + ohlcv[2].toString ())) // open <= high
|
||||
assert (ohlcv[3] === undefined || ohlcv[2] === undefined || ohlcv[3] <= ohlcv[2], 'low > high! ' + (ohlcv[3].toString () + ' > ' + ohlcv[2].toString ())) // low <= high
|
||||
assert (ohlcv[3] === undefined || ohlcv[4] === undefined || ohlcv[3] <= ohlcv[4], 'low > close! ' + (ohlcv[3].toString () + ' > ' + ohlcv[4].toString ())) // low <= close
|
||||
}
|
||||
-1
@@ -60,7 +60,6 @@ module.exports = (exchange, orderbook, method, symbol) => {
|
||||
|
||||
'coinmarketcap',
|
||||
'xbtce',
|
||||
'coinsecure',
|
||||
'upbit', // an orderbook might have a 0-price ask occasionally
|
||||
|
||||
].includes (exchange.id)) {
|
||||
|
||||
+8
@@ -108,3 +108,11 @@ const pemKey = pemKeyArray.join ("\n");
|
||||
|
||||
assert (jwt ({'chicken': 'salad'}, encode (pemKey), 'RS256') === 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJjaGlja2VuIjoic2FsYWQifQ.FSKD5Y6RNzkHTuHdvG3753U7QNZ-u-GUSPfP1FMjEaK0Rr_iyQTSSmHhkdYSFFnmBvrrN_l-UwKwir52WlsgmQm9HYm0kidxbj7fWwrK2E1oe0P7OjupFjv1BZxc5W69WeaHtOPWe28tiHiON1LCnax6HgfI5lcIBsESGIIBZMVeaioQn9gDVwea7JxJvAlrhDIWZowIHTIdCQocXip7g5jREWHeEIuJNug67mwnfAFxCjvTRiTd0Bw6oBwjM3FLya-RyEyWrejQOWSuC8CNWVUHISaSmEyZ7uM6wTi2m_58TaE9mQwlef32OPErPvvBpgL5pZIyQ4ymwrCIFQLBQQ');
|
||||
assert (jwt ({'lil': 'xan'}, encode ('betrayed'), 'HS256') === 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaWwiOiJ4YW4ifQ.md-oFvZagA-NXmZoRNyJOQ7zwK-PWUMmMQ_LI9ZOKaM');
|
||||
|
||||
// ---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
assert (exchange.soliditySha3 (['0x63581b9abf2b661da0ba247e0dda1b723dcff5e3', 100, 'lulwat']) === '0x1d3e95c10fc64aee6628ea59284503a4eafc6ff13c541f00753fbd2a66cea0f5');
|
||||
assert (exchange.soliditySha3 ([234]) === '0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2');
|
||||
assert (exchange.soliditySha3 (['234']) === '0x61c831beab28d67d1bb40b5ae1a11e2757fa842f031a2d0bc94a7867bc5d26c2');
|
||||
assert (exchange.soliditySha3 (['Hello!%']) === '0x661136a4267dba9ccdf6bfddb7c00e714de936674c4bdb065a531cf1cb15c7fc');
|
||||
assert (exchange.soliditySha3 (['0x407D73d8a49eeb85D32Cf465507dd71d507100c1']) === '0x4e8ebbefa452077428f93c9520d3edd60594ff452a29ac7d2ccc11d47f3ab95b');
|
||||
+61
-2
@@ -1,8 +1,49 @@
|
||||
'use strict'
|
||||
|
||||
const { numberToString, decimalToPrecision, ROUND, TRUNCATE, DECIMAL_PLACES, TICK_SIZE, PAD_WITH_ZERO, SIGNIFICANT_DIGITS } = require ('../../../../ccxt');
|
||||
const { numberToString, decimalToPrecision, ROUND, TRUNCATE, DECIMAL_PLACES, TICK_SIZE, PAD_WITH_ZERO, SIGNIFICANT_DIGITS, toWei, fromWei } = require ('../../../../ccxt');
|
||||
const assert = require ('assert');
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// toWei / fromWei
|
||||
|
||||
assert (toWei (1, 18) === '1000000000000000000');
|
||||
assert (toWei (1, 17) === '100000000000000000');
|
||||
assert (toWei (1, 16) === '10000000000000000');
|
||||
assert (toWei ('1', 18) === '1000000000000000000');
|
||||
assert (toWei ('1', 17) === '100000000000000000');
|
||||
assert (toWei ('1', 16) === '10000000000000000');
|
||||
assert (toWei (0, 18) === '0');
|
||||
assert (toWei (1, 0) === '1');
|
||||
assert (toWei (1, 1) === '10');
|
||||
assert (toWei (1.3, 18) === '1300000000000000000');
|
||||
assert (toWei ('1.3', 18) === '1300000000000000000');
|
||||
assert (toWei (1.999, 17) === '199900000000000000');
|
||||
assert (toWei ('1.999', 17) === '199900000000000000');
|
||||
assert (toWei ('0.1', 18) === '100000000000000000');
|
||||
assert (toWei ('0.01', 18) === '10000000000000000');
|
||||
assert (toWei ('0.001', 18) === '1000000000000000');
|
||||
assert (toWei (0.1, 18) === '100000000000000000');
|
||||
assert (toWei (0.01, 18) === '10000000000000000');
|
||||
assert (toWei (0.001, 18) === '1000000000000000');
|
||||
|
||||
// let us test that we get the inverse for all these test
|
||||
assert (fromWei ('1000000000000000000', 18) === 1.0);
|
||||
assert (fromWei ('100000000000000000', 17) === 1.0);
|
||||
assert (fromWei ('10000000000000000', 16) === 1.0);
|
||||
assert (fromWei (1000000000000000000, 18) === 1.0);
|
||||
assert (fromWei (100000000000000000, 17) === 1.0);
|
||||
assert (fromWei (10000000000000000, 16) === 1.0);
|
||||
assert (fromWei ('1300000000000000000', 18) === 1.3);
|
||||
assert (fromWei (1300000000000000000, 18) === 1.3);
|
||||
assert (fromWei ('199900000000000000', 17) === 1.999);
|
||||
assert (fromWei (199900000000000000, 17) === 1.999);
|
||||
assert (fromWei ('100000000000000000', 18) === 0.1);
|
||||
assert (fromWei ('10000000000000000', 18) === 0.01);
|
||||
assert (fromWei ('1000000000000000', 18) === 0.001);
|
||||
assert (fromWei (100000000000000000, 18) === 0.1);
|
||||
assert (fromWei (10000000000000000, 18) === 0.01);
|
||||
assert (fromWei (1000000000000000, 18) === 0.001);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// numberToString
|
||||
|
||||
@@ -17,7 +58,7 @@ assert (numberToString (7.9e27) === '7900000000000000000000000000');
|
||||
assert (numberToString (-12.345) === '-12.345');
|
||||
assert (numberToString (12.345) === '12.345');
|
||||
assert (numberToString (0) === '0');
|
||||
// this line breaks the test
|
||||
// the following line breaks the test
|
||||
// see https://github.com/ccxt/ccxt/issues/5744
|
||||
// assert (numberToString (0.00000001) === '0.00000001');
|
||||
|
||||
@@ -157,6 +198,24 @@ assert (decimalToPrecision ('-0.000123456789', ROUND, 0.00000012, TICK_SIZE) ===
|
||||
assert (decimalToPrecision ('-0.000123456789', TRUNCATE, 0.00000012, TICK_SIZE) === '-0.00012336');
|
||||
assert (decimalToPrecision ('-165', TRUNCATE, 110, TICK_SIZE) === '-110');
|
||||
assert (decimalToPrecision ('-165', ROUND, 110, TICK_SIZE) === '-220');
|
||||
assert (decimalToPrecision ('-1650', TRUNCATE, 1100, TICK_SIZE) === '-1100');
|
||||
assert (decimalToPrecision ('-1650', ROUND, 1100, TICK_SIZE) === '-2200');
|
||||
|
||||
assert (decimalToPrecision ('0.0006', TRUNCATE, 0.0001, TICK_SIZE) === '0.0006');
|
||||
assert (decimalToPrecision ('-0.0006', TRUNCATE, 0.0001, TICK_SIZE) === '-0.0006');
|
||||
assert (decimalToPrecision ('0.6', TRUNCATE, 0.2, TICK_SIZE) === '0.6');
|
||||
assert (decimalToPrecision ('-0.6', TRUNCATE, 0.2, TICK_SIZE) === '-0.6');
|
||||
assert (decimalToPrecision ('1.2', ROUND, 0.4, TICK_SIZE) === '1.2');
|
||||
assert (decimalToPrecision ('-1.2', ROUND, 0.4, TICK_SIZE) === '-1.2');
|
||||
assert (decimalToPrecision ('1.2', ROUND, 0.02, TICK_SIZE) === '1.2');
|
||||
assert (decimalToPrecision ('-1.2', ROUND, 0.02, TICK_SIZE) === '-1.2');
|
||||
assert (decimalToPrecision ('44', ROUND, 4.4, TICK_SIZE) === '44');
|
||||
assert (decimalToPrecision ('-44', ROUND, 4.4, TICK_SIZE) === '-44');
|
||||
assert (decimalToPrecision ('44.00000001', ROUND, 4.4, TICK_SIZE) === '44');
|
||||
assert (decimalToPrecision ('-44.00000001', ROUND, 4.4, TICK_SIZE) === '-44');
|
||||
|
||||
// https://github.com/ccxt/ccxt/issues/6731
|
||||
assert (decimalToPrecision ('20', TRUNCATE, 0.00000001, TICK_SIZE) === '20');
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// testDecimalToPrecisionNegativeNumbers
|
||||
|
||||
+5
-7
@@ -33,8 +33,7 @@ log.bright ('\nTESTING', { exchange: exchangeId, symbol: exchangeSymbol || 'all'
|
||||
|
||||
let proxies = [
|
||||
'',
|
||||
'https://cors-anywhere.herokuapp.com/',
|
||||
// 'https://crossorigin.me/',
|
||||
'https://cors-anywhere.herokuapp.com/'
|
||||
]
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -120,7 +119,7 @@ let testSymbol = async (exchange, symbol) => {
|
||||
|
||||
} else if (exchange.id === 'coinbase') {
|
||||
|
||||
// do nothing for now
|
||||
// nothing for now
|
||||
|
||||
} else {
|
||||
|
||||
@@ -336,10 +335,12 @@ let tryAllProxies = async function (exchange, proxies) {
|
||||
exchange.proxy = proxies[currentProxy]
|
||||
|
||||
// add random origin for proxies
|
||||
if (exchange.proxy.length > 0)
|
||||
if (exchange.proxy.length > 0) {
|
||||
exchange.origin = exchange.uuid ()
|
||||
}
|
||||
|
||||
await testExchange (exchange)
|
||||
|
||||
break
|
||||
|
||||
} catch (e) {
|
||||
@@ -369,12 +370,9 @@ let tryAllProxies = async function (exchange, proxies) {
|
||||
;(async function test () {
|
||||
|
||||
if (exchangeSymbol) {
|
||||
|
||||
await loadExchange (exchange)
|
||||
await testSymbol (exchange, exchangeSymbol)
|
||||
|
||||
} else {
|
||||
|
||||
await tryAllProxies (exchange, proxies)
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user