Skip to content

feat: complete typed Market Data coverage - #99

Open
nyg wants to merge 3 commits into
masterfrom
codex/market-data-coverage
Open

feat: complete typed Market Data coverage#99
nyg wants to merge 3 commits into
masterfrom
codex/market-data-coverage

Conversation

@nyg

@nyg nyg commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Completes the Market Data sub-task of #82 by adding typed support for OHLC, Depth, Trades, Spread, GroupedBook, and authenticated Level3.

Kraken's current Spot REST specification also includes MaintenanceSchedule, which was absent from the issue's August inventory. This PR adds that endpoint and its public enum constant too, bringing Market Data to 12/12 endpoints with typed methods.

  • Add endpoint classes, parameter builders covering every documented request field for the six endpoints in Kraken Spot REST API coverage: 21 of 60 endpoints typed #82, response records, and KrakenAPI convenience methods. Support assetVersion and asset_class where documented.
  • Preserve pair-keyed rows, decimal prices and trade times, opaque trade cursors, and Level3 nanosecond timestamps. Keep Jackson response builders package-private and supply unknown-value fallbacks on new response enums.
  • Add JUnit 5/Surefire, MockitoExtension, AssertJ, and 60 self-contained offline tests covering parameters, tuple decoding, empty responses, display names, cursor reuse, precision, future enums, error propagation, and public/private facade routing.
  • Document the API and parameter semantics in the README, add a public MarketDataExample, and update the custom-endpoint example to use an accurate order-book response shape. Client-facing library types and methods include Javadoc consistent with the existing API; implementation helpers and tests have no added comments.

Validation: JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-25.jdk/Contents/Home ~/.local/bin/mvnd -B clean package passes for both modules (60 tests, no failures). Library Javadoc passes with doclint=all,-missing. Tests use documented JSON fixtures and Mockito requester mocks; no live authenticated Kraken request was made.

Refs #82. The umbrella issue remains open for the other API groups.

nyg added 3 commits September 7, 2026 21:24
Move new API documentation into the README, preserve existing comments, and apply the no-comments rule to all added code. Rewrite endpoint and facade tests with MockitoExtension, AssertJ, explicit types, unit variables, and self-contained should/when methods.

Verified with Temurin 25 and mvnd: both modules package successfully, all 60 tests pass, and the Javadoc artifact builds.
Document client-facing types, constructors, methods, parameters, response records, and enums in the existing library style. Keep implementation helpers and tests free of new comments.
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.

1 participant