Skip to content

feat: complete typed Account Data API - #100

Open
nyg wants to merge 1 commit into
masterfrom
codex/account-data-coverage
Open

feat: complete typed Account Data API#100
nyg wants to merge 1 commit into
masterfrom
codex/account-data-coverage

Conversation

@nyg

@nyg nyg commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Completes the missing typed Account Data operations from #82: Balance, BalanceEx, CreditLines, TradeBalance, OpenOrders, ClosedOrders, QueryOrders, OrderAmends, TradesHistory, QueryTrades, OpenPositions, TradeVolume, GetApiKeyInfo, and ListWalletAccounts. Adds endpoint classes, parameter builders, response records, and public Javadoc following the existing library conventions.

Balances and quantities retain decimal precision, orders and trades expose pagination and optional counts, and wallet selection is sent in the Balance URL query. CreditLines handles successful null results. TradeVolume supports class-qualified pairs and full fee schedules through a JSON body; the default requester sends the endpoint’s content type and delegates response unwrapping so both cases work through the typed facade. The existing ledger and report methods remain available.

Validation: Java 25 clean package passes for both modules; 92 JUnit tests cover every added endpoint’s wire parameters, documented response fixtures, facade routing, missing credentials, null/error responses, enum fallback, fee schedules, and exact signed request bodies. The library Javadoc jar builds with doclint=all,-missing. Tests use Mockito and AssertJ without API keys or network calls. The Account Data and Funding branches merge cleanly and pass all 173 tests together.

This PR targets master independently of Market Data #99 and Funding #101. It uses the same test infrastructure as #99. Refs #82; the umbrella issue remains open for the other API groups.

Support nullable credit results and JSON trade-volume requests while preserving decimal precision and public API documentation.

Refs #82
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