Skip to content

feat: complete typed Funding API - #101

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

feat: complete typed Funding API#101
nyg wants to merge 1 commit into
masterfrom
codex/funding-coverage

Conversation

@nyg

@nyg nyg commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Completes the ten Funding operations from #82 with typed endpoints, parameter builders, response records, and KrakenAPI methods: DepositMethods, DepositAddresses, DepositStatus, WithdrawMethods, WithdrawAddresses, WithdrawInfo, Withdraw, WithdrawStatus, WithdrawCancel, and WalletTransfer. Public library types and methods include Javadoc following the existing code.

Status responses preserve both transaction lists and pagination cursors, accepting the unpaginated array and paginated object formats. Deposit limits distinguish finite amounts, unlimited (false), and missing values. Monetary fields use BigDecimal, timestamps use long integers, and enums retain unknown-value fallbacks. Requests support asset classes, rebase options, Lightning invoice amounts, address confirmation, maximum withdrawal fees, and explicit wallet names. Cancellation preserves a valid false result.

Validation: Java 25 clean package passes for both modules; 81 JUnit tests cover all endpoint parameters, documented response fixtures, facade routing, required fields and credentials, pagination, decimal precision, nested fee and limit data, signed request bodies, and Kraken errors. The library Javadoc jar builds with doclint=all,-missing. Tests use Mockito and AssertJ with no network calls, API keys, withdrawals, or transfers. The Funding and Account Data branches merge cleanly and pass all 173 tests together.

This PR targets master independently of Market Data #99 and Account Data #100, using the same test infrastructure. It covers the /0/private Funding group from the issue, which Kraken now calls Funding (Legacy); Funding (Beta) is separate. Refs #82; the umbrella issue remains open.

Preserve pagination, decimal amounts, unlimited deposit limits, and unsuccessful cancellation results across the ten legacy Funding operations.

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