Upgrade coinbase xchange and stream projects to new advanced trade api#5255
Open
TheCookieLab wants to merge 103 commits intoknowm:developfrom
Open
Upgrade coinbase xchange and stream projects to new advanced trade api#5255TheCookieLab wants to merge 103 commits intoknowm:developfrom
TheCookieLab wants to merge 103 commits intoknowm:developfrom
Conversation
…cheduler after disconnects. Update tests to verify scheduler usability and JWT refresh functionality post-reconnect, ensuring robust handling of connection cycles.
…eService to enhance thread safety and prevent race conditions. Replace Long with AtomicLong for lastSequence in market data service, ensuring safe concurrent access. Introduce processedTerminalOrders set in trade service to prevent duplicate emissions for terminal orders. Update tests to validate these changes and ensure correct handling of terminal order statuses.
…adeServiceTest to include timestamp verification for candle data and streamline test utility classes. Remove redundant StubStreamingService implementation from both test files, enhancing code clarity and maintainability.
…o handle different scales consistently. Introduce a method to normalize prices, ensuring that identical values with varying scales are treated as the same key in order books. Update tests to validate the normalization functionality and confirm correct behavior during snapshot processing and updates.
…cket-api-client-optimization
Feature/coinbase streaming
…o allow for more flexible version management.
…oved security and functionality.
…nal methods. Added comprehensive Javadoc comments for CoinbaseAccountServiceRaw and CoinbaseMarketDataServiceRaw, including constructors and transaction summary retrieval methods. Removed unused import in CoinbaseTradeServiceRaw.
… checks and expanded functionality. Added API key permissions inspection, portfolio management, and order preview capabilities in trade operations. Updated market data examples to utilize public endpoints and streaming services for improved data access.
…Added methods to resolve host and sanitize it for environment variable naming. Enhanced key retrieval logic to improve authentication flexibility.
…I keys. Added checks for the availability of secret keys and refined assertions to validate effective API key retrieval. Introduced a method to assume the presence of secret keys on the classpath or disk.
…owing users to connect to market data and user order data WebSocket endpoints. Update examples to demonstrate usage of new methods and clarify WebSocket endpoint configurations in documentation. Remove sandbox connectivity tests as WebSocket connections do not support sandbox environments.
…nd no longer aligns with current documentation practices.
…e to ByteBuddy/Mockito incompatibility.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Coinbase changed their auth token requirements which rendered the current v2 APIs inoperable. As it currently stands support for the Coinbase exchange - both REST and streaming - is broken. This PR updates auth token generation logic and implements complete advanced trade (v3) api support restoring full Coinbase exchange support.
Deprecated/removed defunct v1, v2 client code but for back-ported new auth token usage to the remaining v2 apis that are still relevant.
Implemented full coinbase streaming support based off new advanced trade api / authentication
Updated
xchange-exampleswith relevant Coinbase REST and streaming examplesUpdated
AuthUtilskey resolution (check for secrets in environment variables via host sanitization key generation) with updated tests, and aligned module versions/dependencies for the new Coinbase stack. Fully backwards compatible.Left CoinbasePro* projects alone, probably should be deprecated or removed.