Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature / Cube Exchange #22540

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

FunttasticLabs
Copy link

Adding Cube exchange.
Improving and adding missing methods to C# core class.

@danilo-silva-funttastic danilo-silva-funttastic force-pushed the feature/cube branch 17 times, most recently from 9b5dcac to 889fda1 Compare May 27, 2024 12:17
@FunttasticLabs FunttasticLabs marked this pull request as ready for review May 27, 2024 13:47
@samgermain
Copy link
Member

samgermain commented May 27, 2024

Unrelated failed build

FAILED bitmart (Python Async ): (explain @ run-tests.js:358)

	

	[INFO] TESTING  py {'exchange': 'bitmart', 'symbol': None, 'method': None, 'isWs': False} 

	

	[INFO:MAIN] Exchange loaded 1828 symbols

	[INFO:MAIN] Selected SPOT SYMBOL: BTC/USDT

	[INFO:MAIN] Selected SWAP SYMBOL: BTC/USDT:USDT

	[TEST_FAILURE] [ValueError] Traceback (most recent call last):

	File "python/ccxt/test/test_async.py", line 513, in test_safe

		await self.test_method(method_name, exchange, args, is_public)

	File "python/ccxt/test/test_async.py", line 454, in test_method

		await call_method(self.test_files, method_name, exchange, skipped_properties_for_method, args)

	File "python/ccxt/test/test_async.py", line 191, in call_method

		return await getattr(test_files[methodName], methodNameToCall)(exchange, skippedProperties, *args)

	File "/home/travis/build/ccxt/ccxt/python/ccxt/test/async/test_fetch_tickers.py", line 22, in test_fetch_tickers

		await asyncio.gather(*[test_fetch_tickers_helper(exchange, skipped_properties, None), test_fetch_tickers_helper(exchange, skipped_properties, [symbol])])

	File "/home/travis/build/ccxt/ccxt/python/ccxt/test/async/test_fetch_tickers.py", line 27, in test_fetch_tickers_helper

		response = await exchange.fetch_tickers(arg_symbols, arg_params)

	File "/home/travis/build/ccxt/ccxt/python/ccxt/async_support/bitmart.py", line 1338, in fetch_tickers

		ticker = self.parse_ticker(tickers[i])

	ValueError: invalid literal for int() with base 10: ''

	bitmart  spot fetchTickers ["BTC/USDT"]

	[TEST_FAILURE] bitmart  spot PUBLIC_TESTS Failed methods : fetchTickers (explain @ run-tests.js:359)

FAILED bitmart (PHP Async ): (explain @ run-tests.js:358)

	

	[INFO] TESTING  php {"exchange":"bitmart","symbol":null,"method":null,"isWs":false} 

	

	[INFO:MAIN] Exchange loaded 1828 symbols

	[INFO:MAIN] Selected SPOT SYMBOL: BTC/USDT

	[INFO:MAIN] Selected SWAP SYMBOL: BTC/USDT:USDT

	[TEST_FAILURE] [ValueError] gmp_init(): Argument #1 ($num) is not an integer string

	/home/travis/build/ccxt/ccxt/php/Precise.php:21

	/home/travis/build/ccxt/ccxt/php/Precise.php:21 > gmp_init

	/home/travis/build/ccxt/ccxt/php/Precise.php:164 ::: ccxt\Precise > __construct

	/home/travis/build/ccxt/ccxt/php/async/bitmart.php:1209 ::: ccxt\Precise > string_mul

	/home/travis/build/ccxt/ccxt/php/async/bitmart.php:1372 ::: ccxt\async\bitmart > parse_ticker

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:191 ::: ccxt\async\bitmart > ccxt\async\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:28 ::: Fiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:299 ::: React\Async\SimpleFiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 > React\Async\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:169 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:191 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:28 ::: Fiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:299 ::: React\Async\SimpleFiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 > React\Async\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:169 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:191 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:28 ::: Fiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:299 ::: React\Async\SimpleFiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 > React\Async\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:169 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:191 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:28 ::: Fiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:299 ::: React\Async\SimpleFiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 > React\Async\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:169 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:191 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:28 ::: Fiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:299 ::: React\Async\SimpleFiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 > React\Async\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:169 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Deferred.php:42 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/Transaction.php:90 ::: React\Promise\Deferred > resolve

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 ::: React\Http\Io\Transaction > React\Http\Io\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:169 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:176 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:173 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/Transaction.php:193 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/evenement/evenement/src/EventEmitterTrait.php:143 ::: React\Http\Io\Transaction > React\Http\Io\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/ReadableBodyStream.php:50 ::: Evenement\EventEmitter > emit

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/ReadableBodyStream.php:151 ::: React\Http\Io\ReadableBodyStream > close

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/ReadableBodyStream.php:33 ::: React\Http\Io\ReadableBodyStream > handleEnd

	/home/travis/build/ccxt/ccxt/vendor/evenement/evenement/src/EventEmitterTrait.php:143 ::: React\Http\Io\ReadableBodyStream > React\Http\Io\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/CloseProtectionStream.php:96 ::: Evenement\EventEmitter > emit

	/home/travis/build/ccxt/ccxt/vendor/evenement/evenement/src/EventEmitterTrait.php:143 ::: React\Http\Io\CloseProtectionStream > handleData

	/home/travis/build/ccxt/ccxt/vendor/react/stream/src/Util.php:71 ::: Evenement\EventEmitter > emit

	/home/travis/build/ccxt/ccxt/vendor/evenement/evenement/src/EventEmitterTrait.php:143 ::: React\Stream\Util > React\Stream\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/stream/src/DuplexResourceStream.php:196 ::: Evenement\EventEmitter > emit

	/home/travis/build/ccxt/ccxt/vendor/react/event-loop/src/StreamSelectLoop.php:246 ::: React\Stream\DuplexResourceStream > handleData

	/home/travis/build/ccxt/ccxt/vendor/react/event-loop/src/StreamSelectLoop.php:213 ::: React\EventLoop\StreamSelectLoop > waitForStreamActivity

	/home/travis/build/ccxt/ccxt/vendor/react/event-loop/src/Loop.php:250 ::: React\EventLoop\StreamSelectLoop > run

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:61 ::: React\EventLoop\Loop > run

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:71 ::: Fiber > start

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:357 ::: React\Async\SimpleFiber > suspend

	/home/travis/build/ccxt/ccxt/php/test/test_async.php:2010 > React\Async\await

	bitmart  spot fetchTickers ["BTC/USDT"]

	[TEST_FAILURE] bitmart  spot PUBLIC_TESTS Failed methods : fetchTickers (explain @ run-tests.js:359)

FAILED wazirx (PHP Async ): (explain @ run-tests.js:358)

	

	[INFO] TESTING  php {"exchange":"wazirx","symbol":null,"method":null,"isWs":false} 

	

	[TEST_FAILURE] Method could not be tested due to a repeated Network/Availability issues  |  wazirx   loadMarkets [] [ccxt\RateLimitExceeded] wazirx {"message":"Too many api request","code":2136}

	/home/travis/build/ccxt/ccxt/php/async/Exchange.php:3227

	/home/travis/build/ccxt/ccxt/php/async/wazirx.php:1290 ::: ccxt\async\Exchange > throw_exactly_matched_exception

	/home/travis/build/ccxt/ccxt/php/async/Exchange.php:213 ::: ccxt\async\wazirx > handle_errors

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:191 ::: ccxt\async\Exchange > ccxt\async\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:28 ::: Fiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:299 ::: React\Async\SimpleFiber > resume

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 > React\Async\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:169 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Deferred.php:42 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/Transaction.php:90 ::: React\Promise\Deferred > resolve

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 ::: React\Http\Io\Transaction > React\Http\Io\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:169 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:176 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Internal/FulfilledPromise.php:47 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:173 ::: React\Promise\Internal\FulfilledPromise > then

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:217 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/promise/src/Promise.php:279 ::: React\Promise\Promise > settle

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/Transaction.php:193 ::: React\Promise\Promise > React\Promise\{closure}

	/home/travis/build/ccxt/ccxt/vendor/evenement/evenement/src/EventEmitterTrait.php:143 ::: React\Http\Io\Transaction > React\Http\Io\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/ReadableBodyStream.php:50 ::: Evenement\EventEmitter > emit

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/ReadableBodyStream.php:151 ::: React\Http\Io\ReadableBodyStream > close

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/ReadableBodyStream.php:33 ::: React\Http\Io\ReadableBodyStream > handleEnd

	/home/travis/build/ccxt/ccxt/vendor/evenement/evenement/src/EventEmitterTrait.php:143 ::: React\Http\Io\ReadableBodyStream > React\Http\Io\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/CloseProtectionStream.php:96 ::: Evenement\EventEmitter > emit

	/home/travis/build/ccxt/ccxt/vendor/react/http/src/Io/ClientRequestStream.php:212 ::: React\Http\Io\CloseProtectionStream > handleData

	/home/travis/build/ccxt/ccxt/vendor/evenement/evenement/src/EventEmitterTrait.php:143 ::: React\Http\Io\ClientRequestStream > handleData

	/home/travis/build/ccxt/ccxt/vendor/react/stream/src/Util.php:71 ::: Evenement\EventEmitter > emit

	/home/travis/build/ccxt/ccxt/vendor/evenement/evenement/src/EventEmitterTrait.php:143 ::: React\Stream\Util > React\Stream\{closure}

	/home/travis/build/ccxt/ccxt/vendor/react/stream/src/DuplexResourceStream.php:196 ::: Evenement\EventEmitter > emit

	/home/travis/build/ccxt/ccxt/vendor/react/event-loop/src/StreamSelectLoop.php:246 ::: React\Stream\DuplexResourceStream > handleData

	/home/travis/build/ccxt/ccxt/vendor/react/event-loop/src/StreamSelectLoop.php:213 ::: React\EventLoop\StreamSelectLoop > waitForStreamActivity

	/home/travis/build/ccxt/ccxt/vendor/react/event-loop/src/Loop.php:250 ::: React\EventLoop\StreamSelectLoop > run

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:61 ::: React\EventLoop\Loop > run

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/SimpleFiber.php:71 ::: Fiber > start

	/home/travis/build/ccxt/ccxt/vendor/react/async/src/functions.php:357 ::: React\Async\SimpleFiber > suspend

	/home/travis/build/ccxt/ccxt/php/test/test_async.php:2010 > React\Async\await (explain @ run-tests.js:359)

FAILED wazirx (C# ): (explain @ run-tests.js:358)

	

	C# version: 7.0.19

	

	

	[INFO] TESTING  cs {"exchange":"wazirx","symbol":null,"method":null,"isWs":false} System.Collections.Generic.Dictionary`2[System.String,System.Object] 

	

	[TEST_FAILURE] Exchange can not load markets One or more errors occurred. (wazirx {"message":"Too many api request","code":2136}) wazirx   loadMarkets [] (explain @ run-tests.js:359)

FAIL ["bitmart", "wazirx"] (run-tests.js:444)

@danilo-silva-funttastic

Thanks @samgermain for pointing out the unrelated failure.
@kroitor, @frosty00 , please kindly review our PR when you have time, if you have suggestions to have a green build, please kindly let me know as well.

Thanks in advance :)

P.S.: I might be force pushing (squashing the commits into only one) frequently to have the branch up to date and possibly have it green as well.

@carlosmiei
Copy link
Collaborator

@FunttasticLabs Hello, can you please ping us on discord/telegram?

Improving and adding missing methods to C# core class.
@danilo-silva-funttastic

@FunttasticLabs Hello, can you please ping us on discord/telegram?

@carlosmiei, I'll contact you there over discord

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants